@bananapus/address-registry-v6 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +44 -0
  3. package/SKILLS.md +51 -0
  4. package/deployments/nana-address-registry/arbitrum/JBAddressRegistry.json +177 -0
  5. package/deployments/nana-address-registry/arbitrum_sepolia/JBAddressRegistry.json +177 -0
  6. package/deployments/nana-address-registry/base/JBAddressRegistry.json +181 -0
  7. package/deployments/nana-address-registry/base_sepolia/JBAddressRegistry.json +181 -0
  8. package/deployments/nana-address-registry/ethereum/JBAddressRegistry.json +181 -0
  9. package/deployments/nana-address-registry/optimism/JBAddressRegistry.json +177 -0
  10. package/deployments/nana-address-registry/optimism_sepolia/JBAddressRegistry.json +181 -0
  11. package/deployments/nana-address-registry/sepolia/JBAddressRegistry.json +181 -0
  12. package/docs/book.css +13 -0
  13. package/docs/book.toml +12 -0
  14. package/docs/solidity.min.js +74 -0
  15. package/docs/src/README.md +164 -0
  16. package/docs/src/SUMMARY.md +6 -0
  17. package/docs/src/src/JBAddressRegistry.sol/contract.JBAddressRegistry.md +106 -0
  18. package/docs/src/src/README.md +5 -0
  19. package/docs/src/src/interfaces/IJBAddressRegistry.sol/interface.IJBAddressRegistry.md +33 -0
  20. package/docs/src/src/interfaces/README.md +4 -0
  21. package/foundry.toml +29 -0
  22. package/package.json +20 -0
  23. package/remappings.txt +1 -0
  24. package/script/Deploy.s.sol +37 -0
  25. package/script/helpers/AddressRegistryDeploymentLib.sol +68 -0
  26. package/slither-ci.config.json +10 -0
  27. package/sphinx.lock +476 -0
  28. package/src/JBAddressRegistry.sol +96 -0
  29. package/src/interfaces/IJBAddressRegistry.sol +22 -0
  30. package/test/JBAddressRegistry.t.sol +104 -0
  31. package/test/JBAddressRegistry_Fork.t.sol +78 -0
@@ -0,0 +1,181 @@
1
+ {
2
+ "format": "sphinx-sol-ct-artifact-1",
3
+ "merkleRoot": "0x73645f6fb745400c627c587b527553de94ee8472b637350f6d00ced9f9a780a6",
4
+ "address": "0x2d9b78cb37ca724cfb9b32cd8e9a5dc1c88bc7bb",
5
+ "sourceName": "src/JBAddressRegistry.sol",
6
+ "contractName": "JBAddressRegistry",
7
+ "chainId": "0x2105",
8
+ "abi": [
9
+ {
10
+ "inputs": [
11
+ {
12
+ "internalType": "address",
13
+ "name": "addr",
14
+ "type": "address"
15
+ }
16
+ ],
17
+ "name": "deployerOf",
18
+ "outputs": [
19
+ {
20
+ "internalType": "address",
21
+ "name": "deployer",
22
+ "type": "address"
23
+ }
24
+ ],
25
+ "stateMutability": "view",
26
+ "type": "function"
27
+ },
28
+ {
29
+ "inputs": [
30
+ {
31
+ "internalType": "address",
32
+ "name": "deployer",
33
+ "type": "address"
34
+ },
35
+ {
36
+ "internalType": "uint256",
37
+ "name": "nonce",
38
+ "type": "uint256"
39
+ }
40
+ ],
41
+ "name": "registerAddress",
42
+ "outputs": [],
43
+ "stateMutability": "nonpayable",
44
+ "type": "function"
45
+ },
46
+ {
47
+ "inputs": [
48
+ {
49
+ "internalType": "address",
50
+ "name": "deployer",
51
+ "type": "address"
52
+ },
53
+ {
54
+ "internalType": "bytes32",
55
+ "name": "salt",
56
+ "type": "bytes32"
57
+ },
58
+ {
59
+ "internalType": "bytes",
60
+ "name": "bytecode",
61
+ "type": "bytes"
62
+ }
63
+ ],
64
+ "name": "registerAddress",
65
+ "outputs": [],
66
+ "stateMutability": "nonpayable",
67
+ "type": "function"
68
+ },
69
+ {
70
+ "anonymous": false,
71
+ "inputs": [
72
+ {
73
+ "indexed": true,
74
+ "internalType": "address",
75
+ "name": "addr",
76
+ "type": "address"
77
+ },
78
+ {
79
+ "indexed": true,
80
+ "internalType": "address",
81
+ "name": "deployer",
82
+ "type": "address"
83
+ },
84
+ {
85
+ "indexed": false,
86
+ "internalType": "address",
87
+ "name": "caller",
88
+ "type": "address"
89
+ }
90
+ ],
91
+ "name": "AddressRegistered",
92
+ "type": "event"
93
+ }
94
+ ],
95
+ "args": [],
96
+ "solcInputHash": "8b17a7bbb5daaf8f633d28603c43b156",
97
+ "receipt": {
98
+ "type": "0x2",
99
+ "status": "0x1",
100
+ "cumulativeGasUsed": "0x37777c2",
101
+ "logs": [
102
+ {
103
+ "address": "0xa2ea7657440875bf916cbfc0cfa88f13e38ad463",
104
+ "topics": [
105
+ "0x572f161235911da04685a68c06adf558fc7e4a36909dca394650e0adc19cc93d",
106
+ "0x000000000000000000000000755ff2f75a0a586ecfa2b9a3c959cb662458a105",
107
+ "0x000000000000000000000000647b5cbcca959a5b3f85d513faa2ba015576d8e9",
108
+ "0xabdcb5c41b32693cc3248ff52b4243299c2b703d028ac4b0bfd555b797dc7d4d"
109
+ ],
110
+ "data": "0x0000000000000000000000000000000000000000000000000000000000000000",
111
+ "blockHash": "0xcffde80edd2880be02531aa92192702a459dbe2becd287f5c6f164721c81c7ab",
112
+ "blockNumber": "0x1943104",
113
+ "blockTimestamp": "0x67b2beeb",
114
+ "transactionHash": "0x10bf6a11a00c6e0730d96c4d86d10867de352116d8cc74488ce2736acbec158d",
115
+ "transactionIndex": "0xea",
116
+ "logIndex": "0x21a",
117
+ "removed": false
118
+ },
119
+ {
120
+ "address": "0x14293560a2dde4ffa136a647b7a2f927b0774ab6",
121
+ "topics": [
122
+ "0x6895c13664aa4f67288b25d7a21d7aaa34916e355fb9b6fae0a139a9085becb8",
123
+ "0x000000000000000000000000647b5cbcca959a5b3f85d513faa2ba015576d8e9"
124
+ ],
125
+ "data": "0x",
126
+ "blockHash": "0xcffde80edd2880be02531aa92192702a459dbe2becd287f5c6f164721c81c7ab",
127
+ "blockNumber": "0x1943104",
128
+ "blockTimestamp": "0x67b2beeb",
129
+ "transactionHash": "0x10bf6a11a00c6e0730d96c4d86d10867de352116d8cc74488ce2736acbec158d",
130
+ "transactionIndex": "0xea",
131
+ "logIndex": "0x21b",
132
+ "removed": false
133
+ },
134
+ {
135
+ "address": "0x647b5cbcca959a5b3f85d513faa2ba015576d8e9",
136
+ "topics": [
137
+ "0xa65fb05c5808f5f389d72edeaf719ce38f4cc55c1f69ca3cbfb31c21501caa07",
138
+ "0x73645f6fb745400c627c587b527553de94ee8472b637350f6d00ced9f9a780a6"
139
+ ],
140
+ "data": "0x0000000000000000000000000000000000000000000000000000000000000001",
141
+ "blockHash": "0xcffde80edd2880be02531aa92192702a459dbe2becd287f5c6f164721c81c7ab",
142
+ "blockNumber": "0x1943104",
143
+ "blockTimestamp": "0x67b2beeb",
144
+ "transactionHash": "0x10bf6a11a00c6e0730d96c4d86d10867de352116d8cc74488ce2736acbec158d",
145
+ "transactionIndex": "0xea",
146
+ "logIndex": "0x21c",
147
+ "removed": false
148
+ },
149
+ {
150
+ "address": "0x647b5cbcca959a5b3f85d513faa2ba015576d8e9",
151
+ "topics": [
152
+ "0x4383d976757d67ca920616be0b6430a681ea9d3dcce8d6d61d4603ca4a9bff63",
153
+ "0x73645f6fb745400c627c587b527553de94ee8472b637350f6d00ced9f9a780a6"
154
+ ],
155
+ "data": "0x",
156
+ "blockHash": "0xcffde80edd2880be02531aa92192702a459dbe2becd287f5c6f164721c81c7ab",
157
+ "blockNumber": "0x1943104",
158
+ "blockTimestamp": "0x67b2beeb",
159
+ "transactionHash": "0x10bf6a11a00c6e0730d96c4d86d10867de352116d8cc74488ce2736acbec158d",
160
+ "transactionIndex": "0xea",
161
+ "logIndex": "0x21d",
162
+ "removed": false
163
+ }
164
+ ],
165
+ "logsBloom": "0x00000000000010000040000000080000020000000000000000000000000000000000000400000000000000000040000000000000000000000000000000000000000000000000200000000000000040000000000000000000000000000000000080000000000000000800080000000000000000000000000000000000000000000800000000000000000104000000000000000000000000000020000000000000004800840000000000000000000000002200000001400000000000000004000000000002000000100000000000000000000000000000000000000000000200000000000000000008000000000000000200000000000280000000200008000000",
166
+ "transactionHash": "0x10bf6a11a00c6e0730d96c4d86d10867de352116d8cc74488ce2736acbec158d",
167
+ "transactionIndex": "0xea",
168
+ "blockHash": "0xcffde80edd2880be02531aa92192702a459dbe2becd287f5c6f164721c81c7ab",
169
+ "blockNumber": "0x1943104",
170
+ "gasUsed": "0x9144a",
171
+ "effectiveGasPrice": "0x1b5def",
172
+ "from": "0x755ff2f75a0a586ecfa2b9a3c959cb662458a105",
173
+ "to": "0xa2ea7657440875bf916cbfc0cfa88f13e38ad463",
174
+ "contractAddress": null
175
+ },
176
+ "bytecode": "0x608060405234801561000f575f80fd5b506108668061001d5f395ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063416dc73214610043578063b94417ab146100a1578063da3c8b0a146100b6575b5f80fd5b610078610051366004610759565b5f6020819052908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b6100b46100af366004610779565b6100c9565b005b6100b46100c43660046107a1565b6100e5565b5f6100d4838361019f565b90506100e081846106aa565b505050565b5f60ff60f81b858585856040516100fd929190610821565b604051908190038120610174949392916020017fff0000000000000000000000000000000000000000000000000000000000000094909416845260609290921b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001660018401526015830152603582015260550190565b604051602081830303815290604052805190602001205f1c905061019881866106aa565b5050505050565b5f6060825f03610264576040517fd60000000000000000000000000000000000000000000000000000000000000060208201527f940000000000000000000000000000000000000000000000000000000000000060218201527fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606086901b1660228201527f800000000000000000000000000000000000000000000000000000000000000060368201526037015b6040516020818303038152906040529050610697565b607f831161031b576040517fd60000000000000000000000000000000000000000000000000000000000000060208201527f940000000000000000000000000000000000000000000000000000000000000060218201527fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606086901b16602282015260f884901b7fff0000000000000000000000000000000000000000000000000000000000000016603682015260370161024e565b60ff83116103f8576040517fd70000000000000000000000000000000000000000000000000000000000000060208201527f940000000000000000000000000000000000000000000000000000000000000060218201527fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606086901b1660228201527f8100000000000000000000000000000000000000000000000000000000000000603682015260f884901b7fff0000000000000000000000000000000000000000000000000000000000000016603782015260380161024e565b61ffff83116104d6576040517fd80000000000000000000000000000000000000000000000000000000000000060208201527f940000000000000000000000000000000000000000000000000000000000000060218201527fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606086901b1660228201527f820000000000000000000000000000000000000000000000000000000000000060368201527fffff00000000000000000000000000000000000000000000000000000000000060f085901b16603782015260390161024e565b62ffffff83116105b5576040517fd90000000000000000000000000000000000000000000000000000000000000060208201527f940000000000000000000000000000000000000000000000000000000000000060218201527fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606086901b1660228201527f830000000000000000000000000000000000000000000000000000000000000060368201527fffffff000000000000000000000000000000000000000000000000000000000060e885901b166037820152603a0161024e565b6040517fda0000000000000000000000000000000000000000000000000000000000000060208201527f940000000000000000000000000000000000000000000000000000000000000060218201527fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606086901b1660228201527f840000000000000000000000000000000000000000000000000000000000000060368201527fffffffff0000000000000000000000000000000000000000000000000000000060e085901b166037820152603b0160405160208183030381529060405290505b80516020909101205f8190529392505050565b73ffffffffffffffffffffffffffffffffffffffff8281165f818152602081815260409182902080547fffffffffffffffffffffffff000000000000000000000000000000000000000016948616948517905590513381527f7d6162a71c5021da669d43dd6f106854635e56ebf51a7d028ade33473c69c0fc910160405180910390a35050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610754575f80fd5b919050565b5f60208284031215610769575f80fd5b61077282610731565b9392505050565b5f806040838503121561078a575f80fd5b61079383610731565b946020939093013593505050565b5f805f80606085870312156107b4575f80fd5b6107bd85610731565b935060208501359250604085013567ffffffffffffffff808211156107e0575f80fd5b818701915087601f8301126107f3575f80fd5b813581811115610801575f80fd5b886020828501011115610812575f80fd5b95989497505060200194505050565b818382375f910190815291905056fea26469706673582212206f07b6cd7dfc40d2e815caedc2f50b5053bc3afd965325d21fc2ffeb3044113d64736f6c63430008170033",
177
+ "deployedBytecode": "0x608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063416dc73214610043578063b94417ab146100a1578063da3c8b0a146100b6575b5f80fd5b610078610051366004610759565b5f6020819052908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b6100b46100af366004610779565b6100c9565b005b6100b46100c43660046107a1565b6100e5565b5f6100d4838361019f565b90506100e081846106aa565b505050565b5f60ff60f81b858585856040516100fd929190610821565b604051908190038120610174949392916020017fff0000000000000000000000000000000000000000000000000000000000000094909416845260609290921b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001660018401526015830152603582015260550190565b604051602081830303815290604052805190602001205f1c905061019881866106aa565b5050505050565b5f6060825f03610264576040517fd60000000000000000000000000000000000000000000000000000000000000060208201527f940000000000000000000000000000000000000000000000000000000000000060218201527fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606086901b1660228201527f800000000000000000000000000000000000000000000000000000000000000060368201526037015b6040516020818303038152906040529050610697565b607f831161031b576040517fd60000000000000000000000000000000000000000000000000000000000000060208201527f940000000000000000000000000000000000000000000000000000000000000060218201527fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606086901b16602282015260f884901b7fff0000000000000000000000000000000000000000000000000000000000000016603682015260370161024e565b60ff83116103f8576040517fd70000000000000000000000000000000000000000000000000000000000000060208201527f940000000000000000000000000000000000000000000000000000000000000060218201527fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606086901b1660228201527f8100000000000000000000000000000000000000000000000000000000000000603682015260f884901b7fff0000000000000000000000000000000000000000000000000000000000000016603782015260380161024e565b61ffff83116104d6576040517fd80000000000000000000000000000000000000000000000000000000000000060208201527f940000000000000000000000000000000000000000000000000000000000000060218201527fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606086901b1660228201527f820000000000000000000000000000000000000000000000000000000000000060368201527fffff00000000000000000000000000000000000000000000000000000000000060f085901b16603782015260390161024e565b62ffffff83116105b5576040517fd90000000000000000000000000000000000000000000000000000000000000060208201527f940000000000000000000000000000000000000000000000000000000000000060218201527fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606086901b1660228201527f830000000000000000000000000000000000000000000000000000000000000060368201527fffffff000000000000000000000000000000000000000000000000000000000060e885901b166037820152603a0161024e565b6040517fda0000000000000000000000000000000000000000000000000000000000000060208201527f940000000000000000000000000000000000000000000000000000000000000060218201527fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606086901b1660228201527f840000000000000000000000000000000000000000000000000000000000000060368201527fffffffff0000000000000000000000000000000000000000000000000000000060e085901b166037820152603b0160405160208183030381529060405290505b80516020909101205f8190529392505050565b73ffffffffffffffffffffffffffffffffffffffff8281165f818152602081815260409182902080547fffffffffffffffffffffffff000000000000000000000000000000000000000016948616948517905590513381527f7d6162a71c5021da669d43dd6f106854635e56ebf51a7d028ade33473c69c0fc910160405180910390a35050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610754575f80fd5b919050565b5f60208284031215610769575f80fd5b61077282610731565b9392505050565b5f806040838503121561078a575f80fd5b61079383610731565b946020939093013593505050565b5f805f80606085870312156107b4575f80fd5b6107bd85610731565b935060208501359250604085013567ffffffffffffffff808211156107e0575f80fd5b818701915087601f8301126107f3575f80fd5b813581811115610801575f80fd5b886020828501011115610812575f80fd5b95989497505060200194505050565b818382375f910190815291905056fea26469706673582212206f07b6cd7dfc40d2e815caedc2f50b5053bc3afd965325d21fc2ffeb3044113d64736f6c63430008170033",
178
+ "metadata": "{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"deployer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"AddressRegistered\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"}],\"name\":\"deployerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"deployer\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"deployer\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"}],\"name\":\"registerAddress\",\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"deployer\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"bytecode\",\"type\":\"bytes\"}],\"name\":\"registerAddress\",\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"registerAddress(address,bytes32,bytes)\":{\"details\":\"The contract must be deployed using `create2`.The `create2` salt is determined by the deployer's logic. The deployment bytecode can be retrieved offchain (from the deployment transaction) or onchain (with `abi.encodePacked(type(deployedContract).creationCode, abi.encode(constructorArguments))`).\",\"params\":{\"bytecode\":\"The contract's deployment bytecode, including the constructor arguments.\",\"deployer\":\"The address of the contract's deployer.\",\"salt\":\"The `create2` salt used to deploy the contract.\"}},\"registerAddress(address,uint256)\":{\"details\":\"The contract must be deployed using `create`.\",\"params\":{\"deployer\":\"The address of the contract's deployer.\",\"nonce\":\"The nonce used to deploy the contract.\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"deployerOf(address)\":{\"notice\":\"Returns the deployer of a given contract which has been registered.\"},\"registerAddress(address,bytes32,bytes)\":{\"notice\":\"Register a deployed contract's address.\"},\"registerAddress(address,uint256)\":{\"notice\":\"Register a deployed contract's address.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/JBAddressRegistry.sol\":\"JBAddressRegistry\"},\"evmVersion\":\"shanghai\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":10000000},\"remappings\":[\"@eth-optimism/=node_modules/@eth-optimism/\",\"@openzeppelin/=node_modules/@openzeppelin/\",\"@sphinx-labs/contracts/=lib/sphinx/packages/contracts/contracts/foundry/\",\"ds-test/=lib/forge-std/lib/ds-test/src/\",\"forge-std/=lib/forge-std/src/\",\"hardhat/=node_modules/hardhat/\",\"solmate/=node_modules/solmate/\",\"sphinx/=lib/sphinx/packages/contracts/contracts/forge-std/src/\"]},\"sources\":{\"src/JBAddressRegistry.sol\":{\"keccak256\":\"0x938e275702ab7077760775dbadb528e18614547863daf131d9561cf6a675c7ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aae0e7665c7e284c9ff8e20ea5a03f75a25d69e28bec28596617a37fba68274b\",\"dweb:/ipfs/QmTy4UP1neJ81D8uENk5TwBcMc7c9yXw7QZ2S7ij1jcVzH\"]},\"src/interfaces/IJBAddressRegistry.sol\":{\"keccak256\":\"0x984b1f4a0301ee5a5fe44d6d228aa0a60161e0ff69509ef3d5f829c4b154e423\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c1e46de177797b8585c8030377f470ac6737ddf3496f0a3a6b16e01ad7712dab\",\"dweb:/ipfs/QmW771SQMskbmJG9GHJPMhzJGTFpU3JVj2YxFtLSaAb3Xk\"]}},\"version\":1}",
179
+ "gitCommit": "922b48185d8a792b44854cf6d3257339a9d73eaa",
180
+ "history": []
181
+ }
@@ -0,0 +1,181 @@
1
+ {
2
+ "format": "sphinx-sol-ct-artifact-1",
3
+ "merkleRoot": "0x77a78f2f9d08ef0cfff52c5bd2782efa240738cc07884a1541c5fbd24fb50e60",
4
+ "address": "0x2d9b78cb37ca724cfb9b32cd8e9a5dc1c88bc7bb",
5
+ "sourceName": "src/JBAddressRegistry.sol",
6
+ "contractName": "JBAddressRegistry",
7
+ "chainId": "0x14a34",
8
+ "abi": [
9
+ {
10
+ "inputs": [
11
+ {
12
+ "internalType": "address",
13
+ "name": "addr",
14
+ "type": "address"
15
+ }
16
+ ],
17
+ "name": "deployerOf",
18
+ "outputs": [
19
+ {
20
+ "internalType": "address",
21
+ "name": "deployer",
22
+ "type": "address"
23
+ }
24
+ ],
25
+ "stateMutability": "view",
26
+ "type": "function"
27
+ },
28
+ {
29
+ "inputs": [
30
+ {
31
+ "internalType": "address",
32
+ "name": "deployer",
33
+ "type": "address"
34
+ },
35
+ {
36
+ "internalType": "uint256",
37
+ "name": "nonce",
38
+ "type": "uint256"
39
+ }
40
+ ],
41
+ "name": "registerAddress",
42
+ "outputs": [],
43
+ "stateMutability": "nonpayable",
44
+ "type": "function"
45
+ },
46
+ {
47
+ "inputs": [
48
+ {
49
+ "internalType": "address",
50
+ "name": "deployer",
51
+ "type": "address"
52
+ },
53
+ {
54
+ "internalType": "bytes32",
55
+ "name": "salt",
56
+ "type": "bytes32"
57
+ },
58
+ {
59
+ "internalType": "bytes",
60
+ "name": "bytecode",
61
+ "type": "bytes"
62
+ }
63
+ ],
64
+ "name": "registerAddress",
65
+ "outputs": [],
66
+ "stateMutability": "nonpayable",
67
+ "type": "function"
68
+ },
69
+ {
70
+ "anonymous": false,
71
+ "inputs": [
72
+ {
73
+ "indexed": true,
74
+ "internalType": "address",
75
+ "name": "addr",
76
+ "type": "address"
77
+ },
78
+ {
79
+ "indexed": true,
80
+ "internalType": "address",
81
+ "name": "deployer",
82
+ "type": "address"
83
+ },
84
+ {
85
+ "indexed": false,
86
+ "internalType": "address",
87
+ "name": "caller",
88
+ "type": "address"
89
+ }
90
+ ],
91
+ "name": "AddressRegistered",
92
+ "type": "event"
93
+ }
94
+ ],
95
+ "args": [],
96
+ "solcInputHash": "8b17a7bbb5daaf8f633d28603c43b156",
97
+ "receipt": {
98
+ "type": "0x2",
99
+ "status": "0x1",
100
+ "cumulativeGasUsed": "0xf08d9",
101
+ "logs": [
102
+ {
103
+ "address": "0xa2ea7657440875bf916cbfc0cfa88f13e38ad463",
104
+ "topics": [
105
+ "0x572f161235911da04685a68c06adf558fc7e4a36909dca394650e0adc19cc93d",
106
+ "0x000000000000000000000000755ff2f75a0a586ecfa2b9a3c959cb662458a105",
107
+ "0x000000000000000000000000647b5cbcca959a5b3f85d513faa2ba015576d8e9",
108
+ "0x3d16afa89b6dcab3771244d7747bfbdd67b923b5ea7358efd04e3e036017f890"
109
+ ],
110
+ "data": "0x0000000000000000000000000000000000000000000000000000000000000000",
111
+ "blockHash": "0x14c602d8b156ecb0dcdad4634d492d3102258dc7f0fccb9f2287843f2c8bfbae",
112
+ "blockNumber": "0x14fb065",
113
+ "blockTimestamp": "0x67b2bfaa",
114
+ "transactionHash": "0xa19a53dbe57e88a75b41895ea0e8124fa112f005e09998857b67b5c53c08fcab",
115
+ "transactionIndex": "0x3",
116
+ "logIndex": "0xa",
117
+ "removed": false
118
+ },
119
+ {
120
+ "address": "0x14293560a2dde4ffa136a647b7a2f927b0774ab6",
121
+ "topics": [
122
+ "0x6895c13664aa4f67288b25d7a21d7aaa34916e355fb9b6fae0a139a9085becb8",
123
+ "0x000000000000000000000000647b5cbcca959a5b3f85d513faa2ba015576d8e9"
124
+ ],
125
+ "data": "0x",
126
+ "blockHash": "0x14c602d8b156ecb0dcdad4634d492d3102258dc7f0fccb9f2287843f2c8bfbae",
127
+ "blockNumber": "0x14fb065",
128
+ "blockTimestamp": "0x67b2bfaa",
129
+ "transactionHash": "0xa19a53dbe57e88a75b41895ea0e8124fa112f005e09998857b67b5c53c08fcab",
130
+ "transactionIndex": "0x3",
131
+ "logIndex": "0xb",
132
+ "removed": false
133
+ },
134
+ {
135
+ "address": "0x647b5cbcca959a5b3f85d513faa2ba015576d8e9",
136
+ "topics": [
137
+ "0xa65fb05c5808f5f389d72edeaf719ce38f4cc55c1f69ca3cbfb31c21501caa07",
138
+ "0x77a78f2f9d08ef0cfff52c5bd2782efa240738cc07884a1541c5fbd24fb50e60"
139
+ ],
140
+ "data": "0x0000000000000000000000000000000000000000000000000000000000000001",
141
+ "blockHash": "0x14c602d8b156ecb0dcdad4634d492d3102258dc7f0fccb9f2287843f2c8bfbae",
142
+ "blockNumber": "0x14fb065",
143
+ "blockTimestamp": "0x67b2bfaa",
144
+ "transactionHash": "0xa19a53dbe57e88a75b41895ea0e8124fa112f005e09998857b67b5c53c08fcab",
145
+ "transactionIndex": "0x3",
146
+ "logIndex": "0xc",
147
+ "removed": false
148
+ },
149
+ {
150
+ "address": "0x647b5cbcca959a5b3f85d513faa2ba015576d8e9",
151
+ "topics": [
152
+ "0x4383d976757d67ca920616be0b6430a681ea9d3dcce8d6d61d4603ca4a9bff63",
153
+ "0x77a78f2f9d08ef0cfff52c5bd2782efa240738cc07884a1541c5fbd24fb50e60"
154
+ ],
155
+ "data": "0x",
156
+ "blockHash": "0x14c602d8b156ecb0dcdad4634d492d3102258dc7f0fccb9f2287843f2c8bfbae",
157
+ "blockNumber": "0x14fb065",
158
+ "blockTimestamp": "0x67b2bfaa",
159
+ "transactionHash": "0xa19a53dbe57e88a75b41895ea0e8124fa112f005e09998857b67b5c53c08fcab",
160
+ "transactionIndex": "0x3",
161
+ "logIndex": "0xd",
162
+ "removed": false
163
+ }
164
+ ],
165
+ "logsBloom": "0x00000000000010000000000000080000020000000000000000000000000000000000000000002000000000000040010000000000040000000010000000000000000000000000200000000000000000000000000000000000000000000000000080000000000000000800000000000000000000000000000000000000000000000840000000000020000104000000000000000000000000000020000000000000004800840000000000000000000000002200000001400000000000000004000000000002000000100000000000000000000000000000000000000000000200000000000000000008000000000000000200000000000080000000000008000000",
166
+ "transactionHash": "0xa19a53dbe57e88a75b41895ea0e8124fa112f005e09998857b67b5c53c08fcab",
167
+ "transactionIndex": "0x3",
168
+ "blockHash": "0x14c602d8b156ecb0dcdad4634d492d3102258dc7f0fccb9f2287843f2c8bfbae",
169
+ "blockNumber": "0x14fb065",
170
+ "gasUsed": "0x91460",
171
+ "effectiveGasPrice": "0x24a1de",
172
+ "from": "0x755ff2f75a0a586ecfa2b9a3c959cb662458a105",
173
+ "to": "0xa2ea7657440875bf916cbfc0cfa88f13e38ad463",
174
+ "contractAddress": null
175
+ },
176
+ "bytecode": "0x608060405234801561000f575f80fd5b506108668061001d5f395ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063416dc73214610043578063b94417ab146100a1578063da3c8b0a146100b6575b5f80fd5b610078610051366004610759565b5f6020819052908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b6100b46100af366004610779565b6100c9565b005b6100b46100c43660046107a1565b6100e5565b5f6100d4838361019f565b90506100e081846106aa565b505050565b5f60ff60f81b858585856040516100fd929190610821565b604051908190038120610174949392916020017fff0000000000000000000000000000000000000000000000000000000000000094909416845260609290921b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001660018401526015830152603582015260550190565b604051602081830303815290604052805190602001205f1c905061019881866106aa565b5050505050565b5f6060825f03610264576040517fd60000000000000000000000000000000000000000000000000000000000000060208201527f940000000000000000000000000000000000000000000000000000000000000060218201527fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606086901b1660228201527f800000000000000000000000000000000000000000000000000000000000000060368201526037015b6040516020818303038152906040529050610697565b607f831161031b576040517fd60000000000000000000000000000000000000000000000000000000000000060208201527f940000000000000000000000000000000000000000000000000000000000000060218201527fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606086901b16602282015260f884901b7fff0000000000000000000000000000000000000000000000000000000000000016603682015260370161024e565b60ff83116103f8576040517fd70000000000000000000000000000000000000000000000000000000000000060208201527f940000000000000000000000000000000000000000000000000000000000000060218201527fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606086901b1660228201527f8100000000000000000000000000000000000000000000000000000000000000603682015260f884901b7fff0000000000000000000000000000000000000000000000000000000000000016603782015260380161024e565b61ffff83116104d6576040517fd80000000000000000000000000000000000000000000000000000000000000060208201527f940000000000000000000000000000000000000000000000000000000000000060218201527fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606086901b1660228201527f820000000000000000000000000000000000000000000000000000000000000060368201527fffff00000000000000000000000000000000000000000000000000000000000060f085901b16603782015260390161024e565b62ffffff83116105b5576040517fd90000000000000000000000000000000000000000000000000000000000000060208201527f940000000000000000000000000000000000000000000000000000000000000060218201527fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606086901b1660228201527f830000000000000000000000000000000000000000000000000000000000000060368201527fffffff000000000000000000000000000000000000000000000000000000000060e885901b166037820152603a0161024e565b6040517fda0000000000000000000000000000000000000000000000000000000000000060208201527f940000000000000000000000000000000000000000000000000000000000000060218201527fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606086901b1660228201527f840000000000000000000000000000000000000000000000000000000000000060368201527fffffffff0000000000000000000000000000000000000000000000000000000060e085901b166037820152603b0160405160208183030381529060405290505b80516020909101205f8190529392505050565b73ffffffffffffffffffffffffffffffffffffffff8281165f818152602081815260409182902080547fffffffffffffffffffffffff000000000000000000000000000000000000000016948616948517905590513381527f7d6162a71c5021da669d43dd6f106854635e56ebf51a7d028ade33473c69c0fc910160405180910390a35050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610754575f80fd5b919050565b5f60208284031215610769575f80fd5b61077282610731565b9392505050565b5f806040838503121561078a575f80fd5b61079383610731565b946020939093013593505050565b5f805f80606085870312156107b4575f80fd5b6107bd85610731565b935060208501359250604085013567ffffffffffffffff808211156107e0575f80fd5b818701915087601f8301126107f3575f80fd5b813581811115610801575f80fd5b886020828501011115610812575f80fd5b95989497505060200194505050565b818382375f910190815291905056fea26469706673582212206f07b6cd7dfc40d2e815caedc2f50b5053bc3afd965325d21fc2ffeb3044113d64736f6c63430008170033",
177
+ "deployedBytecode": "0x608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063416dc73214610043578063b94417ab146100a1578063da3c8b0a146100b6575b5f80fd5b610078610051366004610759565b5f6020819052908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b6100b46100af366004610779565b6100c9565b005b6100b46100c43660046107a1565b6100e5565b5f6100d4838361019f565b90506100e081846106aa565b505050565b5f60ff60f81b858585856040516100fd929190610821565b604051908190038120610174949392916020017fff0000000000000000000000000000000000000000000000000000000000000094909416845260609290921b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001660018401526015830152603582015260550190565b604051602081830303815290604052805190602001205f1c905061019881866106aa565b5050505050565b5f6060825f03610264576040517fd60000000000000000000000000000000000000000000000000000000000000060208201527f940000000000000000000000000000000000000000000000000000000000000060218201527fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606086901b1660228201527f800000000000000000000000000000000000000000000000000000000000000060368201526037015b6040516020818303038152906040529050610697565b607f831161031b576040517fd60000000000000000000000000000000000000000000000000000000000000060208201527f940000000000000000000000000000000000000000000000000000000000000060218201527fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606086901b16602282015260f884901b7fff0000000000000000000000000000000000000000000000000000000000000016603682015260370161024e565b60ff83116103f8576040517fd70000000000000000000000000000000000000000000000000000000000000060208201527f940000000000000000000000000000000000000000000000000000000000000060218201527fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606086901b1660228201527f8100000000000000000000000000000000000000000000000000000000000000603682015260f884901b7fff0000000000000000000000000000000000000000000000000000000000000016603782015260380161024e565b61ffff83116104d6576040517fd80000000000000000000000000000000000000000000000000000000000000060208201527f940000000000000000000000000000000000000000000000000000000000000060218201527fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606086901b1660228201527f820000000000000000000000000000000000000000000000000000000000000060368201527fffff00000000000000000000000000000000000000000000000000000000000060f085901b16603782015260390161024e565b62ffffff83116105b5576040517fd90000000000000000000000000000000000000000000000000000000000000060208201527f940000000000000000000000000000000000000000000000000000000000000060218201527fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606086901b1660228201527f830000000000000000000000000000000000000000000000000000000000000060368201527fffffff000000000000000000000000000000000000000000000000000000000060e885901b166037820152603a0161024e565b6040517fda0000000000000000000000000000000000000000000000000000000000000060208201527f940000000000000000000000000000000000000000000000000000000000000060218201527fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606086901b1660228201527f840000000000000000000000000000000000000000000000000000000000000060368201527fffffffff0000000000000000000000000000000000000000000000000000000060e085901b166037820152603b0160405160208183030381529060405290505b80516020909101205f8190529392505050565b73ffffffffffffffffffffffffffffffffffffffff8281165f818152602081815260409182902080547fffffffffffffffffffffffff000000000000000000000000000000000000000016948616948517905590513381527f7d6162a71c5021da669d43dd6f106854635e56ebf51a7d028ade33473c69c0fc910160405180910390a35050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610754575f80fd5b919050565b5f60208284031215610769575f80fd5b61077282610731565b9392505050565b5f806040838503121561078a575f80fd5b61079383610731565b946020939093013593505050565b5f805f80606085870312156107b4575f80fd5b6107bd85610731565b935060208501359250604085013567ffffffffffffffff808211156107e0575f80fd5b818701915087601f8301126107f3575f80fd5b813581811115610801575f80fd5b886020828501011115610812575f80fd5b95989497505060200194505050565b818382375f910190815291905056fea26469706673582212206f07b6cd7dfc40d2e815caedc2f50b5053bc3afd965325d21fc2ffeb3044113d64736f6c63430008170033",
178
+ "metadata": "{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"deployer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"AddressRegistered\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"}],\"name\":\"deployerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"deployer\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"deployer\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"}],\"name\":\"registerAddress\",\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"deployer\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"bytecode\",\"type\":\"bytes\"}],\"name\":\"registerAddress\",\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"registerAddress(address,bytes32,bytes)\":{\"details\":\"The contract must be deployed using `create2`.The `create2` salt is determined by the deployer's logic. The deployment bytecode can be retrieved offchain (from the deployment transaction) or onchain (with `abi.encodePacked(type(deployedContract).creationCode, abi.encode(constructorArguments))`).\",\"params\":{\"bytecode\":\"The contract's deployment bytecode, including the constructor arguments.\",\"deployer\":\"The address of the contract's deployer.\",\"salt\":\"The `create2` salt used to deploy the contract.\"}},\"registerAddress(address,uint256)\":{\"details\":\"The contract must be deployed using `create`.\",\"params\":{\"deployer\":\"The address of the contract's deployer.\",\"nonce\":\"The nonce used to deploy the contract.\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"deployerOf(address)\":{\"notice\":\"Returns the deployer of a given contract which has been registered.\"},\"registerAddress(address,bytes32,bytes)\":{\"notice\":\"Register a deployed contract's address.\"},\"registerAddress(address,uint256)\":{\"notice\":\"Register a deployed contract's address.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/JBAddressRegistry.sol\":\"JBAddressRegistry\"},\"evmVersion\":\"shanghai\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":10000000},\"remappings\":[\"@eth-optimism/=node_modules/@eth-optimism/\",\"@openzeppelin/=node_modules/@openzeppelin/\",\"@sphinx-labs/contracts/=lib/sphinx/packages/contracts/contracts/foundry/\",\"ds-test/=lib/forge-std/lib/ds-test/src/\",\"forge-std/=lib/forge-std/src/\",\"hardhat/=node_modules/hardhat/\",\"solmate/=node_modules/solmate/\",\"sphinx/=lib/sphinx/packages/contracts/contracts/forge-std/src/\"]},\"sources\":{\"src/JBAddressRegistry.sol\":{\"keccak256\":\"0x938e275702ab7077760775dbadb528e18614547863daf131d9561cf6a675c7ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aae0e7665c7e284c9ff8e20ea5a03f75a25d69e28bec28596617a37fba68274b\",\"dweb:/ipfs/QmTy4UP1neJ81D8uENk5TwBcMc7c9yXw7QZ2S7ij1jcVzH\"]},\"src/interfaces/IJBAddressRegistry.sol\":{\"keccak256\":\"0x984b1f4a0301ee5a5fe44d6d228aa0a60161e0ff69509ef3d5f829c4b154e423\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c1e46de177797b8585c8030377f470ac6737ddf3496f0a3a6b16e01ad7712dab\",\"dweb:/ipfs/QmW771SQMskbmJG9GHJPMhzJGTFpU3JVj2YxFtLSaAb3Xk\"]}},\"version\":1}",
179
+ "gitCommit": "922b48185d8a792b44854cf6d3257339a9d73eaa",
180
+ "history": []
181
+ }
@@ -0,0 +1,181 @@
1
+ {
2
+ "format": "sphinx-sol-ct-artifact-1",
3
+ "merkleRoot": "0x73645f6fb745400c627c587b527553de94ee8472b637350f6d00ced9f9a780a6",
4
+ "address": "0x2d9b78cb37ca724cfb9b32cd8e9a5dc1c88bc7bb",
5
+ "sourceName": "src/JBAddressRegistry.sol",
6
+ "contractName": "JBAddressRegistry",
7
+ "chainId": "0x1",
8
+ "abi": [
9
+ {
10
+ "inputs": [
11
+ {
12
+ "internalType": "address",
13
+ "name": "addr",
14
+ "type": "address"
15
+ }
16
+ ],
17
+ "name": "deployerOf",
18
+ "outputs": [
19
+ {
20
+ "internalType": "address",
21
+ "name": "deployer",
22
+ "type": "address"
23
+ }
24
+ ],
25
+ "stateMutability": "view",
26
+ "type": "function"
27
+ },
28
+ {
29
+ "inputs": [
30
+ {
31
+ "internalType": "address",
32
+ "name": "deployer",
33
+ "type": "address"
34
+ },
35
+ {
36
+ "internalType": "uint256",
37
+ "name": "nonce",
38
+ "type": "uint256"
39
+ }
40
+ ],
41
+ "name": "registerAddress",
42
+ "outputs": [],
43
+ "stateMutability": "nonpayable",
44
+ "type": "function"
45
+ },
46
+ {
47
+ "inputs": [
48
+ {
49
+ "internalType": "address",
50
+ "name": "deployer",
51
+ "type": "address"
52
+ },
53
+ {
54
+ "internalType": "bytes32",
55
+ "name": "salt",
56
+ "type": "bytes32"
57
+ },
58
+ {
59
+ "internalType": "bytes",
60
+ "name": "bytecode",
61
+ "type": "bytes"
62
+ }
63
+ ],
64
+ "name": "registerAddress",
65
+ "outputs": [],
66
+ "stateMutability": "nonpayable",
67
+ "type": "function"
68
+ },
69
+ {
70
+ "anonymous": false,
71
+ "inputs": [
72
+ {
73
+ "indexed": true,
74
+ "internalType": "address",
75
+ "name": "addr",
76
+ "type": "address"
77
+ },
78
+ {
79
+ "indexed": true,
80
+ "internalType": "address",
81
+ "name": "deployer",
82
+ "type": "address"
83
+ },
84
+ {
85
+ "indexed": false,
86
+ "internalType": "address",
87
+ "name": "caller",
88
+ "type": "address"
89
+ }
90
+ ],
91
+ "name": "AddressRegistered",
92
+ "type": "event"
93
+ }
94
+ ],
95
+ "args": [],
96
+ "solcInputHash": "8b17a7bbb5daaf8f633d28603c43b156",
97
+ "receipt": {
98
+ "type": "0x2",
99
+ "status": "0x1",
100
+ "cumulativeGasUsed": "0x4f1866",
101
+ "logs": [
102
+ {
103
+ "address": "0xa2ea7657440875bf916cbfc0cfa88f13e38ad463",
104
+ "topics": [
105
+ "0x572f161235911da04685a68c06adf558fc7e4a36909dca394650e0adc19cc93d",
106
+ "0x000000000000000000000000755ff2f75a0a586ecfa2b9a3c959cb662458a105",
107
+ "0x000000000000000000000000647b5cbcca959a5b3f85d513faa2ba015576d8e9",
108
+ "0xc9076567a91748a355a6ce3609534597b48a5eaa688173069048e83fb96bd8c0"
109
+ ],
110
+ "data": "0x0000000000000000000000000000000000000000000000000000000000000000",
111
+ "blockHash": "0x4cacaad580e4d4052d5fa545c18e2ddbb51b2d8b29950c65059ff1a972fb1c03",
112
+ "blockNumber": "0x14d9d80",
113
+ "blockTimestamp": "0x67b2befb",
114
+ "transactionHash": "0x67efc52c3a9b9a8d77783a22ec83bf37800cc249afae5ee8a0ab6f3be62fda90",
115
+ "transactionIndex": "0x30",
116
+ "logIndex": "0x6d",
117
+ "removed": false
118
+ },
119
+ {
120
+ "address": "0x14293560a2dde4ffa136a647b7a2f927b0774ab6",
121
+ "topics": [
122
+ "0x6895c13664aa4f67288b25d7a21d7aaa34916e355fb9b6fae0a139a9085becb8",
123
+ "0x000000000000000000000000647b5cbcca959a5b3f85d513faa2ba015576d8e9"
124
+ ],
125
+ "data": "0x",
126
+ "blockHash": "0x4cacaad580e4d4052d5fa545c18e2ddbb51b2d8b29950c65059ff1a972fb1c03",
127
+ "blockNumber": "0x14d9d80",
128
+ "blockTimestamp": "0x67b2befb",
129
+ "transactionHash": "0x67efc52c3a9b9a8d77783a22ec83bf37800cc249afae5ee8a0ab6f3be62fda90",
130
+ "transactionIndex": "0x30",
131
+ "logIndex": "0x6e",
132
+ "removed": false
133
+ },
134
+ {
135
+ "address": "0x647b5cbcca959a5b3f85d513faa2ba015576d8e9",
136
+ "topics": [
137
+ "0xa65fb05c5808f5f389d72edeaf719ce38f4cc55c1f69ca3cbfb31c21501caa07",
138
+ "0x73645f6fb745400c627c587b527553de94ee8472b637350f6d00ced9f9a780a6"
139
+ ],
140
+ "data": "0x0000000000000000000000000000000000000000000000000000000000000001",
141
+ "blockHash": "0x4cacaad580e4d4052d5fa545c18e2ddbb51b2d8b29950c65059ff1a972fb1c03",
142
+ "blockNumber": "0x14d9d80",
143
+ "blockTimestamp": "0x67b2befb",
144
+ "transactionHash": "0x67efc52c3a9b9a8d77783a22ec83bf37800cc249afae5ee8a0ab6f3be62fda90",
145
+ "transactionIndex": "0x30",
146
+ "logIndex": "0x6f",
147
+ "removed": false
148
+ },
149
+ {
150
+ "address": "0x647b5cbcca959a5b3f85d513faa2ba015576d8e9",
151
+ "topics": [
152
+ "0x4383d976757d67ca920616be0b6430a681ea9d3dcce8d6d61d4603ca4a9bff63",
153
+ "0x73645f6fb745400c627c587b527553de94ee8472b637350f6d00ced9f9a780a6"
154
+ ],
155
+ "data": "0x",
156
+ "blockHash": "0x4cacaad580e4d4052d5fa545c18e2ddbb51b2d8b29950c65059ff1a972fb1c03",
157
+ "blockNumber": "0x14d9d80",
158
+ "blockTimestamp": "0x67b2befb",
159
+ "transactionHash": "0x67efc52c3a9b9a8d77783a22ec83bf37800cc249afae5ee8a0ab6f3be62fda90",
160
+ "transactionIndex": "0x30",
161
+ "logIndex": "0x70",
162
+ "removed": false
163
+ }
164
+ ],
165
+ "logsBloom": "0x00000000000010000040000000080000020000000000000000000000000000080000000400000000000000000040000000000000000080000000000000000000000000000000200000000000000040000000000000000000000000000000000080000000000000000800000000000000000000000000000000000000000000000800000000000000000104000000000000000000000080000020000000000000004800840000000000000000000000002200000001400000000000000004000000000002000000100000000000000000000000000000000000000000000200000000000000000008000000000000000200000000000080000000000008000000",
166
+ "transactionHash": "0x67efc52c3a9b9a8d77783a22ec83bf37800cc249afae5ee8a0ab6f3be62fda90",
167
+ "transactionIndex": "0x30",
168
+ "blockHash": "0x4cacaad580e4d4052d5fa545c18e2ddbb51b2d8b29950c65059ff1a972fb1c03",
169
+ "blockNumber": "0x14d9d80",
170
+ "gasUsed": "0x91448",
171
+ "effectiveGasPrice": "0x460121aa",
172
+ "from": "0x755ff2f75a0a586ecfa2b9a3c959cb662458a105",
173
+ "to": "0xa2ea7657440875bf916cbfc0cfa88f13e38ad463",
174
+ "contractAddress": null
175
+ },
176
+ "bytecode": "0x608060405234801561000f575f80fd5b506108668061001d5f395ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063416dc73214610043578063b94417ab146100a1578063da3c8b0a146100b6575b5f80fd5b610078610051366004610759565b5f6020819052908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b6100b46100af366004610779565b6100c9565b005b6100b46100c43660046107a1565b6100e5565b5f6100d4838361019f565b90506100e081846106aa565b505050565b5f60ff60f81b858585856040516100fd929190610821565b604051908190038120610174949392916020017fff0000000000000000000000000000000000000000000000000000000000000094909416845260609290921b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001660018401526015830152603582015260550190565b604051602081830303815290604052805190602001205f1c905061019881866106aa565b5050505050565b5f6060825f03610264576040517fd60000000000000000000000000000000000000000000000000000000000000060208201527f940000000000000000000000000000000000000000000000000000000000000060218201527fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606086901b1660228201527f800000000000000000000000000000000000000000000000000000000000000060368201526037015b6040516020818303038152906040529050610697565b607f831161031b576040517fd60000000000000000000000000000000000000000000000000000000000000060208201527f940000000000000000000000000000000000000000000000000000000000000060218201527fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606086901b16602282015260f884901b7fff0000000000000000000000000000000000000000000000000000000000000016603682015260370161024e565b60ff83116103f8576040517fd70000000000000000000000000000000000000000000000000000000000000060208201527f940000000000000000000000000000000000000000000000000000000000000060218201527fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606086901b1660228201527f8100000000000000000000000000000000000000000000000000000000000000603682015260f884901b7fff0000000000000000000000000000000000000000000000000000000000000016603782015260380161024e565b61ffff83116104d6576040517fd80000000000000000000000000000000000000000000000000000000000000060208201527f940000000000000000000000000000000000000000000000000000000000000060218201527fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606086901b1660228201527f820000000000000000000000000000000000000000000000000000000000000060368201527fffff00000000000000000000000000000000000000000000000000000000000060f085901b16603782015260390161024e565b62ffffff83116105b5576040517fd90000000000000000000000000000000000000000000000000000000000000060208201527f940000000000000000000000000000000000000000000000000000000000000060218201527fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606086901b1660228201527f830000000000000000000000000000000000000000000000000000000000000060368201527fffffff000000000000000000000000000000000000000000000000000000000060e885901b166037820152603a0161024e565b6040517fda0000000000000000000000000000000000000000000000000000000000000060208201527f940000000000000000000000000000000000000000000000000000000000000060218201527fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606086901b1660228201527f840000000000000000000000000000000000000000000000000000000000000060368201527fffffffff0000000000000000000000000000000000000000000000000000000060e085901b166037820152603b0160405160208183030381529060405290505b80516020909101205f8190529392505050565b73ffffffffffffffffffffffffffffffffffffffff8281165f818152602081815260409182902080547fffffffffffffffffffffffff000000000000000000000000000000000000000016948616948517905590513381527f7d6162a71c5021da669d43dd6f106854635e56ebf51a7d028ade33473c69c0fc910160405180910390a35050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610754575f80fd5b919050565b5f60208284031215610769575f80fd5b61077282610731565b9392505050565b5f806040838503121561078a575f80fd5b61079383610731565b946020939093013593505050565b5f805f80606085870312156107b4575f80fd5b6107bd85610731565b935060208501359250604085013567ffffffffffffffff808211156107e0575f80fd5b818701915087601f8301126107f3575f80fd5b813581811115610801575f80fd5b886020828501011115610812575f80fd5b95989497505060200194505050565b818382375f910190815291905056fea26469706673582212206f07b6cd7dfc40d2e815caedc2f50b5053bc3afd965325d21fc2ffeb3044113d64736f6c63430008170033",
177
+ "deployedBytecode": "0x608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063416dc73214610043578063b94417ab146100a1578063da3c8b0a146100b6575b5f80fd5b610078610051366004610759565b5f6020819052908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b6100b46100af366004610779565b6100c9565b005b6100b46100c43660046107a1565b6100e5565b5f6100d4838361019f565b90506100e081846106aa565b505050565b5f60ff60f81b858585856040516100fd929190610821565b604051908190038120610174949392916020017fff0000000000000000000000000000000000000000000000000000000000000094909416845260609290921b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001660018401526015830152603582015260550190565b604051602081830303815290604052805190602001205f1c905061019881866106aa565b5050505050565b5f6060825f03610264576040517fd60000000000000000000000000000000000000000000000000000000000000060208201527f940000000000000000000000000000000000000000000000000000000000000060218201527fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606086901b1660228201527f800000000000000000000000000000000000000000000000000000000000000060368201526037015b6040516020818303038152906040529050610697565b607f831161031b576040517fd60000000000000000000000000000000000000000000000000000000000000060208201527f940000000000000000000000000000000000000000000000000000000000000060218201527fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606086901b16602282015260f884901b7fff0000000000000000000000000000000000000000000000000000000000000016603682015260370161024e565b60ff83116103f8576040517fd70000000000000000000000000000000000000000000000000000000000000060208201527f940000000000000000000000000000000000000000000000000000000000000060218201527fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606086901b1660228201527f8100000000000000000000000000000000000000000000000000000000000000603682015260f884901b7fff0000000000000000000000000000000000000000000000000000000000000016603782015260380161024e565b61ffff83116104d6576040517fd80000000000000000000000000000000000000000000000000000000000000060208201527f940000000000000000000000000000000000000000000000000000000000000060218201527fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606086901b1660228201527f820000000000000000000000000000000000000000000000000000000000000060368201527fffff00000000000000000000000000000000000000000000000000000000000060f085901b16603782015260390161024e565b62ffffff83116105b5576040517fd90000000000000000000000000000000000000000000000000000000000000060208201527f940000000000000000000000000000000000000000000000000000000000000060218201527fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606086901b1660228201527f830000000000000000000000000000000000000000000000000000000000000060368201527fffffff000000000000000000000000000000000000000000000000000000000060e885901b166037820152603a0161024e565b6040517fda0000000000000000000000000000000000000000000000000000000000000060208201527f940000000000000000000000000000000000000000000000000000000000000060218201527fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606086901b1660228201527f840000000000000000000000000000000000000000000000000000000000000060368201527fffffffff0000000000000000000000000000000000000000000000000000000060e085901b166037820152603b0160405160208183030381529060405290505b80516020909101205f8190529392505050565b73ffffffffffffffffffffffffffffffffffffffff8281165f818152602081815260409182902080547fffffffffffffffffffffffff000000000000000000000000000000000000000016948616948517905590513381527f7d6162a71c5021da669d43dd6f106854635e56ebf51a7d028ade33473c69c0fc910160405180910390a35050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610754575f80fd5b919050565b5f60208284031215610769575f80fd5b61077282610731565b9392505050565b5f806040838503121561078a575f80fd5b61079383610731565b946020939093013593505050565b5f805f80606085870312156107b4575f80fd5b6107bd85610731565b935060208501359250604085013567ffffffffffffffff808211156107e0575f80fd5b818701915087601f8301126107f3575f80fd5b813581811115610801575f80fd5b886020828501011115610812575f80fd5b95989497505060200194505050565b818382375f910190815291905056fea26469706673582212206f07b6cd7dfc40d2e815caedc2f50b5053bc3afd965325d21fc2ffeb3044113d64736f6c63430008170033",
178
+ "metadata": "{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"deployer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"AddressRegistered\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"}],\"name\":\"deployerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"deployer\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"deployer\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"}],\"name\":\"registerAddress\",\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"deployer\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"bytecode\",\"type\":\"bytes\"}],\"name\":\"registerAddress\",\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"registerAddress(address,bytes32,bytes)\":{\"details\":\"The contract must be deployed using `create2`.The `create2` salt is determined by the deployer's logic. The deployment bytecode can be retrieved offchain (from the deployment transaction) or onchain (with `abi.encodePacked(type(deployedContract).creationCode, abi.encode(constructorArguments))`).\",\"params\":{\"bytecode\":\"The contract's deployment bytecode, including the constructor arguments.\",\"deployer\":\"The address of the contract's deployer.\",\"salt\":\"The `create2` salt used to deploy the contract.\"}},\"registerAddress(address,uint256)\":{\"details\":\"The contract must be deployed using `create`.\",\"params\":{\"deployer\":\"The address of the contract's deployer.\",\"nonce\":\"The nonce used to deploy the contract.\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"deployerOf(address)\":{\"notice\":\"Returns the deployer of a given contract which has been registered.\"},\"registerAddress(address,bytes32,bytes)\":{\"notice\":\"Register a deployed contract's address.\"},\"registerAddress(address,uint256)\":{\"notice\":\"Register a deployed contract's address.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/JBAddressRegistry.sol\":\"JBAddressRegistry\"},\"evmVersion\":\"shanghai\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":10000000},\"remappings\":[\"@eth-optimism/=node_modules/@eth-optimism/\",\"@openzeppelin/=node_modules/@openzeppelin/\",\"@sphinx-labs/contracts/=lib/sphinx/packages/contracts/contracts/foundry/\",\"ds-test/=lib/forge-std/lib/ds-test/src/\",\"forge-std/=lib/forge-std/src/\",\"hardhat/=node_modules/hardhat/\",\"solmate/=node_modules/solmate/\",\"sphinx/=lib/sphinx/packages/contracts/contracts/forge-std/src/\"]},\"sources\":{\"src/JBAddressRegistry.sol\":{\"keccak256\":\"0x938e275702ab7077760775dbadb528e18614547863daf131d9561cf6a675c7ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aae0e7665c7e284c9ff8e20ea5a03f75a25d69e28bec28596617a37fba68274b\",\"dweb:/ipfs/QmTy4UP1neJ81D8uENk5TwBcMc7c9yXw7QZ2S7ij1jcVzH\"]},\"src/interfaces/IJBAddressRegistry.sol\":{\"keccak256\":\"0x984b1f4a0301ee5a5fe44d6d228aa0a60161e0ff69509ef3d5f829c4b154e423\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c1e46de177797b8585c8030377f470ac6737ddf3496f0a3a6b16e01ad7712dab\",\"dweb:/ipfs/QmW771SQMskbmJG9GHJPMhzJGTFpU3JVj2YxFtLSaAb3Xk\"]}},\"version\":1}",
179
+ "gitCommit": "922b48185d8a792b44854cf6d3257339a9d73eaa",
180
+ "history": []
181
+ }