diff --git a/contracts/.github/workflows/test.yml b/.github/workflows/test.yml similarity index 100% rename from contracts/.github/workflows/test.yml rename to .github/workflows/test.yml diff --git a/.gitmodules b/.gitmodules index fce4232..0a35f8a 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,9 +1,6 @@ -[submodule "contracts/lib/forge-std"] +[submodule "circom/contracts/lib/forge-std"] path = contracts/lib/forge-std url = https://github.com/foundry-rs/forge-std [submodule "contracts/lib/openzeppelin-contracts"] - path = contracts/lib/openzeppelin-contracts - url = https://github.com/OpenZeppelin/openzeppelin-contracts -[submodule "lib/openzeppelin-contracts"] - path = lib/openzeppelin-contracts + path = circom/contracts/lib/openzeppelin-contracts url = https://github.com/OpenZeppelin/openzeppelin-contracts diff --git a/contracts/README.md b/circom/contracts/README.md similarity index 100% rename from contracts/README.md rename to circom/contracts/README.md diff --git a/contracts/foundry.toml b/circom/contracts/foundry.toml similarity index 100% rename from contracts/foundry.toml rename to circom/contracts/foundry.toml diff --git a/contracts/remappings.txt b/circom/contracts/remappings.txt similarity index 100% rename from contracts/remappings.txt rename to circom/contracts/remappings.txt diff --git a/contracts/script/ZKEmailProof.s.sol b/circom/contracts/script/ZKEmailProof.s.sol similarity index 100% rename from contracts/script/ZKEmailProof.s.sol rename to circom/contracts/script/ZKEmailProof.s.sol diff --git a/circom/contracts/src/IGroth16Verifier.sol b/circom/contracts/src/IGroth16Verifier.sol new file mode 100644 index 0000000..9708be1 --- /dev/null +++ b/circom/contracts/src/IGroth16Verifier.sol @@ -0,0 +1,11 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +contract IGroth16Verifier { + function verifyProof( + uint[2] calldata _pA, + uint[2][2] calldata _pB, + uint[2] calldata _pC, + uint[] calldata _pubSignals + ) external view returns (bool); +} diff --git a/contracts/src/ZKEmailProof.sol b/circom/contracts/src/ZKEmailProof.sol similarity index 92% rename from contracts/src/ZKEmailProof.sol rename to circom/contracts/src/ZKEmailProof.sol index b0a99f4..b2bf92b 100644 --- a/contracts/src/ZKEmailProof.sol +++ b/circom/contracts/src/ZKEmailProof.sol @@ -6,6 +6,8 @@ import {ERC721URIStorage} from "@openzeppelin/contracts/token/ERC721/extensions/ import {Ownable} from "@openzeppelin/contracts/access/Ownable.sol"; import {Base64} from "@openzeppelin/contracts/utils/Base64.sol"; import {Strings} from "@openzeppelin/contracts/utils/Strings.sol"; +import {IDKIMRegistry} from "@zk-email/contracts/interfaces/IDKIMRegistry.sol"; +import {IGroth16Verifier} from "./IGroth16Verifier.sol"; struct Proof { uint256[2] a; @@ -84,7 +86,7 @@ contract ZKEmailProof is ERC721, Ownable { * @param publicOutputs uint256[] of public outputs * @param decodedPublicOutputs Decoded public outputs as flattened json */ - function safeMint( + function mintProof( address to, string memory blueprintId, address verifier, @@ -93,6 +95,21 @@ contract ZKEmailProof is ERC721, Ownable { string memory decodedPublicOutputs, uint proverEthAddressIdx ) public onlyVerifier { + // verify RSA + bytes32 ph = bytes32(publicOutputs[0]); + require( + dkimRegistry.isDKIMPublicKeyHashValid(domain, ph), + "RSA public key incorrect" + ); + + IGroth16Verifier v = IGroth16Verifier(verifier); + + // verify proof + require( + v.verifyProof(proof.a, proof.b, proof.c, publicOutputs), + "Invalid proof" + ); + // Owner should be committed to in each proof. This prevents // frontrunning safeMint with a valid proof but malicious "to" address if (address(uint160(publicOutputs[proverEthAddressIdx])) != to) { diff --git a/contracts/src/test/TestVerifier.sol b/circom/contracts/src/test/TestVerifier.sol similarity index 100% rename from contracts/src/test/TestVerifier.sol rename to circom/contracts/src/test/TestVerifier.sol diff --git a/contracts/test/ZKEmailProof/ZKEmailProof.t.sol b/circom/contracts/test/ZKEmailProof/ZKEmailProof.t.sol similarity index 100% rename from contracts/test/ZKEmailProof/ZKEmailProof.t.sol rename to circom/contracts/test/ZKEmailProof/ZKEmailProof.t.sol diff --git a/contracts/test/ZKEmailProof/safeMint.t.sol b/circom/contracts/test/ZKEmailProof/safeMint.t.sol similarity index 100% rename from contracts/test/ZKEmailProof/safeMint.t.sol rename to circom/contracts/test/ZKEmailProof/safeMint.t.sol diff --git a/contracts/test/ZKEmailProof/tokenURI.t.sol b/circom/contracts/test/ZKEmailProof/tokenURI.t.sol similarity index 100% rename from contracts/test/ZKEmailProof/tokenURI.t.sol rename to circom/contracts/test/ZKEmailProof/tokenURI.t.sol diff --git a/contracts/test/ZKEmailProof/transferFrom.t.sol b/circom/contracts/test/ZKEmailProof/transferFrom.t.sol similarity index 100% rename from contracts/test/ZKEmailProof/transferFrom.t.sol rename to circom/contracts/test/ZKEmailProof/transferFrom.t.sol diff --git a/circom/templates/template.sol.tera b/circom/templates/template.sol.tera index ee55620..0109d5e 100644 --- a/circom/templates/template.sol.tera +++ b/circom/templates/template.sol.tera @@ -4,6 +4,7 @@ import "@zk-email/contracts/interfaces/IDKIMRegistry.sol"; import "@zk-email/contracts/utils/StringUtils.sol"; import "@openzeppelin/contracts/access/Ownable.sol"; import "./verifier.sol"; +import {ZKEmailProof, Proof} from "../contracts/src/ZKEmailProof.sol"; contract Contract is Ownable { // ============================ @@ -11,6 +12,7 @@ contract Contract is Ownable { // ============================ IDKIMRegistry public dkimRegistry; Groth16Verifier public verifier; + ZKEmailProof public proofMinter; // ============================ // Prover Constants (Auto-generated) @@ -26,9 +28,10 @@ contract Contract is Ownable { uint16 public constant {{ field.name }}_len = {{ field.pack_size }}; {% endfor %} - constructor (IDKIMRegistry r, Groth16Verifier v) Ownable(msg.sender) { + constructor (IDKIMRegistry r, Groth16Verifier v, ZKEmailProof p) Ownable(msg.sender) { dkimRegistry = r; verifier = v; + proofMinter = p; } function verify(uint[2] calldata a, uint[2][2] calldata b, uint[2] calldata c, uint[{{ signal_size }}] calldata signals) external view { @@ -39,4 +42,42 @@ contract Contract is Ownable { // verify proof require(verifier.verifyProof(a,b,c,signals), "Invalid proof"); } + + function verifyAndMint(uint[2] calldata a, uint[2][2] calldata b, uint[2] calldata c, uint[{{ signal_size }}] calldata signals, address to, string memory blueprintId) external { + // verify RSA + bytes32 ph = bytes32(signals[0]); + require(dkimRegistry.isDKIMPublicKeyHashValid(domain, ph), "RSA public key incorrect"); + + // verify proof + require(verifier.verifyProof(a,b,c,signals), "Invalid proof"); + + Proof memory proof = Proof(a, b, c); + + // Convert signals to uint256[] + uint256[] memory signals256 = new uint256[](signals.length); + for (uint i = 0; i < signals.length; i++) { + signals256[i] = uint256(signals[i]); + } + + {% for field in values %} + // unpack {{ field.name }} + uint[] memory packed_{{ field.name }} = new uint[]({{ field.name }}_len); + for (uint i = 0; i < {{ field.name }}_len; i++) { + packed_{{ field.name }}[i] = signals[{{ field.start_idx }} + i]; + } + string memory {{ field.name }}_string = StringUtils.convertPackedBytesToString(packed_{{ field.name }}, pack_size * {{ field.name }}_len, pack_size); + {% endfor %} + + {% for field in external_inputs %} + // unpack {{ field.name }} + uint[] memory packed_{{ field.name }} = new uint[]({{ field.name }}_len); + for (uint i = 0; i < {{ field.name }}_len; i++) { + packed_{{ field.name }}[i] = signals[{{ field.start_idx }} + i]; + } + string memory {{ field.name }}_string = StringUtils.convertPackedBytesToString(packed_{{ field.name }}, pack_size * {{ field.name }}_len, pack_size); + {% endfor %} + + // mint proof + proofMinter.mintProof(to, blueprintId, address(this), proof, signals256, + } } diff --git a/contracts/.gitignore b/contracts/.gitignore deleted file mode 100644 index 85198aa..0000000 --- a/contracts/.gitignore +++ /dev/null @@ -1,14 +0,0 @@ -# Compiler files -cache/ -out/ - -# Ignores development broadcast logs -!/broadcast -/broadcast/*/31337/ -/broadcast/**/dry-run/ - -# Docs -docs/ - -# Dotenv file -.env diff --git a/contracts/broadcast/ZKEmailProof.s.sol/84532/run-1732711124.json b/contracts/broadcast/ZKEmailProof.s.sol/84532/run-1732711124.json deleted file mode 100644 index 308956c..0000000 --- a/contracts/broadcast/ZKEmailProof.s.sol/84532/run-1732711124.json +++ /dev/null @@ -1,85 +0,0 @@ -{ - "transactions": [ - { - "hash": "0xb0a4bddd8ad8d04a37c473f5f4507838b2c8a07dcda24e8681e44364dcc67211", - "transactionType": "CREATE", - "contractName": "ZKEmailProof", - "contractAddress": "0x65e80959345e9cd8775dcf19a90f0bd387d4dac4", - "function": null, - "arguments": [ - "0x9401296121FC9B78F84fc856B1F8dC88f4415B2e" - ], - "transaction": { - "from": "0x9401296121fc9b78f84fc856b1f8dc88f4415b2e", - "gas": "0x337c0c", - "value": "0x0", - "input": "0x608060405234801561001057600080fd5b50604051612f28380380612f2883398101604081905261002f9161010b565b6040518060400160405280600c81526020016b2d25a2b6b0b4b6283937b7b360a11b8152506040518060400160405280600481526020016305a4b45560e41b815250816000908161008091906101da565b50600161008d82826101da565b5050506100a66100a16100b560201b60201c565b6100b9565b6100af816100b9565b50610298565b3390565b600680546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60006020828403121561011d57600080fd5b81516001600160a01b038116811461013457600080fd5b9392505050565b634e487b7160e01b600052604160045260246000fd5b600181811c9082168061016557607f821691505b60208210810361018557634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156101d557806000526020600020601f840160051c810160208510156101b25750805b601f840160051c820191505b818110156101d257600081556001016101be565b50505b505050565b81516001600160401b038111156101f3576101f361013b565b610207816102018454610151565b8461018b565b6020601f82116001811461023b57600083156102235750848201515b600019600385901b1c1916600184901b1784556101d2565b600084815260208120601f198516915b8281101561026b578785015182556020948501946001909201910161024b565b50848210156102895786840151600019600387901b60f8161c191681555b50505050600190811b01905550565b612c81806102a76000396000f3fe608060405234801561001057600080fd5b50600436106101375760003560e01c8063715018a6116100b8578063b042aa381161007c578063b042aa381461029d578063b88d4fde146102b0578063c87b56dd146102c3578063ca2dfd0a146102d6578063e985e9c5146102e9578063f2fde38b146102fc57600080fd5b8063715018a6146102565780638da5cb5b1461025e5780639000b3d61461026f57806395d89b4114610282578063a22cb4651461028a57600080fd5b80632a50c146116100ff5780632a50c146146101cc57806342842e0e146101ec5780636352211e146101ff5780636c8244871461021257806370a082311461023557600080fd5b806301ffc9a71461013c57806306fdde0314610164578063081812fc14610179578063095ea7b3146101a457806323b872dd146101b9575b600080fd5b61014f61014a366004611e0b565b61030f565b60405190151581526020015b60405180910390f35b61016c610320565b60405161015b9190611e78565b61018c610187366004611e8b565b6103b2565b6040516001600160a01b03909116815260200161015b565b6101b76101b2366004611ec0565b6103d9565b005b6101b76101c7366004611eea565b6104f3565b6101df6101da366004611f27565b610524565b60405161015b9190611fa1565b6101b76101fa366004611eea565b61073a565b61018c61020d366004611e8b565b610755565b61014f610220366004611f27565b60076020526000908152604090205460ff1681565b610248610243366004611f27565b6107b5565b60405190815260200161015b565b6101b761083b565b6006546001600160a01b031661018c565b6101b761027d366004611f27565b61084f565b61016c6108a2565b6101b7610298366004612062565b6108b1565b6101b76102ab36600461225f565b6108c0565b6101b76102be366004612393565b610a44565b61016c6102d1366004611e8b565b610a7c565b6101b76102e4366004611f27565b610d7e565b61014f6102f736600461240f565b610de0565b6101b761030a366004611f27565b610e0e565b600061031a82610e87565b92915050565b60606000805461032f90612442565b80601f016020809104026020016040519081016040528092919081815260200182805461035b90612442565b80156103a85780601f1061037d576101008083540402835291602001916103a8565b820191906000526020600020905b81548152906001019060200180831161038b57829003601f168201915b5050505050905090565b60006103bd82610ed7565b506000908152600460205260409020546001600160a01b031690565b60006103e482610755565b9050806001600160a01b0316836001600160a01b0316036104565760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084015b60405180910390fd5b336001600160a01b038216148061047257506104728133610de0565b6104e45760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000606482015260840161044d565b6104ee8383610f36565b505050565b6104fd3382610fa4565b6105195760405162461bcd60e51b815260040161044d9061247c565b6104ee838383611003565b61052c611c57565b6001600160a01b03828116600090815260096020908152604091829020825160a08082018552825482526001830154909516928101929092528251938401808452919390928401916002808501918391606083019184919082845b815481526020019060010190808311610587575050505050815260200160028201600280602002604051908101604052809291906000905b8282101561060557604080518082019182905290600284810287019182845b8154815260200190600101908083116105de575050505050815260200190600101906105bf565b50505090825250604080518082019182905260209092019190600684019060029082845b815481526020019060010190808311610629575050505050815250508152602001600a820180548060200260200160405190810160405280929190818152602001828054801561069857602002820191906000526020600020905b815481526020019060010190808311610684575b50505050508152602001600b820180546106b190612442565b80601f01602080910402602001604051908101604052809291908181526020018280546106dd90612442565b801561072a5780601f106106ff5761010080835404028352916020019161072a565b820191906000526020600020905b81548152906001019060200180831161070d57829003601f168201915b5050505050815250509050919050565b6104ee83838360405180602001604052806000815250610a44565b6000818152600260205260408120546001600160a01b03168061031a5760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b604482015260640161044d565b60006001600160a01b03821661081f5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b606482015260840161044d565b506001600160a01b031660009081526003602052604090205490565b610843611174565b61084d60006111ce565b565b610857611174565b6001600160a01b03811661087e5760405163baa3de5f60e01b815260040160405180910390fd5b6001600160a01b03166000908152600760205260409020805460ff19166001179055565b60606001805461032f90612442565b6108bc338383611220565b5050565b3360009081526007602052604090205460ff166108f057604051633d120d8160e11b815260040160405180910390fd5b856001600160a01b03168260008151811061090d5761090d6124c9565b60200260200101516001600160a01b03161461093c57604051637c1e81b760e11b815260040160405180910390fd5b6040805160a0810182528681526001600160a01b03868116602080840191825283850188815260608501889052608085018790528b8416600090815260099092529490208351815590516001820180546001600160a01b0319169190931617909155915180519192916002808401916109b791839190611c8a565b5060208201516109cd9060028084019190611cc8565b5060408201516109e39060068301906002611c8a565b50505060608201518051610a0191600a840191602090910190611d0f565b506080820151600b820190610a16908261252d565b505060088054600092509082610a2b83612602565b919050559050610a3b87826112ee565b50505050505050565b610a4e3383610fa4565b610a6a5760405162461bcd60e51b815260040161044d9061247c565b610a7684848484611308565b50505050565b60606000610a8983610755565b6001600160a01b038181166000908152600960209081526040808320815160a0808201845282548252600183015490961693810193909352815194850180835295965092949193908401916002808501918391606083019184919082845b815481526020019060010190808311610ae7575050505050815260200160028201600280602002604051908101604052809291906000905b82821015610b6557604080518082019182905290600284810287019182845b815481526020019060010190808311610b3e57505050505081526020019060010190610b1f565b50505090825250604080518082019182905260209092019190600684019060029082845b815481526020019060010190808311610b89575050505050815250508152602001600a8201805480602002602001604051908101604052809291908181526020018280548015610bf857602002820191906000526020600020905b815481526020019060010190808311610be4575b50505050508152602001600b82018054610c1190612442565b80601f0160208091040260200160405190810160405280929190818152602001828054610c3d90612442565b8015610c8a5780601f10610c5f57610100808354040283529160200191610c8a565b820191906000526020600020905b815481529060010190602001808311610c6d57829003601f168201915b50505050508152505090506000610ca08561133b565b604051602001610cb09190612637565b60405160208183030381529060405290506000610cd0836000015161133b565b610cdd84604001516113ce565b610cea856060015161148e565b8560800151610d0587602001516001600160a01b0316611563565b604051602001610d199594939291906126fb565b6040516020818303038152906040529050610d548282604051602001610d4092919061287f565b604051602081830303815290604052611579565b604051602001610d6491906128ae565b604051602081830303815290604052945050505050919050565b610d86611174565b6001600160a01b03811660009081526007602052604090205460ff16610dbf5760405163baa3de5f60e01b815260040160405180910390fd5b6001600160a01b03166000908152600760205260409020805460ff19169055565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b610e16611174565b6001600160a01b038116610e7b5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161044d565b610e84816111ce565b50565b60006001600160e01b031982166380ac58cd60e01b1480610eb857506001600160e01b03198216635b5e139f60e01b145b8061031a57506301ffc9a760e01b6001600160e01b031983161461031a565b6000818152600260205260409020546001600160a01b0316610e845760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b604482015260640161044d565b600081815260046020526040902080546001600160a01b0319166001600160a01b0384169081179091558190610f6b82610755565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600080610fb083610755565b9050806001600160a01b0316846001600160a01b03161480610fd75750610fd78185610de0565b80610ffb5750836001600160a01b0316610ff0846103b2565b6001600160a01b0316145b949350505050565b826001600160a01b031661101682610755565b6001600160a01b03161461103c5760405162461bcd60e51b815260040161044d906128f3565b6001600160a01b03821661109e5760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b606482015260840161044d565b6110ab83838360016116cc565b826001600160a01b03166110be82610755565b6001600160a01b0316146110e45760405162461bcd60e51b815260040161044d906128f3565b600081815260046020908152604080832080546001600160a01b03199081169091556001600160a01b0387811680865260038552838620805460001901905590871680865283862080546001019055868652600290945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6006546001600160a01b0316331461084d5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161044d565b600680546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b816001600160a01b0316836001600160a01b0316036112815760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015260640161044d565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6108bc82826040518060200160405280600081525061170f565b611313848484611003565b61131f84848484611742565b610a765760405162461bcd60e51b815260040161044d90612938565b6060600061134883611843565b600101905060008167ffffffffffffffff8111156113685761136861209e565b6040519080825280601f01601f191660200182016040528015611392576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a850494508461139c57509392505050565b80516060906113e49060005b602002015161133b565b82516113f19060016113da565b60208401516114099060005b602002015160006113da565b60208501516114219060005b602002015160016113da565b60208601516114319060016113fd565b6020870151611441906001611415565b60408801516114519060006113da565b60408901516114619060016113da565b60405160200161147898979695949392919061298a565b6040516020818303038152906040529050919050565b6040805180820190915260018152605b60f81b602082015260609060005b835181101561153a57816114d88583815181106114cb576114cb6124c9565b602002602001015161133b565b6040516020016114e992919061287f565b6040516020818303038152906040529150600184516115089190612afb565b81101561153257816040516020016115209190612b0e565b60405160208183030381529060405291505b6001016114ac565b508060405160200161154c9190612b33565b604051602081830303815290604052915050919050565b606061031a6001600160a01b038316601461191b565b6060815160000361159857505060408051602081019091526000815290565b6000604051806060016040528060408152602001612c0c60409139905060006003845160026115c79190612b58565b6115d19190612b6b565b6115dc906004612b8d565b67ffffffffffffffff8111156115f4576115f461209e565b6040519080825280601f01601f19166020018201604052801561161e576020820181803683370190505b509050600182016020820185865187015b8082101561168a576003820191508151603f8160121c168501518453600184019350603f81600c1c168501518453600184019350603f8160061c168501518453600184019350603f811685015184535060018301925061162f565b50506003865106600181146116a657600281146116b9576116c1565b603d6001830353603d60028303536116c1565b603d60018303535b509195945050505050565b6001600160a01b038416158015906116ec57506001600160a01b03831615155b1561170a57604051631b67d22160e01b815260040160405180910390fd5b610a76565b6117198383611abe565b6117266000848484611742565b6104ee5760405162461bcd60e51b815260040161044d90612938565b60006001600160a01b0384163b1561183857604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290611786903390899088908890600401612ba4565b6020604051808303816000875af19250505080156117c1575060408051601f3d908101601f191682019092526117be91810190612bd7565b60015b61181e573d8080156117ef576040519150601f19603f3d011682016040523d82523d6000602084013e6117f4565b606091505b5080516000036118165760405162461bcd60e51b815260040161044d90612938565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050610ffb565b506001949350505050565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b83106118825772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef810000000083106118ae576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc1000083106118cc57662386f26fc10000830492506010015b6305f5e10083106118e4576305f5e100830492506008015b61271083106118f857612710830492506004015b6064831061190a576064830492506002015b600a831061031a5760010192915050565b6060600061192a836002612b8d565b611935906002612b58565b67ffffffffffffffff81111561194d5761194d61209e565b6040519080825280601f01601f191660200182016040528015611977576020820181803683370190505b509050600360fc1b81600081518110611992576119926124c9565b60200101906001600160f81b031916908160001a905350600f60fb1b816001815181106119c1576119c16124c9565b60200101906001600160f81b031916908160001a90535060006119e5846002612b8d565b6119f0906001612b58565b90505b6001811115611a68576f181899199a1a9b1b9c1cb0b131b232b360811b85600f1660108110611a2457611a246124c9565b1a60f81b828281518110611a3a57611a3a6124c9565b60200101906001600160f81b031916908160001a90535060049490941c93611a6181612bf4565b90506119f3565b508315611ab75760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e74604482015260640161044d565b9392505050565b6001600160a01b038216611b145760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f2061646472657373604482015260640161044d565b6000818152600260205260409020546001600160a01b031615611b795760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015260640161044d565b611b876000838360016116cc565b6000818152600260205260409020546001600160a01b031615611bec5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015260640161044d565b6001600160a01b038216600081815260036020908152604080832080546001019055848352600290915280822080546001600160a01b0319168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b6040805160a08101825260008082526020820152908101611c76611d49565b815260200160608152602001606081525090565b8260028101928215611cb8579160200282015b82811115611cb8578251825591602001919060010190611c9d565b50611cc4929150611d7b565b5090565b600483019183908215611d03579160200282015b82811115611d03578251611cf39083906002611c8a565b5091602001919060020190611cdc565b50611cc4929150611d90565b828054828255906000526020600020908101928215611cb85791602002820182811115611cb8578251825591602001919060010190611c9d565b6040518060600160405280611d5c611daa565b8152602001611d69611dc8565b8152602001611d76611daa565b905290565b5b80821115611cc45760008155600101611d7c565b80821115611cc45760008082556001820155600201611d90565b60405180604001604052806002906020820280368337509192915050565b60405180604001604052806002905b611ddf611daa565b815260200190600190039081611dd75790505090565b6001600160e01b031981168114610e8457600080fd5b600060208284031215611e1d57600080fd5b8135611ab781611df5565b60005b83811015611e43578181015183820152602001611e2b565b50506000910152565b60008151808452611e64816020860160208601611e28565b601f01601f19169290920160200192915050565b602081526000611ab76020830184611e4c565b600060208284031215611e9d57600080fd5b5035919050565b80356001600160a01b0381168114611ebb57600080fd5b919050565b60008060408385031215611ed357600080fd5b611edc83611ea4565b946020939093013593505050565b600080600060608486031215611eff57600080fd5b611f0884611ea4565b9250611f1660208501611ea4565b929592945050506040919091013590565b600060208284031215611f3957600080fd5b611ab782611ea4565b8060005b6002811015610a76578151845260209384019390910190600101611f46565b600081518084526020840193506020830160005b82811015611f97578151865260209586019590910190600101611f79565b5093949350505050565b602081528151602082015260018060a01b03602083015116604082015260006040830151611fd3606084018251611f42565b602081015160a0840160005b600281101561200957611ff3828451611f42565b6020929092019160409190910190600101611fdf565b5050506040015161201e610120840182611f42565b50606083015161018061016084015261203b6101a0840182611f65565b90506080840151601f19848303016101808501526120598282611e4c565b95945050505050565b6000806040838503121561207557600080fd5b61207e83611ea4565b91506020830135801515811461209357600080fd5b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b6040516060810167ffffffffffffffff811182821017156120d7576120d761209e565b60405290565b604051601f8201601f1916810167ffffffffffffffff811182821017156121065761210661209e565b604052919050565b600082601f83011261211f57600080fd5b61212960406120dd565b80604084018581111561213b57600080fd5b845b8181101561215557803584526020938401930161213d565b509095945050505050565b600082601f83011261217157600080fd5b813567ffffffffffffffff81111561218b5761218b61209e565b8060051b61219b602082016120dd565b918252602081850181019290810190868411156121b757600080fd5b6020860192505b838310156121d95782358252602092830192909101906121be565b9695505050505050565b60008067ffffffffffffffff8411156121fe576121fe61209e565b50601f8301601f1916602001612213816120dd565b91505082815283838301111561222857600080fd5b828260208301376000602084830101529392505050565b600082601f83011261225057600080fd5b611ab7838335602085016121e3565b6000806000806000808688036101a081121561227a57600080fd5b61228388611ea4565b96506020880135955061229860408901611ea4565b9450610100605f19820112156122ad57600080fd5b506122b66120b4565b6122c38960608a0161210e565b81528860bf8901126122d457600080fd5b60406122df816120dd565b806101208b018c8111156122f257600080fd5b60a08c015b81811015612318576123098e8261210e565b845260209093019284016122f7565b508160208601526123298d8261210e565b84860152505050508093505061016087013567ffffffffffffffff81111561235057600080fd5b61235c89828a01612160565b92505061018087013567ffffffffffffffff81111561237a57600080fd5b61238689828a0161223f565b9150509295509295509295565b600080600080608085870312156123a957600080fd5b6123b285611ea4565b93506123c060208601611ea4565b925060408501359150606085013567ffffffffffffffff8111156123e357600080fd5b8501601f810187136123f457600080fd5b612403878235602084016121e3565b91505092959194509250565b6000806040838503121561242257600080fd5b61242b83611ea4565b915061243960208401611ea4565b90509250929050565b600181811c9082168061245657607f821691505b60208210810361247657634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252602d908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526c1c881bdc88185c1c1c9bdd9959609a1b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b601f8211156104ee57806000526020600020601f840160051c810160208510156125065750805b601f840160051c820191505b818110156125265760008155600101612512565b5050505050565b815167ffffffffffffffff8111156125475761254761209e565b61255b816125558454612442565b846124df565b6020601f82116001811461258f57600083156125775750848201515b600019600385901b1c1916600184901b178455612526565b600084815260208120601f198516915b828110156125bf578785015182556020948501946001909201910161259f565b50848210156125dd5786840151600019600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b600060018201612614576126146125ec565b5060010190565b6000815161262d818560208601611e28565b9290920192915050565b7f7b226e616d65223a20225a4b456d61696c50726f6f66204e465420230000000081526000825161266f81601c850160208701611e28565b7f222c226465736372697074696f6e223a2022536f756c626f756e64204e465420601c9390910192830152507f726570726573656e74696e6720612076616c6964205a4b20456d61696c207072603c8201527f6f6f6620666f7220616e206163636f756e74222c226174747269627574657322605c820152623a205b60e81b607c820152607f01919050565b7f7b202274726169745f74797065223a2022426c75657072696e74204944222c20815269113b30b63ab2911d101160b11b60208201526000865161274681602a850160208b01611e28565b6308881f4b60e21b602a91840191820152865161276a81602e840160208b01611e28565b7f7b202274726169745f74797065223a20225075626c6963204f75747075747322602e92909101918201526a01610113b30b63ab2911d160ad1b604e820152602a8101906127bb906059018761261b565b62081f4b60ea1b815290507f7b202274726169745f74797065223a20224465636f646564205075626c6963206003820152734f757470757473222c202276616c7565223a207b60601b6023820152612817603782015b8661261b565b631f481f4b60e21b815290507f7b202274726169745f74797065223a20225665726966696572222c202276616c6004820152653ab2911d101160d11b6024820152612865602a82018561261b565b6422207d5d7d60d81b815260050198975050505050505050565b60008351612891818460208801611e28565b8351908301906128a5818360208801611e28565b01949350505050565b7f646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c0000008152600082516128e681601d850160208701611e28565b91909101601d0192915050565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b7f7b202274726169745f74797065223a202250726f6f665f61222c202276616c7581526465223a205b60d81b6020820152600089516129d0816025850160208e01611e28565b600b60fa1b6025918401918201526129eb602682018b61261b565b6317481f4b60e21b815290507f7b202274726169745f74797065223a202250726f6f665f62222c202276616c7560048201526565223a205b5b60d01b6024820152612a39602a82018a61261b565b600b60fa1b81529050612a4f600182018961261b565b625d2c5b60e81b81529050612a67600382018861261b565b600b60fa1b81529050612a7d600182018761261b565b641757481f4b60da1b815290507f7b202274726169745f74797065223a202250726f6f665f63222c202276616c7560058201526465223a205b60d81b6025820152612aca602a8201612811565b600b60fa1b81529050612ae0600182018561261b565b625d207d60e81b81526003019b9a5050505050505050505050565b8181038181111561031a5761031a6125ec565b60008251612b20818460208701611e28565b600b60fa1b920191825250600101919050565b60008251612b45818460208701611e28565b605d60f81b920191825250600101919050565b8082018082111561031a5761031a6125ec565b600082612b8857634e487b7160e01b600052601260045260246000fd5b500490565b808202811582820484141761031a5761031a6125ec565b6001600160a01b03858116825284166020820152604081018390526080606082018190526000906121d990830184611e4c565b600060208284031215612be957600080fd5b8151611ab781611df5565b600081612c0357612c036125ec565b50600019019056fe4142434445464748494a4b4c4d4e4f505152535455565758595a6162636465666768696a6b6c6d6e6f707172737475767778797a303132333435363738392b2fa2646970667358221220b1f341dac816bbe103085e522218b2b195964138f4d374fd8925516f66e33ea764736f6c634300081a00330000000000000000000000009401296121fc9b78f84fc856b1f8dc88f4415b2e", - "nonce": "0x1396", - "chainId": "0x14a34" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "status": "0x1", - "cumulativeGasUsed": "0x2b39c1", - "logs": [ - { - "address": "0x65e80959345e9cd8775dcf19a90f0bd387d4dac4", - "topics": [ - "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000009401296121fc9b78f84fc856b1f8dc88f4415b2e" - ], - "data": "0x", - "blockHash": "0xd3dc7392867e057e7c2aed32e4d899b0104d2913d35a306f99d85fb9eb52a2c9", - "blockNumber": "0x119d9ef", - "transactionHash": "0xb0a4bddd8ad8d04a37c473f5f4507838b2c8a07dcda24e8681e44364dcc67211", - "transactionIndex": "0x3", - "logIndex": "0x4", - "removed": false - }, - { - "address": "0x65e80959345e9cd8775dcf19a90f0bd387d4dac4", - "topics": [ - "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", - "0x0000000000000000000000009401296121fc9b78f84fc856b1f8dc88f4415b2e", - "0x0000000000000000000000009401296121fc9b78f84fc856b1f8dc88f4415b2e" - ], - "data": "0x", - "blockHash": "0xd3dc7392867e057e7c2aed32e4d899b0104d2913d35a306f99d85fb9eb52a2c9", - "blockNumber": "0x119d9ef", - "transactionHash": "0xb0a4bddd8ad8d04a37c473f5f4507838b2c8a07dcda24e8681e44364dcc67211", - "transactionIndex": "0x3", - "logIndex": "0x5", - "removed": false - } - ], - "logsBloom": "0x00000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000021000000000000000000840000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000200000000000000000000000000000000000100000000002000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0xb0a4bddd8ad8d04a37c473f5f4507838b2c8a07dcda24e8681e44364dcc67211", - "transactionIndex": "0x3", - "blockHash": "0xd3dc7392867e057e7c2aed32e4d899b0104d2913d35a306f99d85fb9eb52a2c9", - "blockNumber": "0x119d9ef", - "gasUsed": "0x279d76", - "effectiveGasPrice": "0xc632", - "from": "0x9401296121fc9b78f84fc856b1f8dc88f4415b2e", - "to": null, - "contractAddress": "0x65e80959345e9cd8775dcf19a90f0bd387d4dac4", - "l1BaseFeeScalar": "0x44d", - "l1BlobBaseFee": "0x1", - "l1BlobBaseFeeScalar": "0xa118b", - "l1Fee": "0x23086a377ef", - "l1GasPrice": "0x4c1851e04", - "l1GasUsed": "0x1a226" - } - ], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1732711124, - "chain": 84532, - "commit": "a804033" -} \ No newline at end of file diff --git a/contracts/broadcast/ZKEmailProof.s.sol/84532/run-1732712857.json b/contracts/broadcast/ZKEmailProof.s.sol/84532/run-1732712857.json deleted file mode 100644 index d9ceab3..0000000 --- a/contracts/broadcast/ZKEmailProof.s.sol/84532/run-1732712857.json +++ /dev/null @@ -1,85 +0,0 @@ -{ - "transactions": [ - { - "hash": "0x72533e0358e7875712c5e611beaf214d41bab8d7043cdd0aac632ab1d10e7a48", - "transactionType": "CREATE", - "contractName": "ZKEmailProof", - "contractAddress": "0x9aa776fbcdd95def1eb528e27924dab0c8a41731", - "function": null, - "arguments": [ - "0x9401296121FC9B78F84fc856B1F8dC88f4415B2e" - ], - "transaction": { - "from": "0x9401296121fc9b78f84fc856b1f8dc88f4415b2e", - "gas": "0x338c80", - "value": "0x0", - "input": "0x608060405234801561001057600080fd5b50604051612f37380380612f3783398101604081905261002f9161010b565b6040518060400160405280600c81526020016b2d25a2b6b0b4b6283937b7b360a11b8152506040518060400160405280600481526020016305a4b45560e41b815250816000908161008091906101da565b50600161008d82826101da565b5050506100a66100a16100b560201b60201c565b6100b9565b6100af816100b9565b50610298565b3390565b600680546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60006020828403121561011d57600080fd5b81516001600160a01b038116811461013457600080fd5b9392505050565b634e487b7160e01b600052604160045260246000fd5b600181811c9082168061016557607f821691505b60208210810361018557634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156101d557806000526020600020601f840160051c810160208510156101b25750805b601f840160051c820191505b818110156101d257600081556001016101be565b50505b505050565b81516001600160401b038111156101f3576101f361013b565b610207816102018454610151565b8461018b565b6020601f82116001811461023b57600083156102235750848201515b600019600385901b1c1916600184901b1784556101d2565b600084815260208120601f198516915b8281101561026b578785015182556020948501946001909201910161024b565b50848210156102895786840151600019600387901b60f8161c191681555b50505050600190811b01905550565b612c90806102a76000396000f3fe608060405234801561001057600080fd5b50600436106101375760003560e01c8063715018a6116100b8578063a22cb4651161007c578063a22cb4651461029d578063b88d4fde146102b0578063c87b56dd146102c3578063ca2dfd0a146102d6578063e985e9c5146102e9578063f2fde38b146102fc57600080fd5b8063715018a6146102565780638975c7ad1461025e5780638da5cb5b146102715780639000b3d61461028257806395d89b411461029557600080fd5b80632a50c146116100ff5780632a50c146146101cc57806342842e0e146101ec5780636352211e146101ff5780636c8244871461021257806370a082311461023557600080fd5b806301ffc9a71461013c57806306fdde0314610164578063081812fc14610179578063095ea7b3146101a457806323b872dd146101b9575b600080fd5b61014f61014a366004611e0b565b61030f565b60405190151581526020015b60405180910390f35b61016c610320565b60405161015b9190611e78565b61018c610187366004611e8b565b6103b2565b6040516001600160a01b03909116815260200161015b565b6101b76101b2366004611ec0565b6103d9565b005b6101b76101c7366004611eea565b6104f3565b6101df6101da366004611f27565b610524565b60405161015b9190611fa1565b6101b76101fa366004611eea565b61073a565b61018c61020d366004611e8b565b610755565b61014f610220366004611f27565b60076020526000908152604090205460ff1681565b610248610243366004611f27565b6107b5565b60405190815260200161015b565b6101b761083b565b6101b761026c366004612223565b61084f565b6006546001600160a01b031661018c565b6101b7610290366004611f27565b6109d3565b61016c610a26565b6101b76102ab366004612366565b610a35565b6101b76102be3660046123a2565b610a44565b61016c6102d1366004611e8b565b610a7c565b6101b76102e4366004611f27565b610d7e565b61014f6102f736600461241e565b610de0565b6101b761030a366004611f27565b610e0e565b600061031a82610e87565b92915050565b60606000805461032f90612451565b80601f016020809104026020016040519081016040528092919081815260200182805461035b90612451565b80156103a85780601f1061037d576101008083540402835291602001916103a8565b820191906000526020600020905b81548152906001019060200180831161038b57829003601f168201915b5050505050905090565b60006103bd82610ed7565b506000908152600460205260409020546001600160a01b031690565b60006103e482610755565b9050806001600160a01b0316836001600160a01b0316036104565760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084015b60405180910390fd5b336001600160a01b038216148061047257506104728133610de0565b6104e45760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000606482015260840161044d565b6104ee8383610f36565b505050565b6104fd3382610fa4565b6105195760405162461bcd60e51b815260040161044d9061248b565b6104ee838383611003565b61052c611c57565b6001600160a01b03828116600090815260096020908152604091829020825160a08082018552825482526001830154909516928101929092528251938401808452919390928401916002808501918391606083019184919082845b815481526020019060010190808311610587575050505050815260200160028201600280602002604051908101604052809291906000905b8282101561060557604080518082019182905290600284810287019182845b8154815260200190600101908083116105de575050505050815260200190600101906105bf565b50505090825250604080518082019182905260209092019190600684019060029082845b815481526020019060010190808311610629575050505050815250508152602001600a820180548060200260200160405190810160405280929190818152602001828054801561069857602002820191906000526020600020905b815481526020019060010190808311610684575b50505050508152602001600b820180546106b190612451565b80601f01602080910402602001604051908101604052809291908181526020018280546106dd90612451565b801561072a5780601f106106ff5761010080835404028352916020019161072a565b820191906000526020600020905b81548152906001019060200180831161070d57829003601f168201915b5050505050815250509050919050565b6104ee83838360405180602001604052806000815250610a44565b6000818152600260205260408120546001600160a01b03168061031a5760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b604482015260640161044d565b60006001600160a01b03821661081f5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b606482015260840161044d565b506001600160a01b031660009081526003602052604090205490565b610843611174565b61084d60006111ce565b565b3360009081526007602052604090205460ff1661087f57604051633d120d8160e11b815260040160405180910390fd5b866001600160a01b031683828151811061089b5761089b6124d8565b60200260200101516001600160a01b0316146108ca57604051637c1e81b760e11b815260040160405180910390fd5b6040805160a0810182528781526001600160a01b03878116602080840191825283850189815260608501899052608085018890528c8416600090815260099092529490208351815590516001820180546001600160a01b03191691909316179091559151805191929160028084019161094591839190611c8a565b50602082015161095b9060028084019190611cc8565b5060408201516109719060068301906002611c8a565b5050506060820151805161098f91600a840191602090910190611d0f565b506080820151600b8201906109a4908261253c565b5050600880546000925090826109b983612611565b9190505590506109c98882611220565b5050505050505050565b6109db611174565b6001600160a01b038116610a025760405163baa3de5f60e01b815260040160405180910390fd5b6001600160a01b03166000908152600760205260409020805460ff19166001179055565b60606001805461032f90612451565b610a4033838361123a565b5050565b610a4e3383610fa4565b610a6a5760405162461bcd60e51b815260040161044d9061248b565b610a7684848484611308565b50505050565b60606000610a8983610755565b6001600160a01b038181166000908152600960209081526040808320815160a0808201845282548252600183015490961693810193909352815194850180835295965092949193908401916002808501918391606083019184919082845b815481526020019060010190808311610ae7575050505050815260200160028201600280602002604051908101604052809291906000905b82821015610b6557604080518082019182905290600284810287019182845b815481526020019060010190808311610b3e57505050505081526020019060010190610b1f565b50505090825250604080518082019182905260209092019190600684019060029082845b815481526020019060010190808311610b89575050505050815250508152602001600a8201805480602002602001604051908101604052809291908181526020018280548015610bf857602002820191906000526020600020905b815481526020019060010190808311610be4575b50505050508152602001600b82018054610c1190612451565b80601f0160208091040260200160405190810160405280929190818152602001828054610c3d90612451565b8015610c8a5780601f10610c5f57610100808354040283529160200191610c8a565b820191906000526020600020905b815481529060010190602001808311610c6d57829003601f168201915b50505050508152505090506000610ca08561133b565b604051602001610cb09190612646565b60405160208183030381529060405290506000610cd0836000015161133b565b610cdd84604001516113ce565b610cea856060015161148e565b8560800151610d0587602001516001600160a01b0316611563565b604051602001610d1995949392919061270a565b6040516020818303038152906040529050610d548282604051602001610d4092919061288e565b604051602081830303815290604052611579565b604051602001610d6491906128bd565b604051602081830303815290604052945050505050919050565b610d86611174565b6001600160a01b03811660009081526007602052604090205460ff16610dbf5760405163baa3de5f60e01b815260040160405180910390fd5b6001600160a01b03166000908152600760205260409020805460ff19169055565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b610e16611174565b6001600160a01b038116610e7b5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161044d565b610e84816111ce565b50565b60006001600160e01b031982166380ac58cd60e01b1480610eb857506001600160e01b03198216635b5e139f60e01b145b8061031a57506301ffc9a760e01b6001600160e01b031983161461031a565b6000818152600260205260409020546001600160a01b0316610e845760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b604482015260640161044d565b600081815260046020526040902080546001600160a01b0319166001600160a01b0384169081179091558190610f6b82610755565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600080610fb083610755565b9050806001600160a01b0316846001600160a01b03161480610fd75750610fd78185610de0565b80610ffb5750836001600160a01b0316610ff0846103b2565b6001600160a01b0316145b949350505050565b826001600160a01b031661101682610755565b6001600160a01b03161461103c5760405162461bcd60e51b815260040161044d90612902565b6001600160a01b03821661109e5760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b606482015260840161044d565b6110ab83838360016116cc565b826001600160a01b03166110be82610755565b6001600160a01b0316146110e45760405162461bcd60e51b815260040161044d90612902565b600081815260046020908152604080832080546001600160a01b03199081169091556001600160a01b0387811680865260038552838620805460001901905590871680865283862080546001019055868652600290945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6006546001600160a01b0316331461084d5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161044d565b600680546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b610a4082826040518060200160405280600081525061170f565b816001600160a01b0316836001600160a01b03160361129b5760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015260640161044d565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b611313848484611003565b61131f84848484611742565b610a765760405162461bcd60e51b815260040161044d90612947565b6060600061134883611843565b600101905060008167ffffffffffffffff81111561136857611368612062565b6040519080825280601f01601f191660200182016040528015611392576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a850494508461139c57509392505050565b80516060906113e49060005b602002015161133b565b82516113f19060016113da565b60208401516114099060005b602002015160006113da565b60208501516114219060005b602002015160016113da565b60208601516114319060016113fd565b6020870151611441906001611415565b60408801516114519060006113da565b60408901516114619060016113da565b604051602001611478989796959493929190612999565b6040516020818303038152906040529050919050565b6040805180820190915260018152605b60f81b602082015260609060005b835181101561153a57816114d88583815181106114cb576114cb6124d8565b602002602001015161133b565b6040516020016114e992919061288e565b6040516020818303038152906040529150600184516115089190612b0a565b81101561153257816040516020016115209190612b1d565b60405160208183030381529060405291505b6001016114ac565b508060405160200161154c9190612b42565b604051602081830303815290604052915050919050565b606061031a6001600160a01b038316601461191b565b6060815160000361159857505060408051602081019091526000815290565b6000604051806060016040528060408152602001612c1b60409139905060006003845160026115c79190612b67565b6115d19190612b7a565b6115dc906004612b9c565b67ffffffffffffffff8111156115f4576115f4612062565b6040519080825280601f01601f19166020018201604052801561161e576020820181803683370190505b509050600182016020820185865187015b8082101561168a576003820191508151603f8160121c168501518453600184019350603f81600c1c168501518453600184019350603f8160061c168501518453600184019350603f811685015184535060018301925061162f565b50506003865106600181146116a657600281146116b9576116c1565b603d6001830353603d60028303536116c1565b603d60018303535b509195945050505050565b6001600160a01b038416158015906116ec57506001600160a01b03831615155b1561170a57604051631b67d22160e01b815260040160405180910390fd5b610a76565b6117198383611abe565b6117266000848484611742565b6104ee5760405162461bcd60e51b815260040161044d90612947565b60006001600160a01b0384163b1561183857604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290611786903390899088908890600401612bb3565b6020604051808303816000875af19250505080156117c1575060408051601f3d908101601f191682019092526117be91810190612be6565b60015b61181e573d8080156117ef576040519150601f19603f3d011682016040523d82523d6000602084013e6117f4565b606091505b5080516000036118165760405162461bcd60e51b815260040161044d90612947565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050610ffb565b506001949350505050565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b83106118825772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef810000000083106118ae576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc1000083106118cc57662386f26fc10000830492506010015b6305f5e10083106118e4576305f5e100830492506008015b61271083106118f857612710830492506004015b6064831061190a576064830492506002015b600a831061031a5760010192915050565b6060600061192a836002612b9c565b611935906002612b67565b67ffffffffffffffff81111561194d5761194d612062565b6040519080825280601f01601f191660200182016040528015611977576020820181803683370190505b509050600360fc1b81600081518110611992576119926124d8565b60200101906001600160f81b031916908160001a905350600f60fb1b816001815181106119c1576119c16124d8565b60200101906001600160f81b031916908160001a90535060006119e5846002612b9c565b6119f0906001612b67565b90505b6001811115611a68576f181899199a1a9b1b9c1cb0b131b232b360811b85600f1660108110611a2457611a246124d8565b1a60f81b828281518110611a3a57611a3a6124d8565b60200101906001600160f81b031916908160001a90535060049490941c93611a6181612c03565b90506119f3565b508315611ab75760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e74604482015260640161044d565b9392505050565b6001600160a01b038216611b145760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f2061646472657373604482015260640161044d565b6000818152600260205260409020546001600160a01b031615611b795760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015260640161044d565b611b876000838360016116cc565b6000818152600260205260409020546001600160a01b031615611bec5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015260640161044d565b6001600160a01b038216600081815260036020908152604080832080546001019055848352600290915280822080546001600160a01b0319168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b6040805160a08101825260008082526020820152908101611c76611d49565b815260200160608152602001606081525090565b8260028101928215611cb8579160200282015b82811115611cb8578251825591602001919060010190611c9d565b50611cc4929150611d7b565b5090565b600483019183908215611d03579160200282015b82811115611d03578251611cf39083906002611c8a565b5091602001919060020190611cdc565b50611cc4929150611d90565b828054828255906000526020600020908101928215611cb85791602002820182811115611cb8578251825591602001919060010190611c9d565b6040518060600160405280611d5c611daa565b8152602001611d69611dc8565b8152602001611d76611daa565b905290565b5b80821115611cc45760008155600101611d7c565b80821115611cc45760008082556001820155600201611d90565b60405180604001604052806002906020820280368337509192915050565b60405180604001604052806002905b611ddf611daa565b815260200190600190039081611dd75790505090565b6001600160e01b031981168114610e8457600080fd5b600060208284031215611e1d57600080fd5b8135611ab781611df5565b60005b83811015611e43578181015183820152602001611e2b565b50506000910152565b60008151808452611e64816020860160208601611e28565b601f01601f19169290920160200192915050565b602081526000611ab76020830184611e4c565b600060208284031215611e9d57600080fd5b5035919050565b80356001600160a01b0381168114611ebb57600080fd5b919050565b60008060408385031215611ed357600080fd5b611edc83611ea4565b946020939093013593505050565b600080600060608486031215611eff57600080fd5b611f0884611ea4565b9250611f1660208501611ea4565b929592945050506040919091013590565b600060208284031215611f3957600080fd5b611ab782611ea4565b8060005b6002811015610a76578151845260209384019390910190600101611f46565b600081518084526020840193506020830160005b82811015611f97578151865260209586019590910190600101611f79565b5093949350505050565b602081528151602082015260018060a01b03602083015116604082015260006040830151611fd3606084018251611f42565b602081015160a0840160005b600281101561200957611ff3828451611f42565b6020929092019160409190910190600101611fdf565b5050506040015161201e610120840182611f42565b50606083015161018061016084015261203b6101a0840182611f65565b90506080840151601f19848303016101808501526120598282611e4c565b95945050505050565b634e487b7160e01b600052604160045260246000fd5b6040516060810167ffffffffffffffff8111828210171561209b5761209b612062565b60405290565b604051601f8201601f1916810167ffffffffffffffff811182821017156120ca576120ca612062565b604052919050565b600082601f8301126120e357600080fd5b6120ed60406120a1565b8060408401858111156120ff57600080fd5b845b81811015612119578035845260209384019301612101565b509095945050505050565b600082601f83011261213557600080fd5b813567ffffffffffffffff81111561214f5761214f612062565b8060051b61215f602082016120a1565b9182526020818501810192908101908684111561217b57600080fd5b6020860192505b8383101561219d578235825260209283019290910190612182565b9695505050505050565b60008067ffffffffffffffff8411156121c2576121c2612062565b50601f8301601f19166020016121d7816120a1565b9150508281528383830111156121ec57600080fd5b828260208301376000602084830101529392505050565b600082601f83011261221457600080fd5b611ab7838335602085016121a7565b60008060008060008060008789036101c081121561224057600080fd5b61224989611ea4565b97506020890135965061225e60408a01611ea4565b9550610100605f198201121561227357600080fd5b5061227c612078565b6122898a60608b016120d2565b81528960bf8a011261229a57600080fd5b60406122a5816120a1565b806101208c018d8111156122b857600080fd5b60a08d015b818110156122de576122cf8f826120d2565b845260209093019284016122bd565b508160208601526122ef8e826120d2565b84860152505050508094505061016088013567ffffffffffffffff81111561231657600080fd5b6123228a828b01612124565b93505061018088013567ffffffffffffffff81111561234057600080fd5b61234c8a828b01612203565b979a96995094979396929592945050506101a09091013590565b6000806040838503121561237957600080fd5b61238283611ea4565b91506020830135801515811461239757600080fd5b809150509250929050565b600080600080608085870312156123b857600080fd5b6123c185611ea4565b93506123cf60208601611ea4565b925060408501359150606085013567ffffffffffffffff8111156123f257600080fd5b8501601f8101871361240357600080fd5b612412878235602084016121a7565b91505092959194509250565b6000806040838503121561243157600080fd5b61243a83611ea4565b915061244860208401611ea4565b90509250929050565b600181811c9082168061246557607f821691505b60208210810361248557634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252602d908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526c1c881bdc88185c1c1c9bdd9959609a1b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b601f8211156104ee57806000526020600020601f840160051c810160208510156125155750805b601f840160051c820191505b818110156125355760008155600101612521565b5050505050565b815167ffffffffffffffff81111561255657612556612062565b61256a816125648454612451565b846124ee565b6020601f82116001811461259e57600083156125865750848201515b600019600385901b1c1916600184901b178455612535565b600084815260208120601f198516915b828110156125ce57878501518255602094850194600190920191016125ae565b50848210156125ec5786840151600019600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b600060018201612623576126236125fb565b5060010190565b6000815161263c818560208601611e28565b9290920192915050565b7f7b226e616d65223a20225a4b456d61696c50726f6f66204e465420230000000081526000825161267e81601c850160208701611e28565b7f222c226465736372697074696f6e223a2022536f756c626f756e64204e465420601c9390910192830152507f726570726573656e74696e6720612076616c6964205a4b20456d61696c207072603c8201527f6f6f6620666f7220616e206163636f756e74222c226174747269627574657322605c820152623a205b60e81b607c820152607f01919050565b7f7b202274726169745f74797065223a2022426c75657072696e74204944222c20815269113b30b63ab2911d101160b11b60208201526000865161275581602a850160208b01611e28565b6308881f4b60e21b602a91840191820152865161277981602e840160208b01611e28565b7f7b202274726169745f74797065223a20225075626c6963204f75747075747322602e92909101918201526a01610113b30b63ab2911d160ad1b604e820152602a8101906127ca906059018761262a565b62081f4b60ea1b815290507f7b202274726169745f74797065223a20224465636f646564205075626c6963206003820152734f757470757473222c202276616c7565223a207b60601b6023820152612826603782015b8661262a565b631f481f4b60e21b815290507f7b202274726169745f74797065223a20225665726966696572222c202276616c6004820152653ab2911d101160d11b6024820152612874602a82018561262a565b6422207d5d7d60d81b815260050198975050505050505050565b600083516128a0818460208801611e28565b8351908301906128b4818360208801611e28565b01949350505050565b7f646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c0000008152600082516128f581601d850160208701611e28565b91909101601d0192915050565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b7f7b202274726169745f74797065223a202250726f6f665f61222c202276616c7581526465223a205b60d81b6020820152600089516129df816025850160208e01611e28565b600b60fa1b6025918401918201526129fa602682018b61262a565b6317481f4b60e21b815290507f7b202274726169745f74797065223a202250726f6f665f62222c202276616c7560048201526565223a205b5b60d01b6024820152612a48602a82018a61262a565b600b60fa1b81529050612a5e600182018961262a565b625d2c5b60e81b81529050612a76600382018861262a565b600b60fa1b81529050612a8c600182018761262a565b641757481f4b60da1b815290507f7b202274726169745f74797065223a202250726f6f665f63222c202276616c7560058201526465223a205b60d81b6025820152612ad9602a8201612820565b600b60fa1b81529050612aef600182018561262a565b625d207d60e81b81526003019b9a5050505050505050505050565b8181038181111561031a5761031a6125fb565b60008251612b2f818460208701611e28565b600b60fa1b920191825250600101919050565b60008251612b54818460208701611e28565b605d60f81b920191825250600101919050565b8082018082111561031a5761031a6125fb565b600082612b9757634e487b7160e01b600052601260045260246000fd5b500490565b808202811582820484141761031a5761031a6125fb565b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061219d90830184611e4c565b600060208284031215612bf857600080fd5b8151611ab781611df5565b600081612c1257612c126125fb565b50600019019056fe4142434445464748494a4b4c4d4e4f505152535455565758595a6162636465666768696a6b6c6d6e6f707172737475767778797a303132333435363738392b2fa2646970667358221220a683d05e72e7c47c3dbf07fef60429bc077032aec30eed400de99f15d914769264736f6c634300081a00330000000000000000000000009401296121fc9b78f84fc856b1f8dc88f4415b2e", - "nonce": "0x1398", - "chainId": "0x14a34" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "status": "0x1", - "cumulativeGasUsed": "0x49c986", - "logs": [ - { - "address": "0x9aa776fbcdd95def1eb528e27924dab0c8a41731", - "topics": [ - "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000009401296121fc9b78f84fc856b1f8dc88f4415b2e" - ], - "data": "0x", - "blockHash": "0x0419a967b6d3ed2e8a2442c8012c5358d04968cdc7390025499f96877589c1a7", - "blockNumber": "0x119dd51", - "transactionHash": "0x72533e0358e7875712c5e611beaf214d41bab8d7043cdd0aac632ab1d10e7a48", - "transactionIndex": "0x6", - "logIndex": "0xd", - "removed": false - }, - { - "address": "0x9aa776fbcdd95def1eb528e27924dab0c8a41731", - "topics": [ - "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", - "0x0000000000000000000000009401296121fc9b78f84fc856b1f8dc88f4415b2e", - "0x0000000000000000000000009401296121fc9b78f84fc856b1f8dc88f4415b2e" - ], - "data": "0x", - "blockHash": "0x0419a967b6d3ed2e8a2442c8012c5358d04968cdc7390025499f96877589c1a7", - "blockNumber": "0x119dd51", - "transactionHash": "0x72533e0358e7875712c5e611beaf214d41bab8d7043cdd0aac632ab1d10e7a48", - "transactionIndex": "0x6", - "logIndex": "0xe", - "removed": false - } - ], - "logsBloom": "0x00000000000000000000000000000000000000000000000000800000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000020000000000000000000800000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000200000000000000000000000000000000000000000000002000000002000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000010000000000000", - "type": "0x2", - "transactionHash": "0x72533e0358e7875712c5e611beaf214d41bab8d7043cdd0aac632ab1d10e7a48", - "transactionIndex": "0x6", - "blockHash": "0x0419a967b6d3ed2e8a2442c8012c5358d04968cdc7390025499f96877589c1a7", - "blockNumber": "0x119dd51", - "gasUsed": "0x27aa1e", - "effectiveGasPrice": "0x1879c", - "from": "0x9401296121fc9b78f84fc856b1f8dc88f4415b2e", - "to": null, - "contractAddress": "0x9aa776fbcdd95def1eb528e27924dab0c8a41731", - "l1BaseFeeScalar": "0x44d", - "l1BlobBaseFee": "0x1", - "l1BlobBaseFeeScalar": "0xa118b", - "l1Fee": "0x1acc021841d", - "l1GasPrice": "0x3a150a0c6", - "l1GasUsed": "0x1a309" - } - ], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1732712857, - "chain": 84532, - "commit": "a804033" -} \ No newline at end of file diff --git a/contracts/broadcast/ZKEmailProof.s.sol/84532/run-latest.json b/contracts/broadcast/ZKEmailProof.s.sol/84532/run-latest.json deleted file mode 100644 index d9ceab3..0000000 --- a/contracts/broadcast/ZKEmailProof.s.sol/84532/run-latest.json +++ /dev/null @@ -1,85 +0,0 @@ -{ - "transactions": [ - { - "hash": "0x72533e0358e7875712c5e611beaf214d41bab8d7043cdd0aac632ab1d10e7a48", - "transactionType": "CREATE", - "contractName": "ZKEmailProof", - "contractAddress": "0x9aa776fbcdd95def1eb528e27924dab0c8a41731", - "function": null, - "arguments": [ - "0x9401296121FC9B78F84fc856B1F8dC88f4415B2e" - ], - "transaction": { - "from": "0x9401296121fc9b78f84fc856b1f8dc88f4415b2e", - "gas": "0x338c80", - "value": "0x0", - "input": "0x608060405234801561001057600080fd5b50604051612f37380380612f3783398101604081905261002f9161010b565b6040518060400160405280600c81526020016b2d25a2b6b0b4b6283937b7b360a11b8152506040518060400160405280600481526020016305a4b45560e41b815250816000908161008091906101da565b50600161008d82826101da565b5050506100a66100a16100b560201b60201c565b6100b9565b6100af816100b9565b50610298565b3390565b600680546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60006020828403121561011d57600080fd5b81516001600160a01b038116811461013457600080fd5b9392505050565b634e487b7160e01b600052604160045260246000fd5b600181811c9082168061016557607f821691505b60208210810361018557634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156101d557806000526020600020601f840160051c810160208510156101b25750805b601f840160051c820191505b818110156101d257600081556001016101be565b50505b505050565b81516001600160401b038111156101f3576101f361013b565b610207816102018454610151565b8461018b565b6020601f82116001811461023b57600083156102235750848201515b600019600385901b1c1916600184901b1784556101d2565b600084815260208120601f198516915b8281101561026b578785015182556020948501946001909201910161024b565b50848210156102895786840151600019600387901b60f8161c191681555b50505050600190811b01905550565b612c90806102a76000396000f3fe608060405234801561001057600080fd5b50600436106101375760003560e01c8063715018a6116100b8578063a22cb4651161007c578063a22cb4651461029d578063b88d4fde146102b0578063c87b56dd146102c3578063ca2dfd0a146102d6578063e985e9c5146102e9578063f2fde38b146102fc57600080fd5b8063715018a6146102565780638975c7ad1461025e5780638da5cb5b146102715780639000b3d61461028257806395d89b411461029557600080fd5b80632a50c146116100ff5780632a50c146146101cc57806342842e0e146101ec5780636352211e146101ff5780636c8244871461021257806370a082311461023557600080fd5b806301ffc9a71461013c57806306fdde0314610164578063081812fc14610179578063095ea7b3146101a457806323b872dd146101b9575b600080fd5b61014f61014a366004611e0b565b61030f565b60405190151581526020015b60405180910390f35b61016c610320565b60405161015b9190611e78565b61018c610187366004611e8b565b6103b2565b6040516001600160a01b03909116815260200161015b565b6101b76101b2366004611ec0565b6103d9565b005b6101b76101c7366004611eea565b6104f3565b6101df6101da366004611f27565b610524565b60405161015b9190611fa1565b6101b76101fa366004611eea565b61073a565b61018c61020d366004611e8b565b610755565b61014f610220366004611f27565b60076020526000908152604090205460ff1681565b610248610243366004611f27565b6107b5565b60405190815260200161015b565b6101b761083b565b6101b761026c366004612223565b61084f565b6006546001600160a01b031661018c565b6101b7610290366004611f27565b6109d3565b61016c610a26565b6101b76102ab366004612366565b610a35565b6101b76102be3660046123a2565b610a44565b61016c6102d1366004611e8b565b610a7c565b6101b76102e4366004611f27565b610d7e565b61014f6102f736600461241e565b610de0565b6101b761030a366004611f27565b610e0e565b600061031a82610e87565b92915050565b60606000805461032f90612451565b80601f016020809104026020016040519081016040528092919081815260200182805461035b90612451565b80156103a85780601f1061037d576101008083540402835291602001916103a8565b820191906000526020600020905b81548152906001019060200180831161038b57829003601f168201915b5050505050905090565b60006103bd82610ed7565b506000908152600460205260409020546001600160a01b031690565b60006103e482610755565b9050806001600160a01b0316836001600160a01b0316036104565760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084015b60405180910390fd5b336001600160a01b038216148061047257506104728133610de0565b6104e45760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000606482015260840161044d565b6104ee8383610f36565b505050565b6104fd3382610fa4565b6105195760405162461bcd60e51b815260040161044d9061248b565b6104ee838383611003565b61052c611c57565b6001600160a01b03828116600090815260096020908152604091829020825160a08082018552825482526001830154909516928101929092528251938401808452919390928401916002808501918391606083019184919082845b815481526020019060010190808311610587575050505050815260200160028201600280602002604051908101604052809291906000905b8282101561060557604080518082019182905290600284810287019182845b8154815260200190600101908083116105de575050505050815260200190600101906105bf565b50505090825250604080518082019182905260209092019190600684019060029082845b815481526020019060010190808311610629575050505050815250508152602001600a820180548060200260200160405190810160405280929190818152602001828054801561069857602002820191906000526020600020905b815481526020019060010190808311610684575b50505050508152602001600b820180546106b190612451565b80601f01602080910402602001604051908101604052809291908181526020018280546106dd90612451565b801561072a5780601f106106ff5761010080835404028352916020019161072a565b820191906000526020600020905b81548152906001019060200180831161070d57829003601f168201915b5050505050815250509050919050565b6104ee83838360405180602001604052806000815250610a44565b6000818152600260205260408120546001600160a01b03168061031a5760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b604482015260640161044d565b60006001600160a01b03821661081f5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b606482015260840161044d565b506001600160a01b031660009081526003602052604090205490565b610843611174565b61084d60006111ce565b565b3360009081526007602052604090205460ff1661087f57604051633d120d8160e11b815260040160405180910390fd5b866001600160a01b031683828151811061089b5761089b6124d8565b60200260200101516001600160a01b0316146108ca57604051637c1e81b760e11b815260040160405180910390fd5b6040805160a0810182528781526001600160a01b03878116602080840191825283850189815260608501899052608085018890528c8416600090815260099092529490208351815590516001820180546001600160a01b03191691909316179091559151805191929160028084019161094591839190611c8a565b50602082015161095b9060028084019190611cc8565b5060408201516109719060068301906002611c8a565b5050506060820151805161098f91600a840191602090910190611d0f565b506080820151600b8201906109a4908261253c565b5050600880546000925090826109b983612611565b9190505590506109c98882611220565b5050505050505050565b6109db611174565b6001600160a01b038116610a025760405163baa3de5f60e01b815260040160405180910390fd5b6001600160a01b03166000908152600760205260409020805460ff19166001179055565b60606001805461032f90612451565b610a4033838361123a565b5050565b610a4e3383610fa4565b610a6a5760405162461bcd60e51b815260040161044d9061248b565b610a7684848484611308565b50505050565b60606000610a8983610755565b6001600160a01b038181166000908152600960209081526040808320815160a0808201845282548252600183015490961693810193909352815194850180835295965092949193908401916002808501918391606083019184919082845b815481526020019060010190808311610ae7575050505050815260200160028201600280602002604051908101604052809291906000905b82821015610b6557604080518082019182905290600284810287019182845b815481526020019060010190808311610b3e57505050505081526020019060010190610b1f565b50505090825250604080518082019182905260209092019190600684019060029082845b815481526020019060010190808311610b89575050505050815250508152602001600a8201805480602002602001604051908101604052809291908181526020018280548015610bf857602002820191906000526020600020905b815481526020019060010190808311610be4575b50505050508152602001600b82018054610c1190612451565b80601f0160208091040260200160405190810160405280929190818152602001828054610c3d90612451565b8015610c8a5780601f10610c5f57610100808354040283529160200191610c8a565b820191906000526020600020905b815481529060010190602001808311610c6d57829003601f168201915b50505050508152505090506000610ca08561133b565b604051602001610cb09190612646565b60405160208183030381529060405290506000610cd0836000015161133b565b610cdd84604001516113ce565b610cea856060015161148e565b8560800151610d0587602001516001600160a01b0316611563565b604051602001610d1995949392919061270a565b6040516020818303038152906040529050610d548282604051602001610d4092919061288e565b604051602081830303815290604052611579565b604051602001610d6491906128bd565b604051602081830303815290604052945050505050919050565b610d86611174565b6001600160a01b03811660009081526007602052604090205460ff16610dbf5760405163baa3de5f60e01b815260040160405180910390fd5b6001600160a01b03166000908152600760205260409020805460ff19169055565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b610e16611174565b6001600160a01b038116610e7b5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161044d565b610e84816111ce565b50565b60006001600160e01b031982166380ac58cd60e01b1480610eb857506001600160e01b03198216635b5e139f60e01b145b8061031a57506301ffc9a760e01b6001600160e01b031983161461031a565b6000818152600260205260409020546001600160a01b0316610e845760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b604482015260640161044d565b600081815260046020526040902080546001600160a01b0319166001600160a01b0384169081179091558190610f6b82610755565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600080610fb083610755565b9050806001600160a01b0316846001600160a01b03161480610fd75750610fd78185610de0565b80610ffb5750836001600160a01b0316610ff0846103b2565b6001600160a01b0316145b949350505050565b826001600160a01b031661101682610755565b6001600160a01b03161461103c5760405162461bcd60e51b815260040161044d90612902565b6001600160a01b03821661109e5760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b606482015260840161044d565b6110ab83838360016116cc565b826001600160a01b03166110be82610755565b6001600160a01b0316146110e45760405162461bcd60e51b815260040161044d90612902565b600081815260046020908152604080832080546001600160a01b03199081169091556001600160a01b0387811680865260038552838620805460001901905590871680865283862080546001019055868652600290945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6006546001600160a01b0316331461084d5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161044d565b600680546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b610a4082826040518060200160405280600081525061170f565b816001600160a01b0316836001600160a01b03160361129b5760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015260640161044d565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b611313848484611003565b61131f84848484611742565b610a765760405162461bcd60e51b815260040161044d90612947565b6060600061134883611843565b600101905060008167ffffffffffffffff81111561136857611368612062565b6040519080825280601f01601f191660200182016040528015611392576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a850494508461139c57509392505050565b80516060906113e49060005b602002015161133b565b82516113f19060016113da565b60208401516114099060005b602002015160006113da565b60208501516114219060005b602002015160016113da565b60208601516114319060016113fd565b6020870151611441906001611415565b60408801516114519060006113da565b60408901516114619060016113da565b604051602001611478989796959493929190612999565b6040516020818303038152906040529050919050565b6040805180820190915260018152605b60f81b602082015260609060005b835181101561153a57816114d88583815181106114cb576114cb6124d8565b602002602001015161133b565b6040516020016114e992919061288e565b6040516020818303038152906040529150600184516115089190612b0a565b81101561153257816040516020016115209190612b1d565b60405160208183030381529060405291505b6001016114ac565b508060405160200161154c9190612b42565b604051602081830303815290604052915050919050565b606061031a6001600160a01b038316601461191b565b6060815160000361159857505060408051602081019091526000815290565b6000604051806060016040528060408152602001612c1b60409139905060006003845160026115c79190612b67565b6115d19190612b7a565b6115dc906004612b9c565b67ffffffffffffffff8111156115f4576115f4612062565b6040519080825280601f01601f19166020018201604052801561161e576020820181803683370190505b509050600182016020820185865187015b8082101561168a576003820191508151603f8160121c168501518453600184019350603f81600c1c168501518453600184019350603f8160061c168501518453600184019350603f811685015184535060018301925061162f565b50506003865106600181146116a657600281146116b9576116c1565b603d6001830353603d60028303536116c1565b603d60018303535b509195945050505050565b6001600160a01b038416158015906116ec57506001600160a01b03831615155b1561170a57604051631b67d22160e01b815260040160405180910390fd5b610a76565b6117198383611abe565b6117266000848484611742565b6104ee5760405162461bcd60e51b815260040161044d90612947565b60006001600160a01b0384163b1561183857604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290611786903390899088908890600401612bb3565b6020604051808303816000875af19250505080156117c1575060408051601f3d908101601f191682019092526117be91810190612be6565b60015b61181e573d8080156117ef576040519150601f19603f3d011682016040523d82523d6000602084013e6117f4565b606091505b5080516000036118165760405162461bcd60e51b815260040161044d90612947565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050610ffb565b506001949350505050565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b83106118825772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef810000000083106118ae576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc1000083106118cc57662386f26fc10000830492506010015b6305f5e10083106118e4576305f5e100830492506008015b61271083106118f857612710830492506004015b6064831061190a576064830492506002015b600a831061031a5760010192915050565b6060600061192a836002612b9c565b611935906002612b67565b67ffffffffffffffff81111561194d5761194d612062565b6040519080825280601f01601f191660200182016040528015611977576020820181803683370190505b509050600360fc1b81600081518110611992576119926124d8565b60200101906001600160f81b031916908160001a905350600f60fb1b816001815181106119c1576119c16124d8565b60200101906001600160f81b031916908160001a90535060006119e5846002612b9c565b6119f0906001612b67565b90505b6001811115611a68576f181899199a1a9b1b9c1cb0b131b232b360811b85600f1660108110611a2457611a246124d8565b1a60f81b828281518110611a3a57611a3a6124d8565b60200101906001600160f81b031916908160001a90535060049490941c93611a6181612c03565b90506119f3565b508315611ab75760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e74604482015260640161044d565b9392505050565b6001600160a01b038216611b145760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f2061646472657373604482015260640161044d565b6000818152600260205260409020546001600160a01b031615611b795760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015260640161044d565b611b876000838360016116cc565b6000818152600260205260409020546001600160a01b031615611bec5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015260640161044d565b6001600160a01b038216600081815260036020908152604080832080546001019055848352600290915280822080546001600160a01b0319168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b6040805160a08101825260008082526020820152908101611c76611d49565b815260200160608152602001606081525090565b8260028101928215611cb8579160200282015b82811115611cb8578251825591602001919060010190611c9d565b50611cc4929150611d7b565b5090565b600483019183908215611d03579160200282015b82811115611d03578251611cf39083906002611c8a565b5091602001919060020190611cdc565b50611cc4929150611d90565b828054828255906000526020600020908101928215611cb85791602002820182811115611cb8578251825591602001919060010190611c9d565b6040518060600160405280611d5c611daa565b8152602001611d69611dc8565b8152602001611d76611daa565b905290565b5b80821115611cc45760008155600101611d7c565b80821115611cc45760008082556001820155600201611d90565b60405180604001604052806002906020820280368337509192915050565b60405180604001604052806002905b611ddf611daa565b815260200190600190039081611dd75790505090565b6001600160e01b031981168114610e8457600080fd5b600060208284031215611e1d57600080fd5b8135611ab781611df5565b60005b83811015611e43578181015183820152602001611e2b565b50506000910152565b60008151808452611e64816020860160208601611e28565b601f01601f19169290920160200192915050565b602081526000611ab76020830184611e4c565b600060208284031215611e9d57600080fd5b5035919050565b80356001600160a01b0381168114611ebb57600080fd5b919050565b60008060408385031215611ed357600080fd5b611edc83611ea4565b946020939093013593505050565b600080600060608486031215611eff57600080fd5b611f0884611ea4565b9250611f1660208501611ea4565b929592945050506040919091013590565b600060208284031215611f3957600080fd5b611ab782611ea4565b8060005b6002811015610a76578151845260209384019390910190600101611f46565b600081518084526020840193506020830160005b82811015611f97578151865260209586019590910190600101611f79565b5093949350505050565b602081528151602082015260018060a01b03602083015116604082015260006040830151611fd3606084018251611f42565b602081015160a0840160005b600281101561200957611ff3828451611f42565b6020929092019160409190910190600101611fdf565b5050506040015161201e610120840182611f42565b50606083015161018061016084015261203b6101a0840182611f65565b90506080840151601f19848303016101808501526120598282611e4c565b95945050505050565b634e487b7160e01b600052604160045260246000fd5b6040516060810167ffffffffffffffff8111828210171561209b5761209b612062565b60405290565b604051601f8201601f1916810167ffffffffffffffff811182821017156120ca576120ca612062565b604052919050565b600082601f8301126120e357600080fd5b6120ed60406120a1565b8060408401858111156120ff57600080fd5b845b81811015612119578035845260209384019301612101565b509095945050505050565b600082601f83011261213557600080fd5b813567ffffffffffffffff81111561214f5761214f612062565b8060051b61215f602082016120a1565b9182526020818501810192908101908684111561217b57600080fd5b6020860192505b8383101561219d578235825260209283019290910190612182565b9695505050505050565b60008067ffffffffffffffff8411156121c2576121c2612062565b50601f8301601f19166020016121d7816120a1565b9150508281528383830111156121ec57600080fd5b828260208301376000602084830101529392505050565b600082601f83011261221457600080fd5b611ab7838335602085016121a7565b60008060008060008060008789036101c081121561224057600080fd5b61224989611ea4565b97506020890135965061225e60408a01611ea4565b9550610100605f198201121561227357600080fd5b5061227c612078565b6122898a60608b016120d2565b81528960bf8a011261229a57600080fd5b60406122a5816120a1565b806101208c018d8111156122b857600080fd5b60a08d015b818110156122de576122cf8f826120d2565b845260209093019284016122bd565b508160208601526122ef8e826120d2565b84860152505050508094505061016088013567ffffffffffffffff81111561231657600080fd5b6123228a828b01612124565b93505061018088013567ffffffffffffffff81111561234057600080fd5b61234c8a828b01612203565b979a96995094979396929592945050506101a09091013590565b6000806040838503121561237957600080fd5b61238283611ea4565b91506020830135801515811461239757600080fd5b809150509250929050565b600080600080608085870312156123b857600080fd5b6123c185611ea4565b93506123cf60208601611ea4565b925060408501359150606085013567ffffffffffffffff8111156123f257600080fd5b8501601f8101871361240357600080fd5b612412878235602084016121a7565b91505092959194509250565b6000806040838503121561243157600080fd5b61243a83611ea4565b915061244860208401611ea4565b90509250929050565b600181811c9082168061246557607f821691505b60208210810361248557634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252602d908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526c1c881bdc88185c1c1c9bdd9959609a1b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b601f8211156104ee57806000526020600020601f840160051c810160208510156125155750805b601f840160051c820191505b818110156125355760008155600101612521565b5050505050565b815167ffffffffffffffff81111561255657612556612062565b61256a816125648454612451565b846124ee565b6020601f82116001811461259e57600083156125865750848201515b600019600385901b1c1916600184901b178455612535565b600084815260208120601f198516915b828110156125ce57878501518255602094850194600190920191016125ae565b50848210156125ec5786840151600019600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b600060018201612623576126236125fb565b5060010190565b6000815161263c818560208601611e28565b9290920192915050565b7f7b226e616d65223a20225a4b456d61696c50726f6f66204e465420230000000081526000825161267e81601c850160208701611e28565b7f222c226465736372697074696f6e223a2022536f756c626f756e64204e465420601c9390910192830152507f726570726573656e74696e6720612076616c6964205a4b20456d61696c207072603c8201527f6f6f6620666f7220616e206163636f756e74222c226174747269627574657322605c820152623a205b60e81b607c820152607f01919050565b7f7b202274726169745f74797065223a2022426c75657072696e74204944222c20815269113b30b63ab2911d101160b11b60208201526000865161275581602a850160208b01611e28565b6308881f4b60e21b602a91840191820152865161277981602e840160208b01611e28565b7f7b202274726169745f74797065223a20225075626c6963204f75747075747322602e92909101918201526a01610113b30b63ab2911d160ad1b604e820152602a8101906127ca906059018761262a565b62081f4b60ea1b815290507f7b202274726169745f74797065223a20224465636f646564205075626c6963206003820152734f757470757473222c202276616c7565223a207b60601b6023820152612826603782015b8661262a565b631f481f4b60e21b815290507f7b202274726169745f74797065223a20225665726966696572222c202276616c6004820152653ab2911d101160d11b6024820152612874602a82018561262a565b6422207d5d7d60d81b815260050198975050505050505050565b600083516128a0818460208801611e28565b8351908301906128b4818360208801611e28565b01949350505050565b7f646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c0000008152600082516128f581601d850160208701611e28565b91909101601d0192915050565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b7f7b202274726169745f74797065223a202250726f6f665f61222c202276616c7581526465223a205b60d81b6020820152600089516129df816025850160208e01611e28565b600b60fa1b6025918401918201526129fa602682018b61262a565b6317481f4b60e21b815290507f7b202274726169745f74797065223a202250726f6f665f62222c202276616c7560048201526565223a205b5b60d01b6024820152612a48602a82018a61262a565b600b60fa1b81529050612a5e600182018961262a565b625d2c5b60e81b81529050612a76600382018861262a565b600b60fa1b81529050612a8c600182018761262a565b641757481f4b60da1b815290507f7b202274726169745f74797065223a202250726f6f665f63222c202276616c7560058201526465223a205b60d81b6025820152612ad9602a8201612820565b600b60fa1b81529050612aef600182018561262a565b625d207d60e81b81526003019b9a5050505050505050505050565b8181038181111561031a5761031a6125fb565b60008251612b2f818460208701611e28565b600b60fa1b920191825250600101919050565b60008251612b54818460208701611e28565b605d60f81b920191825250600101919050565b8082018082111561031a5761031a6125fb565b600082612b9757634e487b7160e01b600052601260045260246000fd5b500490565b808202811582820484141761031a5761031a6125fb565b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061219d90830184611e4c565b600060208284031215612bf857600080fd5b8151611ab781611df5565b600081612c1257612c126125fb565b50600019019056fe4142434445464748494a4b4c4d4e4f505152535455565758595a6162636465666768696a6b6c6d6e6f707172737475767778797a303132333435363738392b2fa2646970667358221220a683d05e72e7c47c3dbf07fef60429bc077032aec30eed400de99f15d914769264736f6c634300081a00330000000000000000000000009401296121fc9b78f84fc856b1f8dc88f4415b2e", - "nonce": "0x1398", - "chainId": "0x14a34" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "status": "0x1", - "cumulativeGasUsed": "0x49c986", - "logs": [ - { - "address": "0x9aa776fbcdd95def1eb528e27924dab0c8a41731", - "topics": [ - "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000009401296121fc9b78f84fc856b1f8dc88f4415b2e" - ], - "data": "0x", - "blockHash": "0x0419a967b6d3ed2e8a2442c8012c5358d04968cdc7390025499f96877589c1a7", - "blockNumber": "0x119dd51", - "transactionHash": "0x72533e0358e7875712c5e611beaf214d41bab8d7043cdd0aac632ab1d10e7a48", - "transactionIndex": "0x6", - "logIndex": "0xd", - "removed": false - }, - { - "address": "0x9aa776fbcdd95def1eb528e27924dab0c8a41731", - "topics": [ - "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", - "0x0000000000000000000000009401296121fc9b78f84fc856b1f8dc88f4415b2e", - "0x0000000000000000000000009401296121fc9b78f84fc856b1f8dc88f4415b2e" - ], - "data": "0x", - "blockHash": "0x0419a967b6d3ed2e8a2442c8012c5358d04968cdc7390025499f96877589c1a7", - "blockNumber": "0x119dd51", - "transactionHash": "0x72533e0358e7875712c5e611beaf214d41bab8d7043cdd0aac632ab1d10e7a48", - "transactionIndex": "0x6", - "logIndex": "0xe", - "removed": false - } - ], - "logsBloom": "0x00000000000000000000000000000000000000000000000000800000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000020000000000000000000800000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000200000000000000000000000000000000000000000000002000000002000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000010000000000000", - "type": "0x2", - "transactionHash": "0x72533e0358e7875712c5e611beaf214d41bab8d7043cdd0aac632ab1d10e7a48", - "transactionIndex": "0x6", - "blockHash": "0x0419a967b6d3ed2e8a2442c8012c5358d04968cdc7390025499f96877589c1a7", - "blockNumber": "0x119dd51", - "gasUsed": "0x27aa1e", - "effectiveGasPrice": "0x1879c", - "from": "0x9401296121fc9b78f84fc856b1f8dc88f4415b2e", - "to": null, - "contractAddress": "0x9aa776fbcdd95def1eb528e27924dab0c8a41731", - "l1BaseFeeScalar": "0x44d", - "l1BlobBaseFee": "0x1", - "l1BlobBaseFeeScalar": "0xa118b", - "l1Fee": "0x1acc021841d", - "l1GasPrice": "0x3a150a0c6", - "l1GasUsed": "0x1a309" - } - ], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1732712857, - "chain": 84532, - "commit": "a804033" -} \ No newline at end of file diff --git a/contracts/lib/forge-std b/contracts/lib/forge-std deleted file mode 160000 index 1eea5ba..0000000 --- a/contracts/lib/forge-std +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 1eea5bae12ae557d589f9f0f0edae2faa47cb262 diff --git a/contracts/lib/openzeppelin-contracts b/contracts/lib/openzeppelin-contracts deleted file mode 160000 index 54b3f14..0000000 --- a/contracts/lib/openzeppelin-contracts +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 54b3f14346da01ba0d159114b399197fea8b7cda diff --git a/lib/openzeppelin-contracts b/lib/openzeppelin-contracts deleted file mode 160000 index 54b3f14..0000000 --- a/lib/openzeppelin-contracts +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 54b3f14346da01ba0d159114b399197fea8b7cda