@lukso/lsp-smart-contracts
Version:
The reference smart contract implementation for the LUKSO LSP standards
171 lines • 16.6 kB
JSON
{
"_format": "hh3-artifact-1",
"contractName": "Extension4337",
"sourceName": "contracts/Extension4337.sol",
"abi": [
{
"inputs": [
{
"internalType": "address",
"name": "entryPoint_",
"type": "address"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"inputs": [],
"name": "VERSION",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "entryPoint",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes4",
"name": "interfaceId",
"type": "bytes4"
}
],
"name": "supportsInterface",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"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"
},
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"name": "validateUserOp",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "nonpayable",
"type": "function"
}
],
"bytecode": "0x60a060405234801561001057600080fd5b50604051610cb1380380610cb183398101604081905261002f91610040565b6001600160a01b0316608052610070565b60006020828403121561005257600080fd5b81516001600160a01b038116811461006957600080fd5b9392505050565b608051610c196100986000396000818160a7015281816101b701526103880152610c196000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c806301ffc9a7146100515780633a871cdd14610079578063b0d691fe1461009a578063ffa1ad74146100d1575b600080fd5b61006461005f3660046108b1565b61011a565b60405190151581526020015b60405180910390f35b61008c6100873660046108ce565b6101b3565b604051908152602001610070565b6040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152602001610070565b61010d6040518060400160405280600681526020017f302e31372e32000000000000000000000000000000000000000000000000000081525081565b6040516100709190610946565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fcee78b400000000000000000000000000000000000000000000000000000000014806101ad57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166101e7610483565b6001600160a01b0316146102685760405162461bcd60e51b815260206004820152602660248201527f4f6e6c7920456e747279506f696e7420636f6e74726163742063616e2063616c60448201527f6c2074686973000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b7f19457468657265756d205369676e6564204d6573736167653a0a3332000000006000908152601c849052603c8120906102e66102a9610140880188610979565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525086939250506104bc9050565b90506103006102f533836104e0565b628000009081161490565b61030f5760019250505061047c565b6000336001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561034f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061037391906109c0565b905060006001600160a01b03821663de928f147f00000000000000000000000000000000000000000000000000000000000000003386856103b760608f018f610979565b6040518763ffffffff1660e01b81526004016103d8969594939291906109e9565b6020604051808303816000875af11580156103f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061041b9190610a46565b90507fffffff000000000000000000000000000000000000000000000000000000000081167fde928f00000000000000000000000000000000000000000000000000000000001461047357600194505050505061047c565b60009450505050505b9392505050565b60008036610492603482610a63565b9061049e602036610a63565b926104ab93929190610a84565b6104b491610aae565b60601c905090565b60008060006104cb85856105a9565b915091506104d8816105ee565b509392505050565b6000806001600160a01b0384166354f6127f6105207f4b80742de2bf82acb36300000000000000000000000000000000000000000000606087901b610756565b6040518263ffffffff1660e01b815260040161053e91815260200190565b600060405180830381865afa15801561055b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526105839190810190610af9565b905080516020146105985750600090506101ad565b6105a181610ba6565b949350505050565b60008082516041036105df5760208301516040840151606085015160001a6105d3878285856107bf565b945094505050506105e7565b506000905060025b9250929050565b600081600481111561060257610602610bcd565b0361060a5750565b600181600481111561061e5761061e610bcd565b0361066b5760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604482015260640161025f565b600281600481111561067f5761067f610bcd565b036106cc5760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e67746800604482015260640161025f565b60038160048111156106e0576106e0610bcd565b036107535760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f7565000000000000000000000000000000000000000000000000000000000000606482015260840161025f565b50565b604080517fffffffffffffffffffff00000000000000000000000000000000000000000000841660208201526000602a82018190526bffffffffffffffffffffffff198416602c830152918291016040516020818303038152906040529050806105a190610ba6565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08311156107f6575060009050600361087a565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa15801561084a573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166108735760006001925092505061087a565b9150600090505b94509492505050565b7fffffffff000000000000000000000000000000000000000000000000000000008116811461075357600080fd5b6000602082840312156108c357600080fd5b813561047c81610883565b6000806000606084860312156108e357600080fd5b833567ffffffffffffffff8111156108fa57600080fd5b8401610160818703121561090d57600080fd5b95602085013595506040909401359392505050565b60005b8381101561093d578181015183820152602001610925565b50506000910152565b6020815260008251806020840152610965816040850160208701610922565b601f01601f19169190910160400192915050565b6000808335601e1984360301811261099057600080fd5b83018035915067ffffffffffffffff8211156109ab57600080fd5b6020019150368190038213156105e757600080fd5b6000602082840312156109d257600080fd5b81516001600160a01b038116811461047c57600080fd5b60006001600160a01b038089168352808816602084015280871660408401525084606083015260a060808301528260a0830152828460c0840137600060c0848401015260c0601f19601f8501168301019050979650505050505050565b600060208284031215610a5857600080fd5b815161047c81610883565b818103818111156101ad57634e487b7160e01b600052601160045260246000fd5b60008085851115610a9457600080fd5b83861115610aa157600080fd5b5050820193919092039150565b6bffffffffffffffffffffffff198135818116916014851015610adb5780818660140360031b1b83161692505b505092915050565b634e487b7160e01b600052604160045260246000fd5b600060208284031215610b0b57600080fd5b815167ffffffffffffffff80821115610b2357600080fd5b818401915084601f830112610b3757600080fd5b815181811115610b4957610b49610ae3565b604051601f8201601f19908116603f01168101908382118183101715610b7157610b71610ae3565b81604052828152876020848701011115610b8a57600080fd5b610b9b836020830160208801610922565b979650505050505050565b80516020808301519190811015610bc7576000198160200360031b1b821691505b50919050565b634e487b7160e01b600052602160045260246000fdfea26469706673582212200dd484a27f1bae0eddeac17b97dff93adbcf68907eb99b2f8c7c2ab4fcd141c464736f6c63430008110033",
"deployedBytecode": "0x608060405234801561001057600080fd5b506004361061004c5760003560e01c806301ffc9a7146100515780633a871cdd14610079578063b0d691fe1461009a578063ffa1ad74146100d1575b600080fd5b61006461005f3660046108b1565b61011a565b60405190151581526020015b60405180910390f35b61008c6100873660046108ce565b6101b3565b604051908152602001610070565b6040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152602001610070565b61010d6040518060400160405280600681526020017f302e31372e32000000000000000000000000000000000000000000000000000081525081565b6040516100709190610946565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fcee78b400000000000000000000000000000000000000000000000000000000014806101ad57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166101e7610483565b6001600160a01b0316146102685760405162461bcd60e51b815260206004820152602660248201527f4f6e6c7920456e747279506f696e7420636f6e74726163742063616e2063616c60448201527f6c2074686973000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b7f19457468657265756d205369676e6564204d6573736167653a0a3332000000006000908152601c849052603c8120906102e66102a9610140880188610979565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525086939250506104bc9050565b90506103006102f533836104e0565b628000009081161490565b61030f5760019250505061047c565b6000336001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561034f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061037391906109c0565b905060006001600160a01b03821663de928f147f00000000000000000000000000000000000000000000000000000000000000003386856103b760608f018f610979565b6040518763ffffffff1660e01b81526004016103d8969594939291906109e9565b6020604051808303816000875af11580156103f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061041b9190610a46565b90507fffffff000000000000000000000000000000000000000000000000000000000081167fde928f00000000000000000000000000000000000000000000000000000000001461047357600194505050505061047c565b60009450505050505b9392505050565b60008036610492603482610a63565b9061049e602036610a63565b926104ab93929190610a84565b6104b491610aae565b60601c905090565b60008060006104cb85856105a9565b915091506104d8816105ee565b509392505050565b6000806001600160a01b0384166354f6127f6105207f4b80742de2bf82acb36300000000000000000000000000000000000000000000606087901b610756565b6040518263ffffffff1660e01b815260040161053e91815260200190565b600060405180830381865afa15801561055b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526105839190810190610af9565b905080516020146105985750600090506101ad565b6105a181610ba6565b949350505050565b60008082516041036105df5760208301516040840151606085015160001a6105d3878285856107bf565b945094505050506105e7565b506000905060025b9250929050565b600081600481111561060257610602610bcd565b0361060a5750565b600181600481111561061e5761061e610bcd565b0361066b5760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604482015260640161025f565b600281600481111561067f5761067f610bcd565b036106cc5760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e67746800604482015260640161025f565b60038160048111156106e0576106e0610bcd565b036107535760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f7565000000000000000000000000000000000000000000000000000000000000606482015260840161025f565b50565b604080517fffffffffffffffffffff00000000000000000000000000000000000000000000841660208201526000602a82018190526bffffffffffffffffffffffff198416602c830152918291016040516020818303038152906040529050806105a190610ba6565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08311156107f6575060009050600361087a565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa15801561084a573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166108735760006001925092505061087a565b9150600090505b94509492505050565b7fffffffff000000000000000000000000000000000000000000000000000000008116811461075357600080fd5b6000602082840312156108c357600080fd5b813561047c81610883565b6000806000606084860312156108e357600080fd5b833567ffffffffffffffff8111156108fa57600080fd5b8401610160818703121561090d57600080fd5b95602085013595506040909401359392505050565b60005b8381101561093d578181015183820152602001610925565b50506000910152565b6020815260008251806020840152610965816040850160208701610922565b601f01601f19169190910160400192915050565b6000808335601e1984360301811261099057600080fd5b83018035915067ffffffffffffffff8211156109ab57600080fd5b6020019150368190038213156105e757600080fd5b6000602082840312156109d257600080fd5b81516001600160a01b038116811461047c57600080fd5b60006001600160a01b038089168352808816602084015280871660408401525084606083015260a060808301528260a0830152828460c0840137600060c0848401015260c0601f19601f8501168301019050979650505050505050565b600060208284031215610a5857600080fd5b815161047c81610883565b818103818111156101ad57634e487b7160e01b600052601160045260246000fd5b60008085851115610a9457600080fd5b83861115610aa157600080fd5b5050820193919092039150565b6bffffffffffffffffffffffff198135818116916014851015610adb5780818660140360031b1b83161692505b505092915050565b634e487b7160e01b600052604160045260246000fd5b600060208284031215610b0b57600080fd5b815167ffffffffffffffff80821115610b2357600080fd5b818401915084601f830112610b3757600080fd5b815181811115610b4957610b49610ae3565b604051601f8201601f19908116603f01168101908382118183101715610b7157610b71610ae3565b81604052828152876020848701011115610b8a57600080fd5b610b9b836020830160208801610922565b979650505050505050565b80516020808301519190811015610bc7576000198160200360031b1b821691505b50919050565b634e487b7160e01b600052602160045260246000fdfea26469706673582212200dd484a27f1bae0eddeac17b97dff93adbcf68907eb99b2f8c7c2ab4fcd141c464736f6c63430008110033",
"linkReferences": {},
"deployedLinkReferences": {},
"immutableReferences": {
"4935": [
{
"length": 32,
"start": 167
},
{
"length": 32,
"start": 439
},
{
"length": 32,
"start": 904
}
]
},
"inputSourceName": "project/contracts/Extension4337.sol",
"buildInfoId": "solc-0_8_17-4a9fed14a4975bab4788545bf93253f7d31e2e5d"
}