Skip to content

Commit 696c090

Browse files
authored
Implement deploy script for UserOpWebAuthnCosignVerifier (#21)
1 parent d9c91da commit 696c090

4 files changed

Lines changed: 137 additions & 7 deletions

File tree

README.md

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,14 @@ This repository provides a complete implementation of a Merkle tree Keystore, a
88

99
All contracts are deployed deterministically with the following addresses.
1010

11-
| Contract | Address |
12-
| ---------------------- | -------------------------------------------- |
13-
| Keystore | `0x18c90BdFc5667D11605ebde82E5E9CDC4D789363` |
14-
| KeystoreAccountFactory | `0x2F775F9FFC02231C3Bb1EA1281f1Da9ba2f2a069` |
15-
| UserOpECDSAVerifier | `0xf5bC4DB1cdedf1aDDD0d6543BA669837d5D0f3b3` |
16-
| UserOpMultiSigVerifier | `0xC498f1f881bdd8a2FEB6aABf166cF6E08Cf4e559` |
17-
| UserOpWebAuthnVerifier | `0xEcb9be3dbB737Ed13a768B2B7D030B483Bf5c9f2` |
11+
| Contract | Address |
12+
| ---------------------------- | -------------------------------------------- |
13+
| Keystore | `0x18c90BdFc5667D11605ebde82E5E9CDC4D789363` |
14+
| KeystoreAccountFactory | `0x2F775F9FFC02231C3Bb1EA1281f1Da9ba2f2a069` |
15+
| UserOpECDSAVerifier | `0xf5bC4DB1cdedf1aDDD0d6543BA669837d5D0f3b3` |
16+
| UserOpMultiSigVerifier | `0xC498f1f881bdd8a2FEB6aABf166cF6E08Cf4e559` |
17+
| UserOpWebAuthnVerifier | `0xEcb9be3dbB737Ed13a768B2B7D030B483Bf5c9f2` |
18+
| UserOpWebAuthnCosignVerifier | `0x36674817e050a37DA325d66B6dbD1a93063Dc6B9` |
1819

1920
## Usage
2021

@@ -51,4 +52,5 @@ source .env && forge script script/DeployKeystoreAccountFactory.s.sol --rpc-url
5152
source .env && forge script script/DeployUserOpECDSAVerifier.s.sol --rpc-url $BASE_RPC_URL --ledger --verify --broadcast
5253
source .env && forge script script/DeployUserOpMultiSigVerifier.s.sol --rpc-url $BASE_RPC_URL --ledger --verify --broadcast
5354
source .env && forge script script/DeployUserOpWebAuthnVerifier.s.sol --rpc-url $BASE_RPC_URL --ledger --verify --broadcast
55+
source .env && forge script script/DeployUserOpWebAuthnCosignVerifier.s.sol --rpc-url $BASE_RPC_URL --ledger --verify --broadcast
5456
```
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
{
2+
"transactions": [
3+
{
4+
"hash": "0xc2191a27fb5c53c283b59bbae0818ad8acd42f6d2de836c422206882a696cbe4",
5+
"transactionType": "CREATE2",
6+
"contractName": "UserOpWebAuthnCosignVerifier",
7+
"contractAddress": "0x36674817e050a37da325d66b6dbd1a93063dc6b9",
8+
"function": null,
9+
"arguments": [
10+
"0x18c90BdFc5667D11605ebde82E5E9CDC4D789363"
11+
],
12+
"transaction": {
13+
"from": "0xf6731de143cd04d7e9aebe3b1b00adbbd4710249",
14+
"to": "0x4e59b44847b379578588920ca78fbf26c0b4956c",
15+
"gas": "0x10d72e",
16+
"value": "0x0",
17+
"input": "0x000000000000000000000000000000000000000000000000000000000000000060a0604052348015600e575f5ffd5b50604051610d2f380380610d2f833981016040819052602b91603b565b6001600160a01b03166080526066565b5f60208284031215604a575f5ffd5b81516001600160a01b0381168114605f575f5ffd5b9392505050565b608051610cab6100845f395f818160c601526101260152610cab5ff3fe608060405234801561000f575f5ffd5b506004361061003f575f3560e01c806304b073c51461004357806325a1c24e14610069578063772a0001146100c1575b5f5ffd5b6100566100513660046107cf565b61010d565b6040519081526020015b60405180910390f35b6100907fff0000000000000000000000000000000000000000000000000000000000000081565b6040517fff000000000000000000000000000000000000000000000000000000000000009091168152602001610060565b6100e87f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610060565b5f3373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146101b1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f76657269666965723a206e6f742066726f6d204b657973746f72650000000000604482015260640160405180910390fd5b6060807fff0000000000000000000000000000000000000000000000000000000000000087875f816101e5576101e5610848565b9050013560f81c60f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19160361023a57610223866001818a610875565b81019061023091906109d9565b9092509050610269565b5f61024787890189610a72565b90508061010001518060200190518101906102629190610be8565b9093509150505b5f808061027887890189610c43565b9250925092505f61028885610320565b90505f6102958d88610408565b73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161490505f6102f58e6040516020016102dc91815260200190565b60405160208183030381529060405260018588886104ad565b90508180156103015750805b61030c57600161030e565b5f5b9e9d5050505050505050505050505050565b6103556040518060c0016040528060608152602001606081526020015f81526020015f81526020015f81526020015f81525090565b815160c081106104025760208301818101818251018281108260c0830111171561038157505050610402565b80815101925080602082015101818110838211178285108486111717156103ab5750505050610402565b82815160208301011183855160208701011117156103cc5750505050610402565b8386528060208701525060408101516040860152606081015160608601526080810151608086015260a081015160a08601525050505b50919050565b5f604051825160408114610424576041811461045e5750610499565b604084015160ff81901c601b016020527f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff16606052610471565b60608401515f1a60205260408401516060525b50835f5260208301516040526020600160805f60015afa5191505f606052806040523d6104a6575b638baa579f5f526004601cfd5b5092915050565b5f5f5f6104bc886001806105e4565b905060208601518051602082019150604088015160608901518451600d81017f226368616c6c656e6765223a220000000000000000000000000000000000000060981c8752848482011060228286890101515f1a14168160138901208286890120141685846014011085851760801c107f2274797065223a22776562617574686e2e67657422000000000000000000000060581c8589015160581c14161698505080865250505087515189151560021b600117808160218c51015116146020831188161696505085156105b857602089510181810180516020600160208601856020868a8c60025afa60011b5afa51915295503d90506105b857fe5b50505082156105d9576105d68287608001518860a0015188886106f1565b92505b505095945050505050565b6060835180156106e9576003600282010460021b60405192507f4142434445464748494a4b4c4d4e4f505152535455565758595a616263646566601f526106708515027f6768696a6b6c6d6e6f707172737475767778797a303132333435363738392d5f18603f526020830181810183886020010180515f82525b60038a0199508951603f8160121c16515f53603f81600c1c1651600153603f8160061c1651600253603f811651600353505f51845260048401935082841061065f5790526020016040527f3d3d00000000000000000000000000000000000000000000000000000000000060038406600204808303919091525f8615159091029182900352900382525b509392505050565b5f6040518681528560208201528460408201528360608201528260808201525f5f5260205f60a0836101005afa503d610755576d1ab2e8006fd8b71907bf06a5bdee3b6107555760205f60a0836dd01ea45f9efd5c54f037fa57ea1a5afa61075557fe5b505f516001147f7fffffff800000007fffffffffffffffde737d56d38bcf4279dce5617e3192a8851110905095945050505050565b5f5f83601f84011261079a575f5ffd5b50813567ffffffffffffffff8111156107b1575f5ffd5b6020830191508360208285010111156107c8575f5ffd5b9250929050565b5f5f5f5f5f606086880312156107e3575f5ffd5b85359450602086013567ffffffffffffffff811115610800575f5ffd5b61080c8882890161078a565b909550935050604086013567ffffffffffffffff81111561082b575f5ffd5b6108378882890161078a565b969995985093965092949392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f5f85851115610883575f5ffd5b8386111561088f575f5ffd5b5050820193919092039150565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b604051610120810167ffffffffffffffff811182821017156108ed576108ed61089c565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561093a5761093a61089c565b604052919050565b5f67ffffffffffffffff82111561095b5761095b61089c565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b5f82601f830112610996575f5ffd5b81356109a96109a482610942565b6108f3565b8181528460208386010111156109bd575f5ffd5b816020850160208301375f918101602001919091529392505050565b5f5f604083850312156109ea575f5ffd5b823567ffffffffffffffff811115610a00575f5ffd5b610a0c85828601610987565b925050602083013567ffffffffffffffff811115610a28575f5ffd5b610a3485828601610987565b9150509250929050565b73ffffffffffffffffffffffffffffffffffffffff81168114610a5f575f5ffd5b50565b8035610a6d81610a3e565b919050565b5f60208284031215610a82575f5ffd5b813567ffffffffffffffff811115610a98575f5ffd5b82016101208185031215610aaa575f5ffd5b610ab26108c9565b610abb82610a62565b815260208281013590820152604082013567ffffffffffffffff811115610ae0575f5ffd5b610aec86828501610987565b604083015250606082013567ffffffffffffffff811115610b0b575f5ffd5b610b1786828501610987565b6060830152506080828101359082015260a0808301359082015260c0808301359082015260e082013567ffffffffffffffff811115610b54575f5ffd5b610b6086828501610987565b60e08301525061010082013567ffffffffffffffff811115610b80575f5ffd5b610b8c86828501610987565b61010083015250949350505050565b5f82601f830112610baa575f5ffd5b8151610bb86109a482610942565b818152846020838601011115610bcc575f5ffd5b8160208501602083015e5f918101602001919091529392505050565b5f5f60408385031215610bf9575f5ffd5b825167ffffffffffffffff811115610c0f575f5ffd5b610c1b85828601610b9b565b925050602083015167ffffffffffffffff811115610c37575f5ffd5b610a3485828601610b9b565b5f5f5f60608486031215610c55575f5ffd5b8335610c6081610a3e565b9560208501359550604090940135939250505056fea264697066735822122030125e673d156149f1ec6e7f5c462f2f09bf9982dc2b80d49e21729afc0eaca064736f6c634300081c003300000000000000000000000018c90bdfc5667d11605ebde82e5e9cdc4d789363",
18+
"nonce": "0x42",
19+
"chainId": "0x2105"
20+
},
21+
"additionalContracts": [],
22+
"isFixedGasLimit": false
23+
}
24+
],
25+
"receipts": [
26+
{
27+
"status": "0x1",
28+
"cumulativeGasUsed": "0x2394bd4",
29+
"logs": [],
30+
"logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
31+
"type": "0x2",
32+
"transactionHash": "0xc2191a27fb5c53c283b59bbae0818ad8acd42f6d2de836c422206882a696cbe4",
33+
"transactionIndex": "0xa3",
34+
"blockHash": "0xeda8857a552042cd3d5ec9768d3fdd32e397f90d7e632a49fbce5392b8b58f13",
35+
"blockNumber": "0x1fada83",
36+
"gasUsed": "0xb83d1",
37+
"effectiveGasPrice": "0x54d9b6",
38+
"from": "0xf6731de143cd04d7e9aebe3b1b00adbbd4710249",
39+
"to": "0x4e59b44847b379578588920ca78fbf26c0b4956c",
40+
"contractAddress": "0x36674817e050a37da325d66b6dbd1a93063dc6b9",
41+
"l1BaseFeeScalar": "0x8dd",
42+
"l1BlobBaseFee": "0x1",
43+
"l1BlobBaseFeeScalar": "0x101c12",
44+
"l1Fee": "0x78e0a1c12",
45+
"l1GasPrice": "0x1a69f093",
46+
"l1GasUsed": "0x7e0e"
47+
}
48+
],
49+
"libraries": [],
50+
"pending": [],
51+
"returns": {},
52+
"timestamp": 1753223681,
53+
"chain": 8453,
54+
"commit": "d9c91da"
55+
}
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
{
2+
"transactions": [
3+
{
4+
"hash": "0xc2191a27fb5c53c283b59bbae0818ad8acd42f6d2de836c422206882a696cbe4",
5+
"transactionType": "CREATE2",
6+
"contractName": "UserOpWebAuthnCosignVerifier",
7+
"contractAddress": "0x36674817e050a37da325d66b6dbd1a93063dc6b9",
8+
"function": null,
9+
"arguments": [
10+
"0x18c90BdFc5667D11605ebde82E5E9CDC4D789363"
11+
],
12+
"transaction": {
13+
"from": "0xf6731de143cd04d7e9aebe3b1b00adbbd4710249",
14+
"to": "0x4e59b44847b379578588920ca78fbf26c0b4956c",
15+
"gas": "0x10d72e",
16+
"value": "0x0",
17+
"input": "0x000000000000000000000000000000000000000000000000000000000000000060a0604052348015600e575f5ffd5b50604051610d2f380380610d2f833981016040819052602b91603b565b6001600160a01b03166080526066565b5f60208284031215604a575f5ffd5b81516001600160a01b0381168114605f575f5ffd5b9392505050565b608051610cab6100845f395f818160c601526101260152610cab5ff3fe608060405234801561000f575f5ffd5b506004361061003f575f3560e01c806304b073c51461004357806325a1c24e14610069578063772a0001146100c1575b5f5ffd5b6100566100513660046107cf565b61010d565b6040519081526020015b60405180910390f35b6100907fff0000000000000000000000000000000000000000000000000000000000000081565b6040517fff000000000000000000000000000000000000000000000000000000000000009091168152602001610060565b6100e87f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610060565b5f3373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146101b1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f76657269666965723a206e6f742066726f6d204b657973746f72650000000000604482015260640160405180910390fd5b6060807fff0000000000000000000000000000000000000000000000000000000000000087875f816101e5576101e5610848565b9050013560f81c60f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19160361023a57610223866001818a610875565b81019061023091906109d9565b9092509050610269565b5f61024787890189610a72565b90508061010001518060200190518101906102629190610be8565b9093509150505b5f808061027887890189610c43565b9250925092505f61028885610320565b90505f6102958d88610408565b73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161490505f6102f58e6040516020016102dc91815260200190565b60405160208183030381529060405260018588886104ad565b90508180156103015750805b61030c57600161030e565b5f5b9e9d5050505050505050505050505050565b6103556040518060c0016040528060608152602001606081526020015f81526020015f81526020015f81526020015f81525090565b815160c081106104025760208301818101818251018281108260c0830111171561038157505050610402565b80815101925080602082015101818110838211178285108486111717156103ab5750505050610402565b82815160208301011183855160208701011117156103cc5750505050610402565b8386528060208701525060408101516040860152606081015160608601526080810151608086015260a081015160a08601525050505b50919050565b5f604051825160408114610424576041811461045e5750610499565b604084015160ff81901c601b016020527f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff16606052610471565b60608401515f1a60205260408401516060525b50835f5260208301516040526020600160805f60015afa5191505f606052806040523d6104a6575b638baa579f5f526004601cfd5b5092915050565b5f5f5f6104bc886001806105e4565b905060208601518051602082019150604088015160608901518451600d81017f226368616c6c656e6765223a220000000000000000000000000000000000000060981c8752848482011060228286890101515f1a14168160138901208286890120141685846014011085851760801c107f2274797065223a22776562617574686e2e67657422000000000000000000000060581c8589015160581c14161698505080865250505087515189151560021b600117808160218c51015116146020831188161696505085156105b857602089510181810180516020600160208601856020868a8c60025afa60011b5afa51915295503d90506105b857fe5b50505082156105d9576105d68287608001518860a0015188886106f1565b92505b505095945050505050565b6060835180156106e9576003600282010460021b60405192507f4142434445464748494a4b4c4d4e4f505152535455565758595a616263646566601f526106708515027f6768696a6b6c6d6e6f707172737475767778797a303132333435363738392d5f18603f526020830181810183886020010180515f82525b60038a0199508951603f8160121c16515f53603f81600c1c1651600153603f8160061c1651600253603f811651600353505f51845260048401935082841061065f5790526020016040527f3d3d00000000000000000000000000000000000000000000000000000000000060038406600204808303919091525f8615159091029182900352900382525b509392505050565b5f6040518681528560208201528460408201528360608201528260808201525f5f5260205f60a0836101005afa503d610755576d1ab2e8006fd8b71907bf06a5bdee3b6107555760205f60a0836dd01ea45f9efd5c54f037fa57ea1a5afa61075557fe5b505f516001147f7fffffff800000007fffffffffffffffde737d56d38bcf4279dce5617e3192a8851110905095945050505050565b5f5f83601f84011261079a575f5ffd5b50813567ffffffffffffffff8111156107b1575f5ffd5b6020830191508360208285010111156107c8575f5ffd5b9250929050565b5f5f5f5f5f606086880312156107e3575f5ffd5b85359450602086013567ffffffffffffffff811115610800575f5ffd5b61080c8882890161078a565b909550935050604086013567ffffffffffffffff81111561082b575f5ffd5b6108378882890161078a565b969995985093965092949392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f5f85851115610883575f5ffd5b8386111561088f575f5ffd5b5050820193919092039150565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b604051610120810167ffffffffffffffff811182821017156108ed576108ed61089c565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561093a5761093a61089c565b604052919050565b5f67ffffffffffffffff82111561095b5761095b61089c565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b5f82601f830112610996575f5ffd5b81356109a96109a482610942565b6108f3565b8181528460208386010111156109bd575f5ffd5b816020850160208301375f918101602001919091529392505050565b5f5f604083850312156109ea575f5ffd5b823567ffffffffffffffff811115610a00575f5ffd5b610a0c85828601610987565b925050602083013567ffffffffffffffff811115610a28575f5ffd5b610a3485828601610987565b9150509250929050565b73ffffffffffffffffffffffffffffffffffffffff81168114610a5f575f5ffd5b50565b8035610a6d81610a3e565b919050565b5f60208284031215610a82575f5ffd5b813567ffffffffffffffff811115610a98575f5ffd5b82016101208185031215610aaa575f5ffd5b610ab26108c9565b610abb82610a62565b815260208281013590820152604082013567ffffffffffffffff811115610ae0575f5ffd5b610aec86828501610987565b604083015250606082013567ffffffffffffffff811115610b0b575f5ffd5b610b1786828501610987565b6060830152506080828101359082015260a0808301359082015260c0808301359082015260e082013567ffffffffffffffff811115610b54575f5ffd5b610b6086828501610987565b60e08301525061010082013567ffffffffffffffff811115610b80575f5ffd5b610b8c86828501610987565b61010083015250949350505050565b5f82601f830112610baa575f5ffd5b8151610bb86109a482610942565b818152846020838601011115610bcc575f5ffd5b8160208501602083015e5f918101602001919091529392505050565b5f5f60408385031215610bf9575f5ffd5b825167ffffffffffffffff811115610c0f575f5ffd5b610c1b85828601610b9b565b925050602083015167ffffffffffffffff811115610c37575f5ffd5b610a3485828601610b9b565b5f5f5f60608486031215610c55575f5ffd5b8335610c6081610a3e565b9560208501359550604090940135939250505056fea264697066735822122030125e673d156149f1ec6e7f5c462f2f09bf9982dc2b80d49e21729afc0eaca064736f6c634300081c003300000000000000000000000018c90bdfc5667d11605ebde82e5e9cdc4d789363",
18+
"nonce": "0x42",
19+
"chainId": "0x2105"
20+
},
21+
"additionalContracts": [],
22+
"isFixedGasLimit": false
23+
}
24+
],
25+
"receipts": [
26+
{
27+
"status": "0x1",
28+
"cumulativeGasUsed": "0x2394bd4",
29+
"logs": [],
30+
"logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
31+
"type": "0x2",
32+
"transactionHash": "0xc2191a27fb5c53c283b59bbae0818ad8acd42f6d2de836c422206882a696cbe4",
33+
"transactionIndex": "0xa3",
34+
"blockHash": "0xeda8857a552042cd3d5ec9768d3fdd32e397f90d7e632a49fbce5392b8b58f13",
35+
"blockNumber": "0x1fada83",
36+
"gasUsed": "0xb83d1",
37+
"effectiveGasPrice": "0x54d9b6",
38+
"from": "0xf6731de143cd04d7e9aebe3b1b00adbbd4710249",
39+
"to": "0x4e59b44847b379578588920ca78fbf26c0b4956c",
40+
"contractAddress": "0x36674817e050a37da325d66b6dbd1a93063dc6b9",
41+
"l1BaseFeeScalar": "0x8dd",
42+
"l1BlobBaseFee": "0x1",
43+
"l1BlobBaseFeeScalar": "0x101c12",
44+
"l1Fee": "0x78e0a1c12",
45+
"l1GasPrice": "0x1a69f093",
46+
"l1GasUsed": "0x7e0e"
47+
}
48+
],
49+
"libraries": [],
50+
"pending": [],
51+
"returns": {},
52+
"timestamp": 1753223681,
53+
"chain": 8453,
54+
"commit": "d9c91da"
55+
}

0 commit comments

Comments
 (0)