Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

wip entrykit #3240

Draft
wants to merge 458 commits into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
458 commits
Select commit Hold shift + click to select a range
9708e77
expose user account client, address, chain ID
frolic Apr 29, 2024
745124f
clean up query invalidation
frolic Apr 29, 2024
83927b0
add terms/privacy options
frolic Apr 29, 2024
40d2e59
move close modal into step handler
frolic Apr 29, 2024
70c22d2
add playground option to open on mount
frolic Apr 29, 2024
54b368a
relay wiring
frolic Apr 29, 2024
c0a6862
lift transaction status
frolic Apr 29, 2024
0e75745
bump relay SDK
frolic Apr 29, 2024
0a300ec
relay deposit status, add error icon and logging
frolic Apr 30, 2024
65df37f
dismiss deposit status
frolic Apr 30, 2024
ec6f0f7
button label tweak
frolic Apr 30, 2024
d04b822
Merge remote-tracking branch 'origin/main' into account-kit
frolic May 1, 2024
9719b90
fix type after merge
frolic May 1, 2024
062d5a1
this can be done in wagmiConfig
frolic May 2, 2024
4b87473
improve errors, add error boundary
frolic May 2, 2024
6e10677
rework button pending
frolic May 2, 2024
8565421
tweaks
frolic May 2, 2024
5e81468
bump wagmi
frolic May 3, 2024
a040377
Merge remote-tracking branch 'origin/main' into account-kit
frolic May 3, 2024
517c30c
debounce amount
frolic May 3, 2024
f48006d
swap Ξ for eth icon
frolic May 3, 2024
1f2eff1
fix toast dismiss hover
frolic May 3, 2024
2020888
add transfer status
frolic May 3, 2024
1362c46
fix eth icon size
frolic May 3, 2024
1b05310
withdraw button
frolic May 4, 2024
6bf442e
extend OP chain contracts
frolic May 4, 2024
4e4bf09
rework action calculation
frolic May 5, 2024
ec25005
rework balance invalidation
frolic May 5, 2024
c3f00da
remove unused alto/gas-tank stuff for now
frolic May 22, 2024
30a9934
Merge remote-tracking branch 'origin/main' into account-kit
frolic May 22, 2024
f17b530
fix playground with polyfills
frolic May 22, 2024
db57e6e
try to calculate withdraw fees
frolic May 22, 2024
ec85a14
Revert "try to calculate withdraw fees"
frolic May 22, 2024
01aee7e
add note about async onClick
frolic May 22, 2024
e1c8a21
trying again
frolic May 22, 2024
10002da
refactor with proper fee calculation
frolic May 22, 2024
27d878b
don't retry on known error
frolic May 23, 2024
10ea925
Merge remote-tracking branch 'origin/main' into account-kit
frolic May 23, 2024
fb34be9
Merge remote-tracking branch 'origin/main' into account-kit
frolic May 23, 2024
65b4bd5
Merge remote-tracking branch 'origin/main' into account-kit
frolic May 24, 2024
9160f5e
set up account kit in react template
frolic Jun 1, 2024
72f3555
fix template mustache thing
frolic Jun 1, 2024
595f432
ugh
frolic Jun 1, 2024
5eff5e3
few fixes
frolic Jun 1, 2024
d00e90d
writeContract from client
frolic Jun 5, 2024
0958d9e
enable tx queue, extend AppAccountClient type with actions
frolic Jun 5, 2024
46a18a6
use built in client
frolic Jun 5, 2024
5b0f2e7
return chain id from getChainId
frolic Jun 5, 2024
1097fe0
use getAction in more places
frolic Jun 5, 2024
e911a4b
Merge remote-tracking branch 'origin/main' into account-kit
frolic Jun 6, 2024
347c7a2
Merge remote-tracking branch 'origin/main' into account-kit
frolic Jul 4, 2024
957ab7d
Merge remote-tracking branch 'origin/main' into account-kit
frolic Jul 11, 2024
e7555f4
Merge remote-tracking branch 'origin/main' into entry
frolic Sep 23, 2024
09af7c3
rename
frolic Sep 23, 2024
a9b6d68
various fixes
frolic Sep 23, 2024
f1296fe
more renaming and fixes
frolic Sep 23, 2024
4ef5b3c
rip out some smart account stuff for now
frolic Sep 23, 2024
495b1a0
fix clean
frolic Sep 24, 2024
f39a135
skip explorer in dev
frolic Sep 26, 2024
a8e2f40
Merge remote-tracking branch 'origin/main' into entry
frolic Sep 26, 2024
2560685
dont bundle react
frolic Sep 26, 2024
414bddb
small fixes
frolic Sep 30, 2024
e25efc4
rename to entrykit
frolic Sep 30, 2024
2ef8a62
Merge remote-tracking branch 'origin/main' into entry
frolic Sep 30, 2024
2df1483
update ts paths
frolic Sep 30, 2024
897c4db
bring over passkey connector
frolic Sep 30, 2024
c7ea288
bump mprocs
frolic Sep 30, 2024
75d9003
ignore all logs
frolic Sep 30, 2024
c1491c7
move rainbowkit usage into entrykit
frolic Sep 30, 2024
5ef3b14
connect passkey wallet
frolic Sep 30, 2024
5407f24
trying to figure out why its not reconnecting
frolic Oct 1, 2024
71bd0fc
wip
frolic Oct 2, 2024
969fcca
sorta working again
frolic Oct 3, 2024
3316b5b
move extended client to connector
frolic Oct 3, 2024
b4aa3fb
clean up
frolic Oct 3, 2024
c644b65
clean up
frolic Oct 3, 2024
e0b721b
move smart account to a single place
frolic Oct 3, 2024
6dd143e
attach initializer
frolic Oct 4, 2024
d69ab7a
Revert "attach initializer"
frolic Oct 4, 2024
647f9a9
rework sign in flow
frolic Oct 4, 2024
60b1383
modal tweaks for small screens
frolic Oct 4, 2024
66acc3d
show account when connected
frolic Oct 4, 2024
a4ae218
improve transitions, remove gas balance from dropdown
frolic Oct 4, 2024
e5f24ff
start bringing in new onboarding flow
frolic Oct 4, 2024
668baf8
little bit of polish
frolic Oct 4, 2024
bf3d375
Merge remote-tracking branch 'origin/main' into entrykit
frolic Oct 7, 2024
848fb81
sketch out steps
frolic Oct 8, 2024
2073012
use regular anvil port to make it easier to use with metamask
frolic Oct 8, 2024
3e7dff3
Merge remote-tracking branch 'origin/main' into entrykit
frolic Oct 8, 2024
32939ac
start integrating paymaster
frolic Oct 8, 2024
4e7a85d
copy over toCoinbaseSmartAccount
frolic Oct 8, 2024
f2ec899
wip paymaster
frolic Oct 9, 2024
9e2c702
Merge remote-tracking branch 'origin/main' into entrykit
frolic Oct 9, 2024
037c09e
move gas fee calculation
frolic Oct 9, 2024
519cca8
trying a new strategy for steps
frolic Oct 9, 2024
ae78ff3
wip initializer
frolic Oct 10, 2024
bc1cb9b
no initializer, claim gas pass
frolic Oct 10, 2024
c0247f1
clean up
frolic Oct 10, 2024
d93670e
its workingggg
frolic Oct 10, 2024
9985219
Merge remote-tracking branch 'origin/main' into entrykit
frolic Oct 10, 2024
ec73e9e
send user op now
frolic Oct 11, 2024
b9425d9
update alto, run from source
frolic Oct 11, 2024
04df216
remove all unused stuff
frolic Oct 11, 2024
e0499a8
remove old comment
frolic Oct 11, 2024
9d16d7a
exports and type fixes
frolic Oct 11, 2024
b0347b9
Merge remote-tracking branch 'origin/main' into entrykit
frolic Oct 14, 2024
0050426
various tweaks
frolic Oct 14, 2024
d07784f
update playground
frolic Oct 15, 2024
37b7650
various tweaks
frolic Oct 15, 2024
edbfe6b
.1 seems like enough for now
frolic Oct 15, 2024
d3a1f48
Merge remote-tracking branch 'origin/main' into entrykit
frolic Oct 15, 2024
e54a1f8
refactor with our own bundler client
frolic Oct 16, 2024
8e84871
Merge remote-tracking branch 'origin/main' into entrykit
frolic Oct 16, 2024
a13e785
Merge remote-tracking branch 'origin/main' into entrykit
frolic Oct 16, 2024
e97d2eb
update tsup config after merge
frolic Oct 16, 2024
d844186
move shared deps to peer deps
frolic Oct 16, 2024
a58cc13
add observer
frolic Oct 16, 2024
86f7eb4
various fixes
frolic Oct 16, 2024
5af68a8
Merge remote-tracking branch 'origin/main' into entrykit
frolic Oct 16, 2024
8af96e1
lower min balance
frolic Oct 16, 2024
bc150f8
crappy eoa for now
frolic Oct 17, 2024
898cdd6
update playground deploy
frolic Oct 17, 2024
01b57db
modal/connect UI tweaks
frolic Oct 17, 2024
3586519
fix paymaster/issuer
frolic Oct 17, 2024
d8d9d97
rework onboarding flow
frolic Oct 17, 2024
097d5f2
change button order if has known passkeys
frolic Oct 17, 2024
4d17bb9
small polish
frolic Oct 17, 2024
c1d42b3
fix button/tab order
frolic Oct 17, 2024
b246780
more prominent slide in
frolic Oct 17, 2024
9301901
disable upcoming steps
frolic Oct 18, 2024
53019fc
auto claim allowance
frolic Oct 18, 2024
24486ee
test that deleteRecord triggers update
frolic Oct 18, 2024
464b26e
test singleton tables
frolic Oct 18, 2024
beb8d1d
attach user address to app account client
frolic Oct 18, 2024
c0b663d
update user op endpoint, fake the receipt
frolic Oct 18, 2024
fad4cda
don't saturate account button
frolic Oct 18, 2024
660fba5
merge: alvs/ws-keepalive
frolic Oct 18, 2024
726159c
remove content slide in animation for now
frolic Oct 20, 2024
3626e44
adjust terms
frolic Oct 21, 2024
be51fef
fix sizing/spacing issues with modal
frolic Oct 23, 2024
0124fe7
Merge remote-tracking branch 'origin/main' into entrykit
frolic Oct 23, 2024
c234485
don't use flex with min-h
frolic Oct 23, 2024
55baa96
preload app account client
frolic Oct 23, 2024
1ae4a02
workaround chain data not available after receipt
frolic Oct 23, 2024
5d62534
assume user op receipt success
frolic Oct 23, 2024
df8b6bc
quick workaround for sizing/positioning issue
frolic Oct 24, 2024
bcef423
Merge remote-tracking branch 'origin/main' into entrykit
frolic Oct 24, 2024
bfd56fe
Merge remote-tracking branch 'origin/main' into entrykit
frolic Oct 24, 2024
0033091
Merge remote-tracking branch 'origin/main' into entrykit
frolic Oct 24, 2024
13adf1a
Merge remote-tracking branch 'origin/main' into entrykit
frolic Oct 25, 2024
91970a7
try reconnecting on close
frolic Oct 25, 2024
9f0ee91
lots more logs
frolic Oct 25, 2024
cb78e29
try more async
frolic Oct 26, 2024
13527f5
Merge remote-tracking branch 'origin/main' into entrykit
frolic Oct 26, 2024
4326c74
oops my bad
frolic Oct 26, 2024
f915b77
close socket client instead of subscription
frolic Oct 26, 2024
bd42f16
trying to let viem do its thing
frolic Oct 27, 2024
5f05e72
try closing socket
frolic Oct 27, 2024
ad6909b
some more logs
frolic Oct 27, 2024
87d9e97
feels good enough
frolic Oct 27, 2024
c30e073
app account -> session
frolic Oct 27, 2024
37df6a5
Merge remote-tracking branch 'origin/main' into entrykit
frolic Oct 27, 2024
9b5a40e
refactor for pending state of session client
frolic Oct 27, 2024
08b84b5
fix some cache issues, start setup automatically, show step in button…
frolic Oct 27, 2024
d864105
fix(world): use fetchLogs in getFunctions
frolic Oct 28, 2024
5f71502
feat(common): add rhodolite websocket url
frolic Oct 28, 2024
d791f1e
Merge remote-tracking branch 'origin/main' into entrykit
frolic Oct 28, 2024
4cb3d65
trying to fix nonces for smart accounts
frolic Oct 28, 2024
ef40ea6
Revert "trying to fix nonces for smart accounts"
frolic Oct 28, 2024
a55684b
route calls to wiresaw_call
frolic Oct 29, 2024
9f7c977
rework steps a bit for better dismissing modal
frolic Oct 29, 2024
caebe53
Merge branch 'main' into entrykit
alvrs Oct 30, 2024
9e2f624
small fixes
frolic Oct 30, 2024
16d558c
Merge remote-tracking branch 'origin/main' into entrykit
frolic Oct 30, 2024
64656da
test that results are memoized
frolic Oct 30, 2024
e66a8c9
save first value when doing unique by
frolic Oct 31, 2024
a79eec2
remove unnecessary abitype dep
frolic Oct 31, 2024
c319dd4
move viem to peer deps
frolic Oct 31, 2024
298de61
revert catalog usage
frolic Oct 31, 2024
b10158e
add polling interval
frolic Oct 31, 2024
b0b7aa3
implement getNonce
frolic Oct 31, 2024
2c133d5
rework clients and transports to use chain config
frolic Nov 1, 2024
adf9cbe
rewrite wiresaw transport
frolic Nov 1, 2024
9a48aca
merge alvrs/update-watch-logs
frolic Nov 1, 2024
1dfd769
remove wiresaw export
frolic Nov 1, 2024
1af29a3
wire up wiresaw
frolic Nov 1, 2024
e20c07f
move stuff to chain config, rework naming
frolic Nov 1, 2024
b6f9730
wrap transports in wiresaw
frolic Nov 1, 2024
88f3abd
set up EOA with signatures
frolic Nov 1, 2024
fc34d5e
fix various bugs during state transitions
frolic Nov 1, 2024
7c66951
small tweaks
frolic Nov 1, 2024
72b3659
don't set initial chain
frolic Nov 2, 2024
e01a72a
update paymaster address
alvrs Nov 5, 2024
94d7121
update playground
frolic Nov 2, 2024
cd7ae99
Merge remote-tracking branch 'origin/main' into entrykit-catch-up
frolic Nov 5, 2024
9e962cb
try fixing EOA automatic chain switch
frolic Nov 5, 2024
b979be6
deploy with smart account
frolic Nov 6, 2024
83ec575
handle user op receipts in transport
frolic Nov 7, 2024
07c5b56
Merge branch 'main' into entrykit
alvrs Nov 7, 2024
2096820
move out wiresaw/paymaster stuff (#3367)
frolic Nov 7, 2024
1694d69
update imports
frolic Nov 7, 2024
d77b89f
fix app info
frolic Nov 8, 2024
4c25d1e
smartpass (#3362)
frolic Nov 8, 2024
b5cf00b
various tweaks/fixes
frolic Nov 9, 2024
d97ebc1
no need for these headers
frolic Nov 9, 2024
051e0dd
update anvil state snapshot
frolic Nov 9, 2024
3b489ec
parse receipt for success
frolic Nov 9, 2024
ea92cda
revert ID url
frolic Nov 9, 2024
1b6f1ed
mud ID url configurable by chain
frolic Nov 9, 2024
335157d
fix
frolic Nov 9, 2024
e8cf1c3
bring back user op fees
frolic Nov 9, 2024
c1d240e
remove hardcoded gas
frolic Nov 9, 2024
c1ba62d
break cache
frolic Nov 9, 2024
e48e9d8
Revert "remove hardcoded gas"
frolic Nov 9, 2024
a4f4f26
remove observer for now, return partial user op receipts for speed
frolic Nov 9, 2024
cd0f1a0
wiresaw over ws
frolic Nov 9, 2024
5f6904e
revert MUD ID
frolic Nov 9, 2024
f785166
Revert "revert MUD ID"
frolic Nov 9, 2024
5e77502
try using same window name
frolic Nov 9, 2024
56c3f96
improve error
frolic Nov 9, 2024
3c83157
Revert "Revert "revert MUD ID""
frolic Nov 9, 2024
1359882
back to original cache
frolic Nov 9, 2024
1d780b2
add credential options
frolic Nov 9, 2024
c23f4f5
set allowance in local
frolic Nov 10, 2024
b0257a4
don't compute gas locally
frolic Nov 10, 2024
ac2cd2e
faster polling for local bundler
frolic Nov 10, 2024
539787c
update explorer transports/poll interval
frolic Nov 11, 2024
f3113a2
add smart account option to dev-contracts
frolic Nov 11, 2024
a12e037
dont deploy with wiresaw for now
frolic Nov 11, 2024
a877ba6
Merge remote-tracking branch 'origin/main' into entrykit
frolic Nov 11, 2024
1c24e47
Merge branch 'main' into entrykit
alvrs Nov 11, 2024
cabf846
fix ts paths
frolic Nov 11, 2024
8b53d23
more accurate update list
frolic Nov 11, 2024
889293d
update snapshots
frolic Nov 11, 2024
d6c6139
apply updates
frolic Nov 11, 2024
900aa88
remove barrel file, export applyUpdates
frolic Nov 11, 2024
40213b4
queue updates and notify subscribers in microtask
frolic Nov 11, 2024
ff56a0e
try piping watchLogs to queue scheduler
frolic Nov 11, 2024
35f1941
update stash storage adapter to apply updates once
frolic Nov 11, 2024
c941317
preserve first prev
frolic Nov 12, 2024
510cc59
Revert "try piping watchLogs to queue scheduler"
frolic Nov 12, 2024
d928bff
don't use microtask
frolic Nov 12, 2024
e73fb5c
Merge remote-tracking branch 'origin/main' into entrykit
frolic Jan 6, 2025
fbb2ddd
Merge remote-tracking branch 'origin/main' into entrykit
frolic Jan 6, 2025
d32329e
Merge remote-tracking branch 'origin/main' into entrykit
frolic Jan 6, 2025
ea3d2fc
Merge remote-tracking branch 'origin/main' into entrykit
frolic Jan 6, 2025
0be6a43
Merge commit '1b477d476a666ccffafc6eb266d1732b90bc28f9' into entrykit
frolic Jan 9, 2025
a5665b5
Merge remote-tracking branch 'origin/main' into entrykit
frolic Jan 9, 2025
ebc6de3
rm unused stuff
frolic Jan 9, 2025
32efeca
Merge remote-tracking branch 'origin/main' into entrykit
frolic Jan 9, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion packages/common/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,8 @@
"p-queue": "^7.4.1",
"p-retry": "^5.1.2",
"prettier": "3.2.5",
"prettier-plugin-solidity": "1.3.1"
"prettier-plugin-solidity": "1.3.1",
"webauthn-p256": "^0.0.10"
},
"devDependencies": {
"@types/debug": "^4.1.7",
Expand Down
385 changes: 385 additions & 0 deletions packages/common/src/accounts/coinbase-smart-account/abi.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,385 @@
export const abi = [
{ inputs: [], stateMutability: "nonpayable", type: "constructor" },
{
inputs: [{ name: "owner", type: "bytes" }],
name: "AlreadyOwner",
type: "error",
},
{ inputs: [], name: "Initialized", type: "error" },
{
inputs: [{ name: "owner", type: "bytes" }],
name: "InvalidEthereumAddressOwner",
type: "error",
},
{
inputs: [{ name: "key", type: "uint256" }],
name: "InvalidNonceKey",
type: "error",
},
{
inputs: [{ name: "owner", type: "bytes" }],
name: "InvalidOwnerBytesLength",
type: "error",
},
{ inputs: [], name: "LastOwner", type: "error" },
{
inputs: [{ name: "index", type: "uint256" }],
name: "NoOwnerAtIndex",
type: "error",
},
{
inputs: [{ name: "ownersRemaining", type: "uint256" }],
name: "NotLastOwner",
type: "error",
},
{
inputs: [{ name: "selector", type: "bytes4" }],
name: "SelectorNotAllowed",
type: "error",
},
{ inputs: [], name: "Unauthorized", type: "error" },
{ inputs: [], name: "UnauthorizedCallContext", type: "error" },
{ inputs: [], name: "UpgradeFailed", type: "error" },
{
inputs: [
{ name: "index", type: "uint256" },
{ name: "expectedOwner", type: "bytes" },
{ name: "actualOwner", type: "bytes" },
],
name: "WrongOwnerAtIndex",
type: "error",
},
{
anonymous: false,
inputs: [
{
indexed: true,

name: "index",
type: "uint256",
},
{ indexed: false, name: "owner", type: "bytes" },
],
name: "AddOwner",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,

name: "index",
type: "uint256",
},
{ indexed: false, name: "owner", type: "bytes" },
],
name: "RemoveOwner",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,

name: "implementation",
type: "address",
},
],
name: "Upgraded",
type: "event",
},
{ stateMutability: "payable", type: "fallback" },
{
inputs: [],
name: "REPLAYABLE_NONCE_KEY",
outputs: [{ name: "", type: "uint256" }],
stateMutability: "view",
type: "function",
},
{
inputs: [{ name: "owner", type: "address" }],
name: "addOwnerAddress",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{ name: "x", type: "bytes32" },
{ name: "y", type: "bytes32" },
],
name: "addOwnerPublicKey",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [{ name: "functionSelector", type: "bytes4" }],
name: "canSkipChainIdValidation",
outputs: [{ name: "", type: "bool" }],
stateMutability: "pure",
type: "function",
},
{
inputs: [],
name: "domainSeparator",
outputs: [{ name: "", type: "bytes32" }],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "eip712Domain",
outputs: [
{ name: "fields", type: "bytes1" },
{ name: "name", type: "string" },
{ name: "version", type: "string" },
{ name: "chainId", type: "uint256" },
{ name: "verifyingContract", type: "address" },
{ name: "salt", type: "bytes32" },
{ name: "extensions", type: "uint256[]" },
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "entryPoint",
outputs: [{ name: "", type: "address" }],
stateMutability: "view",
type: "function",
},
{
inputs: [
{ name: "target", type: "address" },
{ name: "value", type: "uint256" },
{ name: "data", type: "bytes" },
],
name: "execute",
outputs: [],
stateMutability: "payable",
type: "function",
},
{
inputs: [
{
components: [
{ name: "target", type: "address" },
{ name: "value", type: "uint256" },
{ name: "data", type: "bytes" },
],

name: "calls",
type: "tuple[]",
},
],
name: "executeBatch",
outputs: [],
stateMutability: "payable",
type: "function",
},
{
inputs: [{ name: "calls", type: "bytes[]" }],
name: "executeWithoutChainIdValidation",
outputs: [],
stateMutability: "payable",
type: "function",
},
{
inputs: [
{
components: [
{ name: "sender", type: "address" },
{ name: "nonce", type: "uint256" },
{ name: "initCode", type: "bytes" },
{ name: "callData", type: "bytes" },
{ name: "callGasLimit", type: "uint256" },
{
name: "verificationGasLimit",
type: "uint256",
},
{
name: "preVerificationGas",
type: "uint256",
},
{ name: "maxFeePerGas", type: "uint256" },
{
name: "maxPriorityFeePerGas",
type: "uint256",
},
{ name: "paymasterAndData", type: "bytes" },
{ name: "signature", type: "bytes" },
],

name: "userOp",
type: "tuple",
},
],
name: "getUserOpHashWithoutChainId",
outputs: [{ name: "", type: "bytes32" }],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "implementation",
outputs: [{ name: "$", type: "address" }],
stateMutability: "view",
type: "function",
},
{
inputs: [{ name: "owners", type: "bytes[]" }],
name: "initialize",
outputs: [],
stateMutability: "payable",
type: "function",
},
{
inputs: [{ name: "account", type: "address" }],
name: "isOwnerAddress",
outputs: [{ name: "", type: "bool" }],
stateMutability: "view",
type: "function",
},
{
inputs: [{ name: "account", type: "bytes" }],
name: "isOwnerBytes",
outputs: [{ name: "", type: "bool" }],
stateMutability: "view",
type: "function",
},
{
inputs: [
{ name: "x", type: "bytes32" },
{ name: "y", type: "bytes32" },
],
name: "isOwnerPublicKey",
outputs: [{ name: "", type: "bool" }],
stateMutability: "view",
type: "function",
},
{
inputs: [
{ name: "hash", type: "bytes32" },
{ name: "signature", type: "bytes" },
],
name: "isValidSignature",
outputs: [{ name: "result", type: "bytes4" }],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "nextOwnerIndex",
outputs: [{ name: "", type: "uint256" }],
stateMutability: "view",
type: "function",
},
{
inputs: [{ name: "index", type: "uint256" }],
name: "ownerAtIndex",
outputs: [{ name: "", type: "bytes" }],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "ownerCount",
outputs: [{ name: "", type: "uint256" }],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "proxiableUUID",
outputs: [{ name: "", type: "bytes32" }],
stateMutability: "view",
type: "function",
},
{
inputs: [
{ name: "index", type: "uint256" },
{ name: "owner", type: "bytes" },
],
name: "removeLastOwner",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{ name: "index", type: "uint256" },
{ name: "owner", type: "bytes" },
],
name: "removeOwnerAtIndex",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [],
name: "removedOwnersCount",
outputs: [{ name: "", type: "uint256" }],
stateMutability: "view",
type: "function",
},
{
inputs: [{ name: "hash", type: "bytes32" }],
name: "replaySafeHash",
outputs: [{ name: "", type: "bytes32" }],
stateMutability: "view",
type: "function",
},
{
inputs: [
{ name: "newImplementation", type: "address" },
{ name: "data", type: "bytes" },
],
name: "upgradeToAndCall",
outputs: [],
stateMutability: "payable",
type: "function",
},
{
inputs: [
{
components: [
{ name: "sender", type: "address" },
{ name: "nonce", type: "uint256" },
{ name: "initCode", type: "bytes" },
{ name: "callData", type: "bytes" },
{ name: "callGasLimit", type: "uint256" },
{
name: "verificationGasLimit",
type: "uint256",
},
{
name: "preVerificationGas",
type: "uint256",
},
{ name: "maxFeePerGas", type: "uint256" },
{
name: "maxPriorityFeePerGas",
type: "uint256",
},
{ name: "paymasterAndData", type: "bytes" },
{ name: "signature", type: "bytes" },
],

name: "userOp",
type: "tuple",
},
{ name: "userOpHash", type: "bytes32" },
{ name: "missingAccountFunds", type: "uint256" },
],
name: "validateUserOp",
outputs: [{ name: "validationData", type: "uint256" }],
stateMutability: "nonpayable",
type: "function",
},
{ stateMutability: "payable", type: "receive" },
] as const;

export type abi = typeof abi;
Loading
Loading