diff --git a/.gitmodules b/.gitmodules index f6af72e..d7bbacb 100644 --- a/.gitmodules +++ b/.gitmodules @@ -4,3 +4,9 @@ [submodule "contracts/lib/p256-verifier"] path = contracts/lib/p256-verifier url = https://github.com/daimo-eth/p256-verifier +[submodule "contracts/lib/account-abstraction"] + path = contracts/lib/account-abstraction + url = https://github.com/eth-infinitism/account-abstraction +[submodule "contracts/lib/openzeppelin-contracts"] + path = contracts/lib/openzeppelin-contracts + url = https://github.com/OpenZeppelin/openzeppelin-contracts diff --git a/contracts/.env.example b/contracts/.env.example new file mode 100644 index 0000000..0eb91b3 --- /dev/null +++ b/contracts/.env.example @@ -0,0 +1,2 @@ +PRIVATE_KEY= +ETHERSCAN_API_KEY= \ No newline at end of file diff --git a/contracts/broadcast/SimpleAccountFactory.s.sol/84531/dry-run/run-1698915913.json b/contracts/broadcast/SimpleAccountFactory.s.sol/84531/dry-run/run-1698915913.json new file mode 100644 index 0000000..3a2e86d --- /dev/null +++ b/contracts/broadcast/SimpleAccountFactory.s.sol/84531/dry-run/run-1698915913.json @@ -0,0 +1,39 @@ +{ + "transactions": [ + { + "hash": null, + "transactionType": "CREATE", + "contractName": "SimpleAccountFactory", + "contractAddress": "0xCD7DA03e26Fa4b7BcB43B4e5Ed65bE5cC9d844B0", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x02", + "from": "0x061060a65146b3265c62fc8f3ae977c9b27260ff", + "gas": "0x2d61e9", + "value": "0x0", + "data": "0x60c060405234801561001057600080fd5b506040516129ed3803806129ed83398101604081905261002f91610096565b6001600160a01b03811660a052604051819061004a90610089565b6001600160a01b039091168152602001604051809103906000f080158015610076573d6000803e3d6000fd5b506001600160a01b0316608052506100c6565b611f6a80610a8383390190565b6000602082840312156100a857600080fd5b81516001600160a01b03811681146100bf57600080fd5b9392505050565b60805160a0516109856100fe6000396000818160a5015261020901526000818160d90152818161012a015261028701526109856000f3fe60806040526004361061003f5760003560e01c80630b824849146100445780638375702b14610080578063b0d691fe14610093578063c1e4ba2d146100c7575b600080fd5b34801561005057600080fd5b5061006461005f366004610375565b6100fb565b6040516001600160a01b03909116815260200160405180910390f35b61006461008e366004610375565b6101d5565b34801561009f57600080fd5b506100647f000000000000000000000000000000000000000000000000000000000000000081565b3480156100d357600080fd5b506100647f000000000000000000000000000000000000000000000000000000000000000081565b60006101cc8260001b6040518060200161011490610352565b6020820181038252601f19601f820116604052507f00000000000000000000000000000000000000000000000000000000000000008660405160240161015a91906103fa565b60408051601f19818403018152918152602080830180516001600160e01b0316632d16032160e01b17905290516101939392910161044f565b60408051601f19818403018152908290526101b19291602001610491565b60405160208183030381529060405280519060200120610320565b90505b92915050565b6000806101e284846100fb565b905034156102685760405163b760faf960e01b81526001600160a01b0382811660048301527f0000000000000000000000000000000000000000000000000000000000000000169063b760faf99034906024016000604051808303818588803b15801561024e57600080fd5b505af1158015610262573d6000803e3d6000fd5b50505050505b6001600160a01b0381163b8015610281575090506101cf565b8360001b7f0000000000000000000000000000000000000000000000000000000000000000866040516024016102b791906103fa565b60408051601f198184030181529181526020820180516001600160e01b0316632d16032160e01b179052516102eb90610352565b6102f692919061044f565b8190604051809103906000f5905080158015610316573d6000803e3d6000fd5b5095945050505050565b60006101cc8383306000604051836040820152846020820152828152600b8101905060ff815360559020949350505050565b6104b8806104c183390190565b634e487b7160e01b600052604160045260246000fd5b6000806060838503121561038857600080fd5b83601f84011261039757600080fd5b6040516040810181811067ffffffffffffffff821117156103ba576103ba61035f565b80604052508060408501868111156103d157600080fd5b855b818110156103eb5780358352602092830192016103d3565b50919691359550909350505050565b60408101818360005b6002811015610422578151835260209283019290910190600101610403565b50505092915050565b60005b8381101561044657818101518382015260200161042e565b50506000910152565b60018060a01b0383168152604060208201526000825180604084015261047c81606085016020870161042b565b601f01601f1916919091016060019392505050565b600083516104a381846020880161042b565b8351908301906104b781836020880161042b565b0194935050505056fe60806040526040516104b83803806104b8833981016040819052610022916102de565b61002e82826000610035565b50506103fb565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c6838360405180606001604052806027815260200161049160279139610180565b9392505050565b6001600160a01b0381163b61013f5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019d91906103ac565b600060405180830381855af49150503d80600081146101d8576040519150601f19603f3d011682016040523d82523d6000602084013e6101dd565b606091505b5090925090506101ef868383876101f9565b9695505050505050565b60608315610268578251600003610261576001600160a01b0385163b6102615760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610136565b5081610272565b610272838361027a565b949350505050565b81511561028a5781518083602001fd5b8060405162461bcd60e51b815260040161013691906103c8565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102d55781810151838201526020016102bd565b50506000910152565b600080604083850312156102f157600080fd5b82516001600160a01b038116811461030857600080fd5b60208401519092506001600160401b038082111561032557600080fd5b818501915085601f83011261033957600080fd5b81518181111561034b5761034b6102a4565b604051601f8201601f19908116603f01168101908382118183101715610373576103736102a4565b8160405282815288602084870101111561038c57600080fd5b61039d8360208301602088016102ba565b80955050505050509250929050565b600082516103be8184602087016102ba565b9190910192915050565b60208152600082518060208401526103e78160408501602087016102ba565b601f01601f19169190910160400192915050565b6088806104096000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6058565b565b600060537f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e8080156076573d6000f35b3d6000fdfea164736f6c6343000815000a416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a164736f6c6343000815000a60c0604052306080523480156200001557600080fd5b5060405162001f6a38038062001f6a833981016040819052620000389162000118565b6001600160a01b03811660a0526200004f62000056565b506200014a565b600054610100900460ff1615620000c35760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff908116101562000116576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6000602082840312156200012b57600080fd5b81516001600160a01b03811681146200014357600080fd5b9392505050565b60805160a051611dc9620001a1600039600081816101ce0152818161037e015281816105b501526108350152600081816104d301528181610513015281816106340152818161067401526107030152611dc96000f3fe60806040526004361061008a5760003560e01c80633a871cdd116100595780633a871cdd146101365780634f1ef2861461016457806352d1902d1461017757806363ffab311461018c578063b0d691fe146101bc57600080fd5b80631626ba7e146100965780632d160321146100d457806334fcd5be146100f65780633659cfe61461011657600080fd5b3661009157005b600080fd5b3480156100a257600080fd5b506100b66100b136600461163e565b610208565b6040516001600160e01b031990911681526020015b60405180910390f35b3480156100e057600080fd5b506100f46100ef3660046116f9565b61025b565b005b34801561010257600080fd5b506100f461011136600461176e565b610373565b34801561012257600080fd5b506100f46101313660046117ff565b6104c9565b34801561014257600080fd5b5061015661015136600461181a565b6105a8565b6040519081526020016100cb565b6100f46101723660046118fb565b61062a565b34801561018357600080fd5b506101566106f6565b34801561019857600080fd5b506001546002546101a7919082565b604080519283526020830191909152016100cb565b3480156101c857600080fd5b506101f07f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100cb565b60006102368460405160200161022091815260200190565b60405160208183030381529060405284846107a9565b156102495750630b135d3f60e11b610254565b506001600160e01b03195b9392505050565b600054610100900460ff161580801561027b5750600054600160ff909116105b806102955750303b158015610295575060005460ff166001145b6102fd5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff191660011790558015610320576000805461ff0019166101001790555b610329826107fd565b801561036f576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146103de5760405162461bcd60e51b815260206004820152601060248201526f1bdb9b1e48195b9d1c9e481c1bda5b9d60821b60448201526064016102f4565b60005b818110156104c4576104b28383838181106103fe576103fe611949565b9050602002810190610410919061195f565b61041e9060208101906117ff565b84848481811061043057610430611949565b9050602002810190610442919061195f565b6020013585858581811061045857610458611949565b905060200281019061046a919061195f565b61047890604081019061197f565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061089592505050565b806104bc816119e3565b9150506103e1565b505050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036105115760405162461bcd60e51b81526004016102f4906119fc565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661055a600080516020611d36833981519152546001600160a01b031690565b6001600160a01b0316146105805760405162461bcd60e51b81526004016102f490611a48565b6105898161090c565b604080516000808252602082019092526105a591839190610947565b50565b6000336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146106155760405162461bcd60e51b815260206004820152601060248201526f1bdb9b1e48195b9d1c9e481c1bda5b9d60821b60448201526064016102f4565b61061f8484610ab2565b905061025482610c72565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036106725760405162461bcd60e51b81526004016102f4906119fc565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166106bb600080516020611d36833981519152546001600160a01b031690565b6001600160a01b0316146106e15760405162461bcd60e51b81526004016102f490611a48565b6106ea8261090c565b61036f82826001610947565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146107965760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016102f4565b50600080516020611d3683398151915290565b6000806107b883850185611a94565b90506107f4858260000151600084602001518560400151866060015187608001518860a0015160016000015460001c600180015460001c610cbf565b95945050505050565b6040805180820182528251808252602080850151928101839052600182905560028390558351808501855291825281019190915290517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316917f8a7fd7e24d60f649878f6c9c7e9114e6614218fd3dce2eb1d79549afaf161ab39161088a9190611b50565b60405180910390a250565b600080846001600160a01b031684846040516108b19190611ba5565b60006040518083038185875af1925050503d80600081146108ee576040519150601f19603f3d011682016040523d82523d6000602084013e6108f3565b606091505b50915091508161090557805160208201fd5b5050505050565b3330146105a55760405162461bcd60e51b815260206004820152600960248201526837b7363c9039b2b63360b91b60448201526064016102f4565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161561097a576104c483610e81565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156109d4575060408051601f3d908101601f191682019092526109d191810190611bb7565b60015b610a375760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b60648201526084016102f4565b600080516020611d368339815191528114610aa65760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b60648201526084016102f4565b506104c4838383610f1d565b604080516060818101835260008083526020830181905292820183905290369083906000610ae461014089018961197f565b9050905080600003610afe57600195505050505050610c6c565b6000610b0e6101408a018a61197f565b6000818110610b1f57610b1f611949565b919091013560f81c9150506001819003610bf6576007821015610b4b5760019650505050505050610c6c565b6000610b5b6101408b018b61197f565b610b6a91600791600191611bd0565b610b7391611bfa565b60d01c9050610b866101408b018b61197f565b610b94916007908290611bd0565b6040516001600160f81b031960f886901b1660208201526001600160d01b031960d085901b166021820152602781018c9052919750955060470160408051601f1981840301815291815265ffffffffffff909216918501919091529550610c05565b60019650505050505050610c6c565b610c108686866107a9565b15610c6157610c5483600060d0826020015165ffffffffffff16901b60a0836040015165ffffffffffff16901b83600001516001600160a01b031617179050919050565b9650505050505050610c6c565b600196505050505050505b92915050565b80156105a557604051600090339060001990849084818181858888f193505050503d8060008114610905576040519150601f19603f3d011682016040523d82523d6000602084013e610905565b600060208a511080610cf95750610cf78a602081518110610ce257610ce2611949565b01602001516001600160f81b0319168a610f48565b155b15610d0657506000610e73565b604080518082019091526015815274113a3cb832911d113bb2b130baba34371733b2ba1160591b6020820152610d3d818a89610fae565b610d4b576000915050610e73565b6000610d568d611067565b9050600081604051602001610d6b9190611c2a565b6040516020818303038152906040529050610d87818c8c610fae565b610d975760009350505050610e73565b600060028c604051610da99190611ba5565b602060405180830381855afa158015610dc6573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190610de99190611bb7565b9050600060028f83604051602001610e02929190611c6b565b60408051601f1981840301815290829052610e1c91611ba5565b602060405180830381855afa158015610e39573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190610e5c9190611bb7565b9050610e6b818b8b8b8b61127f565b955050505050505b9a9950505050505050505050565b6001600160a01b0381163b610eee5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016102f4565b600080516020611d3683398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b610f2683611363565b600082511180610f335750805b156104c457610f4283836113a3565b50505050565b6000600160f81b83811614610f5f57506000610c6c565b818015610f725750600160fa1b83811614155b15610f7f57506000610c6c565b600160fb1b83811614610fa557600f60fc1b600160fc1b841601610fa557506000610c6c565b50600192915050565b825182516000918591859190845b828110156110585781610fcf8289611c8d565b10610fe257600095505050505050610254565b83610fed8289611c8d565b81518110610ffd57610ffd611949565b602001015160f81c60f81b6001600160f81b03191685828151811061102457611024611949565b01602001516001600160f81b0319161461104657600095505050505050610254565b80611050816119e3565b915050610fbc565b50600198975050505050505050565b60606000611074836113c8565b905060008190506000600282511180156110bf575081600283516110989190611ca0565b815181106110a8576110a8611949565b6020910101516001600160f81b031916603d60f81b145b156110cc57506002611117565b6001825111801561110e575081600183516110e79190611ca0565b815181106110f7576110f7611949565b6020910101516001600160f81b031916603d60f81b145b15611117575060015b60008183516111269190611ca0565b905060008167ffffffffffffffff811115611143576111436116ba565b6040519080825280601f01601f19166020018201604052801561116d576020820181803683370190505b50905060005b828110156112745784818151811061118d5761118d611949565b01602001516001600160f81b031916602b60f81b036111d957602d60f81b8282815181106111bd576111bd611949565b60200101906001600160f81b031916908160001a905350611262565b8481815181106111eb576111eb611949565b01602001516001600160f81b031916602f60f81b0361121b57605f60f81b8282815181106111bd576111bd611949565b84818151811061122d5761122d611949565b602001015160f81c60f81b82828151811061124a5761124a611949565b60200101906001600160f81b031916908160001a9053505b8061126c816119e3565b915050611173565b509695505050505050565b6040805160208101879052908101859052606081018490526080810183905260a08101829052600090819060c001604051602081830303815290604052905060008073c2b78104907f722dabac4c69f826a522b2754de46001600160a01b0316836040516112ed9190611ba5565b600060405180830381855afa9150503d8060008114611328576040519150601f19603f3d011682016040523d82523d6000602084013e61132d565b606091505b50915091508161133f5761133f611cb3565b808060200190518101906113539190611bb7565b6001149998505050505050505050565b61136c81610e81565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606102548383604051806060016040528060278152602001611d966027913961151b565b606081516000036113e757505060408051602081019091526000815290565b6000604051806060016040528060408152602001611d5660409139905060006003845160026114169190611c8d565b6114209190611cc9565b61142b906004611ceb565b67ffffffffffffffff811115611443576114436116ba565b6040519080825280601f01601f19166020018201604052801561146d576020820181803683370190505b509050600182016020820185865187015b808210156114d9576003820191508151603f8160121c168501518453600184019350603f81600c1c168501518453600184019350603f8160061c168501518453600184019350603f811685015184535060018301925061147e565b50506003865106600181146114f5576002811461150857611510565b603d6001830353603d6002830353611510565b603d60018303535b509195945050505050565b6060600080856001600160a01b0316856040516115389190611ba5565b600060405180830381855af49150503d8060008114611573576040519150601f19603f3d011682016040523d82523d6000602084013e611578565b606091505b509150915061158986838387611593565b9695505050505050565b606083156116025782516000036115fb576001600160a01b0385163b6115fb5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102f4565b508161160c565b61160c8383611614565b949350505050565b8151156116245781518083602001fd5b8060405162461bcd60e51b81526004016102f49190611d02565b60008060006040848603121561165357600080fd5b83359250602084013567ffffffffffffffff8082111561167257600080fd5b818601915086601f83011261168657600080fd5b81358181111561169557600080fd5b8760208285010111156116a757600080fd5b6020830194508093505050509250925092565b634e487b7160e01b600052604160045260246000fd5b60405160c0810167ffffffffffffffff811182821017156116f3576116f36116ba565b60405290565b60006040828403121561170b57600080fd5b82601f83011261171a57600080fd5b6040516040810181811067ffffffffffffffff8211171561173d5761173d6116ba565b806040525080604084018581111561175457600080fd5b845b81811015611510578035835260209283019201611756565b6000806020838503121561178157600080fd5b823567ffffffffffffffff8082111561179957600080fd5b818501915085601f8301126117ad57600080fd5b8135818111156117bc57600080fd5b8660208260051b85010111156117d157600080fd5b60209290920196919550909350505050565b80356001600160a01b03811681146117fa57600080fd5b919050565b60006020828403121561181157600080fd5b610254826117e3565b60008060006060848603121561182f57600080fd5b833567ffffffffffffffff81111561184657600080fd5b8401610160818703121561185957600080fd5b95602085013595506040909401359392505050565b600082601f83011261187f57600080fd5b813567ffffffffffffffff8082111561189a5761189a6116ba565b604051601f8301601f19908116603f011681019082821181831017156118c2576118c26116ba565b816040528381528660208588010111156118db57600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806040838503121561190e57600080fd5b611917836117e3565b9150602083013567ffffffffffffffff81111561193357600080fd5b61193f8582860161186e565b9150509250929050565b634e487b7160e01b600052603260045260246000fd5b60008235605e1983360301811261197557600080fd5b9190910192915050565b6000808335601e1984360301811261199657600080fd5b83018035915067ffffffffffffffff8211156119b157600080fd5b6020019150368190038213156119c657600080fd5b9250929050565b634e487b7160e01b600052601160045260246000fd5b6000600182016119f5576119f56119cd565b5060010190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b600060208284031215611aa657600080fd5b813567ffffffffffffffff80821115611abe57600080fd5b9083019060c08286031215611ad257600080fd5b611ada6116d0565b823582811115611ae957600080fd5b611af58782860161186e565b825250602083013582811115611b0a57600080fd5b611b168782860161186e565b60208301525060408301356040820152606083013560608201526080830135608082015260a083013560a082015280935050505092915050565b60408101818360005b6002811015611b78578151835260209283019290910190600101611b59565b50505092915050565b60005b83811015611b9c578181015183820152602001611b84565b50506000910152565b60008251611975818460208701611b81565b600060208284031215611bc957600080fd5b5051919050565b60008085851115611be057600080fd5b83861115611bed57600080fd5b5050820193919092039150565b6001600160d01b03198135818116916006851015611c225780818660060360031b1b83161692505b505092915050565b6c1131b430b63632b733b2911d1160991b81528151600090611c5381600d850160208701611b81565b601160f91b600d939091019283015250600e01919050565b60008351611c7d818460208801611b81565b9190910191825250602001919050565b80820180821115610c6c57610c6c6119cd565b81810381811115610c6c57610c6c6119cd565b634e487b7160e01b600052600160045260246000fd5b600082611ce657634e487b7160e01b600052601260045260246000fd5b500490565b8082028115828204841417610c6c57610c6c6119cd565b6020815260008251806020840152611d21816040850160208701611b81565b601f01601f1916919091016040019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc4142434445464748494a4b4c4d4e4f505152535455565758595a6162636465666768696a6b6c6d6e6f707172737475767778797a303132333435363738392b2f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a164736f6c6343000815000a0000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x1e", + "accessList": [] + }, + "additionalContracts": [ + { + "transactionType": "CREATE", + "address": "0xA664329f1490b57625a2a3F8C25265A59c606265", + "initCode": "0x60c0604052306080523480156200001557600080fd5b5060405162001f6a38038062001f6a833981016040819052620000389162000118565b6001600160a01b03811660a0526200004f62000056565b506200014a565b600054610100900460ff1615620000c35760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff908116101562000116576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6000602082840312156200012b57600080fd5b81516001600160a01b03811681146200014357600080fd5b9392505050565b60805160a051611dc9620001a1600039600081816101ce0152818161037e015281816105b501526108350152600081816104d301528181610513015281816106340152818161067401526107030152611dc96000f3fe60806040526004361061008a5760003560e01c80633a871cdd116100595780633a871cdd146101365780634f1ef2861461016457806352d1902d1461017757806363ffab311461018c578063b0d691fe146101bc57600080fd5b80631626ba7e146100965780632d160321146100d457806334fcd5be146100f65780633659cfe61461011657600080fd5b3661009157005b600080fd5b3480156100a257600080fd5b506100b66100b136600461163e565b610208565b6040516001600160e01b031990911681526020015b60405180910390f35b3480156100e057600080fd5b506100f46100ef3660046116f9565b61025b565b005b34801561010257600080fd5b506100f461011136600461176e565b610373565b34801561012257600080fd5b506100f46101313660046117ff565b6104c9565b34801561014257600080fd5b5061015661015136600461181a565b6105a8565b6040519081526020016100cb565b6100f46101723660046118fb565b61062a565b34801561018357600080fd5b506101566106f6565b34801561019857600080fd5b506001546002546101a7919082565b604080519283526020830191909152016100cb565b3480156101c857600080fd5b506101f07f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100cb565b60006102368460405160200161022091815260200190565b60405160208183030381529060405284846107a9565b156102495750630b135d3f60e11b610254565b506001600160e01b03195b9392505050565b600054610100900460ff161580801561027b5750600054600160ff909116105b806102955750303b158015610295575060005460ff166001145b6102fd5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff191660011790558015610320576000805461ff0019166101001790555b610329826107fd565b801561036f576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146103de5760405162461bcd60e51b815260206004820152601060248201526f1bdb9b1e48195b9d1c9e481c1bda5b9d60821b60448201526064016102f4565b60005b818110156104c4576104b28383838181106103fe576103fe611949565b9050602002810190610410919061195f565b61041e9060208101906117ff565b84848481811061043057610430611949565b9050602002810190610442919061195f565b6020013585858581811061045857610458611949565b905060200281019061046a919061195f565b61047890604081019061197f565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061089592505050565b806104bc816119e3565b9150506103e1565b505050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036105115760405162461bcd60e51b81526004016102f4906119fc565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661055a600080516020611d36833981519152546001600160a01b031690565b6001600160a01b0316146105805760405162461bcd60e51b81526004016102f490611a48565b6105898161090c565b604080516000808252602082019092526105a591839190610947565b50565b6000336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146106155760405162461bcd60e51b815260206004820152601060248201526f1bdb9b1e48195b9d1c9e481c1bda5b9d60821b60448201526064016102f4565b61061f8484610ab2565b905061025482610c72565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036106725760405162461bcd60e51b81526004016102f4906119fc565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166106bb600080516020611d36833981519152546001600160a01b031690565b6001600160a01b0316146106e15760405162461bcd60e51b81526004016102f490611a48565b6106ea8261090c565b61036f82826001610947565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146107965760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016102f4565b50600080516020611d3683398151915290565b6000806107b883850185611a94565b90506107f4858260000151600084602001518560400151866060015187608001518860a0015160016000015460001c600180015460001c610cbf565b95945050505050565b6040805180820182528251808252602080850151928101839052600182905560028390558351808501855291825281019190915290517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316917f8a7fd7e24d60f649878f6c9c7e9114e6614218fd3dce2eb1d79549afaf161ab39161088a9190611b50565b60405180910390a250565b600080846001600160a01b031684846040516108b19190611ba5565b60006040518083038185875af1925050503d80600081146108ee576040519150601f19603f3d011682016040523d82523d6000602084013e6108f3565b606091505b50915091508161090557805160208201fd5b5050505050565b3330146105a55760405162461bcd60e51b815260206004820152600960248201526837b7363c9039b2b63360b91b60448201526064016102f4565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161561097a576104c483610e81565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156109d4575060408051601f3d908101601f191682019092526109d191810190611bb7565b60015b610a375760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b60648201526084016102f4565b600080516020611d368339815191528114610aa65760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b60648201526084016102f4565b506104c4838383610f1d565b604080516060818101835260008083526020830181905292820183905290369083906000610ae461014089018961197f565b9050905080600003610afe57600195505050505050610c6c565b6000610b0e6101408a018a61197f565b6000818110610b1f57610b1f611949565b919091013560f81c9150506001819003610bf6576007821015610b4b5760019650505050505050610c6c565b6000610b5b6101408b018b61197f565b610b6a91600791600191611bd0565b610b7391611bfa565b60d01c9050610b866101408b018b61197f565b610b94916007908290611bd0565b6040516001600160f81b031960f886901b1660208201526001600160d01b031960d085901b166021820152602781018c9052919750955060470160408051601f1981840301815291815265ffffffffffff909216918501919091529550610c05565b60019650505050505050610c6c565b610c108686866107a9565b15610c6157610c5483600060d0826020015165ffffffffffff16901b60a0836040015165ffffffffffff16901b83600001516001600160a01b031617179050919050565b9650505050505050610c6c565b600196505050505050505b92915050565b80156105a557604051600090339060001990849084818181858888f193505050503d8060008114610905576040519150601f19603f3d011682016040523d82523d6000602084013e610905565b600060208a511080610cf95750610cf78a602081518110610ce257610ce2611949565b01602001516001600160f81b0319168a610f48565b155b15610d0657506000610e73565b604080518082019091526015815274113a3cb832911d113bb2b130baba34371733b2ba1160591b6020820152610d3d818a89610fae565b610d4b576000915050610e73565b6000610d568d611067565b9050600081604051602001610d6b9190611c2a565b6040516020818303038152906040529050610d87818c8c610fae565b610d975760009350505050610e73565b600060028c604051610da99190611ba5565b602060405180830381855afa158015610dc6573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190610de99190611bb7565b9050600060028f83604051602001610e02929190611c6b565b60408051601f1981840301815290829052610e1c91611ba5565b602060405180830381855afa158015610e39573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190610e5c9190611bb7565b9050610e6b818b8b8b8b61127f565b955050505050505b9a9950505050505050505050565b6001600160a01b0381163b610eee5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016102f4565b600080516020611d3683398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b610f2683611363565b600082511180610f335750805b156104c457610f4283836113a3565b50505050565b6000600160f81b83811614610f5f57506000610c6c565b818015610f725750600160fa1b83811614155b15610f7f57506000610c6c565b600160fb1b83811614610fa557600f60fc1b600160fc1b841601610fa557506000610c6c565b50600192915050565b825182516000918591859190845b828110156110585781610fcf8289611c8d565b10610fe257600095505050505050610254565b83610fed8289611c8d565b81518110610ffd57610ffd611949565b602001015160f81c60f81b6001600160f81b03191685828151811061102457611024611949565b01602001516001600160f81b0319161461104657600095505050505050610254565b80611050816119e3565b915050610fbc565b50600198975050505050505050565b60606000611074836113c8565b905060008190506000600282511180156110bf575081600283516110989190611ca0565b815181106110a8576110a8611949565b6020910101516001600160f81b031916603d60f81b145b156110cc57506002611117565b6001825111801561110e575081600183516110e79190611ca0565b815181106110f7576110f7611949565b6020910101516001600160f81b031916603d60f81b145b15611117575060015b60008183516111269190611ca0565b905060008167ffffffffffffffff811115611143576111436116ba565b6040519080825280601f01601f19166020018201604052801561116d576020820181803683370190505b50905060005b828110156112745784818151811061118d5761118d611949565b01602001516001600160f81b031916602b60f81b036111d957602d60f81b8282815181106111bd576111bd611949565b60200101906001600160f81b031916908160001a905350611262565b8481815181106111eb576111eb611949565b01602001516001600160f81b031916602f60f81b0361121b57605f60f81b8282815181106111bd576111bd611949565b84818151811061122d5761122d611949565b602001015160f81c60f81b82828151811061124a5761124a611949565b60200101906001600160f81b031916908160001a9053505b8061126c816119e3565b915050611173565b509695505050505050565b6040805160208101879052908101859052606081018490526080810183905260a08101829052600090819060c001604051602081830303815290604052905060008073c2b78104907f722dabac4c69f826a522b2754de46001600160a01b0316836040516112ed9190611ba5565b600060405180830381855afa9150503d8060008114611328576040519150601f19603f3d011682016040523d82523d6000602084013e61132d565b606091505b50915091508161133f5761133f611cb3565b808060200190518101906113539190611bb7565b6001149998505050505050505050565b61136c81610e81565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606102548383604051806060016040528060278152602001611d966027913961151b565b606081516000036113e757505060408051602081019091526000815290565b6000604051806060016040528060408152602001611d5660409139905060006003845160026114169190611c8d565b6114209190611cc9565b61142b906004611ceb565b67ffffffffffffffff811115611443576114436116ba565b6040519080825280601f01601f19166020018201604052801561146d576020820181803683370190505b509050600182016020820185865187015b808210156114d9576003820191508151603f8160121c168501518453600184019350603f81600c1c168501518453600184019350603f8160061c168501518453600184019350603f811685015184535060018301925061147e565b50506003865106600181146114f5576002811461150857611510565b603d6001830353603d6002830353611510565b603d60018303535b509195945050505050565b6060600080856001600160a01b0316856040516115389190611ba5565b600060405180830381855af49150503d8060008114611573576040519150601f19603f3d011682016040523d82523d6000602084013e611578565b606091505b509150915061158986838387611593565b9695505050505050565b606083156116025782516000036115fb576001600160a01b0385163b6115fb5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102f4565b508161160c565b61160c8383611614565b949350505050565b8151156116245781518083602001fd5b8060405162461bcd60e51b81526004016102f49190611d02565b60008060006040848603121561165357600080fd5b83359250602084013567ffffffffffffffff8082111561167257600080fd5b818601915086601f83011261168657600080fd5b81358181111561169557600080fd5b8760208285010111156116a757600080fd5b6020830194508093505050509250925092565b634e487b7160e01b600052604160045260246000fd5b60405160c0810167ffffffffffffffff811182821017156116f3576116f36116ba565b60405290565b60006040828403121561170b57600080fd5b82601f83011261171a57600080fd5b6040516040810181811067ffffffffffffffff8211171561173d5761173d6116ba565b806040525080604084018581111561175457600080fd5b845b81811015611510578035835260209283019201611756565b6000806020838503121561178157600080fd5b823567ffffffffffffffff8082111561179957600080fd5b818501915085601f8301126117ad57600080fd5b8135818111156117bc57600080fd5b8660208260051b85010111156117d157600080fd5b60209290920196919550909350505050565b80356001600160a01b03811681146117fa57600080fd5b919050565b60006020828403121561181157600080fd5b610254826117e3565b60008060006060848603121561182f57600080fd5b833567ffffffffffffffff81111561184657600080fd5b8401610160818703121561185957600080fd5b95602085013595506040909401359392505050565b600082601f83011261187f57600080fd5b813567ffffffffffffffff8082111561189a5761189a6116ba565b604051601f8301601f19908116603f011681019082821181831017156118c2576118c26116ba565b816040528381528660208588010111156118db57600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806040838503121561190e57600080fd5b611917836117e3565b9150602083013567ffffffffffffffff81111561193357600080fd5b61193f8582860161186e565b9150509250929050565b634e487b7160e01b600052603260045260246000fd5b60008235605e1983360301811261197557600080fd5b9190910192915050565b6000808335601e1984360301811261199657600080fd5b83018035915067ffffffffffffffff8211156119b157600080fd5b6020019150368190038213156119c657600080fd5b9250929050565b634e487b7160e01b600052601160045260246000fd5b6000600182016119f5576119f56119cd565b5060010190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b600060208284031215611aa657600080fd5b813567ffffffffffffffff80821115611abe57600080fd5b9083019060c08286031215611ad257600080fd5b611ada6116d0565b823582811115611ae957600080fd5b611af58782860161186e565b825250602083013582811115611b0a57600080fd5b611b168782860161186e565b60208301525060408301356040820152606083013560608201526080830135608082015260a083013560a082015280935050505092915050565b60408101818360005b6002811015611b78578151835260209283019290910190600101611b59565b50505092915050565b60005b83811015611b9c578181015183820152602001611b84565b50506000910152565b60008251611975818460208701611b81565b600060208284031215611bc957600080fd5b5051919050565b60008085851115611be057600080fd5b83861115611bed57600080fd5b5050820193919092039150565b6001600160d01b03198135818116916006851015611c225780818660060360031b1b83161692505b505092915050565b6c1131b430b63632b733b2911d1160991b81528151600090611c5381600d850160208701611b81565b601160f91b600d939091019283015250600e01919050565b60008351611c7d818460208801611b81565b9190910191825250602001919050565b80820180821115610c6c57610c6c6119cd565b81810381811115610c6c57610c6c6119cd565b634e487b7160e01b600052600160045260246000fd5b600082611ce657634e487b7160e01b600052601260045260246000fd5b500490565b8082028115828204841417610c6c57610c6c6119cd565b6020815260008251806020840152611d21816040850160208701611b81565b601f01601f1916919091016040019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc4142434445464748494a4b4c4d4e4f505152535455565758595a6162636465666768696a6b6c6d6e6f707172737475767778797a303132333435363738392b2f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a164736f6c6343000815000a0000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789" + } + ], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1698915913, + "chain": 84531, + "multi": false, + "commit": "3450ece" +} \ No newline at end of file diff --git a/contracts/broadcast/SimpleAccountFactory.s.sol/84531/dry-run/run-1698915996.json b/contracts/broadcast/SimpleAccountFactory.s.sol/84531/dry-run/run-1698915996.json new file mode 100644 index 0000000..c9699aa --- /dev/null +++ b/contracts/broadcast/SimpleAccountFactory.s.sol/84531/dry-run/run-1698915996.json @@ -0,0 +1,39 @@ +{ + "transactions": [ + { + "hash": null, + "transactionType": "CREATE", + "contractName": "SimpleAccountFactory", + "contractAddress": "0xCD7DA03e26Fa4b7BcB43B4e5Ed65bE5cC9d844B0", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x02", + "from": "0x061060a65146b3265c62fc8f3ae977c9b27260ff", + "gas": "0x2d61e9", + "value": "0x0", + "data": "0x60c060405234801561001057600080fd5b506040516129ed3803806129ed83398101604081905261002f91610096565b6001600160a01b03811660a052604051819061004a90610089565b6001600160a01b039091168152602001604051809103906000f080158015610076573d6000803e3d6000fd5b506001600160a01b0316608052506100c6565b611f6a80610a8383390190565b6000602082840312156100a857600080fd5b81516001600160a01b03811681146100bf57600080fd5b9392505050565b60805160a0516109856100fe6000396000818160a5015261020901526000818160d90152818161012a015261028701526109856000f3fe60806040526004361061003f5760003560e01c80630b824849146100445780638375702b14610080578063b0d691fe14610093578063c1e4ba2d146100c7575b600080fd5b34801561005057600080fd5b5061006461005f366004610375565b6100fb565b6040516001600160a01b03909116815260200160405180910390f35b61006461008e366004610375565b6101d5565b34801561009f57600080fd5b506100647f000000000000000000000000000000000000000000000000000000000000000081565b3480156100d357600080fd5b506100647f000000000000000000000000000000000000000000000000000000000000000081565b60006101cc8260001b6040518060200161011490610352565b6020820181038252601f19601f820116604052507f00000000000000000000000000000000000000000000000000000000000000008660405160240161015a91906103fa565b60408051601f19818403018152918152602080830180516001600160e01b0316632d16032160e01b17905290516101939392910161044f565b60408051601f19818403018152908290526101b19291602001610491565b60405160208183030381529060405280519060200120610320565b90505b92915050565b6000806101e284846100fb565b905034156102685760405163b760faf960e01b81526001600160a01b0382811660048301527f0000000000000000000000000000000000000000000000000000000000000000169063b760faf99034906024016000604051808303818588803b15801561024e57600080fd5b505af1158015610262573d6000803e3d6000fd5b50505050505b6001600160a01b0381163b8015610281575090506101cf565b8360001b7f0000000000000000000000000000000000000000000000000000000000000000866040516024016102b791906103fa565b60408051601f198184030181529181526020820180516001600160e01b0316632d16032160e01b179052516102eb90610352565b6102f692919061044f565b8190604051809103906000f5905080158015610316573d6000803e3d6000fd5b5095945050505050565b60006101cc8383306000604051836040820152846020820152828152600b8101905060ff815360559020949350505050565b6104b8806104c183390190565b634e487b7160e01b600052604160045260246000fd5b6000806060838503121561038857600080fd5b83601f84011261039757600080fd5b6040516040810181811067ffffffffffffffff821117156103ba576103ba61035f565b80604052508060408501868111156103d157600080fd5b855b818110156103eb5780358352602092830192016103d3565b50919691359550909350505050565b60408101818360005b6002811015610422578151835260209283019290910190600101610403565b50505092915050565b60005b8381101561044657818101518382015260200161042e565b50506000910152565b60018060a01b0383168152604060208201526000825180604084015261047c81606085016020870161042b565b601f01601f1916919091016060019392505050565b600083516104a381846020880161042b565b8351908301906104b781836020880161042b565b0194935050505056fe60806040526040516104b83803806104b8833981016040819052610022916102de565b61002e82826000610035565b50506103fb565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c6838360405180606001604052806027815260200161049160279139610180565b9392505050565b6001600160a01b0381163b61013f5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019d91906103ac565b600060405180830381855af49150503d80600081146101d8576040519150601f19603f3d011682016040523d82523d6000602084013e6101dd565b606091505b5090925090506101ef868383876101f9565b9695505050505050565b60608315610268578251600003610261576001600160a01b0385163b6102615760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610136565b5081610272565b610272838361027a565b949350505050565b81511561028a5781518083602001fd5b8060405162461bcd60e51b815260040161013691906103c8565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102d55781810151838201526020016102bd565b50506000910152565b600080604083850312156102f157600080fd5b82516001600160a01b038116811461030857600080fd5b60208401519092506001600160401b038082111561032557600080fd5b818501915085601f83011261033957600080fd5b81518181111561034b5761034b6102a4565b604051601f8201601f19908116603f01168101908382118183101715610373576103736102a4565b8160405282815288602084870101111561038c57600080fd5b61039d8360208301602088016102ba565b80955050505050509250929050565b600082516103be8184602087016102ba565b9190910192915050565b60208152600082518060208401526103e78160408501602087016102ba565b601f01601f19169190910160400192915050565b6088806104096000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6058565b565b600060537f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e8080156076573d6000f35b3d6000fdfea164736f6c6343000815000a416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a164736f6c6343000815000a60c0604052306080523480156200001557600080fd5b5060405162001f6a38038062001f6a833981016040819052620000389162000118565b6001600160a01b03811660a0526200004f62000056565b506200014a565b600054610100900460ff1615620000c35760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff908116101562000116576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6000602082840312156200012b57600080fd5b81516001600160a01b03811681146200014357600080fd5b9392505050565b60805160a051611dc9620001a1600039600081816101ce0152818161037e015281816105b501526108350152600081816104d301528181610513015281816106340152818161067401526107030152611dc96000f3fe60806040526004361061008a5760003560e01c80633a871cdd116100595780633a871cdd146101365780634f1ef2861461016457806352d1902d1461017757806363ffab311461018c578063b0d691fe146101bc57600080fd5b80631626ba7e146100965780632d160321146100d457806334fcd5be146100f65780633659cfe61461011657600080fd5b3661009157005b600080fd5b3480156100a257600080fd5b506100b66100b136600461163e565b610208565b6040516001600160e01b031990911681526020015b60405180910390f35b3480156100e057600080fd5b506100f46100ef3660046116f9565b61025b565b005b34801561010257600080fd5b506100f461011136600461176e565b610373565b34801561012257600080fd5b506100f46101313660046117ff565b6104c9565b34801561014257600080fd5b5061015661015136600461181a565b6105a8565b6040519081526020016100cb565b6100f46101723660046118fb565b61062a565b34801561018357600080fd5b506101566106f6565b34801561019857600080fd5b506001546002546101a7919082565b604080519283526020830191909152016100cb565b3480156101c857600080fd5b506101f07f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100cb565b60006102368460405160200161022091815260200190565b60405160208183030381529060405284846107a9565b156102495750630b135d3f60e11b610254565b506001600160e01b03195b9392505050565b600054610100900460ff161580801561027b5750600054600160ff909116105b806102955750303b158015610295575060005460ff166001145b6102fd5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff191660011790558015610320576000805461ff0019166101001790555b610329826107fd565b801561036f576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146103de5760405162461bcd60e51b815260206004820152601060248201526f1bdb9b1e48195b9d1c9e481c1bda5b9d60821b60448201526064016102f4565b60005b818110156104c4576104b28383838181106103fe576103fe611949565b9050602002810190610410919061195f565b61041e9060208101906117ff565b84848481811061043057610430611949565b9050602002810190610442919061195f565b6020013585858581811061045857610458611949565b905060200281019061046a919061195f565b61047890604081019061197f565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061089592505050565b806104bc816119e3565b9150506103e1565b505050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036105115760405162461bcd60e51b81526004016102f4906119fc565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661055a600080516020611d36833981519152546001600160a01b031690565b6001600160a01b0316146105805760405162461bcd60e51b81526004016102f490611a48565b6105898161090c565b604080516000808252602082019092526105a591839190610947565b50565b6000336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146106155760405162461bcd60e51b815260206004820152601060248201526f1bdb9b1e48195b9d1c9e481c1bda5b9d60821b60448201526064016102f4565b61061f8484610ab2565b905061025482610c72565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036106725760405162461bcd60e51b81526004016102f4906119fc565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166106bb600080516020611d36833981519152546001600160a01b031690565b6001600160a01b0316146106e15760405162461bcd60e51b81526004016102f490611a48565b6106ea8261090c565b61036f82826001610947565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146107965760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016102f4565b50600080516020611d3683398151915290565b6000806107b883850185611a94565b90506107f4858260000151600084602001518560400151866060015187608001518860a0015160016000015460001c600180015460001c610cbf565b95945050505050565b6040805180820182528251808252602080850151928101839052600182905560028390558351808501855291825281019190915290517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316917f8a7fd7e24d60f649878f6c9c7e9114e6614218fd3dce2eb1d79549afaf161ab39161088a9190611b50565b60405180910390a250565b600080846001600160a01b031684846040516108b19190611ba5565b60006040518083038185875af1925050503d80600081146108ee576040519150601f19603f3d011682016040523d82523d6000602084013e6108f3565b606091505b50915091508161090557805160208201fd5b5050505050565b3330146105a55760405162461bcd60e51b815260206004820152600960248201526837b7363c9039b2b63360b91b60448201526064016102f4565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161561097a576104c483610e81565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156109d4575060408051601f3d908101601f191682019092526109d191810190611bb7565b60015b610a375760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b60648201526084016102f4565b600080516020611d368339815191528114610aa65760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b60648201526084016102f4565b506104c4838383610f1d565b604080516060818101835260008083526020830181905292820183905290369083906000610ae461014089018961197f565b9050905080600003610afe57600195505050505050610c6c565b6000610b0e6101408a018a61197f565b6000818110610b1f57610b1f611949565b919091013560f81c9150506001819003610bf6576007821015610b4b5760019650505050505050610c6c565b6000610b5b6101408b018b61197f565b610b6a91600791600191611bd0565b610b7391611bfa565b60d01c9050610b866101408b018b61197f565b610b94916007908290611bd0565b6040516001600160f81b031960f886901b1660208201526001600160d01b031960d085901b166021820152602781018c9052919750955060470160408051601f1981840301815291815265ffffffffffff909216918501919091529550610c05565b60019650505050505050610c6c565b610c108686866107a9565b15610c6157610c5483600060d0826020015165ffffffffffff16901b60a0836040015165ffffffffffff16901b83600001516001600160a01b031617179050919050565b9650505050505050610c6c565b600196505050505050505b92915050565b80156105a557604051600090339060001990849084818181858888f193505050503d8060008114610905576040519150601f19603f3d011682016040523d82523d6000602084013e610905565b600060208a511080610cf95750610cf78a602081518110610ce257610ce2611949565b01602001516001600160f81b0319168a610f48565b155b15610d0657506000610e73565b604080518082019091526015815274113a3cb832911d113bb2b130baba34371733b2ba1160591b6020820152610d3d818a89610fae565b610d4b576000915050610e73565b6000610d568d611067565b9050600081604051602001610d6b9190611c2a565b6040516020818303038152906040529050610d87818c8c610fae565b610d975760009350505050610e73565b600060028c604051610da99190611ba5565b602060405180830381855afa158015610dc6573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190610de99190611bb7565b9050600060028f83604051602001610e02929190611c6b565b60408051601f1981840301815290829052610e1c91611ba5565b602060405180830381855afa158015610e39573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190610e5c9190611bb7565b9050610e6b818b8b8b8b61127f565b955050505050505b9a9950505050505050505050565b6001600160a01b0381163b610eee5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016102f4565b600080516020611d3683398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b610f2683611363565b600082511180610f335750805b156104c457610f4283836113a3565b50505050565b6000600160f81b83811614610f5f57506000610c6c565b818015610f725750600160fa1b83811614155b15610f7f57506000610c6c565b600160fb1b83811614610fa557600f60fc1b600160fc1b841601610fa557506000610c6c565b50600192915050565b825182516000918591859190845b828110156110585781610fcf8289611c8d565b10610fe257600095505050505050610254565b83610fed8289611c8d565b81518110610ffd57610ffd611949565b602001015160f81c60f81b6001600160f81b03191685828151811061102457611024611949565b01602001516001600160f81b0319161461104657600095505050505050610254565b80611050816119e3565b915050610fbc565b50600198975050505050505050565b60606000611074836113c8565b905060008190506000600282511180156110bf575081600283516110989190611ca0565b815181106110a8576110a8611949565b6020910101516001600160f81b031916603d60f81b145b156110cc57506002611117565b6001825111801561110e575081600183516110e79190611ca0565b815181106110f7576110f7611949565b6020910101516001600160f81b031916603d60f81b145b15611117575060015b60008183516111269190611ca0565b905060008167ffffffffffffffff811115611143576111436116ba565b6040519080825280601f01601f19166020018201604052801561116d576020820181803683370190505b50905060005b828110156112745784818151811061118d5761118d611949565b01602001516001600160f81b031916602b60f81b036111d957602d60f81b8282815181106111bd576111bd611949565b60200101906001600160f81b031916908160001a905350611262565b8481815181106111eb576111eb611949565b01602001516001600160f81b031916602f60f81b0361121b57605f60f81b8282815181106111bd576111bd611949565b84818151811061122d5761122d611949565b602001015160f81c60f81b82828151811061124a5761124a611949565b60200101906001600160f81b031916908160001a9053505b8061126c816119e3565b915050611173565b509695505050505050565b6040805160208101879052908101859052606081018490526080810183905260a08101829052600090819060c001604051602081830303815290604052905060008073c2b78104907f722dabac4c69f826a522b2754de46001600160a01b0316836040516112ed9190611ba5565b600060405180830381855afa9150503d8060008114611328576040519150601f19603f3d011682016040523d82523d6000602084013e61132d565b606091505b50915091508161133f5761133f611cb3565b808060200190518101906113539190611bb7565b6001149998505050505050505050565b61136c81610e81565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606102548383604051806060016040528060278152602001611d966027913961151b565b606081516000036113e757505060408051602081019091526000815290565b6000604051806060016040528060408152602001611d5660409139905060006003845160026114169190611c8d565b6114209190611cc9565b61142b906004611ceb565b67ffffffffffffffff811115611443576114436116ba565b6040519080825280601f01601f19166020018201604052801561146d576020820181803683370190505b509050600182016020820185865187015b808210156114d9576003820191508151603f8160121c168501518453600184019350603f81600c1c168501518453600184019350603f8160061c168501518453600184019350603f811685015184535060018301925061147e565b50506003865106600181146114f5576002811461150857611510565b603d6001830353603d6002830353611510565b603d60018303535b509195945050505050565b6060600080856001600160a01b0316856040516115389190611ba5565b600060405180830381855af49150503d8060008114611573576040519150601f19603f3d011682016040523d82523d6000602084013e611578565b606091505b509150915061158986838387611593565b9695505050505050565b606083156116025782516000036115fb576001600160a01b0385163b6115fb5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102f4565b508161160c565b61160c8383611614565b949350505050565b8151156116245781518083602001fd5b8060405162461bcd60e51b81526004016102f49190611d02565b60008060006040848603121561165357600080fd5b83359250602084013567ffffffffffffffff8082111561167257600080fd5b818601915086601f83011261168657600080fd5b81358181111561169557600080fd5b8760208285010111156116a757600080fd5b6020830194508093505050509250925092565b634e487b7160e01b600052604160045260246000fd5b60405160c0810167ffffffffffffffff811182821017156116f3576116f36116ba565b60405290565b60006040828403121561170b57600080fd5b82601f83011261171a57600080fd5b6040516040810181811067ffffffffffffffff8211171561173d5761173d6116ba565b806040525080604084018581111561175457600080fd5b845b81811015611510578035835260209283019201611756565b6000806020838503121561178157600080fd5b823567ffffffffffffffff8082111561179957600080fd5b818501915085601f8301126117ad57600080fd5b8135818111156117bc57600080fd5b8660208260051b85010111156117d157600080fd5b60209290920196919550909350505050565b80356001600160a01b03811681146117fa57600080fd5b919050565b60006020828403121561181157600080fd5b610254826117e3565b60008060006060848603121561182f57600080fd5b833567ffffffffffffffff81111561184657600080fd5b8401610160818703121561185957600080fd5b95602085013595506040909401359392505050565b600082601f83011261187f57600080fd5b813567ffffffffffffffff8082111561189a5761189a6116ba565b604051601f8301601f19908116603f011681019082821181831017156118c2576118c26116ba565b816040528381528660208588010111156118db57600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806040838503121561190e57600080fd5b611917836117e3565b9150602083013567ffffffffffffffff81111561193357600080fd5b61193f8582860161186e565b9150509250929050565b634e487b7160e01b600052603260045260246000fd5b60008235605e1983360301811261197557600080fd5b9190910192915050565b6000808335601e1984360301811261199657600080fd5b83018035915067ffffffffffffffff8211156119b157600080fd5b6020019150368190038213156119c657600080fd5b9250929050565b634e487b7160e01b600052601160045260246000fd5b6000600182016119f5576119f56119cd565b5060010190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b600060208284031215611aa657600080fd5b813567ffffffffffffffff80821115611abe57600080fd5b9083019060c08286031215611ad257600080fd5b611ada6116d0565b823582811115611ae957600080fd5b611af58782860161186e565b825250602083013582811115611b0a57600080fd5b611b168782860161186e565b60208301525060408301356040820152606083013560608201526080830135608082015260a083013560a082015280935050505092915050565b60408101818360005b6002811015611b78578151835260209283019290910190600101611b59565b50505092915050565b60005b83811015611b9c578181015183820152602001611b84565b50506000910152565b60008251611975818460208701611b81565b600060208284031215611bc957600080fd5b5051919050565b60008085851115611be057600080fd5b83861115611bed57600080fd5b5050820193919092039150565b6001600160d01b03198135818116916006851015611c225780818660060360031b1b83161692505b505092915050565b6c1131b430b63632b733b2911d1160991b81528151600090611c5381600d850160208701611b81565b601160f91b600d939091019283015250600e01919050565b60008351611c7d818460208801611b81565b9190910191825250602001919050565b80820180821115610c6c57610c6c6119cd565b81810381811115610c6c57610c6c6119cd565b634e487b7160e01b600052600160045260246000fd5b600082611ce657634e487b7160e01b600052601260045260246000fd5b500490565b8082028115828204841417610c6c57610c6c6119cd565b6020815260008251806020840152611d21816040850160208701611b81565b601f01601f1916919091016040019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc4142434445464748494a4b4c4d4e4f505152535455565758595a6162636465666768696a6b6c6d6e6f707172737475767778797a303132333435363738392b2f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a164736f6c6343000815000a0000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x1e", + "accessList": [] + }, + "additionalContracts": [ + { + "transactionType": "CREATE", + "address": "0xA664329f1490b57625a2a3F8C25265A59c606265", + "initCode": "0x60c0604052306080523480156200001557600080fd5b5060405162001f6a38038062001f6a833981016040819052620000389162000118565b6001600160a01b03811660a0526200004f62000056565b506200014a565b600054610100900460ff1615620000c35760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff908116101562000116576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6000602082840312156200012b57600080fd5b81516001600160a01b03811681146200014357600080fd5b9392505050565b60805160a051611dc9620001a1600039600081816101ce0152818161037e015281816105b501526108350152600081816104d301528181610513015281816106340152818161067401526107030152611dc96000f3fe60806040526004361061008a5760003560e01c80633a871cdd116100595780633a871cdd146101365780634f1ef2861461016457806352d1902d1461017757806363ffab311461018c578063b0d691fe146101bc57600080fd5b80631626ba7e146100965780632d160321146100d457806334fcd5be146100f65780633659cfe61461011657600080fd5b3661009157005b600080fd5b3480156100a257600080fd5b506100b66100b136600461163e565b610208565b6040516001600160e01b031990911681526020015b60405180910390f35b3480156100e057600080fd5b506100f46100ef3660046116f9565b61025b565b005b34801561010257600080fd5b506100f461011136600461176e565b610373565b34801561012257600080fd5b506100f46101313660046117ff565b6104c9565b34801561014257600080fd5b5061015661015136600461181a565b6105a8565b6040519081526020016100cb565b6100f46101723660046118fb565b61062a565b34801561018357600080fd5b506101566106f6565b34801561019857600080fd5b506001546002546101a7919082565b604080519283526020830191909152016100cb565b3480156101c857600080fd5b506101f07f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100cb565b60006102368460405160200161022091815260200190565b60405160208183030381529060405284846107a9565b156102495750630b135d3f60e11b610254565b506001600160e01b03195b9392505050565b600054610100900460ff161580801561027b5750600054600160ff909116105b806102955750303b158015610295575060005460ff166001145b6102fd5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff191660011790558015610320576000805461ff0019166101001790555b610329826107fd565b801561036f576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146103de5760405162461bcd60e51b815260206004820152601060248201526f1bdb9b1e48195b9d1c9e481c1bda5b9d60821b60448201526064016102f4565b60005b818110156104c4576104b28383838181106103fe576103fe611949565b9050602002810190610410919061195f565b61041e9060208101906117ff565b84848481811061043057610430611949565b9050602002810190610442919061195f565b6020013585858581811061045857610458611949565b905060200281019061046a919061195f565b61047890604081019061197f565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061089592505050565b806104bc816119e3565b9150506103e1565b505050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036105115760405162461bcd60e51b81526004016102f4906119fc565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661055a600080516020611d36833981519152546001600160a01b031690565b6001600160a01b0316146105805760405162461bcd60e51b81526004016102f490611a48565b6105898161090c565b604080516000808252602082019092526105a591839190610947565b50565b6000336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146106155760405162461bcd60e51b815260206004820152601060248201526f1bdb9b1e48195b9d1c9e481c1bda5b9d60821b60448201526064016102f4565b61061f8484610ab2565b905061025482610c72565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036106725760405162461bcd60e51b81526004016102f4906119fc565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166106bb600080516020611d36833981519152546001600160a01b031690565b6001600160a01b0316146106e15760405162461bcd60e51b81526004016102f490611a48565b6106ea8261090c565b61036f82826001610947565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146107965760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016102f4565b50600080516020611d3683398151915290565b6000806107b883850185611a94565b90506107f4858260000151600084602001518560400151866060015187608001518860a0015160016000015460001c600180015460001c610cbf565b95945050505050565b6040805180820182528251808252602080850151928101839052600182905560028390558351808501855291825281019190915290517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316917f8a7fd7e24d60f649878f6c9c7e9114e6614218fd3dce2eb1d79549afaf161ab39161088a9190611b50565b60405180910390a250565b600080846001600160a01b031684846040516108b19190611ba5565b60006040518083038185875af1925050503d80600081146108ee576040519150601f19603f3d011682016040523d82523d6000602084013e6108f3565b606091505b50915091508161090557805160208201fd5b5050505050565b3330146105a55760405162461bcd60e51b815260206004820152600960248201526837b7363c9039b2b63360b91b60448201526064016102f4565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161561097a576104c483610e81565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156109d4575060408051601f3d908101601f191682019092526109d191810190611bb7565b60015b610a375760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b60648201526084016102f4565b600080516020611d368339815191528114610aa65760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b60648201526084016102f4565b506104c4838383610f1d565b604080516060818101835260008083526020830181905292820183905290369083906000610ae461014089018961197f565b9050905080600003610afe57600195505050505050610c6c565b6000610b0e6101408a018a61197f565b6000818110610b1f57610b1f611949565b919091013560f81c9150506001819003610bf6576007821015610b4b5760019650505050505050610c6c565b6000610b5b6101408b018b61197f565b610b6a91600791600191611bd0565b610b7391611bfa565b60d01c9050610b866101408b018b61197f565b610b94916007908290611bd0565b6040516001600160f81b031960f886901b1660208201526001600160d01b031960d085901b166021820152602781018c9052919750955060470160408051601f1981840301815291815265ffffffffffff909216918501919091529550610c05565b60019650505050505050610c6c565b610c108686866107a9565b15610c6157610c5483600060d0826020015165ffffffffffff16901b60a0836040015165ffffffffffff16901b83600001516001600160a01b031617179050919050565b9650505050505050610c6c565b600196505050505050505b92915050565b80156105a557604051600090339060001990849084818181858888f193505050503d8060008114610905576040519150601f19603f3d011682016040523d82523d6000602084013e610905565b600060208a511080610cf95750610cf78a602081518110610ce257610ce2611949565b01602001516001600160f81b0319168a610f48565b155b15610d0657506000610e73565b604080518082019091526015815274113a3cb832911d113bb2b130baba34371733b2ba1160591b6020820152610d3d818a89610fae565b610d4b576000915050610e73565b6000610d568d611067565b9050600081604051602001610d6b9190611c2a565b6040516020818303038152906040529050610d87818c8c610fae565b610d975760009350505050610e73565b600060028c604051610da99190611ba5565b602060405180830381855afa158015610dc6573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190610de99190611bb7565b9050600060028f83604051602001610e02929190611c6b565b60408051601f1981840301815290829052610e1c91611ba5565b602060405180830381855afa158015610e39573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190610e5c9190611bb7565b9050610e6b818b8b8b8b61127f565b955050505050505b9a9950505050505050505050565b6001600160a01b0381163b610eee5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016102f4565b600080516020611d3683398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b610f2683611363565b600082511180610f335750805b156104c457610f4283836113a3565b50505050565b6000600160f81b83811614610f5f57506000610c6c565b818015610f725750600160fa1b83811614155b15610f7f57506000610c6c565b600160fb1b83811614610fa557600f60fc1b600160fc1b841601610fa557506000610c6c565b50600192915050565b825182516000918591859190845b828110156110585781610fcf8289611c8d565b10610fe257600095505050505050610254565b83610fed8289611c8d565b81518110610ffd57610ffd611949565b602001015160f81c60f81b6001600160f81b03191685828151811061102457611024611949565b01602001516001600160f81b0319161461104657600095505050505050610254565b80611050816119e3565b915050610fbc565b50600198975050505050505050565b60606000611074836113c8565b905060008190506000600282511180156110bf575081600283516110989190611ca0565b815181106110a8576110a8611949565b6020910101516001600160f81b031916603d60f81b145b156110cc57506002611117565b6001825111801561110e575081600183516110e79190611ca0565b815181106110f7576110f7611949565b6020910101516001600160f81b031916603d60f81b145b15611117575060015b60008183516111269190611ca0565b905060008167ffffffffffffffff811115611143576111436116ba565b6040519080825280601f01601f19166020018201604052801561116d576020820181803683370190505b50905060005b828110156112745784818151811061118d5761118d611949565b01602001516001600160f81b031916602b60f81b036111d957602d60f81b8282815181106111bd576111bd611949565b60200101906001600160f81b031916908160001a905350611262565b8481815181106111eb576111eb611949565b01602001516001600160f81b031916602f60f81b0361121b57605f60f81b8282815181106111bd576111bd611949565b84818151811061122d5761122d611949565b602001015160f81c60f81b82828151811061124a5761124a611949565b60200101906001600160f81b031916908160001a9053505b8061126c816119e3565b915050611173565b509695505050505050565b6040805160208101879052908101859052606081018490526080810183905260a08101829052600090819060c001604051602081830303815290604052905060008073c2b78104907f722dabac4c69f826a522b2754de46001600160a01b0316836040516112ed9190611ba5565b600060405180830381855afa9150503d8060008114611328576040519150601f19603f3d011682016040523d82523d6000602084013e61132d565b606091505b50915091508161133f5761133f611cb3565b808060200190518101906113539190611bb7565b6001149998505050505050505050565b61136c81610e81565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606102548383604051806060016040528060278152602001611d966027913961151b565b606081516000036113e757505060408051602081019091526000815290565b6000604051806060016040528060408152602001611d5660409139905060006003845160026114169190611c8d565b6114209190611cc9565b61142b906004611ceb565b67ffffffffffffffff811115611443576114436116ba565b6040519080825280601f01601f19166020018201604052801561146d576020820181803683370190505b509050600182016020820185865187015b808210156114d9576003820191508151603f8160121c168501518453600184019350603f81600c1c168501518453600184019350603f8160061c168501518453600184019350603f811685015184535060018301925061147e565b50506003865106600181146114f5576002811461150857611510565b603d6001830353603d6002830353611510565b603d60018303535b509195945050505050565b6060600080856001600160a01b0316856040516115389190611ba5565b600060405180830381855af49150503d8060008114611573576040519150601f19603f3d011682016040523d82523d6000602084013e611578565b606091505b509150915061158986838387611593565b9695505050505050565b606083156116025782516000036115fb576001600160a01b0385163b6115fb5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102f4565b508161160c565b61160c8383611614565b949350505050565b8151156116245781518083602001fd5b8060405162461bcd60e51b81526004016102f49190611d02565b60008060006040848603121561165357600080fd5b83359250602084013567ffffffffffffffff8082111561167257600080fd5b818601915086601f83011261168657600080fd5b81358181111561169557600080fd5b8760208285010111156116a757600080fd5b6020830194508093505050509250925092565b634e487b7160e01b600052604160045260246000fd5b60405160c0810167ffffffffffffffff811182821017156116f3576116f36116ba565b60405290565b60006040828403121561170b57600080fd5b82601f83011261171a57600080fd5b6040516040810181811067ffffffffffffffff8211171561173d5761173d6116ba565b806040525080604084018581111561175457600080fd5b845b81811015611510578035835260209283019201611756565b6000806020838503121561178157600080fd5b823567ffffffffffffffff8082111561179957600080fd5b818501915085601f8301126117ad57600080fd5b8135818111156117bc57600080fd5b8660208260051b85010111156117d157600080fd5b60209290920196919550909350505050565b80356001600160a01b03811681146117fa57600080fd5b919050565b60006020828403121561181157600080fd5b610254826117e3565b60008060006060848603121561182f57600080fd5b833567ffffffffffffffff81111561184657600080fd5b8401610160818703121561185957600080fd5b95602085013595506040909401359392505050565b600082601f83011261187f57600080fd5b813567ffffffffffffffff8082111561189a5761189a6116ba565b604051601f8301601f19908116603f011681019082821181831017156118c2576118c26116ba565b816040528381528660208588010111156118db57600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806040838503121561190e57600080fd5b611917836117e3565b9150602083013567ffffffffffffffff81111561193357600080fd5b61193f8582860161186e565b9150509250929050565b634e487b7160e01b600052603260045260246000fd5b60008235605e1983360301811261197557600080fd5b9190910192915050565b6000808335601e1984360301811261199657600080fd5b83018035915067ffffffffffffffff8211156119b157600080fd5b6020019150368190038213156119c657600080fd5b9250929050565b634e487b7160e01b600052601160045260246000fd5b6000600182016119f5576119f56119cd565b5060010190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b600060208284031215611aa657600080fd5b813567ffffffffffffffff80821115611abe57600080fd5b9083019060c08286031215611ad257600080fd5b611ada6116d0565b823582811115611ae957600080fd5b611af58782860161186e565b825250602083013582811115611b0a57600080fd5b611b168782860161186e565b60208301525060408301356040820152606083013560608201526080830135608082015260a083013560a082015280935050505092915050565b60408101818360005b6002811015611b78578151835260209283019290910190600101611b59565b50505092915050565b60005b83811015611b9c578181015183820152602001611b84565b50506000910152565b60008251611975818460208701611b81565b600060208284031215611bc957600080fd5b5051919050565b60008085851115611be057600080fd5b83861115611bed57600080fd5b5050820193919092039150565b6001600160d01b03198135818116916006851015611c225780818660060360031b1b83161692505b505092915050565b6c1131b430b63632b733b2911d1160991b81528151600090611c5381600d850160208701611b81565b601160f91b600d939091019283015250600e01919050565b60008351611c7d818460208801611b81565b9190910191825250602001919050565b80820180821115610c6c57610c6c6119cd565b81810381811115610c6c57610c6c6119cd565b634e487b7160e01b600052600160045260246000fd5b600082611ce657634e487b7160e01b600052601260045260246000fd5b500490565b8082028115828204841417610c6c57610c6c6119cd565b6020815260008251806020840152611d21816040850160208701611b81565b601f01601f1916919091016040019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc4142434445464748494a4b4c4d4e4f505152535455565758595a6162636465666768696a6b6c6d6e6f707172737475767778797a303132333435363738392b2f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a164736f6c6343000815000a0000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789" + } + ], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1698915996, + "chain": 84531, + "multi": false, + "commit": "3450ece" +} \ No newline at end of file diff --git a/contracts/broadcast/SimpleAccountFactory.s.sol/84531/dry-run/run-latest.json b/contracts/broadcast/SimpleAccountFactory.s.sol/84531/dry-run/run-latest.json new file mode 100644 index 0000000..c9699aa --- /dev/null +++ b/contracts/broadcast/SimpleAccountFactory.s.sol/84531/dry-run/run-latest.json @@ -0,0 +1,39 @@ +{ + "transactions": [ + { + "hash": null, + "transactionType": "CREATE", + "contractName": "SimpleAccountFactory", + "contractAddress": "0xCD7DA03e26Fa4b7BcB43B4e5Ed65bE5cC9d844B0", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x02", + "from": "0x061060a65146b3265c62fc8f3ae977c9b27260ff", + "gas": "0x2d61e9", + "value": "0x0", + "data": "0x60c060405234801561001057600080fd5b506040516129ed3803806129ed83398101604081905261002f91610096565b6001600160a01b03811660a052604051819061004a90610089565b6001600160a01b039091168152602001604051809103906000f080158015610076573d6000803e3d6000fd5b506001600160a01b0316608052506100c6565b611f6a80610a8383390190565b6000602082840312156100a857600080fd5b81516001600160a01b03811681146100bf57600080fd5b9392505050565b60805160a0516109856100fe6000396000818160a5015261020901526000818160d90152818161012a015261028701526109856000f3fe60806040526004361061003f5760003560e01c80630b824849146100445780638375702b14610080578063b0d691fe14610093578063c1e4ba2d146100c7575b600080fd5b34801561005057600080fd5b5061006461005f366004610375565b6100fb565b6040516001600160a01b03909116815260200160405180910390f35b61006461008e366004610375565b6101d5565b34801561009f57600080fd5b506100647f000000000000000000000000000000000000000000000000000000000000000081565b3480156100d357600080fd5b506100647f000000000000000000000000000000000000000000000000000000000000000081565b60006101cc8260001b6040518060200161011490610352565b6020820181038252601f19601f820116604052507f00000000000000000000000000000000000000000000000000000000000000008660405160240161015a91906103fa565b60408051601f19818403018152918152602080830180516001600160e01b0316632d16032160e01b17905290516101939392910161044f565b60408051601f19818403018152908290526101b19291602001610491565b60405160208183030381529060405280519060200120610320565b90505b92915050565b6000806101e284846100fb565b905034156102685760405163b760faf960e01b81526001600160a01b0382811660048301527f0000000000000000000000000000000000000000000000000000000000000000169063b760faf99034906024016000604051808303818588803b15801561024e57600080fd5b505af1158015610262573d6000803e3d6000fd5b50505050505b6001600160a01b0381163b8015610281575090506101cf565b8360001b7f0000000000000000000000000000000000000000000000000000000000000000866040516024016102b791906103fa565b60408051601f198184030181529181526020820180516001600160e01b0316632d16032160e01b179052516102eb90610352565b6102f692919061044f565b8190604051809103906000f5905080158015610316573d6000803e3d6000fd5b5095945050505050565b60006101cc8383306000604051836040820152846020820152828152600b8101905060ff815360559020949350505050565b6104b8806104c183390190565b634e487b7160e01b600052604160045260246000fd5b6000806060838503121561038857600080fd5b83601f84011261039757600080fd5b6040516040810181811067ffffffffffffffff821117156103ba576103ba61035f565b80604052508060408501868111156103d157600080fd5b855b818110156103eb5780358352602092830192016103d3565b50919691359550909350505050565b60408101818360005b6002811015610422578151835260209283019290910190600101610403565b50505092915050565b60005b8381101561044657818101518382015260200161042e565b50506000910152565b60018060a01b0383168152604060208201526000825180604084015261047c81606085016020870161042b565b601f01601f1916919091016060019392505050565b600083516104a381846020880161042b565b8351908301906104b781836020880161042b565b0194935050505056fe60806040526040516104b83803806104b8833981016040819052610022916102de565b61002e82826000610035565b50506103fb565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c6838360405180606001604052806027815260200161049160279139610180565b9392505050565b6001600160a01b0381163b61013f5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019d91906103ac565b600060405180830381855af49150503d80600081146101d8576040519150601f19603f3d011682016040523d82523d6000602084013e6101dd565b606091505b5090925090506101ef868383876101f9565b9695505050505050565b60608315610268578251600003610261576001600160a01b0385163b6102615760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610136565b5081610272565b610272838361027a565b949350505050565b81511561028a5781518083602001fd5b8060405162461bcd60e51b815260040161013691906103c8565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102d55781810151838201526020016102bd565b50506000910152565b600080604083850312156102f157600080fd5b82516001600160a01b038116811461030857600080fd5b60208401519092506001600160401b038082111561032557600080fd5b818501915085601f83011261033957600080fd5b81518181111561034b5761034b6102a4565b604051601f8201601f19908116603f01168101908382118183101715610373576103736102a4565b8160405282815288602084870101111561038c57600080fd5b61039d8360208301602088016102ba565b80955050505050509250929050565b600082516103be8184602087016102ba565b9190910192915050565b60208152600082518060208401526103e78160408501602087016102ba565b601f01601f19169190910160400192915050565b6088806104096000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6058565b565b600060537f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e8080156076573d6000f35b3d6000fdfea164736f6c6343000815000a416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a164736f6c6343000815000a60c0604052306080523480156200001557600080fd5b5060405162001f6a38038062001f6a833981016040819052620000389162000118565b6001600160a01b03811660a0526200004f62000056565b506200014a565b600054610100900460ff1615620000c35760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff908116101562000116576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6000602082840312156200012b57600080fd5b81516001600160a01b03811681146200014357600080fd5b9392505050565b60805160a051611dc9620001a1600039600081816101ce0152818161037e015281816105b501526108350152600081816104d301528181610513015281816106340152818161067401526107030152611dc96000f3fe60806040526004361061008a5760003560e01c80633a871cdd116100595780633a871cdd146101365780634f1ef2861461016457806352d1902d1461017757806363ffab311461018c578063b0d691fe146101bc57600080fd5b80631626ba7e146100965780632d160321146100d457806334fcd5be146100f65780633659cfe61461011657600080fd5b3661009157005b600080fd5b3480156100a257600080fd5b506100b66100b136600461163e565b610208565b6040516001600160e01b031990911681526020015b60405180910390f35b3480156100e057600080fd5b506100f46100ef3660046116f9565b61025b565b005b34801561010257600080fd5b506100f461011136600461176e565b610373565b34801561012257600080fd5b506100f46101313660046117ff565b6104c9565b34801561014257600080fd5b5061015661015136600461181a565b6105a8565b6040519081526020016100cb565b6100f46101723660046118fb565b61062a565b34801561018357600080fd5b506101566106f6565b34801561019857600080fd5b506001546002546101a7919082565b604080519283526020830191909152016100cb565b3480156101c857600080fd5b506101f07f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100cb565b60006102368460405160200161022091815260200190565b60405160208183030381529060405284846107a9565b156102495750630b135d3f60e11b610254565b506001600160e01b03195b9392505050565b600054610100900460ff161580801561027b5750600054600160ff909116105b806102955750303b158015610295575060005460ff166001145b6102fd5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff191660011790558015610320576000805461ff0019166101001790555b610329826107fd565b801561036f576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146103de5760405162461bcd60e51b815260206004820152601060248201526f1bdb9b1e48195b9d1c9e481c1bda5b9d60821b60448201526064016102f4565b60005b818110156104c4576104b28383838181106103fe576103fe611949565b9050602002810190610410919061195f565b61041e9060208101906117ff565b84848481811061043057610430611949565b9050602002810190610442919061195f565b6020013585858581811061045857610458611949565b905060200281019061046a919061195f565b61047890604081019061197f565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061089592505050565b806104bc816119e3565b9150506103e1565b505050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036105115760405162461bcd60e51b81526004016102f4906119fc565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661055a600080516020611d36833981519152546001600160a01b031690565b6001600160a01b0316146105805760405162461bcd60e51b81526004016102f490611a48565b6105898161090c565b604080516000808252602082019092526105a591839190610947565b50565b6000336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146106155760405162461bcd60e51b815260206004820152601060248201526f1bdb9b1e48195b9d1c9e481c1bda5b9d60821b60448201526064016102f4565b61061f8484610ab2565b905061025482610c72565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036106725760405162461bcd60e51b81526004016102f4906119fc565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166106bb600080516020611d36833981519152546001600160a01b031690565b6001600160a01b0316146106e15760405162461bcd60e51b81526004016102f490611a48565b6106ea8261090c565b61036f82826001610947565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146107965760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016102f4565b50600080516020611d3683398151915290565b6000806107b883850185611a94565b90506107f4858260000151600084602001518560400151866060015187608001518860a0015160016000015460001c600180015460001c610cbf565b95945050505050565b6040805180820182528251808252602080850151928101839052600182905560028390558351808501855291825281019190915290517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316917f8a7fd7e24d60f649878f6c9c7e9114e6614218fd3dce2eb1d79549afaf161ab39161088a9190611b50565b60405180910390a250565b600080846001600160a01b031684846040516108b19190611ba5565b60006040518083038185875af1925050503d80600081146108ee576040519150601f19603f3d011682016040523d82523d6000602084013e6108f3565b606091505b50915091508161090557805160208201fd5b5050505050565b3330146105a55760405162461bcd60e51b815260206004820152600960248201526837b7363c9039b2b63360b91b60448201526064016102f4565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161561097a576104c483610e81565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156109d4575060408051601f3d908101601f191682019092526109d191810190611bb7565b60015b610a375760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b60648201526084016102f4565b600080516020611d368339815191528114610aa65760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b60648201526084016102f4565b506104c4838383610f1d565b604080516060818101835260008083526020830181905292820183905290369083906000610ae461014089018961197f565b9050905080600003610afe57600195505050505050610c6c565b6000610b0e6101408a018a61197f565b6000818110610b1f57610b1f611949565b919091013560f81c9150506001819003610bf6576007821015610b4b5760019650505050505050610c6c565b6000610b5b6101408b018b61197f565b610b6a91600791600191611bd0565b610b7391611bfa565b60d01c9050610b866101408b018b61197f565b610b94916007908290611bd0565b6040516001600160f81b031960f886901b1660208201526001600160d01b031960d085901b166021820152602781018c9052919750955060470160408051601f1981840301815291815265ffffffffffff909216918501919091529550610c05565b60019650505050505050610c6c565b610c108686866107a9565b15610c6157610c5483600060d0826020015165ffffffffffff16901b60a0836040015165ffffffffffff16901b83600001516001600160a01b031617179050919050565b9650505050505050610c6c565b600196505050505050505b92915050565b80156105a557604051600090339060001990849084818181858888f193505050503d8060008114610905576040519150601f19603f3d011682016040523d82523d6000602084013e610905565b600060208a511080610cf95750610cf78a602081518110610ce257610ce2611949565b01602001516001600160f81b0319168a610f48565b155b15610d0657506000610e73565b604080518082019091526015815274113a3cb832911d113bb2b130baba34371733b2ba1160591b6020820152610d3d818a89610fae565b610d4b576000915050610e73565b6000610d568d611067565b9050600081604051602001610d6b9190611c2a565b6040516020818303038152906040529050610d87818c8c610fae565b610d975760009350505050610e73565b600060028c604051610da99190611ba5565b602060405180830381855afa158015610dc6573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190610de99190611bb7565b9050600060028f83604051602001610e02929190611c6b565b60408051601f1981840301815290829052610e1c91611ba5565b602060405180830381855afa158015610e39573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190610e5c9190611bb7565b9050610e6b818b8b8b8b61127f565b955050505050505b9a9950505050505050505050565b6001600160a01b0381163b610eee5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016102f4565b600080516020611d3683398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b610f2683611363565b600082511180610f335750805b156104c457610f4283836113a3565b50505050565b6000600160f81b83811614610f5f57506000610c6c565b818015610f725750600160fa1b83811614155b15610f7f57506000610c6c565b600160fb1b83811614610fa557600f60fc1b600160fc1b841601610fa557506000610c6c565b50600192915050565b825182516000918591859190845b828110156110585781610fcf8289611c8d565b10610fe257600095505050505050610254565b83610fed8289611c8d565b81518110610ffd57610ffd611949565b602001015160f81c60f81b6001600160f81b03191685828151811061102457611024611949565b01602001516001600160f81b0319161461104657600095505050505050610254565b80611050816119e3565b915050610fbc565b50600198975050505050505050565b60606000611074836113c8565b905060008190506000600282511180156110bf575081600283516110989190611ca0565b815181106110a8576110a8611949565b6020910101516001600160f81b031916603d60f81b145b156110cc57506002611117565b6001825111801561110e575081600183516110e79190611ca0565b815181106110f7576110f7611949565b6020910101516001600160f81b031916603d60f81b145b15611117575060015b60008183516111269190611ca0565b905060008167ffffffffffffffff811115611143576111436116ba565b6040519080825280601f01601f19166020018201604052801561116d576020820181803683370190505b50905060005b828110156112745784818151811061118d5761118d611949565b01602001516001600160f81b031916602b60f81b036111d957602d60f81b8282815181106111bd576111bd611949565b60200101906001600160f81b031916908160001a905350611262565b8481815181106111eb576111eb611949565b01602001516001600160f81b031916602f60f81b0361121b57605f60f81b8282815181106111bd576111bd611949565b84818151811061122d5761122d611949565b602001015160f81c60f81b82828151811061124a5761124a611949565b60200101906001600160f81b031916908160001a9053505b8061126c816119e3565b915050611173565b509695505050505050565b6040805160208101879052908101859052606081018490526080810183905260a08101829052600090819060c001604051602081830303815290604052905060008073c2b78104907f722dabac4c69f826a522b2754de46001600160a01b0316836040516112ed9190611ba5565b600060405180830381855afa9150503d8060008114611328576040519150601f19603f3d011682016040523d82523d6000602084013e61132d565b606091505b50915091508161133f5761133f611cb3565b808060200190518101906113539190611bb7565b6001149998505050505050505050565b61136c81610e81565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606102548383604051806060016040528060278152602001611d966027913961151b565b606081516000036113e757505060408051602081019091526000815290565b6000604051806060016040528060408152602001611d5660409139905060006003845160026114169190611c8d565b6114209190611cc9565b61142b906004611ceb565b67ffffffffffffffff811115611443576114436116ba565b6040519080825280601f01601f19166020018201604052801561146d576020820181803683370190505b509050600182016020820185865187015b808210156114d9576003820191508151603f8160121c168501518453600184019350603f81600c1c168501518453600184019350603f8160061c168501518453600184019350603f811685015184535060018301925061147e565b50506003865106600181146114f5576002811461150857611510565b603d6001830353603d6002830353611510565b603d60018303535b509195945050505050565b6060600080856001600160a01b0316856040516115389190611ba5565b600060405180830381855af49150503d8060008114611573576040519150601f19603f3d011682016040523d82523d6000602084013e611578565b606091505b509150915061158986838387611593565b9695505050505050565b606083156116025782516000036115fb576001600160a01b0385163b6115fb5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102f4565b508161160c565b61160c8383611614565b949350505050565b8151156116245781518083602001fd5b8060405162461bcd60e51b81526004016102f49190611d02565b60008060006040848603121561165357600080fd5b83359250602084013567ffffffffffffffff8082111561167257600080fd5b818601915086601f83011261168657600080fd5b81358181111561169557600080fd5b8760208285010111156116a757600080fd5b6020830194508093505050509250925092565b634e487b7160e01b600052604160045260246000fd5b60405160c0810167ffffffffffffffff811182821017156116f3576116f36116ba565b60405290565b60006040828403121561170b57600080fd5b82601f83011261171a57600080fd5b6040516040810181811067ffffffffffffffff8211171561173d5761173d6116ba565b806040525080604084018581111561175457600080fd5b845b81811015611510578035835260209283019201611756565b6000806020838503121561178157600080fd5b823567ffffffffffffffff8082111561179957600080fd5b818501915085601f8301126117ad57600080fd5b8135818111156117bc57600080fd5b8660208260051b85010111156117d157600080fd5b60209290920196919550909350505050565b80356001600160a01b03811681146117fa57600080fd5b919050565b60006020828403121561181157600080fd5b610254826117e3565b60008060006060848603121561182f57600080fd5b833567ffffffffffffffff81111561184657600080fd5b8401610160818703121561185957600080fd5b95602085013595506040909401359392505050565b600082601f83011261187f57600080fd5b813567ffffffffffffffff8082111561189a5761189a6116ba565b604051601f8301601f19908116603f011681019082821181831017156118c2576118c26116ba565b816040528381528660208588010111156118db57600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806040838503121561190e57600080fd5b611917836117e3565b9150602083013567ffffffffffffffff81111561193357600080fd5b61193f8582860161186e565b9150509250929050565b634e487b7160e01b600052603260045260246000fd5b60008235605e1983360301811261197557600080fd5b9190910192915050565b6000808335601e1984360301811261199657600080fd5b83018035915067ffffffffffffffff8211156119b157600080fd5b6020019150368190038213156119c657600080fd5b9250929050565b634e487b7160e01b600052601160045260246000fd5b6000600182016119f5576119f56119cd565b5060010190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b600060208284031215611aa657600080fd5b813567ffffffffffffffff80821115611abe57600080fd5b9083019060c08286031215611ad257600080fd5b611ada6116d0565b823582811115611ae957600080fd5b611af58782860161186e565b825250602083013582811115611b0a57600080fd5b611b168782860161186e565b60208301525060408301356040820152606083013560608201526080830135608082015260a083013560a082015280935050505092915050565b60408101818360005b6002811015611b78578151835260209283019290910190600101611b59565b50505092915050565b60005b83811015611b9c578181015183820152602001611b84565b50506000910152565b60008251611975818460208701611b81565b600060208284031215611bc957600080fd5b5051919050565b60008085851115611be057600080fd5b83861115611bed57600080fd5b5050820193919092039150565b6001600160d01b03198135818116916006851015611c225780818660060360031b1b83161692505b505092915050565b6c1131b430b63632b733b2911d1160991b81528151600090611c5381600d850160208701611b81565b601160f91b600d939091019283015250600e01919050565b60008351611c7d818460208801611b81565b9190910191825250602001919050565b80820180821115610c6c57610c6c6119cd565b81810381811115610c6c57610c6c6119cd565b634e487b7160e01b600052600160045260246000fd5b600082611ce657634e487b7160e01b600052601260045260246000fd5b500490565b8082028115828204841417610c6c57610c6c6119cd565b6020815260008251806020840152611d21816040850160208701611b81565b601f01601f1916919091016040019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc4142434445464748494a4b4c4d4e4f505152535455565758595a6162636465666768696a6b6c6d6e6f707172737475767778797a303132333435363738392b2f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a164736f6c6343000815000a0000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x1e", + "accessList": [] + }, + "additionalContracts": [ + { + "transactionType": "CREATE", + "address": "0xA664329f1490b57625a2a3F8C25265A59c606265", + "initCode": "0x60c0604052306080523480156200001557600080fd5b5060405162001f6a38038062001f6a833981016040819052620000389162000118565b6001600160a01b03811660a0526200004f62000056565b506200014a565b600054610100900460ff1615620000c35760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff908116101562000116576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6000602082840312156200012b57600080fd5b81516001600160a01b03811681146200014357600080fd5b9392505050565b60805160a051611dc9620001a1600039600081816101ce0152818161037e015281816105b501526108350152600081816104d301528181610513015281816106340152818161067401526107030152611dc96000f3fe60806040526004361061008a5760003560e01c80633a871cdd116100595780633a871cdd146101365780634f1ef2861461016457806352d1902d1461017757806363ffab311461018c578063b0d691fe146101bc57600080fd5b80631626ba7e146100965780632d160321146100d457806334fcd5be146100f65780633659cfe61461011657600080fd5b3661009157005b600080fd5b3480156100a257600080fd5b506100b66100b136600461163e565b610208565b6040516001600160e01b031990911681526020015b60405180910390f35b3480156100e057600080fd5b506100f46100ef3660046116f9565b61025b565b005b34801561010257600080fd5b506100f461011136600461176e565b610373565b34801561012257600080fd5b506100f46101313660046117ff565b6104c9565b34801561014257600080fd5b5061015661015136600461181a565b6105a8565b6040519081526020016100cb565b6100f46101723660046118fb565b61062a565b34801561018357600080fd5b506101566106f6565b34801561019857600080fd5b506001546002546101a7919082565b604080519283526020830191909152016100cb565b3480156101c857600080fd5b506101f07f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100cb565b60006102368460405160200161022091815260200190565b60405160208183030381529060405284846107a9565b156102495750630b135d3f60e11b610254565b506001600160e01b03195b9392505050565b600054610100900460ff161580801561027b5750600054600160ff909116105b806102955750303b158015610295575060005460ff166001145b6102fd5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff191660011790558015610320576000805461ff0019166101001790555b610329826107fd565b801561036f576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146103de5760405162461bcd60e51b815260206004820152601060248201526f1bdb9b1e48195b9d1c9e481c1bda5b9d60821b60448201526064016102f4565b60005b818110156104c4576104b28383838181106103fe576103fe611949565b9050602002810190610410919061195f565b61041e9060208101906117ff565b84848481811061043057610430611949565b9050602002810190610442919061195f565b6020013585858581811061045857610458611949565b905060200281019061046a919061195f565b61047890604081019061197f565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061089592505050565b806104bc816119e3565b9150506103e1565b505050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036105115760405162461bcd60e51b81526004016102f4906119fc565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661055a600080516020611d36833981519152546001600160a01b031690565b6001600160a01b0316146105805760405162461bcd60e51b81526004016102f490611a48565b6105898161090c565b604080516000808252602082019092526105a591839190610947565b50565b6000336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146106155760405162461bcd60e51b815260206004820152601060248201526f1bdb9b1e48195b9d1c9e481c1bda5b9d60821b60448201526064016102f4565b61061f8484610ab2565b905061025482610c72565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036106725760405162461bcd60e51b81526004016102f4906119fc565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166106bb600080516020611d36833981519152546001600160a01b031690565b6001600160a01b0316146106e15760405162461bcd60e51b81526004016102f490611a48565b6106ea8261090c565b61036f82826001610947565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146107965760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016102f4565b50600080516020611d3683398151915290565b6000806107b883850185611a94565b90506107f4858260000151600084602001518560400151866060015187608001518860a0015160016000015460001c600180015460001c610cbf565b95945050505050565b6040805180820182528251808252602080850151928101839052600182905560028390558351808501855291825281019190915290517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316917f8a7fd7e24d60f649878f6c9c7e9114e6614218fd3dce2eb1d79549afaf161ab39161088a9190611b50565b60405180910390a250565b600080846001600160a01b031684846040516108b19190611ba5565b60006040518083038185875af1925050503d80600081146108ee576040519150601f19603f3d011682016040523d82523d6000602084013e6108f3565b606091505b50915091508161090557805160208201fd5b5050505050565b3330146105a55760405162461bcd60e51b815260206004820152600960248201526837b7363c9039b2b63360b91b60448201526064016102f4565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161561097a576104c483610e81565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156109d4575060408051601f3d908101601f191682019092526109d191810190611bb7565b60015b610a375760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b60648201526084016102f4565b600080516020611d368339815191528114610aa65760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b60648201526084016102f4565b506104c4838383610f1d565b604080516060818101835260008083526020830181905292820183905290369083906000610ae461014089018961197f565b9050905080600003610afe57600195505050505050610c6c565b6000610b0e6101408a018a61197f565b6000818110610b1f57610b1f611949565b919091013560f81c9150506001819003610bf6576007821015610b4b5760019650505050505050610c6c565b6000610b5b6101408b018b61197f565b610b6a91600791600191611bd0565b610b7391611bfa565b60d01c9050610b866101408b018b61197f565b610b94916007908290611bd0565b6040516001600160f81b031960f886901b1660208201526001600160d01b031960d085901b166021820152602781018c9052919750955060470160408051601f1981840301815291815265ffffffffffff909216918501919091529550610c05565b60019650505050505050610c6c565b610c108686866107a9565b15610c6157610c5483600060d0826020015165ffffffffffff16901b60a0836040015165ffffffffffff16901b83600001516001600160a01b031617179050919050565b9650505050505050610c6c565b600196505050505050505b92915050565b80156105a557604051600090339060001990849084818181858888f193505050503d8060008114610905576040519150601f19603f3d011682016040523d82523d6000602084013e610905565b600060208a511080610cf95750610cf78a602081518110610ce257610ce2611949565b01602001516001600160f81b0319168a610f48565b155b15610d0657506000610e73565b604080518082019091526015815274113a3cb832911d113bb2b130baba34371733b2ba1160591b6020820152610d3d818a89610fae565b610d4b576000915050610e73565b6000610d568d611067565b9050600081604051602001610d6b9190611c2a565b6040516020818303038152906040529050610d87818c8c610fae565b610d975760009350505050610e73565b600060028c604051610da99190611ba5565b602060405180830381855afa158015610dc6573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190610de99190611bb7565b9050600060028f83604051602001610e02929190611c6b565b60408051601f1981840301815290829052610e1c91611ba5565b602060405180830381855afa158015610e39573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190610e5c9190611bb7565b9050610e6b818b8b8b8b61127f565b955050505050505b9a9950505050505050505050565b6001600160a01b0381163b610eee5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016102f4565b600080516020611d3683398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b610f2683611363565b600082511180610f335750805b156104c457610f4283836113a3565b50505050565b6000600160f81b83811614610f5f57506000610c6c565b818015610f725750600160fa1b83811614155b15610f7f57506000610c6c565b600160fb1b83811614610fa557600f60fc1b600160fc1b841601610fa557506000610c6c565b50600192915050565b825182516000918591859190845b828110156110585781610fcf8289611c8d565b10610fe257600095505050505050610254565b83610fed8289611c8d565b81518110610ffd57610ffd611949565b602001015160f81c60f81b6001600160f81b03191685828151811061102457611024611949565b01602001516001600160f81b0319161461104657600095505050505050610254565b80611050816119e3565b915050610fbc565b50600198975050505050505050565b60606000611074836113c8565b905060008190506000600282511180156110bf575081600283516110989190611ca0565b815181106110a8576110a8611949565b6020910101516001600160f81b031916603d60f81b145b156110cc57506002611117565b6001825111801561110e575081600183516110e79190611ca0565b815181106110f7576110f7611949565b6020910101516001600160f81b031916603d60f81b145b15611117575060015b60008183516111269190611ca0565b905060008167ffffffffffffffff811115611143576111436116ba565b6040519080825280601f01601f19166020018201604052801561116d576020820181803683370190505b50905060005b828110156112745784818151811061118d5761118d611949565b01602001516001600160f81b031916602b60f81b036111d957602d60f81b8282815181106111bd576111bd611949565b60200101906001600160f81b031916908160001a905350611262565b8481815181106111eb576111eb611949565b01602001516001600160f81b031916602f60f81b0361121b57605f60f81b8282815181106111bd576111bd611949565b84818151811061122d5761122d611949565b602001015160f81c60f81b82828151811061124a5761124a611949565b60200101906001600160f81b031916908160001a9053505b8061126c816119e3565b915050611173565b509695505050505050565b6040805160208101879052908101859052606081018490526080810183905260a08101829052600090819060c001604051602081830303815290604052905060008073c2b78104907f722dabac4c69f826a522b2754de46001600160a01b0316836040516112ed9190611ba5565b600060405180830381855afa9150503d8060008114611328576040519150601f19603f3d011682016040523d82523d6000602084013e61132d565b606091505b50915091508161133f5761133f611cb3565b808060200190518101906113539190611bb7565b6001149998505050505050505050565b61136c81610e81565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606102548383604051806060016040528060278152602001611d966027913961151b565b606081516000036113e757505060408051602081019091526000815290565b6000604051806060016040528060408152602001611d5660409139905060006003845160026114169190611c8d565b6114209190611cc9565b61142b906004611ceb565b67ffffffffffffffff811115611443576114436116ba565b6040519080825280601f01601f19166020018201604052801561146d576020820181803683370190505b509050600182016020820185865187015b808210156114d9576003820191508151603f8160121c168501518453600184019350603f81600c1c168501518453600184019350603f8160061c168501518453600184019350603f811685015184535060018301925061147e565b50506003865106600181146114f5576002811461150857611510565b603d6001830353603d6002830353611510565b603d60018303535b509195945050505050565b6060600080856001600160a01b0316856040516115389190611ba5565b600060405180830381855af49150503d8060008114611573576040519150601f19603f3d011682016040523d82523d6000602084013e611578565b606091505b509150915061158986838387611593565b9695505050505050565b606083156116025782516000036115fb576001600160a01b0385163b6115fb5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102f4565b508161160c565b61160c8383611614565b949350505050565b8151156116245781518083602001fd5b8060405162461bcd60e51b81526004016102f49190611d02565b60008060006040848603121561165357600080fd5b83359250602084013567ffffffffffffffff8082111561167257600080fd5b818601915086601f83011261168657600080fd5b81358181111561169557600080fd5b8760208285010111156116a757600080fd5b6020830194508093505050509250925092565b634e487b7160e01b600052604160045260246000fd5b60405160c0810167ffffffffffffffff811182821017156116f3576116f36116ba565b60405290565b60006040828403121561170b57600080fd5b82601f83011261171a57600080fd5b6040516040810181811067ffffffffffffffff8211171561173d5761173d6116ba565b806040525080604084018581111561175457600080fd5b845b81811015611510578035835260209283019201611756565b6000806020838503121561178157600080fd5b823567ffffffffffffffff8082111561179957600080fd5b818501915085601f8301126117ad57600080fd5b8135818111156117bc57600080fd5b8660208260051b85010111156117d157600080fd5b60209290920196919550909350505050565b80356001600160a01b03811681146117fa57600080fd5b919050565b60006020828403121561181157600080fd5b610254826117e3565b60008060006060848603121561182f57600080fd5b833567ffffffffffffffff81111561184657600080fd5b8401610160818703121561185957600080fd5b95602085013595506040909401359392505050565b600082601f83011261187f57600080fd5b813567ffffffffffffffff8082111561189a5761189a6116ba565b604051601f8301601f19908116603f011681019082821181831017156118c2576118c26116ba565b816040528381528660208588010111156118db57600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806040838503121561190e57600080fd5b611917836117e3565b9150602083013567ffffffffffffffff81111561193357600080fd5b61193f8582860161186e565b9150509250929050565b634e487b7160e01b600052603260045260246000fd5b60008235605e1983360301811261197557600080fd5b9190910192915050565b6000808335601e1984360301811261199657600080fd5b83018035915067ffffffffffffffff8211156119b157600080fd5b6020019150368190038213156119c657600080fd5b9250929050565b634e487b7160e01b600052601160045260246000fd5b6000600182016119f5576119f56119cd565b5060010190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b600060208284031215611aa657600080fd5b813567ffffffffffffffff80821115611abe57600080fd5b9083019060c08286031215611ad257600080fd5b611ada6116d0565b823582811115611ae957600080fd5b611af58782860161186e565b825250602083013582811115611b0a57600080fd5b611b168782860161186e565b60208301525060408301356040820152606083013560608201526080830135608082015260a083013560a082015280935050505092915050565b60408101818360005b6002811015611b78578151835260209283019290910190600101611b59565b50505092915050565b60005b83811015611b9c578181015183820152602001611b84565b50506000910152565b60008251611975818460208701611b81565b600060208284031215611bc957600080fd5b5051919050565b60008085851115611be057600080fd5b83861115611bed57600080fd5b5050820193919092039150565b6001600160d01b03198135818116916006851015611c225780818660060360031b1b83161692505b505092915050565b6c1131b430b63632b733b2911d1160991b81528151600090611c5381600d850160208701611b81565b601160f91b600d939091019283015250600e01919050565b60008351611c7d818460208801611b81565b9190910191825250602001919050565b80820180821115610c6c57610c6c6119cd565b81810381811115610c6c57610c6c6119cd565b634e487b7160e01b600052600160045260246000fd5b600082611ce657634e487b7160e01b600052601260045260246000fd5b500490565b8082028115828204841417610c6c57610c6c6119cd565b6020815260008251806020840152611d21816040850160208701611b81565b601f01601f1916919091016040019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc4142434445464748494a4b4c4d4e4f505152535455565758595a6162636465666768696a6b6c6d6e6f707172737475767778797a303132333435363738392b2f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a164736f6c6343000815000a0000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789" + } + ], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1698915996, + "chain": 84531, + "multi": false, + "commit": "3450ece" +} \ No newline at end of file diff --git a/contracts/broadcast/SimpleAccountFactory.s.sol/84531/run-1698916310.json b/contracts/broadcast/SimpleAccountFactory.s.sol/84531/run-1698916310.json new file mode 100644 index 0000000..68a801c --- /dev/null +++ b/contracts/broadcast/SimpleAccountFactory.s.sol/84531/run-1698916310.json @@ -0,0 +1,37 @@ +{ + "transactions": [ + { + "hash": null, + "transactionType": "CREATE", + "contractName": "DeploySimpleAccountFactory", + "contractAddress": "0x5b73C5498c1E3b4dbA84de0F1833c4a029d90519", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x1804c8ab1f12e6bbf3894d4083f33e07309d1f38", + "gas": "0x2d61e9", + "value": "0x0", + "data": "0x60c060405234801561001057600080fd5b506040516129ed3803806129ed83398101604081905261002f91610096565b6001600160a01b03811660a052604051819061004a90610089565b6001600160a01b039091168152602001604051809103906000f080158015610076573d6000803e3d6000fd5b506001600160a01b0316608052506100c6565b611f6a80610a8383390190565b6000602082840312156100a857600080fd5b81516001600160a01b03811681146100bf57600080fd5b9392505050565b60805160a0516109856100fe6000396000818160a5015261020901526000818160d90152818161012a015261028701526109856000f3fe60806040526004361061003f5760003560e01c80630b824849146100445780638375702b14610080578063b0d691fe14610093578063c1e4ba2d146100c7575b600080fd5b34801561005057600080fd5b5061006461005f366004610375565b6100fb565b6040516001600160a01b03909116815260200160405180910390f35b61006461008e366004610375565b6101d5565b34801561009f57600080fd5b506100647f000000000000000000000000000000000000000000000000000000000000000081565b3480156100d357600080fd5b506100647f000000000000000000000000000000000000000000000000000000000000000081565b60006101cc8260001b6040518060200161011490610352565b6020820181038252601f19601f820116604052507f00000000000000000000000000000000000000000000000000000000000000008660405160240161015a91906103fa565b60408051601f19818403018152918152602080830180516001600160e01b0316632d16032160e01b17905290516101939392910161044f565b60408051601f19818403018152908290526101b19291602001610491565b60405160208183030381529060405280519060200120610320565b90505b92915050565b6000806101e284846100fb565b905034156102685760405163b760faf960e01b81526001600160a01b0382811660048301527f0000000000000000000000000000000000000000000000000000000000000000169063b760faf99034906024016000604051808303818588803b15801561024e57600080fd5b505af1158015610262573d6000803e3d6000fd5b50505050505b6001600160a01b0381163b8015610281575090506101cf565b8360001b7f0000000000000000000000000000000000000000000000000000000000000000866040516024016102b791906103fa565b60408051601f198184030181529181526020820180516001600160e01b0316632d16032160e01b179052516102eb90610352565b6102f692919061044f565b8190604051809103906000f5905080158015610316573d6000803e3d6000fd5b5095945050505050565b60006101cc8383306000604051836040820152846020820152828152600b8101905060ff815360559020949350505050565b6104b8806104c183390190565b634e487b7160e01b600052604160045260246000fd5b6000806060838503121561038857600080fd5b83601f84011261039757600080fd5b6040516040810181811067ffffffffffffffff821117156103ba576103ba61035f565b80604052508060408501868111156103d157600080fd5b855b818110156103eb5780358352602092830192016103d3565b50919691359550909350505050565b60408101818360005b6002811015610422578151835260209283019290910190600101610403565b50505092915050565b60005b8381101561044657818101518382015260200161042e565b50506000910152565b60018060a01b0383168152604060208201526000825180604084015261047c81606085016020870161042b565b601f01601f1916919091016060019392505050565b600083516104a381846020880161042b565b8351908301906104b781836020880161042b565b0194935050505056fe60806040526040516104b83803806104b8833981016040819052610022916102de565b61002e82826000610035565b50506103fb565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c6838360405180606001604052806027815260200161049160279139610180565b9392505050565b6001600160a01b0381163b61013f5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019d91906103ac565b600060405180830381855af49150503d80600081146101d8576040519150601f19603f3d011682016040523d82523d6000602084013e6101dd565b606091505b5090925090506101ef868383876101f9565b9695505050505050565b60608315610268578251600003610261576001600160a01b0385163b6102615760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610136565b5081610272565b610272838361027a565b949350505050565b81511561028a5781518083602001fd5b8060405162461bcd60e51b815260040161013691906103c8565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102d55781810151838201526020016102bd565b50506000910152565b600080604083850312156102f157600080fd5b82516001600160a01b038116811461030857600080fd5b60208401519092506001600160401b038082111561032557600080fd5b818501915085601f83011261033957600080fd5b81518181111561034b5761034b6102a4565b604051601f8201601f19908116603f01168101908382118183101715610373576103736102a4565b8160405282815288602084870101111561038c57600080fd5b61039d8360208301602088016102ba565b80955050505050509250929050565b600082516103be8184602087016102ba565b9190910192915050565b60208152600082518060208401526103e78160408501602087016102ba565b601f01601f19169190910160400192915050565b6088806104096000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6058565b565b600060537f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e8080156076573d6000f35b3d6000fdfea164736f6c6343000815000a416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a164736f6c6343000815000a60c0604052306080523480156200001557600080fd5b5060405162001f6a38038062001f6a833981016040819052620000389162000118565b6001600160a01b03811660a0526200004f62000056565b506200014a565b600054610100900460ff1615620000c35760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff908116101562000116576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6000602082840312156200012b57600080fd5b81516001600160a01b03811681146200014357600080fd5b9392505050565b60805160a051611dc9620001a1600039600081816101ce0152818161037e015281816105b501526108350152600081816104d301528181610513015281816106340152818161067401526107030152611dc96000f3fe60806040526004361061008a5760003560e01c80633a871cdd116100595780633a871cdd146101365780634f1ef2861461016457806352d1902d1461017757806363ffab311461018c578063b0d691fe146101bc57600080fd5b80631626ba7e146100965780632d160321146100d457806334fcd5be146100f65780633659cfe61461011657600080fd5b3661009157005b600080fd5b3480156100a257600080fd5b506100b66100b136600461163e565b610208565b6040516001600160e01b031990911681526020015b60405180910390f35b3480156100e057600080fd5b506100f46100ef3660046116f9565b61025b565b005b34801561010257600080fd5b506100f461011136600461176e565b610373565b34801561012257600080fd5b506100f46101313660046117ff565b6104c9565b34801561014257600080fd5b5061015661015136600461181a565b6105a8565b6040519081526020016100cb565b6100f46101723660046118fb565b61062a565b34801561018357600080fd5b506101566106f6565b34801561019857600080fd5b506001546002546101a7919082565b604080519283526020830191909152016100cb565b3480156101c857600080fd5b506101f07f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100cb565b60006102368460405160200161022091815260200190565b60405160208183030381529060405284846107a9565b156102495750630b135d3f60e11b610254565b506001600160e01b03195b9392505050565b600054610100900460ff161580801561027b5750600054600160ff909116105b806102955750303b158015610295575060005460ff166001145b6102fd5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff191660011790558015610320576000805461ff0019166101001790555b610329826107fd565b801561036f576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146103de5760405162461bcd60e51b815260206004820152601060248201526f1bdb9b1e48195b9d1c9e481c1bda5b9d60821b60448201526064016102f4565b60005b818110156104c4576104b28383838181106103fe576103fe611949565b9050602002810190610410919061195f565b61041e9060208101906117ff565b84848481811061043057610430611949565b9050602002810190610442919061195f565b6020013585858581811061045857610458611949565b905060200281019061046a919061195f565b61047890604081019061197f565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061089592505050565b806104bc816119e3565b9150506103e1565b505050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036105115760405162461bcd60e51b81526004016102f4906119fc565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661055a600080516020611d36833981519152546001600160a01b031690565b6001600160a01b0316146105805760405162461bcd60e51b81526004016102f490611a48565b6105898161090c565b604080516000808252602082019092526105a591839190610947565b50565b6000336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146106155760405162461bcd60e51b815260206004820152601060248201526f1bdb9b1e48195b9d1c9e481c1bda5b9d60821b60448201526064016102f4565b61061f8484610ab2565b905061025482610c72565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036106725760405162461bcd60e51b81526004016102f4906119fc565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166106bb600080516020611d36833981519152546001600160a01b031690565b6001600160a01b0316146106e15760405162461bcd60e51b81526004016102f490611a48565b6106ea8261090c565b61036f82826001610947565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146107965760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016102f4565b50600080516020611d3683398151915290565b6000806107b883850185611a94565b90506107f4858260000151600084602001518560400151866060015187608001518860a0015160016000015460001c600180015460001c610cbf565b95945050505050565b6040805180820182528251808252602080850151928101839052600182905560028390558351808501855291825281019190915290517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316917f8a7fd7e24d60f649878f6c9c7e9114e6614218fd3dce2eb1d79549afaf161ab39161088a9190611b50565b60405180910390a250565b600080846001600160a01b031684846040516108b19190611ba5565b60006040518083038185875af1925050503d80600081146108ee576040519150601f19603f3d011682016040523d82523d6000602084013e6108f3565b606091505b50915091508161090557805160208201fd5b5050505050565b3330146105a55760405162461bcd60e51b815260206004820152600960248201526837b7363c9039b2b63360b91b60448201526064016102f4565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161561097a576104c483610e81565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156109d4575060408051601f3d908101601f191682019092526109d191810190611bb7565b60015b610a375760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b60648201526084016102f4565b600080516020611d368339815191528114610aa65760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b60648201526084016102f4565b506104c4838383610f1d565b604080516060818101835260008083526020830181905292820183905290369083906000610ae461014089018961197f565b9050905080600003610afe57600195505050505050610c6c565b6000610b0e6101408a018a61197f565b6000818110610b1f57610b1f611949565b919091013560f81c9150506001819003610bf6576007821015610b4b5760019650505050505050610c6c565b6000610b5b6101408b018b61197f565b610b6a91600791600191611bd0565b610b7391611bfa565b60d01c9050610b866101408b018b61197f565b610b94916007908290611bd0565b6040516001600160f81b031960f886901b1660208201526001600160d01b031960d085901b166021820152602781018c9052919750955060470160408051601f1981840301815291815265ffffffffffff909216918501919091529550610c05565b60019650505050505050610c6c565b610c108686866107a9565b15610c6157610c5483600060d0826020015165ffffffffffff16901b60a0836040015165ffffffffffff16901b83600001516001600160a01b031617179050919050565b9650505050505050610c6c565b600196505050505050505b92915050565b80156105a557604051600090339060001990849084818181858888f193505050503d8060008114610905576040519150601f19603f3d011682016040523d82523d6000602084013e610905565b600060208a511080610cf95750610cf78a602081518110610ce257610ce2611949565b01602001516001600160f81b0319168a610f48565b155b15610d0657506000610e73565b604080518082019091526015815274113a3cb832911d113bb2b130baba34371733b2ba1160591b6020820152610d3d818a89610fae565b610d4b576000915050610e73565b6000610d568d611067565b9050600081604051602001610d6b9190611c2a565b6040516020818303038152906040529050610d87818c8c610fae565b610d975760009350505050610e73565b600060028c604051610da99190611ba5565b602060405180830381855afa158015610dc6573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190610de99190611bb7565b9050600060028f83604051602001610e02929190611c6b565b60408051601f1981840301815290829052610e1c91611ba5565b602060405180830381855afa158015610e39573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190610e5c9190611bb7565b9050610e6b818b8b8b8b61127f565b955050505050505b9a9950505050505050505050565b6001600160a01b0381163b610eee5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016102f4565b600080516020611d3683398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b610f2683611363565b600082511180610f335750805b156104c457610f4283836113a3565b50505050565b6000600160f81b83811614610f5f57506000610c6c565b818015610f725750600160fa1b83811614155b15610f7f57506000610c6c565b600160fb1b83811614610fa557600f60fc1b600160fc1b841601610fa557506000610c6c565b50600192915050565b825182516000918591859190845b828110156110585781610fcf8289611c8d565b10610fe257600095505050505050610254565b83610fed8289611c8d565b81518110610ffd57610ffd611949565b602001015160f81c60f81b6001600160f81b03191685828151811061102457611024611949565b01602001516001600160f81b0319161461104657600095505050505050610254565b80611050816119e3565b915050610fbc565b50600198975050505050505050565b60606000611074836113c8565b905060008190506000600282511180156110bf575081600283516110989190611ca0565b815181106110a8576110a8611949565b6020910101516001600160f81b031916603d60f81b145b156110cc57506002611117565b6001825111801561110e575081600183516110e79190611ca0565b815181106110f7576110f7611949565b6020910101516001600160f81b031916603d60f81b145b15611117575060015b60008183516111269190611ca0565b905060008167ffffffffffffffff811115611143576111436116ba565b6040519080825280601f01601f19166020018201604052801561116d576020820181803683370190505b50905060005b828110156112745784818151811061118d5761118d611949565b01602001516001600160f81b031916602b60f81b036111d957602d60f81b8282815181106111bd576111bd611949565b60200101906001600160f81b031916908160001a905350611262565b8481815181106111eb576111eb611949565b01602001516001600160f81b031916602f60f81b0361121b57605f60f81b8282815181106111bd576111bd611949565b84818151811061122d5761122d611949565b602001015160f81c60f81b82828151811061124a5761124a611949565b60200101906001600160f81b031916908160001a9053505b8061126c816119e3565b915050611173565b509695505050505050565b6040805160208101879052908101859052606081018490526080810183905260a08101829052600090819060c001604051602081830303815290604052905060008073c2b78104907f722dabac4c69f826a522b2754de46001600160a01b0316836040516112ed9190611ba5565b600060405180830381855afa9150503d8060008114611328576040519150601f19603f3d011682016040523d82523d6000602084013e61132d565b606091505b50915091508161133f5761133f611cb3565b808060200190518101906113539190611bb7565b6001149998505050505050505050565b61136c81610e81565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606102548383604051806060016040528060278152602001611d966027913961151b565b606081516000036113e757505060408051602081019091526000815290565b6000604051806060016040528060408152602001611d5660409139905060006003845160026114169190611c8d565b6114209190611cc9565b61142b906004611ceb565b67ffffffffffffffff811115611443576114436116ba565b6040519080825280601f01601f19166020018201604052801561146d576020820181803683370190505b509050600182016020820185865187015b808210156114d9576003820191508151603f8160121c168501518453600184019350603f81600c1c168501518453600184019350603f8160061c168501518453600184019350603f811685015184535060018301925061147e565b50506003865106600181146114f5576002811461150857611510565b603d6001830353603d6002830353611510565b603d60018303535b509195945050505050565b6060600080856001600160a01b0316856040516115389190611ba5565b600060405180830381855af49150503d8060008114611573576040519150601f19603f3d011682016040523d82523d6000602084013e611578565b606091505b509150915061158986838387611593565b9695505050505050565b606083156116025782516000036115fb576001600160a01b0385163b6115fb5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102f4565b508161160c565b61160c8383611614565b949350505050565b8151156116245781518083602001fd5b8060405162461bcd60e51b81526004016102f49190611d02565b60008060006040848603121561165357600080fd5b83359250602084013567ffffffffffffffff8082111561167257600080fd5b818601915086601f83011261168657600080fd5b81358181111561169557600080fd5b8760208285010111156116a757600080fd5b6020830194508093505050509250925092565b634e487b7160e01b600052604160045260246000fd5b60405160c0810167ffffffffffffffff811182821017156116f3576116f36116ba565b60405290565b60006040828403121561170b57600080fd5b82601f83011261171a57600080fd5b6040516040810181811067ffffffffffffffff8211171561173d5761173d6116ba565b806040525080604084018581111561175457600080fd5b845b81811015611510578035835260209283019201611756565b6000806020838503121561178157600080fd5b823567ffffffffffffffff8082111561179957600080fd5b818501915085601f8301126117ad57600080fd5b8135818111156117bc57600080fd5b8660208260051b85010111156117d157600080fd5b60209290920196919550909350505050565b80356001600160a01b03811681146117fa57600080fd5b919050565b60006020828403121561181157600080fd5b610254826117e3565b60008060006060848603121561182f57600080fd5b833567ffffffffffffffff81111561184657600080fd5b8401610160818703121561185957600080fd5b95602085013595506040909401359392505050565b600082601f83011261187f57600080fd5b813567ffffffffffffffff8082111561189a5761189a6116ba565b604051601f8301601f19908116603f011681019082821181831017156118c2576118c26116ba565b816040528381528660208588010111156118db57600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806040838503121561190e57600080fd5b611917836117e3565b9150602083013567ffffffffffffffff81111561193357600080fd5b61193f8582860161186e565b9150509250929050565b634e487b7160e01b600052603260045260246000fd5b60008235605e1983360301811261197557600080fd5b9190910192915050565b6000808335601e1984360301811261199657600080fd5b83018035915067ffffffffffffffff8211156119b157600080fd5b6020019150368190038213156119c657600080fd5b9250929050565b634e487b7160e01b600052601160045260246000fd5b6000600182016119f5576119f56119cd565b5060010190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b600060208284031215611aa657600080fd5b813567ffffffffffffffff80821115611abe57600080fd5b9083019060c08286031215611ad257600080fd5b611ada6116d0565b823582811115611ae957600080fd5b611af58782860161186e565b825250602083013582811115611b0a57600080fd5b611b168782860161186e565b60208301525060408301356040820152606083013560608201526080830135608082015260a083013560a082015280935050505092915050565b60408101818360005b6002811015611b78578151835260209283019290910190600101611b59565b50505092915050565b60005b83811015611b9c578181015183820152602001611b84565b50506000910152565b60008251611975818460208701611b81565b600060208284031215611bc957600080fd5b5051919050565b60008085851115611be057600080fd5b83861115611bed57600080fd5b5050820193919092039150565b6001600160d01b03198135818116916006851015611c225780818660060360031b1b83161692505b505092915050565b6c1131b430b63632b733b2911d1160991b81528151600090611c5381600d850160208701611b81565b601160f91b600d939091019283015250600e01919050565b60008351611c7d818460208801611b81565b9190910191825250602001919050565b80820180821115610c6c57610c6c6119cd565b81810381811115610c6c57610c6c6119cd565b634e487b7160e01b600052600160045260246000fd5b600082611ce657634e487b7160e01b600052601260045260246000fd5b500490565b8082028115828204841417610c6c57610c6c6119cd565b6020815260008251806020840152611d21816040850160208701611b81565b601f01601f1916919091016040019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc4142434445464748494a4b4c4d4e4f505152535455565758595a6162636465666768696a6b6c6d6e6f707172737475767778797a303132333435363738392b2f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a164736f6c6343000815000a0000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x2", + "accessList": [] + }, + "additionalContracts": [ + { + "transactionType": "CREATE", + "address": "0xC7f2Cf4845C6db0e1a1e91ED41Bcd0FcC1b0E141", + "initCode": "0x60c0604052306080523480156200001557600080fd5b5060405162001f6a38038062001f6a833981016040819052620000389162000118565b6001600160a01b03811660a0526200004f62000056565b506200014a565b600054610100900460ff1615620000c35760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff908116101562000116576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6000602082840312156200012b57600080fd5b81516001600160a01b03811681146200014357600080fd5b9392505050565b60805160a051611dc9620001a1600039600081816101ce0152818161037e015281816105b501526108350152600081816104d301528181610513015281816106340152818161067401526107030152611dc96000f3fe60806040526004361061008a5760003560e01c80633a871cdd116100595780633a871cdd146101365780634f1ef2861461016457806352d1902d1461017757806363ffab311461018c578063b0d691fe146101bc57600080fd5b80631626ba7e146100965780632d160321146100d457806334fcd5be146100f65780633659cfe61461011657600080fd5b3661009157005b600080fd5b3480156100a257600080fd5b506100b66100b136600461163e565b610208565b6040516001600160e01b031990911681526020015b60405180910390f35b3480156100e057600080fd5b506100f46100ef3660046116f9565b61025b565b005b34801561010257600080fd5b506100f461011136600461176e565b610373565b34801561012257600080fd5b506100f46101313660046117ff565b6104c9565b34801561014257600080fd5b5061015661015136600461181a565b6105a8565b6040519081526020016100cb565b6100f46101723660046118fb565b61062a565b34801561018357600080fd5b506101566106f6565b34801561019857600080fd5b506001546002546101a7919082565b604080519283526020830191909152016100cb565b3480156101c857600080fd5b506101f07f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100cb565b60006102368460405160200161022091815260200190565b60405160208183030381529060405284846107a9565b156102495750630b135d3f60e11b610254565b506001600160e01b03195b9392505050565b600054610100900460ff161580801561027b5750600054600160ff909116105b806102955750303b158015610295575060005460ff166001145b6102fd5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff191660011790558015610320576000805461ff0019166101001790555b610329826107fd565b801561036f576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146103de5760405162461bcd60e51b815260206004820152601060248201526f1bdb9b1e48195b9d1c9e481c1bda5b9d60821b60448201526064016102f4565b60005b818110156104c4576104b28383838181106103fe576103fe611949565b9050602002810190610410919061195f565b61041e9060208101906117ff565b84848481811061043057610430611949565b9050602002810190610442919061195f565b6020013585858581811061045857610458611949565b905060200281019061046a919061195f565b61047890604081019061197f565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061089592505050565b806104bc816119e3565b9150506103e1565b505050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036105115760405162461bcd60e51b81526004016102f4906119fc565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661055a600080516020611d36833981519152546001600160a01b031690565b6001600160a01b0316146105805760405162461bcd60e51b81526004016102f490611a48565b6105898161090c565b604080516000808252602082019092526105a591839190610947565b50565b6000336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146106155760405162461bcd60e51b815260206004820152601060248201526f1bdb9b1e48195b9d1c9e481c1bda5b9d60821b60448201526064016102f4565b61061f8484610ab2565b905061025482610c72565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036106725760405162461bcd60e51b81526004016102f4906119fc565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166106bb600080516020611d36833981519152546001600160a01b031690565b6001600160a01b0316146106e15760405162461bcd60e51b81526004016102f490611a48565b6106ea8261090c565b61036f82826001610947565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146107965760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016102f4565b50600080516020611d3683398151915290565b6000806107b883850185611a94565b90506107f4858260000151600084602001518560400151866060015187608001518860a0015160016000015460001c600180015460001c610cbf565b95945050505050565b6040805180820182528251808252602080850151928101839052600182905560028390558351808501855291825281019190915290517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316917f8a7fd7e24d60f649878f6c9c7e9114e6614218fd3dce2eb1d79549afaf161ab39161088a9190611b50565b60405180910390a250565b600080846001600160a01b031684846040516108b19190611ba5565b60006040518083038185875af1925050503d80600081146108ee576040519150601f19603f3d011682016040523d82523d6000602084013e6108f3565b606091505b50915091508161090557805160208201fd5b5050505050565b3330146105a55760405162461bcd60e51b815260206004820152600960248201526837b7363c9039b2b63360b91b60448201526064016102f4565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161561097a576104c483610e81565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156109d4575060408051601f3d908101601f191682019092526109d191810190611bb7565b60015b610a375760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b60648201526084016102f4565b600080516020611d368339815191528114610aa65760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b60648201526084016102f4565b506104c4838383610f1d565b604080516060818101835260008083526020830181905292820183905290369083906000610ae461014089018961197f565b9050905080600003610afe57600195505050505050610c6c565b6000610b0e6101408a018a61197f565b6000818110610b1f57610b1f611949565b919091013560f81c9150506001819003610bf6576007821015610b4b5760019650505050505050610c6c565b6000610b5b6101408b018b61197f565b610b6a91600791600191611bd0565b610b7391611bfa565b60d01c9050610b866101408b018b61197f565b610b94916007908290611bd0565b6040516001600160f81b031960f886901b1660208201526001600160d01b031960d085901b166021820152602781018c9052919750955060470160408051601f1981840301815291815265ffffffffffff909216918501919091529550610c05565b60019650505050505050610c6c565b610c108686866107a9565b15610c6157610c5483600060d0826020015165ffffffffffff16901b60a0836040015165ffffffffffff16901b83600001516001600160a01b031617179050919050565b9650505050505050610c6c565b600196505050505050505b92915050565b80156105a557604051600090339060001990849084818181858888f193505050503d8060008114610905576040519150601f19603f3d011682016040523d82523d6000602084013e610905565b600060208a511080610cf95750610cf78a602081518110610ce257610ce2611949565b01602001516001600160f81b0319168a610f48565b155b15610d0657506000610e73565b604080518082019091526015815274113a3cb832911d113bb2b130baba34371733b2ba1160591b6020820152610d3d818a89610fae565b610d4b576000915050610e73565b6000610d568d611067565b9050600081604051602001610d6b9190611c2a565b6040516020818303038152906040529050610d87818c8c610fae565b610d975760009350505050610e73565b600060028c604051610da99190611ba5565b602060405180830381855afa158015610dc6573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190610de99190611bb7565b9050600060028f83604051602001610e02929190611c6b565b60408051601f1981840301815290829052610e1c91611ba5565b602060405180830381855afa158015610e39573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190610e5c9190611bb7565b9050610e6b818b8b8b8b61127f565b955050505050505b9a9950505050505050505050565b6001600160a01b0381163b610eee5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016102f4565b600080516020611d3683398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b610f2683611363565b600082511180610f335750805b156104c457610f4283836113a3565b50505050565b6000600160f81b83811614610f5f57506000610c6c565b818015610f725750600160fa1b83811614155b15610f7f57506000610c6c565b600160fb1b83811614610fa557600f60fc1b600160fc1b841601610fa557506000610c6c565b50600192915050565b825182516000918591859190845b828110156110585781610fcf8289611c8d565b10610fe257600095505050505050610254565b83610fed8289611c8d565b81518110610ffd57610ffd611949565b602001015160f81c60f81b6001600160f81b03191685828151811061102457611024611949565b01602001516001600160f81b0319161461104657600095505050505050610254565b80611050816119e3565b915050610fbc565b50600198975050505050505050565b60606000611074836113c8565b905060008190506000600282511180156110bf575081600283516110989190611ca0565b815181106110a8576110a8611949565b6020910101516001600160f81b031916603d60f81b145b156110cc57506002611117565b6001825111801561110e575081600183516110e79190611ca0565b815181106110f7576110f7611949565b6020910101516001600160f81b031916603d60f81b145b15611117575060015b60008183516111269190611ca0565b905060008167ffffffffffffffff811115611143576111436116ba565b6040519080825280601f01601f19166020018201604052801561116d576020820181803683370190505b50905060005b828110156112745784818151811061118d5761118d611949565b01602001516001600160f81b031916602b60f81b036111d957602d60f81b8282815181106111bd576111bd611949565b60200101906001600160f81b031916908160001a905350611262565b8481815181106111eb576111eb611949565b01602001516001600160f81b031916602f60f81b0361121b57605f60f81b8282815181106111bd576111bd611949565b84818151811061122d5761122d611949565b602001015160f81c60f81b82828151811061124a5761124a611949565b60200101906001600160f81b031916908160001a9053505b8061126c816119e3565b915050611173565b509695505050505050565b6040805160208101879052908101859052606081018490526080810183905260a08101829052600090819060c001604051602081830303815290604052905060008073c2b78104907f722dabac4c69f826a522b2754de46001600160a01b0316836040516112ed9190611ba5565b600060405180830381855afa9150503d8060008114611328576040519150601f19603f3d011682016040523d82523d6000602084013e61132d565b606091505b50915091508161133f5761133f611cb3565b808060200190518101906113539190611bb7565b6001149998505050505050505050565b61136c81610e81565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606102548383604051806060016040528060278152602001611d966027913961151b565b606081516000036113e757505060408051602081019091526000815290565b6000604051806060016040528060408152602001611d5660409139905060006003845160026114169190611c8d565b6114209190611cc9565b61142b906004611ceb565b67ffffffffffffffff811115611443576114436116ba565b6040519080825280601f01601f19166020018201604052801561146d576020820181803683370190505b509050600182016020820185865187015b808210156114d9576003820191508151603f8160121c168501518453600184019350603f81600c1c168501518453600184019350603f8160061c168501518453600184019350603f811685015184535060018301925061147e565b50506003865106600181146114f5576002811461150857611510565b603d6001830353603d6002830353611510565b603d60018303535b509195945050505050565b6060600080856001600160a01b0316856040516115389190611ba5565b600060405180830381855af49150503d8060008114611573576040519150601f19603f3d011682016040523d82523d6000602084013e611578565b606091505b509150915061158986838387611593565b9695505050505050565b606083156116025782516000036115fb576001600160a01b0385163b6115fb5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102f4565b508161160c565b61160c8383611614565b949350505050565b8151156116245781518083602001fd5b8060405162461bcd60e51b81526004016102f49190611d02565b60008060006040848603121561165357600080fd5b83359250602084013567ffffffffffffffff8082111561167257600080fd5b818601915086601f83011261168657600080fd5b81358181111561169557600080fd5b8760208285010111156116a757600080fd5b6020830194508093505050509250925092565b634e487b7160e01b600052604160045260246000fd5b60405160c0810167ffffffffffffffff811182821017156116f3576116f36116ba565b60405290565b60006040828403121561170b57600080fd5b82601f83011261171a57600080fd5b6040516040810181811067ffffffffffffffff8211171561173d5761173d6116ba565b806040525080604084018581111561175457600080fd5b845b81811015611510578035835260209283019201611756565b6000806020838503121561178157600080fd5b823567ffffffffffffffff8082111561179957600080fd5b818501915085601f8301126117ad57600080fd5b8135818111156117bc57600080fd5b8660208260051b85010111156117d157600080fd5b60209290920196919550909350505050565b80356001600160a01b03811681146117fa57600080fd5b919050565b60006020828403121561181157600080fd5b610254826117e3565b60008060006060848603121561182f57600080fd5b833567ffffffffffffffff81111561184657600080fd5b8401610160818703121561185957600080fd5b95602085013595506040909401359392505050565b600082601f83011261187f57600080fd5b813567ffffffffffffffff8082111561189a5761189a6116ba565b604051601f8301601f19908116603f011681019082821181831017156118c2576118c26116ba565b816040528381528660208588010111156118db57600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806040838503121561190e57600080fd5b611917836117e3565b9150602083013567ffffffffffffffff81111561193357600080fd5b61193f8582860161186e565b9150509250929050565b634e487b7160e01b600052603260045260246000fd5b60008235605e1983360301811261197557600080fd5b9190910192915050565b6000808335601e1984360301811261199657600080fd5b83018035915067ffffffffffffffff8211156119b157600080fd5b6020019150368190038213156119c657600080fd5b9250929050565b634e487b7160e01b600052601160045260246000fd5b6000600182016119f5576119f56119cd565b5060010190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b600060208284031215611aa657600080fd5b813567ffffffffffffffff80821115611abe57600080fd5b9083019060c08286031215611ad257600080fd5b611ada6116d0565b823582811115611ae957600080fd5b611af58782860161186e565b825250602083013582811115611b0a57600080fd5b611b168782860161186e565b60208301525060408301356040820152606083013560608201526080830135608082015260a083013560a082015280935050505092915050565b60408101818360005b6002811015611b78578151835260209283019290910190600101611b59565b50505092915050565b60005b83811015611b9c578181015183820152602001611b84565b50506000910152565b60008251611975818460208701611b81565b600060208284031215611bc957600080fd5b5051919050565b60008085851115611be057600080fd5b83861115611bed57600080fd5b5050820193919092039150565b6001600160d01b03198135818116916006851015611c225780818660060360031b1b83161692505b505092915050565b6c1131b430b63632b733b2911d1160991b81528151600090611c5381600d850160208701611b81565b601160f91b600d939091019283015250600e01919050565b60008351611c7d818460208801611b81565b9190910191825250602001919050565b80820180821115610c6c57610c6c6119cd565b81810381811115610c6c57610c6c6119cd565b634e487b7160e01b600052600160045260246000fd5b600082611ce657634e487b7160e01b600052601260045260246000fd5b500490565b8082028115828204841417610c6c57610c6c6119cd565b6020815260008251806020840152611d21816040850160208701611b81565b601f01601f1916919091016040019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc4142434445464748494a4b4c4d4e4f505152535455565758595a6162636465666768696a6b6c6d6e6f707172737475767778797a303132333435363738392b2f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a164736f6c6343000815000a0000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789" + } + ], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1698916310, + "chain": 84531, + "multi": false, + "commit": "3450ece" +} \ No newline at end of file diff --git a/contracts/broadcast/SimpleAccountFactory.s.sol/84531/run-1698916336.json b/contracts/broadcast/SimpleAccountFactory.s.sol/84531/run-1698916336.json new file mode 100644 index 0000000..907281b --- /dev/null +++ b/contracts/broadcast/SimpleAccountFactory.s.sol/84531/run-1698916336.json @@ -0,0 +1,39 @@ +{ + "transactions": [ + { + "hash": null, + "transactionType": "CREATE", + "contractName": "SimpleAccountFactory", + "contractAddress": "0xCD7DA03e26Fa4b7BcB43B4e5Ed65bE5cC9d844B0", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x02", + "from": "0x061060a65146b3265c62fc8f3ae977c9b27260ff", + "gas": "0x2d61e9", + "value": "0x0", + "data": "0x60c060405234801561001057600080fd5b506040516129ed3803806129ed83398101604081905261002f91610096565b6001600160a01b03811660a052604051819061004a90610089565b6001600160a01b039091168152602001604051809103906000f080158015610076573d6000803e3d6000fd5b506001600160a01b0316608052506100c6565b611f6a80610a8383390190565b6000602082840312156100a857600080fd5b81516001600160a01b03811681146100bf57600080fd5b9392505050565b60805160a0516109856100fe6000396000818160a5015261020901526000818160d90152818161012a015261028701526109856000f3fe60806040526004361061003f5760003560e01c80630b824849146100445780638375702b14610080578063b0d691fe14610093578063c1e4ba2d146100c7575b600080fd5b34801561005057600080fd5b5061006461005f366004610375565b6100fb565b6040516001600160a01b03909116815260200160405180910390f35b61006461008e366004610375565b6101d5565b34801561009f57600080fd5b506100647f000000000000000000000000000000000000000000000000000000000000000081565b3480156100d357600080fd5b506100647f000000000000000000000000000000000000000000000000000000000000000081565b60006101cc8260001b6040518060200161011490610352565b6020820181038252601f19601f820116604052507f00000000000000000000000000000000000000000000000000000000000000008660405160240161015a91906103fa565b60408051601f19818403018152918152602080830180516001600160e01b0316632d16032160e01b17905290516101939392910161044f565b60408051601f19818403018152908290526101b19291602001610491565b60405160208183030381529060405280519060200120610320565b90505b92915050565b6000806101e284846100fb565b905034156102685760405163b760faf960e01b81526001600160a01b0382811660048301527f0000000000000000000000000000000000000000000000000000000000000000169063b760faf99034906024016000604051808303818588803b15801561024e57600080fd5b505af1158015610262573d6000803e3d6000fd5b50505050505b6001600160a01b0381163b8015610281575090506101cf565b8360001b7f0000000000000000000000000000000000000000000000000000000000000000866040516024016102b791906103fa565b60408051601f198184030181529181526020820180516001600160e01b0316632d16032160e01b179052516102eb90610352565b6102f692919061044f565b8190604051809103906000f5905080158015610316573d6000803e3d6000fd5b5095945050505050565b60006101cc8383306000604051836040820152846020820152828152600b8101905060ff815360559020949350505050565b6104b8806104c183390190565b634e487b7160e01b600052604160045260246000fd5b6000806060838503121561038857600080fd5b83601f84011261039757600080fd5b6040516040810181811067ffffffffffffffff821117156103ba576103ba61035f565b80604052508060408501868111156103d157600080fd5b855b818110156103eb5780358352602092830192016103d3565b50919691359550909350505050565b60408101818360005b6002811015610422578151835260209283019290910190600101610403565b50505092915050565b60005b8381101561044657818101518382015260200161042e565b50506000910152565b60018060a01b0383168152604060208201526000825180604084015261047c81606085016020870161042b565b601f01601f1916919091016060019392505050565b600083516104a381846020880161042b565b8351908301906104b781836020880161042b565b0194935050505056fe60806040526040516104b83803806104b8833981016040819052610022916102de565b61002e82826000610035565b50506103fb565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c6838360405180606001604052806027815260200161049160279139610180565b9392505050565b6001600160a01b0381163b61013f5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019d91906103ac565b600060405180830381855af49150503d80600081146101d8576040519150601f19603f3d011682016040523d82523d6000602084013e6101dd565b606091505b5090925090506101ef868383876101f9565b9695505050505050565b60608315610268578251600003610261576001600160a01b0385163b6102615760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610136565b5081610272565b610272838361027a565b949350505050565b81511561028a5781518083602001fd5b8060405162461bcd60e51b815260040161013691906103c8565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102d55781810151838201526020016102bd565b50506000910152565b600080604083850312156102f157600080fd5b82516001600160a01b038116811461030857600080fd5b60208401519092506001600160401b038082111561032557600080fd5b818501915085601f83011261033957600080fd5b81518181111561034b5761034b6102a4565b604051601f8201601f19908116603f01168101908382118183101715610373576103736102a4565b8160405282815288602084870101111561038c57600080fd5b61039d8360208301602088016102ba565b80955050505050509250929050565b600082516103be8184602087016102ba565b9190910192915050565b60208152600082518060208401526103e78160408501602087016102ba565b601f01601f19169190910160400192915050565b6088806104096000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6058565b565b600060537f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e8080156076573d6000f35b3d6000fdfea164736f6c6343000815000a416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a164736f6c6343000815000a60c0604052306080523480156200001557600080fd5b5060405162001f6a38038062001f6a833981016040819052620000389162000118565b6001600160a01b03811660a0526200004f62000056565b506200014a565b600054610100900460ff1615620000c35760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff908116101562000116576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6000602082840312156200012b57600080fd5b81516001600160a01b03811681146200014357600080fd5b9392505050565b60805160a051611dc9620001a1600039600081816101ce0152818161037e015281816105b501526108350152600081816104d301528181610513015281816106340152818161067401526107030152611dc96000f3fe60806040526004361061008a5760003560e01c80633a871cdd116100595780633a871cdd146101365780634f1ef2861461016457806352d1902d1461017757806363ffab311461018c578063b0d691fe146101bc57600080fd5b80631626ba7e146100965780632d160321146100d457806334fcd5be146100f65780633659cfe61461011657600080fd5b3661009157005b600080fd5b3480156100a257600080fd5b506100b66100b136600461163e565b610208565b6040516001600160e01b031990911681526020015b60405180910390f35b3480156100e057600080fd5b506100f46100ef3660046116f9565b61025b565b005b34801561010257600080fd5b506100f461011136600461176e565b610373565b34801561012257600080fd5b506100f46101313660046117ff565b6104c9565b34801561014257600080fd5b5061015661015136600461181a565b6105a8565b6040519081526020016100cb565b6100f46101723660046118fb565b61062a565b34801561018357600080fd5b506101566106f6565b34801561019857600080fd5b506001546002546101a7919082565b604080519283526020830191909152016100cb565b3480156101c857600080fd5b506101f07f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100cb565b60006102368460405160200161022091815260200190565b60405160208183030381529060405284846107a9565b156102495750630b135d3f60e11b610254565b506001600160e01b03195b9392505050565b600054610100900460ff161580801561027b5750600054600160ff909116105b806102955750303b158015610295575060005460ff166001145b6102fd5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff191660011790558015610320576000805461ff0019166101001790555b610329826107fd565b801561036f576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146103de5760405162461bcd60e51b815260206004820152601060248201526f1bdb9b1e48195b9d1c9e481c1bda5b9d60821b60448201526064016102f4565b60005b818110156104c4576104b28383838181106103fe576103fe611949565b9050602002810190610410919061195f565b61041e9060208101906117ff565b84848481811061043057610430611949565b9050602002810190610442919061195f565b6020013585858581811061045857610458611949565b905060200281019061046a919061195f565b61047890604081019061197f565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061089592505050565b806104bc816119e3565b9150506103e1565b505050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036105115760405162461bcd60e51b81526004016102f4906119fc565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661055a600080516020611d36833981519152546001600160a01b031690565b6001600160a01b0316146105805760405162461bcd60e51b81526004016102f490611a48565b6105898161090c565b604080516000808252602082019092526105a591839190610947565b50565b6000336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146106155760405162461bcd60e51b815260206004820152601060248201526f1bdb9b1e48195b9d1c9e481c1bda5b9d60821b60448201526064016102f4565b61061f8484610ab2565b905061025482610c72565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036106725760405162461bcd60e51b81526004016102f4906119fc565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166106bb600080516020611d36833981519152546001600160a01b031690565b6001600160a01b0316146106e15760405162461bcd60e51b81526004016102f490611a48565b6106ea8261090c565b61036f82826001610947565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146107965760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016102f4565b50600080516020611d3683398151915290565b6000806107b883850185611a94565b90506107f4858260000151600084602001518560400151866060015187608001518860a0015160016000015460001c600180015460001c610cbf565b95945050505050565b6040805180820182528251808252602080850151928101839052600182905560028390558351808501855291825281019190915290517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316917f8a7fd7e24d60f649878f6c9c7e9114e6614218fd3dce2eb1d79549afaf161ab39161088a9190611b50565b60405180910390a250565b600080846001600160a01b031684846040516108b19190611ba5565b60006040518083038185875af1925050503d80600081146108ee576040519150601f19603f3d011682016040523d82523d6000602084013e6108f3565b606091505b50915091508161090557805160208201fd5b5050505050565b3330146105a55760405162461bcd60e51b815260206004820152600960248201526837b7363c9039b2b63360b91b60448201526064016102f4565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161561097a576104c483610e81565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156109d4575060408051601f3d908101601f191682019092526109d191810190611bb7565b60015b610a375760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b60648201526084016102f4565b600080516020611d368339815191528114610aa65760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b60648201526084016102f4565b506104c4838383610f1d565b604080516060818101835260008083526020830181905292820183905290369083906000610ae461014089018961197f565b9050905080600003610afe57600195505050505050610c6c565b6000610b0e6101408a018a61197f565b6000818110610b1f57610b1f611949565b919091013560f81c9150506001819003610bf6576007821015610b4b5760019650505050505050610c6c565b6000610b5b6101408b018b61197f565b610b6a91600791600191611bd0565b610b7391611bfa565b60d01c9050610b866101408b018b61197f565b610b94916007908290611bd0565b6040516001600160f81b031960f886901b1660208201526001600160d01b031960d085901b166021820152602781018c9052919750955060470160408051601f1981840301815291815265ffffffffffff909216918501919091529550610c05565b60019650505050505050610c6c565b610c108686866107a9565b15610c6157610c5483600060d0826020015165ffffffffffff16901b60a0836040015165ffffffffffff16901b83600001516001600160a01b031617179050919050565b9650505050505050610c6c565b600196505050505050505b92915050565b80156105a557604051600090339060001990849084818181858888f193505050503d8060008114610905576040519150601f19603f3d011682016040523d82523d6000602084013e610905565b600060208a511080610cf95750610cf78a602081518110610ce257610ce2611949565b01602001516001600160f81b0319168a610f48565b155b15610d0657506000610e73565b604080518082019091526015815274113a3cb832911d113bb2b130baba34371733b2ba1160591b6020820152610d3d818a89610fae565b610d4b576000915050610e73565b6000610d568d611067565b9050600081604051602001610d6b9190611c2a565b6040516020818303038152906040529050610d87818c8c610fae565b610d975760009350505050610e73565b600060028c604051610da99190611ba5565b602060405180830381855afa158015610dc6573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190610de99190611bb7565b9050600060028f83604051602001610e02929190611c6b565b60408051601f1981840301815290829052610e1c91611ba5565b602060405180830381855afa158015610e39573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190610e5c9190611bb7565b9050610e6b818b8b8b8b61127f565b955050505050505b9a9950505050505050505050565b6001600160a01b0381163b610eee5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016102f4565b600080516020611d3683398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b610f2683611363565b600082511180610f335750805b156104c457610f4283836113a3565b50505050565b6000600160f81b83811614610f5f57506000610c6c565b818015610f725750600160fa1b83811614155b15610f7f57506000610c6c565b600160fb1b83811614610fa557600f60fc1b600160fc1b841601610fa557506000610c6c565b50600192915050565b825182516000918591859190845b828110156110585781610fcf8289611c8d565b10610fe257600095505050505050610254565b83610fed8289611c8d565b81518110610ffd57610ffd611949565b602001015160f81c60f81b6001600160f81b03191685828151811061102457611024611949565b01602001516001600160f81b0319161461104657600095505050505050610254565b80611050816119e3565b915050610fbc565b50600198975050505050505050565b60606000611074836113c8565b905060008190506000600282511180156110bf575081600283516110989190611ca0565b815181106110a8576110a8611949565b6020910101516001600160f81b031916603d60f81b145b156110cc57506002611117565b6001825111801561110e575081600183516110e79190611ca0565b815181106110f7576110f7611949565b6020910101516001600160f81b031916603d60f81b145b15611117575060015b60008183516111269190611ca0565b905060008167ffffffffffffffff811115611143576111436116ba565b6040519080825280601f01601f19166020018201604052801561116d576020820181803683370190505b50905060005b828110156112745784818151811061118d5761118d611949565b01602001516001600160f81b031916602b60f81b036111d957602d60f81b8282815181106111bd576111bd611949565b60200101906001600160f81b031916908160001a905350611262565b8481815181106111eb576111eb611949565b01602001516001600160f81b031916602f60f81b0361121b57605f60f81b8282815181106111bd576111bd611949565b84818151811061122d5761122d611949565b602001015160f81c60f81b82828151811061124a5761124a611949565b60200101906001600160f81b031916908160001a9053505b8061126c816119e3565b915050611173565b509695505050505050565b6040805160208101879052908101859052606081018490526080810183905260a08101829052600090819060c001604051602081830303815290604052905060008073c2b78104907f722dabac4c69f826a522b2754de46001600160a01b0316836040516112ed9190611ba5565b600060405180830381855afa9150503d8060008114611328576040519150601f19603f3d011682016040523d82523d6000602084013e61132d565b606091505b50915091508161133f5761133f611cb3565b808060200190518101906113539190611bb7565b6001149998505050505050505050565b61136c81610e81565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606102548383604051806060016040528060278152602001611d966027913961151b565b606081516000036113e757505060408051602081019091526000815290565b6000604051806060016040528060408152602001611d5660409139905060006003845160026114169190611c8d565b6114209190611cc9565b61142b906004611ceb565b67ffffffffffffffff811115611443576114436116ba565b6040519080825280601f01601f19166020018201604052801561146d576020820181803683370190505b509050600182016020820185865187015b808210156114d9576003820191508151603f8160121c168501518453600184019350603f81600c1c168501518453600184019350603f8160061c168501518453600184019350603f811685015184535060018301925061147e565b50506003865106600181146114f5576002811461150857611510565b603d6001830353603d6002830353611510565b603d60018303535b509195945050505050565b6060600080856001600160a01b0316856040516115389190611ba5565b600060405180830381855af49150503d8060008114611573576040519150601f19603f3d011682016040523d82523d6000602084013e611578565b606091505b509150915061158986838387611593565b9695505050505050565b606083156116025782516000036115fb576001600160a01b0385163b6115fb5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102f4565b508161160c565b61160c8383611614565b949350505050565b8151156116245781518083602001fd5b8060405162461bcd60e51b81526004016102f49190611d02565b60008060006040848603121561165357600080fd5b83359250602084013567ffffffffffffffff8082111561167257600080fd5b818601915086601f83011261168657600080fd5b81358181111561169557600080fd5b8760208285010111156116a757600080fd5b6020830194508093505050509250925092565b634e487b7160e01b600052604160045260246000fd5b60405160c0810167ffffffffffffffff811182821017156116f3576116f36116ba565b60405290565b60006040828403121561170b57600080fd5b82601f83011261171a57600080fd5b6040516040810181811067ffffffffffffffff8211171561173d5761173d6116ba565b806040525080604084018581111561175457600080fd5b845b81811015611510578035835260209283019201611756565b6000806020838503121561178157600080fd5b823567ffffffffffffffff8082111561179957600080fd5b818501915085601f8301126117ad57600080fd5b8135818111156117bc57600080fd5b8660208260051b85010111156117d157600080fd5b60209290920196919550909350505050565b80356001600160a01b03811681146117fa57600080fd5b919050565b60006020828403121561181157600080fd5b610254826117e3565b60008060006060848603121561182f57600080fd5b833567ffffffffffffffff81111561184657600080fd5b8401610160818703121561185957600080fd5b95602085013595506040909401359392505050565b600082601f83011261187f57600080fd5b813567ffffffffffffffff8082111561189a5761189a6116ba565b604051601f8301601f19908116603f011681019082821181831017156118c2576118c26116ba565b816040528381528660208588010111156118db57600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806040838503121561190e57600080fd5b611917836117e3565b9150602083013567ffffffffffffffff81111561193357600080fd5b61193f8582860161186e565b9150509250929050565b634e487b7160e01b600052603260045260246000fd5b60008235605e1983360301811261197557600080fd5b9190910192915050565b6000808335601e1984360301811261199657600080fd5b83018035915067ffffffffffffffff8211156119b157600080fd5b6020019150368190038213156119c657600080fd5b9250929050565b634e487b7160e01b600052601160045260246000fd5b6000600182016119f5576119f56119cd565b5060010190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b600060208284031215611aa657600080fd5b813567ffffffffffffffff80821115611abe57600080fd5b9083019060c08286031215611ad257600080fd5b611ada6116d0565b823582811115611ae957600080fd5b611af58782860161186e565b825250602083013582811115611b0a57600080fd5b611b168782860161186e565b60208301525060408301356040820152606083013560608201526080830135608082015260a083013560a082015280935050505092915050565b60408101818360005b6002811015611b78578151835260209283019290910190600101611b59565b50505092915050565b60005b83811015611b9c578181015183820152602001611b84565b50506000910152565b60008251611975818460208701611b81565b600060208284031215611bc957600080fd5b5051919050565b60008085851115611be057600080fd5b83861115611bed57600080fd5b5050820193919092039150565b6001600160d01b03198135818116916006851015611c225780818660060360031b1b83161692505b505092915050565b6c1131b430b63632b733b2911d1160991b81528151600090611c5381600d850160208701611b81565b601160f91b600d939091019283015250600e01919050565b60008351611c7d818460208801611b81565b9190910191825250602001919050565b80820180821115610c6c57610c6c6119cd565b81810381811115610c6c57610c6c6119cd565b634e487b7160e01b600052600160045260246000fd5b600082611ce657634e487b7160e01b600052601260045260246000fd5b500490565b8082028115828204841417610c6c57610c6c6119cd565b6020815260008251806020840152611d21816040850160208701611b81565b601f01601f1916919091016040019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc4142434445464748494a4b4c4d4e4f505152535455565758595a6162636465666768696a6b6c6d6e6f707172737475767778797a303132333435363738392b2f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a164736f6c6343000815000a0000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x1e", + "accessList": [] + }, + "additionalContracts": [ + { + "transactionType": "CREATE", + "address": "0xA664329f1490b57625a2a3F8C25265A59c606265", + "initCode": "0x60c0604052306080523480156200001557600080fd5b5060405162001f6a38038062001f6a833981016040819052620000389162000118565b6001600160a01b03811660a0526200004f62000056565b506200014a565b600054610100900460ff1615620000c35760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff908116101562000116576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6000602082840312156200012b57600080fd5b81516001600160a01b03811681146200014357600080fd5b9392505050565b60805160a051611dc9620001a1600039600081816101ce0152818161037e015281816105b501526108350152600081816104d301528181610513015281816106340152818161067401526107030152611dc96000f3fe60806040526004361061008a5760003560e01c80633a871cdd116100595780633a871cdd146101365780634f1ef2861461016457806352d1902d1461017757806363ffab311461018c578063b0d691fe146101bc57600080fd5b80631626ba7e146100965780632d160321146100d457806334fcd5be146100f65780633659cfe61461011657600080fd5b3661009157005b600080fd5b3480156100a257600080fd5b506100b66100b136600461163e565b610208565b6040516001600160e01b031990911681526020015b60405180910390f35b3480156100e057600080fd5b506100f46100ef3660046116f9565b61025b565b005b34801561010257600080fd5b506100f461011136600461176e565b610373565b34801561012257600080fd5b506100f46101313660046117ff565b6104c9565b34801561014257600080fd5b5061015661015136600461181a565b6105a8565b6040519081526020016100cb565b6100f46101723660046118fb565b61062a565b34801561018357600080fd5b506101566106f6565b34801561019857600080fd5b506001546002546101a7919082565b604080519283526020830191909152016100cb565b3480156101c857600080fd5b506101f07f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100cb565b60006102368460405160200161022091815260200190565b60405160208183030381529060405284846107a9565b156102495750630b135d3f60e11b610254565b506001600160e01b03195b9392505050565b600054610100900460ff161580801561027b5750600054600160ff909116105b806102955750303b158015610295575060005460ff166001145b6102fd5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff191660011790558015610320576000805461ff0019166101001790555b610329826107fd565b801561036f576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146103de5760405162461bcd60e51b815260206004820152601060248201526f1bdb9b1e48195b9d1c9e481c1bda5b9d60821b60448201526064016102f4565b60005b818110156104c4576104b28383838181106103fe576103fe611949565b9050602002810190610410919061195f565b61041e9060208101906117ff565b84848481811061043057610430611949565b9050602002810190610442919061195f565b6020013585858581811061045857610458611949565b905060200281019061046a919061195f565b61047890604081019061197f565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061089592505050565b806104bc816119e3565b9150506103e1565b505050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036105115760405162461bcd60e51b81526004016102f4906119fc565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661055a600080516020611d36833981519152546001600160a01b031690565b6001600160a01b0316146105805760405162461bcd60e51b81526004016102f490611a48565b6105898161090c565b604080516000808252602082019092526105a591839190610947565b50565b6000336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146106155760405162461bcd60e51b815260206004820152601060248201526f1bdb9b1e48195b9d1c9e481c1bda5b9d60821b60448201526064016102f4565b61061f8484610ab2565b905061025482610c72565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036106725760405162461bcd60e51b81526004016102f4906119fc565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166106bb600080516020611d36833981519152546001600160a01b031690565b6001600160a01b0316146106e15760405162461bcd60e51b81526004016102f490611a48565b6106ea8261090c565b61036f82826001610947565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146107965760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016102f4565b50600080516020611d3683398151915290565b6000806107b883850185611a94565b90506107f4858260000151600084602001518560400151866060015187608001518860a0015160016000015460001c600180015460001c610cbf565b95945050505050565b6040805180820182528251808252602080850151928101839052600182905560028390558351808501855291825281019190915290517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316917f8a7fd7e24d60f649878f6c9c7e9114e6614218fd3dce2eb1d79549afaf161ab39161088a9190611b50565b60405180910390a250565b600080846001600160a01b031684846040516108b19190611ba5565b60006040518083038185875af1925050503d80600081146108ee576040519150601f19603f3d011682016040523d82523d6000602084013e6108f3565b606091505b50915091508161090557805160208201fd5b5050505050565b3330146105a55760405162461bcd60e51b815260206004820152600960248201526837b7363c9039b2b63360b91b60448201526064016102f4565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161561097a576104c483610e81565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156109d4575060408051601f3d908101601f191682019092526109d191810190611bb7565b60015b610a375760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b60648201526084016102f4565b600080516020611d368339815191528114610aa65760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b60648201526084016102f4565b506104c4838383610f1d565b604080516060818101835260008083526020830181905292820183905290369083906000610ae461014089018961197f565b9050905080600003610afe57600195505050505050610c6c565b6000610b0e6101408a018a61197f565b6000818110610b1f57610b1f611949565b919091013560f81c9150506001819003610bf6576007821015610b4b5760019650505050505050610c6c565b6000610b5b6101408b018b61197f565b610b6a91600791600191611bd0565b610b7391611bfa565b60d01c9050610b866101408b018b61197f565b610b94916007908290611bd0565b6040516001600160f81b031960f886901b1660208201526001600160d01b031960d085901b166021820152602781018c9052919750955060470160408051601f1981840301815291815265ffffffffffff909216918501919091529550610c05565b60019650505050505050610c6c565b610c108686866107a9565b15610c6157610c5483600060d0826020015165ffffffffffff16901b60a0836040015165ffffffffffff16901b83600001516001600160a01b031617179050919050565b9650505050505050610c6c565b600196505050505050505b92915050565b80156105a557604051600090339060001990849084818181858888f193505050503d8060008114610905576040519150601f19603f3d011682016040523d82523d6000602084013e610905565b600060208a511080610cf95750610cf78a602081518110610ce257610ce2611949565b01602001516001600160f81b0319168a610f48565b155b15610d0657506000610e73565b604080518082019091526015815274113a3cb832911d113bb2b130baba34371733b2ba1160591b6020820152610d3d818a89610fae565b610d4b576000915050610e73565b6000610d568d611067565b9050600081604051602001610d6b9190611c2a565b6040516020818303038152906040529050610d87818c8c610fae565b610d975760009350505050610e73565b600060028c604051610da99190611ba5565b602060405180830381855afa158015610dc6573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190610de99190611bb7565b9050600060028f83604051602001610e02929190611c6b565b60408051601f1981840301815290829052610e1c91611ba5565b602060405180830381855afa158015610e39573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190610e5c9190611bb7565b9050610e6b818b8b8b8b61127f565b955050505050505b9a9950505050505050505050565b6001600160a01b0381163b610eee5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016102f4565b600080516020611d3683398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b610f2683611363565b600082511180610f335750805b156104c457610f4283836113a3565b50505050565b6000600160f81b83811614610f5f57506000610c6c565b818015610f725750600160fa1b83811614155b15610f7f57506000610c6c565b600160fb1b83811614610fa557600f60fc1b600160fc1b841601610fa557506000610c6c565b50600192915050565b825182516000918591859190845b828110156110585781610fcf8289611c8d565b10610fe257600095505050505050610254565b83610fed8289611c8d565b81518110610ffd57610ffd611949565b602001015160f81c60f81b6001600160f81b03191685828151811061102457611024611949565b01602001516001600160f81b0319161461104657600095505050505050610254565b80611050816119e3565b915050610fbc565b50600198975050505050505050565b60606000611074836113c8565b905060008190506000600282511180156110bf575081600283516110989190611ca0565b815181106110a8576110a8611949565b6020910101516001600160f81b031916603d60f81b145b156110cc57506002611117565b6001825111801561110e575081600183516110e79190611ca0565b815181106110f7576110f7611949565b6020910101516001600160f81b031916603d60f81b145b15611117575060015b60008183516111269190611ca0565b905060008167ffffffffffffffff811115611143576111436116ba565b6040519080825280601f01601f19166020018201604052801561116d576020820181803683370190505b50905060005b828110156112745784818151811061118d5761118d611949565b01602001516001600160f81b031916602b60f81b036111d957602d60f81b8282815181106111bd576111bd611949565b60200101906001600160f81b031916908160001a905350611262565b8481815181106111eb576111eb611949565b01602001516001600160f81b031916602f60f81b0361121b57605f60f81b8282815181106111bd576111bd611949565b84818151811061122d5761122d611949565b602001015160f81c60f81b82828151811061124a5761124a611949565b60200101906001600160f81b031916908160001a9053505b8061126c816119e3565b915050611173565b509695505050505050565b6040805160208101879052908101859052606081018490526080810183905260a08101829052600090819060c001604051602081830303815290604052905060008073c2b78104907f722dabac4c69f826a522b2754de46001600160a01b0316836040516112ed9190611ba5565b600060405180830381855afa9150503d8060008114611328576040519150601f19603f3d011682016040523d82523d6000602084013e61132d565b606091505b50915091508161133f5761133f611cb3565b808060200190518101906113539190611bb7565b6001149998505050505050505050565b61136c81610e81565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606102548383604051806060016040528060278152602001611d966027913961151b565b606081516000036113e757505060408051602081019091526000815290565b6000604051806060016040528060408152602001611d5660409139905060006003845160026114169190611c8d565b6114209190611cc9565b61142b906004611ceb565b67ffffffffffffffff811115611443576114436116ba565b6040519080825280601f01601f19166020018201604052801561146d576020820181803683370190505b509050600182016020820185865187015b808210156114d9576003820191508151603f8160121c168501518453600184019350603f81600c1c168501518453600184019350603f8160061c168501518453600184019350603f811685015184535060018301925061147e565b50506003865106600181146114f5576002811461150857611510565b603d6001830353603d6002830353611510565b603d60018303535b509195945050505050565b6060600080856001600160a01b0316856040516115389190611ba5565b600060405180830381855af49150503d8060008114611573576040519150601f19603f3d011682016040523d82523d6000602084013e611578565b606091505b509150915061158986838387611593565b9695505050505050565b606083156116025782516000036115fb576001600160a01b0385163b6115fb5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102f4565b508161160c565b61160c8383611614565b949350505050565b8151156116245781518083602001fd5b8060405162461bcd60e51b81526004016102f49190611d02565b60008060006040848603121561165357600080fd5b83359250602084013567ffffffffffffffff8082111561167257600080fd5b818601915086601f83011261168657600080fd5b81358181111561169557600080fd5b8760208285010111156116a757600080fd5b6020830194508093505050509250925092565b634e487b7160e01b600052604160045260246000fd5b60405160c0810167ffffffffffffffff811182821017156116f3576116f36116ba565b60405290565b60006040828403121561170b57600080fd5b82601f83011261171a57600080fd5b6040516040810181811067ffffffffffffffff8211171561173d5761173d6116ba565b806040525080604084018581111561175457600080fd5b845b81811015611510578035835260209283019201611756565b6000806020838503121561178157600080fd5b823567ffffffffffffffff8082111561179957600080fd5b818501915085601f8301126117ad57600080fd5b8135818111156117bc57600080fd5b8660208260051b85010111156117d157600080fd5b60209290920196919550909350505050565b80356001600160a01b03811681146117fa57600080fd5b919050565b60006020828403121561181157600080fd5b610254826117e3565b60008060006060848603121561182f57600080fd5b833567ffffffffffffffff81111561184657600080fd5b8401610160818703121561185957600080fd5b95602085013595506040909401359392505050565b600082601f83011261187f57600080fd5b813567ffffffffffffffff8082111561189a5761189a6116ba565b604051601f8301601f19908116603f011681019082821181831017156118c2576118c26116ba565b816040528381528660208588010111156118db57600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806040838503121561190e57600080fd5b611917836117e3565b9150602083013567ffffffffffffffff81111561193357600080fd5b61193f8582860161186e565b9150509250929050565b634e487b7160e01b600052603260045260246000fd5b60008235605e1983360301811261197557600080fd5b9190910192915050565b6000808335601e1984360301811261199657600080fd5b83018035915067ffffffffffffffff8211156119b157600080fd5b6020019150368190038213156119c657600080fd5b9250929050565b634e487b7160e01b600052601160045260246000fd5b6000600182016119f5576119f56119cd565b5060010190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b600060208284031215611aa657600080fd5b813567ffffffffffffffff80821115611abe57600080fd5b9083019060c08286031215611ad257600080fd5b611ada6116d0565b823582811115611ae957600080fd5b611af58782860161186e565b825250602083013582811115611b0a57600080fd5b611b168782860161186e565b60208301525060408301356040820152606083013560608201526080830135608082015260a083013560a082015280935050505092915050565b60408101818360005b6002811015611b78578151835260209283019290910190600101611b59565b50505092915050565b60005b83811015611b9c578181015183820152602001611b84565b50506000910152565b60008251611975818460208701611b81565b600060208284031215611bc957600080fd5b5051919050565b60008085851115611be057600080fd5b83861115611bed57600080fd5b5050820193919092039150565b6001600160d01b03198135818116916006851015611c225780818660060360031b1b83161692505b505092915050565b6c1131b430b63632b733b2911d1160991b81528151600090611c5381600d850160208701611b81565b601160f91b600d939091019283015250600e01919050565b60008351611c7d818460208801611b81565b9190910191825250602001919050565b80820180821115610c6c57610c6c6119cd565b81810381811115610c6c57610c6c6119cd565b634e487b7160e01b600052600160045260246000fd5b600082611ce657634e487b7160e01b600052601260045260246000fd5b500490565b8082028115828204841417610c6c57610c6c6119cd565b6020815260008251806020840152611d21816040850160208701611b81565b601f01601f1916919091016040019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc4142434445464748494a4b4c4d4e4f505152535455565758595a6162636465666768696a6b6c6d6e6f707172737475767778797a303132333435363738392b2f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a164736f6c6343000815000a0000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789" + } + ], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1698916336, + "chain": 84531, + "multi": false, + "commit": "3450ece" +} \ No newline at end of file diff --git a/contracts/broadcast/SimpleAccountFactory.s.sol/84531/run-1698916418.json b/contracts/broadcast/SimpleAccountFactory.s.sol/84531/run-1698916418.json new file mode 100644 index 0000000..2411fd0 --- /dev/null +++ b/contracts/broadcast/SimpleAccountFactory.s.sol/84531/run-1698916418.json @@ -0,0 +1,70 @@ +{ + "transactions": [ + { + "hash": "0x6d0c7233911612cfb0011a3f80908f8051e66ecc4c123ad7e7c0bc55095867c0", + "transactionType": "CREATE", + "contractName": "SimpleAccountFactory", + "contractAddress": "0xCD7DA03e26Fa4b7BcB43B4e5Ed65bE5cC9d844B0", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x02", + "from": "0x061060a65146b3265c62fc8f3ae977c9b27260ff", + "gas": "0x2d61e9", + "value": "0x0", + "data": "0x60c060405234801561001057600080fd5b506040516129ed3803806129ed83398101604081905261002f91610096565b6001600160a01b03811660a052604051819061004a90610089565b6001600160a01b039091168152602001604051809103906000f080158015610076573d6000803e3d6000fd5b506001600160a01b0316608052506100c6565b611f6a80610a8383390190565b6000602082840312156100a857600080fd5b81516001600160a01b03811681146100bf57600080fd5b9392505050565b60805160a0516109856100fe6000396000818160a5015261020901526000818160d90152818161012a015261028701526109856000f3fe60806040526004361061003f5760003560e01c80630b824849146100445780638375702b14610080578063b0d691fe14610093578063c1e4ba2d146100c7575b600080fd5b34801561005057600080fd5b5061006461005f366004610375565b6100fb565b6040516001600160a01b03909116815260200160405180910390f35b61006461008e366004610375565b6101d5565b34801561009f57600080fd5b506100647f000000000000000000000000000000000000000000000000000000000000000081565b3480156100d357600080fd5b506100647f000000000000000000000000000000000000000000000000000000000000000081565b60006101cc8260001b6040518060200161011490610352565b6020820181038252601f19601f820116604052507f00000000000000000000000000000000000000000000000000000000000000008660405160240161015a91906103fa565b60408051601f19818403018152918152602080830180516001600160e01b0316632d16032160e01b17905290516101939392910161044f565b60408051601f19818403018152908290526101b19291602001610491565b60405160208183030381529060405280519060200120610320565b90505b92915050565b6000806101e284846100fb565b905034156102685760405163b760faf960e01b81526001600160a01b0382811660048301527f0000000000000000000000000000000000000000000000000000000000000000169063b760faf99034906024016000604051808303818588803b15801561024e57600080fd5b505af1158015610262573d6000803e3d6000fd5b50505050505b6001600160a01b0381163b8015610281575090506101cf565b8360001b7f0000000000000000000000000000000000000000000000000000000000000000866040516024016102b791906103fa565b60408051601f198184030181529181526020820180516001600160e01b0316632d16032160e01b179052516102eb90610352565b6102f692919061044f565b8190604051809103906000f5905080158015610316573d6000803e3d6000fd5b5095945050505050565b60006101cc8383306000604051836040820152846020820152828152600b8101905060ff815360559020949350505050565b6104b8806104c183390190565b634e487b7160e01b600052604160045260246000fd5b6000806060838503121561038857600080fd5b83601f84011261039757600080fd5b6040516040810181811067ffffffffffffffff821117156103ba576103ba61035f565b80604052508060408501868111156103d157600080fd5b855b818110156103eb5780358352602092830192016103d3565b50919691359550909350505050565b60408101818360005b6002811015610422578151835260209283019290910190600101610403565b50505092915050565b60005b8381101561044657818101518382015260200161042e565b50506000910152565b60018060a01b0383168152604060208201526000825180604084015261047c81606085016020870161042b565b601f01601f1916919091016060019392505050565b600083516104a381846020880161042b565b8351908301906104b781836020880161042b565b0194935050505056fe60806040526040516104b83803806104b8833981016040819052610022916102de565b61002e82826000610035565b50506103fb565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c6838360405180606001604052806027815260200161049160279139610180565b9392505050565b6001600160a01b0381163b61013f5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019d91906103ac565b600060405180830381855af49150503d80600081146101d8576040519150601f19603f3d011682016040523d82523d6000602084013e6101dd565b606091505b5090925090506101ef868383876101f9565b9695505050505050565b60608315610268578251600003610261576001600160a01b0385163b6102615760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610136565b5081610272565b610272838361027a565b949350505050565b81511561028a5781518083602001fd5b8060405162461bcd60e51b815260040161013691906103c8565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102d55781810151838201526020016102bd565b50506000910152565b600080604083850312156102f157600080fd5b82516001600160a01b038116811461030857600080fd5b60208401519092506001600160401b038082111561032557600080fd5b818501915085601f83011261033957600080fd5b81518181111561034b5761034b6102a4565b604051601f8201601f19908116603f01168101908382118183101715610373576103736102a4565b8160405282815288602084870101111561038c57600080fd5b61039d8360208301602088016102ba565b80955050505050509250929050565b600082516103be8184602087016102ba565b9190910192915050565b60208152600082518060208401526103e78160408501602087016102ba565b601f01601f19169190910160400192915050565b6088806104096000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6058565b565b600060537f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e8080156076573d6000f35b3d6000fdfea164736f6c6343000815000a416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a164736f6c6343000815000a60c0604052306080523480156200001557600080fd5b5060405162001f6a38038062001f6a833981016040819052620000389162000118565b6001600160a01b03811660a0526200004f62000056565b506200014a565b600054610100900460ff1615620000c35760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff908116101562000116576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6000602082840312156200012b57600080fd5b81516001600160a01b03811681146200014357600080fd5b9392505050565b60805160a051611dc9620001a1600039600081816101ce0152818161037e015281816105b501526108350152600081816104d301528181610513015281816106340152818161067401526107030152611dc96000f3fe60806040526004361061008a5760003560e01c80633a871cdd116100595780633a871cdd146101365780634f1ef2861461016457806352d1902d1461017757806363ffab311461018c578063b0d691fe146101bc57600080fd5b80631626ba7e146100965780632d160321146100d457806334fcd5be146100f65780633659cfe61461011657600080fd5b3661009157005b600080fd5b3480156100a257600080fd5b506100b66100b136600461163e565b610208565b6040516001600160e01b031990911681526020015b60405180910390f35b3480156100e057600080fd5b506100f46100ef3660046116f9565b61025b565b005b34801561010257600080fd5b506100f461011136600461176e565b610373565b34801561012257600080fd5b506100f46101313660046117ff565b6104c9565b34801561014257600080fd5b5061015661015136600461181a565b6105a8565b6040519081526020016100cb565b6100f46101723660046118fb565b61062a565b34801561018357600080fd5b506101566106f6565b34801561019857600080fd5b506001546002546101a7919082565b604080519283526020830191909152016100cb565b3480156101c857600080fd5b506101f07f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100cb565b60006102368460405160200161022091815260200190565b60405160208183030381529060405284846107a9565b156102495750630b135d3f60e11b610254565b506001600160e01b03195b9392505050565b600054610100900460ff161580801561027b5750600054600160ff909116105b806102955750303b158015610295575060005460ff166001145b6102fd5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff191660011790558015610320576000805461ff0019166101001790555b610329826107fd565b801561036f576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146103de5760405162461bcd60e51b815260206004820152601060248201526f1bdb9b1e48195b9d1c9e481c1bda5b9d60821b60448201526064016102f4565b60005b818110156104c4576104b28383838181106103fe576103fe611949565b9050602002810190610410919061195f565b61041e9060208101906117ff565b84848481811061043057610430611949565b9050602002810190610442919061195f565b6020013585858581811061045857610458611949565b905060200281019061046a919061195f565b61047890604081019061197f565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061089592505050565b806104bc816119e3565b9150506103e1565b505050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036105115760405162461bcd60e51b81526004016102f4906119fc565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661055a600080516020611d36833981519152546001600160a01b031690565b6001600160a01b0316146105805760405162461bcd60e51b81526004016102f490611a48565b6105898161090c565b604080516000808252602082019092526105a591839190610947565b50565b6000336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146106155760405162461bcd60e51b815260206004820152601060248201526f1bdb9b1e48195b9d1c9e481c1bda5b9d60821b60448201526064016102f4565b61061f8484610ab2565b905061025482610c72565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036106725760405162461bcd60e51b81526004016102f4906119fc565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166106bb600080516020611d36833981519152546001600160a01b031690565b6001600160a01b0316146106e15760405162461bcd60e51b81526004016102f490611a48565b6106ea8261090c565b61036f82826001610947565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146107965760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016102f4565b50600080516020611d3683398151915290565b6000806107b883850185611a94565b90506107f4858260000151600084602001518560400151866060015187608001518860a0015160016000015460001c600180015460001c610cbf565b95945050505050565b6040805180820182528251808252602080850151928101839052600182905560028390558351808501855291825281019190915290517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316917f8a7fd7e24d60f649878f6c9c7e9114e6614218fd3dce2eb1d79549afaf161ab39161088a9190611b50565b60405180910390a250565b600080846001600160a01b031684846040516108b19190611ba5565b60006040518083038185875af1925050503d80600081146108ee576040519150601f19603f3d011682016040523d82523d6000602084013e6108f3565b606091505b50915091508161090557805160208201fd5b5050505050565b3330146105a55760405162461bcd60e51b815260206004820152600960248201526837b7363c9039b2b63360b91b60448201526064016102f4565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161561097a576104c483610e81565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156109d4575060408051601f3d908101601f191682019092526109d191810190611bb7565b60015b610a375760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b60648201526084016102f4565b600080516020611d368339815191528114610aa65760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b60648201526084016102f4565b506104c4838383610f1d565b604080516060818101835260008083526020830181905292820183905290369083906000610ae461014089018961197f565b9050905080600003610afe57600195505050505050610c6c565b6000610b0e6101408a018a61197f565b6000818110610b1f57610b1f611949565b919091013560f81c9150506001819003610bf6576007821015610b4b5760019650505050505050610c6c565b6000610b5b6101408b018b61197f565b610b6a91600791600191611bd0565b610b7391611bfa565b60d01c9050610b866101408b018b61197f565b610b94916007908290611bd0565b6040516001600160f81b031960f886901b1660208201526001600160d01b031960d085901b166021820152602781018c9052919750955060470160408051601f1981840301815291815265ffffffffffff909216918501919091529550610c05565b60019650505050505050610c6c565b610c108686866107a9565b15610c6157610c5483600060d0826020015165ffffffffffff16901b60a0836040015165ffffffffffff16901b83600001516001600160a01b031617179050919050565b9650505050505050610c6c565b600196505050505050505b92915050565b80156105a557604051600090339060001990849084818181858888f193505050503d8060008114610905576040519150601f19603f3d011682016040523d82523d6000602084013e610905565b600060208a511080610cf95750610cf78a602081518110610ce257610ce2611949565b01602001516001600160f81b0319168a610f48565b155b15610d0657506000610e73565b604080518082019091526015815274113a3cb832911d113bb2b130baba34371733b2ba1160591b6020820152610d3d818a89610fae565b610d4b576000915050610e73565b6000610d568d611067565b9050600081604051602001610d6b9190611c2a565b6040516020818303038152906040529050610d87818c8c610fae565b610d975760009350505050610e73565b600060028c604051610da99190611ba5565b602060405180830381855afa158015610dc6573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190610de99190611bb7565b9050600060028f83604051602001610e02929190611c6b565b60408051601f1981840301815290829052610e1c91611ba5565b602060405180830381855afa158015610e39573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190610e5c9190611bb7565b9050610e6b818b8b8b8b61127f565b955050505050505b9a9950505050505050505050565b6001600160a01b0381163b610eee5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016102f4565b600080516020611d3683398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b610f2683611363565b600082511180610f335750805b156104c457610f4283836113a3565b50505050565b6000600160f81b83811614610f5f57506000610c6c565b818015610f725750600160fa1b83811614155b15610f7f57506000610c6c565b600160fb1b83811614610fa557600f60fc1b600160fc1b841601610fa557506000610c6c565b50600192915050565b825182516000918591859190845b828110156110585781610fcf8289611c8d565b10610fe257600095505050505050610254565b83610fed8289611c8d565b81518110610ffd57610ffd611949565b602001015160f81c60f81b6001600160f81b03191685828151811061102457611024611949565b01602001516001600160f81b0319161461104657600095505050505050610254565b80611050816119e3565b915050610fbc565b50600198975050505050505050565b60606000611074836113c8565b905060008190506000600282511180156110bf575081600283516110989190611ca0565b815181106110a8576110a8611949565b6020910101516001600160f81b031916603d60f81b145b156110cc57506002611117565b6001825111801561110e575081600183516110e79190611ca0565b815181106110f7576110f7611949565b6020910101516001600160f81b031916603d60f81b145b15611117575060015b60008183516111269190611ca0565b905060008167ffffffffffffffff811115611143576111436116ba565b6040519080825280601f01601f19166020018201604052801561116d576020820181803683370190505b50905060005b828110156112745784818151811061118d5761118d611949565b01602001516001600160f81b031916602b60f81b036111d957602d60f81b8282815181106111bd576111bd611949565b60200101906001600160f81b031916908160001a905350611262565b8481815181106111eb576111eb611949565b01602001516001600160f81b031916602f60f81b0361121b57605f60f81b8282815181106111bd576111bd611949565b84818151811061122d5761122d611949565b602001015160f81c60f81b82828151811061124a5761124a611949565b60200101906001600160f81b031916908160001a9053505b8061126c816119e3565b915050611173565b509695505050505050565b6040805160208101879052908101859052606081018490526080810183905260a08101829052600090819060c001604051602081830303815290604052905060008073c2b78104907f722dabac4c69f826a522b2754de46001600160a01b0316836040516112ed9190611ba5565b600060405180830381855afa9150503d8060008114611328576040519150601f19603f3d011682016040523d82523d6000602084013e61132d565b606091505b50915091508161133f5761133f611cb3565b808060200190518101906113539190611bb7565b6001149998505050505050505050565b61136c81610e81565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606102548383604051806060016040528060278152602001611d966027913961151b565b606081516000036113e757505060408051602081019091526000815290565b6000604051806060016040528060408152602001611d5660409139905060006003845160026114169190611c8d565b6114209190611cc9565b61142b906004611ceb565b67ffffffffffffffff811115611443576114436116ba565b6040519080825280601f01601f19166020018201604052801561146d576020820181803683370190505b509050600182016020820185865187015b808210156114d9576003820191508151603f8160121c168501518453600184019350603f81600c1c168501518453600184019350603f8160061c168501518453600184019350603f811685015184535060018301925061147e565b50506003865106600181146114f5576002811461150857611510565b603d6001830353603d6002830353611510565b603d60018303535b509195945050505050565b6060600080856001600160a01b0316856040516115389190611ba5565b600060405180830381855af49150503d8060008114611573576040519150601f19603f3d011682016040523d82523d6000602084013e611578565b606091505b509150915061158986838387611593565b9695505050505050565b606083156116025782516000036115fb576001600160a01b0385163b6115fb5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102f4565b508161160c565b61160c8383611614565b949350505050565b8151156116245781518083602001fd5b8060405162461bcd60e51b81526004016102f49190611d02565b60008060006040848603121561165357600080fd5b83359250602084013567ffffffffffffffff8082111561167257600080fd5b818601915086601f83011261168657600080fd5b81358181111561169557600080fd5b8760208285010111156116a757600080fd5b6020830194508093505050509250925092565b634e487b7160e01b600052604160045260246000fd5b60405160c0810167ffffffffffffffff811182821017156116f3576116f36116ba565b60405290565b60006040828403121561170b57600080fd5b82601f83011261171a57600080fd5b6040516040810181811067ffffffffffffffff8211171561173d5761173d6116ba565b806040525080604084018581111561175457600080fd5b845b81811015611510578035835260209283019201611756565b6000806020838503121561178157600080fd5b823567ffffffffffffffff8082111561179957600080fd5b818501915085601f8301126117ad57600080fd5b8135818111156117bc57600080fd5b8660208260051b85010111156117d157600080fd5b60209290920196919550909350505050565b80356001600160a01b03811681146117fa57600080fd5b919050565b60006020828403121561181157600080fd5b610254826117e3565b60008060006060848603121561182f57600080fd5b833567ffffffffffffffff81111561184657600080fd5b8401610160818703121561185957600080fd5b95602085013595506040909401359392505050565b600082601f83011261187f57600080fd5b813567ffffffffffffffff8082111561189a5761189a6116ba565b604051601f8301601f19908116603f011681019082821181831017156118c2576118c26116ba565b816040528381528660208588010111156118db57600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806040838503121561190e57600080fd5b611917836117e3565b9150602083013567ffffffffffffffff81111561193357600080fd5b61193f8582860161186e565b9150509250929050565b634e487b7160e01b600052603260045260246000fd5b60008235605e1983360301811261197557600080fd5b9190910192915050565b6000808335601e1984360301811261199657600080fd5b83018035915067ffffffffffffffff8211156119b157600080fd5b6020019150368190038213156119c657600080fd5b9250929050565b634e487b7160e01b600052601160045260246000fd5b6000600182016119f5576119f56119cd565b5060010190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b600060208284031215611aa657600080fd5b813567ffffffffffffffff80821115611abe57600080fd5b9083019060c08286031215611ad257600080fd5b611ada6116d0565b823582811115611ae957600080fd5b611af58782860161186e565b825250602083013582811115611b0a57600080fd5b611b168782860161186e565b60208301525060408301356040820152606083013560608201526080830135608082015260a083013560a082015280935050505092915050565b60408101818360005b6002811015611b78578151835260209283019290910190600101611b59565b50505092915050565b60005b83811015611b9c578181015183820152602001611b84565b50506000910152565b60008251611975818460208701611b81565b600060208284031215611bc957600080fd5b5051919050565b60008085851115611be057600080fd5b83861115611bed57600080fd5b5050820193919092039150565b6001600160d01b03198135818116916006851015611c225780818660060360031b1b83161692505b505092915050565b6c1131b430b63632b733b2911d1160991b81528151600090611c5381600d850160208701611b81565b601160f91b600d939091019283015250600e01919050565b60008351611c7d818460208801611b81565b9190910191825250602001919050565b80820180821115610c6c57610c6c6119cd565b81810381811115610c6c57610c6c6119cd565b634e487b7160e01b600052600160045260246000fd5b600082611ce657634e487b7160e01b600052601260045260246000fd5b500490565b8082028115828204841417610c6c57610c6c6119cd565b6020815260008251806020840152611d21816040850160208701611b81565b601f01601f1916919091016040019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc4142434445464748494a4b4c4d4e4f505152535455565758595a6162636465666768696a6b6c6d6e6f707172737475767778797a303132333435363738392b2f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a164736f6c6343000815000a0000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x1e", + "accessList": [] + }, + "additionalContracts": [ + { + "transactionType": "CREATE", + "address": "0xA664329f1490b57625a2a3F8C25265A59c606265", + "initCode": "0x60c0604052306080523480156200001557600080fd5b5060405162001f6a38038062001f6a833981016040819052620000389162000118565b6001600160a01b03811660a0526200004f62000056565b506200014a565b600054610100900460ff1615620000c35760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff908116101562000116576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6000602082840312156200012b57600080fd5b81516001600160a01b03811681146200014357600080fd5b9392505050565b60805160a051611dc9620001a1600039600081816101ce0152818161037e015281816105b501526108350152600081816104d301528181610513015281816106340152818161067401526107030152611dc96000f3fe60806040526004361061008a5760003560e01c80633a871cdd116100595780633a871cdd146101365780634f1ef2861461016457806352d1902d1461017757806363ffab311461018c578063b0d691fe146101bc57600080fd5b80631626ba7e146100965780632d160321146100d457806334fcd5be146100f65780633659cfe61461011657600080fd5b3661009157005b600080fd5b3480156100a257600080fd5b506100b66100b136600461163e565b610208565b6040516001600160e01b031990911681526020015b60405180910390f35b3480156100e057600080fd5b506100f46100ef3660046116f9565b61025b565b005b34801561010257600080fd5b506100f461011136600461176e565b610373565b34801561012257600080fd5b506100f46101313660046117ff565b6104c9565b34801561014257600080fd5b5061015661015136600461181a565b6105a8565b6040519081526020016100cb565b6100f46101723660046118fb565b61062a565b34801561018357600080fd5b506101566106f6565b34801561019857600080fd5b506001546002546101a7919082565b604080519283526020830191909152016100cb565b3480156101c857600080fd5b506101f07f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100cb565b60006102368460405160200161022091815260200190565b60405160208183030381529060405284846107a9565b156102495750630b135d3f60e11b610254565b506001600160e01b03195b9392505050565b600054610100900460ff161580801561027b5750600054600160ff909116105b806102955750303b158015610295575060005460ff166001145b6102fd5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff191660011790558015610320576000805461ff0019166101001790555b610329826107fd565b801561036f576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146103de5760405162461bcd60e51b815260206004820152601060248201526f1bdb9b1e48195b9d1c9e481c1bda5b9d60821b60448201526064016102f4565b60005b818110156104c4576104b28383838181106103fe576103fe611949565b9050602002810190610410919061195f565b61041e9060208101906117ff565b84848481811061043057610430611949565b9050602002810190610442919061195f565b6020013585858581811061045857610458611949565b905060200281019061046a919061195f565b61047890604081019061197f565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061089592505050565b806104bc816119e3565b9150506103e1565b505050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036105115760405162461bcd60e51b81526004016102f4906119fc565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661055a600080516020611d36833981519152546001600160a01b031690565b6001600160a01b0316146105805760405162461bcd60e51b81526004016102f490611a48565b6105898161090c565b604080516000808252602082019092526105a591839190610947565b50565b6000336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146106155760405162461bcd60e51b815260206004820152601060248201526f1bdb9b1e48195b9d1c9e481c1bda5b9d60821b60448201526064016102f4565b61061f8484610ab2565b905061025482610c72565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036106725760405162461bcd60e51b81526004016102f4906119fc565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166106bb600080516020611d36833981519152546001600160a01b031690565b6001600160a01b0316146106e15760405162461bcd60e51b81526004016102f490611a48565b6106ea8261090c565b61036f82826001610947565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146107965760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016102f4565b50600080516020611d3683398151915290565b6000806107b883850185611a94565b90506107f4858260000151600084602001518560400151866060015187608001518860a0015160016000015460001c600180015460001c610cbf565b95945050505050565b6040805180820182528251808252602080850151928101839052600182905560028390558351808501855291825281019190915290517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316917f8a7fd7e24d60f649878f6c9c7e9114e6614218fd3dce2eb1d79549afaf161ab39161088a9190611b50565b60405180910390a250565b600080846001600160a01b031684846040516108b19190611ba5565b60006040518083038185875af1925050503d80600081146108ee576040519150601f19603f3d011682016040523d82523d6000602084013e6108f3565b606091505b50915091508161090557805160208201fd5b5050505050565b3330146105a55760405162461bcd60e51b815260206004820152600960248201526837b7363c9039b2b63360b91b60448201526064016102f4565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161561097a576104c483610e81565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156109d4575060408051601f3d908101601f191682019092526109d191810190611bb7565b60015b610a375760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b60648201526084016102f4565b600080516020611d368339815191528114610aa65760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b60648201526084016102f4565b506104c4838383610f1d565b604080516060818101835260008083526020830181905292820183905290369083906000610ae461014089018961197f565b9050905080600003610afe57600195505050505050610c6c565b6000610b0e6101408a018a61197f565b6000818110610b1f57610b1f611949565b919091013560f81c9150506001819003610bf6576007821015610b4b5760019650505050505050610c6c565b6000610b5b6101408b018b61197f565b610b6a91600791600191611bd0565b610b7391611bfa565b60d01c9050610b866101408b018b61197f565b610b94916007908290611bd0565b6040516001600160f81b031960f886901b1660208201526001600160d01b031960d085901b166021820152602781018c9052919750955060470160408051601f1981840301815291815265ffffffffffff909216918501919091529550610c05565b60019650505050505050610c6c565b610c108686866107a9565b15610c6157610c5483600060d0826020015165ffffffffffff16901b60a0836040015165ffffffffffff16901b83600001516001600160a01b031617179050919050565b9650505050505050610c6c565b600196505050505050505b92915050565b80156105a557604051600090339060001990849084818181858888f193505050503d8060008114610905576040519150601f19603f3d011682016040523d82523d6000602084013e610905565b600060208a511080610cf95750610cf78a602081518110610ce257610ce2611949565b01602001516001600160f81b0319168a610f48565b155b15610d0657506000610e73565b604080518082019091526015815274113a3cb832911d113bb2b130baba34371733b2ba1160591b6020820152610d3d818a89610fae565b610d4b576000915050610e73565b6000610d568d611067565b9050600081604051602001610d6b9190611c2a565b6040516020818303038152906040529050610d87818c8c610fae565b610d975760009350505050610e73565b600060028c604051610da99190611ba5565b602060405180830381855afa158015610dc6573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190610de99190611bb7565b9050600060028f83604051602001610e02929190611c6b565b60408051601f1981840301815290829052610e1c91611ba5565b602060405180830381855afa158015610e39573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190610e5c9190611bb7565b9050610e6b818b8b8b8b61127f565b955050505050505b9a9950505050505050505050565b6001600160a01b0381163b610eee5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016102f4565b600080516020611d3683398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b610f2683611363565b600082511180610f335750805b156104c457610f4283836113a3565b50505050565b6000600160f81b83811614610f5f57506000610c6c565b818015610f725750600160fa1b83811614155b15610f7f57506000610c6c565b600160fb1b83811614610fa557600f60fc1b600160fc1b841601610fa557506000610c6c565b50600192915050565b825182516000918591859190845b828110156110585781610fcf8289611c8d565b10610fe257600095505050505050610254565b83610fed8289611c8d565b81518110610ffd57610ffd611949565b602001015160f81c60f81b6001600160f81b03191685828151811061102457611024611949565b01602001516001600160f81b0319161461104657600095505050505050610254565b80611050816119e3565b915050610fbc565b50600198975050505050505050565b60606000611074836113c8565b905060008190506000600282511180156110bf575081600283516110989190611ca0565b815181106110a8576110a8611949565b6020910101516001600160f81b031916603d60f81b145b156110cc57506002611117565b6001825111801561110e575081600183516110e79190611ca0565b815181106110f7576110f7611949565b6020910101516001600160f81b031916603d60f81b145b15611117575060015b60008183516111269190611ca0565b905060008167ffffffffffffffff811115611143576111436116ba565b6040519080825280601f01601f19166020018201604052801561116d576020820181803683370190505b50905060005b828110156112745784818151811061118d5761118d611949565b01602001516001600160f81b031916602b60f81b036111d957602d60f81b8282815181106111bd576111bd611949565b60200101906001600160f81b031916908160001a905350611262565b8481815181106111eb576111eb611949565b01602001516001600160f81b031916602f60f81b0361121b57605f60f81b8282815181106111bd576111bd611949565b84818151811061122d5761122d611949565b602001015160f81c60f81b82828151811061124a5761124a611949565b60200101906001600160f81b031916908160001a9053505b8061126c816119e3565b915050611173565b509695505050505050565b6040805160208101879052908101859052606081018490526080810183905260a08101829052600090819060c001604051602081830303815290604052905060008073c2b78104907f722dabac4c69f826a522b2754de46001600160a01b0316836040516112ed9190611ba5565b600060405180830381855afa9150503d8060008114611328576040519150601f19603f3d011682016040523d82523d6000602084013e61132d565b606091505b50915091508161133f5761133f611cb3565b808060200190518101906113539190611bb7565b6001149998505050505050505050565b61136c81610e81565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606102548383604051806060016040528060278152602001611d966027913961151b565b606081516000036113e757505060408051602081019091526000815290565b6000604051806060016040528060408152602001611d5660409139905060006003845160026114169190611c8d565b6114209190611cc9565b61142b906004611ceb565b67ffffffffffffffff811115611443576114436116ba565b6040519080825280601f01601f19166020018201604052801561146d576020820181803683370190505b509050600182016020820185865187015b808210156114d9576003820191508151603f8160121c168501518453600184019350603f81600c1c168501518453600184019350603f8160061c168501518453600184019350603f811685015184535060018301925061147e565b50506003865106600181146114f5576002811461150857611510565b603d6001830353603d6002830353611510565b603d60018303535b509195945050505050565b6060600080856001600160a01b0316856040516115389190611ba5565b600060405180830381855af49150503d8060008114611573576040519150601f19603f3d011682016040523d82523d6000602084013e611578565b606091505b509150915061158986838387611593565b9695505050505050565b606083156116025782516000036115fb576001600160a01b0385163b6115fb5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102f4565b508161160c565b61160c8383611614565b949350505050565b8151156116245781518083602001fd5b8060405162461bcd60e51b81526004016102f49190611d02565b60008060006040848603121561165357600080fd5b83359250602084013567ffffffffffffffff8082111561167257600080fd5b818601915086601f83011261168657600080fd5b81358181111561169557600080fd5b8760208285010111156116a757600080fd5b6020830194508093505050509250925092565b634e487b7160e01b600052604160045260246000fd5b60405160c0810167ffffffffffffffff811182821017156116f3576116f36116ba565b60405290565b60006040828403121561170b57600080fd5b82601f83011261171a57600080fd5b6040516040810181811067ffffffffffffffff8211171561173d5761173d6116ba565b806040525080604084018581111561175457600080fd5b845b81811015611510578035835260209283019201611756565b6000806020838503121561178157600080fd5b823567ffffffffffffffff8082111561179957600080fd5b818501915085601f8301126117ad57600080fd5b8135818111156117bc57600080fd5b8660208260051b85010111156117d157600080fd5b60209290920196919550909350505050565b80356001600160a01b03811681146117fa57600080fd5b919050565b60006020828403121561181157600080fd5b610254826117e3565b60008060006060848603121561182f57600080fd5b833567ffffffffffffffff81111561184657600080fd5b8401610160818703121561185957600080fd5b95602085013595506040909401359392505050565b600082601f83011261187f57600080fd5b813567ffffffffffffffff8082111561189a5761189a6116ba565b604051601f8301601f19908116603f011681019082821181831017156118c2576118c26116ba565b816040528381528660208588010111156118db57600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806040838503121561190e57600080fd5b611917836117e3565b9150602083013567ffffffffffffffff81111561193357600080fd5b61193f8582860161186e565b9150509250929050565b634e487b7160e01b600052603260045260246000fd5b60008235605e1983360301811261197557600080fd5b9190910192915050565b6000808335601e1984360301811261199657600080fd5b83018035915067ffffffffffffffff8211156119b157600080fd5b6020019150368190038213156119c657600080fd5b9250929050565b634e487b7160e01b600052601160045260246000fd5b6000600182016119f5576119f56119cd565b5060010190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b600060208284031215611aa657600080fd5b813567ffffffffffffffff80821115611abe57600080fd5b9083019060c08286031215611ad257600080fd5b611ada6116d0565b823582811115611ae957600080fd5b611af58782860161186e565b825250602083013582811115611b0a57600080fd5b611b168782860161186e565b60208301525060408301356040820152606083013560608201526080830135608082015260a083013560a082015280935050505092915050565b60408101818360005b6002811015611b78578151835260209283019290910190600101611b59565b50505092915050565b60005b83811015611b9c578181015183820152602001611b84565b50506000910152565b60008251611975818460208701611b81565b600060208284031215611bc957600080fd5b5051919050565b60008085851115611be057600080fd5b83861115611bed57600080fd5b5050820193919092039150565b6001600160d01b03198135818116916006851015611c225780818660060360031b1b83161692505b505092915050565b6c1131b430b63632b733b2911d1160991b81528151600090611c5381600d850160208701611b81565b601160f91b600d939091019283015250600e01919050565b60008351611c7d818460208801611b81565b9190910191825250602001919050565b80820180821115610c6c57610c6c6119cd565b81810381811115610c6c57610c6c6119cd565b634e487b7160e01b600052600160045260246000fd5b600082611ce657634e487b7160e01b600052601260045260246000fd5b500490565b8082028115828204841417610c6c57610c6c6119cd565b6020815260008251806020840152611d21816040850160208701611b81565b601f01601f1916919091016040019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc4142434445464748494a4b4c4d4e4f505152535455565758595a6162636465666768696a6b6c6d6e6f707172737475767778797a303132333435363738392b2f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a164736f6c6343000815000a0000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789" + } + ], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x6d0c7233911612cfb0011a3f80908f8051e66ecc4c123ad7e7c0bc55095867c0", + "transactionIndex": "0x1", + "blockHash": "0x99ebcf4429ab716ef475929ebde660e70314938865eaa6cf51dfc2facd73a05a", + "blockNumber": "0xb4fd97", + "from": "0x061060a65146b3265C62fC8f3AE977c9B27260fF", + "to": null, + "cumulativeGasUsed": "0x239fe0", + "gasUsed": "0x22e8db", + "contractAddress": "0xCD7DA03e26Fa4b7BcB43B4e5Ed65bE5cC9d844B0", + "logs": [ + { + "address": "0xA664329f1490b57625a2a3F8C25265A59c606265", + "topics": [ + "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000ff", + "blockHash": "0x99ebcf4429ab716ef475929ebde660e70314938865eaa6cf51dfc2facd73a05a", + "blockNumber": "0xb4fd97", + "transactionHash": "0x6d0c7233911612cfb0011a3f80908f8051e66ecc4c123ad7e7c0bc55095867c0", + "transactionIndex": "0x1", + "logIndex": "0x0", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000040000000080000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e32" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1698916418, + "chain": 84531, + "multi": false, + "commit": "3450ece" +} \ No newline at end of file diff --git a/contracts/broadcast/SimpleAccountFactory.s.sol/84531/run-1698916452.json b/contracts/broadcast/SimpleAccountFactory.s.sol/84531/run-1698916452.json new file mode 100644 index 0000000..daf7189 --- /dev/null +++ b/contracts/broadcast/SimpleAccountFactory.s.sol/84531/run-1698916452.json @@ -0,0 +1,70 @@ +{ + "transactions": [ + { + "hash": "0x6d0c7233911612cfb0011a3f80908f8051e66ecc4c123ad7e7c0bc55095867c0", + "transactionType": "CREATE", + "contractName": "SimpleAccountFactory", + "contractAddress": "0xCD7DA03e26Fa4b7BcB43B4e5Ed65bE5cC9d844B0", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x02", + "from": "0x061060a65146b3265c62fc8f3ae977c9b27260ff", + "gas": "0x2d61e9", + "value": "0x0", + "data": "0x60c060405234801561001057600080fd5b506040516129ed3803806129ed83398101604081905261002f91610096565b6001600160a01b03811660a052604051819061004a90610089565b6001600160a01b039091168152602001604051809103906000f080158015610076573d6000803e3d6000fd5b506001600160a01b0316608052506100c6565b611f6a80610a8383390190565b6000602082840312156100a857600080fd5b81516001600160a01b03811681146100bf57600080fd5b9392505050565b60805160a0516109856100fe6000396000818160a5015261020901526000818160d90152818161012a015261028701526109856000f3fe60806040526004361061003f5760003560e01c80630b824849146100445780638375702b14610080578063b0d691fe14610093578063c1e4ba2d146100c7575b600080fd5b34801561005057600080fd5b5061006461005f366004610375565b6100fb565b6040516001600160a01b03909116815260200160405180910390f35b61006461008e366004610375565b6101d5565b34801561009f57600080fd5b506100647f000000000000000000000000000000000000000000000000000000000000000081565b3480156100d357600080fd5b506100647f000000000000000000000000000000000000000000000000000000000000000081565b60006101cc8260001b6040518060200161011490610352565b6020820181038252601f19601f820116604052507f00000000000000000000000000000000000000000000000000000000000000008660405160240161015a91906103fa565b60408051601f19818403018152918152602080830180516001600160e01b0316632d16032160e01b17905290516101939392910161044f565b60408051601f19818403018152908290526101b19291602001610491565b60405160208183030381529060405280519060200120610320565b90505b92915050565b6000806101e284846100fb565b905034156102685760405163b760faf960e01b81526001600160a01b0382811660048301527f0000000000000000000000000000000000000000000000000000000000000000169063b760faf99034906024016000604051808303818588803b15801561024e57600080fd5b505af1158015610262573d6000803e3d6000fd5b50505050505b6001600160a01b0381163b8015610281575090506101cf565b8360001b7f0000000000000000000000000000000000000000000000000000000000000000866040516024016102b791906103fa565b60408051601f198184030181529181526020820180516001600160e01b0316632d16032160e01b179052516102eb90610352565b6102f692919061044f565b8190604051809103906000f5905080158015610316573d6000803e3d6000fd5b5095945050505050565b60006101cc8383306000604051836040820152846020820152828152600b8101905060ff815360559020949350505050565b6104b8806104c183390190565b634e487b7160e01b600052604160045260246000fd5b6000806060838503121561038857600080fd5b83601f84011261039757600080fd5b6040516040810181811067ffffffffffffffff821117156103ba576103ba61035f565b80604052508060408501868111156103d157600080fd5b855b818110156103eb5780358352602092830192016103d3565b50919691359550909350505050565b60408101818360005b6002811015610422578151835260209283019290910190600101610403565b50505092915050565b60005b8381101561044657818101518382015260200161042e565b50506000910152565b60018060a01b0383168152604060208201526000825180604084015261047c81606085016020870161042b565b601f01601f1916919091016060019392505050565b600083516104a381846020880161042b565b8351908301906104b781836020880161042b565b0194935050505056fe60806040526040516104b83803806104b8833981016040819052610022916102de565b61002e82826000610035565b50506103fb565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c6838360405180606001604052806027815260200161049160279139610180565b9392505050565b6001600160a01b0381163b61013f5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019d91906103ac565b600060405180830381855af49150503d80600081146101d8576040519150601f19603f3d011682016040523d82523d6000602084013e6101dd565b606091505b5090925090506101ef868383876101f9565b9695505050505050565b60608315610268578251600003610261576001600160a01b0385163b6102615760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610136565b5081610272565b610272838361027a565b949350505050565b81511561028a5781518083602001fd5b8060405162461bcd60e51b815260040161013691906103c8565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102d55781810151838201526020016102bd565b50506000910152565b600080604083850312156102f157600080fd5b82516001600160a01b038116811461030857600080fd5b60208401519092506001600160401b038082111561032557600080fd5b818501915085601f83011261033957600080fd5b81518181111561034b5761034b6102a4565b604051601f8201601f19908116603f01168101908382118183101715610373576103736102a4565b8160405282815288602084870101111561038c57600080fd5b61039d8360208301602088016102ba565b80955050505050509250929050565b600082516103be8184602087016102ba565b9190910192915050565b60208152600082518060208401526103e78160408501602087016102ba565b601f01601f19169190910160400192915050565b6088806104096000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6058565b565b600060537f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e8080156076573d6000f35b3d6000fdfea164736f6c6343000815000a416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a164736f6c6343000815000a60c0604052306080523480156200001557600080fd5b5060405162001f6a38038062001f6a833981016040819052620000389162000118565b6001600160a01b03811660a0526200004f62000056565b506200014a565b600054610100900460ff1615620000c35760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff908116101562000116576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6000602082840312156200012b57600080fd5b81516001600160a01b03811681146200014357600080fd5b9392505050565b60805160a051611dc9620001a1600039600081816101ce0152818161037e015281816105b501526108350152600081816104d301528181610513015281816106340152818161067401526107030152611dc96000f3fe60806040526004361061008a5760003560e01c80633a871cdd116100595780633a871cdd146101365780634f1ef2861461016457806352d1902d1461017757806363ffab311461018c578063b0d691fe146101bc57600080fd5b80631626ba7e146100965780632d160321146100d457806334fcd5be146100f65780633659cfe61461011657600080fd5b3661009157005b600080fd5b3480156100a257600080fd5b506100b66100b136600461163e565b610208565b6040516001600160e01b031990911681526020015b60405180910390f35b3480156100e057600080fd5b506100f46100ef3660046116f9565b61025b565b005b34801561010257600080fd5b506100f461011136600461176e565b610373565b34801561012257600080fd5b506100f46101313660046117ff565b6104c9565b34801561014257600080fd5b5061015661015136600461181a565b6105a8565b6040519081526020016100cb565b6100f46101723660046118fb565b61062a565b34801561018357600080fd5b506101566106f6565b34801561019857600080fd5b506001546002546101a7919082565b604080519283526020830191909152016100cb565b3480156101c857600080fd5b506101f07f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100cb565b60006102368460405160200161022091815260200190565b60405160208183030381529060405284846107a9565b156102495750630b135d3f60e11b610254565b506001600160e01b03195b9392505050565b600054610100900460ff161580801561027b5750600054600160ff909116105b806102955750303b158015610295575060005460ff166001145b6102fd5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff191660011790558015610320576000805461ff0019166101001790555b610329826107fd565b801561036f576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146103de5760405162461bcd60e51b815260206004820152601060248201526f1bdb9b1e48195b9d1c9e481c1bda5b9d60821b60448201526064016102f4565b60005b818110156104c4576104b28383838181106103fe576103fe611949565b9050602002810190610410919061195f565b61041e9060208101906117ff565b84848481811061043057610430611949565b9050602002810190610442919061195f565b6020013585858581811061045857610458611949565b905060200281019061046a919061195f565b61047890604081019061197f565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061089592505050565b806104bc816119e3565b9150506103e1565b505050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036105115760405162461bcd60e51b81526004016102f4906119fc565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661055a600080516020611d36833981519152546001600160a01b031690565b6001600160a01b0316146105805760405162461bcd60e51b81526004016102f490611a48565b6105898161090c565b604080516000808252602082019092526105a591839190610947565b50565b6000336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146106155760405162461bcd60e51b815260206004820152601060248201526f1bdb9b1e48195b9d1c9e481c1bda5b9d60821b60448201526064016102f4565b61061f8484610ab2565b905061025482610c72565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036106725760405162461bcd60e51b81526004016102f4906119fc565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166106bb600080516020611d36833981519152546001600160a01b031690565b6001600160a01b0316146106e15760405162461bcd60e51b81526004016102f490611a48565b6106ea8261090c565b61036f82826001610947565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146107965760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016102f4565b50600080516020611d3683398151915290565b6000806107b883850185611a94565b90506107f4858260000151600084602001518560400151866060015187608001518860a0015160016000015460001c600180015460001c610cbf565b95945050505050565b6040805180820182528251808252602080850151928101839052600182905560028390558351808501855291825281019190915290517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316917f8a7fd7e24d60f649878f6c9c7e9114e6614218fd3dce2eb1d79549afaf161ab39161088a9190611b50565b60405180910390a250565b600080846001600160a01b031684846040516108b19190611ba5565b60006040518083038185875af1925050503d80600081146108ee576040519150601f19603f3d011682016040523d82523d6000602084013e6108f3565b606091505b50915091508161090557805160208201fd5b5050505050565b3330146105a55760405162461bcd60e51b815260206004820152600960248201526837b7363c9039b2b63360b91b60448201526064016102f4565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161561097a576104c483610e81565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156109d4575060408051601f3d908101601f191682019092526109d191810190611bb7565b60015b610a375760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b60648201526084016102f4565b600080516020611d368339815191528114610aa65760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b60648201526084016102f4565b506104c4838383610f1d565b604080516060818101835260008083526020830181905292820183905290369083906000610ae461014089018961197f565b9050905080600003610afe57600195505050505050610c6c565b6000610b0e6101408a018a61197f565b6000818110610b1f57610b1f611949565b919091013560f81c9150506001819003610bf6576007821015610b4b5760019650505050505050610c6c565b6000610b5b6101408b018b61197f565b610b6a91600791600191611bd0565b610b7391611bfa565b60d01c9050610b866101408b018b61197f565b610b94916007908290611bd0565b6040516001600160f81b031960f886901b1660208201526001600160d01b031960d085901b166021820152602781018c9052919750955060470160408051601f1981840301815291815265ffffffffffff909216918501919091529550610c05565b60019650505050505050610c6c565b610c108686866107a9565b15610c6157610c5483600060d0826020015165ffffffffffff16901b60a0836040015165ffffffffffff16901b83600001516001600160a01b031617179050919050565b9650505050505050610c6c565b600196505050505050505b92915050565b80156105a557604051600090339060001990849084818181858888f193505050503d8060008114610905576040519150601f19603f3d011682016040523d82523d6000602084013e610905565b600060208a511080610cf95750610cf78a602081518110610ce257610ce2611949565b01602001516001600160f81b0319168a610f48565b155b15610d0657506000610e73565b604080518082019091526015815274113a3cb832911d113bb2b130baba34371733b2ba1160591b6020820152610d3d818a89610fae565b610d4b576000915050610e73565b6000610d568d611067565b9050600081604051602001610d6b9190611c2a565b6040516020818303038152906040529050610d87818c8c610fae565b610d975760009350505050610e73565b600060028c604051610da99190611ba5565b602060405180830381855afa158015610dc6573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190610de99190611bb7565b9050600060028f83604051602001610e02929190611c6b565b60408051601f1981840301815290829052610e1c91611ba5565b602060405180830381855afa158015610e39573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190610e5c9190611bb7565b9050610e6b818b8b8b8b61127f565b955050505050505b9a9950505050505050505050565b6001600160a01b0381163b610eee5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016102f4565b600080516020611d3683398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b610f2683611363565b600082511180610f335750805b156104c457610f4283836113a3565b50505050565b6000600160f81b83811614610f5f57506000610c6c565b818015610f725750600160fa1b83811614155b15610f7f57506000610c6c565b600160fb1b83811614610fa557600f60fc1b600160fc1b841601610fa557506000610c6c565b50600192915050565b825182516000918591859190845b828110156110585781610fcf8289611c8d565b10610fe257600095505050505050610254565b83610fed8289611c8d565b81518110610ffd57610ffd611949565b602001015160f81c60f81b6001600160f81b03191685828151811061102457611024611949565b01602001516001600160f81b0319161461104657600095505050505050610254565b80611050816119e3565b915050610fbc565b50600198975050505050505050565b60606000611074836113c8565b905060008190506000600282511180156110bf575081600283516110989190611ca0565b815181106110a8576110a8611949565b6020910101516001600160f81b031916603d60f81b145b156110cc57506002611117565b6001825111801561110e575081600183516110e79190611ca0565b815181106110f7576110f7611949565b6020910101516001600160f81b031916603d60f81b145b15611117575060015b60008183516111269190611ca0565b905060008167ffffffffffffffff811115611143576111436116ba565b6040519080825280601f01601f19166020018201604052801561116d576020820181803683370190505b50905060005b828110156112745784818151811061118d5761118d611949565b01602001516001600160f81b031916602b60f81b036111d957602d60f81b8282815181106111bd576111bd611949565b60200101906001600160f81b031916908160001a905350611262565b8481815181106111eb576111eb611949565b01602001516001600160f81b031916602f60f81b0361121b57605f60f81b8282815181106111bd576111bd611949565b84818151811061122d5761122d611949565b602001015160f81c60f81b82828151811061124a5761124a611949565b60200101906001600160f81b031916908160001a9053505b8061126c816119e3565b915050611173565b509695505050505050565b6040805160208101879052908101859052606081018490526080810183905260a08101829052600090819060c001604051602081830303815290604052905060008073c2b78104907f722dabac4c69f826a522b2754de46001600160a01b0316836040516112ed9190611ba5565b600060405180830381855afa9150503d8060008114611328576040519150601f19603f3d011682016040523d82523d6000602084013e61132d565b606091505b50915091508161133f5761133f611cb3565b808060200190518101906113539190611bb7565b6001149998505050505050505050565b61136c81610e81565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606102548383604051806060016040528060278152602001611d966027913961151b565b606081516000036113e757505060408051602081019091526000815290565b6000604051806060016040528060408152602001611d5660409139905060006003845160026114169190611c8d565b6114209190611cc9565b61142b906004611ceb565b67ffffffffffffffff811115611443576114436116ba565b6040519080825280601f01601f19166020018201604052801561146d576020820181803683370190505b509050600182016020820185865187015b808210156114d9576003820191508151603f8160121c168501518453600184019350603f81600c1c168501518453600184019350603f8160061c168501518453600184019350603f811685015184535060018301925061147e565b50506003865106600181146114f5576002811461150857611510565b603d6001830353603d6002830353611510565b603d60018303535b509195945050505050565b6060600080856001600160a01b0316856040516115389190611ba5565b600060405180830381855af49150503d8060008114611573576040519150601f19603f3d011682016040523d82523d6000602084013e611578565b606091505b509150915061158986838387611593565b9695505050505050565b606083156116025782516000036115fb576001600160a01b0385163b6115fb5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102f4565b508161160c565b61160c8383611614565b949350505050565b8151156116245781518083602001fd5b8060405162461bcd60e51b81526004016102f49190611d02565b60008060006040848603121561165357600080fd5b83359250602084013567ffffffffffffffff8082111561167257600080fd5b818601915086601f83011261168657600080fd5b81358181111561169557600080fd5b8760208285010111156116a757600080fd5b6020830194508093505050509250925092565b634e487b7160e01b600052604160045260246000fd5b60405160c0810167ffffffffffffffff811182821017156116f3576116f36116ba565b60405290565b60006040828403121561170b57600080fd5b82601f83011261171a57600080fd5b6040516040810181811067ffffffffffffffff8211171561173d5761173d6116ba565b806040525080604084018581111561175457600080fd5b845b81811015611510578035835260209283019201611756565b6000806020838503121561178157600080fd5b823567ffffffffffffffff8082111561179957600080fd5b818501915085601f8301126117ad57600080fd5b8135818111156117bc57600080fd5b8660208260051b85010111156117d157600080fd5b60209290920196919550909350505050565b80356001600160a01b03811681146117fa57600080fd5b919050565b60006020828403121561181157600080fd5b610254826117e3565b60008060006060848603121561182f57600080fd5b833567ffffffffffffffff81111561184657600080fd5b8401610160818703121561185957600080fd5b95602085013595506040909401359392505050565b600082601f83011261187f57600080fd5b813567ffffffffffffffff8082111561189a5761189a6116ba565b604051601f8301601f19908116603f011681019082821181831017156118c2576118c26116ba565b816040528381528660208588010111156118db57600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806040838503121561190e57600080fd5b611917836117e3565b9150602083013567ffffffffffffffff81111561193357600080fd5b61193f8582860161186e565b9150509250929050565b634e487b7160e01b600052603260045260246000fd5b60008235605e1983360301811261197557600080fd5b9190910192915050565b6000808335601e1984360301811261199657600080fd5b83018035915067ffffffffffffffff8211156119b157600080fd5b6020019150368190038213156119c657600080fd5b9250929050565b634e487b7160e01b600052601160045260246000fd5b6000600182016119f5576119f56119cd565b5060010190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b600060208284031215611aa657600080fd5b813567ffffffffffffffff80821115611abe57600080fd5b9083019060c08286031215611ad257600080fd5b611ada6116d0565b823582811115611ae957600080fd5b611af58782860161186e565b825250602083013582811115611b0a57600080fd5b611b168782860161186e565b60208301525060408301356040820152606083013560608201526080830135608082015260a083013560a082015280935050505092915050565b60408101818360005b6002811015611b78578151835260209283019290910190600101611b59565b50505092915050565b60005b83811015611b9c578181015183820152602001611b84565b50506000910152565b60008251611975818460208701611b81565b600060208284031215611bc957600080fd5b5051919050565b60008085851115611be057600080fd5b83861115611bed57600080fd5b5050820193919092039150565b6001600160d01b03198135818116916006851015611c225780818660060360031b1b83161692505b505092915050565b6c1131b430b63632b733b2911d1160991b81528151600090611c5381600d850160208701611b81565b601160f91b600d939091019283015250600e01919050565b60008351611c7d818460208801611b81565b9190910191825250602001919050565b80820180821115610c6c57610c6c6119cd565b81810381811115610c6c57610c6c6119cd565b634e487b7160e01b600052600160045260246000fd5b600082611ce657634e487b7160e01b600052601260045260246000fd5b500490565b8082028115828204841417610c6c57610c6c6119cd565b6020815260008251806020840152611d21816040850160208701611b81565b601f01601f1916919091016040019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc4142434445464748494a4b4c4d4e4f505152535455565758595a6162636465666768696a6b6c6d6e6f707172737475767778797a303132333435363738392b2f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a164736f6c6343000815000a0000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x1e", + "accessList": [] + }, + "additionalContracts": [ + { + "transactionType": "CREATE", + "address": "0xA664329f1490b57625a2a3F8C25265A59c606265", + "initCode": "0x60c0604052306080523480156200001557600080fd5b5060405162001f6a38038062001f6a833981016040819052620000389162000118565b6001600160a01b03811660a0526200004f62000056565b506200014a565b600054610100900460ff1615620000c35760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff908116101562000116576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6000602082840312156200012b57600080fd5b81516001600160a01b03811681146200014357600080fd5b9392505050565b60805160a051611dc9620001a1600039600081816101ce0152818161037e015281816105b501526108350152600081816104d301528181610513015281816106340152818161067401526107030152611dc96000f3fe60806040526004361061008a5760003560e01c80633a871cdd116100595780633a871cdd146101365780634f1ef2861461016457806352d1902d1461017757806363ffab311461018c578063b0d691fe146101bc57600080fd5b80631626ba7e146100965780632d160321146100d457806334fcd5be146100f65780633659cfe61461011657600080fd5b3661009157005b600080fd5b3480156100a257600080fd5b506100b66100b136600461163e565b610208565b6040516001600160e01b031990911681526020015b60405180910390f35b3480156100e057600080fd5b506100f46100ef3660046116f9565b61025b565b005b34801561010257600080fd5b506100f461011136600461176e565b610373565b34801561012257600080fd5b506100f46101313660046117ff565b6104c9565b34801561014257600080fd5b5061015661015136600461181a565b6105a8565b6040519081526020016100cb565b6100f46101723660046118fb565b61062a565b34801561018357600080fd5b506101566106f6565b34801561019857600080fd5b506001546002546101a7919082565b604080519283526020830191909152016100cb565b3480156101c857600080fd5b506101f07f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100cb565b60006102368460405160200161022091815260200190565b60405160208183030381529060405284846107a9565b156102495750630b135d3f60e11b610254565b506001600160e01b03195b9392505050565b600054610100900460ff161580801561027b5750600054600160ff909116105b806102955750303b158015610295575060005460ff166001145b6102fd5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff191660011790558015610320576000805461ff0019166101001790555b610329826107fd565b801561036f576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146103de5760405162461bcd60e51b815260206004820152601060248201526f1bdb9b1e48195b9d1c9e481c1bda5b9d60821b60448201526064016102f4565b60005b818110156104c4576104b28383838181106103fe576103fe611949565b9050602002810190610410919061195f565b61041e9060208101906117ff565b84848481811061043057610430611949565b9050602002810190610442919061195f565b6020013585858581811061045857610458611949565b905060200281019061046a919061195f565b61047890604081019061197f565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061089592505050565b806104bc816119e3565b9150506103e1565b505050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036105115760405162461bcd60e51b81526004016102f4906119fc565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661055a600080516020611d36833981519152546001600160a01b031690565b6001600160a01b0316146105805760405162461bcd60e51b81526004016102f490611a48565b6105898161090c565b604080516000808252602082019092526105a591839190610947565b50565b6000336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146106155760405162461bcd60e51b815260206004820152601060248201526f1bdb9b1e48195b9d1c9e481c1bda5b9d60821b60448201526064016102f4565b61061f8484610ab2565b905061025482610c72565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036106725760405162461bcd60e51b81526004016102f4906119fc565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166106bb600080516020611d36833981519152546001600160a01b031690565b6001600160a01b0316146106e15760405162461bcd60e51b81526004016102f490611a48565b6106ea8261090c565b61036f82826001610947565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146107965760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016102f4565b50600080516020611d3683398151915290565b6000806107b883850185611a94565b90506107f4858260000151600084602001518560400151866060015187608001518860a0015160016000015460001c600180015460001c610cbf565b95945050505050565b6040805180820182528251808252602080850151928101839052600182905560028390558351808501855291825281019190915290517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316917f8a7fd7e24d60f649878f6c9c7e9114e6614218fd3dce2eb1d79549afaf161ab39161088a9190611b50565b60405180910390a250565b600080846001600160a01b031684846040516108b19190611ba5565b60006040518083038185875af1925050503d80600081146108ee576040519150601f19603f3d011682016040523d82523d6000602084013e6108f3565b606091505b50915091508161090557805160208201fd5b5050505050565b3330146105a55760405162461bcd60e51b815260206004820152600960248201526837b7363c9039b2b63360b91b60448201526064016102f4565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161561097a576104c483610e81565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156109d4575060408051601f3d908101601f191682019092526109d191810190611bb7565b60015b610a375760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b60648201526084016102f4565b600080516020611d368339815191528114610aa65760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b60648201526084016102f4565b506104c4838383610f1d565b604080516060818101835260008083526020830181905292820183905290369083906000610ae461014089018961197f565b9050905080600003610afe57600195505050505050610c6c565b6000610b0e6101408a018a61197f565b6000818110610b1f57610b1f611949565b919091013560f81c9150506001819003610bf6576007821015610b4b5760019650505050505050610c6c565b6000610b5b6101408b018b61197f565b610b6a91600791600191611bd0565b610b7391611bfa565b60d01c9050610b866101408b018b61197f565b610b94916007908290611bd0565b6040516001600160f81b031960f886901b1660208201526001600160d01b031960d085901b166021820152602781018c9052919750955060470160408051601f1981840301815291815265ffffffffffff909216918501919091529550610c05565b60019650505050505050610c6c565b610c108686866107a9565b15610c6157610c5483600060d0826020015165ffffffffffff16901b60a0836040015165ffffffffffff16901b83600001516001600160a01b031617179050919050565b9650505050505050610c6c565b600196505050505050505b92915050565b80156105a557604051600090339060001990849084818181858888f193505050503d8060008114610905576040519150601f19603f3d011682016040523d82523d6000602084013e610905565b600060208a511080610cf95750610cf78a602081518110610ce257610ce2611949565b01602001516001600160f81b0319168a610f48565b155b15610d0657506000610e73565b604080518082019091526015815274113a3cb832911d113bb2b130baba34371733b2ba1160591b6020820152610d3d818a89610fae565b610d4b576000915050610e73565b6000610d568d611067565b9050600081604051602001610d6b9190611c2a565b6040516020818303038152906040529050610d87818c8c610fae565b610d975760009350505050610e73565b600060028c604051610da99190611ba5565b602060405180830381855afa158015610dc6573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190610de99190611bb7565b9050600060028f83604051602001610e02929190611c6b565b60408051601f1981840301815290829052610e1c91611ba5565b602060405180830381855afa158015610e39573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190610e5c9190611bb7565b9050610e6b818b8b8b8b61127f565b955050505050505b9a9950505050505050505050565b6001600160a01b0381163b610eee5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016102f4565b600080516020611d3683398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b610f2683611363565b600082511180610f335750805b156104c457610f4283836113a3565b50505050565b6000600160f81b83811614610f5f57506000610c6c565b818015610f725750600160fa1b83811614155b15610f7f57506000610c6c565b600160fb1b83811614610fa557600f60fc1b600160fc1b841601610fa557506000610c6c565b50600192915050565b825182516000918591859190845b828110156110585781610fcf8289611c8d565b10610fe257600095505050505050610254565b83610fed8289611c8d565b81518110610ffd57610ffd611949565b602001015160f81c60f81b6001600160f81b03191685828151811061102457611024611949565b01602001516001600160f81b0319161461104657600095505050505050610254565b80611050816119e3565b915050610fbc565b50600198975050505050505050565b60606000611074836113c8565b905060008190506000600282511180156110bf575081600283516110989190611ca0565b815181106110a8576110a8611949565b6020910101516001600160f81b031916603d60f81b145b156110cc57506002611117565b6001825111801561110e575081600183516110e79190611ca0565b815181106110f7576110f7611949565b6020910101516001600160f81b031916603d60f81b145b15611117575060015b60008183516111269190611ca0565b905060008167ffffffffffffffff811115611143576111436116ba565b6040519080825280601f01601f19166020018201604052801561116d576020820181803683370190505b50905060005b828110156112745784818151811061118d5761118d611949565b01602001516001600160f81b031916602b60f81b036111d957602d60f81b8282815181106111bd576111bd611949565b60200101906001600160f81b031916908160001a905350611262565b8481815181106111eb576111eb611949565b01602001516001600160f81b031916602f60f81b0361121b57605f60f81b8282815181106111bd576111bd611949565b84818151811061122d5761122d611949565b602001015160f81c60f81b82828151811061124a5761124a611949565b60200101906001600160f81b031916908160001a9053505b8061126c816119e3565b915050611173565b509695505050505050565b6040805160208101879052908101859052606081018490526080810183905260a08101829052600090819060c001604051602081830303815290604052905060008073c2b78104907f722dabac4c69f826a522b2754de46001600160a01b0316836040516112ed9190611ba5565b600060405180830381855afa9150503d8060008114611328576040519150601f19603f3d011682016040523d82523d6000602084013e61132d565b606091505b50915091508161133f5761133f611cb3565b808060200190518101906113539190611bb7565b6001149998505050505050505050565b61136c81610e81565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606102548383604051806060016040528060278152602001611d966027913961151b565b606081516000036113e757505060408051602081019091526000815290565b6000604051806060016040528060408152602001611d5660409139905060006003845160026114169190611c8d565b6114209190611cc9565b61142b906004611ceb565b67ffffffffffffffff811115611443576114436116ba565b6040519080825280601f01601f19166020018201604052801561146d576020820181803683370190505b509050600182016020820185865187015b808210156114d9576003820191508151603f8160121c168501518453600184019350603f81600c1c168501518453600184019350603f8160061c168501518453600184019350603f811685015184535060018301925061147e565b50506003865106600181146114f5576002811461150857611510565b603d6001830353603d6002830353611510565b603d60018303535b509195945050505050565b6060600080856001600160a01b0316856040516115389190611ba5565b600060405180830381855af49150503d8060008114611573576040519150601f19603f3d011682016040523d82523d6000602084013e611578565b606091505b509150915061158986838387611593565b9695505050505050565b606083156116025782516000036115fb576001600160a01b0385163b6115fb5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102f4565b508161160c565b61160c8383611614565b949350505050565b8151156116245781518083602001fd5b8060405162461bcd60e51b81526004016102f49190611d02565b60008060006040848603121561165357600080fd5b83359250602084013567ffffffffffffffff8082111561167257600080fd5b818601915086601f83011261168657600080fd5b81358181111561169557600080fd5b8760208285010111156116a757600080fd5b6020830194508093505050509250925092565b634e487b7160e01b600052604160045260246000fd5b60405160c0810167ffffffffffffffff811182821017156116f3576116f36116ba565b60405290565b60006040828403121561170b57600080fd5b82601f83011261171a57600080fd5b6040516040810181811067ffffffffffffffff8211171561173d5761173d6116ba565b806040525080604084018581111561175457600080fd5b845b81811015611510578035835260209283019201611756565b6000806020838503121561178157600080fd5b823567ffffffffffffffff8082111561179957600080fd5b818501915085601f8301126117ad57600080fd5b8135818111156117bc57600080fd5b8660208260051b85010111156117d157600080fd5b60209290920196919550909350505050565b80356001600160a01b03811681146117fa57600080fd5b919050565b60006020828403121561181157600080fd5b610254826117e3565b60008060006060848603121561182f57600080fd5b833567ffffffffffffffff81111561184657600080fd5b8401610160818703121561185957600080fd5b95602085013595506040909401359392505050565b600082601f83011261187f57600080fd5b813567ffffffffffffffff8082111561189a5761189a6116ba565b604051601f8301601f19908116603f011681019082821181831017156118c2576118c26116ba565b816040528381528660208588010111156118db57600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806040838503121561190e57600080fd5b611917836117e3565b9150602083013567ffffffffffffffff81111561193357600080fd5b61193f8582860161186e565b9150509250929050565b634e487b7160e01b600052603260045260246000fd5b60008235605e1983360301811261197557600080fd5b9190910192915050565b6000808335601e1984360301811261199657600080fd5b83018035915067ffffffffffffffff8211156119b157600080fd5b6020019150368190038213156119c657600080fd5b9250929050565b634e487b7160e01b600052601160045260246000fd5b6000600182016119f5576119f56119cd565b5060010190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b600060208284031215611aa657600080fd5b813567ffffffffffffffff80821115611abe57600080fd5b9083019060c08286031215611ad257600080fd5b611ada6116d0565b823582811115611ae957600080fd5b611af58782860161186e565b825250602083013582811115611b0a57600080fd5b611b168782860161186e565b60208301525060408301356040820152606083013560608201526080830135608082015260a083013560a082015280935050505092915050565b60408101818360005b6002811015611b78578151835260209283019290910190600101611b59565b50505092915050565b60005b83811015611b9c578181015183820152602001611b84565b50506000910152565b60008251611975818460208701611b81565b600060208284031215611bc957600080fd5b5051919050565b60008085851115611be057600080fd5b83861115611bed57600080fd5b5050820193919092039150565b6001600160d01b03198135818116916006851015611c225780818660060360031b1b83161692505b505092915050565b6c1131b430b63632b733b2911d1160991b81528151600090611c5381600d850160208701611b81565b601160f91b600d939091019283015250600e01919050565b60008351611c7d818460208801611b81565b9190910191825250602001919050565b80820180821115610c6c57610c6c6119cd565b81810381811115610c6c57610c6c6119cd565b634e487b7160e01b600052600160045260246000fd5b600082611ce657634e487b7160e01b600052601260045260246000fd5b500490565b8082028115828204841417610c6c57610c6c6119cd565b6020815260008251806020840152611d21816040850160208701611b81565b601f01601f1916919091016040019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc4142434445464748494a4b4c4d4e4f505152535455565758595a6162636465666768696a6b6c6d6e6f707172737475767778797a303132333435363738392b2f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a164736f6c6343000815000a0000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789" + } + ], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x6d0c7233911612cfb0011a3f80908f8051e66ecc4c123ad7e7c0bc55095867c0", + "transactionIndex": "0x1", + "blockHash": "0x99ebcf4429ab716ef475929ebde660e70314938865eaa6cf51dfc2facd73a05a", + "blockNumber": "0xb4fd97", + "from": "0x061060a65146b3265C62fC8f3AE977c9B27260fF", + "to": null, + "cumulativeGasUsed": "0x239fe0", + "gasUsed": "0x22e8db", + "contractAddress": "0xCD7DA03e26Fa4b7BcB43B4e5Ed65bE5cC9d844B0", + "logs": [ + { + "address": "0xA664329f1490b57625a2a3F8C25265A59c606265", + "topics": [ + "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000ff", + "blockHash": "0x99ebcf4429ab716ef475929ebde660e70314938865eaa6cf51dfc2facd73a05a", + "blockNumber": "0xb4fd97", + "transactionHash": "0x6d0c7233911612cfb0011a3f80908f8051e66ecc4c123ad7e7c0bc55095867c0", + "transactionIndex": "0x1", + "logIndex": "0x0", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000040000000080000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e32" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1698916452, + "chain": 84531, + "multi": false, + "commit": "3450ece" +} \ No newline at end of file diff --git a/contracts/broadcast/SimpleAccountFactory.s.sol/84531/run-latest.json b/contracts/broadcast/SimpleAccountFactory.s.sol/84531/run-latest.json new file mode 100644 index 0000000..daf7189 --- /dev/null +++ b/contracts/broadcast/SimpleAccountFactory.s.sol/84531/run-latest.json @@ -0,0 +1,70 @@ +{ + "transactions": [ + { + "hash": "0x6d0c7233911612cfb0011a3f80908f8051e66ecc4c123ad7e7c0bc55095867c0", + "transactionType": "CREATE", + "contractName": "SimpleAccountFactory", + "contractAddress": "0xCD7DA03e26Fa4b7BcB43B4e5Ed65bE5cC9d844B0", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x02", + "from": "0x061060a65146b3265c62fc8f3ae977c9b27260ff", + "gas": "0x2d61e9", + "value": "0x0", + "data": "0x60c060405234801561001057600080fd5b506040516129ed3803806129ed83398101604081905261002f91610096565b6001600160a01b03811660a052604051819061004a90610089565b6001600160a01b039091168152602001604051809103906000f080158015610076573d6000803e3d6000fd5b506001600160a01b0316608052506100c6565b611f6a80610a8383390190565b6000602082840312156100a857600080fd5b81516001600160a01b03811681146100bf57600080fd5b9392505050565b60805160a0516109856100fe6000396000818160a5015261020901526000818160d90152818161012a015261028701526109856000f3fe60806040526004361061003f5760003560e01c80630b824849146100445780638375702b14610080578063b0d691fe14610093578063c1e4ba2d146100c7575b600080fd5b34801561005057600080fd5b5061006461005f366004610375565b6100fb565b6040516001600160a01b03909116815260200160405180910390f35b61006461008e366004610375565b6101d5565b34801561009f57600080fd5b506100647f000000000000000000000000000000000000000000000000000000000000000081565b3480156100d357600080fd5b506100647f000000000000000000000000000000000000000000000000000000000000000081565b60006101cc8260001b6040518060200161011490610352565b6020820181038252601f19601f820116604052507f00000000000000000000000000000000000000000000000000000000000000008660405160240161015a91906103fa565b60408051601f19818403018152918152602080830180516001600160e01b0316632d16032160e01b17905290516101939392910161044f565b60408051601f19818403018152908290526101b19291602001610491565b60405160208183030381529060405280519060200120610320565b90505b92915050565b6000806101e284846100fb565b905034156102685760405163b760faf960e01b81526001600160a01b0382811660048301527f0000000000000000000000000000000000000000000000000000000000000000169063b760faf99034906024016000604051808303818588803b15801561024e57600080fd5b505af1158015610262573d6000803e3d6000fd5b50505050505b6001600160a01b0381163b8015610281575090506101cf565b8360001b7f0000000000000000000000000000000000000000000000000000000000000000866040516024016102b791906103fa565b60408051601f198184030181529181526020820180516001600160e01b0316632d16032160e01b179052516102eb90610352565b6102f692919061044f565b8190604051809103906000f5905080158015610316573d6000803e3d6000fd5b5095945050505050565b60006101cc8383306000604051836040820152846020820152828152600b8101905060ff815360559020949350505050565b6104b8806104c183390190565b634e487b7160e01b600052604160045260246000fd5b6000806060838503121561038857600080fd5b83601f84011261039757600080fd5b6040516040810181811067ffffffffffffffff821117156103ba576103ba61035f565b80604052508060408501868111156103d157600080fd5b855b818110156103eb5780358352602092830192016103d3565b50919691359550909350505050565b60408101818360005b6002811015610422578151835260209283019290910190600101610403565b50505092915050565b60005b8381101561044657818101518382015260200161042e565b50506000910152565b60018060a01b0383168152604060208201526000825180604084015261047c81606085016020870161042b565b601f01601f1916919091016060019392505050565b600083516104a381846020880161042b565b8351908301906104b781836020880161042b565b0194935050505056fe60806040526040516104b83803806104b8833981016040819052610022916102de565b61002e82826000610035565b50506103fb565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c6838360405180606001604052806027815260200161049160279139610180565b9392505050565b6001600160a01b0381163b61013f5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019d91906103ac565b600060405180830381855af49150503d80600081146101d8576040519150601f19603f3d011682016040523d82523d6000602084013e6101dd565b606091505b5090925090506101ef868383876101f9565b9695505050505050565b60608315610268578251600003610261576001600160a01b0385163b6102615760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610136565b5081610272565b610272838361027a565b949350505050565b81511561028a5781518083602001fd5b8060405162461bcd60e51b815260040161013691906103c8565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102d55781810151838201526020016102bd565b50506000910152565b600080604083850312156102f157600080fd5b82516001600160a01b038116811461030857600080fd5b60208401519092506001600160401b038082111561032557600080fd5b818501915085601f83011261033957600080fd5b81518181111561034b5761034b6102a4565b604051601f8201601f19908116603f01168101908382118183101715610373576103736102a4565b8160405282815288602084870101111561038c57600080fd5b61039d8360208301602088016102ba565b80955050505050509250929050565b600082516103be8184602087016102ba565b9190910192915050565b60208152600082518060208401526103e78160408501602087016102ba565b601f01601f19169190910160400192915050565b6088806104096000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6058565b565b600060537f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e8080156076573d6000f35b3d6000fdfea164736f6c6343000815000a416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a164736f6c6343000815000a60c0604052306080523480156200001557600080fd5b5060405162001f6a38038062001f6a833981016040819052620000389162000118565b6001600160a01b03811660a0526200004f62000056565b506200014a565b600054610100900460ff1615620000c35760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff908116101562000116576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6000602082840312156200012b57600080fd5b81516001600160a01b03811681146200014357600080fd5b9392505050565b60805160a051611dc9620001a1600039600081816101ce0152818161037e015281816105b501526108350152600081816104d301528181610513015281816106340152818161067401526107030152611dc96000f3fe60806040526004361061008a5760003560e01c80633a871cdd116100595780633a871cdd146101365780634f1ef2861461016457806352d1902d1461017757806363ffab311461018c578063b0d691fe146101bc57600080fd5b80631626ba7e146100965780632d160321146100d457806334fcd5be146100f65780633659cfe61461011657600080fd5b3661009157005b600080fd5b3480156100a257600080fd5b506100b66100b136600461163e565b610208565b6040516001600160e01b031990911681526020015b60405180910390f35b3480156100e057600080fd5b506100f46100ef3660046116f9565b61025b565b005b34801561010257600080fd5b506100f461011136600461176e565b610373565b34801561012257600080fd5b506100f46101313660046117ff565b6104c9565b34801561014257600080fd5b5061015661015136600461181a565b6105a8565b6040519081526020016100cb565b6100f46101723660046118fb565b61062a565b34801561018357600080fd5b506101566106f6565b34801561019857600080fd5b506001546002546101a7919082565b604080519283526020830191909152016100cb565b3480156101c857600080fd5b506101f07f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100cb565b60006102368460405160200161022091815260200190565b60405160208183030381529060405284846107a9565b156102495750630b135d3f60e11b610254565b506001600160e01b03195b9392505050565b600054610100900460ff161580801561027b5750600054600160ff909116105b806102955750303b158015610295575060005460ff166001145b6102fd5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff191660011790558015610320576000805461ff0019166101001790555b610329826107fd565b801561036f576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146103de5760405162461bcd60e51b815260206004820152601060248201526f1bdb9b1e48195b9d1c9e481c1bda5b9d60821b60448201526064016102f4565b60005b818110156104c4576104b28383838181106103fe576103fe611949565b9050602002810190610410919061195f565b61041e9060208101906117ff565b84848481811061043057610430611949565b9050602002810190610442919061195f565b6020013585858581811061045857610458611949565b905060200281019061046a919061195f565b61047890604081019061197f565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061089592505050565b806104bc816119e3565b9150506103e1565b505050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036105115760405162461bcd60e51b81526004016102f4906119fc565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661055a600080516020611d36833981519152546001600160a01b031690565b6001600160a01b0316146105805760405162461bcd60e51b81526004016102f490611a48565b6105898161090c565b604080516000808252602082019092526105a591839190610947565b50565b6000336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146106155760405162461bcd60e51b815260206004820152601060248201526f1bdb9b1e48195b9d1c9e481c1bda5b9d60821b60448201526064016102f4565b61061f8484610ab2565b905061025482610c72565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036106725760405162461bcd60e51b81526004016102f4906119fc565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166106bb600080516020611d36833981519152546001600160a01b031690565b6001600160a01b0316146106e15760405162461bcd60e51b81526004016102f490611a48565b6106ea8261090c565b61036f82826001610947565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146107965760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016102f4565b50600080516020611d3683398151915290565b6000806107b883850185611a94565b90506107f4858260000151600084602001518560400151866060015187608001518860a0015160016000015460001c600180015460001c610cbf565b95945050505050565b6040805180820182528251808252602080850151928101839052600182905560028390558351808501855291825281019190915290517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316917f8a7fd7e24d60f649878f6c9c7e9114e6614218fd3dce2eb1d79549afaf161ab39161088a9190611b50565b60405180910390a250565b600080846001600160a01b031684846040516108b19190611ba5565b60006040518083038185875af1925050503d80600081146108ee576040519150601f19603f3d011682016040523d82523d6000602084013e6108f3565b606091505b50915091508161090557805160208201fd5b5050505050565b3330146105a55760405162461bcd60e51b815260206004820152600960248201526837b7363c9039b2b63360b91b60448201526064016102f4565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161561097a576104c483610e81565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156109d4575060408051601f3d908101601f191682019092526109d191810190611bb7565b60015b610a375760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b60648201526084016102f4565b600080516020611d368339815191528114610aa65760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b60648201526084016102f4565b506104c4838383610f1d565b604080516060818101835260008083526020830181905292820183905290369083906000610ae461014089018961197f565b9050905080600003610afe57600195505050505050610c6c565b6000610b0e6101408a018a61197f565b6000818110610b1f57610b1f611949565b919091013560f81c9150506001819003610bf6576007821015610b4b5760019650505050505050610c6c565b6000610b5b6101408b018b61197f565b610b6a91600791600191611bd0565b610b7391611bfa565b60d01c9050610b866101408b018b61197f565b610b94916007908290611bd0565b6040516001600160f81b031960f886901b1660208201526001600160d01b031960d085901b166021820152602781018c9052919750955060470160408051601f1981840301815291815265ffffffffffff909216918501919091529550610c05565b60019650505050505050610c6c565b610c108686866107a9565b15610c6157610c5483600060d0826020015165ffffffffffff16901b60a0836040015165ffffffffffff16901b83600001516001600160a01b031617179050919050565b9650505050505050610c6c565b600196505050505050505b92915050565b80156105a557604051600090339060001990849084818181858888f193505050503d8060008114610905576040519150601f19603f3d011682016040523d82523d6000602084013e610905565b600060208a511080610cf95750610cf78a602081518110610ce257610ce2611949565b01602001516001600160f81b0319168a610f48565b155b15610d0657506000610e73565b604080518082019091526015815274113a3cb832911d113bb2b130baba34371733b2ba1160591b6020820152610d3d818a89610fae565b610d4b576000915050610e73565b6000610d568d611067565b9050600081604051602001610d6b9190611c2a565b6040516020818303038152906040529050610d87818c8c610fae565b610d975760009350505050610e73565b600060028c604051610da99190611ba5565b602060405180830381855afa158015610dc6573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190610de99190611bb7565b9050600060028f83604051602001610e02929190611c6b565b60408051601f1981840301815290829052610e1c91611ba5565b602060405180830381855afa158015610e39573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190610e5c9190611bb7565b9050610e6b818b8b8b8b61127f565b955050505050505b9a9950505050505050505050565b6001600160a01b0381163b610eee5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016102f4565b600080516020611d3683398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b610f2683611363565b600082511180610f335750805b156104c457610f4283836113a3565b50505050565b6000600160f81b83811614610f5f57506000610c6c565b818015610f725750600160fa1b83811614155b15610f7f57506000610c6c565b600160fb1b83811614610fa557600f60fc1b600160fc1b841601610fa557506000610c6c565b50600192915050565b825182516000918591859190845b828110156110585781610fcf8289611c8d565b10610fe257600095505050505050610254565b83610fed8289611c8d565b81518110610ffd57610ffd611949565b602001015160f81c60f81b6001600160f81b03191685828151811061102457611024611949565b01602001516001600160f81b0319161461104657600095505050505050610254565b80611050816119e3565b915050610fbc565b50600198975050505050505050565b60606000611074836113c8565b905060008190506000600282511180156110bf575081600283516110989190611ca0565b815181106110a8576110a8611949565b6020910101516001600160f81b031916603d60f81b145b156110cc57506002611117565b6001825111801561110e575081600183516110e79190611ca0565b815181106110f7576110f7611949565b6020910101516001600160f81b031916603d60f81b145b15611117575060015b60008183516111269190611ca0565b905060008167ffffffffffffffff811115611143576111436116ba565b6040519080825280601f01601f19166020018201604052801561116d576020820181803683370190505b50905060005b828110156112745784818151811061118d5761118d611949565b01602001516001600160f81b031916602b60f81b036111d957602d60f81b8282815181106111bd576111bd611949565b60200101906001600160f81b031916908160001a905350611262565b8481815181106111eb576111eb611949565b01602001516001600160f81b031916602f60f81b0361121b57605f60f81b8282815181106111bd576111bd611949565b84818151811061122d5761122d611949565b602001015160f81c60f81b82828151811061124a5761124a611949565b60200101906001600160f81b031916908160001a9053505b8061126c816119e3565b915050611173565b509695505050505050565b6040805160208101879052908101859052606081018490526080810183905260a08101829052600090819060c001604051602081830303815290604052905060008073c2b78104907f722dabac4c69f826a522b2754de46001600160a01b0316836040516112ed9190611ba5565b600060405180830381855afa9150503d8060008114611328576040519150601f19603f3d011682016040523d82523d6000602084013e61132d565b606091505b50915091508161133f5761133f611cb3565b808060200190518101906113539190611bb7565b6001149998505050505050505050565b61136c81610e81565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606102548383604051806060016040528060278152602001611d966027913961151b565b606081516000036113e757505060408051602081019091526000815290565b6000604051806060016040528060408152602001611d5660409139905060006003845160026114169190611c8d565b6114209190611cc9565b61142b906004611ceb565b67ffffffffffffffff811115611443576114436116ba565b6040519080825280601f01601f19166020018201604052801561146d576020820181803683370190505b509050600182016020820185865187015b808210156114d9576003820191508151603f8160121c168501518453600184019350603f81600c1c168501518453600184019350603f8160061c168501518453600184019350603f811685015184535060018301925061147e565b50506003865106600181146114f5576002811461150857611510565b603d6001830353603d6002830353611510565b603d60018303535b509195945050505050565b6060600080856001600160a01b0316856040516115389190611ba5565b600060405180830381855af49150503d8060008114611573576040519150601f19603f3d011682016040523d82523d6000602084013e611578565b606091505b509150915061158986838387611593565b9695505050505050565b606083156116025782516000036115fb576001600160a01b0385163b6115fb5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102f4565b508161160c565b61160c8383611614565b949350505050565b8151156116245781518083602001fd5b8060405162461bcd60e51b81526004016102f49190611d02565b60008060006040848603121561165357600080fd5b83359250602084013567ffffffffffffffff8082111561167257600080fd5b818601915086601f83011261168657600080fd5b81358181111561169557600080fd5b8760208285010111156116a757600080fd5b6020830194508093505050509250925092565b634e487b7160e01b600052604160045260246000fd5b60405160c0810167ffffffffffffffff811182821017156116f3576116f36116ba565b60405290565b60006040828403121561170b57600080fd5b82601f83011261171a57600080fd5b6040516040810181811067ffffffffffffffff8211171561173d5761173d6116ba565b806040525080604084018581111561175457600080fd5b845b81811015611510578035835260209283019201611756565b6000806020838503121561178157600080fd5b823567ffffffffffffffff8082111561179957600080fd5b818501915085601f8301126117ad57600080fd5b8135818111156117bc57600080fd5b8660208260051b85010111156117d157600080fd5b60209290920196919550909350505050565b80356001600160a01b03811681146117fa57600080fd5b919050565b60006020828403121561181157600080fd5b610254826117e3565b60008060006060848603121561182f57600080fd5b833567ffffffffffffffff81111561184657600080fd5b8401610160818703121561185957600080fd5b95602085013595506040909401359392505050565b600082601f83011261187f57600080fd5b813567ffffffffffffffff8082111561189a5761189a6116ba565b604051601f8301601f19908116603f011681019082821181831017156118c2576118c26116ba565b816040528381528660208588010111156118db57600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806040838503121561190e57600080fd5b611917836117e3565b9150602083013567ffffffffffffffff81111561193357600080fd5b61193f8582860161186e565b9150509250929050565b634e487b7160e01b600052603260045260246000fd5b60008235605e1983360301811261197557600080fd5b9190910192915050565b6000808335601e1984360301811261199657600080fd5b83018035915067ffffffffffffffff8211156119b157600080fd5b6020019150368190038213156119c657600080fd5b9250929050565b634e487b7160e01b600052601160045260246000fd5b6000600182016119f5576119f56119cd565b5060010190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b600060208284031215611aa657600080fd5b813567ffffffffffffffff80821115611abe57600080fd5b9083019060c08286031215611ad257600080fd5b611ada6116d0565b823582811115611ae957600080fd5b611af58782860161186e565b825250602083013582811115611b0a57600080fd5b611b168782860161186e565b60208301525060408301356040820152606083013560608201526080830135608082015260a083013560a082015280935050505092915050565b60408101818360005b6002811015611b78578151835260209283019290910190600101611b59565b50505092915050565b60005b83811015611b9c578181015183820152602001611b84565b50506000910152565b60008251611975818460208701611b81565b600060208284031215611bc957600080fd5b5051919050565b60008085851115611be057600080fd5b83861115611bed57600080fd5b5050820193919092039150565b6001600160d01b03198135818116916006851015611c225780818660060360031b1b83161692505b505092915050565b6c1131b430b63632b733b2911d1160991b81528151600090611c5381600d850160208701611b81565b601160f91b600d939091019283015250600e01919050565b60008351611c7d818460208801611b81565b9190910191825250602001919050565b80820180821115610c6c57610c6c6119cd565b81810381811115610c6c57610c6c6119cd565b634e487b7160e01b600052600160045260246000fd5b600082611ce657634e487b7160e01b600052601260045260246000fd5b500490565b8082028115828204841417610c6c57610c6c6119cd565b6020815260008251806020840152611d21816040850160208701611b81565b601f01601f1916919091016040019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc4142434445464748494a4b4c4d4e4f505152535455565758595a6162636465666768696a6b6c6d6e6f707172737475767778797a303132333435363738392b2f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a164736f6c6343000815000a0000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x1e", + "accessList": [] + }, + "additionalContracts": [ + { + "transactionType": "CREATE", + "address": "0xA664329f1490b57625a2a3F8C25265A59c606265", + "initCode": "0x60c0604052306080523480156200001557600080fd5b5060405162001f6a38038062001f6a833981016040819052620000389162000118565b6001600160a01b03811660a0526200004f62000056565b506200014a565b600054610100900460ff1615620000c35760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff908116101562000116576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6000602082840312156200012b57600080fd5b81516001600160a01b03811681146200014357600080fd5b9392505050565b60805160a051611dc9620001a1600039600081816101ce0152818161037e015281816105b501526108350152600081816104d301528181610513015281816106340152818161067401526107030152611dc96000f3fe60806040526004361061008a5760003560e01c80633a871cdd116100595780633a871cdd146101365780634f1ef2861461016457806352d1902d1461017757806363ffab311461018c578063b0d691fe146101bc57600080fd5b80631626ba7e146100965780632d160321146100d457806334fcd5be146100f65780633659cfe61461011657600080fd5b3661009157005b600080fd5b3480156100a257600080fd5b506100b66100b136600461163e565b610208565b6040516001600160e01b031990911681526020015b60405180910390f35b3480156100e057600080fd5b506100f46100ef3660046116f9565b61025b565b005b34801561010257600080fd5b506100f461011136600461176e565b610373565b34801561012257600080fd5b506100f46101313660046117ff565b6104c9565b34801561014257600080fd5b5061015661015136600461181a565b6105a8565b6040519081526020016100cb565b6100f46101723660046118fb565b61062a565b34801561018357600080fd5b506101566106f6565b34801561019857600080fd5b506001546002546101a7919082565b604080519283526020830191909152016100cb565b3480156101c857600080fd5b506101f07f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100cb565b60006102368460405160200161022091815260200190565b60405160208183030381529060405284846107a9565b156102495750630b135d3f60e11b610254565b506001600160e01b03195b9392505050565b600054610100900460ff161580801561027b5750600054600160ff909116105b806102955750303b158015610295575060005460ff166001145b6102fd5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff191660011790558015610320576000805461ff0019166101001790555b610329826107fd565b801561036f576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146103de5760405162461bcd60e51b815260206004820152601060248201526f1bdb9b1e48195b9d1c9e481c1bda5b9d60821b60448201526064016102f4565b60005b818110156104c4576104b28383838181106103fe576103fe611949565b9050602002810190610410919061195f565b61041e9060208101906117ff565b84848481811061043057610430611949565b9050602002810190610442919061195f565b6020013585858581811061045857610458611949565b905060200281019061046a919061195f565b61047890604081019061197f565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061089592505050565b806104bc816119e3565b9150506103e1565b505050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036105115760405162461bcd60e51b81526004016102f4906119fc565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661055a600080516020611d36833981519152546001600160a01b031690565b6001600160a01b0316146105805760405162461bcd60e51b81526004016102f490611a48565b6105898161090c565b604080516000808252602082019092526105a591839190610947565b50565b6000336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146106155760405162461bcd60e51b815260206004820152601060248201526f1bdb9b1e48195b9d1c9e481c1bda5b9d60821b60448201526064016102f4565b61061f8484610ab2565b905061025482610c72565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036106725760405162461bcd60e51b81526004016102f4906119fc565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166106bb600080516020611d36833981519152546001600160a01b031690565b6001600160a01b0316146106e15760405162461bcd60e51b81526004016102f490611a48565b6106ea8261090c565b61036f82826001610947565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146107965760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016102f4565b50600080516020611d3683398151915290565b6000806107b883850185611a94565b90506107f4858260000151600084602001518560400151866060015187608001518860a0015160016000015460001c600180015460001c610cbf565b95945050505050565b6040805180820182528251808252602080850151928101839052600182905560028390558351808501855291825281019190915290517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316917f8a7fd7e24d60f649878f6c9c7e9114e6614218fd3dce2eb1d79549afaf161ab39161088a9190611b50565b60405180910390a250565b600080846001600160a01b031684846040516108b19190611ba5565b60006040518083038185875af1925050503d80600081146108ee576040519150601f19603f3d011682016040523d82523d6000602084013e6108f3565b606091505b50915091508161090557805160208201fd5b5050505050565b3330146105a55760405162461bcd60e51b815260206004820152600960248201526837b7363c9039b2b63360b91b60448201526064016102f4565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161561097a576104c483610e81565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156109d4575060408051601f3d908101601f191682019092526109d191810190611bb7565b60015b610a375760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b60648201526084016102f4565b600080516020611d368339815191528114610aa65760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b60648201526084016102f4565b506104c4838383610f1d565b604080516060818101835260008083526020830181905292820183905290369083906000610ae461014089018961197f565b9050905080600003610afe57600195505050505050610c6c565b6000610b0e6101408a018a61197f565b6000818110610b1f57610b1f611949565b919091013560f81c9150506001819003610bf6576007821015610b4b5760019650505050505050610c6c565b6000610b5b6101408b018b61197f565b610b6a91600791600191611bd0565b610b7391611bfa565b60d01c9050610b866101408b018b61197f565b610b94916007908290611bd0565b6040516001600160f81b031960f886901b1660208201526001600160d01b031960d085901b166021820152602781018c9052919750955060470160408051601f1981840301815291815265ffffffffffff909216918501919091529550610c05565b60019650505050505050610c6c565b610c108686866107a9565b15610c6157610c5483600060d0826020015165ffffffffffff16901b60a0836040015165ffffffffffff16901b83600001516001600160a01b031617179050919050565b9650505050505050610c6c565b600196505050505050505b92915050565b80156105a557604051600090339060001990849084818181858888f193505050503d8060008114610905576040519150601f19603f3d011682016040523d82523d6000602084013e610905565b600060208a511080610cf95750610cf78a602081518110610ce257610ce2611949565b01602001516001600160f81b0319168a610f48565b155b15610d0657506000610e73565b604080518082019091526015815274113a3cb832911d113bb2b130baba34371733b2ba1160591b6020820152610d3d818a89610fae565b610d4b576000915050610e73565b6000610d568d611067565b9050600081604051602001610d6b9190611c2a565b6040516020818303038152906040529050610d87818c8c610fae565b610d975760009350505050610e73565b600060028c604051610da99190611ba5565b602060405180830381855afa158015610dc6573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190610de99190611bb7565b9050600060028f83604051602001610e02929190611c6b565b60408051601f1981840301815290829052610e1c91611ba5565b602060405180830381855afa158015610e39573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190610e5c9190611bb7565b9050610e6b818b8b8b8b61127f565b955050505050505b9a9950505050505050505050565b6001600160a01b0381163b610eee5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016102f4565b600080516020611d3683398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b610f2683611363565b600082511180610f335750805b156104c457610f4283836113a3565b50505050565b6000600160f81b83811614610f5f57506000610c6c565b818015610f725750600160fa1b83811614155b15610f7f57506000610c6c565b600160fb1b83811614610fa557600f60fc1b600160fc1b841601610fa557506000610c6c565b50600192915050565b825182516000918591859190845b828110156110585781610fcf8289611c8d565b10610fe257600095505050505050610254565b83610fed8289611c8d565b81518110610ffd57610ffd611949565b602001015160f81c60f81b6001600160f81b03191685828151811061102457611024611949565b01602001516001600160f81b0319161461104657600095505050505050610254565b80611050816119e3565b915050610fbc565b50600198975050505050505050565b60606000611074836113c8565b905060008190506000600282511180156110bf575081600283516110989190611ca0565b815181106110a8576110a8611949565b6020910101516001600160f81b031916603d60f81b145b156110cc57506002611117565b6001825111801561110e575081600183516110e79190611ca0565b815181106110f7576110f7611949565b6020910101516001600160f81b031916603d60f81b145b15611117575060015b60008183516111269190611ca0565b905060008167ffffffffffffffff811115611143576111436116ba565b6040519080825280601f01601f19166020018201604052801561116d576020820181803683370190505b50905060005b828110156112745784818151811061118d5761118d611949565b01602001516001600160f81b031916602b60f81b036111d957602d60f81b8282815181106111bd576111bd611949565b60200101906001600160f81b031916908160001a905350611262565b8481815181106111eb576111eb611949565b01602001516001600160f81b031916602f60f81b0361121b57605f60f81b8282815181106111bd576111bd611949565b84818151811061122d5761122d611949565b602001015160f81c60f81b82828151811061124a5761124a611949565b60200101906001600160f81b031916908160001a9053505b8061126c816119e3565b915050611173565b509695505050505050565b6040805160208101879052908101859052606081018490526080810183905260a08101829052600090819060c001604051602081830303815290604052905060008073c2b78104907f722dabac4c69f826a522b2754de46001600160a01b0316836040516112ed9190611ba5565b600060405180830381855afa9150503d8060008114611328576040519150601f19603f3d011682016040523d82523d6000602084013e61132d565b606091505b50915091508161133f5761133f611cb3565b808060200190518101906113539190611bb7565b6001149998505050505050505050565b61136c81610e81565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606102548383604051806060016040528060278152602001611d966027913961151b565b606081516000036113e757505060408051602081019091526000815290565b6000604051806060016040528060408152602001611d5660409139905060006003845160026114169190611c8d565b6114209190611cc9565b61142b906004611ceb565b67ffffffffffffffff811115611443576114436116ba565b6040519080825280601f01601f19166020018201604052801561146d576020820181803683370190505b509050600182016020820185865187015b808210156114d9576003820191508151603f8160121c168501518453600184019350603f81600c1c168501518453600184019350603f8160061c168501518453600184019350603f811685015184535060018301925061147e565b50506003865106600181146114f5576002811461150857611510565b603d6001830353603d6002830353611510565b603d60018303535b509195945050505050565b6060600080856001600160a01b0316856040516115389190611ba5565b600060405180830381855af49150503d8060008114611573576040519150601f19603f3d011682016040523d82523d6000602084013e611578565b606091505b509150915061158986838387611593565b9695505050505050565b606083156116025782516000036115fb576001600160a01b0385163b6115fb5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102f4565b508161160c565b61160c8383611614565b949350505050565b8151156116245781518083602001fd5b8060405162461bcd60e51b81526004016102f49190611d02565b60008060006040848603121561165357600080fd5b83359250602084013567ffffffffffffffff8082111561167257600080fd5b818601915086601f83011261168657600080fd5b81358181111561169557600080fd5b8760208285010111156116a757600080fd5b6020830194508093505050509250925092565b634e487b7160e01b600052604160045260246000fd5b60405160c0810167ffffffffffffffff811182821017156116f3576116f36116ba565b60405290565b60006040828403121561170b57600080fd5b82601f83011261171a57600080fd5b6040516040810181811067ffffffffffffffff8211171561173d5761173d6116ba565b806040525080604084018581111561175457600080fd5b845b81811015611510578035835260209283019201611756565b6000806020838503121561178157600080fd5b823567ffffffffffffffff8082111561179957600080fd5b818501915085601f8301126117ad57600080fd5b8135818111156117bc57600080fd5b8660208260051b85010111156117d157600080fd5b60209290920196919550909350505050565b80356001600160a01b03811681146117fa57600080fd5b919050565b60006020828403121561181157600080fd5b610254826117e3565b60008060006060848603121561182f57600080fd5b833567ffffffffffffffff81111561184657600080fd5b8401610160818703121561185957600080fd5b95602085013595506040909401359392505050565b600082601f83011261187f57600080fd5b813567ffffffffffffffff8082111561189a5761189a6116ba565b604051601f8301601f19908116603f011681019082821181831017156118c2576118c26116ba565b816040528381528660208588010111156118db57600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806040838503121561190e57600080fd5b611917836117e3565b9150602083013567ffffffffffffffff81111561193357600080fd5b61193f8582860161186e565b9150509250929050565b634e487b7160e01b600052603260045260246000fd5b60008235605e1983360301811261197557600080fd5b9190910192915050565b6000808335601e1984360301811261199657600080fd5b83018035915067ffffffffffffffff8211156119b157600080fd5b6020019150368190038213156119c657600080fd5b9250929050565b634e487b7160e01b600052601160045260246000fd5b6000600182016119f5576119f56119cd565b5060010190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b600060208284031215611aa657600080fd5b813567ffffffffffffffff80821115611abe57600080fd5b9083019060c08286031215611ad257600080fd5b611ada6116d0565b823582811115611ae957600080fd5b611af58782860161186e565b825250602083013582811115611b0a57600080fd5b611b168782860161186e565b60208301525060408301356040820152606083013560608201526080830135608082015260a083013560a082015280935050505092915050565b60408101818360005b6002811015611b78578151835260209283019290910190600101611b59565b50505092915050565b60005b83811015611b9c578181015183820152602001611b84565b50506000910152565b60008251611975818460208701611b81565b600060208284031215611bc957600080fd5b5051919050565b60008085851115611be057600080fd5b83861115611bed57600080fd5b5050820193919092039150565b6001600160d01b03198135818116916006851015611c225780818660060360031b1b83161692505b505092915050565b6c1131b430b63632b733b2911d1160991b81528151600090611c5381600d850160208701611b81565b601160f91b600d939091019283015250600e01919050565b60008351611c7d818460208801611b81565b9190910191825250602001919050565b80820180821115610c6c57610c6c6119cd565b81810381811115610c6c57610c6c6119cd565b634e487b7160e01b600052600160045260246000fd5b600082611ce657634e487b7160e01b600052601260045260246000fd5b500490565b8082028115828204841417610c6c57610c6c6119cd565b6020815260008251806020840152611d21816040850160208701611b81565b601f01601f1916919091016040019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc4142434445464748494a4b4c4d4e4f505152535455565758595a6162636465666768696a6b6c6d6e6f707172737475767778797a303132333435363738392b2f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a164736f6c6343000815000a0000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789" + } + ], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x6d0c7233911612cfb0011a3f80908f8051e66ecc4c123ad7e7c0bc55095867c0", + "transactionIndex": "0x1", + "blockHash": "0x99ebcf4429ab716ef475929ebde660e70314938865eaa6cf51dfc2facd73a05a", + "blockNumber": "0xb4fd97", + "from": "0x061060a65146b3265C62fC8f3AE977c9B27260fF", + "to": null, + "cumulativeGasUsed": "0x239fe0", + "gasUsed": "0x22e8db", + "contractAddress": "0xCD7DA03e26Fa4b7BcB43B4e5Ed65bE5cC9d844B0", + "logs": [ + { + "address": "0xA664329f1490b57625a2a3F8C25265A59c606265", + "topics": [ + "0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000ff", + "blockHash": "0x99ebcf4429ab716ef475929ebde660e70314938865eaa6cf51dfc2facd73a05a", + "blockNumber": "0xb4fd97", + "transactionHash": "0x6d0c7233911612cfb0011a3f80908f8051e66ecc4c123ad7e7c0bc55095867c0", + "transactionIndex": "0x1", + "logIndex": "0x0", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000040000000080000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e32" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1698916452, + "chain": 84531, + "multi": false, + "commit": "3450ece" +} \ No newline at end of file diff --git a/contracts/foundry.toml b/contracts/foundry.toml index 7cfd6db..c90bf23 100644 --- a/contracts/foundry.toml +++ b/contracts/foundry.toml @@ -3,5 +3,8 @@ src = "src" out = "out" libs = ["lib"] +bytecode_hash="none" +solc_version="0.8.21" + [rpc_endpoints] base_goerli = "https://goerli.base.org" diff --git a/contracts/lib/account-abstraction b/contracts/lib/account-abstraction new file mode 160000 index 0000000..94cf025 --- /dev/null +++ b/contracts/lib/account-abstraction @@ -0,0 +1 @@ +Subproject commit 94cf025ef1c07b4b404ecd1c732266b378caaa92 diff --git a/contracts/lib/openzeppelin-contracts b/contracts/lib/openzeppelin-contracts new file mode 160000 index 0000000..0457042 --- /dev/null +++ b/contracts/lib/openzeppelin-contracts @@ -0,0 +1 @@ +Subproject commit 0457042d93d9dfd760dbaa06a4d2f1216fdbe297 diff --git a/contracts/remappings.txt b/contracts/remappings.txt index 6eda676..1a375b4 100644 --- a/contracts/remappings.txt +++ b/contracts/remappings.txt @@ -1 +1,3 @@ -p256-verifier/=lib/p256-verifier/src/ \ No newline at end of file +p256-verifier/=lib/p256-verifier/src/ +account-abstraction/=lib/account-abstraction/contracts/ +@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/ \ No newline at end of file diff --git a/contracts/script/SimpleAccountFactory.s.sol b/contracts/script/SimpleAccountFactory.s.sol new file mode 100644 index 0000000..29f98d2 --- /dev/null +++ b/contracts/script/SimpleAccountFactory.s.sol @@ -0,0 +1,22 @@ +// SPDX-License-Identifier: MIT + +pragma solidity ^0.8.13; + +import "forge-std/Script.sol"; +import "account-abstraction/interfaces/IEntryPoint.sol"; +import {SimpleAccountFactory} from "../src/SimpleAccountFactory.sol"; + +contract DeploySimpleAccountFactory is Script { + function run() public { + vm.startBroadcast(); + + // From https://docs.stackup.sh/docs/entity-addresses#entrypoint + IEntryPoint entryPoint = IEntryPoint( + 0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789 + ); + + SimpleAccountFactory factory = new SimpleAccountFactory(entryPoint); + console2.log("SimpleAccountFactory deployed at", address(factory)); + vm.stopBroadcast(); + } +} diff --git a/contracts/src/SimpleAccount.sol b/contracts/src/SimpleAccount.sol new file mode 100644 index 0000000..12c0753 --- /dev/null +++ b/contracts/src/SimpleAccount.sol @@ -0,0 +1,194 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.13; + +import "forge-std/console2.sol"; +import "account-abstraction/interfaces/IAccount.sol"; +import "account-abstraction/interfaces/IEntryPoint.sol"; +import "account-abstraction/core/Helpers.sol"; +import {WebAuthn} from "src/WebAuthn.sol"; +import "openzeppelin-contracts/contracts/interfaces/IERC1271.sol"; +import "@openzeppelin/contracts/proxy/utils/Initializable.sol"; +import "@openzeppelin/contracts/proxy/utils/UUPSUpgradeable.sol"; + +struct Signature { + bytes authenticatorData; + string clientDataJSON; + uint256 challengeLocation; + uint256 responseTypeLocation; + uint256 r; + uint256 s; +} + +contract SimpleAccount is IAccount, UUPSUpgradeable, Initializable, IERC1271 { + struct Call { + address dest; + uint256 value; + bytes data; + } + + struct PublicKey { + bytes32 X; + bytes32 Y; + } + + IEntryPoint public immutable entryPoint; + PublicKey public publicKey; + + event SimpleAccountInitialized( + IEntryPoint indexed entryPoint, + bytes32[2] pubKey + ); + + // Return value in case of signature failure, with no time-range. + // Equivalent to _packValidationData(true,0,0) + uint256 private constant _SIG_VALIDATION_FAILED = 1; + + constructor(IEntryPoint _entryPoint) { + entryPoint = _entryPoint; + _disableInitializers(); + } + + /** + * @dev The _entryPoint member is immutable, to reduce gas consumption. To upgrade EntryPoint, + * a new implementation of SimpleAccount must be deployed with the new EntryPoint address, then upgrading + * the implementation by calling `upgradeTo()` + */ + function initialize( + bytes32[2] memory aPublicKey + ) public virtual initializer { + _initialize(aPublicKey); + } + + function _initialize(bytes32[2] memory aPublicKey) internal virtual { + publicKey = PublicKey(aPublicKey[0], aPublicKey[1]); + emit SimpleAccountInitialized(entryPoint, [publicKey.X, publicKey.Y]); + } + + // solhint-disable-next-line no-empty-blocks + receive() external payable {} + + function _onlyOwner() internal view { + //directly through the account itself (which gets redirected through execute()) + require(msg.sender == address(this), "only account itself can call"); + } + + /// Execute multiple transactions atomically. + function executeBatch(Call[] calldata calls) external onlyEntryPoint { + for (uint256 i = 0; i < calls.length; i++) { + _call(calls[i].dest, calls[i].value, calls[i].data); + } + } + + function _validateSignature( + bytes memory message, + bytes calldata signature + ) private view returns (bool) { + Signature memory sig = abi.decode(signature, (Signature)); + + return + WebAuthn.verifySignature({ + challenge: message, + authenticatorData: sig.authenticatorData, + requireUserVerification: false, + clientDataJSON: sig.clientDataJSON, + challengeLocation: sig.challengeLocation, + responseTypeLocation: sig.responseTypeLocation, + r: sig.r, + s: sig.s, + x: uint256(publicKey.X), + y: uint256(publicKey.Y) + }); + } + + function isValidSignature( + bytes32 message, + bytes calldata signature + ) external view override returns (bytes4 magicValue) { + if (_validateSignature(abi.encodePacked(message), signature)) { + return IERC1271(this).isValidSignature.selector; + } + return 0xffffffff; + } + + function _validateUserOpSignature( + UserOperation calldata userOp, + bytes32 userOpHash + ) private view returns (uint256 validationData) { + bytes memory messageToVerify; + bytes calldata signature; + ValidationData memory returnIfValid; + + uint256 sigLength = userOp.signature.length; + if (sigLength == 0) return _SIG_VALIDATION_FAILED; + + uint8 version = uint8(userOp.signature[0]); + if (version == 1) { + if (sigLength < 7) return _SIG_VALIDATION_FAILED; + uint48 validUntil = uint48(bytes6(userOp.signature[1:7])); + + signature = userOp.signature[7:]; // keySlot, signature + messageToVerify = abi.encodePacked(version, validUntil, userOpHash); + returnIfValid.validUntil = validUntil; + } else { + return _SIG_VALIDATION_FAILED; + } + + if (_validateSignature(messageToVerify, signature)) { + return _packValidationData(returnIfValid); + } + return _SIG_VALIDATION_FAILED; + } + + function _call(address target, uint256 value, bytes memory data) internal { + (bool success, bytes memory result) = target.call{value: value}(data); + if (!success) { + assembly { + revert(add(result, 32), mload(result)) + } + } + } + + function validateUserOp( + UserOperation calldata userOp, + bytes32 userOpHash, + uint256 missingAccountFunds + ) + external + virtual + override + onlyEntryPoint + returns (uint256 validationData) + { + // Note: `forge coverage` incorrectly marks this function and downstream + // as non-covered. + validationData = _validateUserOpSignature(userOp, userOpHash); + _payPrefund(missingAccountFunds); + } + + function _payPrefund(uint256 missingAccountFunds) private { + if (missingAccountFunds != 0) { + (bool success, ) = payable(msg.sender).call{ + value: missingAccountFunds, + gas: type(uint256).max + }(""); + (success); // no-op; silence unused variable warning + } + } + + modifier onlySelf() { + require(msg.sender == address(this), "only self"); + _; + } + + modifier onlyEntryPoint() { + require(msg.sender == address(entryPoint), "only entry point"); + _; + } + + /// UUPSUpsgradeable: only allow self-upgrade. + function _authorizeUpgrade( + address newImplementation + ) internal view override onlySelf { + (newImplementation); // No-op; silence unused parameter warning + } +} diff --git a/contracts/src/SimpleAccountFactory.sol b/contracts/src/SimpleAccountFactory.sol new file mode 100644 index 0000000..b79b5da --- /dev/null +++ b/contracts/src/SimpleAccountFactory.sol @@ -0,0 +1,82 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.12; + +import "openzeppelin-contracts/contracts/utils/Create2.sol"; +import "openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol"; + +import "src/SimpleAccount.sol"; + +/** + * A sample factory contract for SimpleAccount + * A UserOperations "initCode" holds the address of the factory, and a method call (to createAccount, in this sample factory). + * The factory's createAccount returns the target account address even if it is already installed. + * This way, the entryPoint.getSenderAddress() can be called either before or after the account is created. + */ +contract SimpleAccountFactory { + SimpleAccount public immutable accountImplem; + IEntryPoint public immutable entryPoint; + + constructor(IEntryPoint _entryPoint) { + entryPoint = _entryPoint; + accountImplem = new SimpleAccount(_entryPoint); + } + + /** + * Create an account, and return its address. + * Returns the address even if the account is already deployed. + * Note that during UserOperation execution, this method is called only if the account is not deployed. + * This method returns an existing account address so that entryPoint.getSenderAddress() would work even after account creation. + */ + function createAccount( + bytes32[2] memory publicKey, + uint256 salt + ) public payable returns (SimpleAccount) { + address addr = getAddress(publicKey, salt); + + // Prefund the account with msg.value + if (msg.value > 0) { + entryPoint.depositTo{value: msg.value}(addr); + } + + // Otherwise, no-op if the account is already deployed + uint codeSize = addr.code.length; + if (codeSize > 0) { + return SimpleAccount(payable(addr)); + } + + return + SimpleAccount( + payable( + new ERC1967Proxy{salt: bytes32(salt)}( + address(accountImplem), + abi.encodeCall(SimpleAccount.initialize, (publicKey)) + ) + ) + ); + } + + /** + * Calculate the counterfactual address of this account as it would be returned by createAccount() + */ + function getAddress( + bytes32[2] memory publicKey, + uint256 salt + ) public view returns (address) { + return + Create2.computeAddress( + bytes32(salt), + keccak256( + abi.encodePacked( + type(ERC1967Proxy).creationCode, + abi.encode( + address(accountImplem), + abi.encodeCall( + SimpleAccount.initialize, + (publicKey) + ) + ) + ) + ) + ); + } +} diff --git a/contracts/src/WebAuthnModule.sol b/contracts/src/WebAuthnModule.sol deleted file mode 100644 index 19123f2..0000000 --- a/contracts/src/WebAuthnModule.sol +++ /dev/null @@ -1,71 +0,0 @@ -// SPDX-License-Identifier: MIT -pragma solidity ^0.8.13; - -import {WebAuthn} from "p256-verifier/WebAuthn.sol"; - -contract Enum { - enum Operation { - Call, - DelegateCall - } -} - -interface GnosisSafe { - function execTransactionFromModule( - address to, - uint256 value, - bytes calldata data, - Enum.Operation operation - ) external returns (bool success); -} - -struct WebAuthnArgs { - bytes challenge; - bytes authenticatorData; - string clientDataJSON; - uint256 challengeLocation; - uint256 responseTypeLocation; - uint256 r; - uint256 s; - uint256 publicKeyX; - uint256 publicKeyY; -} - -contract WebAuthnModule { - GnosisSafe public safe; - - constructor(address _safe) { - safe = GnosisSafe(_safe); - } - - function execTransactionFromModule( - address to, - uint256 value, - bytes calldata data, - Enum.Operation operation, - // WebAuthn args - WebAuthnArgs calldata args - ) external virtual returns (bool success) { - bool ret = WebAuthn.verifySignature({ - challenge: args.challenge, - authenticatorData: args.authenticatorData, - requireUserVerification: false, - clientDataJSON: args.clientDataJSON, - challengeLocation: args.challengeLocation, - responseTypeLocation: args.responseTypeLocation, - r: args.r, - s: args.s, - x: args.publicKeyX, - y: args.publicKeyY - }); - - require(ret, "WebAuthnModule: invalid signature"); - - require( - safe.execTransactionFromModule(to, value, data, operation), - "Module transaction failed" - ); - - return true; - } -} diff --git a/contracts/test/SendUserOp.t.sol b/contracts/test/SendUserOp.t.sol new file mode 100644 index 0000000..539529c --- /dev/null +++ b/contracts/test/SendUserOp.t.sol @@ -0,0 +1,134 @@ +// SPDX-License-Identifier: MIT + +pragma solidity ^0.8.13; + +import "forge-std/Test.sol"; +import {Utils} from "test/Utils.sol"; +// use Openzeppelin v4.8.1 to avoid `Failed to resolve file` error +import "account-abstraction/core/EntryPoint.sol"; +import {SimpleAccountFactory} from "src/SimpleAccountFactory.sol"; +import {SimpleAccount} from "src/SimpleAccount.sol"; + +contract SendUserOpTest is Test { + using UserOperationLib for UserOperation; + + EntryPoint public entryPoint; + SimpleAccountFactory public factory; + + function setUp() public { + // setup fork + vm.createSelectFork("base_goerli"); + + entryPoint = new EntryPoint(); + factory = new SimpleAccountFactory(entryPoint); + } + + /*** + * An event emitted after each successful request + * @param userOpHash - unique identifier for the request (hash its entire content, except signature). + * @param sender - the account that generates this request. + * @param paymaster - if non-null, the paymaster that pays for this request. + * @param nonce - the nonce value from the request. + * @param success - true if the sender transaction succeeded, false if reverted. + * @param actualGasCost - actual amount paid (by account or paymaster) for this UserOperation. + * @param actualGasUsed - total gas used by this UserOperation (including preVerification, creation, validation and execution). + */ + event UserOperationEvent( + bytes32 indexed userOpHash, + address indexed sender, + address indexed paymaster, + uint256 nonce, + bool success, + uint256 actualGasCost, + uint256 actualGasUsed + ); + + function testSimpleUserOp() public { + bytes32[2] memory publicKey = [ + bytes32( + 0x2a14910d2f67abb47fbaaaabbb73585e9cd25a0cfab7cb77901a5f189070c797 + ), + bytes32( + 0xad7ae3e847f90cb64392f3945f067ab3e0171831b07be8147c1e098621feff9c + ) + ]; + + uint8 version = 1; + uint48 validUntil = 0; + bytes32 expectedUserOpHash = hex"7b3ae99bbc71fbac65fa6e95aeb48fc586d2a46d0381ff9b1110b2a0fa1ca0a4"; + bytes memory challengeToSign = abi.encodePacked( + version, + validUntil, + expectedUserOpHash + ); + + bytes memory ownerSig = abi.encodePacked( + version, + validUntil, + abi.encode( // signature + Utils.rawSignatureToSignature({ + challenge: challengeToSign, + r: 0xb1c9a080371f3824da69b249fc27cbc6c152e05f0c7ba699879dc58e9808662b, + s: 0x63e3d5ad24f282481769f6537eb376a57b2e59da2f068751ba3c54bab23dd547 + }) + ) + ); + + uint256 salt = 123; + + SimpleAccount account = factory.createAccount(publicKey, salt); + vm.deal(address(account), 1 ether); + + // dummy op + UserOperation memory op = UserOperation({ + sender: address(0), + nonce: 0, + initCode: hex"", + callData: hex"00", + callGasLimit: 0, + verificationGasLimit: 150000, + preVerificationGas: 21000, + maxFeePerGas: 0, + maxPriorityFeePerGas: 1e9, + paymasterAndData: hex"", + // signature must be empty when calculating hash + signature: hex"00" + }); + + // fill data + op.sender = address(account); + op.callGasLimit = 200000; + op.verificationGasLimit = 2000000; + op.maxFeePerGas = 3e9; + + bytes32 hash = entryPoint.getUserOpHash(op); + assertEq(expectedUserOpHash, hash); + + // add signature to op after calculating hash + op.signature = ownerSig; + + // expect a valid but reverting op + UserOperation[] memory ops = new UserOperation[](1); + ops[0] = op; + vm.expectEmit(true, true, true, false); + emit UserOperationEvent( + hash, + address(account), + address(0), + 0, // These and following are not checked. + false, + 0 gwei, + 0 + ); + entryPoint.handleOps(ops, payable(address(account))); + + // code coverage can't handle indirect calls + // call validateUserOp directly + SimpleAccount account2 = new SimpleAccount(account.entryPoint()); + vm.store(address(account2), 0, 0); // set _initialized = 0 + account2.initialize(publicKey); + vm.prank(address(entryPoint)); + uint256 validationData = account2.validateUserOp(op, hash, 0); + assertEq(validationData, 0); + } +} diff --git a/contracts/test/SimpleFactory.t.sol b/contracts/test/SimpleFactory.t.sol new file mode 100644 index 0000000..d33e1f9 --- /dev/null +++ b/contracts/test/SimpleFactory.t.sol @@ -0,0 +1,41 @@ +// SPDX-License-Identifier: MIT + +pragma solidity ^0.8.13; + +import "forge-std/Test.sol"; +// use Openzeppelin v4.8.1 to avoid `Failed to resolve file` error +import "account-abstraction/core/EntryPoint.sol"; +import {SimpleAccountFactory} from "src/SimpleAccountFactory.sol"; +import {SimpleAccount} from "src/SimpleAccount.sol"; + +contract SimpleFactoryTest is Test { + using UserOperationLib for UserOperation; + + EntryPoint public entrypoint; + SimpleAccountFactory public factory; + + function setUp() public { + entrypoint = new EntryPoint(); + factory = new SimpleAccountFactory(entrypoint); + } + + function testDeploy() public { + // random public key + bytes32[2] memory pubKey = [bytes32(uint256(1)), bytes32(uint256(1))]; + + // random salt + uint256 salt = 123; + + // deploy the account + SimpleAccount account = factory.createAccount{value: 0}(pubKey, salt); + + // deploy again - should return the same address + SimpleAccount account2 = factory.createAccount{value: 2}(pubKey, salt); + assertEq(address(account), address(account2)); + assertEq(entrypoint.getDepositInfo(address(account)).deposit, 2); + + // compute address manually + address expectedAddress = factory.getAddress(pubKey, salt); + assertEq(address(account), expectedAddress); + } +} diff --git a/contracts/test/Utils.sol b/contracts/test/Utils.sol new file mode 100644 index 0000000..f33d6a7 --- /dev/null +++ b/contracts/test/Utils.sol @@ -0,0 +1,39 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.13; + +import "forge-std/Test.sol"; +import "forge-std/console2.sol"; +import "../src/SimpleAccount.sol"; +import "p256-verifier/utils/Base64URL.sol"; + +library Utils { + function rawSignatureToSignature( + bytes memory challenge, + uint256 r, + uint256 s + ) public pure returns (Signature memory) { + string memory challengeb64url = Base64URL.encode(challenge); + string memory clientDataJSON = string( + abi.encodePacked( + '{"type":"webauthn.get","challenge":"', + challengeb64url, + '","origin":"http://localhost:3000","crossOrigin":false}' + ) + ); + uint256 challengeLocation = 23; + uint256 responseTypeLocation = 1; + + bytes + memory authenticatorData = hex"49960de5880e8c687434170f6476605b8fe4aeb9a28632c7995cf3ba831d97630500000000"; + + return + Signature({ + authenticatorData: authenticatorData, + clientDataJSON: clientDataJSON, + challengeLocation: challengeLocation, + responseTypeLocation: responseTypeLocation, + r: r, + s: s + }); + } +} diff --git a/contracts/test/WebAuthnModule.t.sol b/contracts/test/WebAuthnModule.t.sol deleted file mode 100644 index d1fae8a..0000000 --- a/contracts/test/WebAuthnModule.t.sol +++ /dev/null @@ -1,103 +0,0 @@ -// SPDX-License-Identifier: MIT -pragma solidity ^0.8.13; - -import "forge-std/Test.sol"; -import {WebAuthnModule, Enum, WebAuthnArgs} from "src/WebAuthnModule.sol"; - -interface GnosisSafeModuleManager { - function enableModule(address module) external; -} - -contract WebAuthnModuleTest is Test { - uint256 challengeLocation = 23; - uint256 responseTypeLocation = 1; - - uint256[2] publicKey = [ - 0x6456813fc2a6f8fa078bf0ed9a3cea27b949f4d4c9a371002c83ceff68fe22c0, - 0x3514f521c3ca9369faa001f3df0a8b089c9dfde6457277bc68de6ce587af4eae - ]; - string clientDataJSON = - '{"type":"webauthn.get","challenge":"cmFuZG9tLWNoYWxsZW5nZQ","origin":"http://localhost:3000","crossOrigin":false}'; - bytes challenge = hex"72616e646f6d2d6368616c6c656e6765"; - bytes authenticatorData = - hex"49960de5880e8c687434170f6476605b8fe4aeb9a28632c7995cf3ba831d97630500000000"; - uint256 r = - 0x0fbd93eb29243c39b741f048726fc78576bab64ac44438a891725465c500ffa7; - uint256 s = - 0x6c9c01bcf7f6afb10210b7c3524e67eed7ffb97875ae2f076c59e53f36112d35; - - uint256 fork; - address safeAddress = 0x8551E5DA2573Cb2F5Cb85fE9bD8dE55CDbaF1F13; - WebAuthnModule webAuthnModule; - address bigqDev = 0x061060a65146b3265C62fC8f3AE977c9B27260fF; - - function setUp() public { - // setup fork - fork = vm.createSelectFork("base_goerli"); - webAuthnModule = new WebAuthnModule(safeAddress); - - GnosisSafeModuleManager moduleManager = GnosisSafeModuleManager( - safeAddress - ); - // enable webauthn module on the safe - vm.prank(safeAddress); - moduleManager.enableModule(address(webAuthnModule)); - } - - // Simple manual valid signature test - function testExecutingValidTransaction() public { - uint256 bigqDevInitialBalance = bigqDev.balance; - - // give safe some money - vm.deal(safeAddress, 1 ether); - - webAuthnModule.execTransactionFromModule({ - to: bigqDev, - value: 1 ether, - data: "Successful test", - operation: Enum.Operation.Call, - args: WebAuthnArgs({ - challenge: challenge, - authenticatorData: authenticatorData, - clientDataJSON: clientDataJSON, - challengeLocation: challengeLocation, - responseTypeLocation: responseTypeLocation, - r: r, - s: s, - publicKeyX: publicKey[0], - publicKeyY: publicKey[1] - }) - }); - - // check that the transaction was executed - assertEq( - bigqDev.balance, - bigqDevInitialBalance + 1 ether, - "Balance should be increased by 1 ether" - ); - } - - function testExecutingIncorrectTransaction() public { - // give safe some money - vm.deal(safeAddress, 1 ether); - - vm.expectRevert("WebAuthnModule: invalid signature"); - webAuthnModule.execTransactionFromModule({ - to: bigqDev, - value: 1 ether, - data: "Successful test", - operation: Enum.Operation.Call, - args: WebAuthnArgs({ - challenge: hex"01020304", // incorrect challenge - authenticatorData: authenticatorData, - clientDataJSON: clientDataJSON, - challengeLocation: challengeLocation, - responseTypeLocation: responseTypeLocation, - r: r, - s: s, - publicKeyX: publicKey[0], - publicKeyY: publicKey[1] - }) - }); - } -} diff --git a/front/src/libs/webauthn/index.ts b/front/src/libs/webauthn/index.ts index 4915440..b86bf52 100644 --- a/front/src/libs/webauthn/index.ts +++ b/front/src/libs/webauthn/index.ts @@ -73,7 +73,10 @@ export class WebAuthn { async get(): Promise { const options: PublicKeyCredentialRequestOptions = { timeout: 60000, - challenge: Uint8Array.from("random-challenge", (c) => c.charCodeAt(0)), + challenge: Buffer.from( + "010000000000007b3ae99bbc71fbac65fa6e95aeb48fc586d2a46d0381ff9b1110b2a0fa1ca0a4", + "hex", + ), rpId: "localhost", userVerification: "required", mediation: "conditional",