{"_id":"@bananapus/address-registry","_rev":"7-ad508e63e3f228c9a5be307f5eea1eea","name":"@bananapus/address-registry","dist-tags":{"latest":"1.0.0"},"versions":{"0.0.1":{"name":"@bananapus/address-registry","version":"0.0.1","license":"MIT","_id":"@bananapus/address-registry@0.0.1","maintainers":[{"name":"filipviz","email":"f@filip.world"},{"name":"simplemachine","email":"justinpulley92@gmail.com"},{"name":"me.jango","email":"me.jango@protonmail.com"}],"homepage":"https://github.com/Bananapus/nana-address-registry#readme","bugs":{"url":"https://github.com/Bananapus/nana-address-registry/issues"},"dist":{"shasum":"9c69730cf71240dfab5f08a5b97911fac1dd2611","tarball":"https://registry.npmjs.org/@bananapus/address-registry/-/address-registry-0.0.1.tgz","fileCount":11,"integrity":"sha512-ErcUP031L6Pe2e5yK93qmhACzHS1l8XBYp7qiJr2mJVTLdfncss5JJyOV+bPreffdmYIXp3R3og/wutOHmJiBw==","signatures":[{"sig":"MEUCIQDRQQ3Zf71nnF09pSHbZ8D2DsmUHqzH8VzxdkkagZxH/QIgGiKoXgnG3h7pypFYorUuJ8gCsBe+s0KEzciO8J/QmDE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":32741},"gitHead":"9e7afc0264aeee3213d4e1a919eb5011bad91a88","scripts":{"test":"forge test","test:fork":"FOUNDRY_PROFILE=CI forge test","coverage:integration":"forge coverage --match-path \"./src/*.sol\" --report lcov --report summary","deploy:ethereum-mainnet":"source .env && forge script Deploy --chain-id 1 --rpc-url $RPC_ETHEREUM_MAINNET --broadcast --verify --etherscan-api-key $ETHERSCAN_API_KEY --interactives 1 --sender $SENDER_ETHEREUM_MAINNET -vvv","deploy:ethereum-sepolia":"source .env && forge script Deploy --chain-id 11155111 --rpc-url $RPC_ETHEREUM_SEPOLIA --broadcast --verify --etherscan-api-key $ETHERSCAN_API_KEY --interactives 1 --sender $SENDER_ETHEREUM_SEPOLIA -vvv","deploy:optimism-mainnet":"source .env && forge script Deploy --chain-id 420 --rpc-url $RPC_OPTIMISM_MAINNET --broadcast --verify --etherscan-api-key $OPTIMISTIC_ETHERSCAN_API_KEY --interactives 1 --sender $SENDER_OPTIMISM_MAINNET -vvv","deploy:optimism-sepolia":"source .env && forge script Deploy --chain-id 11155420 --rpc-url $RPC_OPTIMISM_SEPOLIA --broadcast --verify --etherscan-api-key $OPTIMISTIC_ETHERSCAN_API_KEY --interactives 1 --sender $SENDER_OPTIMISM_SEPOLIA -vvv"},"_npmUser":{"name":"me.jango","email":"me.jango@protonmail.com"},"repository":{"url":"git+https://github.com/Bananapus/nana-address-registry.git","type":"git"},"_npmVersion":"10.2.3","description":"Provides an accessible function linking pay/redeem hooks with their corresponding deployer addresses.","directories":{},"_nodeVersion":"18.19.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/address-registry_0.0.1_1707929861584_0.81595201493432","host":"s3://npm-registry-packages"}},"0.0.2":{"name":"@bananapus/address-registry","version":"0.0.2","license":"MIT","_id":"@bananapus/address-registry@0.0.2","maintainers":[{"name":"filipviz","email":"f@filip.world"},{"name":"simplemachine","email":"justinpulley92@gmail.com"},{"name":"me.jango","email":"me.jango@protonmail.com"}],"homepage":"https://github.com/Bananapus/nana-address-registry#readme","bugs":{"url":"https://github.com/Bananapus/nana-address-registry/issues"},"dist":{"shasum":"46b76bf94386b516031ecca60ce66d31c63fabca","tarball":"https://registry.npmjs.org/@bananapus/address-registry/-/address-registry-0.0.2.tgz","fileCount":11,"integrity":"sha512-hFvioic6XJHbXec7vvNH3MezvzCTipSc0jwa6OfRlmjLphbd1j7NWGZ9krTb2jMP69+XvC8FiBCMcGqT0AP62w==","signatures":[{"sig":"MEUCIFgqGvHIFOd+EWX5J6yq/qUvW0WtrNRAPWwQdkxyz6ehAiEAts8qU1MGpGAy7WS/+kNIq44yg89WQpJjxog+KIHLpsw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":32741},"gitHead":"cd06700d512d09514f6f86ef576fdf71120b82c7","scripts":{"test":"forge test","test:fork":"FOUNDRY_PROFILE=CI forge test","coverage:integration":"forge coverage --match-path \"./src/*.sol\" --report lcov --report summary","deploy:ethereum-mainnet":"source .env && forge script Deploy --chain-id 1 --rpc-url $RPC_ETHEREUM_MAINNET --broadcast --verify --etherscan-api-key $ETHERSCAN_API_KEY --interactives 1 --sender $SENDER_ETHEREUM_MAINNET -vvv","deploy:ethereum-sepolia":"source .env && forge script Deploy --chain-id 11155111 --rpc-url $RPC_ETHEREUM_SEPOLIA --broadcast --verify --etherscan-api-key $ETHERSCAN_API_KEY --interactives 1 --sender $SENDER_ETHEREUM_SEPOLIA -vvv","deploy:optimism-mainnet":"source .env && forge script Deploy --chain-id 420 --rpc-url $RPC_OPTIMISM_MAINNET --broadcast --verify --etherscan-api-key $OPTIMISTIC_ETHERSCAN_API_KEY --interactives 1 --sender $SENDER_OPTIMISM_MAINNET -vvv","deploy:optimism-sepolia":"source .env && forge script Deploy --chain-id 11155420 --rpc-url $RPC_OPTIMISM_SEPOLIA --broadcast --verify --etherscan-api-key $OPTIMISTIC_ETHERSCAN_API_KEY --interactives 1 --sender $SENDER_OPTIMISM_SEPOLIA -vvv"},"_npmUser":{"name":"me.jango","email":"me.jango@protonmail.com"},"repository":{"url":"git+https://github.com/Bananapus/nana-address-registry.git","type":"git"},"_npmVersion":"10.2.4","description":"Provides an accessible function linking pay/redeem hooks with their corresponding deployer addresses.","directories":{},"_nodeVersion":"18.19.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/address-registry_0.0.2_1708723028638_0.7382750050941584","host":"s3://npm-registry-packages"}},"0.0.3":{"name":"@bananapus/address-registry","version":"0.0.3","license":"MIT","_id":"@bananapus/address-registry@0.0.3","maintainers":[{"name":"filipviz","email":"f@filip.world"},{"name":"simplemachine","email":"justinpulley92@gmail.com"},{"name":"me.jango","email":"me.jango@protonmail.com"}],"homepage":"https://github.com/Bananapus/nana-address-registry#readme","bugs":{"url":"https://github.com/Bananapus/nana-address-registry/issues"},"dist":{"shasum":"ce5aeef108d896392fc0bf09937db9967f047361","tarball":"https://registry.npmjs.org/@bananapus/address-registry/-/address-registry-0.0.3.tgz","fileCount":11,"integrity":"sha512-D0RhEoVHF59wmgMAQxvLwLxf4k0A8bruX23Udw+NBNUed3LOjWj2dEu4rs40+0DFLxGUPqsL9/sBQC1QWNLVqw==","signatures":[{"sig":"MEQCIAZVssArOoKkolJdfjFjOxolGdmDrc6XVoSXCRwUxVEqAiAS4QC8b1F9PLAQLtHkA9kys6bMtsPVwXmiMG0Na+qxTA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":32739},"gitHead":"30e850241f45e789061747f5f9f452ac7baa8069","scripts":{"test":"forge test","test:fork":"FOUNDRY_PROFILE=CI forge test","coverage:integration":"forge coverage --match-path \"./src/*.sol\" --report lcov --report summary","deploy:ethereum-mainnet":"source .env && forge script Deploy --chain-id 1 --rpc-url $RPC_ETHEREUM_MAINNET --broadcast --verify --etherscan-api-key $ETHERSCAN_API_KEY --interactives 1 --sender $SENDER_ETHEREUM_MAINNET -vvv","deploy:ethereum-sepolia":"source .env && forge script Deploy --chain-id 11155111 --rpc-url $RPC_ETHEREUM_SEPOLIA --broadcast --verify --etherscan-api-key $ETHERSCAN_API_KEY --interactives 1 --sender $SENDER_ETHEREUM_SEPOLIA -vvv","deploy:optimism-mainnet":"source .env && forge script Deploy --chain-id 420 --rpc-url $RPC_OPTIMISM_MAINNET --broadcast --verify --etherscan-api-key $OPTIMISTIC_ETHERSCAN_API_KEY --interactives 1 --sender $SENDER_OPTIMISM_MAINNET -vvv","deploy:optimism-sepolia":"source .env && forge script Deploy --chain-id 11155420 --rpc-url $RPC_OPTIMISM_SEPOLIA --broadcast --verify --etherscan-api-key $OPTIMISTIC_ETHERSCAN_API_KEY --interactives 1 --sender $SENDER_OPTIMISM_SEPOLIA -vvv"},"_npmUser":{"name":"me.jango","email":"me.jango@protonmail.com"},"repository":{"url":"git+https://github.com/Bananapus/nana-address-registry.git","type":"git"},"_npmVersion":"10.2.4","description":"Provides an accessible function linking pay/redeem hooks with their corresponding deployer addresses.","directories":{},"_nodeVersion":"18.19.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/address-registry_0.0.3_1708723604503_0.7981842451034664","host":"s3://npm-registry-packages"}},"0.0.4":{"name":"@bananapus/address-registry","version":"0.0.4","license":"MIT","_id":"@bananapus/address-registry@0.0.4","maintainers":[{"name":"filipviz","email":"f@filip.world"},{"name":"simplemachine","email":"justinpulley92@gmail.com"},{"name":"me.jango","email":"me.jango@protonmail.com"}],"homepage":"https://github.com/Bananapus/nana-address-registry#readme","bugs":{"url":"https://github.com/Bananapus/nana-address-registry/issues"},"dist":{"shasum":"a9a4b96726d64a471dca347662bdba1e5d33342a","tarball":"https://registry.npmjs.org/@bananapus/address-registry/-/address-registry-0.0.4.tgz","fileCount":12,"integrity":"sha512-3VHv3IcgQqzvzijZXuQCSjQP30SiXb6njfdYPBzKRljNVWp0vQUUahicNpzUjuyzymAdQcgSH8xQBZedf3kT/w==","signatures":[{"sig":"MEUCIBmazyp4dLIL9HkGKXmxONjy5ik3h8g6qP5WaAY+wdSmAiEA2NLJQKznlVyJ22l9UH2ryHtuYG3nGgRQmeeSDnp96ic=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":33478},"gitHead":"32f2229cce52b2b211a85f9f32a2283783cbfb72","scripts":{"test":"forge test","test:fork":"FOUNDRY_PROFILE=CI forge test","coverage:integration":"forge coverage --match-path \"./src/*.sol\" --report lcov --report summary","deploy:ethereum-mainnet":"source .env && forge script Deploy --chain-id 1 --rpc-url $RPC_ETHEREUM_MAINNET --broadcast --verify --etherscan-api-key $ETHERSCAN_API_KEY --interactives 1 --sender $SENDER_ETHEREUM_MAINNET -vvv","deploy:ethereum-sepolia":"source .env && forge script Deploy --chain-id 11155111 --rpc-url $RPC_ETHEREUM_SEPOLIA --broadcast --verify --etherscan-api-key $ETHERSCAN_API_KEY --interactives 1 --sender $SENDER_ETHEREUM_SEPOLIA -vvv","deploy:optimism-mainnet":"source .env && forge script Deploy --chain-id 420 --rpc-url $RPC_OPTIMISM_MAINNET --broadcast --verify --etherscan-api-key $OPTIMISTIC_ETHERSCAN_API_KEY --interactives 1 --sender $SENDER_OPTIMISM_MAINNET -vvv","deploy:optimism-sepolia":"source .env && forge script Deploy --chain-id 11155420 --rpc-url $RPC_OPTIMISM_SEPOLIA --broadcast --verify --etherscan-api-key $OPTIMISTIC_ETHERSCAN_API_KEY --interactives 1 --sender $SENDER_OPTIMISM_SEPOLIA -vvv"},"_npmUser":{"name":"me.jango","email":"me.jango@protonmail.com"},"repository":{"url":"git+https://github.com/Bananapus/nana-address-registry.git","type":"git"},"_npmVersion":"10.5.0","description":"Frontend clients need a way to verify that a Juicebox contract has a deployer they trust. `JBAddressRegistry` allows any contract deployed with `create` or `create2` to publicly register its deployer's address. Whoever deploys a contract is responsible fo","directories":{},"_nodeVersion":"21.7.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/address-registry_0.0.4_1711984095991_0.6563084746262848","host":"s3://npm-registry-packages"}},"0.0.5":{"name":"@bananapus/address-registry","version":"0.0.5","license":"MIT","_id":"@bananapus/address-registry@0.0.5","maintainers":[{"name":"filipviz","email":"f@filip.world"},{"name":"simplemachine","email":"justinpulley92@gmail.com"},{"name":"me.jango","email":"me.jango@protonmail.com"}],"homepage":"https://github.com/Bananapus/nana-address-registry#readme","bugs":{"url":"https://github.com/Bananapus/nana-address-registry/issues"},"dist":{"shasum":"be101a41df33622bffa5b51838b40fb3deb06217","tarball":"https://registry.npmjs.org/@bananapus/address-registry/-/address-registry-0.0.5.tgz","fileCount":12,"integrity":"sha512-cLI58KKsbLYsWR2kP7Yqr+OaMXzsJSRwDSGF5YV9VJsWQKY2NK7/1EobY1rCWpt6NWGQ9SAcpbZs8Vl766KF6Q==","signatures":[{"sig":"MEUCIQDHA5G8ymxuk+xDjk73x4cl2qqI3xtS55FACmm6LYtFFQIgAOiyCzsCHKiE0onFRyfPmuhjh6A8WqZvdgBwipLHKfI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":35852},"gitHead":"e5b1fcb1e0e00c8bedfb8c063f1facf15418ad4b","scripts":{"test":"forge test","coverage":"forge coverage --match-path \"./src/*.sol\" --report lcov --report summary","test:fork":"FOUNDRY_PROFILE=CI forge test","deploy:ethereum-mainnet":"source .env && forge script Deploy --chain-id 1 --rpc-url $RPC_ETHEREUM_MAINNET --broadcast --verify --etherscan-api-key $ETHERSCAN_API_KEY --interactives 1 --sender $SENDER_ETHEREUM_MAINNET -vvv","deploy:ethereum-sepolia":"source .env && forge script Deploy --chain-id 11155111 --rpc-url $RPC_ETHEREUM_SEPOLIA --broadcast --verify --etherscan-api-key $ETHERSCAN_API_KEY --interactives 1 --sender $SENDER_ETHEREUM_SEPOLIA -vvv","deploy:optimism-mainnet":"source .env && forge script Deploy --chain-id 420 --rpc-url $RPC_OPTIMISM_MAINNET --broadcast --verify --etherscan-api-key $OPTIMISTIC_ETHERSCAN_API_KEY --interactives 1 --sender $SENDER_OPTIMISM_MAINNET -vvv","deploy:optimism-sepolia":"source .env && forge script Deploy --chain-id 11155420 --rpc-url $RPC_OPTIMISM_SEPOLIA --broadcast --verify --etherscan-api-key $OPTIMISTIC_ETHERSCAN_API_KEY --interactives 1 --sender $SENDER_OPTIMISM_SEPOLIA -vvv"},"_npmUser":{"name":"me.jango","email":"me.jango@protonmail.com"},"repository":{"url":"git+https://github.com/Bananapus/nana-address-registry.git","type":"git"},"_npmVersion":"10.8.2","description":"Frontend clients need a way to verify that a Juicebox contract has a deployer they trust. `JBAddressRegistry` allows any contract deployed with `create` or `create2` to publicly register its deployer's address. Whoever deploys a contract is responsible fo","directories":{},"_nodeVersion":"22.7.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/address-registry_0.0.5_1724791737482_0.3774582752177904","host":"s3://npm-registry-packages"}},"0.0.6":{"name":"@bananapus/address-registry","version":"0.0.6","license":"MIT","_id":"@bananapus/address-registry@0.0.6","maintainers":[{"name":"filipviz","email":"f@filip.world"},{"name":"simplemachine","email":"justinpulley92@gmail.com"},{"name":"me.jango","email":"me.jango@protonmail.com"}],"homepage":"https://github.com/Bananapus/nana-address-registry#readme","bugs":{"url":"https://github.com/Bananapus/nana-address-registry/issues"},"dist":{"shasum":"6b4f9654ca328380704f6863397414c7db7cda9f","tarball":"https://registry.npmjs.org/@bananapus/address-registry/-/address-registry-0.0.6.tgz","fileCount":24,"integrity":"sha512-u5NIhFeVqmXVxk/IJ0Rj9I8Lhub8pIDiz6ZDep3urHMBWQ5SABDPTUD16gHmw4y3Cic30NepWWQxa9VCm+/NyQ==","signatures":[{"sig":"MEUCIBAYyVzcVt1LvH22FFnRt1w0oYO+WAHLtnlzl1eF3dYyAiEAhJ+nyVT4DPUwaYN+/Tkx50/dpjY+zHlejdboyMCLJ48=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":258929},"gitHead":"e3c992849ab68cb0aa6a2e88e256aa32b3a945af","scripts":{"test":"forge test","coverage":"forge coverage --match-path \"./src/*.sol\" --report lcov --report summary","artifacts":"source ./.env && npx sphinx artifacts --org-id 'my-org-id' --project-name 'nana-address-registry-testnet'","test:fork":"FOUNDRY_PROFILE=CI forge test","deploy:mainnets":"source ./.env && npx sphinx propose ./script/Deploy.s.sol --networks mainnets","deploy:testnets":"source ./.env && npx sphinx propose ./script/Deploy.s.sol --networks testnets"},"_npmUser":{"name":"me.jango","email":"me.jango@protonmail.com"},"repository":{"url":"git+https://github.com/Bananapus/nana-address-registry.git","type":"git"},"_npmVersion":"10.8.2","description":"Frontend clients need a way to verify that a Juicebox contract has a deployer they trust. `JBAddressRegistry` allows any contract deployed with `create` or `create2` to publicly register its deployer's address. Whoever deploys a contract is responsible fo","directories":{},"_nodeVersion":"22.8.0","dependencies":{"@sphinx-labs/plugins":"^0.33.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/address-registry_0.0.6_1726515041337_0.22540024562058636","host":"s3://npm-registry-packages"}},"0.0.7":{"name":"@bananapus/address-registry","version":"0.0.7","license":"MIT","_id":"@bananapus/address-registry@0.0.7","maintainers":[{"name":"filipviz","email":"f@filip.world"},{"name":"simplemachine","email":"justinpulley92@gmail.com"},{"name":"me.jango","email":"me.jango@protonmail.com"}],"homepage":"https://github.com/Bananapus/nana-address-registry#readme","bugs":{"url":"https://github.com/Bananapus/nana-address-registry/issues"},"dist":{"shasum":"5044a94d1b74a5bb3be7f2aaa3853f757cba9b74","tarball":"https://registry.npmjs.org/@bananapus/address-registry/-/address-registry-0.0.7.tgz","fileCount":24,"integrity":"sha512-swak1nV1tNLwOdZGN9D6HLMHbzFCHRHo2xTeVWHmLk+E5EIZHp+6ItkESxop6iCbmMw3CJ1dihTsfnznP8aKJQ==","signatures":[{"sig":"MEUCIQCtJRx+yBbj8dqi9qZKiscT9jRXrjNWHrZvkRmXKxoUVwIgLutINo/J5qpIyz9VoFecuuJKTU5AQYmZlH/PL3ECbt8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":258935},"gitHead":"6f2ab9d2ff6fda707eab05373cc5ca541447fe94","scripts":{"test":"forge test","coverage":"forge coverage --match-path \"./src/*.sol\" --report lcov --report summary","artifacts":"source ./.env && npx sphinx artifacts --org-id 'my-org-id' --project-name 'nana-address-registry-testnet'","test:fork":"FOUNDRY_PROFILE=CI forge test","deploy:mainnets":"source ./.env && npx sphinx propose ./script/Deploy.s.sol --networks mainnets","deploy:testnets":"source ./.env && npx sphinx propose ./script/Deploy.s.sol --networks testnets"},"_npmUser":{"name":"me.jango","email":"me.jango@protonmail.com"},"repository":{"url":"git+https://github.com/Bananapus/nana-address-registry.git","type":"git"},"_npmVersion":"10.8.2","description":"Frontend clients need a way to verify that a Juicebox contract has a deployer they trust. `JBAddressRegistry` allows any contract deployed with `create` or `create2` to publicly register its deployer's address. Whoever deploys a contract is responsible fo","directories":{},"_nodeVersion":"22.8.0","dependencies":{"@sphinx-labs/plugins":"^0.33.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/address-registry_0.0.7_1726517289587_0.02580663922211346","host":"s3://npm-registry-packages"}},"1.0.0":{"name":"@bananapus/address-registry","version":"1.0.0","license":"MIT","repository":{"type":"git","url":"git+https://github.com/Bananapus/nana-address-registry.git"},"scripts":{"test":"forge test","test:fork":"FOUNDRY_PROFILE=CI forge test","coverage":"forge coverage --match-path \"./src/*.sol\" --report lcov --report summary","deploy:mainnets":"source ./.env && npx sphinx propose ./script/Deploy.s.sol --networks mainnets","deploy:testnets":"source ./.env && npx sphinx propose ./script/Deploy.s.sol --networks testnets","artifacts":"source ./.env && npx sphinx artifacts --org-id 'ea165b21-7cdc-4d7b-be59-ecdd4c26bee4' --project-name 'nana-address-registry'"},"dependencies":{"@sphinx-labs/plugins":"^0.33.1"},"_id":"@bananapus/address-registry@1.0.0","gitHead":"7cee6b99d622da7b827b598e08e0d62c7151b7d4","description":"Frontend clients need a way to verify that a Juicebox contract has a deployer they trust. `JBAddressRegistry` allows any contract deployed with `create` or `create2` to publicly register its deployer's address. Whoever deploys a contract is responsible fo","bugs":{"url":"https://github.com/Bananapus/nana-address-registry/issues"},"homepage":"https://github.com/Bananapus/nana-address-registry#readme","_nodeVersion":"23.8.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-U6EtH8TyjhcwHE+hrIxTnX5qOxPCElpmgV2kPRZYa4OleKi/ycd5KzhQYaU0HNHmDoELy0+lmhbjNI26UcOJKw==","shasum":"af571cd606a1ee7ffd9787a99a4384b7845f02ca","tarball":"https://registry.npmjs.org/@bananapus/address-registry/-/address-registry-1.0.0.tgz","fileCount":30,"unpackedSize":199701,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDGtYbQPXN1CxsCzk4MEYwkVEO82qeQDr/QhRH571tqEQIhAPcRZFss/wNcHMqArnb8nonH5bxZpVoQcRllt5/Hi3Hr"}]},"_npmUser":{"name":"me.jango","email":"me.jango@protonmail.com"},"directories":{},"maintainers":[{"name":"simplemachine","email":"justinpulley92@gmail.com"},{"name":"me.jango","email":"me.jango@protonmail.com"},{"name":"filipviz","email":"f@filip.world"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/address-registry_1.0.0_1739767997999_0.9370235729961325"},"_hasShrinkwrap":false}},"time":{"created":"2024-02-14T16:57:41.483Z","modified":"2025-02-17T04:53:18.449Z","0.0.1":"2024-02-14T16:57:41.744Z","0.0.2":"2024-02-23T21:17:08.821Z","0.0.3":"2024-02-23T21:26:44.720Z","0.0.4":"2024-04-01T15:08:16.183Z","0.0.5":"2024-08-27T20:48:57.677Z","0.0.6":"2024-09-16T19:30:41.538Z","0.0.7":"2024-09-16T20:08:09.754Z","1.0.0":"2025-02-17T04:53:18.193Z"},"bugs":{"url":"https://github.com/Bananapus/nana-address-registry/issues"},"license":"MIT","homepage":"https://github.com/Bananapus/nana-address-registry#readme","repository":{"type":"git","url":"git+https://github.com/Bananapus/nana-address-registry.git"},"description":"Frontend clients need a way to verify that a Juicebox contract has a deployer they trust. `JBAddressRegistry` allows any contract deployed with `create` or `create2` to publicly register its deployer's address. Whoever deploys a contract is responsible fo","maintainers":[{"name":"simplemachine","email":"justinpulley92@gmail.com"},{"name":"me.jango","email":"me.jango@protonmail.com"},{"name":"filipviz","email":"f@filip.world"}],"readme":"# Bananapus Address Registry\n\nFrontend clients need a way to verify that a Juicebox contract has a deployer they trust. `JBAddressRegistry` allows any contract deployed with `create` or `create2` to publicly register its deployer's address. Whoever deploys a contract is responsible for registering it.\n\n<details>\n  <summary>Table of Contents</summary>\n  <ol>\n    <li><a href=\"#usage\">Usage</a></li>\n  <ul>\n    <li><a href=\"#install\">Install</a></li>\n    <li><a href=\"#develop\">Develop</a></li>\n    <li><a href=\"#scripts\">Scripts</a></li>\n    <li><a href=\"#deployments\">Deployments</a></li>\n    <li><a href=\"#tips\">Tips</a></li>\n    </ul>\n    <li><a href=\"#repository-layout\">Repository Layout</a></li>\n    <li><a href=\"#description\">Description</a></li>\n  <ul>\n    <li><a href=\"#overview\">Overview</a></li>\n    <li><a href=\"#implementation-details\">Implementation Details</a></li>\n    <li><a href=\"#risks\">Risks</a></li>\n    </ul>\n  </ul>\n  </ol>\n</details>\n\n## Usage\n\n### Install\n\nHow to install `nana-address-registry` in another project.\n\nFor projects using `npm` to manage dependencies (recommended):\n\n```bash\nnpm install @bananapus/address-registry\n```\n\nFor projects using `forge` to manage dependencies (not recommended):\n\n```bash\nforge install Bananapus/nana-address-registry\n```\n\nIf you're using `forge` to manage dependencies, add `@bananapus/address-registry/=lib/nana-address-registry/` to `remappings.txt`.\n\n### Develop\n\n`nana-address-registry` uses the [Foundry](https://github.com/foundry-rs/foundry) development toolchain for builds, tests, and deployments. To get set up, install [Foundry](https://github.com/foundry-rs/foundry):\n\n```bash\ncurl -L https://foundry.paradigm.xyz | sh\n```\n\nYou can download and install dependencies with:\n\n```bash\nforge install\n```\n\nIf you run into trouble with `forge install`, try using `git submodule update --init --recursive` to ensure that nested submodules have been properly initialized.\n\nSome useful commands:\n\n| Command               | Description                                         |\n| --------------------- | --------------------------------------------------- |\n| `forge build`         | Compile the contracts and write artifacts to `out`. |\n| `forge fmt`           | Lint.                                               |\n| `forge test`          | Run the tests.                                      |\n| `forge build --sizes` | Get contract sizes.                                 |\n| `forge coverage`      | Generate a test coverage report.                    |\n| `foundryup`           | Update foundry. Run this periodically.              |\n| `forge clean`         | Remove the build artifacts and cache directories.   |\n\nTo learn more, visit the [Foundry Book](https://book.getfoundry.sh/) docs.\n\n### Scripts\n\nFor convenience, several utility commands are available in `package.json`.\n\n| Command                           | Description                            |\n| --------------------------------- | -------------------------------------- |\n| `npm test`                        | Run local tests.                       |\n| `npm run test:fork`               | Run fork tests (for use in CI).        |\n| `npm run coverage`           | Generate an LCOV test coverage report. |\n\n### Deployments\n\nTo deploy, you'll need to set up a `.env` file based on `.example.env`. Then run one of the following commands:\n\n| Command                           | Description                            |\n| --------------------------------- | -------------------------------------- |\n| `npm run deploy:ethereum-mainnet` | Deploy to Ethereum mainnet             |\n| `npm run deploy:ethereum-sepolia` | Deploy to Ethereum Sepolia testnet     |\n| `npm run deploy:optimism-mainnet` | Deploy to Optimism mainnet             |\n| `npm run deploy:optimism-testnet` | Deploy to Optimism testnet             |\n\n### Tips\n\nTo view test coverage, run `npm run coverage` to generate an LCOV test report. You can use an extension like [Coverage Gutters](https://marketplace.visualstudio.com/items?itemName=ryanluker.vscode-coverage-gutters) to view coverage in your editor.\n\nIf you're using Nomic Foundation's [Solidity](https://marketplace.visualstudio.com/items?itemName=NomicFoundation.hardhat-solidity) extension in VSCode, you may run into LSP errors because the extension cannot find dependencies outside of `lib`. You can often fix this by running:\n\n```bash\nforge remappings >> remappings.txt\n```\n\nThis makes the extension aware of default remappings.\n\n## Repository Layout\n\nThe root directory contains this README, an MIT license, and config files.\n\nThe important source directories are:\n\n```\nnana-address-registry/\n├── script/\n│   └── Deploy.s.sol - The deployment script.\n├── src/ - The contract source code.\n│   ├── JBAddressRegistry.sol - The main address registry contract.\n│   └── interfaces/\n│       └── IJBAddressRegistry.sol - The address registry interface.\n└── test/\n    ├── JBAddressRegistry.t.sol - Unit tests.\n    └── JBAddressRegistry_Fork.t.sol - Fork tests.\n```\n\nOther directories:\n\n```\nnana-address-registry/\n├── .github/\n│   └── workflows/ - CI/CD workflows.\n└── broadcast/ - Deployment logs.\n```\n\n## Description\n\n### Overview\n\n`JBAddressRegistry` is intended for registering the deployers of Juicebox pay/redeem hooks, but does not enforce adherence to an interface, and can be used for any `create`/`create2` deployer. \n\nThe addresses of the deployed contracts are computed deterministically based on the deployer's address, and a nonce (for `create`) or `create2` salt and deployment bytecode (for `create2`). That address is then used as a key to store the deployer's address. This allows clients to easily and trustlessly check a given hook's deployer, which can be used to help figure out whether a hook is \"safe\" or not, as determined by the client's developers.\n\n_If you're having trouble understanding this contract, take a look at the [core protocol contracts](https://github.com/Bananapus/nana-core) and the [documentation](https://docs.juicebox.money/) first. If you have questions, reach out on [Discord](https://discord.com/invite/ErQYmth4dS)._\n\n\n### Implementation Details\n\n- After deploying a Juicebox pay/redeem hook, any addresses can call `JBAddressRegistry.registerAddress(address deployer, uint256 nonce)` to add it to the registry. The registry will compute and store the corresponding hook address.\n- Alternatively, `JBAddressRegistry.registerAddress(address deployer, bytes32 salt, bytes calldata bytecode)` will compute and store the hook deployed from a contract using `create2`.\n\nThe registry doesn't enforce `IERC165` or the implementation of any hook interfaces, meaning it can be used for any contract deployed with `create`/`create2`.\n\nClients can retrieve the nonce for the contract and an EOA using `provider.getTransactionCount(address)` from `ethers.js` or `web3.eth.getTransactionCount` from `web3.js` just *before* the hook's deployment. If registering a hook later on, clients may need to manually calculate the nonce.\n\nThe `create2` salt is determined by a given 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))`).\n\n### Risks\n\nHooks have token minting access, making malicious hooks dangerous. Clients should warn project owners and users about any potential for unintended or adversarial behaviour, especially for unknown hooks.\n\nDeployers can be exploited. Clients should still communicate risk to users.\n","readmeFilename":"README.md"}