@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,177 @@
1
+ {
2
+ "format": "sphinx-sol-ct-artifact-1",
3
+ "merkleRoot": "0x73645f6fb745400c627c587b527553de94ee8472b637350f6d00ced9f9a780a6",
4
+ "address": "0x2d9b78cb37ca724cfb9b32cd8e9a5dc1c88bc7bb",
5
+ "sourceName": "src/JBAddressRegistry.sol",
6
+ "contractName": "JBAddressRegistry",
7
+ "chainId": "0xa",
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": "0xe5b76",
101
+ "logs": [
102
+ {
103
+ "address": "0xa2ea7657440875bf916cbfc0cfa88f13e38ad463",
104
+ "topics": [
105
+ "0x572f161235911da04685a68c06adf558fc7e4a36909dca394650e0adc19cc93d",
106
+ "0x000000000000000000000000755ff2f75a0a586ecfa2b9a3c959cb662458a105",
107
+ "0x000000000000000000000000647b5cbcca959a5b3f85d513faa2ba015576d8e9",
108
+ "0x460c87c8ddbb550ff3e0ade21c649c0356b501a85bc04fedf6801bcef64e8e99"
109
+ ],
110
+ "data": "0x0000000000000000000000000000000000000000000000000000000000000000",
111
+ "blockHash": "0x28ab04e3d665eeed33d2b39ff6857700cf0f1ba9daffb6a327101b33df256ba9",
112
+ "blockNumber": "0x7df7298",
113
+ "transactionHash": "0xefb6ac8284190563ea442ead15b43c449c04a97f727b00a9b659a73f10f781bb",
114
+ "transactionIndex": "0x4",
115
+ "logIndex": "0x6",
116
+ "removed": false
117
+ },
118
+ {
119
+ "address": "0x14293560a2dde4ffa136a647b7a2f927b0774ab6",
120
+ "topics": [
121
+ "0x6895c13664aa4f67288b25d7a21d7aaa34916e355fb9b6fae0a139a9085becb8",
122
+ "0x000000000000000000000000647b5cbcca959a5b3f85d513faa2ba015576d8e9"
123
+ ],
124
+ "data": "0x",
125
+ "blockHash": "0x28ab04e3d665eeed33d2b39ff6857700cf0f1ba9daffb6a327101b33df256ba9",
126
+ "blockNumber": "0x7df7298",
127
+ "transactionHash": "0xefb6ac8284190563ea442ead15b43c449c04a97f727b00a9b659a73f10f781bb",
128
+ "transactionIndex": "0x4",
129
+ "logIndex": "0x7",
130
+ "removed": false
131
+ },
132
+ {
133
+ "address": "0x647b5cbcca959a5b3f85d513faa2ba015576d8e9",
134
+ "topics": [
135
+ "0xa65fb05c5808f5f389d72edeaf719ce38f4cc55c1f69ca3cbfb31c21501caa07",
136
+ "0x73645f6fb745400c627c587b527553de94ee8472b637350f6d00ced9f9a780a6"
137
+ ],
138
+ "data": "0x0000000000000000000000000000000000000000000000000000000000000001",
139
+ "blockHash": "0x28ab04e3d665eeed33d2b39ff6857700cf0f1ba9daffb6a327101b33df256ba9",
140
+ "blockNumber": "0x7df7298",
141
+ "transactionHash": "0xefb6ac8284190563ea442ead15b43c449c04a97f727b00a9b659a73f10f781bb",
142
+ "transactionIndex": "0x4",
143
+ "logIndex": "0x8",
144
+ "removed": false
145
+ },
146
+ {
147
+ "address": "0x647b5cbcca959a5b3f85d513faa2ba015576d8e9",
148
+ "topics": [
149
+ "0x4383d976757d67ca920616be0b6430a681ea9d3dcce8d6d61d4603ca4a9bff63",
150
+ "0x73645f6fb745400c627c587b527553de94ee8472b637350f6d00ced9f9a780a6"
151
+ ],
152
+ "data": "0x",
153
+ "blockHash": "0x28ab04e3d665eeed33d2b39ff6857700cf0f1ba9daffb6a327101b33df256ba9",
154
+ "blockNumber": "0x7df7298",
155
+ "transactionHash": "0xefb6ac8284190563ea442ead15b43c449c04a97f727b00a9b659a73f10f781bb",
156
+ "transactionIndex": "0x4",
157
+ "logIndex": "0x9",
158
+ "removed": false
159
+ }
160
+ ],
161
+ "logsBloom": "0x00000000000010000040000000080000020000000000000000000000000000000000000400000000000000000040000000000000000000000000000000480000000000000000200000000000000040000000000000000000000000000000000080000000000000000800000000000000000000000000000000000000000000000800000000000000000104000000000000000000000000000020000000000000004800840000000000000000000000002200000001400000000000000004000000000002000000100000000000000000000000000000000000000100000200000000000000000008000000000000000200000000000080000000000008000000",
162
+ "transactionHash": "0xefb6ac8284190563ea442ead15b43c449c04a97f727b00a9b659a73f10f781bb",
163
+ "transactionIndex": "0x4",
164
+ "blockHash": "0x28ab04e3d665eeed33d2b39ff6857700cf0f1ba9daffb6a327101b33df256ba9",
165
+ "blockNumber": "0x7df7298",
166
+ "gasUsed": "0x91454",
167
+ "effectiveGasPrice": "0x24ad76",
168
+ "from": "0x755ff2f75a0a586ecfa2b9a3c959cb662458a105",
169
+ "to": "0xa2ea7657440875bf916cbfc0cfa88f13e38ad463",
170
+ "contractAddress": null
171
+ },
172
+ "bytecode": "0x608060405234801561000f575f80fd5b506108668061001d5f395ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063416dc73214610043578063b94417ab146100a1578063da3c8b0a146100b6575b5f80fd5b610078610051366004610759565b5f6020819052908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b6100b46100af366004610779565b6100c9565b005b6100b46100c43660046107a1565b6100e5565b5f6100d4838361019f565b90506100e081846106aa565b505050565b5f60ff60f81b858585856040516100fd929190610821565b604051908190038120610174949392916020017fff0000000000000000000000000000000000000000000000000000000000000094909416845260609290921b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001660018401526015830152603582015260550190565b604051602081830303815290604052805190602001205f1c905061019881866106aa565b5050505050565b5f6060825f03610264576040517fd60000000000000000000000000000000000000000000000000000000000000060208201527f940000000000000000000000000000000000000000000000000000000000000060218201527fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606086901b1660228201527f800000000000000000000000000000000000000000000000000000000000000060368201526037015b6040516020818303038152906040529050610697565b607f831161031b576040517fd60000000000000000000000000000000000000000000000000000000000000060208201527f940000000000000000000000000000000000000000000000000000000000000060218201527fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606086901b16602282015260f884901b7fff0000000000000000000000000000000000000000000000000000000000000016603682015260370161024e565b60ff83116103f8576040517fd70000000000000000000000000000000000000000000000000000000000000060208201527f940000000000000000000000000000000000000000000000000000000000000060218201527fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606086901b1660228201527f8100000000000000000000000000000000000000000000000000000000000000603682015260f884901b7fff0000000000000000000000000000000000000000000000000000000000000016603782015260380161024e565b61ffff83116104d6576040517fd80000000000000000000000000000000000000000000000000000000000000060208201527f940000000000000000000000000000000000000000000000000000000000000060218201527fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606086901b1660228201527f820000000000000000000000000000000000000000000000000000000000000060368201527fffff00000000000000000000000000000000000000000000000000000000000060f085901b16603782015260390161024e565b62ffffff83116105b5576040517fd90000000000000000000000000000000000000000000000000000000000000060208201527f940000000000000000000000000000000000000000000000000000000000000060218201527fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606086901b1660228201527f830000000000000000000000000000000000000000000000000000000000000060368201527fffffff000000000000000000000000000000000000000000000000000000000060e885901b166037820152603a0161024e565b6040517fda0000000000000000000000000000000000000000000000000000000000000060208201527f940000000000000000000000000000000000000000000000000000000000000060218201527fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606086901b1660228201527f840000000000000000000000000000000000000000000000000000000000000060368201527fffffffff0000000000000000000000000000000000000000000000000000000060e085901b166037820152603b0160405160208183030381529060405290505b80516020909101205f8190529392505050565b73ffffffffffffffffffffffffffffffffffffffff8281165f818152602081815260409182902080547fffffffffffffffffffffffff000000000000000000000000000000000000000016948616948517905590513381527f7d6162a71c5021da669d43dd6f106854635e56ebf51a7d028ade33473c69c0fc910160405180910390a35050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610754575f80fd5b919050565b5f60208284031215610769575f80fd5b61077282610731565b9392505050565b5f806040838503121561078a575f80fd5b61079383610731565b946020939093013593505050565b5f805f80606085870312156107b4575f80fd5b6107bd85610731565b935060208501359250604085013567ffffffffffffffff808211156107e0575f80fd5b818701915087601f8301126107f3575f80fd5b813581811115610801575f80fd5b886020828501011115610812575f80fd5b95989497505060200194505050565b818382375f910190815291905056fea26469706673582212206f07b6cd7dfc40d2e815caedc2f50b5053bc3afd965325d21fc2ffeb3044113d64736f6c63430008170033",
173
+ "deployedBytecode": "0x608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063416dc73214610043578063b94417ab146100a1578063da3c8b0a146100b6575b5f80fd5b610078610051366004610759565b5f6020819052908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b6100b46100af366004610779565b6100c9565b005b6100b46100c43660046107a1565b6100e5565b5f6100d4838361019f565b90506100e081846106aa565b505050565b5f60ff60f81b858585856040516100fd929190610821565b604051908190038120610174949392916020017fff0000000000000000000000000000000000000000000000000000000000000094909416845260609290921b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001660018401526015830152603582015260550190565b604051602081830303815290604052805190602001205f1c905061019881866106aa565b5050505050565b5f6060825f03610264576040517fd60000000000000000000000000000000000000000000000000000000000000060208201527f940000000000000000000000000000000000000000000000000000000000000060218201527fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606086901b1660228201527f800000000000000000000000000000000000000000000000000000000000000060368201526037015b6040516020818303038152906040529050610697565b607f831161031b576040517fd60000000000000000000000000000000000000000000000000000000000000060208201527f940000000000000000000000000000000000000000000000000000000000000060218201527fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606086901b16602282015260f884901b7fff0000000000000000000000000000000000000000000000000000000000000016603682015260370161024e565b60ff83116103f8576040517fd70000000000000000000000000000000000000000000000000000000000000060208201527f940000000000000000000000000000000000000000000000000000000000000060218201527fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606086901b1660228201527f8100000000000000000000000000000000000000000000000000000000000000603682015260f884901b7fff0000000000000000000000000000000000000000000000000000000000000016603782015260380161024e565b61ffff83116104d6576040517fd80000000000000000000000000000000000000000000000000000000000000060208201527f940000000000000000000000000000000000000000000000000000000000000060218201527fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606086901b1660228201527f820000000000000000000000000000000000000000000000000000000000000060368201527fffff00000000000000000000000000000000000000000000000000000000000060f085901b16603782015260390161024e565b62ffffff83116105b5576040517fd90000000000000000000000000000000000000000000000000000000000000060208201527f940000000000000000000000000000000000000000000000000000000000000060218201527fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606086901b1660228201527f830000000000000000000000000000000000000000000000000000000000000060368201527fffffff000000000000000000000000000000000000000000000000000000000060e885901b166037820152603a0161024e565b6040517fda0000000000000000000000000000000000000000000000000000000000000060208201527f940000000000000000000000000000000000000000000000000000000000000060218201527fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606086901b1660228201527f840000000000000000000000000000000000000000000000000000000000000060368201527fffffffff0000000000000000000000000000000000000000000000000000000060e085901b166037820152603b0160405160208183030381529060405290505b80516020909101205f8190529392505050565b73ffffffffffffffffffffffffffffffffffffffff8281165f818152602081815260409182902080547fffffffffffffffffffffffff000000000000000000000000000000000000000016948616948517905590513381527f7d6162a71c5021da669d43dd6f106854635e56ebf51a7d028ade33473c69c0fc910160405180910390a35050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610754575f80fd5b919050565b5f60208284031215610769575f80fd5b61077282610731565b9392505050565b5f806040838503121561078a575f80fd5b61079383610731565b946020939093013593505050565b5f805f80606085870312156107b4575f80fd5b6107bd85610731565b935060208501359250604085013567ffffffffffffffff808211156107e0575f80fd5b818701915087601f8301126107f3575f80fd5b813581811115610801575f80fd5b886020828501011115610812575f80fd5b95989497505060200194505050565b818382375f910190815291905056fea26469706673582212206f07b6cd7dfc40d2e815caedc2f50b5053bc3afd965325d21fc2ffeb3044113d64736f6c63430008170033",
174
+ "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}",
175
+ "gitCommit": "922b48185d8a792b44854cf6d3257339a9d73eaa",
176
+ "history": []
177
+ }
@@ -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": "0xaa37dc",
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": "0x9bfab",
101
+ "logs": [
102
+ {
103
+ "address": "0xa2ea7657440875bf916cbfc0cfa88f13e38ad463",
104
+ "topics": [
105
+ "0x572f161235911da04685a68c06adf558fc7e4a36909dca394650e0adc19cc93d",
106
+ "0x000000000000000000000000755ff2f75a0a586ecfa2b9a3c959cb662458a105",
107
+ "0x000000000000000000000000647b5cbcca959a5b3f85d513faa2ba015576d8e9",
108
+ "0xa786068324185dffc7913e56561a1bf0e5700489ced4e2b518bd615e5cceb172"
109
+ ],
110
+ "data": "0x0000000000000000000000000000000000000000000000000000000000000000",
111
+ "blockHash": "0xac4f0512a34fa32dc6bfd2a7f9302525ee1cdc22e8f6f8b346510a00afe42659",
112
+ "blockNumber": "0x16df1ff",
113
+ "blockTimestamp": "0x67b2bfaa",
114
+ "transactionHash": "0xcc7d1e3550f374c30809cefe04879167598aa42c3b13aac99bee21c108d9c213",
115
+ "transactionIndex": "0x1",
116
+ "logIndex": "0x0",
117
+ "removed": false
118
+ },
119
+ {
120
+ "address": "0x14293560a2dde4ffa136a647b7a2f927b0774ab6",
121
+ "topics": [
122
+ "0x6895c13664aa4f67288b25d7a21d7aaa34916e355fb9b6fae0a139a9085becb8",
123
+ "0x000000000000000000000000647b5cbcca959a5b3f85d513faa2ba015576d8e9"
124
+ ],
125
+ "data": "0x",
126
+ "blockHash": "0xac4f0512a34fa32dc6bfd2a7f9302525ee1cdc22e8f6f8b346510a00afe42659",
127
+ "blockNumber": "0x16df1ff",
128
+ "blockTimestamp": "0x67b2bfaa",
129
+ "transactionHash": "0xcc7d1e3550f374c30809cefe04879167598aa42c3b13aac99bee21c108d9c213",
130
+ "transactionIndex": "0x1",
131
+ "logIndex": "0x1",
132
+ "removed": false
133
+ },
134
+ {
135
+ "address": "0x647b5cbcca959a5b3f85d513faa2ba015576d8e9",
136
+ "topics": [
137
+ "0xa65fb05c5808f5f389d72edeaf719ce38f4cc55c1f69ca3cbfb31c21501caa07",
138
+ "0x77a78f2f9d08ef0cfff52c5bd2782efa240738cc07884a1541c5fbd24fb50e60"
139
+ ],
140
+ "data": "0x0000000000000000000000000000000000000000000000000000000000000001",
141
+ "blockHash": "0xac4f0512a34fa32dc6bfd2a7f9302525ee1cdc22e8f6f8b346510a00afe42659",
142
+ "blockNumber": "0x16df1ff",
143
+ "blockTimestamp": "0x67b2bfaa",
144
+ "transactionHash": "0xcc7d1e3550f374c30809cefe04879167598aa42c3b13aac99bee21c108d9c213",
145
+ "transactionIndex": "0x1",
146
+ "logIndex": "0x2",
147
+ "removed": false
148
+ },
149
+ {
150
+ "address": "0x647b5cbcca959a5b3f85d513faa2ba015576d8e9",
151
+ "topics": [
152
+ "0x4383d976757d67ca920616be0b6430a681ea9d3dcce8d6d61d4603ca4a9bff63",
153
+ "0x77a78f2f9d08ef0cfff52c5bd2782efa240738cc07884a1541c5fbd24fb50e60"
154
+ ],
155
+ "data": "0x",
156
+ "blockHash": "0xac4f0512a34fa32dc6bfd2a7f9302525ee1cdc22e8f6f8b346510a00afe42659",
157
+ "blockNumber": "0x16df1ff",
158
+ "blockTimestamp": "0x67b2bfaa",
159
+ "transactionHash": "0xcc7d1e3550f374c30809cefe04879167598aa42c3b13aac99bee21c108d9c213",
160
+ "transactionIndex": "0x1",
161
+ "logIndex": "0x3",
162
+ "removed": false
163
+ }
164
+ ],
165
+ "logsBloom": "0x00000000040010000000000000080000020000000000000000000000000000000000000000002000000000000040000000000000000000000010000000000000000000000000240000000000000000000000000000000000000000000000000080000000000000000800000000000000000000000000000000000000000000100840000000000000000104000000000000000000000000000020000000000000004800840000000000000000000000002200000001400000000000000004000000000002000000100000000000000000000000000000000000000000000200000000000000000008000000000000000200000000000080000000000008000000",
166
+ "transactionHash": "0xcc7d1e3550f374c30809cefe04879167598aa42c3b13aac99bee21c108d9c213",
167
+ "transactionIndex": "0x1",
168
+ "blockHash": "0xac4f0512a34fa32dc6bfd2a7f9302525ee1cdc22e8f6f8b346510a00afe42659",
169
+ "blockNumber": "0x16df1ff",
170
+ "gasUsed": "0x9146c",
171
+ "effectiveGasPrice": "0x24a02d",
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": "0xaa36a7",
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": "0x96674",
101
+ "logs": [
102
+ {
103
+ "address": "0xa2ea7657440875bf916cbfc0cfa88f13e38ad463",
104
+ "topics": [
105
+ "0x572f161235911da04685a68c06adf558fc7e4a36909dca394650e0adc19cc93d",
106
+ "0x000000000000000000000000755ff2f75a0a586ecfa2b9a3c959cb662458a105",
107
+ "0x000000000000000000000000647b5cbcca959a5b3f85d513faa2ba015576d8e9",
108
+ "0xd8c0135e5fe31e7065d4cfa2d95cbd9e89d2bc056808d3df5479282da69c1b07"
109
+ ],
110
+ "data": "0x0000000000000000000000000000000000000000000000000000000000000000",
111
+ "blockHash": "0x1df5f20eb763825f2bd70afd586c47910199cf0988b118ade97ef2ae53a389d5",
112
+ "blockNumber": "0x75de5d",
113
+ "blockTimestamp": "0x67b2bfbc",
114
+ "transactionHash": "0x01c9fc0dc4d76539157057ef1bcd4a7b29e1c70d5e85aa9ca4134eb5ca880aa4",
115
+ "transactionIndex": "0x1",
116
+ "logIndex": "0x0",
117
+ "removed": false
118
+ },
119
+ {
120
+ "address": "0x14293560a2dde4ffa136a647b7a2f927b0774ab6",
121
+ "topics": [
122
+ "0x6895c13664aa4f67288b25d7a21d7aaa34916e355fb9b6fae0a139a9085becb8",
123
+ "0x000000000000000000000000647b5cbcca959a5b3f85d513faa2ba015576d8e9"
124
+ ],
125
+ "data": "0x",
126
+ "blockHash": "0x1df5f20eb763825f2bd70afd586c47910199cf0988b118ade97ef2ae53a389d5",
127
+ "blockNumber": "0x75de5d",
128
+ "blockTimestamp": "0x67b2bfbc",
129
+ "transactionHash": "0x01c9fc0dc4d76539157057ef1bcd4a7b29e1c70d5e85aa9ca4134eb5ca880aa4",
130
+ "transactionIndex": "0x1",
131
+ "logIndex": "0x1",
132
+ "removed": false
133
+ },
134
+ {
135
+ "address": "0x647b5cbcca959a5b3f85d513faa2ba015576d8e9",
136
+ "topics": [
137
+ "0xa65fb05c5808f5f389d72edeaf719ce38f4cc55c1f69ca3cbfb31c21501caa07",
138
+ "0x77a78f2f9d08ef0cfff52c5bd2782efa240738cc07884a1541c5fbd24fb50e60"
139
+ ],
140
+ "data": "0x0000000000000000000000000000000000000000000000000000000000000001",
141
+ "blockHash": "0x1df5f20eb763825f2bd70afd586c47910199cf0988b118ade97ef2ae53a389d5",
142
+ "blockNumber": "0x75de5d",
143
+ "blockTimestamp": "0x67b2bfbc",
144
+ "transactionHash": "0x01c9fc0dc4d76539157057ef1bcd4a7b29e1c70d5e85aa9ca4134eb5ca880aa4",
145
+ "transactionIndex": "0x1",
146
+ "logIndex": "0x2",
147
+ "removed": false
148
+ },
149
+ {
150
+ "address": "0x647b5cbcca959a5b3f85d513faa2ba015576d8e9",
151
+ "topics": [
152
+ "0x4383d976757d67ca920616be0b6430a681ea9d3dcce8d6d61d4603ca4a9bff63",
153
+ "0x77a78f2f9d08ef0cfff52c5bd2782efa240738cc07884a1541c5fbd24fb50e60"
154
+ ],
155
+ "data": "0x",
156
+ "blockHash": "0x1df5f20eb763825f2bd70afd586c47910199cf0988b118ade97ef2ae53a389d5",
157
+ "blockNumber": "0x75de5d",
158
+ "blockTimestamp": "0x67b2bfbc",
159
+ "transactionHash": "0x01c9fc0dc4d76539157057ef1bcd4a7b29e1c70d5e85aa9ca4134eb5ca880aa4",
160
+ "transactionIndex": "0x1",
161
+ "logIndex": "0x3",
162
+ "removed": false
163
+ }
164
+ ],
165
+ "logsBloom": "0x00000000000010000000000000080000020000000000000000000000000000000000000000002000000000000040000000000000000000000010000000000000000000000000200000000000000000000000000000000000000000000000000080000000000000000800000000000000000000000000000000000000000000000840000000000000000104000000020000000000000000000020000000000000004800840000000000000000000000002200000001400000000000000004000000000002000000100000000000000000000000000000000000200000000200000000000000000008000000000000000200000000000280000000000008000000",
166
+ "transactionHash": "0x01c9fc0dc4d76539157057ef1bcd4a7b29e1c70d5e85aa9ca4134eb5ca880aa4",
167
+ "transactionIndex": "0x1",
168
+ "blockHash": "0x1df5f20eb763825f2bd70afd586c47910199cf0988b118ade97ef2ae53a389d5",
169
+ "blockNumber": "0x75de5d",
170
+ "gasUsed": "0x9146c",
171
+ "effectiveGasPrice": "0x2c84f1e89",
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
+ }
package/docs/book.css ADDED
@@ -0,0 +1,13 @@
1
+ table {
2
+ margin: 0 auto;
3
+ border-collapse: collapse;
4
+ width: 100%;
5
+ }
6
+
7
+ table td:first-child {
8
+ width: 15%;
9
+ }
10
+
11
+ table td:nth-child(2) {
12
+ width: 25%;
13
+ }
package/docs/book.toml ADDED
@@ -0,0 +1,12 @@
1
+ [book]
2
+ src = "src"
3
+ title = ""
4
+
5
+ [output.html]
6
+ no-section-label = true
7
+ additional-js = ["solidity.min.js"]
8
+ additional-css = ["book.css"]
9
+ git-repository-url = "https://github.com/Bananapus/nana-address-registry"
10
+
11
+ [output.html.fold]
12
+ enable = true