@abstraxn/account
Version:
@abstraxn/account: Empower ERC-4337 smart accounts with seamless APIs for enhanced decentralized finance experiences.
298 lines (297 loc) • 21 kB
JSON
{
"_format": "hh-sol-artifact-1",
"contractName": "MultichainECDSAValidator",
"sourceName": "contracts/smart-account/modules/MultichainECDSAValidator.sol",
"abi": [
{
"inputs": [
{
"internalType": "address",
"name": "smartAccount",
"type": "address"
}
],
"name": "AlreadyInitedForSmartAccount",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "smartAccount",
"type": "address"
}
],
"name": "NoOwnerRegisteredForSmartAccount",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "NotEOA",
"type": "error"
},
{
"inputs": [],
"name": "WrongSignatureLength",
"type": "error"
},
{
"inputs": [],
"name": "ZeroAddressNotAllowedAsOwner",
"type": "error"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "smartAccount",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "oldOwner",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "newOwner",
"type": "address"
}
],
"name": "OwnershipTransferred",
"type": "event"
},
{
"inputs": [],
"name": "NAME",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "VERSION",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "smartAccount",
"type": "address"
}
],
"name": "getOwner",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "eoaOwner",
"type": "address"
}
],
"name": "initForSmartAccount",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "dataHash",
"type": "bytes32"
},
{
"internalType": "bytes",
"name": "moduleSignature",
"type": "bytes"
}
],
"name": "isValidSignature",
"outputs": [
{
"internalType": "bytes4",
"name": "",
"type": "bytes4"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "dataHash",
"type": "bytes32"
},
{
"internalType": "bytes",
"name": "moduleSignature",
"type": "bytes"
},
{
"internalType": "address",
"name": "smartAccount",
"type": "address"
}
],
"name": "isValidSignatureForAddress",
"outputs": [
{
"internalType": "bytes4",
"name": "",
"type": "bytes4"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "renounceOwnership",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "owner",
"type": "address"
}
],
"name": "transferOwnership",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"components": [
{
"internalType": "address",
"name": "sender",
"type": "address"
},
{
"internalType": "uint256",
"name": "nonce",
"type": "uint256"
},
{
"internalType": "bytes",
"name": "initCode",
"type": "bytes"
},
{
"internalType": "bytes",
"name": "callData",
"type": "bytes"
},
{
"internalType": "uint256",
"name": "callGasLimit",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "verificationGasLimit",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "preVerificationGas",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "maxFeePerGas",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "maxPriorityFeePerGas",
"type": "uint256"
},
{
"internalType": "bytes",
"name": "paymasterAndData",
"type": "bytes"
},
{
"internalType": "bytes",
"name": "signature",
"type": "bytes"
}
],
"internalType": "struct UserOperation",
"name": "userOp",
"type": "tuple"
},
{
"internalType": "bytes32",
"name": "userOpHash",
"type": "bytes32"
}
],
"name": "validateUserOp",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
}
],
"bytecode": "0x6080806040523461001657610b9b908161001c8239f35b600080fdfe6040608081526004908136101561001557600080fd5b6000803560e01c80631626ba7e1461040a5780632ede3bc014610388578063715018a614610318578063a3f4df7e146102c3578063f2fde38b1461020d578063f44c339d14610185578063fa5441611461012d578063ffa1ad74146100d45763fff35b721461008357600080fd5b346100cd576003199082823601126100cd5783359167ffffffffffffffff83116100d0576101609083360301126100cd57506020926100c691602435910161085d565b9051908152f35b80fd5b5080fd5b5090346100d057816003193601126100d0578051610129916100f58261044a565b600582527f302e322e300000000000000000000000000000000000000000000000000000006020830152519182918261053f565b0390f35b5082346100d05760203660031901126100d0576001600160a01b038381610152610506565b16938481528060205220541691821561016f576020838551908152f35b8351633d3fff5360e21b81529182015260249150fd5b5091346102095760603660031901126102095760243567ffffffffffffffff8111610205576101b790369083016104ba565b90604435936001600160a01b03851685036100cd5750926101db916020943561056b565b90517fffffffff000000000000000000000000000000000000000000000000000000009091168152f35b8380fd5b8280fd5b5091903461020957602036600319011261020957610229610506565b803b6102a4576001600160a01b0380911692831561029657503384528360205281842054169083208273ffffffffffffffffffffffffffffffffffffffff19825416179055337fc8894f26f396ce8c004245c8b7cd1b92103a6e4302fcbab883987149ac01b7ec8480a480f35b82516307e179e960e31b8152fd5b826001600160a01b0360249351926377817ac360e01b84521690820152fd5b5090346100d057816003193601126100d0578051610129916102e48261044a565b601f82527f4543445341204f776e657273686970205265676973747279204d6f64756c65006020830152519182918261053f565b50809134610385578160031936011261038557338252816020526001600160a01b03818320541690822073ffffffffffffffffffffffffffffffffffffffff198154169055337fc8894f26f396ce8c004245c8b7cd1b92103a6e4302fcbab883987149ac01b7ec8380a480f35b50fd5b509134610209576020366003190112610209576103a3610506565b338452836020526001600160a01b03908184862054166103f45716908115610296575081602093338152808552209073ffffffffffffffffffffffffffffffffffffffff1982541617905551308152f35b8351632c4dfb7d60e21b81523381850152602490fd5b50346100cd57816003193601126100cd576024359067ffffffffffffffff82116100cd57506020926104426101db92369083016104ba565b33913561056b565b6040810190811067ffffffffffffffff82111761046657604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff82111761046657604052565b67ffffffffffffffff811161046657601f01601f191660200190565b81601f82011215610501578035906104d18261049e565b926104df604051948561047c565b8284526020838301011161050157816000926020809301838601378301015290565b600080fd5b600435906001600160a01b038216820361050157565b60005b83811061052f5750506000910152565b818101518382015260200161051f565b6040916020825261055f815180928160208601526020868601910161051c565b601f01601f1916010190565b9061057692916105a9565b61059e577fffffffff0000000000000000000000000000000000000000000000000000000090565b630b135d3f60e11b90565b916001600160a01b0380911691600093838552846020528260408620541693841561065757506041825110610645577f19457468657265756d205369676e6564204d6573736167653a0a333200000000855280601c528261061861061084603c8920610789565b91909161066f565b16841461063b5761062c9161061091610789565b16146106355790565b50600190565b5050505050600190565b604051632bb1a9c560e11b8152600490fd5b60249060405190633d3fff5360e21b82526004820152fd5b600581101561077357806106805750565b600181036106cd5760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152606490fd5b6002810361071a5760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606490fd5b60031461072357565b60405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b6064820152608490fd5b634e487b7160e01b600052602160045260246000fd5b9060418151146000146107b7576107b3916020820151906060604084015193015160001a906107c1565b9091565b5050600090600290565b9291907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0831161083e5791608094939160ff602094604051948552168484015260408301526060820152600093849182805260015afa156108315781516001600160a01b03811615610635579190565b50604051903d90823e3d90fd5b50505050600090600390565b519065ffffffffffff8216820361050157565b919091610140810135601e19823603018112156105015781019182359267ffffffffffffffff9081851161050157602092838201958036038713610501578201604096878483031261050157359084821161050157879186806108c49301918601016104ba565b920135946001600160a01b0395868116036105015735966041835114610b43578251830160a0848783019203126105015761090086850161084a565b9061090c89860161084a565b9060608601519160808701518881116105015787019782603f8a011215610501578989015197818911610466578a998d9960059a818c1b9161095482519e8f9085019061047c565b8d528d8d019183010191868311610501578f8e9101915b838310610b33575050505060a081015190828211610501570183603f8201121561050157808b01518d9461099e8261049e565b956109ab8151978861047c565b8287528284010111610501576109c6918e8d8701910161051c565b8b51908a8201927fffffffffffff000000000000000000000000000000000000000000000000000090818860d01b16855260d01b1696876026840152602c830152602c8252606082019082821090821117610466578c52519020986000995b88518b1015610a84578a881b89018a0151908c600083831015610a7757505060005289528a6000205b996000198114610a615760010199610a25565b634e487b7160e01b600052601160045260246000fd5b91909282528b5220610a4e565b91965094999a93985081965096919603610af05750610aa8949596975016916105a9565b15610ae95779ffffffffffff00000000000000000000000000000000000000009065ffffffffffff90818116610ae257505b60a01b161790565b9050610ada565b5050600190565b60649089519062461bcd60e51b82526004820152600e60248201527f496e76616c696420557365724f700000000000000000000000000000000000006044820152fd5b82518152918101918e910161096b565b94925095909250610b56945016916105a9565b15610b6057600090565b60019056fea26469706673582212202a3242d73a2c92fd929c32924b5f964b80434c765985e101142ea4635452e6a664736f6c63430008110033",
"deployedBytecode": "0x6040608081526004908136101561001557600080fd5b6000803560e01c80631626ba7e1461040a5780632ede3bc014610388578063715018a614610318578063a3f4df7e146102c3578063f2fde38b1461020d578063f44c339d14610185578063fa5441611461012d578063ffa1ad74146100d45763fff35b721461008357600080fd5b346100cd576003199082823601126100cd5783359167ffffffffffffffff83116100d0576101609083360301126100cd57506020926100c691602435910161085d565b9051908152f35b80fd5b5080fd5b5090346100d057816003193601126100d0578051610129916100f58261044a565b600582527f302e322e300000000000000000000000000000000000000000000000000000006020830152519182918261053f565b0390f35b5082346100d05760203660031901126100d0576001600160a01b038381610152610506565b16938481528060205220541691821561016f576020838551908152f35b8351633d3fff5360e21b81529182015260249150fd5b5091346102095760603660031901126102095760243567ffffffffffffffff8111610205576101b790369083016104ba565b90604435936001600160a01b03851685036100cd5750926101db916020943561056b565b90517fffffffff000000000000000000000000000000000000000000000000000000009091168152f35b8380fd5b8280fd5b5091903461020957602036600319011261020957610229610506565b803b6102a4576001600160a01b0380911692831561029657503384528360205281842054169083208273ffffffffffffffffffffffffffffffffffffffff19825416179055337fc8894f26f396ce8c004245c8b7cd1b92103a6e4302fcbab883987149ac01b7ec8480a480f35b82516307e179e960e31b8152fd5b826001600160a01b0360249351926377817ac360e01b84521690820152fd5b5090346100d057816003193601126100d0578051610129916102e48261044a565b601f82527f4543445341204f776e657273686970205265676973747279204d6f64756c65006020830152519182918261053f565b50809134610385578160031936011261038557338252816020526001600160a01b03818320541690822073ffffffffffffffffffffffffffffffffffffffff198154169055337fc8894f26f396ce8c004245c8b7cd1b92103a6e4302fcbab883987149ac01b7ec8380a480f35b50fd5b509134610209576020366003190112610209576103a3610506565b338452836020526001600160a01b03908184862054166103f45716908115610296575081602093338152808552209073ffffffffffffffffffffffffffffffffffffffff1982541617905551308152f35b8351632c4dfb7d60e21b81523381850152602490fd5b50346100cd57816003193601126100cd576024359067ffffffffffffffff82116100cd57506020926104426101db92369083016104ba565b33913561056b565b6040810190811067ffffffffffffffff82111761046657604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff82111761046657604052565b67ffffffffffffffff811161046657601f01601f191660200190565b81601f82011215610501578035906104d18261049e565b926104df604051948561047c565b8284526020838301011161050157816000926020809301838601378301015290565b600080fd5b600435906001600160a01b038216820361050157565b60005b83811061052f5750506000910152565b818101518382015260200161051f565b6040916020825261055f815180928160208601526020868601910161051c565b601f01601f1916010190565b9061057692916105a9565b61059e577fffffffff0000000000000000000000000000000000000000000000000000000090565b630b135d3f60e11b90565b916001600160a01b0380911691600093838552846020528260408620541693841561065757506041825110610645577f19457468657265756d205369676e6564204d6573736167653a0a333200000000855280601c528261061861061084603c8920610789565b91909161066f565b16841461063b5761062c9161061091610789565b16146106355790565b50600190565b5050505050600190565b604051632bb1a9c560e11b8152600490fd5b60249060405190633d3fff5360e21b82526004820152fd5b600581101561077357806106805750565b600181036106cd5760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152606490fd5b6002810361071a5760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606490fd5b60031461072357565b60405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b6064820152608490fd5b634e487b7160e01b600052602160045260246000fd5b9060418151146000146107b7576107b3916020820151906060604084015193015160001a906107c1565b9091565b5050600090600290565b9291907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0831161083e5791608094939160ff602094604051948552168484015260408301526060820152600093849182805260015afa156108315781516001600160a01b03811615610635579190565b50604051903d90823e3d90fd5b50505050600090600390565b519065ffffffffffff8216820361050157565b919091610140810135601e19823603018112156105015781019182359267ffffffffffffffff9081851161050157602092838201958036038713610501578201604096878483031261050157359084821161050157879186806108c49301918601016104ba565b920135946001600160a01b0395868116036105015735966041835114610b43578251830160a0848783019203126105015761090086850161084a565b9061090c89860161084a565b9060608601519160808701518881116105015787019782603f8a011215610501578989015197818911610466578a998d9960059a818c1b9161095482519e8f9085019061047c565b8d528d8d019183010191868311610501578f8e9101915b838310610b33575050505060a081015190828211610501570183603f8201121561050157808b01518d9461099e8261049e565b956109ab8151978861047c565b8287528284010111610501576109c6918e8d8701910161051c565b8b51908a8201927fffffffffffff000000000000000000000000000000000000000000000000000090818860d01b16855260d01b1696876026840152602c830152602c8252606082019082821090821117610466578c52519020986000995b88518b1015610a84578a881b89018a0151908c600083831015610a7757505060005289528a6000205b996000198114610a615760010199610a25565b634e487b7160e01b600052601160045260246000fd5b91909282528b5220610a4e565b91965094999a93985081965096919603610af05750610aa8949596975016916105a9565b15610ae95779ffffffffffff00000000000000000000000000000000000000009065ffffffffffff90818116610ae257505b60a01b161790565b9050610ada565b5050600190565b60649089519062461bcd60e51b82526004820152600e60248201527f496e76616c696420557365724f700000000000000000000000000000000000006044820152fd5b82518152918101918e910161096b565b94925095909250610b56945016916105a9565b15610b6057600090565b60019056fea26469706673582212202a3242d73a2c92fd929c32924b5f964b80434c765985e101142ea4635452e6a664736f6c63430008110033",
"linkReferences": {},
"deployedLinkReferences": {}
}