our account contract. should support the "execFromEntryPoint" and "nonce" methods
check if the contract is already deployed.
helper method: create and sign a user operation.
transaction details for the userOp
create a UserOperation, filling all details (except signature)
destroys
encode a method call from entryPoint to our contract
return the account's address. this value is valid even before deploying the contract.
return the value to put into the "initCode" field, if the account is not yet deployed. this value holds the "factory" address, followed by this account's information
return initCode value to into the UserOp. (either deployment code, or empty hex if contract already deployed)
should cover cost of putting calldata on-chain, and some overhead. actual overhead depends on the expected bundle size
return userOpHash for signing. This value matches entryPoint.getUserOpHash (calculated off-chain, to avoid a view call)
userOperation, (signature field ignored)
get the transaction that has this userOpHash mined, or null if not found
returned by sendUserOpToBundler (or by getUserOpHash..)
stop waiting after this timeout
time to wait between polls.
the transactionHash this userOp was mined, or null if not found.
return maximum gas used for verification. NOTE: createUnsignedUserOp will add to this value the cost of creation, if the contract is not yet created.
ABI-encode a user operation. used for calldata cost estimation
signs message
Promise
Sign the filled userOp.
the UserOperation to sign (with signature field ignored)
An implementation of the BaseAccountAPI using the EtherspotWallet contract.