@ensuro/account-abstraction 0.1.0 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/build-info.json +236 -1
- package/build/contracts/AccessControlAccount.sol/AccessControlAccount.json +85 -5
- package/build/contracts/AccessControlAccount.sol/artifacts.d.ts +27 -0
- package/build/contracts/AccessManagerAccount.sol/AccessManagerAccount.json +81 -5
- package/build/contracts/AccessManagerAccount.sol/artifacts.d.ts +27 -0
- package/build/contracts/ERC2771ForwarderAccount.sol/ERC2771ForwarderAccount.json +239 -204
- package/build/contracts/ERC2771ForwarderAccount.sol/artifacts.d.ts +27 -0
- package/build/contracts/dependencies/AccessManager.sol/AccessManager.json +8 -5
- package/build/contracts/dependencies/AccessManager.sol/artifacts.d.ts +27 -0
- package/build/contracts/dependencies/FrozenTime.sol/FrozenTime.json +8 -5
- package/build/contracts/dependencies/FrozenTime.sol/artifacts.d.ts +27 -0
- package/build/contracts/mock/ERC20With2771.sol/ERC20With2771.json +29 -5
- package/build/contracts/mock/ERC20With2771.sol/artifacts.d.ts +27 -0
- package/contracts/AccessControlAccount.sol +1 -1
- package/contracts/AccessManagerAccount.sol +1 -1
- package/contracts/ERC2771ForwarderAccount.sol +113 -88
- package/js/userOp.js +17 -36
- package/package.json +1 -1
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
// This file was autogenerated by Hardhat, do not edit it.
|
|
2
|
+
// prettier-ignore
|
|
3
|
+
// tslint:disable
|
|
4
|
+
// eslint-disable
|
|
5
|
+
// biome-ignore format: see above
|
|
6
|
+
|
|
7
|
+
export interface ERC2771ForwarderAccount$Type {
|
|
8
|
+
readonly _format: "hh3-artifact-1";
|
|
9
|
+
readonly contractName: "ERC2771ForwarderAccount";
|
|
10
|
+
readonly sourceName: "contracts/ERC2771ForwarderAccount.sol";
|
|
11
|
+
readonly abi: [{"inputs":[{"internalType":"contract IEntryPoint","name":"anEntryPoint","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"target","type":"address"}],"name":"AddressEmptyCode","type":"error"},{"inputs":[],"name":"ECDSAInvalidSignature","type":"error"},{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"name":"ECDSAInvalidSignatureLength","type":"error"},{"inputs":[{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"ECDSAInvalidSignatureS","type":"error"},{"inputs":[{"internalType":"address","name":"implementation","type":"address"}],"name":"ERC1967InvalidImplementation","type":"error"},{"inputs":[],"name":"ERC1967NonPayable","type":"error"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"},{"internalType":"bytes","name":"error","type":"bytes"}],"name":"ExecuteError","type":"error"},{"inputs":[],"name":"FailedCall","type":"error"},{"inputs":[{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"needed","type":"uint256"}],"name":"InsufficientBalance","type":"error"},{"inputs":[],"name":"InvalidCall","type":"error"},{"inputs":[{"internalType":"contract ERC2771Context","name":"target","type":"address"},{"internalType":"address","name":"signer","type":"address"}],"name":"InvalidTarget","type":"error"},{"inputs":[],"name":"OnlyExecuteUserOpAllowed","type":"error"},{"inputs":[{"internalType":"address","name":"sender","type":"address"}],"name":"RequiredEntryPointOrExecutor","type":"error"},{"inputs":[],"name":"UUPSUnauthorizedCallContext","type":"error"},{"inputs":[{"internalType":"bytes32","name":"slot","type":"bytes32"}],"name":"UUPSUnsupportedProxiableUUID","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"executor","type":"address"},{"indexed":true,"internalType":"contract ERC2771Context","name":"target","type":"address"}],"name":"ExecutorAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"executor","type":"address"}],"name":"ExecutorRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"implementation","type":"address"}],"name":"Upgraded","type":"event"},{"inputs":[],"name":"UPGRADE_INTERFACE_VERSION","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"addDeposit","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"executor","type":"address"},{"internalType":"contract ERC2771Context","name":"target","type":"address"}],"name":"addExecutor","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"entryPoint","outputs":[{"internalType":"contract IEntryPoint","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"execute","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"address","name":"target","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"internalType":"struct BaseAccount.Call[]","name":"","type":"tuple[]"}],"name":"executeBatch","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"bytes","name":"initCode","type":"bytes"},{"internalType":"bytes","name":"callData","type":"bytes"},{"internalType":"bytes32","name":"accountGasLimits","type":"bytes32"},{"internalType":"uint256","name":"preVerificationGas","type":"uint256"},{"internalType":"bytes32","name":"gasFees","type":"bytes32"},{"internalType":"bytes","name":"paymasterAndData","type":"bytes"},{"internalType":"bytes","name":"signature","type":"bytes"}],"internalType":"struct PackedUserOperation","name":"userOp","type":"tuple"},{"internalType":"bytes32","name":"userOpHash","type":"bytes32"}],"name":"executeUserOp","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getDeposit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getNonce","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"executor","type":"address"}],"name":"removeExecutor","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"upgradeToAndCall","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"components":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"bytes","name":"initCode","type":"bytes"},{"internalType":"bytes","name":"callData","type":"bytes"},{"internalType":"bytes32","name":"accountGasLimits","type":"bytes32"},{"internalType":"uint256","name":"preVerificationGas","type":"uint256"},{"internalType":"bytes32","name":"gasFees","type":"bytes32"},{"internalType":"bytes","name":"paymasterAndData","type":"bytes"},{"internalType":"bytes","name":"signature","type":"bytes"}],"internalType":"struct PackedUserOperation","name":"userOp","type":"tuple"},{"internalType":"bytes32","name":"userOpHash","type":"bytes32"},{"internalType":"uint256","name":"missingAccountFunds","type":"uint256"}],"name":"validateUserOp","outputs":[{"internalType":"uint256","name":"validationData","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"withdrawAddress","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdrawDepositTo","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}];
|
|
12
|
+
readonly bytecode: "0x60c060405230608052348015610013575f5ffd5b5060405161152838038061152883398101604081905261003291610043565b6001600160a01b031660a052610070565b5f60208284031215610053575f5ffd5b81516001600160a01b0381168114610069575f5ffd5b9392505050565b60805160a0516114666100c25f395f81816102510152818161036f015281816103eb015281816105d40152818161066901526106a301525f81816107a6015281816107cf015261090b01526114665ff3fe6080604052600436106100e7575f3560e01c80636267e75911610087578063b0d691fe11610057578063b0d691fe14610238578063b61d27f61461027b578063c399ec8814610295578063d087d288146102a9575f5ffd5b80636267e759146101b25780638129fc1c146101d15780638dd7712f146101dc578063ad3cb1cc146101fb575f5ffd5b80634a58db19116100c25780634a58db19146101645780634d44560d1461016c5780634f1ef2861461018b57806352d1902d1461019e575f5ffd5b806319822f7c146100f2578063247884291461012457806334fcd5be14610145575f5ffd5b366100ee57005b5f5ffd5b3480156100fd575f5ffd5b5061011161010c366004610f87565b6102bd565b6040519081526020015b60405180910390f35b34801561012f575f5ffd5b5061014361013e366004610fe5565b6102e2565b005b348015610150575f5ffd5b5061014361015f366004611000565b610354565b61014361036d565b348015610177575f5ffd5b50610143610186366004611071565b6103e9565b61014361019936600461113a565b61046d565b3480156101a9575f5ffd5b50610111610483565b3480156101bd575f5ffd5b506101436101cc366004611187565b61049e565b348015610143575f5ffd5b3480156101e7575f5ffd5b506101436101f63660046111be565b61051b565b348015610206575f5ffd5b5061022b604051806040016040528060058152602001640352e302e360dc1b81525081565b60405161011b9190611200565b348015610243575f5ffd5b506040516001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016815260200161011b565b348015610286575f5ffd5b5061014361015f366004611235565b3480156102a0575f5ffd5b506101116105b5565b3480156102b4575f5ffd5b50610111610643565b5f6102c6610698565b6102d08484610710565b90506102db82610756565b9392505050565b6001600160a01b0381165f8181527f32800a8a254400b8b55434a22b827759dcb96a572133b419f26b7155e38430006020819052604080832080546001600160a01b0319169055519092917f4a2cf608bfb427f53279ec7f0eadf48913b9346ccefc3af138dbdec14ea0907d91a25050565b604051630ad8c00b60e31b815260040160405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000060405163b760faf960e01b81523060048201526001600160a01b03919091169063b760faf99034906024015f604051808303818588803b1580156103d0575f5ffd5b505af11580156103e2573d5f5f3e3d5ffd5b5050505050565b7f000000000000000000000000000000000000000000000000000000000000000060405163040b850f60e31b81526001600160a01b03848116600483015260248201849052919091169063205c2878906044015f604051808303815f87803b158015610453575f5ffd5b505af1158015610465573d5f5f3e3d5ffd5b505050505050565b61047561079b565b61047f828261083f565b5050565b5f61048c610900565b505f5160206114115f395f51905f5290565b6001600160a01b038281165f8181527f32800a8a254400b8b55434a22b827759dcb96a572133b419f26b7155e38430006020819052604080832080546001600160a01b031916958716958617905551909392917f8a39fc6d5142759acd84b3e96ccde9187266ecb0df56c8ff08bf2aedc7c93c4791a3505050565b565b5f6105268383610949565b90505f6105338484610a4d565b905061054281835f0151610ace565b825190829061057c5760405163f252a21160e01b81526001600160a01b039283166004820152911660248201526044015b60405180910390fd5b50506103e2825f015183604001518360405160200161059c9291906112ba565b6040516020818303038152906040528460200151610b0e565b6040516370a0823160e01b81523060048201525f906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370a08231906024015b602060405180830381865afa15801561061a573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061063e91906112e9565b905090565b604051631aab3f0d60e11b81523060048201525f60248201819052906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906335567e1a906044016105ff565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146105195760405162461bcd60e51b815260206004820152601c60248201527f6163636f756e743a206e6f742066726f6d20456e747279506f696e74000000006044820152606401610573565b5f5f61071c8484610949565b90505f6107298585610a4d565b905061073881835f0151610ace565b6107475760019250505061074d565b5f925050505b92915050565b50565b8015610753576040515f90339083908381818185875af1925050503d805f81146103e2576040519150601f19603f3d011682016040523d82523d5f602084013e6103e2565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148061082157507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166108155f5160206114115f395f51905f52546001600160a01b031690565b6001600160a01b031614155b156105195760405163703e46dd60e11b815260040160405180910390fd5b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610899575060408051601f3d908101601f19168201909252610896918101906112e9565b60015b6108c157604051634c9c8ce360e01b81526001600160a01b0383166004820152602401610573565b5f5160206114115f395f51905f5281146108f157604051632a87526960e21b815260048101829052602401610573565b6108fb8383610bda565b505050565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146105195760405163703e46dd60e11b815260040160405180910390fd5b60408051606080820183525f80835260208301529181019190915260386109736060850185611300565b9050101580156109b65750638dd7712f60e01b6109936060850185611300565b6109a1916004915f9161134a565b6109aa91611371565b6001600160e01b031916145b6109d35760405163574b16a760e11b815260040160405180910390fd5b6109e06060840184611300565b6109ee91600490829061134a565b8101906109fb91906113a7565b604084015260208301526001600160a01b031680825261074d578051610a218484610a4d565b60405163f252a21160e01b81526001600160a01b03928316600482015291166024820152604401610573565b7f19457468657265756d205369676e6564204d6573736167653a0a3332000000005f908152601c829052603c8120610ac681610a8d610100870187611300565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250610c2f92505050565b949350505050565b6001600160a01b039182165f9081527f32800a8a254400b8b55434a22b827759dcb96a572133b419f26b7155e38430006020526040902054821691161490565b606081471015610b3a5760405163cf47918160e01b815247600482015260248101839052604401610573565b5f610b46858486610c57565b9050808015610b6757505f3d1180610b6757505f856001600160a01b03163b115b15610b7c57610b74610c6c565b9150506102db565b8015610ba657604051639996b31560e01b81526001600160a01b0386166004820152602401610573565b3d15610bb957610bb4610c85565b610bd2565b60405163d6bda27560e01b815260040160405180910390fd5b509392505050565b610be382610c90565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a2805115610c27576108fb8282610cf3565b61047f610d75565b5f5f5f5f610c3d8686610d94565b925092509250610c4d8282610ddd565b5090949350505050565b5f5f5f83516020850186885af1949350505050565b6040513d81523d5f602083013e3d602001810160405290565b6040513d5f823e3d81fd5b806001600160a01b03163b5f03610cc557604051634c9c8ce360e01b81526001600160a01b0382166004820152602401610573565b5f5160206114115f395f51905f5280546001600160a01b0319166001600160a01b0392909216919091179055565b60605f610d008484610e95565b9050808015610d2157505f3d1180610d2157505f846001600160a01b03163b115b15610d3657610d2e610c6c565b91505061074d565b8015610d6057604051639996b31560e01b81526001600160a01b0385166004820152602401610573565b3d15610bb957610d6e610c85565b5092915050565b34156105195760405163b398979f60e01b815260040160405180910390fd5b5f5f5f8351604103610dcb576020840151604085015160608601515f1a610dbd88828585610ea8565b955095509550505050610dd6565b505081515f91506002905b9250925092565b5f826003811115610df057610df06113fc565b03610df9575050565b6001826003811115610e0d57610e0d6113fc565b03610e2b5760405163f645eedf60e01b815260040160405180910390fd5b6002826003811115610e3f57610e3f6113fc565b03610e605760405163fce698f760e01b815260048101829052602401610573565b6003826003811115610e7457610e746113fc565b0361047f576040516335e2f38360e21b815260048101829052602401610573565b5f5f5f835160208501865af49392505050565b5f80807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0841115610ee157505f91506003905082610f66565b604080515f808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa158015610f32573d5f5f3e3d5ffd5b5050604051601f1901519150506001600160a01b038116610f5d57505f925060019150829050610f66565b92505f91508190505b9450945094915050565b5f6101208284031215610f81575f5ffd5b50919050565b5f5f5f60608486031215610f99575f5ffd5b833567ffffffffffffffff811115610faf575f5ffd5b610fbb86828701610f70565b9660208601359650604090950135949350505050565b6001600160a01b0381168114610753575f5ffd5b5f60208284031215610ff5575f5ffd5b81356102db81610fd1565b5f5f60208385031215611011575f5ffd5b823567ffffffffffffffff811115611027575f5ffd5b8301601f81018513611037575f5ffd5b803567ffffffffffffffff81111561104d575f5ffd5b8560208260051b8401011115611061575f5ffd5b6020919091019590945092505050565b5f5f60408385031215611082575f5ffd5b823561108d81610fd1565b946020939093013593505050565b634e487b7160e01b5f52604160045260245ffd5b5f82601f8301126110be575f5ffd5b813567ffffffffffffffff8111156110d8576110d861109b565b604051601f8201601f19908116603f0116810167ffffffffffffffff811182821017156111075761110761109b565b60405281815283820160200185101561111e575f5ffd5b816020850160208301375f918101602001919091529392505050565b5f5f6040838503121561114b575f5ffd5b823561115681610fd1565b9150602083013567ffffffffffffffff811115611171575f5ffd5b61117d858286016110af565b9150509250929050565b5f5f60408385031215611198575f5ffd5b82356111a381610fd1565b915060208301356111b381610fd1565b809150509250929050565b5f5f604083850312156111cf575f5ffd5b823567ffffffffffffffff8111156111e5575f5ffd5b6111f185828601610f70565b95602094909401359450505050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f5f5f5f60608587031215611248575f5ffd5b843561125381610fd1565b935060208501359250604085013567ffffffffffffffff811115611275575f5ffd5b8501601f81018713611285575f5ffd5b803567ffffffffffffffff81111561129b575f5ffd5b8760208284010111156112ac575f5ffd5b949793965060200194505050565b5f83518060208601845e60609390931b6bffffffffffffffffffffffff19169190920190815260140192915050565b5f602082840312156112f9575f5ffd5b5051919050565b5f5f8335601e19843603018112611315575f5ffd5b83018035915067ffffffffffffffff82111561132f575f5ffd5b602001915036819003821315611343575f5ffd5b9250929050565b5f5f85851115611358575f5ffd5b83861115611364575f5ffd5b5050820193919092039150565b80356001600160e01b03198116906004841015610d6e576001600160e01b031960049490940360031b84901b1690921692915050565b5f5f5f606084860312156113b9575f5ffd5b83356113c481610fd1565b925060208401359150604084013567ffffffffffffffff8111156113e6575f5ffd5b6113f2868287016110af565b9150509250925092565b634e487b7160e01b5f52602160045260245ffdfe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220872c50a7097bf4bc50c5972cce553b4d6fb501a6658c63b74a98bc002b65524164736f6c634300081e0033";
|
|
13
|
+
readonly deployedBytecode: "0x6080604052600436106100e7575f3560e01c80636267e75911610087578063b0d691fe11610057578063b0d691fe14610238578063b61d27f61461027b578063c399ec8814610295578063d087d288146102a9575f5ffd5b80636267e759146101b25780638129fc1c146101d15780638dd7712f146101dc578063ad3cb1cc146101fb575f5ffd5b80634a58db19116100c25780634a58db19146101645780634d44560d1461016c5780634f1ef2861461018b57806352d1902d1461019e575f5ffd5b806319822f7c146100f2578063247884291461012457806334fcd5be14610145575f5ffd5b366100ee57005b5f5ffd5b3480156100fd575f5ffd5b5061011161010c366004610f87565b6102bd565b6040519081526020015b60405180910390f35b34801561012f575f5ffd5b5061014361013e366004610fe5565b6102e2565b005b348015610150575f5ffd5b5061014361015f366004611000565b610354565b61014361036d565b348015610177575f5ffd5b50610143610186366004611071565b6103e9565b61014361019936600461113a565b61046d565b3480156101a9575f5ffd5b50610111610483565b3480156101bd575f5ffd5b506101436101cc366004611187565b61049e565b348015610143575f5ffd5b3480156101e7575f5ffd5b506101436101f63660046111be565b61051b565b348015610206575f5ffd5b5061022b604051806040016040528060058152602001640352e302e360dc1b81525081565b60405161011b9190611200565b348015610243575f5ffd5b506040516001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016815260200161011b565b348015610286575f5ffd5b5061014361015f366004611235565b3480156102a0575f5ffd5b506101116105b5565b3480156102b4575f5ffd5b50610111610643565b5f6102c6610698565b6102d08484610710565b90506102db82610756565b9392505050565b6001600160a01b0381165f8181527f32800a8a254400b8b55434a22b827759dcb96a572133b419f26b7155e38430006020819052604080832080546001600160a01b0319169055519092917f4a2cf608bfb427f53279ec7f0eadf48913b9346ccefc3af138dbdec14ea0907d91a25050565b604051630ad8c00b60e31b815260040160405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000060405163b760faf960e01b81523060048201526001600160a01b03919091169063b760faf99034906024015f604051808303818588803b1580156103d0575f5ffd5b505af11580156103e2573d5f5f3e3d5ffd5b5050505050565b7f000000000000000000000000000000000000000000000000000000000000000060405163040b850f60e31b81526001600160a01b03848116600483015260248201849052919091169063205c2878906044015f604051808303815f87803b158015610453575f5ffd5b505af1158015610465573d5f5f3e3d5ffd5b505050505050565b61047561079b565b61047f828261083f565b5050565b5f61048c610900565b505f5160206114115f395f51905f5290565b6001600160a01b038281165f8181527f32800a8a254400b8b55434a22b827759dcb96a572133b419f26b7155e38430006020819052604080832080546001600160a01b031916958716958617905551909392917f8a39fc6d5142759acd84b3e96ccde9187266ecb0df56c8ff08bf2aedc7c93c4791a3505050565b565b5f6105268383610949565b90505f6105338484610a4d565b905061054281835f0151610ace565b825190829061057c5760405163f252a21160e01b81526001600160a01b039283166004820152911660248201526044015b60405180910390fd5b50506103e2825f015183604001518360405160200161059c9291906112ba565b6040516020818303038152906040528460200151610b0e565b6040516370a0823160e01b81523060048201525f906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370a08231906024015b602060405180830381865afa15801561061a573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061063e91906112e9565b905090565b604051631aab3f0d60e11b81523060048201525f60248201819052906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906335567e1a906044016105ff565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146105195760405162461bcd60e51b815260206004820152601c60248201527f6163636f756e743a206e6f742066726f6d20456e747279506f696e74000000006044820152606401610573565b5f5f61071c8484610949565b90505f6107298585610a4d565b905061073881835f0151610ace565b6107475760019250505061074d565b5f925050505b92915050565b50565b8015610753576040515f90339083908381818185875af1925050503d805f81146103e2576040519150601f19603f3d011682016040523d82523d5f602084013e6103e2565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148061082157507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166108155f5160206114115f395f51905f52546001600160a01b031690565b6001600160a01b031614155b156105195760405163703e46dd60e11b815260040160405180910390fd5b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610899575060408051601f3d908101601f19168201909252610896918101906112e9565b60015b6108c157604051634c9c8ce360e01b81526001600160a01b0383166004820152602401610573565b5f5160206114115f395f51905f5281146108f157604051632a87526960e21b815260048101829052602401610573565b6108fb8383610bda565b505050565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146105195760405163703e46dd60e11b815260040160405180910390fd5b60408051606080820183525f80835260208301529181019190915260386109736060850185611300565b9050101580156109b65750638dd7712f60e01b6109936060850185611300565b6109a1916004915f9161134a565b6109aa91611371565b6001600160e01b031916145b6109d35760405163574b16a760e11b815260040160405180910390fd5b6109e06060840184611300565b6109ee91600490829061134a565b8101906109fb91906113a7565b604084015260208301526001600160a01b031680825261074d578051610a218484610a4d565b60405163f252a21160e01b81526001600160a01b03928316600482015291166024820152604401610573565b7f19457468657265756d205369676e6564204d6573736167653a0a3332000000005f908152601c829052603c8120610ac681610a8d610100870187611300565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250610c2f92505050565b949350505050565b6001600160a01b039182165f9081527f32800a8a254400b8b55434a22b827759dcb96a572133b419f26b7155e38430006020526040902054821691161490565b606081471015610b3a5760405163cf47918160e01b815247600482015260248101839052604401610573565b5f610b46858486610c57565b9050808015610b6757505f3d1180610b6757505f856001600160a01b03163b115b15610b7c57610b74610c6c565b9150506102db565b8015610ba657604051639996b31560e01b81526001600160a01b0386166004820152602401610573565b3d15610bb957610bb4610c85565b610bd2565b60405163d6bda27560e01b815260040160405180910390fd5b509392505050565b610be382610c90565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a2805115610c27576108fb8282610cf3565b61047f610d75565b5f5f5f5f610c3d8686610d94565b925092509250610c4d8282610ddd565b5090949350505050565b5f5f5f83516020850186885af1949350505050565b6040513d81523d5f602083013e3d602001810160405290565b6040513d5f823e3d81fd5b806001600160a01b03163b5f03610cc557604051634c9c8ce360e01b81526001600160a01b0382166004820152602401610573565b5f5160206114115f395f51905f5280546001600160a01b0319166001600160a01b0392909216919091179055565b60605f610d008484610e95565b9050808015610d2157505f3d1180610d2157505f846001600160a01b03163b115b15610d3657610d2e610c6c565b91505061074d565b8015610d6057604051639996b31560e01b81526001600160a01b0385166004820152602401610573565b3d15610bb957610d6e610c85565b5092915050565b34156105195760405163b398979f60e01b815260040160405180910390fd5b5f5f5f8351604103610dcb576020840151604085015160608601515f1a610dbd88828585610ea8565b955095509550505050610dd6565b505081515f91506002905b9250925092565b5f826003811115610df057610df06113fc565b03610df9575050565b6001826003811115610e0d57610e0d6113fc565b03610e2b5760405163f645eedf60e01b815260040160405180910390fd5b6002826003811115610e3f57610e3f6113fc565b03610e605760405163fce698f760e01b815260048101829052602401610573565b6003826003811115610e7457610e746113fc565b0361047f576040516335e2f38360e21b815260048101829052602401610573565b5f5f5f835160208501865af49392505050565b5f80807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0841115610ee157505f91506003905082610f66565b604080515f808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa158015610f32573d5f5f3e3d5ffd5b5050604051601f1901519150506001600160a01b038116610f5d57505f925060019150829050610f66565b92505f91508190505b9450945094915050565b5f6101208284031215610f81575f5ffd5b50919050565b5f5f5f60608486031215610f99575f5ffd5b833567ffffffffffffffff811115610faf575f5ffd5b610fbb86828701610f70565b9660208601359650604090950135949350505050565b6001600160a01b0381168114610753575f5ffd5b5f60208284031215610ff5575f5ffd5b81356102db81610fd1565b5f5f60208385031215611011575f5ffd5b823567ffffffffffffffff811115611027575f5ffd5b8301601f81018513611037575f5ffd5b803567ffffffffffffffff81111561104d575f5ffd5b8560208260051b8401011115611061575f5ffd5b6020919091019590945092505050565b5f5f60408385031215611082575f5ffd5b823561108d81610fd1565b946020939093013593505050565b634e487b7160e01b5f52604160045260245ffd5b5f82601f8301126110be575f5ffd5b813567ffffffffffffffff8111156110d8576110d861109b565b604051601f8201601f19908116603f0116810167ffffffffffffffff811182821017156111075761110761109b565b60405281815283820160200185101561111e575f5ffd5b816020850160208301375f918101602001919091529392505050565b5f5f6040838503121561114b575f5ffd5b823561115681610fd1565b9150602083013567ffffffffffffffff811115611171575f5ffd5b61117d858286016110af565b9150509250929050565b5f5f60408385031215611198575f5ffd5b82356111a381610fd1565b915060208301356111b381610fd1565b809150509250929050565b5f5f604083850312156111cf575f5ffd5b823567ffffffffffffffff8111156111e5575f5ffd5b6111f185828601610f70565b95602094909401359450505050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f5f5f5f60608587031215611248575f5ffd5b843561125381610fd1565b935060208501359250604085013567ffffffffffffffff811115611275575f5ffd5b8501601f81018713611285575f5ffd5b803567ffffffffffffffff81111561129b575f5ffd5b8760208284010111156112ac575f5ffd5b949793965060200194505050565b5f83518060208601845e60609390931b6bffffffffffffffffffffffff19169190920190815260140192915050565b5f602082840312156112f9575f5ffd5b5051919050565b5f5f8335601e19843603018112611315575f5ffd5b83018035915067ffffffffffffffff82111561132f575f5ffd5b602001915036819003821315611343575f5ffd5b9250929050565b5f5f85851115611358575f5ffd5b83861115611364575f5ffd5b5050820193919092039150565b80356001600160e01b03198116906004841015610d6e576001600160e01b031960049490940360031b84901b1690921692915050565b5f5f5f606084860312156113b9575f5ffd5b83356113c481610fd1565b925060208401359150604084013567ffffffffffffffff8111156113e6575f5ffd5b6113f2868287016110af565b9150509250925092565b634e487b7160e01b5f52602160045260245ffdfe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220872c50a7097bf4bc50c5972cce553b4d6fb501a6658c63b74a98bc002b65524164736f6c634300081e0033";
|
|
14
|
+
readonly linkReferences: {};
|
|
15
|
+
readonly deployedLinkReferences: {};
|
|
16
|
+
readonly immutableReferences: {"2756":[{"length":32,"start":1958},{"length":32,"start":1999},{"length":32,"start":2315}],"12314":[{"length":32,"start":593},{"length":32,"start":879},{"length":32,"start":1003},{"length":32,"start":1492},{"length":32,"start":1641},{"length":32,"start":1699}]};
|
|
17
|
+
readonly inputSourceName: "project/contracts/ERC2771ForwarderAccount.sol";
|
|
18
|
+
readonly buildInfoId: "solc-0_8_30-95f43f1788cfd8898b8023be4a1aea1d69744865";
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
import "hardhat/types/artifacts";
|
|
22
|
+
declare module "hardhat/types/artifacts" {
|
|
23
|
+
interface ArtifactMap {
|
|
24
|
+
["ERC2771ForwarderAccount"]: ERC2771ForwarderAccount$Type;
|
|
25
|
+
["contracts/ERC2771ForwarderAccount.sol:ERC2771ForwarderAccount"]: ERC2771ForwarderAccount$Type;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"_format": "
|
|
2
|
+
"_format": "hh3-artifact-1",
|
|
3
3
|
"contractName": "AccessManager",
|
|
4
4
|
"sourceName": "contracts/dependencies/AccessManager.sol",
|
|
5
5
|
"abi": [
|
|
@@ -1168,8 +1168,11 @@
|
|
|
1168
1168
|
"type": "function"
|
|
1169
1169
|
}
|
|
1170
1170
|
],
|
|
1171
|
-
"bytecode": "0x608060405234801561000f575f5ffd5b50604051612d7e380380612d7e83398101604081905261002e91610441565b6001600160a01b03811661005c57604051630409d6d160e11b81525f60048201526024015b60405180910390fd5b6100685f82818061006f565b50506104bc565b5f6002600160401b03196001600160401b038616016100ac5760405163061c6a4360e21b81526001600160401b0386166004820152602401610053565b6001600160401b0385165f9081526001602090815260408083206001600160a01b038816845290915281205465ffffffffffff16159081156101a15763ffffffff85166100f76102b5565b6101019190610482565b905060405180604001604052808265ffffffffffff1681526020016101318663ffffffff166102c460201b60201c565b6001600160701b039081169091526001600160401b0389165f9081526001602090815260408083206001600160a01b038c16845282529091208351815494909201519092166601000000000000026001600160a01b031990931665ffffffffffff90911617919091179055610247565b6001600160401b0387165f9081526001602090815260408083206001600160a01b038a1684529091528120546101ed9166010000000000009091046001600160701b03169086906102cd565b6001600160401b0389165f9081526001602090815260408083206001600160a01b038c168452909152902080546001600160701b03909316660100000000000002600160301b600160a01b03199093169290921790915590505b6040805163ffffffff8616815265ffffffffffff831660208201528315158183015290516001600160a01b038816916001600160401b038a16917ff98448b987f1428e0e230e1f3c6e2ce15b5693eaf31827fbd0b1ec4b424ae7cf9181900360600190a35095945050505050565b5f6102bf42610373565b905090565b63ffffffff1690565b5f80806102e26001600160701b0387166103a9565b90505f61031d8563ffffffff168763ffffffff168463ffffffff1611610308575f610312565b61031288856104a0565b63ffffffff166103c7565b905063ffffffff811661032e6102b5565b6103389190610482565b925063ffffffff8616602083901b67ffffffff0000000016604085901b6dffffffffffff000000000000000016171793505050935093915050565b5f65ffffffffffff8211156103a5576040516306dfcc6560e41b81526030600482015260248101839052604401610053565b5090565b5f806103bd6001600160701b0384166103d7565b5090949350505050565b8082118183180281185b92915050565b5f80806103eb846103e66102b5565b6103f8565b9250925092509193909250565b6001600160501b03602083901c166001600160701b03831665ffffffffffff604085901c811690841681111561043057828282610434565b815f5f5b9250925092509250925092565b5f60208284031215610451575f5ffd5b81516001600160a01b0381168114610467575f5ffd5b9392505050565b634e487b7160e01b5f52601160045260245ffd5b65ffffffffffff81811683821601908111156103d1576103d161046e565b63ffffffff82811682821603908111156103d1576103d161046e565b6128b5806104c95f395ff3fe6080604052600436106101db575f3560e01c80636d5115bd116100fd578063b700961311610092578063d22b598911610062578063d22b598914610636578063d6bb62c614610655578063f801a69814610674578063fe0776f5146106ad575f5ffd5b8063b7009613146105a8578063b7d2b162146105e3578063cc1b6c8114610602578063d1f856ee14610617575f5ffd5b8063a166aa89116100cd578063a166aa8914610501578063a64d95ce14610530578063abd9bd2a1461054f578063ac9650d81461057c575f5ffd5b80636d5115bd1461049157806375b238fc146104b0578063853551b8146104c357806394c7d7ee146104e2575f5ffd5b806330cae187116101735780634665096d116101435780634665096d146104035780634c1da1e2146104185780635296295214610437578063530dd45614610456575f5ffd5b806330cae1871461035c5780633adc277a1461037b5780633ca7c02a146103b15780634136a33c146103cb575f5ffd5b806318ff183c116101ae57806318ff183c146102b25780631cff79cd146102d157806325c471a0146102e45780633078f11414610303575f5ffd5b806308d6122d146101df5780630b0a93ba1461020057806312be87271461025f578063167bd39514610293575b5f5ffd5b3480156101ea575f5ffd5b506101fe6101f936600461218f565b6106cc565b005b34801561020b575f5ffd5b5061024261021a3660046121f1565b6001600160401b039081165f9081526001602081905260409091200154600160401b90041690565b6040516001600160401b0390911681526020015b60405180910390f35b34801561026a575f5ffd5b5061027e6102793660046121f1565b61071e565b60405163ffffffff9091168152602001610256565b34801561029e575f5ffd5b506101fe6102ad36600461220a565b610758565b3480156102bd575f5ffd5b506101fe6102cc366004612245565b61076e565b61027e6102df3660046122ae565b6107d0565b3480156102ef575f5ffd5b506101fe6102fe366004612311565b6108fc565b34801561030e575f5ffd5b5061032261031d366004612353565b61091e565b604051610256949392919065ffffffffffff948516815263ffffffff93841660208201529190921660408201529116606082015260800190565b348015610367575f5ffd5b506101fe61037636600461236d565b6109b7565b348015610386575f5ffd5b5061039a61039536600461239e565b6109c9565b60405165ffffffffffff9091168152602001610256565b3480156103bc575f5ffd5b506102426001600160401b0381565b3480156103d6575f5ffd5b5061027e6103e536600461239e565b5f90815260026020526040902054600160301b900463ffffffff1690565b34801561040e575f5ffd5b5062093a8061027e565b348015610423575f5ffd5b5061027e6104323660046123b5565b6109fa565b348015610442575f5ffd5b506101fe61045136600461236d565b610a27565b348015610461575f5ffd5b506102426104703660046121f1565b6001600160401b039081165f90815260016020819052604090912001541690565b34801561049c575f5ffd5b506102426104ab3660046123e5565b610a39565b3480156104bb575f5ffd5b506102425f81565b3480156104ce575f5ffd5b506101fe6104dd366004612411565b610a73565b3480156104ed575f5ffd5b506101fe6104fc3660046122ae565b610b0a565b34801561050c575f5ffd5b5061052061051b3660046123b5565b610bb4565b6040519015158152602001610256565b34801561053b575f5ffd5b506101fe61054a36600461242c565b610bdb565b34801561055a575f5ffd5b5061056e610569366004612454565b610bed565b604051908152602001610256565b348015610587575f5ffd5b5061059b6105963660046124b4565b610c25565b60405161025691906124f2565b3480156105b3575f5ffd5b506105c76105c2366004612576565b610d0a565b60408051921515835263ffffffff909116602083015201610256565b3480156105ee575f5ffd5b506101fe6105fd366004612353565b610d8b565b34801561060d575f5ffd5b506206978061027e565b348015610622575f5ffd5b506105c7610631366004612353565b610da2565b348015610641575f5ffd5b506101fe6106503660046125be565b610e26565b348015610660575f5ffd5b5061027e61066f366004612454565b610e38565b34801561067f575f5ffd5b5061069361068e3660046125da565b610f8b565b6040805192835263ffffffff909116602083015201610256565b3480156106b8575f5ffd5b506101fe6106c7366004612353565b6110cc565b6106d46110f5565b5f5b828110156107175761070f858585848181106106f4576106f4612647565b9050602002016020810190610709919061265b565b8461116c565b6001016106d6565b5050505050565b6001600160401b0381165f9081526001602081905260408220015461075290600160801b90046001600160701b03166111ed565b92915050565b6107606110f5565b61076a828261120b565b5050565b6107766110f5565b604051637a9e5e4b60e01b81526001600160a01b038281166004830152831690637a9e5e4b906024015f604051808303815f87803b1580156107b6575f5ffd5b505af11580156107c8573d5f5f3e3d5ffd5b505050505050565b5f3381806107e08388888861127c565b91509150811580156107f6575063ffffffff8116155b1561084957828761080788886112cd565b6040516381c6f24b60e01b81526001600160a01b0393841660048201529290911660248301526001600160e01b03191660448201526064015b60405180910390fd5b5f61085684898989610bed565b90505f63ffffffff831615158061087c5750610871826109c9565b65ffffffffffff1615155b1561088d5761088a826112e4565b90505b6003546108a38a61089e8b8b6112cd565b6113e2565b6003819055506108ea8a8a8a8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250349250611424915050565b506003559450505050505b9392505050565b6109046110f5565b61091883836109128661071e565b846114c4565b50505050565b6001600160401b0382165f9081526001602090815260408083206001600160a01b03851684529091528120805465ffffffffffff1691908190819060ff825c161561098a57805461097e90600160301b90046001600160701b031661170a565b919550935091506109ad565b80546109a590600160301b90046001600160701b031661172b565b919550935091505b5092959194509250565b6109bf6110f5565b61076a828261173f565b5f8181526002602052604081205465ffffffffffff166109e8816117e2565b6109f257806108f5565b5f9392505050565b6001600160a01b0381165f90815260208190526040812060010154610752906001600160701b03166111ed565b610a2f6110f5565b61076a8282611810565b6001600160a01b0382165f908152602081815260408083206001600160e01b0319851684529091529020546001600160401b031692915050565b610a7b6110f5565b6001600160401b0383161580610a9957506001600160401b03838116145b15610ac25760405163061c6a4360e21b81526001600160401b0384166004820152602401610840565b826001600160401b03167f1256f5b5ecb89caec12db449738f2fbcd1ba5806cf38f35413f4e5c15bf6a4508383604051610afd92919061269e565b60405180910390a2505050565b60408051638fb3603760e01b80825291513392918391638fb36037916004808201926020929091908290030181865afa158015610b49573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b6d91906126b9565b6001600160e01b03191614610ba057604051630641fee960e31b81526001600160a01b0382166004820152602401610840565b610717610baf85838686610bed565b6112e4565b6001600160a01b03165f90815260208190526040902060010154600160701b900460ff1690565b610be36110f5565b61076a82826118c1565b5f84848484604051602001610c0594939291906126d4565b604051602081830303815290604052805190602001209050949350505050565b604080515f815260208101909152606090826001600160401b03811115610c4e57610c4e61273b565b604051908082528060200260200182016040528015610c8157816020015b6060815260200190600190039081610c6c5790505b5091505f5b83811015610d0257610cdd30868684818110610ca457610ca4612647565b9050602002810190610cb6919061274f565b85604051602001610cc9939291906127a8565b6040516020818303038152906040526119d0565b838281518110610cef57610cef612647565b6020908102919091010152600101610c86565b505092915050565b5f5f610d1584610bb4565b15610d2457505f905080610d83565b306001600160a01b03861603610d4857610d3e8484611a42565b5f91509150610d83565b5f610d538585610a39565b90505f5f610d618389610da2565b9150915081610d71575f5f610d7b565b63ffffffff811615815b945094505050505b935093915050565b610d936110f5565b610d9d8282611a58565b505050565b5f8067fffffffffffffffe196001600160401b03851601610dc85750600190505f610e1f565b5f5f610dd4868661091e565b5050915091508165ffffffffffff165f14158015610e14575060ff5f5c1680610e145750610e00611b41565b65ffffffffffff168265ffffffffffff1611155b93509150610e1f9050565b9250929050565b610e2e6110f5565b61076a8282611b50565b5f3381610e4585856112cd565b90505f610e5488888888610bed565b5f8181526002602052604081205491925065ffffffffffff9091169003610e915760405163060a299b60e41b815260048101829052602401610840565b826001600160a01b0316886001600160a01b031614610f2a575f610eb55f85610da2565b5090505f610ecf610ec961021a8b87610a39565b86610da2565b50905081158015610ede575080155b15610f2757604051630ff89d4760e21b81526001600160a01b038087166004830152808c1660248301528a1660448201526001600160e01b031985166064820152608401610840565b50505b5f81815260026020526040808220805465ffffffffffff1916908190559051600160301b90910463ffffffff1691829184917fbd9ac67a6e2f6463b80927326310338bcbb4bdb7936ce1365ea3e01067e7b9f791a398975050505050505050565b5f803381610f9b8289898961127c565b9150505f8163ffffffff16610fae611b41565b610fb891906127bd565b905063ffffffff82161580610fee57505f8665ffffffffffff16118015610fee57508065ffffffffffff168665ffffffffffff16105b15610fff5782896108078a8a6112cd565b6110198665ffffffffffff168265ffffffffffff16611c0b565b9550611027838a8a8a610bed565b945061103285611c1a565b5f8581526002602052604090819020805465ffffffffffff891669ffffffffffffffffffff19821617600160301b9182900463ffffffff90811660010190811692830291909117909255915190955086907f82a2da5dee54ea8021c6545b4444620291e07ee83be6dd57edb175062715f3b4906110b8908a9088908f908f908f906127db565b60405180910390a350505094509492505050565b6001600160a01b0381163314610d9357604051635f159e6360e01b815260040160405180910390fd5b335f80611103838236611c66565b9150915081610d9d578063ffffffff165f0361115d575f6111248136611d29565b5060405163f07e038f60e01b81526001600160a01b03871660048201526001600160401b03821660248201529092506044019050610840565b610918610baf84305f36610bed565b6001600160a01b0383165f818152602081815260408083206001600160e01b0319871680855290835292819020805467ffffffffffffffff19166001600160401b038716908117909155905192835292917f9ea6790c7dadfd01c9f8b9762b3682607af2c7e79e05a9f9fdf5580dde949151910160405180910390a3505050565b5f5f611201836001600160701b031661172b565b5090949350505050565b6001600160a01b0382165f81815260208190526040908190206001018054841515600160701b0260ff60701b19909116179055517f90d4e7bb7e5d933792b3562e1741306f8be94837e1348dacef9b6f1df56eb1389061127090841515815260200190565b60405180910390a25050565b5f80306001600160a01b038616036112a257611299868585611c66565b915091506112c4565b600483106112be576112b986866105c287876112cd565b611299565b505f9050805b94509492505050565b5f6112db6004828486612714565b6108f591612820565b5f8181526002602052604081205465ffffffffffff811690600160301b900463ffffffff1681830361132c5760405163060a299b60e41b815260048101859052602401610840565b611334611b41565b65ffffffffffff168265ffffffffffff16111561136757604051630c65b5bd60e11b815260048101859052602401610840565b611370826117e2565b1561139157604051631e2975b960e21b815260048101859052602401610840565b5f84815260026020526040808220805465ffffffffffff191690555163ffffffff83169186917f76a2a46953689d4861a5d3f6ed883ad7e6af674a21f8e162707159fc9dde614d9190a39392505050565b604080516001600160a01b03939093166020808501919091526001600160e01b0319929092168382015280518084038201815260609093019052815191012090565b6060814710156114505760405163cf47918160e01b815247600482015260248101839052604401610840565b5f5f856001600160a01b0316848660405161146b9190612858565b5f6040518083038185875af1925050503d805f81146114a5576040519150601f19603f3d011682016040523d82523d5f602084013e6114aa565b606091505b50915091506114ba868383611f0f565b9695505050505050565b5f67fffffffffffffffe196001600160401b038616016115025760405163061c6a4360e21b81526001600160401b0386166004820152602401610840565b6001600160401b0385165f9081526001602090815260408083206001600160a01b038816845290915281205465ffffffffffff16159081156115f2578463ffffffff1661154d611b41565b61155791906127bd565b905060405180604001604052808265ffffffffffff1681526020016115858663ffffffff1663ffffffff1690565b6001600160701b039081169091526001600160401b0389165f9081526001602090815260408083206001600160a01b038c1684528252909120835181549490920151909216600160301b026001600160a01b031990931665ffffffffffff9091161791909117905561169c565b6001600160401b0387165f9081526001602090815260408083206001600160a01b038a16845290915281205461163b91600160301b9091046001600160701b0316908690611f6b565b6001600160401b0389165f9081526001602090815260408083206001600160a01b038c168452909152902080546001600160701b03909316600160301b0273ffffffffffffffffffffffffffff000000000000199093169290921790915590505b6040805163ffffffff8616815265ffffffffffff831660208201528315158183015290516001600160a01b038816916001600160401b038a16917ff98448b987f1428e0e230e1f3c6e2ce15b5693eaf31827fbd0b1ec4b424ae7cf9181900360600190a35095945050505050565b5f5f5f61171e84611719612011565b612020565b9250925092509193909250565b5f5f5f61171e8461173a611b41565b612072565b6001600160401b038216158061175d57506001600160401b03828116145b156117865760405163061c6a4360e21b81526001600160401b0383166004820152602401610840565b6001600160401b038281165f818152600160208190526040808320909101805467ffffffffffffffff19169486169485179055517f1fd6dd7631312dfac2205b52913f99de03b4d7e381d5d27d3dbfe0713e6e63409190a35050565b5f6117eb611b41565b65ffffffffffff1661180062093a80846127bd565b65ffffffffffff16111592915050565b6001600160401b038216158061182e57506001600160401b03828116145b156118575760405163061c6a4360e21b81526001600160401b0383166004820152602401610840565b6001600160401b038281165f81815260016020819052604080832090910180546fffffffffffffffff00000000000000001916600160401b958716958602179055517f7a8059630b897b5de4c08ade69f8b90c3ead1f8596d62d10b6c4d14a0afb4ae29190a35050565b67fffffffffffffffe196001600160401b038316016118fe5760405163061c6a4360e21b81526001600160401b0383166004820152602401610840565b6001600160401b0382165f9081526001602081905260408220015461193790600160801b90046001600160701b03168362069780611f6b565b6001600160401b0385165f818152600160208190526040918290200180546001600160701b03909516600160801b026dffffffffffffffffffffffffffff60801b199095169490941790935591519092507ffeb69018ee8b8fd50ea86348f1267d07673379f72cffdeccec63853ee8ce8b4890610afd908590859063ffffffff92909216825265ffffffffffff16602082015260400190565b60605f5f846001600160a01b0316846040516119ec9190612858565b5f60405180830381855af49150503d805f8114611a24576040519150601f19603f3d011682016040523d82523d5f602084013e611a29565b606091505b5091509150611a39858383611f0f565b95945050505050565b5f611a4d83836113e2565b600354149392505050565b5f67fffffffffffffffe196001600160401b03841601611a965760405163061c6a4360e21b81526001600160401b0384166004820152602401610840565b6001600160401b0383165f9081526001602090815260408083206001600160a01b038616845290915281205465ffffffffffff169003611ad757505f610752565b6001600160401b0383165f8181526001602090815260408083206001600160a01b038716808552925280832080546001600160a01b0319169055519092917ff229baa593af28c41b1d16b748cd7688f0c83aaf92d4be41c44005defe84c16691a350600192915050565b5f611b4b426120be565b905090565b6001600160a01b0382165f90815260208190526040812060010154611b82906001600160701b03168362069780611f6b565b6001600160a01b0385165f818152602081815260409182902060010180546dffffffffffffffffffffffffffff19166001600160701b039690961695909517909455805163ffffffff8716815265ffffffffffff841694810194909452919350917fa56b76017453f399ec2327ba00375dbfb1fd070ff854341ad6191e6a2e2de19c9101610afd565b5f8282188284110282186108f5565b5f8181526002602052604090205465ffffffffffff168015801590611c455750611c43816117e2565b155b1561076a5760405163813e945960e01b815260048101839052602401610840565b5f806004831015611c7b57505f905080610d83565b306001600160a01b03861603611c9e57610d3e30611c9986866112cd565b611a42565b5f5f5f611cab8787611d29565b92509250925082158015611cc35750611cc330610bb4565b15611cd6575f5f94509450505050610d83565b5f5f611ce2848b610da2565b9150915081611cfb575f5f965096505050505050610d83565b611d118363ffffffff168263ffffffff16611c0b565b63ffffffff8116159b909a5098505050505050505050565b5f80806004841015611d4257505f915081905080611f08565b5f611d4d86866112cd565b90506001600160e01b031981166310a6aa3760e31b1480611d7e57506001600160e01b031981166330cae18760e01b145b80611d9957506001600160e01b0319811663294b14a960e11b145b80611db457506001600160e01b03198116635326cae760e11b145b80611dcf57506001600160e01b0319811663d22b598960e01b145b15611de45760015f5f93509350935050611f08565b6001600160e01b0319811663063fc60f60e21b1480611e1357506001600160e01b0319811663167bd39560e01b145b80611e2e57506001600160e01b031981166308d6122d60e01b145b15611e6d575f611e4260246004888a612714565b810190611e4f91906123b5565b90505f611e5b826109fa565b600196505f95509350611f0892505050565b6001600160e01b0319811663012e238d60e51b1480611e9c57506001600160e01b03198116635be958b160e11b145b15611ef4575f611eb060246004888a612714565b810190611ebd91906121f1565b90506001611ee6826001600160401b039081165f90815260016020819052604090912001541690565b5f9450945094505050611f08565b5f611eff3083610a39565b5f935093509350505b9250925092565b606082611f2457611f1f826120f4565b6108f5565b8151158015611f3b57506001600160a01b0384163b155b15611f6457604051639996b31560e01b81526001600160a01b0385166004820152602401610840565b50806108f5565b5f5f5f611f80866001600160701b03166111ed565b90505f611fbb8563ffffffff168763ffffffff168463ffffffff1611611fa6575f611fb0565b611fb08885612863565b63ffffffff16611c0b565b90508063ffffffff16611fcc611b41565b611fd691906127bd565b925063ffffffff8616602083901b67ffffffff0000000016604085901b6dffffffffffff000000000000000016171793505050935093915050565b5f611b4b6407915ecc006120be565b5f808069ffffffffffffffffffff602086901c166001600160701b03861665ffffffffffff604088901c811690871681111561205e57828282612062565b815f5f5b9550955095505050509250925092565b69ffffffffffffffffffff602083901c166001600160701b03831665ffffffffffff604085901c81169084168111156120ad578282826120b1565b815f5f5b9250925092509250925092565b5f65ffffffffffff8211156120f0576040516306dfcc6560e41b81526030600482015260248101839052604401610840565b5090565b8051156121045780518082602001fd5b60405163d6bda27560e01b815260040160405180910390fd5b50565b6001600160a01b038116811461211d575f5ffd5b5f5f83601f840112612144575f5ffd5b5081356001600160401b0381111561215a575f5ffd5b6020830191508360208260051b8501011115610e1f575f5ffd5b80356001600160401b038116811461218a575f5ffd5b919050565b5f5f5f5f606085870312156121a2575f5ffd5b84356121ad81612120565b935060208501356001600160401b038111156121c7575f5ffd5b6121d387828801612134565b90945092506121e6905060408601612174565b905092959194509250565b5f60208284031215612201575f5ffd5b6108f582612174565b5f5f6040838503121561221b575f5ffd5b823561222681612120565b91506020830135801515811461223a575f5ffd5b809150509250929050565b5f5f60408385031215612256575f5ffd5b823561226181612120565b9150602083013561223a81612120565b5f5f83601f840112612281575f5ffd5b5081356001600160401b03811115612297575f5ffd5b602083019150836020828501011115610e1f575f5ffd5b5f5f5f604084860312156122c0575f5ffd5b83356122cb81612120565b925060208401356001600160401b038111156122e5575f5ffd5b6122f186828701612271565b9497909650939450505050565b803563ffffffff8116811461218a575f5ffd5b5f5f5f60608486031215612323575f5ffd5b61232c84612174565b9250602084013561233c81612120565b915061234a604085016122fe565b90509250925092565b5f5f60408385031215612364575f5ffd5b61226183612174565b5f5f6040838503121561237e575f5ffd5b61238783612174565b915061239560208401612174565b90509250929050565b5f602082840312156123ae575f5ffd5b5035919050565b5f602082840312156123c5575f5ffd5b81356108f581612120565b6001600160e01b03198116811461211d575f5ffd5b5f5f604083850312156123f6575f5ffd5b823561240181612120565b9150602083013561223a816123d0565b5f5f5f60408486031215612423575f5ffd5b6122cb84612174565b5f5f6040838503121561243d575f5ffd5b61244683612174565b9150612395602084016122fe565b5f5f5f5f60608587031215612467575f5ffd5b843561247281612120565b9350602085013561248281612120565b925060408501356001600160401b0381111561249c575f5ffd5b6124a887828801612271565b95989497509550505050565b5f5f602083850312156124c5575f5ffd5b82356001600160401b038111156124da575f5ffd5b6124e685828601612134565b90969095509350505050565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b8281101561256a57603f19878603018452815180518087528060208301602089015e5f602082890101526020601f19601f83011688010196505050602082019150602084019350600181019050612518565b50929695505050505050565b5f5f5f60608486031215612588575f5ffd5b833561259381612120565b925060208401356125a381612120565b915060408401356125b3816123d0565b809150509250925092565b5f5f604083850312156125cf575f5ffd5b823561244681612120565b5f5f5f5f606085870312156125ed575f5ffd5b84356125f881612120565b935060208501356001600160401b03811115612612575f5ffd5b61261e87828801612271565b909450925050604085013565ffffffffffff8116811461263c575f5ffd5b939692955090935050565b634e487b7160e01b5f52603260045260245ffd5b5f6020828403121561266b575f5ffd5b81356108f5816123d0565b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b602081525f6126b1602083018486612676565b949350505050565b5f602082840312156126c9575f5ffd5b81516108f5816123d0565b6001600160a01b038581168252841660208201526060604082018190525f906114ba9083018486612676565b634e487b7160e01b5f52601160045260245ffd5b5f5f85851115612722575f5ffd5b8386111561272e575f5ffd5b5050820193919092039150565b634e487b7160e01b5f52604160045260245ffd5b5f5f8335601e19843603018112612764575f5ffd5b8301803591506001600160401b0382111561277d575f5ffd5b602001915036819003821315610e1f575f5ffd5b5f81518060208401855e5f93019283525090919050565b828482375f8382015f81526114ba8185612791565b65ffffffffffff818116838216019081111561075257610752612700565b65ffffffffffff861681526001600160a01b038581166020830152841660408201526080606082018190525f906128159083018486612676565b979650505050505050565b80356001600160e01b03198116906004841015612851576001600160e01b0319600485900360031b81901b82161691505b5092915050565b5f6108f58284612791565b63ffffffff82811682821603908111156107525761075261270056fea2646970667358221220e5651ef5cf3ba574508e0f1368da9c614b1c943795416bdf235ce37eaf23841164736f6c634300081c0033",
|
|
1172
|
-
"deployedBytecode": "0x6080604052600436106101db575f3560e01c80636d5115bd116100fd578063b700961311610092578063d22b598911610062578063d22b598914610636578063d6bb62c614610655578063f801a69814610674578063fe0776f5146106ad575f5ffd5b8063b7009613146105a8578063b7d2b162146105e3578063cc1b6c8114610602578063d1f856ee14610617575f5ffd5b8063a166aa89116100cd578063a166aa8914610501578063a64d95ce14610530578063abd9bd2a1461054f578063ac9650d81461057c575f5ffd5b80636d5115bd1461049157806375b238fc146104b0578063853551b8146104c357806394c7d7ee146104e2575f5ffd5b806330cae187116101735780634665096d116101435780634665096d146104035780634c1da1e2146104185780635296295214610437578063530dd45614610456575f5ffd5b806330cae1871461035c5780633adc277a1461037b5780633ca7c02a146103b15780634136a33c146103cb575f5ffd5b806318ff183c116101ae57806318ff183c146102b25780631cff79cd146102d157806325c471a0146102e45780633078f11414610303575f5ffd5b806308d6122d146101df5780630b0a93ba1461020057806312be87271461025f578063167bd39514610293575b5f5ffd5b3480156101ea575f5ffd5b506101fe6101f936600461218f565b6106cc565b005b34801561020b575f5ffd5b5061024261021a3660046121f1565b6001600160401b039081165f9081526001602081905260409091200154600160401b90041690565b6040516001600160401b0390911681526020015b60405180910390f35b34801561026a575f5ffd5b5061027e6102793660046121f1565b61071e565b60405163ffffffff9091168152602001610256565b34801561029e575f5ffd5b506101fe6102ad36600461220a565b610758565b3480156102bd575f5ffd5b506101fe6102cc366004612245565b61076e565b61027e6102df3660046122ae565b6107d0565b3480156102ef575f5ffd5b506101fe6102fe366004612311565b6108fc565b34801561030e575f5ffd5b5061032261031d366004612353565b61091e565b604051610256949392919065ffffffffffff948516815263ffffffff93841660208201529190921660408201529116606082015260800190565b348015610367575f5ffd5b506101fe61037636600461236d565b6109b7565b348015610386575f5ffd5b5061039a61039536600461239e565b6109c9565b60405165ffffffffffff9091168152602001610256565b3480156103bc575f5ffd5b506102426001600160401b0381565b3480156103d6575f5ffd5b5061027e6103e536600461239e565b5f90815260026020526040902054600160301b900463ffffffff1690565b34801561040e575f5ffd5b5062093a8061027e565b348015610423575f5ffd5b5061027e6104323660046123b5565b6109fa565b348015610442575f5ffd5b506101fe61045136600461236d565b610a27565b348015610461575f5ffd5b506102426104703660046121f1565b6001600160401b039081165f90815260016020819052604090912001541690565b34801561049c575f5ffd5b506102426104ab3660046123e5565b610a39565b3480156104bb575f5ffd5b506102425f81565b3480156104ce575f5ffd5b506101fe6104dd366004612411565b610a73565b3480156104ed575f5ffd5b506101fe6104fc3660046122ae565b610b0a565b34801561050c575f5ffd5b5061052061051b3660046123b5565b610bb4565b6040519015158152602001610256565b34801561053b575f5ffd5b506101fe61054a36600461242c565b610bdb565b34801561055a575f5ffd5b5061056e610569366004612454565b610bed565b604051908152602001610256565b348015610587575f5ffd5b5061059b6105963660046124b4565b610c25565b60405161025691906124f2565b3480156105b3575f5ffd5b506105c76105c2366004612576565b610d0a565b60408051921515835263ffffffff909116602083015201610256565b3480156105ee575f5ffd5b506101fe6105fd366004612353565b610d8b565b34801561060d575f5ffd5b506206978061027e565b348015610622575f5ffd5b506105c7610631366004612353565b610da2565b348015610641575f5ffd5b506101fe6106503660046125be565b610e26565b348015610660575f5ffd5b5061027e61066f366004612454565b610e38565b34801561067f575f5ffd5b5061069361068e3660046125da565b610f8b565b6040805192835263ffffffff909116602083015201610256565b3480156106b8575f5ffd5b506101fe6106c7366004612353565b6110cc565b6106d46110f5565b5f5b828110156107175761070f858585848181106106f4576106f4612647565b9050602002016020810190610709919061265b565b8461116c565b6001016106d6565b5050505050565b6001600160401b0381165f9081526001602081905260408220015461075290600160801b90046001600160701b03166111ed565b92915050565b6107606110f5565b61076a828261120b565b5050565b6107766110f5565b604051637a9e5e4b60e01b81526001600160a01b038281166004830152831690637a9e5e4b906024015f604051808303815f87803b1580156107b6575f5ffd5b505af11580156107c8573d5f5f3e3d5ffd5b505050505050565b5f3381806107e08388888861127c565b91509150811580156107f6575063ffffffff8116155b1561084957828761080788886112cd565b6040516381c6f24b60e01b81526001600160a01b0393841660048201529290911660248301526001600160e01b03191660448201526064015b60405180910390fd5b5f61085684898989610bed565b90505f63ffffffff831615158061087c5750610871826109c9565b65ffffffffffff1615155b1561088d5761088a826112e4565b90505b6003546108a38a61089e8b8b6112cd565b6113e2565b6003819055506108ea8a8a8a8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250349250611424915050565b506003559450505050505b9392505050565b6109046110f5565b61091883836109128661071e565b846114c4565b50505050565b6001600160401b0382165f9081526001602090815260408083206001600160a01b03851684529091528120805465ffffffffffff1691908190819060ff825c161561098a57805461097e90600160301b90046001600160701b031661170a565b919550935091506109ad565b80546109a590600160301b90046001600160701b031661172b565b919550935091505b5092959194509250565b6109bf6110f5565b61076a828261173f565b5f8181526002602052604081205465ffffffffffff166109e8816117e2565b6109f257806108f5565b5f9392505050565b6001600160a01b0381165f90815260208190526040812060010154610752906001600160701b03166111ed565b610a2f6110f5565b61076a8282611810565b6001600160a01b0382165f908152602081815260408083206001600160e01b0319851684529091529020546001600160401b031692915050565b610a7b6110f5565b6001600160401b0383161580610a9957506001600160401b03838116145b15610ac25760405163061c6a4360e21b81526001600160401b0384166004820152602401610840565b826001600160401b03167f1256f5b5ecb89caec12db449738f2fbcd1ba5806cf38f35413f4e5c15bf6a4508383604051610afd92919061269e565b60405180910390a2505050565b60408051638fb3603760e01b80825291513392918391638fb36037916004808201926020929091908290030181865afa158015610b49573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b6d91906126b9565b6001600160e01b03191614610ba057604051630641fee960e31b81526001600160a01b0382166004820152602401610840565b610717610baf85838686610bed565b6112e4565b6001600160a01b03165f90815260208190526040902060010154600160701b900460ff1690565b610be36110f5565b61076a82826118c1565b5f84848484604051602001610c0594939291906126d4565b604051602081830303815290604052805190602001209050949350505050565b604080515f815260208101909152606090826001600160401b03811115610c4e57610c4e61273b565b604051908082528060200260200182016040528015610c8157816020015b6060815260200190600190039081610c6c5790505b5091505f5b83811015610d0257610cdd30868684818110610ca457610ca4612647565b9050602002810190610cb6919061274f565b85604051602001610cc9939291906127a8565b6040516020818303038152906040526119d0565b838281518110610cef57610cef612647565b6020908102919091010152600101610c86565b505092915050565b5f5f610d1584610bb4565b15610d2457505f905080610d83565b306001600160a01b03861603610d4857610d3e8484611a42565b5f91509150610d83565b5f610d538585610a39565b90505f5f610d618389610da2565b9150915081610d71575f5f610d7b565b63ffffffff811615815b945094505050505b935093915050565b610d936110f5565b610d9d8282611a58565b505050565b5f8067fffffffffffffffe196001600160401b03851601610dc85750600190505f610e1f565b5f5f610dd4868661091e565b5050915091508165ffffffffffff165f14158015610e14575060ff5f5c1680610e145750610e00611b41565b65ffffffffffff168265ffffffffffff1611155b93509150610e1f9050565b9250929050565b610e2e6110f5565b61076a8282611b50565b5f3381610e4585856112cd565b90505f610e5488888888610bed565b5f8181526002602052604081205491925065ffffffffffff9091169003610e915760405163060a299b60e41b815260048101829052602401610840565b826001600160a01b0316886001600160a01b031614610f2a575f610eb55f85610da2565b5090505f610ecf610ec961021a8b87610a39565b86610da2565b50905081158015610ede575080155b15610f2757604051630ff89d4760e21b81526001600160a01b038087166004830152808c1660248301528a1660448201526001600160e01b031985166064820152608401610840565b50505b5f81815260026020526040808220805465ffffffffffff1916908190559051600160301b90910463ffffffff1691829184917fbd9ac67a6e2f6463b80927326310338bcbb4bdb7936ce1365ea3e01067e7b9f791a398975050505050505050565b5f803381610f9b8289898961127c565b9150505f8163ffffffff16610fae611b41565b610fb891906127bd565b905063ffffffff82161580610fee57505f8665ffffffffffff16118015610fee57508065ffffffffffff168665ffffffffffff16105b15610fff5782896108078a8a6112cd565b6110198665ffffffffffff168265ffffffffffff16611c0b565b9550611027838a8a8a610bed565b945061103285611c1a565b5f8581526002602052604090819020805465ffffffffffff891669ffffffffffffffffffff19821617600160301b9182900463ffffffff90811660010190811692830291909117909255915190955086907f82a2da5dee54ea8021c6545b4444620291e07ee83be6dd57edb175062715f3b4906110b8908a9088908f908f908f906127db565b60405180910390a350505094509492505050565b6001600160a01b0381163314610d9357604051635f159e6360e01b815260040160405180910390fd5b335f80611103838236611c66565b9150915081610d9d578063ffffffff165f0361115d575f6111248136611d29565b5060405163f07e038f60e01b81526001600160a01b03871660048201526001600160401b03821660248201529092506044019050610840565b610918610baf84305f36610bed565b6001600160a01b0383165f818152602081815260408083206001600160e01b0319871680855290835292819020805467ffffffffffffffff19166001600160401b038716908117909155905192835292917f9ea6790c7dadfd01c9f8b9762b3682607af2c7e79e05a9f9fdf5580dde949151910160405180910390a3505050565b5f5f611201836001600160701b031661172b565b5090949350505050565b6001600160a01b0382165f81815260208190526040908190206001018054841515600160701b0260ff60701b19909116179055517f90d4e7bb7e5d933792b3562e1741306f8be94837e1348dacef9b6f1df56eb1389061127090841515815260200190565b60405180910390a25050565b5f80306001600160a01b038616036112a257611299868585611c66565b915091506112c4565b600483106112be576112b986866105c287876112cd565b611299565b505f9050805b94509492505050565b5f6112db6004828486612714565b6108f591612820565b5f8181526002602052604081205465ffffffffffff811690600160301b900463ffffffff1681830361132c5760405163060a299b60e41b815260048101859052602401610840565b611334611b41565b65ffffffffffff168265ffffffffffff16111561136757604051630c65b5bd60e11b815260048101859052602401610840565b611370826117e2565b1561139157604051631e2975b960e21b815260048101859052602401610840565b5f84815260026020526040808220805465ffffffffffff191690555163ffffffff83169186917f76a2a46953689d4861a5d3f6ed883ad7e6af674a21f8e162707159fc9dde614d9190a39392505050565b604080516001600160a01b03939093166020808501919091526001600160e01b0319929092168382015280518084038201815260609093019052815191012090565b6060814710156114505760405163cf47918160e01b815247600482015260248101839052604401610840565b5f5f856001600160a01b0316848660405161146b9190612858565b5f6040518083038185875af1925050503d805f81146114a5576040519150601f19603f3d011682016040523d82523d5f602084013e6114aa565b606091505b50915091506114ba868383611f0f565b9695505050505050565b5f67fffffffffffffffe196001600160401b038616016115025760405163061c6a4360e21b81526001600160401b0386166004820152602401610840565b6001600160401b0385165f9081526001602090815260408083206001600160a01b038816845290915281205465ffffffffffff16159081156115f2578463ffffffff1661154d611b41565b61155791906127bd565b905060405180604001604052808265ffffffffffff1681526020016115858663ffffffff1663ffffffff1690565b6001600160701b039081169091526001600160401b0389165f9081526001602090815260408083206001600160a01b038c1684528252909120835181549490920151909216600160301b026001600160a01b031990931665ffffffffffff9091161791909117905561169c565b6001600160401b0387165f9081526001602090815260408083206001600160a01b038a16845290915281205461163b91600160301b9091046001600160701b0316908690611f6b565b6001600160401b0389165f9081526001602090815260408083206001600160a01b038c168452909152902080546001600160701b03909316600160301b0273ffffffffffffffffffffffffffff000000000000199093169290921790915590505b6040805163ffffffff8616815265ffffffffffff831660208201528315158183015290516001600160a01b038816916001600160401b038a16917ff98448b987f1428e0e230e1f3c6e2ce15b5693eaf31827fbd0b1ec4b424ae7cf9181900360600190a35095945050505050565b5f5f5f61171e84611719612011565b612020565b9250925092509193909250565b5f5f5f61171e8461173a611b41565b612072565b6001600160401b038216158061175d57506001600160401b03828116145b156117865760405163061c6a4360e21b81526001600160401b0383166004820152602401610840565b6001600160401b038281165f818152600160208190526040808320909101805467ffffffffffffffff19169486169485179055517f1fd6dd7631312dfac2205b52913f99de03b4d7e381d5d27d3dbfe0713e6e63409190a35050565b5f6117eb611b41565b65ffffffffffff1661180062093a80846127bd565b65ffffffffffff16111592915050565b6001600160401b038216158061182e57506001600160401b03828116145b156118575760405163061c6a4360e21b81526001600160401b0383166004820152602401610840565b6001600160401b038281165f81815260016020819052604080832090910180546fffffffffffffffff00000000000000001916600160401b958716958602179055517f7a8059630b897b5de4c08ade69f8b90c3ead1f8596d62d10b6c4d14a0afb4ae29190a35050565b67fffffffffffffffe196001600160401b038316016118fe5760405163061c6a4360e21b81526001600160401b0383166004820152602401610840565b6001600160401b0382165f9081526001602081905260408220015461193790600160801b90046001600160701b03168362069780611f6b565b6001600160401b0385165f818152600160208190526040918290200180546001600160701b03909516600160801b026dffffffffffffffffffffffffffff60801b199095169490941790935591519092507ffeb69018ee8b8fd50ea86348f1267d07673379f72cffdeccec63853ee8ce8b4890610afd908590859063ffffffff92909216825265ffffffffffff16602082015260400190565b60605f5f846001600160a01b0316846040516119ec9190612858565b5f60405180830381855af49150503d805f8114611a24576040519150601f19603f3d011682016040523d82523d5f602084013e611a29565b606091505b5091509150611a39858383611f0f565b95945050505050565b5f611a4d83836113e2565b600354149392505050565b5f67fffffffffffffffe196001600160401b03841601611a965760405163061c6a4360e21b81526001600160401b0384166004820152602401610840565b6001600160401b0383165f9081526001602090815260408083206001600160a01b038616845290915281205465ffffffffffff169003611ad757505f610752565b6001600160401b0383165f8181526001602090815260408083206001600160a01b038716808552925280832080546001600160a01b0319169055519092917ff229baa593af28c41b1d16b748cd7688f0c83aaf92d4be41c44005defe84c16691a350600192915050565b5f611b4b426120be565b905090565b6001600160a01b0382165f90815260208190526040812060010154611b82906001600160701b03168362069780611f6b565b6001600160a01b0385165f818152602081815260409182902060010180546dffffffffffffffffffffffffffff19166001600160701b039690961695909517909455805163ffffffff8716815265ffffffffffff841694810194909452919350917fa56b76017453f399ec2327ba00375dbfb1fd070ff854341ad6191e6a2e2de19c9101610afd565b5f8282188284110282186108f5565b5f8181526002602052604090205465ffffffffffff168015801590611c455750611c43816117e2565b155b1561076a5760405163813e945960e01b815260048101839052602401610840565b5f806004831015611c7b57505f905080610d83565b306001600160a01b03861603611c9e57610d3e30611c9986866112cd565b611a42565b5f5f5f611cab8787611d29565b92509250925082158015611cc35750611cc330610bb4565b15611cd6575f5f94509450505050610d83565b5f5f611ce2848b610da2565b9150915081611cfb575f5f965096505050505050610d83565b611d118363ffffffff168263ffffffff16611c0b565b63ffffffff8116159b909a5098505050505050505050565b5f80806004841015611d4257505f915081905080611f08565b5f611d4d86866112cd565b90506001600160e01b031981166310a6aa3760e31b1480611d7e57506001600160e01b031981166330cae18760e01b145b80611d9957506001600160e01b0319811663294b14a960e11b145b80611db457506001600160e01b03198116635326cae760e11b145b80611dcf57506001600160e01b0319811663d22b598960e01b145b15611de45760015f5f93509350935050611f08565b6001600160e01b0319811663063fc60f60e21b1480611e1357506001600160e01b0319811663167bd39560e01b145b80611e2e57506001600160e01b031981166308d6122d60e01b145b15611e6d575f611e4260246004888a612714565b810190611e4f91906123b5565b90505f611e5b826109fa565b600196505f95509350611f0892505050565b6001600160e01b0319811663012e238d60e51b1480611e9c57506001600160e01b03198116635be958b160e11b145b15611ef4575f611eb060246004888a612714565b810190611ebd91906121f1565b90506001611ee6826001600160401b039081165f90815260016020819052604090912001541690565b5f9450945094505050611f08565b5f611eff3083610a39565b5f935093509350505b9250925092565b606082611f2457611f1f826120f4565b6108f5565b8151158015611f3b57506001600160a01b0384163b155b15611f6457604051639996b31560e01b81526001600160a01b0385166004820152602401610840565b50806108f5565b5f5f5f611f80866001600160701b03166111ed565b90505f611fbb8563ffffffff168763ffffffff168463ffffffff1611611fa6575f611fb0565b611fb08885612863565b63ffffffff16611c0b565b90508063ffffffff16611fcc611b41565b611fd691906127bd565b925063ffffffff8616602083901b67ffffffff0000000016604085901b6dffffffffffff000000000000000016171793505050935093915050565b5f611b4b6407915ecc006120be565b5f808069ffffffffffffffffffff602086901c166001600160701b03861665ffffffffffff604088901c811690871681111561205e57828282612062565b815f5f5b9550955095505050509250925092565b69ffffffffffffffffffff602083901c166001600160701b03831665ffffffffffff604085901c81169084168111156120ad578282826120b1565b815f5f5b9250925092509250925092565b5f65ffffffffffff8211156120f0576040516306dfcc6560e41b81526030600482015260248101839052604401610840565b5090565b8051156121045780518082602001fd5b60405163d6bda27560e01b815260040160405180910390fd5b50565b6001600160a01b038116811461211d575f5ffd5b5f5f83601f840112612144575f5ffd5b5081356001600160401b0381111561215a575f5ffd5b6020830191508360208260051b8501011115610e1f575f5ffd5b80356001600160401b038116811461218a575f5ffd5b919050565b5f5f5f5f606085870312156121a2575f5ffd5b84356121ad81612120565b935060208501356001600160401b038111156121c7575f5ffd5b6121d387828801612134565b90945092506121e6905060408601612174565b905092959194509250565b5f60208284031215612201575f5ffd5b6108f582612174565b5f5f6040838503121561221b575f5ffd5b823561222681612120565b91506020830135801515811461223a575f5ffd5b809150509250929050565b5f5f60408385031215612256575f5ffd5b823561226181612120565b9150602083013561223a81612120565b5f5f83601f840112612281575f5ffd5b5081356001600160401b03811115612297575f5ffd5b602083019150836020828501011115610e1f575f5ffd5b5f5f5f604084860312156122c0575f5ffd5b83356122cb81612120565b925060208401356001600160401b038111156122e5575f5ffd5b6122f186828701612271565b9497909650939450505050565b803563ffffffff8116811461218a575f5ffd5b5f5f5f60608486031215612323575f5ffd5b61232c84612174565b9250602084013561233c81612120565b915061234a604085016122fe565b90509250925092565b5f5f60408385031215612364575f5ffd5b61226183612174565b5f5f6040838503121561237e575f5ffd5b61238783612174565b915061239560208401612174565b90509250929050565b5f602082840312156123ae575f5ffd5b5035919050565b5f602082840312156123c5575f5ffd5b81356108f581612120565b6001600160e01b03198116811461211d575f5ffd5b5f5f604083850312156123f6575f5ffd5b823561240181612120565b9150602083013561223a816123d0565b5f5f5f60408486031215612423575f5ffd5b6122cb84612174565b5f5f6040838503121561243d575f5ffd5b61244683612174565b9150612395602084016122fe565b5f5f5f5f60608587031215612467575f5ffd5b843561247281612120565b9350602085013561248281612120565b925060408501356001600160401b0381111561249c575f5ffd5b6124a887828801612271565b95989497509550505050565b5f5f602083850312156124c5575f5ffd5b82356001600160401b038111156124da575f5ffd5b6124e685828601612134565b90969095509350505050565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b8281101561256a57603f19878603018452815180518087528060208301602089015e5f602082890101526020601f19601f83011688010196505050602082019150602084019350600181019050612518565b50929695505050505050565b5f5f5f60608486031215612588575f5ffd5b833561259381612120565b925060208401356125a381612120565b915060408401356125b3816123d0565b809150509250925092565b5f5f604083850312156125cf575f5ffd5b823561244681612120565b5f5f5f5f606085870312156125ed575f5ffd5b84356125f881612120565b935060208501356001600160401b03811115612612575f5ffd5b61261e87828801612271565b909450925050604085013565ffffffffffff8116811461263c575f5ffd5b939692955090935050565b634e487b7160e01b5f52603260045260245ffd5b5f6020828403121561266b575f5ffd5b81356108f5816123d0565b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b602081525f6126b1602083018486612676565b949350505050565b5f602082840312156126c9575f5ffd5b81516108f5816123d0565b6001600160a01b038581168252841660208201526060604082018190525f906114ba9083018486612676565b634e487b7160e01b5f52601160045260245ffd5b5f5f85851115612722575f5ffd5b8386111561272e575f5ffd5b5050820193919092039150565b634e487b7160e01b5f52604160045260245ffd5b5f5f8335601e19843603018112612764575f5ffd5b8301803591506001600160401b0382111561277d575f5ffd5b602001915036819003821315610e1f575f5ffd5b5f81518060208401855e5f93019283525090919050565b828482375f8382015f81526114ba8185612791565b65ffffffffffff818116838216019081111561075257610752612700565b65ffffffffffff861681526001600160a01b038581166020830152841660408201526080606082018190525f906128159083018486612676565b979650505050505050565b80356001600160e01b03198116906004841015612851576001600160e01b0319600485900360031b81901b82161691505b5092915050565b5f6108f58284612791565b63ffffffff82811682821603908111156107525761075261270056fea2646970667358221220e5651ef5cf3ba574508e0f1368da9c614b1c943795416bdf235ce37eaf23841164736f6c634300081c0033",
|
|
1171
|
+
"bytecode": "0x608060405234801561000f575f5ffd5b50604051612d75380380612d7583398101604081905261002e91610441565b6001600160a01b03811661005c57604051630409d6d160e11b81525f60048201526024015b60405180910390fd5b6100685f82818061006f565b50506104bc565b5f6002600160401b03196001600160401b038616016100ac5760405163061c6a4360e21b81526001600160401b0386166004820152602401610053565b6001600160401b0385165f9081526001602090815260408083206001600160a01b038816845290915281205465ffffffffffff16159081156101a15763ffffffff85166100f76102b5565b6101019190610482565b905060405180604001604052808265ffffffffffff1681526020016101318663ffffffff166102c460201b60201c565b6001600160701b039081169091526001600160401b0389165f9081526001602090815260408083206001600160a01b038c16845282529091208351815494909201519092166601000000000000026001600160a01b031990931665ffffffffffff90911617919091179055610247565b6001600160401b0387165f9081526001602090815260408083206001600160a01b038a1684529091528120546101ed9166010000000000009091046001600160701b03169086906102cd565b6001600160401b0389165f9081526001602090815260408083206001600160a01b038c168452909152902080546001600160701b03909316660100000000000002600160301b600160a01b03199093169290921790915590505b6040805163ffffffff8616815265ffffffffffff831660208201528315158183015290516001600160a01b038816916001600160401b038a16917ff98448b987f1428e0e230e1f3c6e2ce15b5693eaf31827fbd0b1ec4b424ae7cf9181900360600190a35095945050505050565b5f6102bf42610373565b905090565b63ffffffff1690565b5f80806102e26001600160701b0387166103a9565b90505f61031d8563ffffffff168763ffffffff168463ffffffff1611610308575f610312565b61031288856104a0565b63ffffffff166103c7565b905063ffffffff811661032e6102b5565b6103389190610482565b925063ffffffff8616602083901b67ffffffff0000000016604085901b6dffffffffffff000000000000000016171793505050935093915050565b5f65ffffffffffff8211156103a5576040516306dfcc6560e41b81526030600482015260248101839052604401610053565b5090565b5f806103bd6001600160701b0384166103d7565b5090949350505050565b8082118183180281185b92915050565b5f80806103eb846103e66102b5565b6103f8565b9250925092509193909250565b6001600160501b03602083901c166001600160701b03831665ffffffffffff604085901c811690841681111561043057828282610434565b815f5f5b9250925092509250925092565b5f60208284031215610451575f5ffd5b81516001600160a01b0381168114610467575f5ffd5b9392505050565b634e487b7160e01b5f52601160045260245ffd5b65ffffffffffff81811683821601908111156103d1576103d161046e565b63ffffffff82811682821603908111156103d1576103d161046e565b6128ac806104c95f395ff3fe6080604052600436106101db575f3560e01c80636d5115bd116100fd578063b700961311610092578063d22b598911610062578063d22b598914610636578063d6bb62c614610655578063f801a69814610674578063fe0776f5146106ad575f5ffd5b8063b7009613146105a8578063b7d2b162146105e3578063cc1b6c8114610602578063d1f856ee14610617575f5ffd5b8063a166aa89116100cd578063a166aa8914610501578063a64d95ce14610530578063abd9bd2a1461054f578063ac9650d81461057c575f5ffd5b80636d5115bd1461049157806375b238fc146104b0578063853551b8146104c357806394c7d7ee146104e2575f5ffd5b806330cae187116101735780634665096d116101435780634665096d146104035780634c1da1e2146104185780635296295214610437578063530dd45614610456575f5ffd5b806330cae1871461035c5780633adc277a1461037b5780633ca7c02a146103b15780634136a33c146103cb575f5ffd5b806318ff183c116101ae57806318ff183c146102b25780631cff79cd146102d157806325c471a0146102e45780633078f11414610303575f5ffd5b806308d6122d146101df5780630b0a93ba1461020057806312be87271461025f578063167bd39514610293575b5f5ffd5b3480156101ea575f5ffd5b506101fe6101f9366004612192565b6106cc565b005b34801561020b575f5ffd5b5061024261021a3660046121f4565b6001600160401b039081165f9081526001602081905260409091200154600160401b90041690565b6040516001600160401b0390911681526020015b60405180910390f35b34801561026a575f5ffd5b5061027e6102793660046121f4565b61071e565b60405163ffffffff9091168152602001610256565b34801561029e575f5ffd5b506101fe6102ad36600461220d565b610758565b3480156102bd575f5ffd5b506101fe6102cc366004612248565b61076e565b61027e6102df3660046122b1565b6107d0565b3480156102ef575f5ffd5b506101fe6102fe366004612314565b6108fc565b34801561030e575f5ffd5b5061032261031d366004612356565b61091e565b604051610256949392919065ffffffffffff948516815263ffffffff93841660208201529190921660408201529116606082015260800190565b348015610367575f5ffd5b506101fe610376366004612370565b6109b7565b348015610386575f5ffd5b5061039a6103953660046123a1565b6109c9565b60405165ffffffffffff9091168152602001610256565b3480156103bc575f5ffd5b506102426001600160401b0381565b3480156103d6575f5ffd5b5061027e6103e53660046123a1565b5f90815260026020526040902054600160301b900463ffffffff1690565b34801561040e575f5ffd5b5062093a8061027e565b348015610423575f5ffd5b5061027e6104323660046123b8565b6109fa565b348015610442575f5ffd5b506101fe610451366004612370565b610a27565b348015610461575f5ffd5b506102426104703660046121f4565b6001600160401b039081165f90815260016020819052604090912001541690565b34801561049c575f5ffd5b506102426104ab3660046123e8565b610a39565b3480156104bb575f5ffd5b506102425f81565b3480156104ce575f5ffd5b506101fe6104dd366004612414565b610a73565b3480156104ed575f5ffd5b506101fe6104fc3660046122b1565b610b0a565b34801561050c575f5ffd5b5061052061051b3660046123b8565b610bb4565b6040519015158152602001610256565b34801561053b575f5ffd5b506101fe61054a36600461242f565b610bdb565b34801561055a575f5ffd5b5061056e610569366004612457565b610bed565b604051908152602001610256565b348015610587575f5ffd5b5061059b6105963660046124b7565b610c25565b60405161025691906124f5565b3480156105b3575f5ffd5b506105c76105c2366004612579565b610d0a565b60408051921515835263ffffffff909116602083015201610256565b3480156105ee575f5ffd5b506101fe6105fd366004612356565b610d8b565b34801561060d575f5ffd5b506206978061027e565b348015610622575f5ffd5b506105c7610631366004612356565b610da2565b348015610641575f5ffd5b506101fe6106503660046125c1565b610e26565b348015610660575f5ffd5b5061027e61066f366004612457565b610e38565b34801561067f575f5ffd5b5061069361068e3660046125dd565b610f8b565b6040805192835263ffffffff909116602083015201610256565b3480156106b8575f5ffd5b506101fe6106c7366004612356565b6110cc565b6106d46110f5565b5f5b828110156107175761070f858585848181106106f4576106f461264a565b9050602002016020810190610709919061265e565b8461116c565b6001016106d6565b5050505050565b6001600160401b0381165f9081526001602081905260408220015461075290600160801b90046001600160701b03166111ed565b92915050565b6107606110f5565b61076a828261120b565b5050565b6107766110f5565b604051637a9e5e4b60e01b81526001600160a01b038281166004830152831690637a9e5e4b906024015f604051808303815f87803b1580156107b6575f5ffd5b505af11580156107c8573d5f5f3e3d5ffd5b505050505050565b5f3381806107e08388888861127c565b91509150811580156107f6575063ffffffff8116155b1561084957828761080788886112cd565b6040516381c6f24b60e01b81526001600160a01b0393841660048201529290911660248301526001600160e01b03191660448201526064015b60405180910390fd5b5f61085684898989610bed565b90505f63ffffffff831615158061087c5750610871826109c9565b65ffffffffffff1615155b1561088d5761088a826112e4565b90505b6003546108a38a61089e8b8b6112cd565b6113e2565b6003819055506108ea8a8a8a8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250349250611424915050565b506003559450505050505b9392505050565b6109046110f5565b61091883836109128661071e565b846114f0565b50505050565b6001600160401b0382165f9081526001602090815260408083206001600160a01b03851684529091528120805465ffffffffffff1691908190819060ff825c161561098a57805461097e90600160301b90046001600160701b0316611736565b919550935091506109ad565b80546109a590600160301b90046001600160701b0316611757565b919550935091505b5092959194509250565b6109bf6110f5565b61076a828261176b565b5f8181526002602052604081205465ffffffffffff166109e88161180e565b6109f257806108f5565b5f9392505050565b6001600160a01b0381165f90815260208190526040812060010154610752906001600160701b03166111ed565b610a2f6110f5565b61076a828261183c565b6001600160a01b0382165f908152602081815260408083206001600160e01b0319851684529091529020546001600160401b031692915050565b610a7b6110f5565b6001600160401b0383161580610a9957506001600160401b03838116145b15610ac25760405163061c6a4360e21b81526001600160401b0384166004820152602401610840565b826001600160401b03167f1256f5b5ecb89caec12db449738f2fbcd1ba5806cf38f35413f4e5c15bf6a4508383604051610afd9291906126a1565b60405180910390a2505050565b60408051638fb3603760e01b80825291513392918391638fb36037916004808201926020929091908290030181865afa158015610b49573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b6d91906126bc565b6001600160e01b03191614610ba057604051630641fee960e31b81526001600160a01b0382166004820152602401610840565b610717610baf85838686610bed565b6112e4565b6001600160a01b03165f90815260208190526040902060010154600160701b900460ff1690565b610be36110f5565b61076a82826118ed565b5f84848484604051602001610c0594939291906126d7565b604051602081830303815290604052805190602001209050949350505050565b604080515f815260208101909152606090826001600160401b03811115610c4e57610c4e612748565b604051908082528060200260200182016040528015610c8157816020015b6060815260200190600190039081610c6c5790505b5091505f5b83811015610d0257610cdd30868684818110610ca457610ca461264a565b9050602002810190610cb6919061275c565b85604051602001610cc99392919061279e565b6040516020818303038152906040526119fc565b838281518110610cef57610cef61264a565b6020908102919091010152600101610c86565b505092915050565b5f5f610d1584610bb4565b15610d2457505f905080610d83565b306001600160a01b03861603610d4857610d3e8484611a7e565b5f91509150610d83565b5f610d538585610a39565b90505f5f610d618389610da2565b9150915081610d71575f5f610d7b565b63ffffffff811615815b945094505050505b935093915050565b610d936110f5565b610d9d8282611a94565b505050565b5f8067fffffffffffffffe196001600160401b03851601610dc85750600190505f610e1f565b5f5f610dd4868661091e565b5050915091508165ffffffffffff165f14158015610e14575060ff5f5c1680610e145750610e00611b7d565b65ffffffffffff168265ffffffffffff1611155b93509150610e1f9050565b9250929050565b610e2e6110f5565b61076a8282611b8c565b5f3381610e4585856112cd565b90505f610e5488888888610bed565b5f8181526002602052604081205491925065ffffffffffff9091169003610e915760405163060a299b60e41b815260048101829052602401610840565b826001600160a01b0316886001600160a01b031614610f2a575f610eb55f85610da2565b5090505f610ecf610ec961021a8b87610a39565b86610da2565b50905081158015610ede575080155b15610f2757604051630ff89d4760e21b81526001600160a01b038087166004830152808c1660248301528a1660448201526001600160e01b031985166064820152608401610840565b50505b5f81815260026020526040808220805465ffffffffffff1916908190559051600160301b90910463ffffffff1691829184917fbd9ac67a6e2f6463b80927326310338bcbb4bdb7936ce1365ea3e01067e7b9f791a398975050505050505050565b5f803381610f9b8289898961127c565b9150505f8163ffffffff16610fae611b7d565b610fb891906127c1565b905063ffffffff82161580610fee57505f8665ffffffffffff16118015610fee57508065ffffffffffff168665ffffffffffff16105b15610fff5782896108078a8a6112cd565b6110198665ffffffffffff168265ffffffffffff16611c47565b9550611027838a8a8a610bed565b945061103285611c56565b5f8581526002602052604090819020805465ffffffffffff891669ffffffffffffffffffff19821617600160301b9182900463ffffffff90811660010190811692830291909117909255915190955086907f82a2da5dee54ea8021c6545b4444620291e07ee83be6dd57edb175062715f3b4906110b8908a9088908f908f908f906127df565b60405180910390a350505094509492505050565b6001600160a01b0381163314610d9357604051635f159e6360e01b815260040160405180910390fd5b335f80611103838236611ca2565b9150915081610d9d578063ffffffff165f0361115d575f6111248136611d65565b5060405163f07e038f60e01b81526001600160a01b03871660048201526001600160401b03821660248201529092506044019050610840565b610918610baf84305f36610bed565b6001600160a01b0383165f818152602081815260408083206001600160e01b0319871680855290835292819020805467ffffffffffffffff19166001600160401b038716908117909155905192835292917f9ea6790c7dadfd01c9f8b9762b3682607af2c7e79e05a9f9fdf5580dde949151910160405180910390a3505050565b5f5f611201836001600160701b0316611757565b5090949350505050565b6001600160a01b0382165f81815260208190526040908190206001018054841515600160701b0260ff60701b19909116179055517f90d4e7bb7e5d933792b3562e1741306f8be94837e1348dacef9b6f1df56eb1389061127090841515815260200190565b60405180910390a25050565b5f80306001600160a01b038616036112a257611299868585611ca2565b915091506112c4565b600483106112be576112b986866105c287876112cd565b611299565b505f9050805b94509492505050565b5f6112db6004828486612721565b6108f591612824565b5f8181526002602052604081205465ffffffffffff811690600160301b900463ffffffff1681830361132c5760405163060a299b60e41b815260048101859052602401610840565b611334611b7d565b65ffffffffffff168265ffffffffffff16111561136757604051630c65b5bd60e11b815260048101859052602401610840565b6113708261180e565b1561139157604051631e2975b960e21b815260048101859052602401610840565b5f84815260026020526040808220805465ffffffffffff191690555163ffffffff83169186917f76a2a46953689d4861a5d3f6ed883ad7e6af674a21f8e162707159fc9dde614d9190a39392505050565b604080516001600160a01b03939093166020808501919091526001600160e01b0319929092168382015280518084038201815260609093019052815191012090565b6060814710156114505760405163cf47918160e01b815247600482015260248101839052604401610840565b5f61145c858486611f4b565b905080801561147d57505f3d118061147d57505f856001600160a01b03163b115b156114925761148a611f60565b9150506108f5565b80156114bc57604051639996b31560e01b81526001600160a01b0386166004820152602401610840565b3d156114cf576114ca611f79565b6114e8565b60405163d6bda27560e01b815260040160405180910390fd5b509392505050565b5f67fffffffffffffffe196001600160401b0386160161152e5760405163061c6a4360e21b81526001600160401b0386166004820152602401610840565b6001600160401b0385165f9081526001602090815260408083206001600160a01b038816845290915281205465ffffffffffff161590811561161e578463ffffffff16611579611b7d565b61158391906127c1565b905060405180604001604052808265ffffffffffff1681526020016115b18663ffffffff1663ffffffff1690565b6001600160701b039081169091526001600160401b0389165f9081526001602090815260408083206001600160a01b038c1684528252909120835181549490920151909216600160301b026001600160a01b031990931665ffffffffffff909116179190911790556116c8565b6001600160401b0387165f9081526001602090815260408083206001600160a01b038a16845290915281205461166791600160301b9091046001600160701b0316908690611f84565b6001600160401b0389165f9081526001602090815260408083206001600160a01b038c168452909152902080546001600160701b03909316600160301b0273ffffffffffffffffffffffffffff000000000000199093169290921790915590505b6040805163ffffffff8616815265ffffffffffff831660208201528315158183015290516001600160a01b038816916001600160401b038a16917ff98448b987f1428e0e230e1f3c6e2ce15b5693eaf31827fbd0b1ec4b424ae7cf9181900360600190a35095945050505050565b5f5f5f61174a8461174561202a565b612039565b9250925092509193909250565b5f5f5f61174a84611766611b7d565b61208b565b6001600160401b038216158061178957506001600160401b03828116145b156117b25760405163061c6a4360e21b81526001600160401b0383166004820152602401610840565b6001600160401b038281165f818152600160208190526040808320909101805467ffffffffffffffff19169486169485179055517f1fd6dd7631312dfac2205b52913f99de03b4d7e381d5d27d3dbfe0713e6e63409190a35050565b5f611817611b7d565b65ffffffffffff1661182c62093a80846127c1565b65ffffffffffff16111592915050565b6001600160401b038216158061185a57506001600160401b03828116145b156118835760405163061c6a4360e21b81526001600160401b0383166004820152602401610840565b6001600160401b038281165f81815260016020819052604080832090910180546fffffffffffffffff00000000000000001916600160401b958716958602179055517f7a8059630b897b5de4c08ade69f8b90c3ead1f8596d62d10b6c4d14a0afb4ae29190a35050565b67fffffffffffffffe196001600160401b0383160161192a5760405163061c6a4360e21b81526001600160401b0383166004820152602401610840565b6001600160401b0382165f9081526001602081905260408220015461196390600160801b90046001600160701b03168362069780611f84565b6001600160401b0385165f818152600160208190526040918290200180546001600160701b03909516600160801b026dffffffffffffffffffffffffffff60801b199095169490941790935591519092507ffeb69018ee8b8fd50ea86348f1267d07673379f72cffdeccec63853ee8ce8b4890610afd908590859063ffffffff92909216825265ffffffffffff16602082015260400190565b60605f611a0984846120d7565b9050808015611a2a57505f3d1180611a2a57505f846001600160a01b03163b115b15611a3f57611a37611f60565b915050610752565b8015611a6957604051639996b31560e01b81526001600160a01b0385166004820152602401610840565b3d156114cf57611a77611f79565b5092915050565b5f611a8983836113e2565b600354149392505050565b5f67fffffffffffffffe196001600160401b03841601611ad25760405163061c6a4360e21b81526001600160401b0384166004820152602401610840565b6001600160401b0383165f9081526001602090815260408083206001600160a01b038616845290915281205465ffffffffffff169003611b1357505f610752565b6001600160401b0383165f8181526001602090815260408083206001600160a01b038716808552925280832080546001600160a01b0319169055519092917ff229baa593af28c41b1d16b748cd7688f0c83aaf92d4be41c44005defe84c16691a350600192915050565b5f611b87426120ea565b905090565b6001600160a01b0382165f90815260208190526040812060010154611bbe906001600160701b03168362069780611f84565b6001600160a01b0385165f818152602081815260409182902060010180546dffffffffffffffffffffffffffff19166001600160701b039690961695909517909455805163ffffffff8716815265ffffffffffff841694810194909452919350917fa56b76017453f399ec2327ba00375dbfb1fd070ff854341ad6191e6a2e2de19c9101610afd565b5f8282188284110282186108f5565b5f8181526002602052604090205465ffffffffffff168015801590611c815750611c7f8161180e565b155b1561076a5760405163813e945960e01b815260048101839052602401610840565b5f806004831015611cb757505f905080610d83565b306001600160a01b03861603611cda57610d3e30611cd586866112cd565b611a7e565b5f5f5f611ce78787611d65565b92509250925082158015611cff5750611cff30610bb4565b15611d12575f5f94509450505050610d83565b5f5f611d1e848b610da2565b9150915081611d37575f5f965096505050505050610d83565b611d4d8363ffffffff168263ffffffff16611c47565b63ffffffff8116159b909a5098505050505050505050565b5f80806004841015611d7e57505f915081905080611f44565b5f611d8986866112cd565b90506001600160e01b031981166310a6aa3760e31b1480611dba57506001600160e01b031981166330cae18760e01b145b80611dd557506001600160e01b0319811663294b14a960e11b145b80611df057506001600160e01b03198116635326cae760e11b145b80611e0b57506001600160e01b0319811663d22b598960e01b145b15611e205760015f5f93509350935050611f44565b6001600160e01b0319811663063fc60f60e21b1480611e4f57506001600160e01b0319811663167bd39560e01b145b80611e6a57506001600160e01b031981166308d6122d60e01b145b15611ea9575f611e7e60246004888a612721565b810190611e8b91906123b8565b90505f611e97826109fa565b600196505f95509350611f4492505050565b6001600160e01b0319811663012e238d60e51b1480611ed857506001600160e01b03198116635be958b160e11b145b15611f30575f611eec60246004888a612721565b810190611ef991906121f4565b90506001611f22826001600160401b039081165f90815260016020819052604090912001541690565b5f9450945094505050611f44565b5f611f3b3083610a39565b5f935093509350505b9250925092565b5f5f5f83516020850186885af1949350505050565b6040513d81523d5f602083013e3d602001810160405290565b6040513d5f823e3d81fd5b5f5f5f611f99866001600160701b03166111ed565b90505f611fd48563ffffffff168763ffffffff168463ffffffff1611611fbf575f611fc9565b611fc9888561285a565b63ffffffff16611c47565b90508063ffffffff16611fe5611b7d565b611fef91906127c1565b925063ffffffff8616602083901b67ffffffff0000000016604085901b6dffffffffffff000000000000000016171793505050935093915050565b5f611b876407915ecc006120ea565b5f808069ffffffffffffffffffff602086901c166001600160701b03861665ffffffffffff604088901c81169087168111156120775782828261207b565b815f5f5b9550955095505050509250925092565b69ffffffffffffffffffff602083901c166001600160701b03831665ffffffffffff604085901c81169084168111156120c6578282826120ca565b815f5f5b9250925092509250925092565b5f5f5f835160208501865af49392505050565b5f65ffffffffffff82111561211c576040516306dfcc6560e41b81526030600482015260248101839052604401610840565b5090565b6001600160a01b0381168114612134575f5ffd5b50565b5f5f83601f840112612147575f5ffd5b5081356001600160401b0381111561215d575f5ffd5b6020830191508360208260051b8501011115610e1f575f5ffd5b80356001600160401b038116811461218d575f5ffd5b919050565b5f5f5f5f606085870312156121a5575f5ffd5b84356121b081612120565b935060208501356001600160401b038111156121ca575f5ffd5b6121d687828801612137565b90945092506121e9905060408601612177565b905092959194509250565b5f60208284031215612204575f5ffd5b6108f582612177565b5f5f6040838503121561221e575f5ffd5b823561222981612120565b91506020830135801515811461223d575f5ffd5b809150509250929050565b5f5f60408385031215612259575f5ffd5b823561226481612120565b9150602083013561223d81612120565b5f5f83601f840112612284575f5ffd5b5081356001600160401b0381111561229a575f5ffd5b602083019150836020828501011115610e1f575f5ffd5b5f5f5f604084860312156122c3575f5ffd5b83356122ce81612120565b925060208401356001600160401b038111156122e8575f5ffd5b6122f486828701612274565b9497909650939450505050565b803563ffffffff8116811461218d575f5ffd5b5f5f5f60608486031215612326575f5ffd5b61232f84612177565b9250602084013561233f81612120565b915061234d60408501612301565b90509250925092565b5f5f60408385031215612367575f5ffd5b61226483612177565b5f5f60408385031215612381575f5ffd5b61238a83612177565b915061239860208401612177565b90509250929050565b5f602082840312156123b1575f5ffd5b5035919050565b5f602082840312156123c8575f5ffd5b81356108f581612120565b6001600160e01b031981168114612134575f5ffd5b5f5f604083850312156123f9575f5ffd5b823561240481612120565b9150602083013561223d816123d3565b5f5f5f60408486031215612426575f5ffd5b6122ce84612177565b5f5f60408385031215612440575f5ffd5b61244983612177565b915061239860208401612301565b5f5f5f5f6060858703121561246a575f5ffd5b843561247581612120565b9350602085013561248581612120565b925060408501356001600160401b0381111561249f575f5ffd5b6124ab87828801612274565b95989497509550505050565b5f5f602083850312156124c8575f5ffd5b82356001600160401b038111156124dd575f5ffd5b6124e985828601612137565b90969095509350505050565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b8281101561256d57603f19878603018452815180518087528060208301602089015e5f602082890101526020601f19601f8301168801019650505060208201915060208401935060018101905061251b565b50929695505050505050565b5f5f5f6060848603121561258b575f5ffd5b833561259681612120565b925060208401356125a681612120565b915060408401356125b6816123d3565b809150509250925092565b5f5f604083850312156125d2575f5ffd5b823561244981612120565b5f5f5f5f606085870312156125f0575f5ffd5b84356125fb81612120565b935060208501356001600160401b03811115612615575f5ffd5b61262187828801612274565b909450925050604085013565ffffffffffff8116811461263f575f5ffd5b939692955090935050565b634e487b7160e01b5f52603260045260245ffd5b5f6020828403121561266e575f5ffd5b81356108f5816123d3565b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b602081525f6126b4602083018486612679565b949350505050565b5f602082840312156126cc575f5ffd5b81516108f5816123d3565b6001600160a01b038581168252841660208201526060604082018190525f906127039083018486612679565b9695505050505050565b634e487b7160e01b5f52601160045260245ffd5b5f5f8585111561272f575f5ffd5b8386111561273b575f5ffd5b5050820193919092039150565b634e487b7160e01b5f52604160045260245ffd5b5f5f8335601e19843603018112612771575f5ffd5b8301803591506001600160401b0382111561278a575f5ffd5b602001915036819003821315610e1f575f5ffd5b828482375f8382015f815283518060208601835e5f910190815295945050505050565b65ffffffffffff81811683821601908111156107525761075261270d565b65ffffffffffff861681526001600160a01b038581166020830152841660408201526080606082018190525f906128199083018486612679565b979650505050505050565b80356001600160e01b03198116906004841015611a77576001600160e01b031960049490940360031b84901b1690921692915050565b63ffffffff82811682821603908111156107525761075261270d56fea2646970667358221220f20b442fa5ef89544bc9330c8ac9c2b7a5af99e381a3ceca3d062a124e75026364736f6c634300081e0033",
|
|
1172
|
+
"deployedBytecode": "0x6080604052600436106101db575f3560e01c80636d5115bd116100fd578063b700961311610092578063d22b598911610062578063d22b598914610636578063d6bb62c614610655578063f801a69814610674578063fe0776f5146106ad575f5ffd5b8063b7009613146105a8578063b7d2b162146105e3578063cc1b6c8114610602578063d1f856ee14610617575f5ffd5b8063a166aa89116100cd578063a166aa8914610501578063a64d95ce14610530578063abd9bd2a1461054f578063ac9650d81461057c575f5ffd5b80636d5115bd1461049157806375b238fc146104b0578063853551b8146104c357806394c7d7ee146104e2575f5ffd5b806330cae187116101735780634665096d116101435780634665096d146104035780634c1da1e2146104185780635296295214610437578063530dd45614610456575f5ffd5b806330cae1871461035c5780633adc277a1461037b5780633ca7c02a146103b15780634136a33c146103cb575f5ffd5b806318ff183c116101ae57806318ff183c146102b25780631cff79cd146102d157806325c471a0146102e45780633078f11414610303575f5ffd5b806308d6122d146101df5780630b0a93ba1461020057806312be87271461025f578063167bd39514610293575b5f5ffd5b3480156101ea575f5ffd5b506101fe6101f9366004612192565b6106cc565b005b34801561020b575f5ffd5b5061024261021a3660046121f4565b6001600160401b039081165f9081526001602081905260409091200154600160401b90041690565b6040516001600160401b0390911681526020015b60405180910390f35b34801561026a575f5ffd5b5061027e6102793660046121f4565b61071e565b60405163ffffffff9091168152602001610256565b34801561029e575f5ffd5b506101fe6102ad36600461220d565b610758565b3480156102bd575f5ffd5b506101fe6102cc366004612248565b61076e565b61027e6102df3660046122b1565b6107d0565b3480156102ef575f5ffd5b506101fe6102fe366004612314565b6108fc565b34801561030e575f5ffd5b5061032261031d366004612356565b61091e565b604051610256949392919065ffffffffffff948516815263ffffffff93841660208201529190921660408201529116606082015260800190565b348015610367575f5ffd5b506101fe610376366004612370565b6109b7565b348015610386575f5ffd5b5061039a6103953660046123a1565b6109c9565b60405165ffffffffffff9091168152602001610256565b3480156103bc575f5ffd5b506102426001600160401b0381565b3480156103d6575f5ffd5b5061027e6103e53660046123a1565b5f90815260026020526040902054600160301b900463ffffffff1690565b34801561040e575f5ffd5b5062093a8061027e565b348015610423575f5ffd5b5061027e6104323660046123b8565b6109fa565b348015610442575f5ffd5b506101fe610451366004612370565b610a27565b348015610461575f5ffd5b506102426104703660046121f4565b6001600160401b039081165f90815260016020819052604090912001541690565b34801561049c575f5ffd5b506102426104ab3660046123e8565b610a39565b3480156104bb575f5ffd5b506102425f81565b3480156104ce575f5ffd5b506101fe6104dd366004612414565b610a73565b3480156104ed575f5ffd5b506101fe6104fc3660046122b1565b610b0a565b34801561050c575f5ffd5b5061052061051b3660046123b8565b610bb4565b6040519015158152602001610256565b34801561053b575f5ffd5b506101fe61054a36600461242f565b610bdb565b34801561055a575f5ffd5b5061056e610569366004612457565b610bed565b604051908152602001610256565b348015610587575f5ffd5b5061059b6105963660046124b7565b610c25565b60405161025691906124f5565b3480156105b3575f5ffd5b506105c76105c2366004612579565b610d0a565b60408051921515835263ffffffff909116602083015201610256565b3480156105ee575f5ffd5b506101fe6105fd366004612356565b610d8b565b34801561060d575f5ffd5b506206978061027e565b348015610622575f5ffd5b506105c7610631366004612356565b610da2565b348015610641575f5ffd5b506101fe6106503660046125c1565b610e26565b348015610660575f5ffd5b5061027e61066f366004612457565b610e38565b34801561067f575f5ffd5b5061069361068e3660046125dd565b610f8b565b6040805192835263ffffffff909116602083015201610256565b3480156106b8575f5ffd5b506101fe6106c7366004612356565b6110cc565b6106d46110f5565b5f5b828110156107175761070f858585848181106106f4576106f461264a565b9050602002016020810190610709919061265e565b8461116c565b6001016106d6565b5050505050565b6001600160401b0381165f9081526001602081905260408220015461075290600160801b90046001600160701b03166111ed565b92915050565b6107606110f5565b61076a828261120b565b5050565b6107766110f5565b604051637a9e5e4b60e01b81526001600160a01b038281166004830152831690637a9e5e4b906024015f604051808303815f87803b1580156107b6575f5ffd5b505af11580156107c8573d5f5f3e3d5ffd5b505050505050565b5f3381806107e08388888861127c565b91509150811580156107f6575063ffffffff8116155b1561084957828761080788886112cd565b6040516381c6f24b60e01b81526001600160a01b0393841660048201529290911660248301526001600160e01b03191660448201526064015b60405180910390fd5b5f61085684898989610bed565b90505f63ffffffff831615158061087c5750610871826109c9565b65ffffffffffff1615155b1561088d5761088a826112e4565b90505b6003546108a38a61089e8b8b6112cd565b6113e2565b6003819055506108ea8a8a8a8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250349250611424915050565b506003559450505050505b9392505050565b6109046110f5565b61091883836109128661071e565b846114f0565b50505050565b6001600160401b0382165f9081526001602090815260408083206001600160a01b03851684529091528120805465ffffffffffff1691908190819060ff825c161561098a57805461097e90600160301b90046001600160701b0316611736565b919550935091506109ad565b80546109a590600160301b90046001600160701b0316611757565b919550935091505b5092959194509250565b6109bf6110f5565b61076a828261176b565b5f8181526002602052604081205465ffffffffffff166109e88161180e565b6109f257806108f5565b5f9392505050565b6001600160a01b0381165f90815260208190526040812060010154610752906001600160701b03166111ed565b610a2f6110f5565b61076a828261183c565b6001600160a01b0382165f908152602081815260408083206001600160e01b0319851684529091529020546001600160401b031692915050565b610a7b6110f5565b6001600160401b0383161580610a9957506001600160401b03838116145b15610ac25760405163061c6a4360e21b81526001600160401b0384166004820152602401610840565b826001600160401b03167f1256f5b5ecb89caec12db449738f2fbcd1ba5806cf38f35413f4e5c15bf6a4508383604051610afd9291906126a1565b60405180910390a2505050565b60408051638fb3603760e01b80825291513392918391638fb36037916004808201926020929091908290030181865afa158015610b49573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b6d91906126bc565b6001600160e01b03191614610ba057604051630641fee960e31b81526001600160a01b0382166004820152602401610840565b610717610baf85838686610bed565b6112e4565b6001600160a01b03165f90815260208190526040902060010154600160701b900460ff1690565b610be36110f5565b61076a82826118ed565b5f84848484604051602001610c0594939291906126d7565b604051602081830303815290604052805190602001209050949350505050565b604080515f815260208101909152606090826001600160401b03811115610c4e57610c4e612748565b604051908082528060200260200182016040528015610c8157816020015b6060815260200190600190039081610c6c5790505b5091505f5b83811015610d0257610cdd30868684818110610ca457610ca461264a565b9050602002810190610cb6919061275c565b85604051602001610cc99392919061279e565b6040516020818303038152906040526119fc565b838281518110610cef57610cef61264a565b6020908102919091010152600101610c86565b505092915050565b5f5f610d1584610bb4565b15610d2457505f905080610d83565b306001600160a01b03861603610d4857610d3e8484611a7e565b5f91509150610d83565b5f610d538585610a39565b90505f5f610d618389610da2565b9150915081610d71575f5f610d7b565b63ffffffff811615815b945094505050505b935093915050565b610d936110f5565b610d9d8282611a94565b505050565b5f8067fffffffffffffffe196001600160401b03851601610dc85750600190505f610e1f565b5f5f610dd4868661091e565b5050915091508165ffffffffffff165f14158015610e14575060ff5f5c1680610e145750610e00611b7d565b65ffffffffffff168265ffffffffffff1611155b93509150610e1f9050565b9250929050565b610e2e6110f5565b61076a8282611b8c565b5f3381610e4585856112cd565b90505f610e5488888888610bed565b5f8181526002602052604081205491925065ffffffffffff9091169003610e915760405163060a299b60e41b815260048101829052602401610840565b826001600160a01b0316886001600160a01b031614610f2a575f610eb55f85610da2565b5090505f610ecf610ec961021a8b87610a39565b86610da2565b50905081158015610ede575080155b15610f2757604051630ff89d4760e21b81526001600160a01b038087166004830152808c1660248301528a1660448201526001600160e01b031985166064820152608401610840565b50505b5f81815260026020526040808220805465ffffffffffff1916908190559051600160301b90910463ffffffff1691829184917fbd9ac67a6e2f6463b80927326310338bcbb4bdb7936ce1365ea3e01067e7b9f791a398975050505050505050565b5f803381610f9b8289898961127c565b9150505f8163ffffffff16610fae611b7d565b610fb891906127c1565b905063ffffffff82161580610fee57505f8665ffffffffffff16118015610fee57508065ffffffffffff168665ffffffffffff16105b15610fff5782896108078a8a6112cd565b6110198665ffffffffffff168265ffffffffffff16611c47565b9550611027838a8a8a610bed565b945061103285611c56565b5f8581526002602052604090819020805465ffffffffffff891669ffffffffffffffffffff19821617600160301b9182900463ffffffff90811660010190811692830291909117909255915190955086907f82a2da5dee54ea8021c6545b4444620291e07ee83be6dd57edb175062715f3b4906110b8908a9088908f908f908f906127df565b60405180910390a350505094509492505050565b6001600160a01b0381163314610d9357604051635f159e6360e01b815260040160405180910390fd5b335f80611103838236611ca2565b9150915081610d9d578063ffffffff165f0361115d575f6111248136611d65565b5060405163f07e038f60e01b81526001600160a01b03871660048201526001600160401b03821660248201529092506044019050610840565b610918610baf84305f36610bed565b6001600160a01b0383165f818152602081815260408083206001600160e01b0319871680855290835292819020805467ffffffffffffffff19166001600160401b038716908117909155905192835292917f9ea6790c7dadfd01c9f8b9762b3682607af2c7e79e05a9f9fdf5580dde949151910160405180910390a3505050565b5f5f611201836001600160701b0316611757565b5090949350505050565b6001600160a01b0382165f81815260208190526040908190206001018054841515600160701b0260ff60701b19909116179055517f90d4e7bb7e5d933792b3562e1741306f8be94837e1348dacef9b6f1df56eb1389061127090841515815260200190565b60405180910390a25050565b5f80306001600160a01b038616036112a257611299868585611ca2565b915091506112c4565b600483106112be576112b986866105c287876112cd565b611299565b505f9050805b94509492505050565b5f6112db6004828486612721565b6108f591612824565b5f8181526002602052604081205465ffffffffffff811690600160301b900463ffffffff1681830361132c5760405163060a299b60e41b815260048101859052602401610840565b611334611b7d565b65ffffffffffff168265ffffffffffff16111561136757604051630c65b5bd60e11b815260048101859052602401610840565b6113708261180e565b1561139157604051631e2975b960e21b815260048101859052602401610840565b5f84815260026020526040808220805465ffffffffffff191690555163ffffffff83169186917f76a2a46953689d4861a5d3f6ed883ad7e6af674a21f8e162707159fc9dde614d9190a39392505050565b604080516001600160a01b03939093166020808501919091526001600160e01b0319929092168382015280518084038201815260609093019052815191012090565b6060814710156114505760405163cf47918160e01b815247600482015260248101839052604401610840565b5f61145c858486611f4b565b905080801561147d57505f3d118061147d57505f856001600160a01b03163b115b156114925761148a611f60565b9150506108f5565b80156114bc57604051639996b31560e01b81526001600160a01b0386166004820152602401610840565b3d156114cf576114ca611f79565b6114e8565b60405163d6bda27560e01b815260040160405180910390fd5b509392505050565b5f67fffffffffffffffe196001600160401b0386160161152e5760405163061c6a4360e21b81526001600160401b0386166004820152602401610840565b6001600160401b0385165f9081526001602090815260408083206001600160a01b038816845290915281205465ffffffffffff161590811561161e578463ffffffff16611579611b7d565b61158391906127c1565b905060405180604001604052808265ffffffffffff1681526020016115b18663ffffffff1663ffffffff1690565b6001600160701b039081169091526001600160401b0389165f9081526001602090815260408083206001600160a01b038c1684528252909120835181549490920151909216600160301b026001600160a01b031990931665ffffffffffff909116179190911790556116c8565b6001600160401b0387165f9081526001602090815260408083206001600160a01b038a16845290915281205461166791600160301b9091046001600160701b0316908690611f84565b6001600160401b0389165f9081526001602090815260408083206001600160a01b038c168452909152902080546001600160701b03909316600160301b0273ffffffffffffffffffffffffffff000000000000199093169290921790915590505b6040805163ffffffff8616815265ffffffffffff831660208201528315158183015290516001600160a01b038816916001600160401b038a16917ff98448b987f1428e0e230e1f3c6e2ce15b5693eaf31827fbd0b1ec4b424ae7cf9181900360600190a35095945050505050565b5f5f5f61174a8461174561202a565b612039565b9250925092509193909250565b5f5f5f61174a84611766611b7d565b61208b565b6001600160401b038216158061178957506001600160401b03828116145b156117b25760405163061c6a4360e21b81526001600160401b0383166004820152602401610840565b6001600160401b038281165f818152600160208190526040808320909101805467ffffffffffffffff19169486169485179055517f1fd6dd7631312dfac2205b52913f99de03b4d7e381d5d27d3dbfe0713e6e63409190a35050565b5f611817611b7d565b65ffffffffffff1661182c62093a80846127c1565b65ffffffffffff16111592915050565b6001600160401b038216158061185a57506001600160401b03828116145b156118835760405163061c6a4360e21b81526001600160401b0383166004820152602401610840565b6001600160401b038281165f81815260016020819052604080832090910180546fffffffffffffffff00000000000000001916600160401b958716958602179055517f7a8059630b897b5de4c08ade69f8b90c3ead1f8596d62d10b6c4d14a0afb4ae29190a35050565b67fffffffffffffffe196001600160401b0383160161192a5760405163061c6a4360e21b81526001600160401b0383166004820152602401610840565b6001600160401b0382165f9081526001602081905260408220015461196390600160801b90046001600160701b03168362069780611f84565b6001600160401b0385165f818152600160208190526040918290200180546001600160701b03909516600160801b026dffffffffffffffffffffffffffff60801b199095169490941790935591519092507ffeb69018ee8b8fd50ea86348f1267d07673379f72cffdeccec63853ee8ce8b4890610afd908590859063ffffffff92909216825265ffffffffffff16602082015260400190565b60605f611a0984846120d7565b9050808015611a2a57505f3d1180611a2a57505f846001600160a01b03163b115b15611a3f57611a37611f60565b915050610752565b8015611a6957604051639996b31560e01b81526001600160a01b0385166004820152602401610840565b3d156114cf57611a77611f79565b5092915050565b5f611a8983836113e2565b600354149392505050565b5f67fffffffffffffffe196001600160401b03841601611ad25760405163061c6a4360e21b81526001600160401b0384166004820152602401610840565b6001600160401b0383165f9081526001602090815260408083206001600160a01b038616845290915281205465ffffffffffff169003611b1357505f610752565b6001600160401b0383165f8181526001602090815260408083206001600160a01b038716808552925280832080546001600160a01b0319169055519092917ff229baa593af28c41b1d16b748cd7688f0c83aaf92d4be41c44005defe84c16691a350600192915050565b5f611b87426120ea565b905090565b6001600160a01b0382165f90815260208190526040812060010154611bbe906001600160701b03168362069780611f84565b6001600160a01b0385165f818152602081815260409182902060010180546dffffffffffffffffffffffffffff19166001600160701b039690961695909517909455805163ffffffff8716815265ffffffffffff841694810194909452919350917fa56b76017453f399ec2327ba00375dbfb1fd070ff854341ad6191e6a2e2de19c9101610afd565b5f8282188284110282186108f5565b5f8181526002602052604090205465ffffffffffff168015801590611c815750611c7f8161180e565b155b1561076a5760405163813e945960e01b815260048101839052602401610840565b5f806004831015611cb757505f905080610d83565b306001600160a01b03861603611cda57610d3e30611cd586866112cd565b611a7e565b5f5f5f611ce78787611d65565b92509250925082158015611cff5750611cff30610bb4565b15611d12575f5f94509450505050610d83565b5f5f611d1e848b610da2565b9150915081611d37575f5f965096505050505050610d83565b611d4d8363ffffffff168263ffffffff16611c47565b63ffffffff8116159b909a5098505050505050505050565b5f80806004841015611d7e57505f915081905080611f44565b5f611d8986866112cd565b90506001600160e01b031981166310a6aa3760e31b1480611dba57506001600160e01b031981166330cae18760e01b145b80611dd557506001600160e01b0319811663294b14a960e11b145b80611df057506001600160e01b03198116635326cae760e11b145b80611e0b57506001600160e01b0319811663d22b598960e01b145b15611e205760015f5f93509350935050611f44565b6001600160e01b0319811663063fc60f60e21b1480611e4f57506001600160e01b0319811663167bd39560e01b145b80611e6a57506001600160e01b031981166308d6122d60e01b145b15611ea9575f611e7e60246004888a612721565b810190611e8b91906123b8565b90505f611e97826109fa565b600196505f95509350611f4492505050565b6001600160e01b0319811663012e238d60e51b1480611ed857506001600160e01b03198116635be958b160e11b145b15611f30575f611eec60246004888a612721565b810190611ef991906121f4565b90506001611f22826001600160401b039081165f90815260016020819052604090912001541690565b5f9450945094505050611f44565b5f611f3b3083610a39565b5f935093509350505b9250925092565b5f5f5f83516020850186885af1949350505050565b6040513d81523d5f602083013e3d602001810160405290565b6040513d5f823e3d81fd5b5f5f5f611f99866001600160701b03166111ed565b90505f611fd48563ffffffff168763ffffffff168463ffffffff1611611fbf575f611fc9565b611fc9888561285a565b63ffffffff16611c47565b90508063ffffffff16611fe5611b7d565b611fef91906127c1565b925063ffffffff8616602083901b67ffffffff0000000016604085901b6dffffffffffff000000000000000016171793505050935093915050565b5f611b876407915ecc006120ea565b5f808069ffffffffffffffffffff602086901c166001600160701b03861665ffffffffffff604088901c81169087168111156120775782828261207b565b815f5f5b9550955095505050509250925092565b69ffffffffffffffffffff602083901c166001600160701b03831665ffffffffffff604085901c81169084168111156120c6578282826120ca565b815f5f5b9250925092509250925092565b5f5f5f835160208501865af49392505050565b5f65ffffffffffff82111561211c576040516306dfcc6560e41b81526030600482015260248101839052604401610840565b5090565b6001600160a01b0381168114612134575f5ffd5b50565b5f5f83601f840112612147575f5ffd5b5081356001600160401b0381111561215d575f5ffd5b6020830191508360208260051b8501011115610e1f575f5ffd5b80356001600160401b038116811461218d575f5ffd5b919050565b5f5f5f5f606085870312156121a5575f5ffd5b84356121b081612120565b935060208501356001600160401b038111156121ca575f5ffd5b6121d687828801612137565b90945092506121e9905060408601612177565b905092959194509250565b5f60208284031215612204575f5ffd5b6108f582612177565b5f5f6040838503121561221e575f5ffd5b823561222981612120565b91506020830135801515811461223d575f5ffd5b809150509250929050565b5f5f60408385031215612259575f5ffd5b823561226481612120565b9150602083013561223d81612120565b5f5f83601f840112612284575f5ffd5b5081356001600160401b0381111561229a575f5ffd5b602083019150836020828501011115610e1f575f5ffd5b5f5f5f604084860312156122c3575f5ffd5b83356122ce81612120565b925060208401356001600160401b038111156122e8575f5ffd5b6122f486828701612274565b9497909650939450505050565b803563ffffffff8116811461218d575f5ffd5b5f5f5f60608486031215612326575f5ffd5b61232f84612177565b9250602084013561233f81612120565b915061234d60408501612301565b90509250925092565b5f5f60408385031215612367575f5ffd5b61226483612177565b5f5f60408385031215612381575f5ffd5b61238a83612177565b915061239860208401612177565b90509250929050565b5f602082840312156123b1575f5ffd5b5035919050565b5f602082840312156123c8575f5ffd5b81356108f581612120565b6001600160e01b031981168114612134575f5ffd5b5f5f604083850312156123f9575f5ffd5b823561240481612120565b9150602083013561223d816123d3565b5f5f5f60408486031215612426575f5ffd5b6122ce84612177565b5f5f60408385031215612440575f5ffd5b61244983612177565b915061239860208401612301565b5f5f5f5f6060858703121561246a575f5ffd5b843561247581612120565b9350602085013561248581612120565b925060408501356001600160401b0381111561249f575f5ffd5b6124ab87828801612274565b95989497509550505050565b5f5f602083850312156124c8575f5ffd5b82356001600160401b038111156124dd575f5ffd5b6124e985828601612137565b90969095509350505050565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b8281101561256d57603f19878603018452815180518087528060208301602089015e5f602082890101526020601f19601f8301168801019650505060208201915060208401935060018101905061251b565b50929695505050505050565b5f5f5f6060848603121561258b575f5ffd5b833561259681612120565b925060208401356125a681612120565b915060408401356125b6816123d3565b809150509250925092565b5f5f604083850312156125d2575f5ffd5b823561244981612120565b5f5f5f5f606085870312156125f0575f5ffd5b84356125fb81612120565b935060208501356001600160401b03811115612615575f5ffd5b61262187828801612274565b909450925050604085013565ffffffffffff8116811461263f575f5ffd5b939692955090935050565b634e487b7160e01b5f52603260045260245ffd5b5f6020828403121561266e575f5ffd5b81356108f5816123d3565b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b602081525f6126b4602083018486612679565b949350505050565b5f602082840312156126cc575f5ffd5b81516108f5816123d3565b6001600160a01b038581168252841660208201526060604082018190525f906127039083018486612679565b9695505050505050565b634e487b7160e01b5f52601160045260245ffd5b5f5f8585111561272f575f5ffd5b8386111561273b575f5ffd5b5050820193919092039150565b634e487b7160e01b5f52604160045260245ffd5b5f5f8335601e19843603018112612771575f5ffd5b8301803591506001600160401b0382111561278a575f5ffd5b602001915036819003821315610e1f575f5ffd5b828482375f8382015f815283518060208601835e5f910190815295945050505050565b65ffffffffffff81811683821601908111156107525761075261270d565b65ffffffffffff861681526001600160a01b038581166020830152841660408201526080606082018190525f906128199083018486612679565b979650505050505050565b80356001600160e01b03198116906004841015611a77576001600160e01b031960049490940360031b84901b1690921692915050565b63ffffffff82811682821603908111156107525761075261270d56fea2646970667358221220f20b442fa5ef89544bc9330c8ac9c2b7a5af99e381a3ceca3d062a124e75026364736f6c634300081e0033",
|
|
1173
1173
|
"linkReferences": {},
|
|
1174
|
-
"deployedLinkReferences": {}
|
|
1175
|
-
}
|
|
1174
|
+
"deployedLinkReferences": {},
|
|
1175
|
+
"immutableReferences": {},
|
|
1176
|
+
"inputSourceName": "project/contracts/dependencies/AccessManager.sol",
|
|
1177
|
+
"buildInfoId": "solc-0_8_30-95f43f1788cfd8898b8023be4a1aea1d69744865"
|
|
1178
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
// This file was autogenerated by Hardhat, do not edit it.
|
|
2
|
+
// prettier-ignore
|
|
3
|
+
// tslint:disable
|
|
4
|
+
// eslint-disable
|
|
5
|
+
// biome-ignore format: see above
|
|
6
|
+
|
|
7
|
+
export interface AccessManager$Type {
|
|
8
|
+
readonly _format: "hh3-artifact-1";
|
|
9
|
+
readonly contractName: "AccessManager";
|
|
10
|
+
readonly sourceName: "contracts/dependencies/AccessManager.sol";
|
|
11
|
+
readonly abi: [{"inputs":[{"internalType":"address","name":"initialAdmin","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"bytes32","name":"operationId","type":"bytes32"}],"name":"AccessManagerAlreadyScheduled","type":"error"},{"inputs":[],"name":"AccessManagerBadConfirmation","type":"error"},{"inputs":[{"internalType":"bytes32","name":"operationId","type":"bytes32"}],"name":"AccessManagerExpired","type":"error"},{"inputs":[{"internalType":"address","name":"initialAdmin","type":"address"}],"name":"AccessManagerInvalidInitialAdmin","type":"error"},{"inputs":[{"internalType":"uint64","name":"roleId","type":"uint64"}],"name":"AccessManagerLockedRole","type":"error"},{"inputs":[{"internalType":"bytes32","name":"operationId","type":"bytes32"}],"name":"AccessManagerNotReady","type":"error"},{"inputs":[{"internalType":"bytes32","name":"operationId","type":"bytes32"}],"name":"AccessManagerNotScheduled","type":"error"},{"inputs":[{"internalType":"address","name":"msgsender","type":"address"},{"internalType":"uint64","name":"roleId","type":"uint64"}],"name":"AccessManagerUnauthorizedAccount","type":"error"},{"inputs":[{"internalType":"address","name":"caller","type":"address"},{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes4","name":"selector","type":"bytes4"}],"name":"AccessManagerUnauthorizedCall","type":"error"},{"inputs":[{"internalType":"address","name":"msgsender","type":"address"},{"internalType":"address","name":"caller","type":"address"},{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes4","name":"selector","type":"bytes4"}],"name":"AccessManagerUnauthorizedCancel","type":"error"},{"inputs":[{"internalType":"address","name":"target","type":"address"}],"name":"AccessManagerUnauthorizedConsume","type":"error"},{"inputs":[{"internalType":"address","name":"target","type":"address"}],"name":"AddressEmptyCode","type":"error"},{"inputs":[],"name":"FailedCall","type":"error"},{"inputs":[{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"needed","type":"uint256"}],"name":"InsufficientBalance","type":"error"},{"inputs":[{"internalType":"uint8","name":"bits","type":"uint8"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"SafeCastOverflowedUintDowncast","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"operationId","type":"bytes32"},{"indexed":true,"internalType":"uint32","name":"nonce","type":"uint32"}],"name":"OperationCanceled","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"operationId","type":"bytes32"},{"indexed":true,"internalType":"uint32","name":"nonce","type":"uint32"}],"name":"OperationExecuted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"operationId","type":"bytes32"},{"indexed":true,"internalType":"uint32","name":"nonce","type":"uint32"},{"indexed":false,"internalType":"uint48","name":"schedule","type":"uint48"},{"indexed":false,"internalType":"address","name":"caller","type":"address"},{"indexed":false,"internalType":"address","name":"target","type":"address"},{"indexed":false,"internalType":"bytes","name":"data","type":"bytes"}],"name":"OperationScheduled","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint64","name":"roleId","type":"uint64"},{"indexed":true,"internalType":"uint64","name":"admin","type":"uint64"}],"name":"RoleAdminChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint64","name":"roleId","type":"uint64"},{"indexed":false,"internalType":"uint32","name":"delay","type":"uint32"},{"indexed":false,"internalType":"uint48","name":"since","type":"uint48"}],"name":"RoleGrantDelayChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint64","name":"roleId","type":"uint64"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint32","name":"delay","type":"uint32"},{"indexed":false,"internalType":"uint48","name":"since","type":"uint48"},{"indexed":false,"internalType":"bool","name":"newMember","type":"bool"}],"name":"RoleGranted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint64","name":"roleId","type":"uint64"},{"indexed":true,"internalType":"uint64","name":"guardian","type":"uint64"}],"name":"RoleGuardianChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint64","name":"roleId","type":"uint64"},{"indexed":false,"internalType":"string","name":"label","type":"string"}],"name":"RoleLabel","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint64","name":"roleId","type":"uint64"},{"indexed":true,"internalType":"address","name":"account","type":"address"}],"name":"RoleRevoked","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"target","type":"address"},{"indexed":false,"internalType":"uint32","name":"delay","type":"uint32"},{"indexed":false,"internalType":"uint48","name":"since","type":"uint48"}],"name":"TargetAdminDelayUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"target","type":"address"},{"indexed":false,"internalType":"bool","name":"closed","type":"bool"}],"name":"TargetClosed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"target","type":"address"},{"indexed":false,"internalType":"bytes4","name":"selector","type":"bytes4"},{"indexed":true,"internalType":"uint64","name":"roleId","type":"uint64"}],"name":"TargetFunctionRoleUpdated","type":"event"},{"inputs":[],"name":"ADMIN_ROLE","outputs":[{"internalType":"uint64","name":"","type":"uint64"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"PUBLIC_ROLE","outputs":[{"internalType":"uint64","name":"","type":"uint64"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"caller","type":"address"},{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes4","name":"selector","type":"bytes4"}],"name":"canCall","outputs":[{"internalType":"bool","name":"immediate","type":"bool"},{"internalType":"uint32","name":"delay","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"caller","type":"address"},{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"cancel","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"caller","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"consumeScheduledOp","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"execute","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"expiration","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint64","name":"roleId","type":"uint64"},{"internalType":"address","name":"account","type":"address"}],"name":"getAccess","outputs":[{"internalType":"uint48","name":"since","type":"uint48"},{"internalType":"uint32","name":"currentDelay","type":"uint32"},{"internalType":"uint32","name":"pendingDelay","type":"uint32"},{"internalType":"uint48","name":"effect","type":"uint48"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"id","type":"bytes32"}],"name":"getNonce","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint64","name":"roleId","type":"uint64"}],"name":"getRoleAdmin","outputs":[{"internalType":"uint64","name":"","type":"uint64"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint64","name":"roleId","type":"uint64"}],"name":"getRoleGrantDelay","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint64","name":"roleId","type":"uint64"}],"name":"getRoleGuardian","outputs":[{"internalType":"uint64","name":"","type":"uint64"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"id","type":"bytes32"}],"name":"getSchedule","outputs":[{"internalType":"uint48","name":"","type":"uint48"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"target","type":"address"}],"name":"getTargetAdminDelay","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes4","name":"selector","type":"bytes4"}],"name":"getTargetFunctionRole","outputs":[{"internalType":"uint64","name":"","type":"uint64"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint64","name":"roleId","type":"uint64"},{"internalType":"address","name":"account","type":"address"},{"internalType":"uint32","name":"executionDelay","type":"uint32"}],"name":"grantRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint64","name":"roleId","type":"uint64"},{"internalType":"address","name":"account","type":"address"}],"name":"hasRole","outputs":[{"internalType":"bool","name":"isMember","type":"bool"},{"internalType":"uint32","name":"executionDelay","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"caller","type":"address"},{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"hashOperation","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"target","type":"address"}],"name":"isTargetClosed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint64","name":"roleId","type":"uint64"},{"internalType":"string","name":"label","type":"string"}],"name":"labelRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"minSetback","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes[]","name":"data","type":"bytes[]"}],"name":"multicall","outputs":[{"internalType":"bytes[]","name":"results","type":"bytes[]"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint64","name":"roleId","type":"uint64"},{"internalType":"address","name":"callerConfirmation","type":"address"}],"name":"renounceRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint64","name":"roleId","type":"uint64"},{"internalType":"address","name":"account","type":"address"}],"name":"revokeRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint48","name":"when","type":"uint48"}],"name":"schedule","outputs":[{"internalType":"bytes32","name":"operationId","type":"bytes32"},{"internalType":"uint32","name":"nonce","type":"uint32"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint64","name":"roleId","type":"uint64"},{"internalType":"uint32","name":"newDelay","type":"uint32"}],"name":"setGrantDelay","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint64","name":"roleId","type":"uint64"},{"internalType":"uint64","name":"admin","type":"uint64"}],"name":"setRoleAdmin","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint64","name":"roleId","type":"uint64"},{"internalType":"uint64","name":"guardian","type":"uint64"}],"name":"setRoleGuardian","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"uint32","name":"newDelay","type":"uint32"}],"name":"setTargetAdminDelay","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bool","name":"closed","type":"bool"}],"name":"setTargetClosed","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes4[]","name":"selectors","type":"bytes4[]"},{"internalType":"uint64","name":"roleId","type":"uint64"}],"name":"setTargetFunctionRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"address","name":"newAuthority","type":"address"}],"name":"updateAuthority","outputs":[],"stateMutability":"nonpayable","type":"function"}];
|
|
12
|
+
readonly bytecode: "0x608060405234801561000f575f5ffd5b50604051612d75380380612d7583398101604081905261002e91610441565b6001600160a01b03811661005c57604051630409d6d160e11b81525f60048201526024015b60405180910390fd5b6100685f82818061006f565b50506104bc565b5f6002600160401b03196001600160401b038616016100ac5760405163061c6a4360e21b81526001600160401b0386166004820152602401610053565b6001600160401b0385165f9081526001602090815260408083206001600160a01b038816845290915281205465ffffffffffff16159081156101a15763ffffffff85166100f76102b5565b6101019190610482565b905060405180604001604052808265ffffffffffff1681526020016101318663ffffffff166102c460201b60201c565b6001600160701b039081169091526001600160401b0389165f9081526001602090815260408083206001600160a01b038c16845282529091208351815494909201519092166601000000000000026001600160a01b031990931665ffffffffffff90911617919091179055610247565b6001600160401b0387165f9081526001602090815260408083206001600160a01b038a1684529091528120546101ed9166010000000000009091046001600160701b03169086906102cd565b6001600160401b0389165f9081526001602090815260408083206001600160a01b038c168452909152902080546001600160701b03909316660100000000000002600160301b600160a01b03199093169290921790915590505b6040805163ffffffff8616815265ffffffffffff831660208201528315158183015290516001600160a01b038816916001600160401b038a16917ff98448b987f1428e0e230e1f3c6e2ce15b5693eaf31827fbd0b1ec4b424ae7cf9181900360600190a35095945050505050565b5f6102bf42610373565b905090565b63ffffffff1690565b5f80806102e26001600160701b0387166103a9565b90505f61031d8563ffffffff168763ffffffff168463ffffffff1611610308575f610312565b61031288856104a0565b63ffffffff166103c7565b905063ffffffff811661032e6102b5565b6103389190610482565b925063ffffffff8616602083901b67ffffffff0000000016604085901b6dffffffffffff000000000000000016171793505050935093915050565b5f65ffffffffffff8211156103a5576040516306dfcc6560e41b81526030600482015260248101839052604401610053565b5090565b5f806103bd6001600160701b0384166103d7565b5090949350505050565b8082118183180281185b92915050565b5f80806103eb846103e66102b5565b6103f8565b9250925092509193909250565b6001600160501b03602083901c166001600160701b03831665ffffffffffff604085901c811690841681111561043057828282610434565b815f5f5b9250925092509250925092565b5f60208284031215610451575f5ffd5b81516001600160a01b0381168114610467575f5ffd5b9392505050565b634e487b7160e01b5f52601160045260245ffd5b65ffffffffffff81811683821601908111156103d1576103d161046e565b63ffffffff82811682821603908111156103d1576103d161046e565b6128ac806104c95f395ff3fe6080604052600436106101db575f3560e01c80636d5115bd116100fd578063b700961311610092578063d22b598911610062578063d22b598914610636578063d6bb62c614610655578063f801a69814610674578063fe0776f5146106ad575f5ffd5b8063b7009613146105a8578063b7d2b162146105e3578063cc1b6c8114610602578063d1f856ee14610617575f5ffd5b8063a166aa89116100cd578063a166aa8914610501578063a64d95ce14610530578063abd9bd2a1461054f578063ac9650d81461057c575f5ffd5b80636d5115bd1461049157806375b238fc146104b0578063853551b8146104c357806394c7d7ee146104e2575f5ffd5b806330cae187116101735780634665096d116101435780634665096d146104035780634c1da1e2146104185780635296295214610437578063530dd45614610456575f5ffd5b806330cae1871461035c5780633adc277a1461037b5780633ca7c02a146103b15780634136a33c146103cb575f5ffd5b806318ff183c116101ae57806318ff183c146102b25780631cff79cd146102d157806325c471a0146102e45780633078f11414610303575f5ffd5b806308d6122d146101df5780630b0a93ba1461020057806312be87271461025f578063167bd39514610293575b5f5ffd5b3480156101ea575f5ffd5b506101fe6101f9366004612192565b6106cc565b005b34801561020b575f5ffd5b5061024261021a3660046121f4565b6001600160401b039081165f9081526001602081905260409091200154600160401b90041690565b6040516001600160401b0390911681526020015b60405180910390f35b34801561026a575f5ffd5b5061027e6102793660046121f4565b61071e565b60405163ffffffff9091168152602001610256565b34801561029e575f5ffd5b506101fe6102ad36600461220d565b610758565b3480156102bd575f5ffd5b506101fe6102cc366004612248565b61076e565b61027e6102df3660046122b1565b6107d0565b3480156102ef575f5ffd5b506101fe6102fe366004612314565b6108fc565b34801561030e575f5ffd5b5061032261031d366004612356565b61091e565b604051610256949392919065ffffffffffff948516815263ffffffff93841660208201529190921660408201529116606082015260800190565b348015610367575f5ffd5b506101fe610376366004612370565b6109b7565b348015610386575f5ffd5b5061039a6103953660046123a1565b6109c9565b60405165ffffffffffff9091168152602001610256565b3480156103bc575f5ffd5b506102426001600160401b0381565b3480156103d6575f5ffd5b5061027e6103e53660046123a1565b5f90815260026020526040902054600160301b900463ffffffff1690565b34801561040e575f5ffd5b5062093a8061027e565b348015610423575f5ffd5b5061027e6104323660046123b8565b6109fa565b348015610442575f5ffd5b506101fe610451366004612370565b610a27565b348015610461575f5ffd5b506102426104703660046121f4565b6001600160401b039081165f90815260016020819052604090912001541690565b34801561049c575f5ffd5b506102426104ab3660046123e8565b610a39565b3480156104bb575f5ffd5b506102425f81565b3480156104ce575f5ffd5b506101fe6104dd366004612414565b610a73565b3480156104ed575f5ffd5b506101fe6104fc3660046122b1565b610b0a565b34801561050c575f5ffd5b5061052061051b3660046123b8565b610bb4565b6040519015158152602001610256565b34801561053b575f5ffd5b506101fe61054a36600461242f565b610bdb565b34801561055a575f5ffd5b5061056e610569366004612457565b610bed565b604051908152602001610256565b348015610587575f5ffd5b5061059b6105963660046124b7565b610c25565b60405161025691906124f5565b3480156105b3575f5ffd5b506105c76105c2366004612579565b610d0a565b60408051921515835263ffffffff909116602083015201610256565b3480156105ee575f5ffd5b506101fe6105fd366004612356565b610d8b565b34801561060d575f5ffd5b506206978061027e565b348015610622575f5ffd5b506105c7610631366004612356565b610da2565b348015610641575f5ffd5b506101fe6106503660046125c1565b610e26565b348015610660575f5ffd5b5061027e61066f366004612457565b610e38565b34801561067f575f5ffd5b5061069361068e3660046125dd565b610f8b565b6040805192835263ffffffff909116602083015201610256565b3480156106b8575f5ffd5b506101fe6106c7366004612356565b6110cc565b6106d46110f5565b5f5b828110156107175761070f858585848181106106f4576106f461264a565b9050602002016020810190610709919061265e565b8461116c565b6001016106d6565b5050505050565b6001600160401b0381165f9081526001602081905260408220015461075290600160801b90046001600160701b03166111ed565b92915050565b6107606110f5565b61076a828261120b565b5050565b6107766110f5565b604051637a9e5e4b60e01b81526001600160a01b038281166004830152831690637a9e5e4b906024015f604051808303815f87803b1580156107b6575f5ffd5b505af11580156107c8573d5f5f3e3d5ffd5b505050505050565b5f3381806107e08388888861127c565b91509150811580156107f6575063ffffffff8116155b1561084957828761080788886112cd565b6040516381c6f24b60e01b81526001600160a01b0393841660048201529290911660248301526001600160e01b03191660448201526064015b60405180910390fd5b5f61085684898989610bed565b90505f63ffffffff831615158061087c5750610871826109c9565b65ffffffffffff1615155b1561088d5761088a826112e4565b90505b6003546108a38a61089e8b8b6112cd565b6113e2565b6003819055506108ea8a8a8a8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250349250611424915050565b506003559450505050505b9392505050565b6109046110f5565b61091883836109128661071e565b846114f0565b50505050565b6001600160401b0382165f9081526001602090815260408083206001600160a01b03851684529091528120805465ffffffffffff1691908190819060ff825c161561098a57805461097e90600160301b90046001600160701b0316611736565b919550935091506109ad565b80546109a590600160301b90046001600160701b0316611757565b919550935091505b5092959194509250565b6109bf6110f5565b61076a828261176b565b5f8181526002602052604081205465ffffffffffff166109e88161180e565b6109f257806108f5565b5f9392505050565b6001600160a01b0381165f90815260208190526040812060010154610752906001600160701b03166111ed565b610a2f6110f5565b61076a828261183c565b6001600160a01b0382165f908152602081815260408083206001600160e01b0319851684529091529020546001600160401b031692915050565b610a7b6110f5565b6001600160401b0383161580610a9957506001600160401b03838116145b15610ac25760405163061c6a4360e21b81526001600160401b0384166004820152602401610840565b826001600160401b03167f1256f5b5ecb89caec12db449738f2fbcd1ba5806cf38f35413f4e5c15bf6a4508383604051610afd9291906126a1565b60405180910390a2505050565b60408051638fb3603760e01b80825291513392918391638fb36037916004808201926020929091908290030181865afa158015610b49573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b6d91906126bc565b6001600160e01b03191614610ba057604051630641fee960e31b81526001600160a01b0382166004820152602401610840565b610717610baf85838686610bed565b6112e4565b6001600160a01b03165f90815260208190526040902060010154600160701b900460ff1690565b610be36110f5565b61076a82826118ed565b5f84848484604051602001610c0594939291906126d7565b604051602081830303815290604052805190602001209050949350505050565b604080515f815260208101909152606090826001600160401b03811115610c4e57610c4e612748565b604051908082528060200260200182016040528015610c8157816020015b6060815260200190600190039081610c6c5790505b5091505f5b83811015610d0257610cdd30868684818110610ca457610ca461264a565b9050602002810190610cb6919061275c565b85604051602001610cc99392919061279e565b6040516020818303038152906040526119fc565b838281518110610cef57610cef61264a565b6020908102919091010152600101610c86565b505092915050565b5f5f610d1584610bb4565b15610d2457505f905080610d83565b306001600160a01b03861603610d4857610d3e8484611a7e565b5f91509150610d83565b5f610d538585610a39565b90505f5f610d618389610da2565b9150915081610d71575f5f610d7b565b63ffffffff811615815b945094505050505b935093915050565b610d936110f5565b610d9d8282611a94565b505050565b5f8067fffffffffffffffe196001600160401b03851601610dc85750600190505f610e1f565b5f5f610dd4868661091e565b5050915091508165ffffffffffff165f14158015610e14575060ff5f5c1680610e145750610e00611b7d565b65ffffffffffff168265ffffffffffff1611155b93509150610e1f9050565b9250929050565b610e2e6110f5565b61076a8282611b8c565b5f3381610e4585856112cd565b90505f610e5488888888610bed565b5f8181526002602052604081205491925065ffffffffffff9091169003610e915760405163060a299b60e41b815260048101829052602401610840565b826001600160a01b0316886001600160a01b031614610f2a575f610eb55f85610da2565b5090505f610ecf610ec961021a8b87610a39565b86610da2565b50905081158015610ede575080155b15610f2757604051630ff89d4760e21b81526001600160a01b038087166004830152808c1660248301528a1660448201526001600160e01b031985166064820152608401610840565b50505b5f81815260026020526040808220805465ffffffffffff1916908190559051600160301b90910463ffffffff1691829184917fbd9ac67a6e2f6463b80927326310338bcbb4bdb7936ce1365ea3e01067e7b9f791a398975050505050505050565b5f803381610f9b8289898961127c565b9150505f8163ffffffff16610fae611b7d565b610fb891906127c1565b905063ffffffff82161580610fee57505f8665ffffffffffff16118015610fee57508065ffffffffffff168665ffffffffffff16105b15610fff5782896108078a8a6112cd565b6110198665ffffffffffff168265ffffffffffff16611c47565b9550611027838a8a8a610bed565b945061103285611c56565b5f8581526002602052604090819020805465ffffffffffff891669ffffffffffffffffffff19821617600160301b9182900463ffffffff90811660010190811692830291909117909255915190955086907f82a2da5dee54ea8021c6545b4444620291e07ee83be6dd57edb175062715f3b4906110b8908a9088908f908f908f906127df565b60405180910390a350505094509492505050565b6001600160a01b0381163314610d9357604051635f159e6360e01b815260040160405180910390fd5b335f80611103838236611ca2565b9150915081610d9d578063ffffffff165f0361115d575f6111248136611d65565b5060405163f07e038f60e01b81526001600160a01b03871660048201526001600160401b03821660248201529092506044019050610840565b610918610baf84305f36610bed565b6001600160a01b0383165f818152602081815260408083206001600160e01b0319871680855290835292819020805467ffffffffffffffff19166001600160401b038716908117909155905192835292917f9ea6790c7dadfd01c9f8b9762b3682607af2c7e79e05a9f9fdf5580dde949151910160405180910390a3505050565b5f5f611201836001600160701b0316611757565b5090949350505050565b6001600160a01b0382165f81815260208190526040908190206001018054841515600160701b0260ff60701b19909116179055517f90d4e7bb7e5d933792b3562e1741306f8be94837e1348dacef9b6f1df56eb1389061127090841515815260200190565b60405180910390a25050565b5f80306001600160a01b038616036112a257611299868585611ca2565b915091506112c4565b600483106112be576112b986866105c287876112cd565b611299565b505f9050805b94509492505050565b5f6112db6004828486612721565b6108f591612824565b5f8181526002602052604081205465ffffffffffff811690600160301b900463ffffffff1681830361132c5760405163060a299b60e41b815260048101859052602401610840565b611334611b7d565b65ffffffffffff168265ffffffffffff16111561136757604051630c65b5bd60e11b815260048101859052602401610840565b6113708261180e565b1561139157604051631e2975b960e21b815260048101859052602401610840565b5f84815260026020526040808220805465ffffffffffff191690555163ffffffff83169186917f76a2a46953689d4861a5d3f6ed883ad7e6af674a21f8e162707159fc9dde614d9190a39392505050565b604080516001600160a01b03939093166020808501919091526001600160e01b0319929092168382015280518084038201815260609093019052815191012090565b6060814710156114505760405163cf47918160e01b815247600482015260248101839052604401610840565b5f61145c858486611f4b565b905080801561147d57505f3d118061147d57505f856001600160a01b03163b115b156114925761148a611f60565b9150506108f5565b80156114bc57604051639996b31560e01b81526001600160a01b0386166004820152602401610840565b3d156114cf576114ca611f79565b6114e8565b60405163d6bda27560e01b815260040160405180910390fd5b509392505050565b5f67fffffffffffffffe196001600160401b0386160161152e5760405163061c6a4360e21b81526001600160401b0386166004820152602401610840565b6001600160401b0385165f9081526001602090815260408083206001600160a01b038816845290915281205465ffffffffffff161590811561161e578463ffffffff16611579611b7d565b61158391906127c1565b905060405180604001604052808265ffffffffffff1681526020016115b18663ffffffff1663ffffffff1690565b6001600160701b039081169091526001600160401b0389165f9081526001602090815260408083206001600160a01b038c1684528252909120835181549490920151909216600160301b026001600160a01b031990931665ffffffffffff909116179190911790556116c8565b6001600160401b0387165f9081526001602090815260408083206001600160a01b038a16845290915281205461166791600160301b9091046001600160701b0316908690611f84565b6001600160401b0389165f9081526001602090815260408083206001600160a01b038c168452909152902080546001600160701b03909316600160301b0273ffffffffffffffffffffffffffff000000000000199093169290921790915590505b6040805163ffffffff8616815265ffffffffffff831660208201528315158183015290516001600160a01b038816916001600160401b038a16917ff98448b987f1428e0e230e1f3c6e2ce15b5693eaf31827fbd0b1ec4b424ae7cf9181900360600190a35095945050505050565b5f5f5f61174a8461174561202a565b612039565b9250925092509193909250565b5f5f5f61174a84611766611b7d565b61208b565b6001600160401b038216158061178957506001600160401b03828116145b156117b25760405163061c6a4360e21b81526001600160401b0383166004820152602401610840565b6001600160401b038281165f818152600160208190526040808320909101805467ffffffffffffffff19169486169485179055517f1fd6dd7631312dfac2205b52913f99de03b4d7e381d5d27d3dbfe0713e6e63409190a35050565b5f611817611b7d565b65ffffffffffff1661182c62093a80846127c1565b65ffffffffffff16111592915050565b6001600160401b038216158061185a57506001600160401b03828116145b156118835760405163061c6a4360e21b81526001600160401b0383166004820152602401610840565b6001600160401b038281165f81815260016020819052604080832090910180546fffffffffffffffff00000000000000001916600160401b958716958602179055517f7a8059630b897b5de4c08ade69f8b90c3ead1f8596d62d10b6c4d14a0afb4ae29190a35050565b67fffffffffffffffe196001600160401b0383160161192a5760405163061c6a4360e21b81526001600160401b0383166004820152602401610840565b6001600160401b0382165f9081526001602081905260408220015461196390600160801b90046001600160701b03168362069780611f84565b6001600160401b0385165f818152600160208190526040918290200180546001600160701b03909516600160801b026dffffffffffffffffffffffffffff60801b199095169490941790935591519092507ffeb69018ee8b8fd50ea86348f1267d07673379f72cffdeccec63853ee8ce8b4890610afd908590859063ffffffff92909216825265ffffffffffff16602082015260400190565b60605f611a0984846120d7565b9050808015611a2a57505f3d1180611a2a57505f846001600160a01b03163b115b15611a3f57611a37611f60565b915050610752565b8015611a6957604051639996b31560e01b81526001600160a01b0385166004820152602401610840565b3d156114cf57611a77611f79565b5092915050565b5f611a8983836113e2565b600354149392505050565b5f67fffffffffffffffe196001600160401b03841601611ad25760405163061c6a4360e21b81526001600160401b0384166004820152602401610840565b6001600160401b0383165f9081526001602090815260408083206001600160a01b038616845290915281205465ffffffffffff169003611b1357505f610752565b6001600160401b0383165f8181526001602090815260408083206001600160a01b038716808552925280832080546001600160a01b0319169055519092917ff229baa593af28c41b1d16b748cd7688f0c83aaf92d4be41c44005defe84c16691a350600192915050565b5f611b87426120ea565b905090565b6001600160a01b0382165f90815260208190526040812060010154611bbe906001600160701b03168362069780611f84565b6001600160a01b0385165f818152602081815260409182902060010180546dffffffffffffffffffffffffffff19166001600160701b039690961695909517909455805163ffffffff8716815265ffffffffffff841694810194909452919350917fa56b76017453f399ec2327ba00375dbfb1fd070ff854341ad6191e6a2e2de19c9101610afd565b5f8282188284110282186108f5565b5f8181526002602052604090205465ffffffffffff168015801590611c815750611c7f8161180e565b155b1561076a5760405163813e945960e01b815260048101839052602401610840565b5f806004831015611cb757505f905080610d83565b306001600160a01b03861603611cda57610d3e30611cd586866112cd565b611a7e565b5f5f5f611ce78787611d65565b92509250925082158015611cff5750611cff30610bb4565b15611d12575f5f94509450505050610d83565b5f5f611d1e848b610da2565b9150915081611d37575f5f965096505050505050610d83565b611d4d8363ffffffff168263ffffffff16611c47565b63ffffffff8116159b909a5098505050505050505050565b5f80806004841015611d7e57505f915081905080611f44565b5f611d8986866112cd565b90506001600160e01b031981166310a6aa3760e31b1480611dba57506001600160e01b031981166330cae18760e01b145b80611dd557506001600160e01b0319811663294b14a960e11b145b80611df057506001600160e01b03198116635326cae760e11b145b80611e0b57506001600160e01b0319811663d22b598960e01b145b15611e205760015f5f93509350935050611f44565b6001600160e01b0319811663063fc60f60e21b1480611e4f57506001600160e01b0319811663167bd39560e01b145b80611e6a57506001600160e01b031981166308d6122d60e01b145b15611ea9575f611e7e60246004888a612721565b810190611e8b91906123b8565b90505f611e97826109fa565b600196505f95509350611f4492505050565b6001600160e01b0319811663012e238d60e51b1480611ed857506001600160e01b03198116635be958b160e11b145b15611f30575f611eec60246004888a612721565b810190611ef991906121f4565b90506001611f22826001600160401b039081165f90815260016020819052604090912001541690565b5f9450945094505050611f44565b5f611f3b3083610a39565b5f935093509350505b9250925092565b5f5f5f83516020850186885af1949350505050565b6040513d81523d5f602083013e3d602001810160405290565b6040513d5f823e3d81fd5b5f5f5f611f99866001600160701b03166111ed565b90505f611fd48563ffffffff168763ffffffff168463ffffffff1611611fbf575f611fc9565b611fc9888561285a565b63ffffffff16611c47565b90508063ffffffff16611fe5611b7d565b611fef91906127c1565b925063ffffffff8616602083901b67ffffffff0000000016604085901b6dffffffffffff000000000000000016171793505050935093915050565b5f611b876407915ecc006120ea565b5f808069ffffffffffffffffffff602086901c166001600160701b03861665ffffffffffff604088901c81169087168111156120775782828261207b565b815f5f5b9550955095505050509250925092565b69ffffffffffffffffffff602083901c166001600160701b03831665ffffffffffff604085901c81169084168111156120c6578282826120ca565b815f5f5b9250925092509250925092565b5f5f5f835160208501865af49392505050565b5f65ffffffffffff82111561211c576040516306dfcc6560e41b81526030600482015260248101839052604401610840565b5090565b6001600160a01b0381168114612134575f5ffd5b50565b5f5f83601f840112612147575f5ffd5b5081356001600160401b0381111561215d575f5ffd5b6020830191508360208260051b8501011115610e1f575f5ffd5b80356001600160401b038116811461218d575f5ffd5b919050565b5f5f5f5f606085870312156121a5575f5ffd5b84356121b081612120565b935060208501356001600160401b038111156121ca575f5ffd5b6121d687828801612137565b90945092506121e9905060408601612177565b905092959194509250565b5f60208284031215612204575f5ffd5b6108f582612177565b5f5f6040838503121561221e575f5ffd5b823561222981612120565b91506020830135801515811461223d575f5ffd5b809150509250929050565b5f5f60408385031215612259575f5ffd5b823561226481612120565b9150602083013561223d81612120565b5f5f83601f840112612284575f5ffd5b5081356001600160401b0381111561229a575f5ffd5b602083019150836020828501011115610e1f575f5ffd5b5f5f5f604084860312156122c3575f5ffd5b83356122ce81612120565b925060208401356001600160401b038111156122e8575f5ffd5b6122f486828701612274565b9497909650939450505050565b803563ffffffff8116811461218d575f5ffd5b5f5f5f60608486031215612326575f5ffd5b61232f84612177565b9250602084013561233f81612120565b915061234d60408501612301565b90509250925092565b5f5f60408385031215612367575f5ffd5b61226483612177565b5f5f60408385031215612381575f5ffd5b61238a83612177565b915061239860208401612177565b90509250929050565b5f602082840312156123b1575f5ffd5b5035919050565b5f602082840312156123c8575f5ffd5b81356108f581612120565b6001600160e01b031981168114612134575f5ffd5b5f5f604083850312156123f9575f5ffd5b823561240481612120565b9150602083013561223d816123d3565b5f5f5f60408486031215612426575f5ffd5b6122ce84612177565b5f5f60408385031215612440575f5ffd5b61244983612177565b915061239860208401612301565b5f5f5f5f6060858703121561246a575f5ffd5b843561247581612120565b9350602085013561248581612120565b925060408501356001600160401b0381111561249f575f5ffd5b6124ab87828801612274565b95989497509550505050565b5f5f602083850312156124c8575f5ffd5b82356001600160401b038111156124dd575f5ffd5b6124e985828601612137565b90969095509350505050565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b8281101561256d57603f19878603018452815180518087528060208301602089015e5f602082890101526020601f19601f8301168801019650505060208201915060208401935060018101905061251b565b50929695505050505050565b5f5f5f6060848603121561258b575f5ffd5b833561259681612120565b925060208401356125a681612120565b915060408401356125b6816123d3565b809150509250925092565b5f5f604083850312156125d2575f5ffd5b823561244981612120565b5f5f5f5f606085870312156125f0575f5ffd5b84356125fb81612120565b935060208501356001600160401b03811115612615575f5ffd5b61262187828801612274565b909450925050604085013565ffffffffffff8116811461263f575f5ffd5b939692955090935050565b634e487b7160e01b5f52603260045260245ffd5b5f6020828403121561266e575f5ffd5b81356108f5816123d3565b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b602081525f6126b4602083018486612679565b949350505050565b5f602082840312156126cc575f5ffd5b81516108f5816123d3565b6001600160a01b038581168252841660208201526060604082018190525f906127039083018486612679565b9695505050505050565b634e487b7160e01b5f52601160045260245ffd5b5f5f8585111561272f575f5ffd5b8386111561273b575f5ffd5b5050820193919092039150565b634e487b7160e01b5f52604160045260245ffd5b5f5f8335601e19843603018112612771575f5ffd5b8301803591506001600160401b0382111561278a575f5ffd5b602001915036819003821315610e1f575f5ffd5b828482375f8382015f815283518060208601835e5f910190815295945050505050565b65ffffffffffff81811683821601908111156107525761075261270d565b65ffffffffffff861681526001600160a01b038581166020830152841660408201526080606082018190525f906128199083018486612679565b979650505050505050565b80356001600160e01b03198116906004841015611a77576001600160e01b031960049490940360031b84901b1690921692915050565b63ffffffff82811682821603908111156107525761075261270d56fea2646970667358221220f20b442fa5ef89544bc9330c8ac9c2b7a5af99e381a3ceca3d062a124e75026364736f6c634300081e0033";
|
|
13
|
+
readonly deployedBytecode: "0x6080604052600436106101db575f3560e01c80636d5115bd116100fd578063b700961311610092578063d22b598911610062578063d22b598914610636578063d6bb62c614610655578063f801a69814610674578063fe0776f5146106ad575f5ffd5b8063b7009613146105a8578063b7d2b162146105e3578063cc1b6c8114610602578063d1f856ee14610617575f5ffd5b8063a166aa89116100cd578063a166aa8914610501578063a64d95ce14610530578063abd9bd2a1461054f578063ac9650d81461057c575f5ffd5b80636d5115bd1461049157806375b238fc146104b0578063853551b8146104c357806394c7d7ee146104e2575f5ffd5b806330cae187116101735780634665096d116101435780634665096d146104035780634c1da1e2146104185780635296295214610437578063530dd45614610456575f5ffd5b806330cae1871461035c5780633adc277a1461037b5780633ca7c02a146103b15780634136a33c146103cb575f5ffd5b806318ff183c116101ae57806318ff183c146102b25780631cff79cd146102d157806325c471a0146102e45780633078f11414610303575f5ffd5b806308d6122d146101df5780630b0a93ba1461020057806312be87271461025f578063167bd39514610293575b5f5ffd5b3480156101ea575f5ffd5b506101fe6101f9366004612192565b6106cc565b005b34801561020b575f5ffd5b5061024261021a3660046121f4565b6001600160401b039081165f9081526001602081905260409091200154600160401b90041690565b6040516001600160401b0390911681526020015b60405180910390f35b34801561026a575f5ffd5b5061027e6102793660046121f4565b61071e565b60405163ffffffff9091168152602001610256565b34801561029e575f5ffd5b506101fe6102ad36600461220d565b610758565b3480156102bd575f5ffd5b506101fe6102cc366004612248565b61076e565b61027e6102df3660046122b1565b6107d0565b3480156102ef575f5ffd5b506101fe6102fe366004612314565b6108fc565b34801561030e575f5ffd5b5061032261031d366004612356565b61091e565b604051610256949392919065ffffffffffff948516815263ffffffff93841660208201529190921660408201529116606082015260800190565b348015610367575f5ffd5b506101fe610376366004612370565b6109b7565b348015610386575f5ffd5b5061039a6103953660046123a1565b6109c9565b60405165ffffffffffff9091168152602001610256565b3480156103bc575f5ffd5b506102426001600160401b0381565b3480156103d6575f5ffd5b5061027e6103e53660046123a1565b5f90815260026020526040902054600160301b900463ffffffff1690565b34801561040e575f5ffd5b5062093a8061027e565b348015610423575f5ffd5b5061027e6104323660046123b8565b6109fa565b348015610442575f5ffd5b506101fe610451366004612370565b610a27565b348015610461575f5ffd5b506102426104703660046121f4565b6001600160401b039081165f90815260016020819052604090912001541690565b34801561049c575f5ffd5b506102426104ab3660046123e8565b610a39565b3480156104bb575f5ffd5b506102425f81565b3480156104ce575f5ffd5b506101fe6104dd366004612414565b610a73565b3480156104ed575f5ffd5b506101fe6104fc3660046122b1565b610b0a565b34801561050c575f5ffd5b5061052061051b3660046123b8565b610bb4565b6040519015158152602001610256565b34801561053b575f5ffd5b506101fe61054a36600461242f565b610bdb565b34801561055a575f5ffd5b5061056e610569366004612457565b610bed565b604051908152602001610256565b348015610587575f5ffd5b5061059b6105963660046124b7565b610c25565b60405161025691906124f5565b3480156105b3575f5ffd5b506105c76105c2366004612579565b610d0a565b60408051921515835263ffffffff909116602083015201610256565b3480156105ee575f5ffd5b506101fe6105fd366004612356565b610d8b565b34801561060d575f5ffd5b506206978061027e565b348015610622575f5ffd5b506105c7610631366004612356565b610da2565b348015610641575f5ffd5b506101fe6106503660046125c1565b610e26565b348015610660575f5ffd5b5061027e61066f366004612457565b610e38565b34801561067f575f5ffd5b5061069361068e3660046125dd565b610f8b565b6040805192835263ffffffff909116602083015201610256565b3480156106b8575f5ffd5b506101fe6106c7366004612356565b6110cc565b6106d46110f5565b5f5b828110156107175761070f858585848181106106f4576106f461264a565b9050602002016020810190610709919061265e565b8461116c565b6001016106d6565b5050505050565b6001600160401b0381165f9081526001602081905260408220015461075290600160801b90046001600160701b03166111ed565b92915050565b6107606110f5565b61076a828261120b565b5050565b6107766110f5565b604051637a9e5e4b60e01b81526001600160a01b038281166004830152831690637a9e5e4b906024015f604051808303815f87803b1580156107b6575f5ffd5b505af11580156107c8573d5f5f3e3d5ffd5b505050505050565b5f3381806107e08388888861127c565b91509150811580156107f6575063ffffffff8116155b1561084957828761080788886112cd565b6040516381c6f24b60e01b81526001600160a01b0393841660048201529290911660248301526001600160e01b03191660448201526064015b60405180910390fd5b5f61085684898989610bed565b90505f63ffffffff831615158061087c5750610871826109c9565b65ffffffffffff1615155b1561088d5761088a826112e4565b90505b6003546108a38a61089e8b8b6112cd565b6113e2565b6003819055506108ea8a8a8a8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250349250611424915050565b506003559450505050505b9392505050565b6109046110f5565b61091883836109128661071e565b846114f0565b50505050565b6001600160401b0382165f9081526001602090815260408083206001600160a01b03851684529091528120805465ffffffffffff1691908190819060ff825c161561098a57805461097e90600160301b90046001600160701b0316611736565b919550935091506109ad565b80546109a590600160301b90046001600160701b0316611757565b919550935091505b5092959194509250565b6109bf6110f5565b61076a828261176b565b5f8181526002602052604081205465ffffffffffff166109e88161180e565b6109f257806108f5565b5f9392505050565b6001600160a01b0381165f90815260208190526040812060010154610752906001600160701b03166111ed565b610a2f6110f5565b61076a828261183c565b6001600160a01b0382165f908152602081815260408083206001600160e01b0319851684529091529020546001600160401b031692915050565b610a7b6110f5565b6001600160401b0383161580610a9957506001600160401b03838116145b15610ac25760405163061c6a4360e21b81526001600160401b0384166004820152602401610840565b826001600160401b03167f1256f5b5ecb89caec12db449738f2fbcd1ba5806cf38f35413f4e5c15bf6a4508383604051610afd9291906126a1565b60405180910390a2505050565b60408051638fb3603760e01b80825291513392918391638fb36037916004808201926020929091908290030181865afa158015610b49573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b6d91906126bc565b6001600160e01b03191614610ba057604051630641fee960e31b81526001600160a01b0382166004820152602401610840565b610717610baf85838686610bed565b6112e4565b6001600160a01b03165f90815260208190526040902060010154600160701b900460ff1690565b610be36110f5565b61076a82826118ed565b5f84848484604051602001610c0594939291906126d7565b604051602081830303815290604052805190602001209050949350505050565b604080515f815260208101909152606090826001600160401b03811115610c4e57610c4e612748565b604051908082528060200260200182016040528015610c8157816020015b6060815260200190600190039081610c6c5790505b5091505f5b83811015610d0257610cdd30868684818110610ca457610ca461264a565b9050602002810190610cb6919061275c565b85604051602001610cc99392919061279e565b6040516020818303038152906040526119fc565b838281518110610cef57610cef61264a565b6020908102919091010152600101610c86565b505092915050565b5f5f610d1584610bb4565b15610d2457505f905080610d83565b306001600160a01b03861603610d4857610d3e8484611a7e565b5f91509150610d83565b5f610d538585610a39565b90505f5f610d618389610da2565b9150915081610d71575f5f610d7b565b63ffffffff811615815b945094505050505b935093915050565b610d936110f5565b610d9d8282611a94565b505050565b5f8067fffffffffffffffe196001600160401b03851601610dc85750600190505f610e1f565b5f5f610dd4868661091e565b5050915091508165ffffffffffff165f14158015610e14575060ff5f5c1680610e145750610e00611b7d565b65ffffffffffff168265ffffffffffff1611155b93509150610e1f9050565b9250929050565b610e2e6110f5565b61076a8282611b8c565b5f3381610e4585856112cd565b90505f610e5488888888610bed565b5f8181526002602052604081205491925065ffffffffffff9091169003610e915760405163060a299b60e41b815260048101829052602401610840565b826001600160a01b0316886001600160a01b031614610f2a575f610eb55f85610da2565b5090505f610ecf610ec961021a8b87610a39565b86610da2565b50905081158015610ede575080155b15610f2757604051630ff89d4760e21b81526001600160a01b038087166004830152808c1660248301528a1660448201526001600160e01b031985166064820152608401610840565b50505b5f81815260026020526040808220805465ffffffffffff1916908190559051600160301b90910463ffffffff1691829184917fbd9ac67a6e2f6463b80927326310338bcbb4bdb7936ce1365ea3e01067e7b9f791a398975050505050505050565b5f803381610f9b8289898961127c565b9150505f8163ffffffff16610fae611b7d565b610fb891906127c1565b905063ffffffff82161580610fee57505f8665ffffffffffff16118015610fee57508065ffffffffffff168665ffffffffffff16105b15610fff5782896108078a8a6112cd565b6110198665ffffffffffff168265ffffffffffff16611c47565b9550611027838a8a8a610bed565b945061103285611c56565b5f8581526002602052604090819020805465ffffffffffff891669ffffffffffffffffffff19821617600160301b9182900463ffffffff90811660010190811692830291909117909255915190955086907f82a2da5dee54ea8021c6545b4444620291e07ee83be6dd57edb175062715f3b4906110b8908a9088908f908f908f906127df565b60405180910390a350505094509492505050565b6001600160a01b0381163314610d9357604051635f159e6360e01b815260040160405180910390fd5b335f80611103838236611ca2565b9150915081610d9d578063ffffffff165f0361115d575f6111248136611d65565b5060405163f07e038f60e01b81526001600160a01b03871660048201526001600160401b03821660248201529092506044019050610840565b610918610baf84305f36610bed565b6001600160a01b0383165f818152602081815260408083206001600160e01b0319871680855290835292819020805467ffffffffffffffff19166001600160401b038716908117909155905192835292917f9ea6790c7dadfd01c9f8b9762b3682607af2c7e79e05a9f9fdf5580dde949151910160405180910390a3505050565b5f5f611201836001600160701b0316611757565b5090949350505050565b6001600160a01b0382165f81815260208190526040908190206001018054841515600160701b0260ff60701b19909116179055517f90d4e7bb7e5d933792b3562e1741306f8be94837e1348dacef9b6f1df56eb1389061127090841515815260200190565b60405180910390a25050565b5f80306001600160a01b038616036112a257611299868585611ca2565b915091506112c4565b600483106112be576112b986866105c287876112cd565b611299565b505f9050805b94509492505050565b5f6112db6004828486612721565b6108f591612824565b5f8181526002602052604081205465ffffffffffff811690600160301b900463ffffffff1681830361132c5760405163060a299b60e41b815260048101859052602401610840565b611334611b7d565b65ffffffffffff168265ffffffffffff16111561136757604051630c65b5bd60e11b815260048101859052602401610840565b6113708261180e565b1561139157604051631e2975b960e21b815260048101859052602401610840565b5f84815260026020526040808220805465ffffffffffff191690555163ffffffff83169186917f76a2a46953689d4861a5d3f6ed883ad7e6af674a21f8e162707159fc9dde614d9190a39392505050565b604080516001600160a01b03939093166020808501919091526001600160e01b0319929092168382015280518084038201815260609093019052815191012090565b6060814710156114505760405163cf47918160e01b815247600482015260248101839052604401610840565b5f61145c858486611f4b565b905080801561147d57505f3d118061147d57505f856001600160a01b03163b115b156114925761148a611f60565b9150506108f5565b80156114bc57604051639996b31560e01b81526001600160a01b0386166004820152602401610840565b3d156114cf576114ca611f79565b6114e8565b60405163d6bda27560e01b815260040160405180910390fd5b509392505050565b5f67fffffffffffffffe196001600160401b0386160161152e5760405163061c6a4360e21b81526001600160401b0386166004820152602401610840565b6001600160401b0385165f9081526001602090815260408083206001600160a01b038816845290915281205465ffffffffffff161590811561161e578463ffffffff16611579611b7d565b61158391906127c1565b905060405180604001604052808265ffffffffffff1681526020016115b18663ffffffff1663ffffffff1690565b6001600160701b039081169091526001600160401b0389165f9081526001602090815260408083206001600160a01b038c1684528252909120835181549490920151909216600160301b026001600160a01b031990931665ffffffffffff909116179190911790556116c8565b6001600160401b0387165f9081526001602090815260408083206001600160a01b038a16845290915281205461166791600160301b9091046001600160701b0316908690611f84565b6001600160401b0389165f9081526001602090815260408083206001600160a01b038c168452909152902080546001600160701b03909316600160301b0273ffffffffffffffffffffffffffff000000000000199093169290921790915590505b6040805163ffffffff8616815265ffffffffffff831660208201528315158183015290516001600160a01b038816916001600160401b038a16917ff98448b987f1428e0e230e1f3c6e2ce15b5693eaf31827fbd0b1ec4b424ae7cf9181900360600190a35095945050505050565b5f5f5f61174a8461174561202a565b612039565b9250925092509193909250565b5f5f5f61174a84611766611b7d565b61208b565b6001600160401b038216158061178957506001600160401b03828116145b156117b25760405163061c6a4360e21b81526001600160401b0383166004820152602401610840565b6001600160401b038281165f818152600160208190526040808320909101805467ffffffffffffffff19169486169485179055517f1fd6dd7631312dfac2205b52913f99de03b4d7e381d5d27d3dbfe0713e6e63409190a35050565b5f611817611b7d565b65ffffffffffff1661182c62093a80846127c1565b65ffffffffffff16111592915050565b6001600160401b038216158061185a57506001600160401b03828116145b156118835760405163061c6a4360e21b81526001600160401b0383166004820152602401610840565b6001600160401b038281165f81815260016020819052604080832090910180546fffffffffffffffff00000000000000001916600160401b958716958602179055517f7a8059630b897b5de4c08ade69f8b90c3ead1f8596d62d10b6c4d14a0afb4ae29190a35050565b67fffffffffffffffe196001600160401b0383160161192a5760405163061c6a4360e21b81526001600160401b0383166004820152602401610840565b6001600160401b0382165f9081526001602081905260408220015461196390600160801b90046001600160701b03168362069780611f84565b6001600160401b0385165f818152600160208190526040918290200180546001600160701b03909516600160801b026dffffffffffffffffffffffffffff60801b199095169490941790935591519092507ffeb69018ee8b8fd50ea86348f1267d07673379f72cffdeccec63853ee8ce8b4890610afd908590859063ffffffff92909216825265ffffffffffff16602082015260400190565b60605f611a0984846120d7565b9050808015611a2a57505f3d1180611a2a57505f846001600160a01b03163b115b15611a3f57611a37611f60565b915050610752565b8015611a6957604051639996b31560e01b81526001600160a01b0385166004820152602401610840565b3d156114cf57611a77611f79565b5092915050565b5f611a8983836113e2565b600354149392505050565b5f67fffffffffffffffe196001600160401b03841601611ad25760405163061c6a4360e21b81526001600160401b0384166004820152602401610840565b6001600160401b0383165f9081526001602090815260408083206001600160a01b038616845290915281205465ffffffffffff169003611b1357505f610752565b6001600160401b0383165f8181526001602090815260408083206001600160a01b038716808552925280832080546001600160a01b0319169055519092917ff229baa593af28c41b1d16b748cd7688f0c83aaf92d4be41c44005defe84c16691a350600192915050565b5f611b87426120ea565b905090565b6001600160a01b0382165f90815260208190526040812060010154611bbe906001600160701b03168362069780611f84565b6001600160a01b0385165f818152602081815260409182902060010180546dffffffffffffffffffffffffffff19166001600160701b039690961695909517909455805163ffffffff8716815265ffffffffffff841694810194909452919350917fa56b76017453f399ec2327ba00375dbfb1fd070ff854341ad6191e6a2e2de19c9101610afd565b5f8282188284110282186108f5565b5f8181526002602052604090205465ffffffffffff168015801590611c815750611c7f8161180e565b155b1561076a5760405163813e945960e01b815260048101839052602401610840565b5f806004831015611cb757505f905080610d83565b306001600160a01b03861603611cda57610d3e30611cd586866112cd565b611a7e565b5f5f5f611ce78787611d65565b92509250925082158015611cff5750611cff30610bb4565b15611d12575f5f94509450505050610d83565b5f5f611d1e848b610da2565b9150915081611d37575f5f965096505050505050610d83565b611d4d8363ffffffff168263ffffffff16611c47565b63ffffffff8116159b909a5098505050505050505050565b5f80806004841015611d7e57505f915081905080611f44565b5f611d8986866112cd565b90506001600160e01b031981166310a6aa3760e31b1480611dba57506001600160e01b031981166330cae18760e01b145b80611dd557506001600160e01b0319811663294b14a960e11b145b80611df057506001600160e01b03198116635326cae760e11b145b80611e0b57506001600160e01b0319811663d22b598960e01b145b15611e205760015f5f93509350935050611f44565b6001600160e01b0319811663063fc60f60e21b1480611e4f57506001600160e01b0319811663167bd39560e01b145b80611e6a57506001600160e01b031981166308d6122d60e01b145b15611ea9575f611e7e60246004888a612721565b810190611e8b91906123b8565b90505f611e97826109fa565b600196505f95509350611f4492505050565b6001600160e01b0319811663012e238d60e51b1480611ed857506001600160e01b03198116635be958b160e11b145b15611f30575f611eec60246004888a612721565b810190611ef991906121f4565b90506001611f22826001600160401b039081165f90815260016020819052604090912001541690565b5f9450945094505050611f44565b5f611f3b3083610a39565b5f935093509350505b9250925092565b5f5f5f83516020850186885af1949350505050565b6040513d81523d5f602083013e3d602001810160405290565b6040513d5f823e3d81fd5b5f5f5f611f99866001600160701b03166111ed565b90505f611fd48563ffffffff168763ffffffff168463ffffffff1611611fbf575f611fc9565b611fc9888561285a565b63ffffffff16611c47565b90508063ffffffff16611fe5611b7d565b611fef91906127c1565b925063ffffffff8616602083901b67ffffffff0000000016604085901b6dffffffffffff000000000000000016171793505050935093915050565b5f611b876407915ecc006120ea565b5f808069ffffffffffffffffffff602086901c166001600160701b03861665ffffffffffff604088901c81169087168111156120775782828261207b565b815f5f5b9550955095505050509250925092565b69ffffffffffffffffffff602083901c166001600160701b03831665ffffffffffff604085901c81169084168111156120c6578282826120ca565b815f5f5b9250925092509250925092565b5f5f5f835160208501865af49392505050565b5f65ffffffffffff82111561211c576040516306dfcc6560e41b81526030600482015260248101839052604401610840565b5090565b6001600160a01b0381168114612134575f5ffd5b50565b5f5f83601f840112612147575f5ffd5b5081356001600160401b0381111561215d575f5ffd5b6020830191508360208260051b8501011115610e1f575f5ffd5b80356001600160401b038116811461218d575f5ffd5b919050565b5f5f5f5f606085870312156121a5575f5ffd5b84356121b081612120565b935060208501356001600160401b038111156121ca575f5ffd5b6121d687828801612137565b90945092506121e9905060408601612177565b905092959194509250565b5f60208284031215612204575f5ffd5b6108f582612177565b5f5f6040838503121561221e575f5ffd5b823561222981612120565b91506020830135801515811461223d575f5ffd5b809150509250929050565b5f5f60408385031215612259575f5ffd5b823561226481612120565b9150602083013561223d81612120565b5f5f83601f840112612284575f5ffd5b5081356001600160401b0381111561229a575f5ffd5b602083019150836020828501011115610e1f575f5ffd5b5f5f5f604084860312156122c3575f5ffd5b83356122ce81612120565b925060208401356001600160401b038111156122e8575f5ffd5b6122f486828701612274565b9497909650939450505050565b803563ffffffff8116811461218d575f5ffd5b5f5f5f60608486031215612326575f5ffd5b61232f84612177565b9250602084013561233f81612120565b915061234d60408501612301565b90509250925092565b5f5f60408385031215612367575f5ffd5b61226483612177565b5f5f60408385031215612381575f5ffd5b61238a83612177565b915061239860208401612177565b90509250929050565b5f602082840312156123b1575f5ffd5b5035919050565b5f602082840312156123c8575f5ffd5b81356108f581612120565b6001600160e01b031981168114612134575f5ffd5b5f5f604083850312156123f9575f5ffd5b823561240481612120565b9150602083013561223d816123d3565b5f5f5f60408486031215612426575f5ffd5b6122ce84612177565b5f5f60408385031215612440575f5ffd5b61244983612177565b915061239860208401612301565b5f5f5f5f6060858703121561246a575f5ffd5b843561247581612120565b9350602085013561248581612120565b925060408501356001600160401b0381111561249f575f5ffd5b6124ab87828801612274565b95989497509550505050565b5f5f602083850312156124c8575f5ffd5b82356001600160401b038111156124dd575f5ffd5b6124e985828601612137565b90969095509350505050565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b8281101561256d57603f19878603018452815180518087528060208301602089015e5f602082890101526020601f19601f8301168801019650505060208201915060208401935060018101905061251b565b50929695505050505050565b5f5f5f6060848603121561258b575f5ffd5b833561259681612120565b925060208401356125a681612120565b915060408401356125b6816123d3565b809150509250925092565b5f5f604083850312156125d2575f5ffd5b823561244981612120565b5f5f5f5f606085870312156125f0575f5ffd5b84356125fb81612120565b935060208501356001600160401b03811115612615575f5ffd5b61262187828801612274565b909450925050604085013565ffffffffffff8116811461263f575f5ffd5b939692955090935050565b634e487b7160e01b5f52603260045260245ffd5b5f6020828403121561266e575f5ffd5b81356108f5816123d3565b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b602081525f6126b4602083018486612679565b949350505050565b5f602082840312156126cc575f5ffd5b81516108f5816123d3565b6001600160a01b038581168252841660208201526060604082018190525f906127039083018486612679565b9695505050505050565b634e487b7160e01b5f52601160045260245ffd5b5f5f8585111561272f575f5ffd5b8386111561273b575f5ffd5b5050820193919092039150565b634e487b7160e01b5f52604160045260245ffd5b5f5f8335601e19843603018112612771575f5ffd5b8301803591506001600160401b0382111561278a575f5ffd5b602001915036819003821315610e1f575f5ffd5b828482375f8382015f815283518060208601835e5f910190815295945050505050565b65ffffffffffff81811683821601908111156107525761075261270d565b65ffffffffffff861681526001600160a01b038581166020830152841660408201526080606082018190525f906128199083018486612679565b979650505050505050565b80356001600160e01b03198116906004841015611a77576001600160e01b031960049490940360031b84901b1690921692915050565b63ffffffff82811682821603908111156107525761075261270d56fea2646970667358221220f20b442fa5ef89544bc9330c8ac9c2b7a5af99e381a3ceca3d062a124e75026364736f6c634300081e0033";
|
|
14
|
+
readonly linkReferences: {};
|
|
15
|
+
readonly deployedLinkReferences: {};
|
|
16
|
+
readonly immutableReferences: {};
|
|
17
|
+
readonly inputSourceName: "project/contracts/dependencies/AccessManager.sol";
|
|
18
|
+
readonly buildInfoId: "solc-0_8_30-95f43f1788cfd8898b8023be4a1aea1d69744865";
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
import "hardhat/types/artifacts";
|
|
22
|
+
declare module "hardhat/types/artifacts" {
|
|
23
|
+
interface ArtifactMap {
|
|
24
|
+
["AccessManager"]: AccessManager$Type;
|
|
25
|
+
["contracts/dependencies/AccessManager.sol:AccessManager"]: AccessManager$Type;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
{
|
|
2
|
-
"_format": "
|
|
2
|
+
"_format": "hh3-artifact-1",
|
|
3
3
|
"contractName": "FrozenTime",
|
|
4
4
|
"sourceName": "contracts/dependencies/FrozenTime.sol",
|
|
5
5
|
"abi": [],
|
|
6
|
-
"bytecode": "
|
|
7
|
-
"deployedBytecode": "
|
|
6
|
+
"bytecode": "0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f5ffdfea2646970667358221220dacd9b62148b295eebbd7e1cbd0141ba83ba9b7420b201b5ed99815ffb2c166164736f6c634300081e0033",
|
|
7
|
+
"deployedBytecode": "0x730000000000000000000000000000000000000000301460806040525f5ffdfea2646970667358221220dacd9b62148b295eebbd7e1cbd0141ba83ba9b7420b201b5ed99815ffb2c166164736f6c634300081e0033",
|
|
8
8
|
"linkReferences": {},
|
|
9
|
-
"deployedLinkReferences": {}
|
|
10
|
-
}
|
|
9
|
+
"deployedLinkReferences": {},
|
|
10
|
+
"immutableReferences": {},
|
|
11
|
+
"inputSourceName": "project/contracts/dependencies/FrozenTime.sol",
|
|
12
|
+
"buildInfoId": "solc-0_8_30-95f43f1788cfd8898b8023be4a1aea1d69744865"
|
|
13
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
// This file was autogenerated by Hardhat, do not edit it.
|
|
2
|
+
// prettier-ignore
|
|
3
|
+
// tslint:disable
|
|
4
|
+
// eslint-disable
|
|
5
|
+
// biome-ignore format: see above
|
|
6
|
+
|
|
7
|
+
export interface FrozenTime$Type {
|
|
8
|
+
readonly _format: "hh3-artifact-1";
|
|
9
|
+
readonly contractName: "FrozenTime";
|
|
10
|
+
readonly sourceName: "contracts/dependencies/FrozenTime.sol";
|
|
11
|
+
readonly abi: [];
|
|
12
|
+
readonly bytecode: "0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f5ffdfea2646970667358221220dacd9b62148b295eebbd7e1cbd0141ba83ba9b7420b201b5ed99815ffb2c166164736f6c634300081e0033";
|
|
13
|
+
readonly deployedBytecode: "0x730000000000000000000000000000000000000000301460806040525f5ffdfea2646970667358221220dacd9b62148b295eebbd7e1cbd0141ba83ba9b7420b201b5ed99815ffb2c166164736f6c634300081e0033";
|
|
14
|
+
readonly linkReferences: {};
|
|
15
|
+
readonly deployedLinkReferences: {};
|
|
16
|
+
readonly immutableReferences: {};
|
|
17
|
+
readonly inputSourceName: "project/contracts/dependencies/FrozenTime.sol";
|
|
18
|
+
readonly buildInfoId: "solc-0_8_30-95f43f1788cfd8898b8023be4a1aea1d69744865";
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
import "hardhat/types/artifacts";
|
|
22
|
+
declare module "hardhat/types/artifacts" {
|
|
23
|
+
interface ArtifactMap {
|
|
24
|
+
["FrozenTime"]: FrozenTime$Type;
|
|
25
|
+
["contracts/dependencies/FrozenTime.sol:FrozenTime"]: FrozenTime$Type;
|
|
26
|
+
}
|
|
27
|
+
}
|