0 txs
0 calls
constructor
constructor(address _controller, address _walletImplementation, bool _allowEmptyENS)
functions
allowEmptyENS
viewfunction allowEmptyENS() view returns (bool)
computeBlankAddress
viewfunction computeBlankAddress(uint256 salt) view returns (address)
computeWalletAddress
viewfunction computeWalletAddress(address owner, uint256 salt) view returns (address)
controller
viewfunction controller() view returns (address)
CREATE_WALLET_TYPEHASH
viewfunction CREATE_WALLET_TYPEHASH() view returns (bytes32)
DOMAIN_SEPERATOR
viewfunction DOMAIN_SEPERATOR() view returns (bytes32)
ensManager
viewfunction ensManager() view returns (address)
ensResolver
viewfunction ensResolver() view returns (address)
ensReverseRegistrar
viewfunction ensReverseRegistrar() view returns (address)
getWalletCreationCode
viewfunction getWalletCreationCode() view returns (bytes)
WALLET_CREATION
viewfunction WALLET_CREATION() view returns (string)
walletImplementation
viewfunction walletImplementation() view returns (address)
createBlanks
nonpayablefunction createBlanks(address[] modules, uint256[] salts)
createWallet
payablefunction createWallet(address _owner, uint256 _salt, string _ensLabel, bytes _ensApproval, bool _ensRegisterReverse, address[] _modules, bytes _signature) payable returns (address _wallet)
createWallet2
payablefunction createWallet2(address _owner, address _blank, string _ensLabel, bytes _ensApproval, bool _ensRegisterReverse, address[] _modules, bytes _signature) payable returns (address _wallet)
registerENS
nonpayablefunction registerENS(address _wallet, address _owner, string _ensLabel, bytes _ensApproval, bool _ensRegisterReverse)
events
BlankConsumed
event BlankConsumed(address blank)
BlankDeployed
event BlankDeployed(address blank, bytes32 version)
WalletCreated
event WalletCreated(address wallet, string ensLabel, address owner, bool blankUsed)
errors
No errors.
creation bytecode
0x6101606040523480156200001257600080fd5b506040516200279b3803806200279b833981016040819052620000359162000338565b620000b060405180606001604052806040518060400160405280600d81526020016c57616c6c6574466163746f727960981b8152508152602001604051806040016040528060058152602001640312e322e360dc1b8152508152602001306001600160a01b03168152506200029960201b620007ad1760201c565b6080526001600160601b0319606084811b821660a05283901b1660c05280151560f81b60e05260408051635a6971f960e01b815290516000916001600160a01b03861691635a6971f991600480820192602092909190829003018186803b1580156200011b57600080fd5b505afa15801562000130573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000156919062000312565b9050806001600160a01b0316610100816001600160a01b031660601b81525050806001600160a01b031663adce1c5f6040518163ffffffff1660e01b815260040160206040518083038186803b158015620001b057600080fd5b505afa158015620001c5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001eb919062000312565b6001600160a01b0316610120816001600160a01b031660601b81525050806001600160a01b03166309d734426040518163ffffffff1660e01b815260040160206040518083038186803b1580156200024257600080fd5b505afa15801562000257573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200027d919062000312565b60601b6001600160601b0319166101405250620003d392505050565b6000804690507f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f836000015180519060200120846020015180519060200120838660400151604051602001620002f49594939291906200038e565b60405160208183030381529060405280519060200120915050919050565b60006020828403121562000324578081fd5b81516200033181620003ba565b9392505050565b6000806000606084860312156200034d578182fd5b83516200035a81620003ba565b60208501519093506200036d81620003ba565b6040850151909250801515811462000383578182fd5b809150509250925092565b9485526020850193909352604084019190915260608301526001600160a01b0316608082015260a00190565b6001600160a01b0381168114620003d057600080fd5b50565b60805160a05160601c60c05160601c60e05160f81c6101005160601c6101205160601c6101405160601c61233562000466600039806107675280610af252508061048652806109f652508061033152806109755250806103555280611022525080610379528061045b5280610c635280610e9f52508061078b5280610f155250806102b15280610dc252506123356000f3fe6080604052600436106100f35760003560e01c8063a6d868b61161008a578063b72de7fc11610059578063b72de7fc14610252578063ce15861214610265578063d19050ee14610285578063f77c47911461029a576100f3565b8063a6d868b6146101f5578063adce1c5f1461020a578063b15776821461021f578063b6dffa3f1461023f576100f3565b80636c77ecd4116100c65780636c77ecd41461017c5780638117abc11461019e57806390610b0e146101b35780639d318d66146101d5576100f3565b80630df63210146100f8578063486525c9146101235780634c30d6c9146101455780635a6971f91461015a575b600080fd5b34801561010457600080fd5b5061010d6102af565b60405161011a9190611fa3565b60405180910390f35b34801561012f57600080fd5b5061014361013e366004611b27565b6102d3565b005b34801561015157600080fd5b5061010d61030b565b34801561016657600080fd5b5061016f61032f565b60405161011a9190611e2a565b34801561018857600080fd5b50610191610353565b60405161011a9190611f98565b3480156101aa57600080fd5b5061016f610377565b3480156101bf57600080fd5b506101c861039b565b60405161011a9190612068565b3480156101e157600080fd5b506101436101f036600461188e565b6103d4565b34801561020157600080fd5b506101c8610454565b34801561021657600080fd5b5061016f610484565b34801561022b57600080fd5b5061016f61023a366004611c49565b6104a8565b61016f61024d366004611a5d565b6104bb565b61016f610260366004611938565b61060d565b34801561027157600080fd5b5061016f610280366004611a33565b610752565b34801561029157600080fd5b5061016f610765565b3480156102a657600080fd5b5061016f610789565b7f000000000000000000000000000000000000000000000000000000000000000081565b60005b81811015610304576102fb85858585858181106102ef57fe5b90506020020135610824565b506001016102d6565b5050505050565b7f955c17f8655850cf80e8446390a2bd7ba809a4af212a3b8fe68b04e3f03af21781565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b6040518060400160405280600f81526020017f57414c4c45545f4352454154494f4e000000000000000000000000000000000081525081565b61044b878787878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8b0181900481028201810190925289815292508991508890819084018382808284376000920191909152508892506108e7915050565b50505050505050565b606061047f7f0000000000000000000000000000000000000000000000000000000000000000610b93565b905090565b7f000000000000000000000000000000000000000000000000000000000000000081565b60006104b5600083610bf9565b92915050565b60006105688c8c60008d8d8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020808e0282810182019093528d82528f94509092508d918d9182919085019084908082843760009201919091525050604080516020601f8e018190048102820181019092528c815292508c91508b9081908401838280828437600092019190915250610c8c92505050565b61057485858e8e610e35565b90506105fe818d8c8c8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508b8b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201829052508e93509150610f7b9050565b9b9a5050505050505050505050565b60006106ba8c60008d8d8d8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020808e0282810182019093528d82528f94509092508d918d9182919085019084908082843760009201919091525050604080516020601f8e018190048102820181019092528c815292508c91508b9081908401838280828437600092019190915250610c8c92505050565b6106c58b86866110bc565b90506105fe818d8c8c8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508b8b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508d925060019150610f7b9050565b600061075e8383610bf9565b9392505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000804690507f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f836000015180519060200120846020015180519060200120838660400151604051602001610806959493929190611ff8565b60405160208183030381529060405280519060200120915050919050565b60006108338484600085610e35565b90506000848460405160200161084a929190611f2a565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152828252805160209182012073ffffffffffffffffffffffffffffffffffffffff861660009081529182905291902081905591507f4dc3e5ea78260cf367afeb08d05f788d6af83c2c6db8117694a31ec0e26b3efd906108d79084908490611ebd565b60405180910390a1509392505050565b600083511180156108f9575060008251115b610938576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092f90612235565b60405180910390fd5b6040517f76d6497400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016906376d64974906109b0908890889088908890600401611e72565b600060405180830381600087803b1580156109ca57600080fd5b505af11580156109de573d6000803e3d6000fd5b505050508015610304576060630f5a546660e01b60007f0000000000000000000000000000000000000000000000000000000000000000604051602401610a26929190611e4b565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009094169390931790925290517f7122b74c00000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff871690637122b74c90610b1f906001907f000000000000000000000000000000000000000000000000000000000000000090600090879060040161226c565b600060405180830381600087803b158015610b3957600080fd5b505af1158015610b4d573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820160405261044b9190810190611b90565b60408051603781527f3d602d80600a3d3981f3363d3d373d3d3d363d730000000000000000000000006020820152606092831b60348201527f5af43d82803e903d91602b57fd5bf300000000000000000000000000000000006048820152918201905290565b600061075e6040518060400160405280600f81526020017f57414c4c45545f4352454154494f4e00000000000000000000000000000000008152508484604051602001610c4893929190611d80565b60405160208183030381529060405280519060200120610c877f0000000000000000000000000000000000000000000000000000000000000000610b93565b6111cf565b73ffffffffffffffffffffffffffffffffffffffff871615801590610ccd5750610ccb8773ffffffffffffffffffffffffffffffffffffffff166111dc565b155b610d03576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092f906121c7565b6000825111610d3e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092f90612122565b60607f955c17f8655850cf80e8446390a2bd7ba809a4af212a3b8fe68b04e3f03af21788888888805190602001208888604051602001610d7e9190611f3e565b60405160208183030381529060405280519060200120604051602001610daa9796959493929190611fac565b60405160208183030381529060405290506000610de77f000000000000000000000000000000000000000000000000000000000000000083611213565b9050610df4818a85611284565b610e2a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092f90612159565b505050505050505050565b6000610ec86040518060400160405280600f81526020017f57414c4c45545f4352454154494f4e00000000000000000000000000000000008152508484604051602001610e8493929190611d80565b60405160208183030381529060405280519060200120610ec37f0000000000000000000000000000000000000000000000000000000000000000610b93565b6112ef565b6040517f3c5a3cea00000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff821690633c5a3cea90610f41907f0000000000000000000000000000000000000000000000000000000000000000908990899060040161207b565b600060405180830381600087803b158015610f5b57600080fd5b505af1158015610f6f573d6000803e3d6000fd5b50505050949350505050565b610f9a8673ffffffffffffffffffffffffffffffffffffffff1661134b565b73ffffffffffffffffffffffffffffffffffffffff16630d009297866040518263ffffffff1660e01b8152600401610fd29190611e2a565b600060405180830381600087803b158015610fec57600080fd5b505af1158015611000573d6000803e3d6000fd5b505050506000845111156110205761101b86868686866108e7565b611077565b7f0000000000000000000000000000000000000000000000000000000000000000611077576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092f906120b4565b7f60488568340cbdf60d672f6b1b896cde221bdcd9062bdd6a95cfded547013d13868587846040516110ac9493929190611ee3565b60405180910390a1505050505050565b60008083836040516020016110d2929190611f2a565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152918152815160209283012073ffffffffffffffffffffffffffffffffffffffff88166000908152928390529120549091508114611166576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092f906120eb565b73ffffffffffffffffffffffffffffffffffffffff851660009081526020819052604080822091909155517fd722f65e2020c25177252b959d040ad8f01463b4c6bb7ca601cb72e3188b9aef906111be908790611e2a565b60405180910390a150929392505050565b600061075e83833061134e565b6000813f801580159061075e57507fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470141592915050565b60006040518060400160405280600281526020017f190100000000000000000000000000000000000000000000000000000000000081525083838051906020012060405160200161126693929190611dd2565b60405160208183030381529060405280519060200120905092915050565b600073ffffffffffffffffffffffffffffffffffffffff83166112a95750600061075e565b6112c88373ffffffffffffffffffffffffffffffffffffffff166111dc565b6112dc576112d78484846113e9565b6112e7565b6112e7848484611523565b949350505050565b600080838351602085016000f5905073ffffffffffffffffffffffffffffffffffffffff811661075e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092f906121fe565b90565b81516020808401919091206040516000928391611393917fff000000000000000000000000000000000000000000000000000000000000009187918a91879101611d00565b604080518083037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0018152919052805160209091012073ffffffffffffffffffffffffffffffffffffffff169695505050505050565b600073ffffffffffffffffffffffffffffffffffffffff831661140e5750600061075e565b815160009061141e90600161167f565b9050600061142c84836116c1565b60ff16600481111561143a57fe5b8285529050600281600481111561144d57fe5b14156114925761145d86856116dd565b73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16149250611516565b60038160048111156114a057fe5b1415611511576000866040516020016114b99190611df9565b6040516020818303038152906040528051906020012090506114db81866116dd565b73ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614935050611516565b600092505b5060010182529392505050565b60006060631626ba7e60e01b8584604051602401611542929190612031565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050509050600060608573ffffffffffffffffffffffffffffffffffffffff16836040516115ca9190611d64565b600060405180830381855afa9150503d8060008114611605576040519150601f19603f3d011682016040523d82523d6000602084013e61160a565b606091505b509150915081801561161d575080516020145b801561167457507f1626ba7e000000000000000000000000000000000000000000000000000000006116508260006117b5565b7fffffffff0000000000000000000000000000000000000000000000000000000016145b979650505050505050565b6000828211156116bb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092f90612190565b50900390565b600081600101835110156116d457600080fd5b50016001015190565b600081516041146116f0575060006104b5565b60208201516040830151604184015160ff167f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a082111561173657600093505050506104b5565b8060ff16601b148061174b57508060ff16601c145b156117a95760018682858560405160008152602001604052604051611773949392919061204a565b6020604051602081039080840390855afa158015611795573d6000803e3d6000fd5b5050506020604051035193505050506104b5565b600093505050506104b5565b600081600401835110156117c857600080fd5b50016020015190565b803573ffffffffffffffffffffffffffffffffffffffff811681146104b557600080fd5b60008083601f840112611806578182fd5b50813567ffffffffffffffff81111561181d578182fd5b602083019150836020808302850101111561183757600080fd5b9250929050565b803580151581146104b557600080fd5b60008083601f84011261185f578182fd5b50813567ffffffffffffffff811115611876578182fd5b60208301915083602082850101111561183757600080fd5b600080600080600080600060a0888a0312156118a8578283fd5b87356118b3816122da565b965060208801356118c3816122da565b9550604088013567ffffffffffffffff808211156118df578485fd5b6118eb8b838c0161184e565b909750955060608a0135915080821115611903578485fd5b506119108a828b0161184e565b90945092505060808801358015158114611928578182fd5b8091505092959891949750929550565b600080600080600080600080600080600060e08c8e031215611958578384fd5b6119628d8d6117d1565b9a506119718d60208e016117d1565b995067ffffffffffffffff8060408e0135111561198c578485fd5b61199c8e60408f01358f0161184e565b909a50985060608d01358110156119b1578485fd5b6119c18e60608f01358f0161184e565b90985096506119d38e60808f0161183e565b95508060a08e013511156119e5578485fd5b6119f58e60a08f01358f016117f5565b909550935060c08d0135811015611a0a578283fd5b50611a1b8d60c08e01358e0161184e565b81935080925050509295989b509295989b9093969950565b60008060408385031215611a45578182fd5b611a4f84846117d1565b946020939093013593505050565b600080600080600080600080600080600060e08c8e031215611a7d578081fd5b611a878d8d6117d1565b9a5060208c0135995067ffffffffffffffff8060408e01351115611aa9578182fd5b611ab98e60408f01358f0161184e565b909a50985060608d0135811015611ace578182fd5b611ade8e60608f01358f0161184e565b9098509650611af08e60808f0161183e565b95508060a08e01351115611b02578182fd5b611b128e60a08f01358f016117f5565b909550935060c08d0135811015611a0a578182fd5b60008060008060408587031215611b3c578384fd5b843567ffffffffffffffff80821115611b53578586fd5b611b5f888389016117f5565b90965094506020870135915080821115611b77578384fd5b50611b84878288016117f5565b95989497509550505050565b600060208284031215611ba1578081fd5b815167ffffffffffffffff80821115611bb8578283fd5b818401915084601f830112611bcb578283fd5b815181811115611bd9578384fd5b60405160207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8401168201018181108482111715611c17578586fd5b604052818152838201602001871015611c2e578485fd5b611c3f8260208301602087016122aa565b9695505050505050565b600060208284031215611c5a578081fd5b5035919050565b60008284526020808501945082825b85811015611cab5782820173ffffffffffffffffffffffffffffffffffffffff611c9a82856117d1565b168852968301969150600101611c70565b509495945050505050565b60008151808452611cce8160208601602086016122aa565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b7fff0000000000000000000000000000000000000000000000000000000000000094909416845260609290921b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001660018401526015830152603582015260550190565b60008251611d768184602087016122aa565b9190910192915050565b60008451611d928184602089016122aa565b60609490941b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001691909301908152601481019190915260340192915050565b60008451611de48184602089016122aa565b91909101928352506020820152604001919050565b7f19457468657265756d205369676e6564204d6573736167653a0a3332000000008152601c810191909152603c0190565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b73ffffffffffffffffffffffffffffffffffffffff92831681529116602082015260400190565b600073ffffffffffffffffffffffffffffffffffffffff808716835280861660208401525060806040830152611eab6080830185611cb6565b82810360608401526116748185611cb6565b73ffffffffffffffffffffffffffffffffffffffff929092168252602082015260400190565b600073ffffffffffffffffffffffffffffffffffffffff808716835260806020840152611f136080840187611cb6565b941660408301525090151560609091015292915050565b6000602082526112e7602083018486611c61565b6020808252825182820181905260009190848201906040850190845b81811015611f8c57835173ffffffffffffffffffffffffffffffffffffffff1683529284019291840191600101611f5a565b50909695505050505050565b901515815260200190565b90815260200190565b96875273ffffffffffffffffffffffffffffffffffffffff95861660208801526040870194909452919093166060850152608084019290925290151560a083015260c082015260e00190565b94855260208501939093526040840191909152606083015273ffffffffffffffffffffffffffffffffffffffff16608082015260a00190565b6000838252604060208301526112e76040830184611cb6565b93845260ff9290921660208401526040830152606082015260800190565b60006020825261075e6020830184611cb6565b600073ffffffffffffffffffffffffffffffffffffffff85168252604060208301526120ab604083018486611c61565b95945050505050565b60208082526015908201527f454d5054595f454e535f4e4f545f414c4c4f5745440000000000000000000000604082015260600190565b6020808252600d908201527f494e56414c49445f41444f424500000000000000000000000000000000000000604082015260600190565b6020808252600d908201527f454d5054595f4d4f44554c455300000000000000000000000000000000000000604082015260600190565b60208082526011908201527f494e56414c49445f5349474e4154555245000000000000000000000000000000604082015260600190565b6020808252600d908201527f5355425f554e444552464c4f5700000000000000000000000000000000000000604082015260600190565b6020808252600d908201527f494e56414c49445f4f574e455200000000000000000000000000000000000000604082015260600190565b6020808252600e908201527f435245415445325f4641494c4544000000000000000000000000000000000000604082015260600190565b6020808252601a908201527f494e56414c49445f4c4142454c5f4f525f5349474e4154555245000000000000604082015260600190565b600060ff8616825273ffffffffffffffffffffffffffffffffffffffff8516602083015283604083015260806060830152611c3f6080830184611cb6565b60005b838110156122c55781810151838201526020016122ad565b838111156122d4576000848401525b50505050565b73ffffffffffffffffffffffffffffffffffffffff811681146122fc57600080fd5b5056fea264697066735822122018e0b1a9e386d36c68810d375ae38a7033129f3bb1bc1e9bc3a81cf6bf8f0ded64736f6c63430007000033000000000000000000000000b39e09279d4035c0f92307741d9dd8ed66e74de0000000000000000000000000e5857440bbff64c98ceb70d650805e1e96adde7a0000000000000000000000000000000000000000000000000000000000000001