1 tx
2 calls
constructor
constructor(address _masterWallet)
functions
allowedChildren
viewfunction allowedChildren(address) view returns (bool)
checkSignature
purefunction checkSignature(address childWallet, address to, uint256 value, bytes data, bytes signature) pure returns (address recoveredSigner, bool isValid)
masterWallet
viewfunction masterWallet() view returns (address)
addChildWallet
nonpayablefunction addChildWallet(address childWallet)
changeMasterAddress
nonpayablefunction changeMasterAddress(address newAddress)
forwardTransaction
nonpayablefunction forwardTransaction(address childWallet, address to, uint256 value, bytes data, bytes signature) returns (bool, bytes)
events
ChildWalletAdded
event ChildWalletAdded(address indexed childWallet, address indexed addedBy)
ForwardTransactionResult
event ForwardTransactionResult(address indexed target, bool success, bytes returnData)
ForwardTransactionStarted
event ForwardTransactionStarted(address indexed from, address indexed target, uint256 value, bytes data)
MasterWalletChanged
event MasterWalletChanged(address indexed oldMaster, address indexed newMaster)
errors
ChildWalletAlreadyAdded
error ChildWalletAlreadyAdded(address childWallet)
ChildWalletNotAllowed
error ChildWalletNotAllowed(address childWallet)
InvalidChildWallet
error InvalidChildWallet(address childWallet)
InvalidSignatureLength
error InvalidSignatureLength(uint256 length, uint256 requiredLength)
InvalidSignatureNullAddress
error InvalidSignatureNullAddress(bytes32 messageHash)
InvalidSignatureVValue
error InvalidSignatureVValue(uint8 v)
InvalidSignatureWrongSigner
error InvalidSignatureWrongSigner(address recovered, address expected)
OnlyMasterWallet
error OnlyMasterWallet(address caller, address masterWallet)
TransactionExecutionFailed
error TransactionExecutionFailed(address target, bytes data, bytes result)
creation bytecode
0x60806040523480156200001157600080fd5b50604051620015dc380380620015dc8339818101604052810190620000379190620000e8565b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550506200011a565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620000b08262000083565b9050919050565b620000c281620000a3565b8114620000ce57600080fd5b50565b600081519050620000e281620000b7565b92915050565b6000602082840312156200010157620001006200007e565b5b60006200011184828501620000d1565b91505092915050565b6114b2806200012a6000396000f3fe6080604052600436106100595760003560e01c80631095477f14610065578063231640d6146100a357806338625999146100e157806398c9e7831461011e578063d46655f414610147578063fc0d01171461017057610060565b3661006057005b600080fd5b34801561007157600080fd5b5061008c60048036038101906100879190610d70565b61019b565b60405161009a929190610ebd565b60405180910390f35b3480156100af57600080fd5b506100ca60048036038101906100c59190610f4d565b610473565b6040516100d8929190611018565b60405180910390f35b3480156100ed57600080fd5b5061010860048036038101906101039190611041565b61054a565b604051610115919061106e565b60405180910390f35b34801561012a57600080fd5b5061014560048036038101906101409190611041565b61056a565b005b34801561015357600080fd5b5061016e60048036038101906101699190611041565b6107f0565b005b34801561017c57600080fd5b50610185610966565b6040516101929190611089565b60405180910390f35b60006060600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661022d57866040517fb90b357c0000000000000000000000000000000000000000000000000000000081526004016102249190611089565b60405180910390fd5b8573ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f95bffee5be51ded73601ee58f914b5f1ffcbd38edaa5984ebb4865fc5819b996878760405161028c9291906110b3565b60405180910390a360006102a3888888888861098a565b90508773ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146103175780886040517f62e0de3500000000000000000000000000000000000000000000000000000000815260040161030e9291906110e3565b60405180910390fd5b8547101561035a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103519061118f565b60405180910390fd5b6000808873ffffffffffffffffffffffffffffffffffffffff16888860405161038391906111eb565b60006040518083038185875af1925050503d80600081146103c0576040519150601f19603f3d011682016040523d82523d6000602084013e6103c5565b606091505b50915091508873ffffffffffffffffffffffffffffffffffffffff167f86fa9a3fd53cf5d89feae13431bfb5d6c95f9aad389b625e7b4248effd5bad318383604051610412929190610ebd565b60405180910390a281610460578887826040517f81103ee600000000000000000000000000000000000000000000000000000000815260040161045793929190611202565b60405180910390fd5b8181945094505050509550959350505050565b60008061050b89898989898080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505088888080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505061098a565b91508873ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614905097509795505050505050565b60016020528060005260406000206000915054906101000a900460ff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461061c573360008054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040517f3a188e280000000000000000000000000000000000000000000000000000000081526004016106139291906110e3565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361068d57806040517fe2a37d300000000000000000000000000000000000000000000000000000000081526004016106849190611089565b60405180910390fd5b600160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561071c57806040517f3ecc59db0000000000000000000000000000000000000000000000000000000081526004016107139190611089565b60405180910390fd5b60018060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167fd63192ae56029e55f4e2a121ae510f34c24c58d9b2c521e01c0f3238611b2a1760405160405180910390a350565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146108a2578060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040517f3a188e280000000000000000000000000000000000000000000000000000000081526004016108999291906110e3565b60405180910390fd5b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f63724c8bd919b8a673beebdf4d8d5ea7004cff50a18c12beca6d5435a42a05b860405160405180910390a35050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080868686866040516020016109a494939291906112b0565b6040516020818303038152906040528051906020012090506109c681846109d2565b91505095945050505050565b60006041825114610a1e57815160416040517fd615d706000000000000000000000000000000000000000000000000000000008152600401610a1592919061133f565b60405180910390fd5b60008060006020850151925060408501519150606085015160001a9050601b8160ff161015610a5757601b81610a5491906113a4565b90505b601b8160ff1614158015610a6f5750601c8160ff1614155b15610ab157806040517f70768f25000000000000000000000000000000000000000000000000000000008152600401610aa891906113e8565b60405180910390fd5b600060018783868660405160008152602001604052604051610ad6949392919061141c565b6020604051602081039080840390855afa158015610af8573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610b7557866040517f87a9b950000000000000000000000000000000000000000000000000000000008152600401610b6c9190611461565b60405180910390fd5b8094505050505092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610bc182610b96565b9050919050565b610bd181610bb6565b8114610bdc57600080fd5b50565b600081359050610bee81610bc8565b92915050565b6000819050919050565b610c0781610bf4565b8114610c1257600080fd5b50565b600081359050610c2481610bfe565b92915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b610c7d82610c34565b810181811067ffffffffffffffff82111715610c9c57610c9b610c45565b5b80604052505050565b6000610caf610b82565b9050610cbb8282610c74565b919050565b600067ffffffffffffffff821115610cdb57610cda610c45565b5b610ce482610c34565b9050602081019050919050565b82818337600083830152505050565b6000610d13610d0e84610cc0565b610ca5565b905082815260208101848484011115610d2f57610d2e610c2f565b5b610d3a848285610cf1565b509392505050565b600082601f830112610d5757610d56610c2a565b5b8135610d67848260208601610d00565b91505092915050565b600080600080600060a08688031215610d8c57610d8b610b8c565b5b6000610d9a88828901610bdf565b9550506020610dab88828901610bdf565b9450506040610dbc88828901610c15565b935050606086013567ffffffffffffffff811115610ddd57610ddc610b91565b5b610de988828901610d42565b925050608086013567ffffffffffffffff811115610e0a57610e09610b91565b5b610e1688828901610d42565b9150509295509295909350565b60008115159050919050565b610e3881610e23565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610e78578082015181840152602081019050610e5d565b60008484015250505050565b6000610e8f82610e3e565b610e998185610e49565b9350610ea9818560208601610e5a565b610eb281610c34565b840191505092915050565b6000604082019050610ed26000830185610e2f565b8181036020830152610ee48184610e84565b90509392505050565b600080fd5b600080fd5b60008083601f840112610f0d57610f0c610c2a565b5b8235905067ffffffffffffffff811115610f2a57610f29610eed565b5b602083019150836001820283011115610f4657610f45610ef2565b5b9250929050565b600080600080600080600060a0888a031215610f6c57610f6b610b8c565b5b6000610f7a8a828b01610bdf565b9750506020610f8b8a828b01610bdf565b9650506040610f9c8a828b01610c15565b955050606088013567ffffffffffffffff811115610fbd57610fbc610b91565b5b610fc98a828b01610ef7565b9450945050608088013567ffffffffffffffff811115610fec57610feb610b91565b5b610ff88a828b01610ef7565b925092505092959891949750929550565b61101281610bb6565b82525050565b600060408201905061102d6000830185611009565b61103a6020830184610e2f565b9392505050565b60006020828403121561105757611056610b8c565b5b600061106584828501610bdf565b91505092915050565b60006020820190506110836000830184610e2f565b92915050565b600060208201905061109e6000830184611009565b92915050565b6110ad81610bf4565b82525050565b60006040820190506110c860008301856110a4565b81810360208301526110da8184610e84565b90509392505050565b60006040820190506110f86000830185611009565b6111056020830184611009565b9392505050565b600082825260208201905092915050565b7f496e73756666696369656e742062616c616e636520696e20666f72776172646560008201527f7220636f6e747261637400000000000000000000000000000000000000000000602082015250565b6000611179602a8361110c565b91506111848261111d565b604082019050919050565b600060208201905081810360008301526111a88161116c565b9050919050565b600081905092915050565b60006111c582610e3e565b6111cf81856111af565b93506111df818560208601610e5a565b80840191505092915050565b60006111f782846111ba565b915081905092915050565b60006060820190506112176000830186611009565b81810360208301526112298185610e84565b9050818103604083015261123d8184610e84565b9050949350505050565b60008160601b9050919050565b600061125f82611247565b9050919050565b600061127182611254565b9050919050565b61128961128482610bb6565b611266565b82525050565b6000819050919050565b6112aa6112a582610bf4565b61128f565b82525050565b60006112bc8287611278565b6014820191506112cc8286611278565b6014820191506112dc8285611299565b6020820191506112ec82846111ba565b915081905095945050505050565b6000819050919050565b6000819050919050565b600061132961132461131f846112fa565b611304565b610bf4565b9050919050565b6113398161130e565b82525050565b600060408201905061135460008301856110a4565b6113616020830184611330565b9392505050565b600060ff82169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006113af82611368565b91506113ba83611368565b9250828201905060ff8111156113d3576113d2611375565b5b92915050565b6113e281611368565b82525050565b60006020820190506113fd60008301846113d9565b92915050565b6000819050919050565b61141681611403565b82525050565b6000608082019050611431600083018761140d565b61143e60208301866113d9565b61144b604083018561140d565b611458606083018461140d565b95945050505050565b6000602082019050611476600083018461140d565b9291505056fea264697066735822122067bb2edb62e6712c2765de74156ac17f5c122fa8d08917eaba87824695d1bdf564736f6c63430008140033000000000000000000000000c3460e1dda5b67fb7d6d1f62516f73c0c14026cc