Skip to content

Commit

Permalink
v2.4 (#56)
Browse files Browse the repository at this point in the history
* Added new ERC1271 signature verification logic in Kernel v0.2.3 (#43)

* Added 1271 wrapper

* Update kernel version to 0.2.3

* use kernel name and version from constants in tests

* added delegatecall support (#44)

* session key validator fixed for batch scenario

* test: fuzz testing for batched options include array

* fix: warning removed, forge fmt (#46)

* Documentation & minor gas optimisation during userOpExecution (#50)

* Add storage slot documentation & run coverage

* Gas improvment on disabled mode check during execution

Between 1 to 22% gas saved during userOp execution

* Missing funds check gas improvments

* Adding a bit of comments

* Add p256 validator (#48)

* Dev (#47)

* Added new ERC1271 signature verification logic in Kernel v0.2.3 (#43)

* Added 1271 wrapper

* Update kernel version to 0.2.3

* use kernel name and version from constants in tests

* added delegatecall support (#44)

* session key validator fixed for batch scenario

* test: fuzz testing for batched options include array

* fix: warning removed, forge fmt (#46)

---------

Co-authored-by: David Eiber <[email protected]>

* Initial commit

* Update P256Validator.t.sol

* forge install: FreshCryptoLib

* Refactor with helper functions

* Add P256Validator, tests, deps

* Remove py scripts used for initial testing

* Update foundry.toml

* update deps

* add non-malleable signatures

---------

Co-authored-by: taek <[email protected]>

* deterministic deploy (#51)

* ⚡️ Optimise gas usage when enabling p256 validator, add a few comments (#52)

* ⚡️ Optimise gas usage when enabling p256 validator, add a few comments

- Reducing the number of indexed variable inside a log highly decrease his gas usage, in the p256 validator, we only matter about the kernel account as index (it's 375 gas per topic, so per indexed props, so reducing the index on both key reduce the enabling gas cost by 375 * 4 -> 1500 gas)
 - Add a few reflexion todo comment, do you rly need to send the previous key in the event? Since it's cost with a `sload`& also in the event itself

* ⚡️ Remove the oldKeys for the event signature

* ⚡️ Only compare to raw msg signing instead of eth signed message for p256

* Fix/audit recovery (#53)

* added threshold check to make sure threshold is not zero

* added userOp.sender on callDataAndNonceHash

* added userOp.sender on callDataAndNonceHash

* added check if guardian is msg.sender

* fmt

* ZeroDev-RW-2 : using live weights

* ZeroDev-RW-4 and ZeroDev-RW-2 fix

* fmt

* ✨ Introduce a new Ecdsa Validator, using EIP-712 as signature (#55)

* ✨ Add a new ECDSA Typed validator, using EIP-712 signature to validate userOp

* ✅ Adding unit test arround EcdsaTypedValidator

* ✏️ Rename hash -> userOpHash in AllowUserOp sig

* Fix/conflict master (#57)

* Dev (#47)

* Added new ERC1271 signature verification logic in Kernel v0.2.3 (#43)

* Added 1271 wrapper

* Update kernel version to 0.2.3

* use kernel name and version from constants in tests

* added delegatecall support (#44)

* session key validator fixed for batch scenario

* test: fuzz testing for batched options include array

* fix: warning removed, forge fmt (#46)

---------

Co-authored-by: David Eiber <[email protected]>

* Update recovery audit report

* Added new ERC1271 signature verification logic in Kernel v0.2.3 (#43)

* Added 1271 wrapper

* Update kernel version to 0.2.3

* use kernel name and version from constants in tests

* added delegatecall support (#44)

* session key validator fixed for batch scenario

* test: fuzz testing for batched options include array

* fix: warning removed, forge fmt (#46)

* Documentation & minor gas optimisation during userOpExecution (#50)

* Add storage slot documentation & run coverage

* Gas improvment on disabled mode check during execution

Between 1 to 22% gas saved during userOp execution

* Missing funds check gas improvments

* Adding a bit of comments

* Add p256 validator (#48)

* Dev (#47)

* Added new ERC1271 signature verification logic in Kernel v0.2.3 (#43)

* Added 1271 wrapper

* Update kernel version to 0.2.3

* use kernel name and version from constants in tests

* added delegatecall support (#44)

* session key validator fixed for batch scenario

* test: fuzz testing for batched options include array

* fix: warning removed, forge fmt (#46)

---------

Co-authored-by: David Eiber <[email protected]>

* Initial commit

* Update P256Validator.t.sol

* forge install: FreshCryptoLib

* Refactor with helper functions

* Add P256Validator, tests, deps

* Remove py scripts used for initial testing

* Update foundry.toml

* update deps

* add non-malleable signatures

---------

Co-authored-by: taek <[email protected]>

* deterministic deploy (#51)

* ⚡️ Optimise gas usage when enabling p256 validator, add a few comments (#52)

* ⚡️ Optimise gas usage when enabling p256 validator, add a few comments

- Reducing the number of indexed variable inside a log highly decrease his gas usage, in the p256 validator, we only matter about the kernel account as index (it's 375 gas per topic, so per indexed props, so reducing the index on both key reduce the enabling gas cost by 375 * 4 -> 1500 gas)
 - Add a few reflexion todo comment, do you rly need to send the previous key in the event? Since it's cost with a `sload`& also in the event itself

* ⚡️ Remove the oldKeys for the event signature

* ⚡️ Only compare to raw msg signing instead of eth signed message for p256

* Fix/audit recovery (#53)

* added threshold check to make sure threshold is not zero

* added userOp.sender on callDataAndNonceHash

* added userOp.sender on callDataAndNonceHash

* added check if guardian is msg.sender

* fmt

* ZeroDev-RW-2 : using live weights

* ZeroDev-RW-4 and ZeroDev-RW-2 fix

* fmt

* rebase master

---------

Co-authored-by: David Eiber <[email protected]>
Co-authored-by: Derek Chiang <[email protected]>
Co-authored-by: Quentin Nivelais <[email protected]>

* fix: removed duplicate function

* feat: added delegateCall support in session key (#54)

* feat: added delegateCall support in session key

* fix: remove deps

* feat: added wildcard target permission condition in session key

---------

Co-authored-by: taek <[email protected]>

* fmt (#60)

* Script/deploy recovery (#59)

* added broadcast to git

* script for recovery deployment

* recovery plugin on arbitrum goerli and base goerli

* deployed to base

* Deploy/sepolia (#61)

* deployed on arbitrum sepolia

* deployed on optimism sepolia

* deployed on base sepolia

* Deploy/session key (#62)

* optimism and arbitrum

* optimism mainnet and polygon mainnet

* deployed on avalanche

* deployed on base

* session key deploy completed

* deployed on gnosischain (#63)

* ⚡️ Migrte from require(string) to revert error on Factory & LiteEcdsa (#58)

* feat: add stealth address plugin (#64)

Add stealth address plugin to preserve privacy of smart acount owner.
Two modes to validate signature
- 0: signed by private key of stealth address
- 1: signed by owner's private key and secret used to generate stealth
     address.

* Feat/event weighted ecdsa (#65)

* script for old factory

* script for stake updated

* events for add/removing guardian

* weighted ecdsa deployed on mumbai

* Cherrypick dev (#67)

* Link to AA SDKs

* script for old factory

* Update deployment addresses for Kernel and KernelLite v2.3 in README (#66)

* Add Kernel factory address

---------

Co-authored-by: Derek Chiang <[email protected]>
Co-authored-by: David Eiber <[email protected]>

* Temp/script (#69)

* moved to script folder

* moved shell scripts

* added broadcast

* removed Caldera broadcast

* Restructure - move plugin to separate repo (#70)

* restructured to seprate plugins folder

* removed via-ir based plugins, todo: remove all plugins to kernel-plugins

* Restructure (#71)

* restructured to seprate plugins folder

* removed via-ir based plugins, todo: remove all plugins to kernel-plugins

* fix: import path fix for kerneltestbase

* Add WebAuthN validator (#68)

* 🚧 Simple webauthn validator

* 🚧 Add deploy script for WebAuthN validator

* 🚧 Fix pre op estimation by removing early exit during webauthn msg format

* ✅ Add webauthn validator unit test

* 🚚 rename WebAuthnValidator -> WebAuthnFclValidator

* ♻️ Lot of WebAuthN review

 - Stay in calldata for webauthn challenge formatting
 - Stay inside the WebAuthN validator contract for challenge preparation etc, only exit for p256 verification
 - Better SoC between validator / webauthn / p256
 - Wrap the p256 verification logic inside a contract that can be easily replaced when RIP-7212 is deployed

* ⚡️ Minor gas optimisation (switching to solady base64 lib)

* ✅ Add more tests on sig validation, dummy sig bypass etc

* ⚡️ Gas optimisation during webauthn msg check / format

* 🐛 Post rebase fix

* 🚚 Move webauthn helper and validator inside subfolder validator/webauthn

* ⚡️ Switched to foundry cheatcode for p256 sig validation during test

And fix deploy script

* Feat/add validate (#73)

* feat: implement validateSignature of WeightedECDSAValidator

* fix: init totalWeight as 0 in validateSignature

* Fix validSignature for WeightedECDSAValidator

---------

Co-authored-by: adnpark <[email protected]>
Co-authored-by: Derek Chiang <[email protected]>

* updated forge-std

* forge fmt

* Feat/weighted ecdsa (#74)

* updated dependencies

* updates solady to latest

* weighted ecdsa to valdiate the userOp for the last sig

* removed toEthSignedMessage

* test done

* Feat/weighted ecdsa (#77)

* weighted ecdsa to valdiate the userOp for the last sig

* removed toEthSignedMessage

* test done

* allow non-userOpHash signed mode when paymaster != 0

* fixed Console.sol (#79)

* audit fixes (#80)

* audit fixes

* fix: update prevSigner to signer on validateSignature and added invariant testing for this

* Upload recovery v2 audit

* Update audit report

* changed test to use standard message hash (#81)

* gas snapshot and ci

* added snapshot flow

* added ci profile to foundry.toml

* added coverage workflow

* removed ci profile

* via-ir for snapshot

* Fix dead link

* ✨ Add the options to upgrade to the RIP-7212 p256 verifier (#82)

* ✨ Add the options to upgrade to the RIP-7212 p256 verifier

* 🐛 Handle empty response from the pre compiled p256 verifier

* 🐛 Switch between pre-compiled and on chain p256 verifier via a signature flag

* Modular permission (#84)

* restructured to seprate plugins folder

* added modular permission

* fmt

* synced dev

* fix: shadowed variable

* modular permission encoding checked

* intersect supports validation data with aggregator

* draft for modular permission

* forge fmt

* non-view for validCaller

* fix: test for helper

* changed validCaller to non-view

* removed rawMessage, move this to policy...?

* gas policy example for policy

* execute policy for interval based execution limits

* added natspec for modular permission validator

* added flag to skip validation data

* moved policy config to separate file

* remapping to includ I4337

* temp

* modular permission test without validCaller support

* support requestor feature

* now call it allowed requestor

* forge fmt

* example for eip712

* test fix to check if signature validation result is ok

* fix: nonce fixes in ModularPermissionValidator

* fix: use calldata for sig

* fix: proof fetching in MerklePolicy

* fix : use msg.sender instead of caller for signature verification on eip712 policy

* chore: deploy signaturePolicy

* fix: added validator in the storage mapping of SignaturePolicy to fix unauthenticated state change vuln

* fix: remove p256-verifier lib

* feat: added WebAuthnSigner for ModularPermissionValidator (#83)

* feat: added Sudo policy for ModularPermissionValidator

* fix: nonce for single tx dual enable and ECDSASigner sig

---------

Co-authored-by: Sahil Vasava <[email protected]>

* Fix/execute batch (#85)

* fixed execute batch with long return value

* added testcase

* bumped version to 2.4

* added validator setup

* added broadcast for 2.4 on mumbai

* Add webauthn audit

* Update README.md (#86)

* Link to AA SDKs

* Update deployment addresses for Kernel and KernelLite v2.3 in README (#66)

* Add Kernel factory address

* Update README.md

---------

Co-authored-by: Derek Chiang <[email protected]>
Co-authored-by: David Eiber <[email protected]>

---------

Co-authored-by: David Eiber <[email protected]>
Co-authored-by: Quentin Nivelais <[email protected]>
Co-authored-by: Derek Chiang <[email protected]>
Co-authored-by: Sahil Vasava <[email protected]>
Co-authored-by: jhw <[email protected]>
Co-authored-by: adnpark <[email protected]>
  • Loading branch information
7 people authored Feb 29, 2024
1 parent 43bba09 commit 1d4a202
Show file tree
Hide file tree
Showing 467 changed files with 35,358 additions and 1,161 deletions.
290 changes: 271 additions & 19 deletions .gas-snapshot

Large diffs are not rendered by default.

15 changes: 14 additions & 1 deletion .github/workflows/test.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,12 @@
name: test

on: workflow_dispatch
on:
workflow_dispatch:
pull_request:
push:
branches:
- "main"
- "dev"

env:
FOUNDRY_PROFILE: ci
Expand Down Expand Up @@ -32,3 +38,10 @@ jobs:
run: |
forge test -vvv
id: test

- name: Run snapshot
run: NO_COLOR=1 forge snapshot --via-ir >> $GITHUB_STEP_SUMMARY
id: snapshot

- name: Run coverage
run: NO_COLOR=1 forge coverage >> $GITHUB_STEP_SUMMARY
5 changes: 3 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@ types/

# Ignores development broadcast logs
!/broadcast
/broadcast/*
/broadcast/*
/broadcast/*/31337/
/broadcast/**/dry-run/

# Docs
docs/
Expand All @@ -32,3 +32,4 @@ artifacts-selected
cache_hardhat

lcov.info
settings.json
12 changes: 9 additions & 3 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -1,9 +1,15 @@
[submodule "lib/forge-std"]
path = lib/forge-std
url = https://github.com/foundry-rs/forge-std
[submodule "lib/solady"]
path = lib/solady
url = https://github.com/vectorized/solady
[submodule "lib/I4337"]
path = lib/I4337
url = https://github.com/leekt/I4337
[submodule "lib/FreshCryptoLib"]
path = lib/FreshCryptoLib
url = https://github.com/rdubois-crypto/FreshCryptoLib
[submodule "lib/p256-verifier"]
path = lib/p256-verifier
url = https://github.com/daimo-eth/p256-verifier
[submodule "lib/solady"]
path = lib/solady
url = https://github.com/vectorized/solady
19 changes: 18 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ Kernel is supported by all major AA SDKs, including:

## Resources

- [Developing plugins](https://docs.zerodev.app/extend-wallets/overview)
- [Learn more about plugins](https://docs.zerodev.app/sdk/plugins/intro)
- [Read the source code](https://github.com/zerodevapp/kernel)

## Build
Expand All @@ -36,6 +36,17 @@ MIT

## Addresses

<details>
<summary>v2.4</summary>

| Name | Address |
| -------------------- | ------------------------------------------ |
| Kernel | 0xd3082872F8B06073A021b4602e022d5A070d7cfC |
| KernelFactory | 0x5de4839a76cf55d0c90e2061ef4386d962E15ae3 |
| SessionKeyValidator | 0xB8E3c4bEaACAd06f6092793012DA4a8cB23D6123 |
| ECDSA Validator | 0xd9AB5096a832b9ce79914329DAEE236f8Eea0390 |
</details>

<details>
<summary>v2.3</summary>

Expand All @@ -44,6 +55,8 @@ MIT
| Kernel | 0xD3F582F6B4814E989Ee8E96bc3175320B5A540ab |
| KernelFactory | 0x5de4839a76cf55d0c90e2061ef4386d962E15ae3 |
| KernelLite | 0x482EC42E88a781485E1B6A4f07a0C5479d183291 |
| SessionKeyValidator | 0xB8E3c4bEaACAd06f6092793012DA4a8cB23D6123 |
| ECDSA Validator | 0xd9AB5096a832b9ce79914329DAEE236f8Eea0390 |
</details>

<details>
Expand All @@ -54,6 +67,9 @@ MIT
| Kernel | 0x0DA6a956B9488eD4dd761E59f52FDc6c8068E6B5 |
| KernelFactory | 0x5de4839a76cf55d0c90e2061ef4386d962E15ae3 |
| KernelLite | 0xbEdb61Be086F3f15eE911Cc9AB3EEa945DEbFa96 |
| SessionKeyValidator | 0xB8E3c4bEaACAd06f6092793012DA4a8cB23D6123 |
| ECDSA Validator | 0xd9AB5096a832b9ce79914329DAEE236f8Eea0390 |

</details>

<details>
Expand All @@ -63,6 +79,7 @@ MIT
| -------------------- | ------------------------------------------ |
| Kernel | 0xf048AD83CB2dfd6037A43902a2A5Be04e53cd2Eb |
| KernelFactory | 0x5de4839a76cf55d0c90e2061ef4386d962E15ae3 |
| SessionKeyValidator | 0xB8E3c4bEaACAd06f6092793012DA4a8cB23D6123 |
| ECDSA Validator | 0xd9AB5096a832b9ce79914329DAEE236f8Eea0390 |
</details>

Expand Down
Binary file added audits/kalos_recovery_v2.pdf
Binary file not shown.
Binary file added audits/kalos_webauthn_v1.pdf
Binary file not shown.
32 changes: 32 additions & 0 deletions broadcast/DeployDeterministic.s.sol/1/run-1701086814.json

Large diffs are not rendered by default.

32 changes: 32 additions & 0 deletions broadcast/DeployDeterministic.s.sol/1/run-1701086856.json

Large diffs are not rendered by default.

32 changes: 32 additions & 0 deletions broadcast/DeployDeterministic.s.sol/1/run-1701086878.json

Large diffs are not rendered by default.

32 changes: 32 additions & 0 deletions broadcast/DeployDeterministic.s.sol/1/run-1701087183.json

Large diffs are not rendered by default.

34 changes: 34 additions & 0 deletions broadcast/DeployDeterministic.s.sol/1/run-1701087229.json

Large diffs are not rendered by default.

49 changes: 49 additions & 0 deletions broadcast/DeployDeterministic.s.sol/1/run-1701087330.json

Large diffs are not rendered by default.

49 changes: 49 additions & 0 deletions broadcast/DeployDeterministic.s.sol/1/run-latest.json

Large diffs are not rendered by default.

223 changes: 223 additions & 0 deletions broadcast/DeployDeterministic.s.sol/11155420/run-1702555303.json

Large diffs are not rendered by default.

389 changes: 389 additions & 0 deletions broadcast/DeployDeterministic.s.sol/11155420/run-1702555310.json

Large diffs are not rendered by default.

55 changes: 55 additions & 0 deletions broadcast/DeployDeterministic.s.sol/11155420/run-1704381429.json

Large diffs are not rendered by default.

85 changes: 85 additions & 0 deletions broadcast/DeployDeterministic.s.sol/11155420/run-1704381436.json

Large diffs are not rendered by default.

85 changes: 85 additions & 0 deletions broadcast/DeployDeterministic.s.sol/11155420/run-latest.json

Large diffs are not rendered by default.

202 changes: 202 additions & 0 deletions broadcast/DeployDeterministic.s.sol/1261120/run-1701085835.json

Large diffs are not rendered by default.

213 changes: 213 additions & 0 deletions broadcast/DeployDeterministic.s.sol/1261120/run-1701086061.json

Large diffs are not rendered by default.

389 changes: 389 additions & 0 deletions broadcast/DeployDeterministic.s.sol/1261120/run-1701086068.json

Large diffs are not rendered by default.

389 changes: 389 additions & 0 deletions broadcast/DeployDeterministic.s.sol/1261120/run-latest.json

Large diffs are not rendered by default.

213 changes: 213 additions & 0 deletions broadcast/DeployDeterministic.s.sol/42069/run-1701086188.json

Large diffs are not rendered by default.

379 changes: 379 additions & 0 deletions broadcast/DeployDeterministic.s.sol/42069/run-1701086195.json

Large diffs are not rendered by default.

379 changes: 379 additions & 0 deletions broadcast/DeployDeterministic.s.sol/42069/run-latest.json

Large diffs are not rendered by default.

212 changes: 212 additions & 0 deletions broadcast/DeployDeterministic.s.sol/421614/run-1702555027.json

Large diffs are not rendered by default.

212 changes: 212 additions & 0 deletions broadcast/DeployDeterministic.s.sol/421614/run-1702555054.json

Large diffs are not rendered by default.

212 changes: 212 additions & 0 deletions broadcast/DeployDeterministic.s.sol/421614/run-1702555098.json

Large diffs are not rendered by default.

389 changes: 389 additions & 0 deletions broadcast/DeployDeterministic.s.sol/421614/run-1702555169.json

Large diffs are not rendered by default.

52 changes: 52 additions & 0 deletions broadcast/DeployDeterministic.s.sol/421614/run-1704381283.json

Large diffs are not rendered by default.

85 changes: 85 additions & 0 deletions broadcast/DeployDeterministic.s.sol/421614/run-1704381365.json

Large diffs are not rendered by default.

85 changes: 85 additions & 0 deletions broadcast/DeployDeterministic.s.sol/421614/run-latest.json

Large diffs are not rendered by default.

223 changes: 223 additions & 0 deletions broadcast/DeployDeterministic.s.sol/84532/run-1702563570.json

Large diffs are not rendered by default.

389 changes: 389 additions & 0 deletions broadcast/DeployDeterministic.s.sol/84532/run-1702563577.json

Large diffs are not rendered by default.

55 changes: 55 additions & 0 deletions broadcast/DeployDeterministic.s.sol/84532/run-1704382076.json

Large diffs are not rendered by default.

85 changes: 85 additions & 0 deletions broadcast/DeployDeterministic.s.sol/84532/run-1704382083.json

Large diffs are not rendered by default.

85 changes: 85 additions & 0 deletions broadcast/DeployDeterministic.s.sol/84532/run-latest.json

Large diffs are not rendered by default.

34 changes: 34 additions & 0 deletions broadcast/DeployECDSAValidator.s.sol/204/run-1699462898.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
{
"transactions": [
{
"hash": "0x1205e3d0592a957b2c59609cbff38268fcc68ea891efe57d24a39d282039f869",
"transactionType": "CREATE2",
"contractName": null,
"contractAddress": "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390",
"function": null,
"arguments": null,
"transaction": {
"type": "0x02",
"from": "0x9775137314fe595c943712b0b336327dfa80ae8a",
"to": "0x4e59b44847b379578588920ca78fbf26c0b4956c",
"gas": "0x6e303",
"value": "0x0",
"data": "0x000000000000000000000000000000000000000000000000000000000000000060808060405234610016576104ee908161001c8239f35b600080fdfe60406080815260048036101561001457600080fd5b600091823560e01c80630c959556146101d557806320709efc1461019b578063333daf921461015b5780633a871cdd1461010d578381638fc925aa146100c85750639ea9bd591461006457600080fd5b346100c457806003193601126100c45761007c610296565b9160243567ffffffffffffffff81116100c057936100a08392602096369101610263565b5050338152808552205490516001600160a01b0392831691909216148152f35b8480fd5b8280fd5b92905060203660031901126101095780359067ffffffffffffffff8211610104576100f591369101610263565b50503382528160205281205580f35b505050fd5b5050fd5b50600319836060368301126101545783359167ffffffffffffffff831161015757610160908336030112610154575060209261014d916024359101610348565b9051908152f35b80fd5b5080fd5b5082346101545781600319360112610154576024359067ffffffffffffffff8211610154575060209261019461014d9236908301610263565b9135610464565b838234610157576020366003190112610157576020916001600160a01b03908290826101c5610296565b1681528085522054169051908152f35b509060203660031901126100c45780359067ffffffffffffffff821161025f5761020191369101610263565b6014116100c4573560601c90338352826020528220805490826bffffffffffffffffffffffff60a01b831617905560018060a01b0316337f381c0d11398486654573703c51ee8210ce9461764d133f9f0e53b6a5397053318480a480f35b8380fd5b9181601f840112156102915782359167ffffffffffffffff8311610291576020838186019501011161029157565b600080fd5b600435906001600160a01b038216820361029157565b903590601e1981360301821215610291570180359067ffffffffffffffff82116102915760200191813603831361029157565b92919267ffffffffffffffff918281116103325760405192601f8201601f19908116603f011684019081118482101761033257604052829481845281830111610291578281602093846000960137010152565b634e487b7160e01b600052604160045260246000fd5b600092916001600160a01b039084833583811690819003610157578152806020528260408220541693826020527b19457468657265756d205369676e6564204d6573736167653a0a33328252603c60042091846103be6101408401946103b86103b187876102ac565b36916102df565b906103ee565b1686146103e557506103b16103d793926103b8926102ac565b16036103df57565b60019150565b96505050505050565b60207f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a19392608060405193838301516040526040830151928360605260416000988995869485526060840151851a885210915114165afa508251923d1561045757606052604052565b638baa579f90526004601cfd5b3360009081526020819052604081205490936001600160a01b03918216939192836104996104933685876102df565b836103ee565b1685146104e6576104d7926103b8916020527b19457468657265756d205369676e6564204d6573736167653a0a33328752603c6004209236916102df565b16036104e05790565b50600190565b50505050509056",
"nonce": "0x0",
"accessList": []
},
"additionalContracts": [],
"isFixedGasLimit": false
}
],
"receipts": [],
"libraries": [],
"pending": [
"0x1205e3d0592a957b2c59609cbff38268fcc68ea891efe57d24a39d282039f869"
],
"returns": {},
"timestamp": 1699462898,
"chain": 204,
"multi": false,
"commit": "8289389"
}
49 changes: 49 additions & 0 deletions broadcast/DeployECDSAValidator.s.sol/204/run-1699462905.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
{
"transactions": [
{
"hash": "0x1205e3d0592a957b2c59609cbff38268fcc68ea891efe57d24a39d282039f869",
"transactionType": "CREATE2",
"contractName": null,
"contractAddress": "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390",
"function": null,
"arguments": null,
"transaction": {
"type": "0x02",
"from": "0x9775137314fe595c943712b0b336327dfa80ae8a",
"to": "0x4e59b44847b379578588920ca78fbf26c0b4956c",
"gas": "0x6e303",
"value": "0x0",
"data": "0x000000000000000000000000000000000000000000000000000000000000000060808060405234610016576104ee908161001c8239f35b600080fdfe60406080815260048036101561001457600080fd5b600091823560e01c80630c959556146101d557806320709efc1461019b578063333daf921461015b5780633a871cdd1461010d578381638fc925aa146100c85750639ea9bd591461006457600080fd5b346100c457806003193601126100c45761007c610296565b9160243567ffffffffffffffff81116100c057936100a08392602096369101610263565b5050338152808552205490516001600160a01b0392831691909216148152f35b8480fd5b8280fd5b92905060203660031901126101095780359067ffffffffffffffff8211610104576100f591369101610263565b50503382528160205281205580f35b505050fd5b5050fd5b50600319836060368301126101545783359167ffffffffffffffff831161015757610160908336030112610154575060209261014d916024359101610348565b9051908152f35b80fd5b5080fd5b5082346101545781600319360112610154576024359067ffffffffffffffff8211610154575060209261019461014d9236908301610263565b9135610464565b838234610157576020366003190112610157576020916001600160a01b03908290826101c5610296565b1681528085522054169051908152f35b509060203660031901126100c45780359067ffffffffffffffff821161025f5761020191369101610263565b6014116100c4573560601c90338352826020528220805490826bffffffffffffffffffffffff60a01b831617905560018060a01b0316337f381c0d11398486654573703c51ee8210ce9461764d133f9f0e53b6a5397053318480a480f35b8380fd5b9181601f840112156102915782359167ffffffffffffffff8311610291576020838186019501011161029157565b600080fd5b600435906001600160a01b038216820361029157565b903590601e1981360301821215610291570180359067ffffffffffffffff82116102915760200191813603831361029157565b92919267ffffffffffffffff918281116103325760405192601f8201601f19908116603f011684019081118482101761033257604052829481845281830111610291578281602093846000960137010152565b634e487b7160e01b600052604160045260246000fd5b600092916001600160a01b039084833583811690819003610157578152806020528260408220541693826020527b19457468657265756d205369676e6564204d6573736167653a0a33328252603c60042091846103be6101408401946103b86103b187876102ac565b36916102df565b906103ee565b1686146103e557506103b16103d793926103b8926102ac565b16036103df57565b60019150565b96505050505050565b60207f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a19392608060405193838301516040526040830151928360605260416000988995869485526060840151851a885210915114165afa508251923d1561045757606052604052565b638baa579f90526004601cfd5b3360009081526020819052604081205490936001600160a01b03918216939192836104996104933685876102df565b836103ee565b1685146104e6576104d7926103b8916020527b19457468657265756d205369676e6564204d6573736167653a0a33328752603c6004209236916102df565b16036104e05790565b50600190565b50505050509056",
"nonce": "0x0",
"accessList": []
},
"additionalContracts": [],
"isFixedGasLimit": false
}
],
"receipts": [
{
"transactionHash": "0x1205e3d0592a957b2c59609cbff38268fcc68ea891efe57d24a39d282039f869",
"transactionIndex": "0x1",
"blockHash": "0xeeb3bf77a1ff94be009ccadaa60fa4cb2d80b372c84b898f679ca542812abb70",
"blockNumber": "0x75a1f9",
"from": "0x9775137314fE595c943712B0b336327dfa80aE8A",
"to": "0x4e59b44847b379578588920cA78FbF26c0B4956C",
"cumulativeGasUsed": "0x5b3a5",
"gasUsed": "0x4fc64",
"contractAddress": null,
"logs": [],
"status": "0x1",
"logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"type": "0x2",
"effectiveGasPrice": "0xb2d05e08"
}
],
"libraries": [],
"pending": [],
"returns": {},
"timestamp": 1699462905,
"chain": 204,
"multi": false,
"commit": "8289389"
}
49 changes: 49 additions & 0 deletions broadcast/DeployECDSAValidator.s.sol/204/run-latest.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
{
"transactions": [
{
"hash": "0x1205e3d0592a957b2c59609cbff38268fcc68ea891efe57d24a39d282039f869",
"transactionType": "CREATE2",
"contractName": null,
"contractAddress": "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390",
"function": null,
"arguments": null,
"transaction": {
"type": "0x02",
"from": "0x9775137314fe595c943712b0b336327dfa80ae8a",
"to": "0x4e59b44847b379578588920ca78fbf26c0b4956c",
"gas": "0x6e303",
"value": "0x0",
"data": "0x000000000000000000000000000000000000000000000000000000000000000060808060405234610016576104ee908161001c8239f35b600080fdfe60406080815260048036101561001457600080fd5b600091823560e01c80630c959556146101d557806320709efc1461019b578063333daf921461015b5780633a871cdd1461010d578381638fc925aa146100c85750639ea9bd591461006457600080fd5b346100c457806003193601126100c45761007c610296565b9160243567ffffffffffffffff81116100c057936100a08392602096369101610263565b5050338152808552205490516001600160a01b0392831691909216148152f35b8480fd5b8280fd5b92905060203660031901126101095780359067ffffffffffffffff8211610104576100f591369101610263565b50503382528160205281205580f35b505050fd5b5050fd5b50600319836060368301126101545783359167ffffffffffffffff831161015757610160908336030112610154575060209261014d916024359101610348565b9051908152f35b80fd5b5080fd5b5082346101545781600319360112610154576024359067ffffffffffffffff8211610154575060209261019461014d9236908301610263565b9135610464565b838234610157576020366003190112610157576020916001600160a01b03908290826101c5610296565b1681528085522054169051908152f35b509060203660031901126100c45780359067ffffffffffffffff821161025f5761020191369101610263565b6014116100c4573560601c90338352826020528220805490826bffffffffffffffffffffffff60a01b831617905560018060a01b0316337f381c0d11398486654573703c51ee8210ce9461764d133f9f0e53b6a5397053318480a480f35b8380fd5b9181601f840112156102915782359167ffffffffffffffff8311610291576020838186019501011161029157565b600080fd5b600435906001600160a01b038216820361029157565b903590601e1981360301821215610291570180359067ffffffffffffffff82116102915760200191813603831361029157565b92919267ffffffffffffffff918281116103325760405192601f8201601f19908116603f011684019081118482101761033257604052829481845281830111610291578281602093846000960137010152565b634e487b7160e01b600052604160045260246000fd5b600092916001600160a01b039084833583811690819003610157578152806020528260408220541693826020527b19457468657265756d205369676e6564204d6573736167653a0a33328252603c60042091846103be6101408401946103b86103b187876102ac565b36916102df565b906103ee565b1686146103e557506103b16103d793926103b8926102ac565b16036103df57565b60019150565b96505050505050565b60207f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a19392608060405193838301516040526040830151928360605260416000988995869485526060840151851a885210915114165afa508251923d1561045757606052604052565b638baa579f90526004601cfd5b3360009081526020819052604081205490936001600160a01b03918216939192836104996104933685876102df565b836103ee565b1685146104e6576104d7926103b8916020527b19457468657265756d205369676e6564204d6573736167653a0a33328752603c6004209236916102df565b16036104e05790565b50600190565b50505050509056",
"nonce": "0x0",
"accessList": []
},
"additionalContracts": [],
"isFixedGasLimit": false
}
],
"receipts": [
{
"transactionHash": "0x1205e3d0592a957b2c59609cbff38268fcc68ea891efe57d24a39d282039f869",
"transactionIndex": "0x1",
"blockHash": "0xeeb3bf77a1ff94be009ccadaa60fa4cb2d80b372c84b898f679ca542812abb70",
"blockNumber": "0x75a1f9",
"from": "0x9775137314fE595c943712B0b336327dfa80aE8A",
"to": "0x4e59b44847b379578588920cA78FbF26c0B4956C",
"cumulativeGasUsed": "0x5b3a5",
"gasUsed": "0x4fc64",
"contractAddress": null,
"logs": [],
"status": "0x1",
"logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"type": "0x2",
"effectiveGasPrice": "0xb2d05e08"
}
],
"libraries": [],
"pending": [],
"returns": {},
"timestamp": 1699462905,
"chain": 204,
"multi": false,
"commit": "8289389"
}
34 changes: 34 additions & 0 deletions broadcast/DeployECDSAValidator.s.sol/59140/run-1699462471.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
{
"transactions": [
{
"hash": "0xb09b8cf84dbf353e2a4cb6689daed1b9333f4c7ef2f1bdc5c94314ec39e4122e",
"transactionType": "CREATE2",
"contractName": null,
"contractAddress": "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390",
"function": null,
"arguments": null,
"transaction": {
"type": "0x02",
"from": "0x9775137314fe595c943712b0b336327dfa80ae8a",
"to": "0x4e59b44847b379578588920ca78fbf26c0b4956c",
"gas": "0x6e303",
"value": "0x0",
"data": "0x000000000000000000000000000000000000000000000000000000000000000060808060405234610016576104ee908161001c8239f35b600080fdfe60406080815260048036101561001457600080fd5b600091823560e01c80630c959556146101d557806320709efc1461019b578063333daf921461015b5780633a871cdd1461010d578381638fc925aa146100c85750639ea9bd591461006457600080fd5b346100c457806003193601126100c45761007c610296565b9160243567ffffffffffffffff81116100c057936100a08392602096369101610263565b5050338152808552205490516001600160a01b0392831691909216148152f35b8480fd5b8280fd5b92905060203660031901126101095780359067ffffffffffffffff8211610104576100f591369101610263565b50503382528160205281205580f35b505050fd5b5050fd5b50600319836060368301126101545783359167ffffffffffffffff831161015757610160908336030112610154575060209261014d916024359101610348565b9051908152f35b80fd5b5080fd5b5082346101545781600319360112610154576024359067ffffffffffffffff8211610154575060209261019461014d9236908301610263565b9135610464565b838234610157576020366003190112610157576020916001600160a01b03908290826101c5610296565b1681528085522054169051908152f35b509060203660031901126100c45780359067ffffffffffffffff821161025f5761020191369101610263565b6014116100c4573560601c90338352826020528220805490826bffffffffffffffffffffffff60a01b831617905560018060a01b0316337f381c0d11398486654573703c51ee8210ce9461764d133f9f0e53b6a5397053318480a480f35b8380fd5b9181601f840112156102915782359167ffffffffffffffff8311610291576020838186019501011161029157565b600080fd5b600435906001600160a01b038216820361029157565b903590601e1981360301821215610291570180359067ffffffffffffffff82116102915760200191813603831361029157565b92919267ffffffffffffffff918281116103325760405192601f8201601f19908116603f011684019081118482101761033257604052829481845281830111610291578281602093846000960137010152565b634e487b7160e01b600052604160045260246000fd5b600092916001600160a01b039084833583811690819003610157578152806020528260408220541693826020527b19457468657265756d205369676e6564204d6573736167653a0a33328252603c60042091846103be6101408401946103b86103b187876102ac565b36916102df565b906103ee565b1686146103e557506103b16103d793926103b8926102ac565b16036103df57565b60019150565b96505050505050565b60207f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a19392608060405193838301516040526040830151928360605260416000988995869485526060840151851a885210915114165afa508251923d1561045757606052604052565b638baa579f90526004601cfd5b3360009081526020819052604081205490936001600160a01b03918216939192836104996104933685876102df565b836103ee565b1685146104e6576104d7926103b8916020527b19457468657265756d205369676e6564204d6573736167653a0a33328752603c6004209236916102df565b16036104e05790565b50600190565b50505050509056",
"nonce": "0x0",
"accessList": []
},
"additionalContracts": [],
"isFixedGasLimit": false
}
],
"receipts": [],
"libraries": [],
"pending": [
"0xb09b8cf84dbf353e2a4cb6689daed1b9333f4c7ef2f1bdc5c94314ec39e4122e"
],
"returns": {},
"timestamp": 1699462471,
"chain": 59140,
"multi": false,
"commit": "8289389"
}
Loading

0 comments on commit 1d4a202

Please sign in to comment.