From a92a00b56ff9ec7492da038f383853c91808395e Mon Sep 17 00:00:00 2001 From: garyghayrat Date: Tue, 5 Mar 2024 15:29:32 -0500 Subject: [PATCH 1/2] Update salt and license --- LICENSE | 143 ++++++++++++++++++++++----- script/Deploy.s.sol | 13 +-- src/ERC5564Announcer.sol | 2 +- src/ERC6538Registry.sol | 2 +- src/interfaces/IERC5564Announcer.sol | 2 +- src/interfaces/IERC6538Registry.sol | 8 +- test/Deploy.t.sol | 6 +- test/ERC5564Announcer.t.sol | 2 +- test/ERC6538Registry.t.sol | 2 +- 9 files changed, 140 insertions(+), 40 deletions(-) diff --git a/LICENSE b/LICENSE index 46d27a5..cb9b058 100644 --- a/LICENSE +++ b/LICENSE @@ -1,22 +1,121 @@ -The MIT License (MIT) - -Copyright (c) 2024 ScopeLift - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +Creative Commons Legal Code + +CC0 1.0 Universal + + CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE + LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN + ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS + INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES + REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS + PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM + THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED + HEREUNDER. + +Statement of Purpose + +The laws of most jurisdictions throughout the world automatically confer +exclusive Copyright and Related Rights (defined below) upon the creator +and subsequent owner(s) (each and all, an "owner") of an original work of +authorship and/or a database (each, a "Work"). + +Certain owners wish to permanently relinquish those rights to a Work for +the purpose of contributing to a commons of creative, cultural and +scientific works ("Commons") that the public can reliably and without fear +of later claims of infringement build upon, modify, incorporate in other +works, reuse and redistribute as freely as possible in any form whatsoever +and for any purposes, including without limitation commercial purposes. +These owners may contribute to the Commons to promote the ideal of a free +culture and the further production of creative, cultural and scientific +works, or to gain reputation or greater distribution for their Work in +part through the use and efforts of others. + +For these and/or other purposes and motivations, and without any +expectation of additional consideration or compensation, the person +associating CC0 with a Work (the "Affirmer"), to the extent that he or she +is an owner of Copyright and Related Rights in the Work, voluntarily +elects to apply CC0 to the Work and publicly distribute the Work under its +terms, with knowledge of his or her Copyright and Related Rights in the +Work and the meaning and intended legal effect of CC0 on those rights. + +1. Copyright and Related Rights. A Work made available under CC0 may be + protected by copyright and related or neighboring rights ("Copyright and + Related Rights"). Copyright and Related Rights include, but are not + limited to, the following: + +i. the right to reproduce, adapt, distribute, perform, display, +communicate, and translate a Work; +ii. moral rights retained by the original author(s) and/or performer(s); +iii. publicity and privacy rights pertaining to a person's image or +likeness depicted in a Work; +iv. rights protecting against unfair competition in regards to a Work, +subject to the limitations in paragraph 4(a), below; +v. rights protecting the extraction, dissemination, use and reuse of data +in a Work; +vi. database rights (such as those arising under Directive 96/9/EC of the +European Parliament and of the Council of 11 March 1996 on the legal +protection of databases, and under any national implementation +thereof, including any amended or successor version of such +directive); and +vii. other similar, equivalent or corresponding rights throughout the +world based on applicable law or treaty, and any national +implementations thereof. + +2. Waiver. To the greatest extent permitted by, but not in contravention + of, applicable law, Affirmer hereby overtly, fully, permanently, + irrevocably and unconditionally waives, abandons, and surrenders all of + Affirmer's Copyright and Related Rights and associated claims and causes + of action, whether now known or unknown (including existing as well as + future claims and causes of action), in the Work (i) in all territories + worldwide, (ii) for the maximum duration provided by applicable law or + treaty (including future time extensions), (iii) in any current or future + medium and for any number of copies, and (iv) for any purpose whatsoever, + including without limitation commercial, advertising or promotional + purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each + member of the public at large and to the detriment of Affirmer's heirs and + successors, fully intending that such Waiver shall not be subject to + revocation, rescission, cancellation, termination, or any other legal or + equitable action to disrupt the quiet enjoyment of the Work by the public + as contemplated by Affirmer's express Statement of Purpose. + +3. Public License Fallback. Should any part of the Waiver for any reason + be judged legally invalid or ineffective under applicable law, then the + Waiver shall be preserved to the maximum extent permitted taking into + account Affirmer's express Statement of Purpose. In addition, to the + extent the Waiver is so judged Affirmer hereby grants to each affected + person a royalty-free, non transferable, non sublicensable, non exclusive, + irrevocable and unconditional license to exercise Affirmer's Copyright and + Related Rights in the Work (i) in all territories worldwide, (ii) for the + maximum duration provided by applicable law or treaty (including future + time extensions), (iii) in any current or future medium and for any number + of copies, and (iv) for any purpose whatsoever, including without + limitation commercial, advertising or promotional purposes (the + "License"). The License shall be deemed effective as of the date CC0 was + applied by Affirmer to the Work. Should any part of the License for any + reason be judged legally invalid or ineffective under applicable law, such + partial invalidity or ineffectiveness shall not invalidate the remainder + of the License, and in such case Affirmer hereby affirms that he or she + will not (i) exercise any of his or her remaining Copyright and Related + Rights in the Work or (ii) assert any associated claims and causes of + action with respect to the Work, in either case contrary to Affirmer's + express Statement of Purpose. + +4. Limitations and Disclaimers. + +a. No trademark or patent rights held by Affirmer are waived, abandoned, +surrendered, licensed or otherwise affected by this document. +b. Affirmer offers the Work as-is and makes no representations or +warranties of any kind concerning the Work, express, implied, +statutory or otherwise, including without limitation warranties of +title, merchantability, fitness for a particular purpose, non +infringement, or the absence of latent or other defects, accuracy, or +the present or absence of errors, whether or not discoverable, all to +the greatest extent permissible under applicable law. +c. Affirmer disclaims responsibility for clearing rights of other persons +that may apply to the Work or any use thereof, including without +limitation any person's Copyright and Related Rights in the Work. +Further, Affirmer disclaims responsibility for obtaining any necessary +consents, permissions or other rights required for any use of the +Work. +d. Affirmer understands and acknowledges that Creative Commons is not a +party to this document and has no duty or obligation with respect to +this CC0 or use of the Work. diff --git a/script/Deploy.s.sol b/script/Deploy.s.sol index bdab950..7dd2eee 100644 --- a/script/Deploy.s.sol +++ b/script/Deploy.s.sol @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: MIT +// SPDX-License-Identifier: CC0-1.0 // slither-disable-start reentrancy-benign pragma solidity 0.8.23; @@ -11,21 +11,22 @@ contract Deploy is Script { ERC5564Announcer announcer; ERC6538Registry registry; address deployer = 0x4e59b44847b379578588920cA78FbF26c0B4956C; - bytes32 salt = ""; + bytes32 ERC5564Salt = 0xd0103a290d760f027c9ca72675f5121d725397fb2f618f05b6c44958b25b4447; + bytes32 ERC6538Salt = 0x0883790c70e6bce521db2517ae9873b2627580f5945fb2026117ab9d15ba9387; function run() public { bytes memory ERC5564CreationCode = abi.encodePacked(type(ERC5564Announcer).creationCode); bytes memory ERC6538CreationCode = abi.encodePacked(type(ERC6538Registry).creationCode); address ERC5564ComputedAddress = - computeCreate2Address(salt, keccak256(ERC5564CreationCode), deployer); + computeCreate2Address(ERC5564Salt, keccak256(ERC5564CreationCode), deployer); address ERC6538ComputedAddress = - computeCreate2Address(salt, keccak256(ERC6538CreationCode), deployer); + computeCreate2Address(ERC6538Salt, keccak256(ERC6538CreationCode), deployer); vm.broadcast(); - announcer = new ERC5564Announcer{salt: salt}(); + announcer = new ERC5564Announcer{salt: ERC5564Salt}(); vm.broadcast(); - registry = new ERC6538Registry{salt: salt}(); + registry = new ERC6538Registry{salt: ERC6538Salt}(); require(address(announcer) == ERC5564ComputedAddress, "announce address mismatch"); require(address(registry) == ERC6538ComputedAddress, "registry address mismatch"); diff --git a/src/ERC5564Announcer.sol b/src/ERC5564Announcer.sol index c0f0aa1..9a9a26c 100644 --- a/src/ERC5564Announcer.sol +++ b/src/ERC5564Announcer.sol @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: MIT +// SPDX-License-Identifier: CC0-1.0 pragma solidity 0.8.23; /// @notice `ERC5564Announcer` contract to emit an `Announcement` event to broadcast information diff --git a/src/ERC6538Registry.sol b/src/ERC6538Registry.sol index ca1d79b..fc0a8b1 100644 --- a/src/ERC6538Registry.sol +++ b/src/ERC6538Registry.sol @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: MIT +// SPDX-License-Identifier: CC0-1.0 pragma solidity 0.8.23; /// @notice `ERC6538Registry` contract to map accounts to their stealth meta-address. See diff --git a/src/interfaces/IERC5564Announcer.sol b/src/interfaces/IERC5564Announcer.sol index a47c132..77de454 100644 --- a/src/interfaces/IERC5564Announcer.sol +++ b/src/interfaces/IERC5564Announcer.sol @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: MIT +// SPDX-License-Identifier: CC0-1.0 pragma solidity 0.8.23; /// @notice Interface for calling the `ERC5564Announcer` contract, which emits an `Announcement` diff --git a/src/interfaces/IERC6538Registry.sol b/src/interfaces/IERC6538Registry.sol index a5928eb..3b523bd 100644 --- a/src/interfaces/IERC6538Registry.sol +++ b/src/interfaces/IERC6538Registry.sol @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: MIT +// SPDX-License-Identifier: CC0-1.0 pragma solidity 0.8.23; /// @dev Interface for calling the `ERC6538Registry` contract to map accounts to their stealth @@ -9,7 +9,7 @@ interface IERC6538Registry { /// @dev Emitted when a registrant updates their stealth meta-address. /// @param registrant The account that registered the stealth meta-address. - /// @param schemeId Identifier corresponding to the applied stealth address scheme, e.g. 0 for + /// @param schemeId Identifier corresponding to the applied stealth address scheme, e.g. 1 for /// secp256k1, as specified in ERC-5564. /// @param stealthMetaAddress The stealth meta-address. /// [ERC-5564](https://eips.ethereum.org/EIPS/eip-5564) bases the format for stealth @@ -28,14 +28,14 @@ interface IERC6538Registry { event NonceIncremented(address indexed registrant, uint256 newNonce); /// @notice Sets the caller's stealth meta-address for the given scheme ID. - /// @param schemeId Identifier corresponding to the applied stealth address scheme, e.g. 0 for + /// @param schemeId Identifier corresponding to the applied stealth address scheme, e.g. 1 for /// secp256k1, as specified in ERC-5564. /// @param stealthMetaAddress The stealth meta-address to register. function registerKeys(uint256 schemeId, bytes calldata stealthMetaAddress) external; /// @notice Sets the `registrant`'s stealth meta-address for the given scheme ID. /// @param registrant Address of the registrant. - /// @param schemeId Identifier corresponding to the applied stealth address scheme, e.g. 0 for + /// @param schemeId Identifier corresponding to the applied stealth address scheme, e.g. 1 for /// secp256k1, as specified in ERC-5564. /// @param signature A signature from the `registrant` authorizing the registration. /// @param stealthMetaAddress The stealth meta-address to register. diff --git a/test/Deploy.t.sol b/test/Deploy.t.sol index 8e7f39b..3cc76bb 100644 --- a/test/Deploy.t.sol +++ b/test/Deploy.t.sol @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: MIT +// SPDX-License-Identifier: CC0-1.0 pragma solidity 0.8.23; import {Deploy} from "script/Deploy.s.sol"; @@ -20,9 +20,9 @@ contract DeployTest is Test, Deploy { bytes memory erc6538CreationCode = abi.encodePacked(type(ERC6538Registry).creationCode); address erc5564ComputedAddress = - computeCreate2Address(salt, keccak256(erc5564CreationCode), deployer); + computeCreate2Address(ERC5564Salt, keccak256(erc5564CreationCode), deployer); address erc6538ComputedAddress = - computeCreate2Address(salt, keccak256(erc6538CreationCode), deployer); + computeCreate2Address(ERC6538Salt, keccak256(erc6538CreationCode), deployer); require(erc5564ComputedAddress.code.length == 0); require(erc6538ComputedAddress.code.length == 0); diff --git a/test/ERC5564Announcer.t.sol b/test/ERC5564Announcer.t.sol index d5e3afc..d7cba7d 100644 --- a/test/ERC5564Announcer.t.sol +++ b/test/ERC5564Announcer.t.sol @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: MIT +// SPDX-License-Identifier: CC0-1.0 pragma solidity 0.8.23; import {Test} from "forge-std/Test.sol"; diff --git a/test/ERC6538Registry.t.sol b/test/ERC6538Registry.t.sol index 1c725cd..81abcc3 100644 --- a/test/ERC6538Registry.t.sol +++ b/test/ERC6538Registry.t.sol @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: MIT +// SPDX-License-Identifier: CC0-1.0 pragma solidity 0.8.23; import {Test} from "forge-std/Test.sol"; From 31e7a6b67f54346c11ac503be7554aa8bde947aa Mon Sep 17 00:00:00 2001 From: garyghayrat Date: Thu, 14 Mar 2024 23:15:35 -0400 Subject: [PATCH 2/2] Add broadcast receipts --- .../Deploy.s.sol/11155111/run-1710450833.json | 85 +++++++++++++++++++ .../Deploy.s.sol/11155111/run-latest.json | 85 +++++++++++++++++++ 2 files changed, 170 insertions(+) create mode 100644 broadcast/Deploy.s.sol/11155111/run-1710450833.json create mode 100644 broadcast/Deploy.s.sol/11155111/run-latest.json diff --git a/broadcast/Deploy.s.sol/11155111/run-1710450833.json b/broadcast/Deploy.s.sol/11155111/run-1710450833.json new file mode 100644 index 0000000..2334586 --- /dev/null +++ b/broadcast/Deploy.s.sol/11155111/run-1710450833.json @@ -0,0 +1,85 @@ +{ + "transactions": [ + { + "hash": "0xf3056101aea3d66c5c2353a1ae187f1b45f3b14597d4ba3ec5f442f2073db0ba", + "transactionType": "CREATE2", + "contractName": "ERC5564Announcer", + "contractAddress": "0x55649E01B5Df198D18D95b5cc5051630cfD45564", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x3f3c8db1487469e8091cb210e9cf16d0af0de6fc", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x45c74", + "value": "0x0", + "data": "0xd0103a290d760f027c9ca72675f5121d725397fb2f618f05b6c44958b25b4447608060405234801561001057600080fd5b506102c5806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c80634d1f958314610030575b600080fd5b61004361003e36600461018d565b610045565b005b3373ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16857f5f0eab8057630ba7676c49b4f21a0231414e79474595be8e4c432fbf6bf0f4e785856040516100a592919061028a565b60405180910390a450505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f8301126100f357600080fd5b813567ffffffffffffffff8082111561010e5761010e6100b3565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908282118183101715610154576101546100b3565b8160405283815286602085880101111561016d57600080fd5b836020870160208301376000602085830101528094505050505092915050565b600080600080608085870312156101a357600080fd5b84359350602085013573ffffffffffffffffffffffffffffffffffffffff811681146101ce57600080fd5b9250604085013567ffffffffffffffff808211156101eb57600080fd5b6101f7888389016100e2565b9350606087013591508082111561020d57600080fd5b5061021a878288016100e2565b91505092959194509250565b6000815180845260005b8181101561024c57602081850181015186830182015201610230565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b60408152600061029d6040830185610226565b82810360208401526102af8185610226565b9594505050505056fea164736f6c6343000817000a", + "nonce": "0x29", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x36b2f1faba9c7f0f49b36f6c39cb35de3a854e19591e4c7157d4bac5bbab0d05", + "transactionType": "CREATE2", + "contractName": "ERC6538Registry", + "contractAddress": "0x65385Cebb86e6742F29868BDdE0D1980060a6538", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x3f3c8db1487469e8091cb210e9cf16d0af0de6fc", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x106f36", + "value": "0x0", + "data": "0x0883790c70e6bce521db2517ae9873b2627580f5945fb2026117ab9d15ba938760c060405234801561001057600080fd5b50466080526100bd604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f6124ff9f656d31cbb8918f3698282fe3b3527cc4dede357f0fbf535d197bbb7f918101919091527fe6bbd6277e1bf288eed5e8d1780f9a50b239e86b153736bceebccf4ea79d90b360608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b60a05260805160a051610c526100e56000396000610287015260006101b20152610c526000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c8063627cdcb91161005b578063627cdcb9146100c55780637aa8b5ad146100cd578063ed2a2d64146100ed578063fe04b1061461010d57600080fd5b8063042c7aa3146100825780633644e51514610097578063428d3d0b146100b2575b600080fd5b610095610090366004610718565b610134565b005b61009f6101ae565b6040519081526020015b60405180910390f35b6100956100c03660046107bc565b6102a9565b6100956105df565b6100e06100db3660046108d1565b61062d565b6040516100a9919061095f565b61009f6100fb366004610979565b60016020526000908152604090205481565b61009f7fad167d3025c204a322703b7e9c41f6179d0d174570f484391f50080b960d41d681565b336000908152602081815260408083208684529091529020610157828483610a38565b50823373ffffffffffffffffffffffffffffffffffffffff167f4e739a47dfa4fd3cfa92f8fe760cebe125565927e5c422cb28e7aa388a067af984846040516101a1929190610b9c565b60405180910390a3505050565b60007f000000000000000000000000000000000000000000000000000000000000000046146102845761027f604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f6124ff9f656d31cbb8918f3698282fe3b3527cc4dede357f0fbf535d197bbb7f918101919091527fe6bbd6277e1bf288eed5e8d1780f9a50b239e86b153736bceebccf4ea79d90b360608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b905090565b507f000000000000000000000000000000000000000000000000000000000000000090565b6000806102b46101ae565b73ffffffffffffffffffffffffffffffffffffffff8816600090815260016020818152604092839020805492830190559151610319927fad167d3025c204a322703b7e9c41f6179d0d174570f484391f50080b960d41d6928b928a928a929101610bb8565b604051602081830303815290604052805190602001206040516020016103719291907f190100000000000000000000000000000000000000000000000000000000000081526002810192909252602282015260420190565b6040516020818303038152906040528051906020012091508451604103610402576020858101516040808801516060808a015183516000808252968101808652899052951a928501839052840183905260808401819052919260019060a0016020604051602081039080840390855afa1580156103f2573d6000803e3d6000fd5b5050506020604051035193505050505b73ffffffffffffffffffffffffffffffffffffffff8116158061045157508673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b801561051457506040517f1626ba7e000000000000000000000000000000000000000000000000000000008082529073ffffffffffffffffffffffffffffffffffffffff891690631626ba7e906104ae9086908a90600401610bea565b602060405180830381865afa1580156104cb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104ef9190610c03565b7fffffffff000000000000000000000000000000000000000000000000000000001614155b1561054b576040517fc5c2e66100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff87166000908152602081815260408083208984529091529020610584848683610a38565b50858773ffffffffffffffffffffffffffffffffffffffff167f4e739a47dfa4fd3cfa92f8fe760cebe125565927e5c422cb28e7aa388a067af986866040516105ce929190610b9c565b60405180910390a350505050505050565b3360008181526001602081815260409283902080549092019182905591519081527fa82a649bbd060c9099cd7b7326e2b0dc9e9af0836480e0f849dc9eaa79710b3b910160405180910390a2565b60006020818152928152604080822090935290815220805461064e90610994565b80601f016020809104026020016040519081016040528092919081815260200182805461067a90610994565b80156106c75780601f1061069c576101008083540402835291602001916106c7565b820191906000526020600020905b8154815290600101906020018083116106aa57829003601f168201915b505050505081565b60008083601f8401126106e157600080fd5b50813567ffffffffffffffff8111156106f957600080fd5b60208301915083602082850101111561071157600080fd5b9250929050565b60008060006040848603121561072d57600080fd5b83359250602084013567ffffffffffffffff81111561074b57600080fd5b610757868287016106cf565b9497909650939450505050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461078857600080fd5b919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000806000806000608086880312156107d457600080fd5b6107dd86610764565b945060208601359350604086013567ffffffffffffffff8082111561080157600080fd5b818801915088601f83011261081557600080fd5b8135818111156108275761082761078d565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190838211818310171561086d5761086d61078d565b816040528281528b602084870101111561088657600080fd5b8260208601602083013760006020848301015280975050505060608801359150808211156108b357600080fd5b506108c0888289016106cf565b969995985093965092949392505050565b600080604083850312156108e457600080fd5b6108ed83610764565b946020939093013593505050565b6000815180845260005b8181101561092157602081850181015186830182015201610905565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b60208152600061097260208301846108fb565b9392505050565b60006020828403121561098b57600080fd5b61097282610764565b600181811c908216806109a857607f821691505b6020821081036109e1577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b601f821115610a33576000816000526020600020601f850160051c81016020861015610a105750805b601f850160051c820191505b81811015610a2f57828155600101610a1c565b5050505b505050565b67ffffffffffffffff831115610a5057610a5061078d565b610a6483610a5e8354610994565b836109e7565b6000601f841160018114610ab65760008515610a805750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b178355610b4c565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b82811015610b055786850135825560209485019460019092019101610ae5565b5086821015610b40577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b602081526000610bb0602083018486610b53565b949350505050565b858152846020820152608060408201526000610bd8608083018587610b53565b90508260608301529695505050505050565b828152604060208201526000610bb060408301846108fb565b600060208284031215610c1557600080fd5b81517fffffffff000000000000000000000000000000000000000000000000000000008116811461097257600080fdfea164736f6c6343000817000a", + "nonce": "0x2a", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0xf3056101aea3d66c5c2353a1ae187f1b45f3b14597d4ba3ec5f442f2073db0ba", + "transactionIndex": "0x6", + "blockHash": "0x2875408c06a917a5ed9c0c60343389f24c5271f7822a37496ca500a02621b445", + "blockNumber": "0x53b805", + "from": "0x3f3c8dB1487469E8091cb210e9cf16D0Af0dE6FC", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0xafc06", + "gasUsed": "0x3287c", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xf4a63aab" + }, + { + "transactionHash": "0x36b2f1faba9c7f0f49b36f6c39cb35de3a854e19591e4c7157d4bac5bbab0d05", + "transactionIndex": "0x7", + "blockHash": "0x2875408c06a917a5ed9c0c60343389f24c5271f7822a37496ca500a02621b445", + "blockNumber": "0x53b805", + "from": "0x3f3c8dB1487469E8091cb210e9cf16D0Af0dE6FC", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x163994", + "gasUsed": "0xb3d8e", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xf4a63aab" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1710450833, + "chain": 11155111, + "multi": false, + "commit": "a92a00b" +} \ No newline at end of file diff --git a/broadcast/Deploy.s.sol/11155111/run-latest.json b/broadcast/Deploy.s.sol/11155111/run-latest.json new file mode 100644 index 0000000..2334586 --- /dev/null +++ b/broadcast/Deploy.s.sol/11155111/run-latest.json @@ -0,0 +1,85 @@ +{ + "transactions": [ + { + "hash": "0xf3056101aea3d66c5c2353a1ae187f1b45f3b14597d4ba3ec5f442f2073db0ba", + "transactionType": "CREATE2", + "contractName": "ERC5564Announcer", + "contractAddress": "0x55649E01B5Df198D18D95b5cc5051630cfD45564", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x3f3c8db1487469e8091cb210e9cf16d0af0de6fc", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x45c74", + "value": "0x0", + "data": "0xd0103a290d760f027c9ca72675f5121d725397fb2f618f05b6c44958b25b4447608060405234801561001057600080fd5b506102c5806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c80634d1f958314610030575b600080fd5b61004361003e36600461018d565b610045565b005b3373ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16857f5f0eab8057630ba7676c49b4f21a0231414e79474595be8e4c432fbf6bf0f4e785856040516100a592919061028a565b60405180910390a450505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f8301126100f357600080fd5b813567ffffffffffffffff8082111561010e5761010e6100b3565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908282118183101715610154576101546100b3565b8160405283815286602085880101111561016d57600080fd5b836020870160208301376000602085830101528094505050505092915050565b600080600080608085870312156101a357600080fd5b84359350602085013573ffffffffffffffffffffffffffffffffffffffff811681146101ce57600080fd5b9250604085013567ffffffffffffffff808211156101eb57600080fd5b6101f7888389016100e2565b9350606087013591508082111561020d57600080fd5b5061021a878288016100e2565b91505092959194509250565b6000815180845260005b8181101561024c57602081850181015186830182015201610230565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b60408152600061029d6040830185610226565b82810360208401526102af8185610226565b9594505050505056fea164736f6c6343000817000a", + "nonce": "0x29", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x36b2f1faba9c7f0f49b36f6c39cb35de3a854e19591e4c7157d4bac5bbab0d05", + "transactionType": "CREATE2", + "contractName": "ERC6538Registry", + "contractAddress": "0x65385Cebb86e6742F29868BDdE0D1980060a6538", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x3f3c8db1487469e8091cb210e9cf16d0af0de6fc", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x106f36", + "value": "0x0", + "data": "0x0883790c70e6bce521db2517ae9873b2627580f5945fb2026117ab9d15ba938760c060405234801561001057600080fd5b50466080526100bd604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f6124ff9f656d31cbb8918f3698282fe3b3527cc4dede357f0fbf535d197bbb7f918101919091527fe6bbd6277e1bf288eed5e8d1780f9a50b239e86b153736bceebccf4ea79d90b360608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b60a05260805160a051610c526100e56000396000610287015260006101b20152610c526000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c8063627cdcb91161005b578063627cdcb9146100c55780637aa8b5ad146100cd578063ed2a2d64146100ed578063fe04b1061461010d57600080fd5b8063042c7aa3146100825780633644e51514610097578063428d3d0b146100b2575b600080fd5b610095610090366004610718565b610134565b005b61009f6101ae565b6040519081526020015b60405180910390f35b6100956100c03660046107bc565b6102a9565b6100956105df565b6100e06100db3660046108d1565b61062d565b6040516100a9919061095f565b61009f6100fb366004610979565b60016020526000908152604090205481565b61009f7fad167d3025c204a322703b7e9c41f6179d0d174570f484391f50080b960d41d681565b336000908152602081815260408083208684529091529020610157828483610a38565b50823373ffffffffffffffffffffffffffffffffffffffff167f4e739a47dfa4fd3cfa92f8fe760cebe125565927e5c422cb28e7aa388a067af984846040516101a1929190610b9c565b60405180910390a3505050565b60007f000000000000000000000000000000000000000000000000000000000000000046146102845761027f604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f6124ff9f656d31cbb8918f3698282fe3b3527cc4dede357f0fbf535d197bbb7f918101919091527fe6bbd6277e1bf288eed5e8d1780f9a50b239e86b153736bceebccf4ea79d90b360608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b905090565b507f000000000000000000000000000000000000000000000000000000000000000090565b6000806102b46101ae565b73ffffffffffffffffffffffffffffffffffffffff8816600090815260016020818152604092839020805492830190559151610319927fad167d3025c204a322703b7e9c41f6179d0d174570f484391f50080b960d41d6928b928a928a929101610bb8565b604051602081830303815290604052805190602001206040516020016103719291907f190100000000000000000000000000000000000000000000000000000000000081526002810192909252602282015260420190565b6040516020818303038152906040528051906020012091508451604103610402576020858101516040808801516060808a015183516000808252968101808652899052951a928501839052840183905260808401819052919260019060a0016020604051602081039080840390855afa1580156103f2573d6000803e3d6000fd5b5050506020604051035193505050505b73ffffffffffffffffffffffffffffffffffffffff8116158061045157508673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b801561051457506040517f1626ba7e000000000000000000000000000000000000000000000000000000008082529073ffffffffffffffffffffffffffffffffffffffff891690631626ba7e906104ae9086908a90600401610bea565b602060405180830381865afa1580156104cb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104ef9190610c03565b7fffffffff000000000000000000000000000000000000000000000000000000001614155b1561054b576040517fc5c2e66100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff87166000908152602081815260408083208984529091529020610584848683610a38565b50858773ffffffffffffffffffffffffffffffffffffffff167f4e739a47dfa4fd3cfa92f8fe760cebe125565927e5c422cb28e7aa388a067af986866040516105ce929190610b9c565b60405180910390a350505050505050565b3360008181526001602081815260409283902080549092019182905591519081527fa82a649bbd060c9099cd7b7326e2b0dc9e9af0836480e0f849dc9eaa79710b3b910160405180910390a2565b60006020818152928152604080822090935290815220805461064e90610994565b80601f016020809104026020016040519081016040528092919081815260200182805461067a90610994565b80156106c75780601f1061069c576101008083540402835291602001916106c7565b820191906000526020600020905b8154815290600101906020018083116106aa57829003601f168201915b505050505081565b60008083601f8401126106e157600080fd5b50813567ffffffffffffffff8111156106f957600080fd5b60208301915083602082850101111561071157600080fd5b9250929050565b60008060006040848603121561072d57600080fd5b83359250602084013567ffffffffffffffff81111561074b57600080fd5b610757868287016106cf565b9497909650939450505050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461078857600080fd5b919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000806000806000608086880312156107d457600080fd5b6107dd86610764565b945060208601359350604086013567ffffffffffffffff8082111561080157600080fd5b818801915088601f83011261081557600080fd5b8135818111156108275761082761078d565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190838211818310171561086d5761086d61078d565b816040528281528b602084870101111561088657600080fd5b8260208601602083013760006020848301015280975050505060608801359150808211156108b357600080fd5b506108c0888289016106cf565b969995985093965092949392505050565b600080604083850312156108e457600080fd5b6108ed83610764565b946020939093013593505050565b6000815180845260005b8181101561092157602081850181015186830182015201610905565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b60208152600061097260208301846108fb565b9392505050565b60006020828403121561098b57600080fd5b61097282610764565b600181811c908216806109a857607f821691505b6020821081036109e1577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b601f821115610a33576000816000526020600020601f850160051c81016020861015610a105750805b601f850160051c820191505b81811015610a2f57828155600101610a1c565b5050505b505050565b67ffffffffffffffff831115610a5057610a5061078d565b610a6483610a5e8354610994565b836109e7565b6000601f841160018114610ab65760008515610a805750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b178355610b4c565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b82811015610b055786850135825560209485019460019092019101610ae5565b5086821015610b40577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b602081526000610bb0602083018486610b53565b949350505050565b858152846020820152608060408201526000610bd8608083018587610b53565b90508260608301529695505050505050565b828152604060208201526000610bb060408301846108fb565b600060208284031215610c1557600080fd5b81517fffffffff000000000000000000000000000000000000000000000000000000008116811461097257600080fdfea164736f6c6343000817000a", + "nonce": "0x2a", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0xf3056101aea3d66c5c2353a1ae187f1b45f3b14597d4ba3ec5f442f2073db0ba", + "transactionIndex": "0x6", + "blockHash": "0x2875408c06a917a5ed9c0c60343389f24c5271f7822a37496ca500a02621b445", + "blockNumber": "0x53b805", + "from": "0x3f3c8dB1487469E8091cb210e9cf16D0Af0dE6FC", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0xafc06", + "gasUsed": "0x3287c", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xf4a63aab" + }, + { + "transactionHash": "0x36b2f1faba9c7f0f49b36f6c39cb35de3a854e19591e4c7157d4bac5bbab0d05", + "transactionIndex": "0x7", + "blockHash": "0x2875408c06a917a5ed9c0c60343389f24c5271f7822a37496ca500a02621b445", + "blockNumber": "0x53b805", + "from": "0x3f3c8dB1487469E8091cb210e9cf16D0Af0dE6FC", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x163994", + "gasUsed": "0xb3d8e", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xf4a63aab" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1710450833, + "chain": 11155111, + "multi": false, + "commit": "a92a00b" +} \ No newline at end of file