{"_id":"@bananapus/swap-terminal","_rev":"28-6d16f1a6031fab28c2d8effc1f05ffd5","name":"@bananapus/swap-terminal","dist-tags":{"latest":"1.0.1"},"versions":{"0.0.2":{"name":"@bananapus/swap-terminal","version":"0.0.2","license":"MIT","_id":"@bananapus/swap-terminal@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-swap-terminal#readme","bugs":{"url":"https://github.com/Bananapus/nana-swap-terminal/issues"},"dist":{"shasum":"b8445a92c3f79060f6a96066738612632d13fcd2","tarball":"https://registry.npmjs.org/@bananapus/swap-terminal/-/swap-terminal-0.0.2.tgz","fileCount":13,"integrity":"sha512-qGeA7g5adU21jmLCdsEDW2/hLlUhj2d6h3XYfNA1QJcb0r70BpG0KuqdehC7kePLWEhoV0Ln38DOCoHyOK5f1w==","signatures":[{"sig":"MEYCIQDcZtkM1gQ3F+CnN/16eQIxarGwNku6ZPRvhLsDkOqjBQIhALqgtMH9jGFIojzpcjrnzp4Osn0dqWGCuFWFdIbOHTYR","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":52007},"gitHead":"17276898402ef440e103c8f6aebc6f5dd623be50","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-swap-terminal.git","type":"git"},"_npmVersion":"10.2.4","description":"The `JBSwapTerminal` accepts payments in any token. When the `JBSwapTerminal` is paid, it uses a Uniswap pool to exchange the tokens it received for tokens that another one of the project's terminals accepts. Then, it pays the project's primary terminal f","directories":{},"_nodeVersion":"21.6.2","dependencies":{"@bananapus/core":"^0.0.4","@uniswap/permit2":"github:Uniswap/permit2","@uniswap/v3-core":"github:Uniswap/v3-core#0.8","@uniswap/v3-periphery":"github:Uniswap/v3-periphery#0.8","@openzeppelin/contracts":"^5.0.1","@bananapus/permission-ids":"^0.0.2","@exhausted-pigeon/uniswap-v3-foundry-pool":"github:exhausted-pigeon-srl/uniswap-v3-foundry-pool","@exhausted-pigeon/uniswap-v3-foundry-quote":"github:exhausted-pigeon-srl/uniswap-v3-foundry-quote"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/swap-terminal_0.0.2_1708844859775_0.12281863320722008","host":"s3://npm-registry-packages"}},"0.0.3":{"name":"@bananapus/swap-terminal","version":"0.0.3","license":"MIT","_id":"@bananapus/swap-terminal@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-swap-terminal#readme","bugs":{"url":"https://github.com/Bananapus/nana-swap-terminal/issues"},"dist":{"shasum":"a70f83f866c67bb7d56d8d07ce0bc933211a87eb","tarball":"https://registry.npmjs.org/@bananapus/swap-terminal/-/swap-terminal-0.0.3.tgz","fileCount":25,"integrity":"sha512-tB9/n63VQNJ1RcsqvTOoyLr40cScviGZAtXUoBCZAnklexd/QTu4/br6XOtePmhJ2SctEHIL+nwgwTHd4xZjDg==","signatures":[{"sig":"MEUCIQDLNzO2801HbsXVjYVpOt1iU3LVfkgOufy4eNxWMsMzVgIgZiH56f/qrYDCid+lPQYGdBjDgJbDi4W9n+/DDyC9uW8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1654972},"gitHead":"753fc38e510826c6b1f9d0e4a9c105112531b11e","scripts":{"test":"forge test","coverage":"forge coverage --match-path \"./src/*.sol\" --report lcov --report summary","artifacts":"source ./.env && npx sphinx artifacts --org-id 'cltepuu9u0003j58rjtbd0hvu' --project-name 'nana-swap-terminal'","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-swap-terminal.git","type":"git"},"_npmVersion":"10.5.0","description":"The `JBSwapTerminal` accepts payments in any token. When the `JBSwapTerminal` is paid, it uses a Uniswap pool to exchange the tokens it received for tokens that another one of the project's terminals accepts. Then, it pays the project's primary terminal f","directories":{},"_nodeVersion":"21.7.1","dependencies":{"@bananapus/core":"^0.0.7","@uniswap/permit2":"github:Uniswap/permit2","@uniswap/v3-core":"github:Uniswap/v3-core#0.8","@sphinx-labs/plugins":"^0.30.6","@uniswap/v3-periphery":"github:Uniswap/v3-periphery#0.8","@openzeppelin/contracts":"^5.0.1","@bananapus/permission-ids":"^0.0.2","@exhausted-pigeon/uniswap-v3-foundry-pool":"github:exhausted-pigeon-srl/uniswap-v3-foundry-pool","@exhausted-pigeon/uniswap-v3-foundry-quote":"github:exhausted-pigeon-srl/uniswap-v3-foundry-quote"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/swap-terminal_0.0.3_1710892602797_0.19307755258637904","host":"s3://npm-registry-packages"}},"0.0.4":{"name":"@bananapus/swap-terminal","version":"0.0.4","license":"MIT","_id":"@bananapus/swap-terminal@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-swap-terminal#readme","bugs":{"url":"https://github.com/Bananapus/nana-swap-terminal/issues"},"dist":{"shasum":"4ea48fd097ad86cb62f48cc10eb235f9265f95ab","tarball":"https://registry.npmjs.org/@bananapus/swap-terminal/-/swap-terminal-0.0.4.tgz","fileCount":25,"integrity":"sha512-y8t9dFyUlSb8HIwWUrj9nZNzpKQ8hzryy5WONKH5JFVo3acf/qaf/W2hu6KgueYUahZ6QA9SR8tK8nXlRxAgBg==","signatures":[{"sig":"MEYCIQD0I2vvJh8rsnvCrHgMiqgfATMu+FvBNdjiYP0xEM1ZNAIhANer231JGfWgONPV6a1fvtJ5yeozWxAwq+ZxswEusHIJ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1662752},"engines":{"node":">=20.0.0"},"gitHead":"4430beccfd5cfcbb2f38975c2612bce42366c8a9","scripts":{"test":"forge test","coverage":"forge coverage --match-path \"./src/*.sol\" --report lcov --report summary","artifacts":"source ./.env && npx sphinx artifacts --org-id 'cltepuu9u0003j58rjtbd0hvu' --project-name 'nana-swap-terminal'","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-swap-terminal.git","type":"git"},"_npmVersion":"10.5.0","description":"The `JBSwapTerminal` accepts payments in any token. When the `JBSwapTerminal` is paid, it uses a Uniswap pool to exchange the tokens it received for tokens that another one of the project's terminals accepts. Then, it pays the project's primary terminal f","directories":{},"_nodeVersion":"21.7.1","dependencies":{"@bananapus/core":"^0.0.8","@uniswap/permit2":"github:Uniswap/permit2","@uniswap/v3-core":"github:Uniswap/v3-core#0.8","@uniswap/v3-periphery":"github:Uniswap/v3-periphery#0.8","@openzeppelin/contracts":"^5.0.1","@bananapus/permission-ids":"^0.0.5","@exhausted-pigeon/uniswap-v3-foundry-pool":"github:exhausted-pigeon-srl/uniswap-v3-foundry-pool","@exhausted-pigeon/uniswap-v3-foundry-quote":"github:exhausted-pigeon-srl/uniswap-v3-foundry-quote"},"_hasShrinkwrap":false,"devDependencies":{"@sphinx-labs/plugins":"^0.30.6"},"_npmOperationalInternal":{"tmp":"tmp/swap-terminal_0.0.4_1712108182766_0.7596867923619612","host":"s3://npm-registry-packages"}},"0.0.5":{"name":"@bananapus/swap-terminal","version":"0.0.5","license":"MIT","_id":"@bananapus/swap-terminal@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-swap-terminal#readme","bugs":{"url":"https://github.com/Bananapus/nana-swap-terminal/issues"},"dist":{"shasum":"7ee56074166ecb0b68b1d8f8f1988175061a3db7","tarball":"https://registry.npmjs.org/@bananapus/swap-terminal/-/swap-terminal-0.0.5.tgz","fileCount":29,"integrity":"sha512-bU0MYScKXQWJio1GQh31Ag11AkCZJJq44iAL3acFKfhiIQPkZVWWvoBGgBYotEBMxmLIfLdmXEXhGM/7tzyUSA==","signatures":[{"sig":"MEUCIQCAtuednYH1+qQlcRdtz1npl4e2I1yheJT7e9y+n8E2NwIgFIhwHY4OMwGVWSlqkB0jpBzDP0ct1YUMTGnbO0BC6PU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":2102397},"engines":{"node":">=20.0.0"},"gitHead":"b804adc2c1bc34ca2fb1278addacbc9aef178bed","scripts":{"test":"forge test","coverage":"forge coverage --match-path \"./src/*.sol\" --report lcov --report summary","artifacts":"source ./.env && npx sphinx artifacts --org-id 'cltepuu9u0003j58rjtbd0hvu' --project-name 'nana-swap-terminal'","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-swap-terminal.git","type":"git"},"_npmVersion":"10.5.0","description":"The `JBSwapTerminal` accepts payments in any token. When the `JBSwapTerminal` is paid, it uses a Uniswap pool to exchange the tokens it received for tokens that another one of the project's terminals accepts. Then, it pays the project's primary terminal f","directories":{},"_nodeVersion":"21.7.1","dependencies":{"@bananapus/core":"^0.0.9","@uniswap/permit2":"github:Uniswap/permit2","@uniswap/v3-core":"github:Uniswap/v3-core#0.8","@uniswap/v3-periphery":"github:Uniswap/v3-periphery#0.8","@openzeppelin/contracts":"^5.0.2","@bananapus/permission-ids":"^0.0.5","@exhausted-pigeon/uniswap-v3-foundry-pool":"github:exhausted-pigeon-srl/uniswap-v3-foundry-pool","@exhausted-pigeon/uniswap-v3-foundry-quote":"github:exhausted-pigeon-srl/uniswap-v3-foundry-quote"},"_hasShrinkwrap":false,"devDependencies":{"@sphinx-labs/plugins":"^0.30.12"},"_npmOperationalInternal":{"tmp":"tmp/swap-terminal_0.0.5_1712115129611_0.7167577768248217","host":"s3://npm-registry-packages"}},"0.0.6":{"name":"@bananapus/swap-terminal","version":"0.0.6","license":"MIT","_id":"@bananapus/swap-terminal@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-swap-terminal#readme","bugs":{"url":"https://github.com/Bananapus/nana-swap-terminal/issues"},"dist":{"shasum":"5ff25bc21d7d15fe1f369289ac70fe7235c966e5","tarball":"https://registry.npmjs.org/@bananapus/swap-terminal/-/swap-terminal-0.0.6.tgz","fileCount":29,"integrity":"sha512-hj3fAz2j5UPTnTod1c2tEy9cO38DDIxHCZmnYDxq4L3zBw5ZPee+rDgNqjhEsV3jwV2DMV5htquQL5xkfefjeg==","signatures":[{"sig":"MEQCIBLLugbh3oYwW3lOsO/bH/qIw8c1T6BRckyTk4jYdRiWAiB9x4J20iKCONidXKAQvHVI6+ZbMVIljhcAsK4WZH5m+g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":2102681},"engines":{"node":">=20.0.0"},"gitHead":"2a99d44b5f807d843eaff7facb030391557971ea","scripts":{"test":"forge test","coverage":"forge coverage --match-path \"./src/*.sol\" --report lcov --report summary","artifacts":"source ./.env && npx sphinx artifacts --org-id 'cltepuu9u0003j58rjtbd0hvu' --project-name 'nana-swap-terminal'","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-swap-terminal.git","type":"git"},"_npmVersion":"10.5.0","description":"The `JBSwapTerminal` accepts payments in any token. When the `JBSwapTerminal` is paid, it uses a Uniswap pool to exchange the tokens it received for tokens that another one of the project's terminals accepts. Then, it pays the project's primary terminal f","directories":{},"_nodeVersion":"21.7.2","dependencies":{"@bananapus/core":"^0.0.11","@uniswap/permit2":"github:Uniswap/permit2","@uniswap/v3-core":"github:Uniswap/v3-core#0.8","@uniswap/v3-periphery":"github:Uniswap/v3-periphery#0.8","@openzeppelin/contracts":"^5.0.2","@bananapus/permission-ids":"^0.0.5","@exhausted-pigeon/uniswap-v3-foundry-pool":"github:exhausted-pigeon-srl/uniswap-v3-foundry-pool","@exhausted-pigeon/uniswap-v3-foundry-quote":"github:exhausted-pigeon-srl/uniswap-v3-foundry-quote"},"_hasShrinkwrap":false,"devDependencies":{"@sphinx-labs/plugins":"^0.31.2"},"_npmOperationalInternal":{"tmp":"tmp/swap-terminal_0.0.6_1712755360273_0.3297077071755492","host":"s3://npm-registry-packages"}},"0.0.7":{"name":"@bananapus/swap-terminal","version":"0.0.7","license":"MIT","_id":"@bananapus/swap-terminal@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-swap-terminal#readme","bugs":{"url":"https://github.com/Bananapus/nana-swap-terminal/issues"},"dist":{"shasum":"2e744a55ff3f09d6e7e5156c76475ecee81e4432","tarball":"https://registry.npmjs.org/@bananapus/swap-terminal/-/swap-terminal-0.0.7.tgz","fileCount":33,"integrity":"sha512-U8akahGyi1R2BeaA+Sjv/BQF8USR3Ipt5VAITaQC9OJnrkxcL7X4SbkkJlw+NQpBZ4ijebDI/F+9tvUrR5RVKA==","signatures":[{"sig":"MEQCIGcveqTki9ZwvFECOXXZbQuL3WlImLTnQDglnNaMTn9QAiAPsNOGQpCQH3/E8Laets6rCW3FC5pfoLMYAoQ+LwjeIw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":2521250},"engines":{"node":">=20.0.0"},"gitHead":"4d9c9730381a0919574518ebad4691e7b6755282","scripts":{"test":"forge test","coverage":"forge coverage --match-path \"./src/*.sol\" --report lcov --report summary","artifacts":"source ./.env && npx sphinx artifacts --org-id 'cltepuu9u0003j58rjtbd0hvu' --project-name 'nana-swap-terminal'","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-swap-terminal.git","type":"git"},"_npmVersion":"10.5.0","description":"The `JBSwapTerminal` accepts payments in any token. When the `JBSwapTerminal` is paid, it uses a Uniswap pool to exchange the tokens it received for tokens that another one of the project's terminals accepts. Then, it pays the project's primary terminal f","directories":{},"_nodeVersion":"21.7.3","dependencies":{"@bananapus/core":"^0.0.12","@uniswap/permit2":"github:Uniswap/permit2","@uniswap/v3-core":"github:Uniswap/v3-core#1.0","@uniswap/v3-periphery":"github:Uniswap/v3-periphery#1.3","@openzeppelin/contracts":"^5.0.2","@bananapus/permission-ids":"^0.0.5","@exhausted-pigeon/uniswap-v3-foundry-pool":"github:exhausted-pigeon-srl/uniswap-v3-foundry-pool","@exhausted-pigeon/uniswap-v3-foundry-quote":"github:exhausted-pigeon-srl/uniswap-v3-foundry-quote"},"_hasShrinkwrap":false,"devDependencies":{"@sphinx-labs/plugins":"^0.31.6"},"_npmOperationalInternal":{"tmp":"tmp/swap-terminal_0.0.7_1712820687936_0.8679825811397786","host":"s3://npm-registry-packages"}},"0.0.8":{"name":"@bananapus/swap-terminal","version":"0.0.8","license":"MIT","_id":"@bananapus/swap-terminal@0.0.8","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-swap-terminal#readme","bugs":{"url":"https://github.com/Bananapus/nana-swap-terminal/issues"},"dist":{"shasum":"b166c8d2211ef1bd53d46c84bfac9248bbc7f72f","tarball":"https://registry.npmjs.org/@bananapus/swap-terminal/-/swap-terminal-0.0.8.tgz","fileCount":33,"integrity":"sha512-6Dh0luZV01WrAc5zXUZki4FMdeCSmGJzNEukCNF1phc9wO/5ZDN1yKLoLTLIeHINnhbv3gi85soZt0vAEQousA==","signatures":[{"sig":"MEQCICbHoYpCJuhKDz0dqY4egfgPPiULdadfiFxe6MUCG+YBAiB4FQ8eJqp/Uw5QYHn7PN3ttgZpOyjzLMQ5tVn5JwEWiA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":2521047},"engines":{"node":">=20.0.0"},"gitHead":"142757081bf917281478cc65db2a3ecfebedb826","scripts":{"test":"forge test","coverage":"forge coverage --match-path \"./src/*.sol\" --report lcov --report summary","artifacts":"source ./.env && npx sphinx artifacts --org-id 'cltepuu9u0003j58rjtbd0hvu' --project-name 'nana-swap-terminal'","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-swap-terminal.git","type":"git"},"_npmVersion":"10.5.0","description":"The `JBSwapTerminal` accepts payments in any token. When the `JBSwapTerminal` is paid, it uses a Uniswap pool to exchange the tokens it received for tokens that another one of the project's terminals accepts. Then, it pays the project's primary terminal f","directories":{},"_nodeVersion":"21.7.3","dependencies":{"@bananapus/core":"^0.0.12","@uniswap/permit2":"github:Uniswap/permit2","@uniswap/v3-core":"github:Uniswap/v3-core#0.8","@uniswap/v3-periphery":"github:Uniswap/v3-periphery#0.8","@openzeppelin/contracts":"^5.0.2","@bananapus/permission-ids":"^0.0.5","@exhausted-pigeon/uniswap-v3-foundry-pool":"^1.0.9","@exhausted-pigeon/uniswap-v3-foundry-quote":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"@sphinx-labs/plugins":"^0.31.6"},"_npmOperationalInternal":{"tmp":"tmp/swap-terminal_0.0.8_1712933415081_0.06622743646746443","host":"s3://npm-registry-packages"}},"0.0.9":{"name":"@bananapus/swap-terminal","version":"0.0.9","license":"MIT","_id":"@bananapus/swap-terminal@0.0.9","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-swap-terminal#readme","bugs":{"url":"https://github.com/Bananapus/nana-swap-terminal/issues"},"dist":{"shasum":"49aa00362bf5f9d8d302860ed315bb9e9a4cb478","tarball":"https://registry.npmjs.org/@bananapus/swap-terminal/-/swap-terminal-0.0.9.tgz","fileCount":40,"integrity":"sha512-/zsA/A1WijmyalrXLY91kbgEwehc2hi6mi3TkhIsoLkOzNHCpzwL/l5QZZqh3q9WSZBNSTkQ458BdlUlMh0TYQ==","signatures":[{"sig":"MEYCIQDDUYKs5YYm0CHSR9yadDdMBOPisb/lI4KTlL60m7GAkAIhAJLz0VFCPME2EciXfw+ZZ+UNEzraiJeZtXCc/YPr9vcJ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4369535},"engines":{"node":">=20.0.0"},"gitHead":"ab35949b0aae17b2276298e7e47bea3ed4563e1f","scripts":{"test":"forge test","coverage":"forge coverage --match-path \"./src/*.sol\" --report lcov --report summary","artifacts":"source ./.env && npx sphinx artifacts --org-id 'cltepuu9u0003j58rjtbd0hvu' --project-name 'nana-swap-terminal'","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-swap-terminal.git","type":"git"},"_npmVersion":"10.5.0","description":"The `JBSwapTerminal` accepts payments in any token. When the `JBSwapTerminal` is paid, it uses a Uniswap pool to exchange the tokens it received for tokens that another one of the project's terminals accepts. Then, it pays the project's primary terminal f","directories":{},"_nodeVersion":"21.7.3","dependencies":{"@bananapus/core":"^0.0.13","@uniswap/permit2":"github:Uniswap/permit2","@uniswap/v3-core":"github:Uniswap/v3-core#0.8","@uniswap/v3-periphery":"github:Uniswap/v3-periphery#0.8","@openzeppelin/contracts":"^5.0.2","@bananapus/permission-ids":"^0.0.5","@exhausted-pigeon/uniswap-v3-foundry-pool":"^1.0.9","@exhausted-pigeon/uniswap-v3-foundry-quote":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"@sphinx-labs/plugins":"^0.31.11"},"_npmOperationalInternal":{"tmp":"tmp/swap-terminal_0.0.9_1713741395804_0.962053721502002","host":"s3://npm-registry-packages"}},"0.0.10":{"name":"@bananapus/swap-terminal","version":"0.0.10","license":"MIT","_id":"@bananapus/swap-terminal@0.0.10","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-swap-terminal#readme","bugs":{"url":"https://github.com/Bananapus/nana-swap-terminal/issues"},"dist":{"shasum":"162abaf52c5c4d9f0ecb99cc5a85420731375802","tarball":"https://registry.npmjs.org/@bananapus/swap-terminal/-/swap-terminal-0.0.10.tgz","fileCount":45,"integrity":"sha512-1nPZ9OAU9Q77fJ4TqpFJMtAqefUfJXoJB6qvsmu1qSb9qhgnig54IODFNM/RqoIy+hi69inILF4v6B7KNLaURg==","signatures":[{"sig":"MEQCIFgSAUJrmZNOpTVZJ4B2Jg7Ipt0vWxE1Rs92ZhkXV60iAiBPeiHCg8/yIC1Y0G53kDzE9PjdCxz+gP8VaTmAjOvk/w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":5401790},"engines":{"node":">=20.0.0"},"gitHead":"08c68e3310f2d46ba5bf1c602ed0395eb2081944","scripts":{"test":"forge test","coverage":"forge coverage --match-path \"./src/*.sol\" --report lcov --report summary","artifacts":"source ./.env && npx sphinx artifacts --org-id 'cltepuu9u0003j58rjtbd0hvu' --project-name 'nana-swap-terminal'","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-swap-terminal.git","type":"git"},"_npmVersion":"10.7.0","description":"The `JBSwapTerminal` accepts payments in any token. When the `JBSwapTerminal` is paid, it uses a Uniswap pool to exchange the tokens it received for tokens that another one of the project's terminals accepts. Then, it pays the project's primary terminal f","directories":{},"_nodeVersion":"22.1.0","dependencies":{"@bananapus/core":"^0.0.14","@uniswap/permit2":"github:Uniswap/permit2","@uniswap/v3-core":"github:Uniswap/v3-core#1.0","@uniswap/v3-periphery":"github:Uniswap/v3-periphery#1.3","@openzeppelin/contracts":"^5.0.2","@bananapus/permission-ids":"^0.0.5","@exhausted-pigeon/uniswap-v3-foundry-pool":"^1.0.9","@exhausted-pigeon/uniswap-v3-foundry-quote":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"@sphinx-labs/plugins":"^0.31.12"},"_npmOperationalInternal":{"tmp":"tmp/swap-terminal_0.0.10_1714668236271_0.4541682985790172","host":"s3://npm-registry-packages"}},"0.0.11":{"name":"@bananapus/swap-terminal","version":"0.0.11","license":"MIT","_id":"@bananapus/swap-terminal@0.0.11","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-swap-terminal#readme","bugs":{"url":"https://github.com/Bananapus/nana-swap-terminal/issues"},"dist":{"shasum":"0f299473ca859041aaa7ce3acdbca39fc35f0687","tarball":"https://registry.npmjs.org/@bananapus/swap-terminal/-/swap-terminal-0.0.11.tgz","fileCount":45,"integrity":"sha512-ZyFJHPLXFbQ5dkv7/hxDOgwfb7MPUw3rIjKZm99CBdIf1xER9yMwrAXid8cHKbOMZqR4CXOwsCPZEE+BbuAScg==","signatures":[{"sig":"MEUCICsymYssL1jgsqMj53mAlzfTklvzLAcbLcPqu7gAvS31AiEAjXMLcMdKeNai+w0xkd0qSVwzqelCUpPSjdoJYKcpmzo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":5401790},"engines":{"node":">=20.0.0"},"gitHead":"5aa5b21a4c539972605d6eaca9daabc2dbd92581","scripts":{"test":"forge test","coverage":"forge coverage --match-path \"./src/*.sol\" --report lcov --report summary","artifacts":"source ./.env && npx sphinx artifacts --org-id 'cltepuu9u0003j58rjtbd0hvu' --project-name 'nana-swap-terminal'","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-swap-terminal.git","type":"git"},"_npmVersion":"10.7.0","description":"The `JBSwapTerminal` accepts payments in any token. When the `JBSwapTerminal` is paid, it uses a Uniswap pool to exchange the tokens it received for tokens that another one of the project's terminals accepts. Then, it pays the project's primary terminal f","directories":{},"_nodeVersion":"22.1.0","dependencies":{"@bananapus/core":"^0.0.14","@uniswap/permit2":"github:Uniswap/permit2","@uniswap/v3-core":"github:Uniswap/v3-core#0.8","@uniswap/v3-periphery":"github:Uniswap/v3-periphery#0.8","@openzeppelin/contracts":"^5.0.2","@bananapus/permission-ids":"^0.0.5","@exhausted-pigeon/uniswap-v3-foundry-pool":"^1.0.9","@exhausted-pigeon/uniswap-v3-foundry-quote":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"@sphinx-labs/plugins":"^0.31.12"},"_npmOperationalInternal":{"tmp":"tmp/swap-terminal_0.0.11_1714675755422_0.06440322463835835","host":"s3://npm-registry-packages"}},"0.0.12":{"name":"@bananapus/swap-terminal","version":"0.0.12","license":"MIT","_id":"@bananapus/swap-terminal@0.0.12","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-swap-terminal#readme","bugs":{"url":"https://github.com/Bananapus/nana-swap-terminal/issues"},"dist":{"shasum":"f42e4af7b65c291b1f6d24a846c921e7bf681952","tarball":"https://registry.npmjs.org/@bananapus/swap-terminal/-/swap-terminal-0.0.12.tgz","fileCount":51,"integrity":"sha512-HMOw55aKl4PVOjRynIIjUI7dpgz8Z8TvNNGZy7583K9OMYgEsDQgTeS+hFcCYeLQ4VNEwUwpxZn6QOCDKxkBtw==","signatures":[{"sig":"MEYCIQDkb7vIwt6kbTduNY2fINU3X1UVJAralhJzpyttbe5l8wIhAOHXoclIVbV+eek0VxxgyJp770feUKn3EI4PdbiN6NYq","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":6432409},"engines":{"node":">=20.0.0"},"gitHead":"3b624bea307b46dbece2c98ad53f3e5fcdb09fe9","scripts":{"test":"forge test","coverage":"forge coverage --match-path \"./src/*.sol\" --report lcov --report summary","artifacts":"source ./.env && npx sphinx artifacts --org-id 'cltepuu9u0003j58rjtbd0hvu' --project-name 'nana-swap-terminal'","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-swap-terminal.git","type":"git"},"_npmVersion":"10.7.0","description":"The `JBSwapTerminal` accepts payments in any token. When the `JBSwapTerminal` is paid, it uses a Uniswap pool to exchange the tokens it received for tokens that another one of the project's terminals accepts. Then, it pays the project's primary terminal f","directories":{},"_nodeVersion":"22.2.0","dependencies":{"@bananapus/core":"^0.0.15","@uniswap/permit2":"github:Uniswap/permit2","@uniswap/v3-core":"github:Uniswap/v3-core#1.0","@uniswap/v3-periphery":"github:Uniswap/v3-periphery#1.3","@openzeppelin/contracts":"^5.0.2","@bananapus/permission-ids":"^0.0.8","@exhausted-pigeon/uniswap-v3-foundry-pool":"^1.0.9","@exhausted-pigeon/uniswap-v3-foundry-quote":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"@sphinx-labs/plugins":"^0.32.2"},"_npmOperationalInternal":{"tmp":"tmp/swap-terminal_0.0.12_1717452104322_0.11709375449358284","host":"s3://npm-registry-packages"}},"0.0.13":{"name":"@bananapus/swap-terminal","version":"0.0.13","license":"MIT","_id":"@bananapus/swap-terminal@0.0.13","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-swap-terminal#readme","bugs":{"url":"https://github.com/Bananapus/nana-swap-terminal/issues"},"dist":{"shasum":"15e593d669675d007fdebacb6e2f854dfb82b0fa","tarball":"https://registry.npmjs.org/@bananapus/swap-terminal/-/swap-terminal-0.0.13.tgz","fileCount":51,"integrity":"sha512-9qewsg2RoSnW6JL4OwDdok8qXgmYKcOCTutRA/KUXcDqXVMHvznwPbVcLRf4jYNoHZKS+aRXhrH3D6HtGr2flg==","signatures":[{"sig":"MEYCIQC/KEkP3QbwSMxhq42oxvplmISSX80YLjmN3IRSCjgT0wIhAOAekbl9hVEVTYIYKXe5N88VVSXpdQUHcoqvPfonVNrP","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":6432409},"engines":{"node":">=20.0.0"},"gitHead":"e1ad51b8cb930be41de08ab6a6316d67b6d8b5ea","scripts":{"test":"forge test","coverage":"forge coverage --match-path \"./src/*.sol\" --report lcov --report summary","artifacts":"source ./.env && npx sphinx artifacts --org-id 'cltepuu9u0003j58rjtbd0hvu' --project-name 'nana-swap-terminal'","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-swap-terminal.git","type":"git"},"_npmVersion":"10.7.0","description":"The `JBSwapTerminal` accepts payments in any token. When the `JBSwapTerminal` is paid, it uses a Uniswap pool to exchange the tokens it received for tokens that another one of the project's terminals accepts. Then, it pays the project's primary terminal f","directories":{},"_nodeVersion":"22.2.0","dependencies":{"@bananapus/core":"^0.0.15","@uniswap/permit2":"github:Uniswap/permit2","@uniswap/v3-core":"github:Uniswap/v3-core#0.8","@uniswap/v3-periphery":"github:Uniswap/v3-periphery#0.8","@openzeppelin/contracts":"^5.0.2","@bananapus/permission-ids":"^0.0.8","@exhausted-pigeon/uniswap-v3-foundry-pool":"^1.0.9","@exhausted-pigeon/uniswap-v3-foundry-quote":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"@sphinx-labs/plugins":"^0.32.2"},"_npmOperationalInternal":{"tmp":"tmp/swap-terminal_0.0.13_1717456119301_0.770051637724567","host":"s3://npm-registry-packages"}},"0.0.14":{"name":"@bananapus/swap-terminal","version":"0.0.14","license":"MIT","_id":"@bananapus/swap-terminal@0.0.14","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-swap-terminal#readme","bugs":{"url":"https://github.com/Bananapus/nana-swap-terminal/issues"},"dist":{"shasum":"d3a2396b943539c0ed3362baac3cafecadb36227","tarball":"https://registry.npmjs.org/@bananapus/swap-terminal/-/swap-terminal-0.0.14.tgz","fileCount":60,"integrity":"sha512-o+/MhkCWp1o6ps0zCo9hoNPwwXRjO5eVr6LyXmWG3adnrCi96RNMXEFCgfhMYghtqNYDwJR2EK3s2ANK1InEgA==","signatures":[{"sig":"MEQCIHySk5g+fNm2Rry/xGz6gOnrm67mClRK7/NRCBIyI4sKAiB72QtXAk3MU22mCA71658fk9QidgjpXVzM805wj/EhJQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":7505920},"engines":{"node":">=20.0.0"},"gitHead":"dcbaa905ea4a02381ef4300db41bc180d8a3d36f","scripts":{"test":"forge test","coverage":"forge coverage --match-path \"./src/*.sol\" --report lcov --report summary","artifacts":"source ./.env && npx sphinx artifacts --org-id 'cltepuu9u0003j58rjtbd0hvu' --project-name 'nana-swap-terminal-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-swap-terminal.git","type":"git"},"_npmVersion":"10.7.0","description":"The `JBSwapTerminal` accepts payments in any token. When the `JBSwapTerminal` is paid, it uses a Uniswap pool to exchange the tokens it received for tokens that another one of the project's terminals accepts. Then, it pays the project's primary terminal f","directories":{},"_nodeVersion":"22.2.0","dependencies":{"@bananapus/core":"^0.0.18","@uniswap/permit2":"github:Uniswap/permit2","@uniswap/v3-core":"github:Uniswap/v3-core#0.8","@uniswap/v3-periphery":"github:Uniswap/v3-periphery#0.8","@openzeppelin/contracts":"^5.0.2","@bananapus/permission-ids":"^0.0.9","@exhausted-pigeon/uniswap-v3-foundry-pool":"^1.0.9","@exhausted-pigeon/uniswap-v3-foundry-quote":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"@sphinx-labs/plugins":"^0.32.2"},"_npmOperationalInternal":{"tmp":"tmp/swap-terminal_0.0.14_1718057375765_0.03757446150624677","host":"s3://npm-registry-packages"}},"0.0.15":{"name":"@bananapus/swap-terminal","version":"0.0.15","license":"MIT","_id":"@bananapus/swap-terminal@0.0.15","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-swap-terminal#readme","bugs":{"url":"https://github.com/Bananapus/nana-swap-terminal/issues"},"dist":{"shasum":"e2882dc7e5c24294732e3637e1f0fd6fb1a18c60","tarball":"https://registry.npmjs.org/@bananapus/swap-terminal/-/swap-terminal-0.0.15.tgz","fileCount":60,"integrity":"sha512-TjTmzf7QFO66g4+vzwV4ikQcIxE6+wsNM9DpUSuPnVFpqxP3v7OTYnWzT8ViMx23pMnGDgNUjaCGu0ZeKZaiQA==","signatures":[{"sig":"MEYCIQDh6EkPGlspJAfeKPtjLj/TkcyNVufEkaY2/QG1qUYTMgIhAL17N1/xDIP8z+TxlmLn+gDSEO0wCyuMrfpB4Vqs0+Ly","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":7520014},"engines":{"node":">=20.0.0"},"gitHead":"3d0e0157e3ce59499d38f53ab203ba155979c202","scripts":{"test":"forge test","coverage":"forge coverage --match-path \"./src/*.sol\" --report lcov --report summary","artifacts":"source ./.env && npx sphinx artifacts --org-id 'cltepuu9u0003j58rjtbd0hvu' --project-name 'nana-swap-terminal-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-swap-terminal.git","type":"git"},"_npmVersion":"10.8.2","description":"A Juicebox terminal that accepts any token and swaps it for ETH (or the appropriate native token, like matic).","directories":{},"_nodeVersion":"22.5.1","dependencies":{"@bananapus/core":"^0.0.22","@uniswap/permit2":"github:Uniswap/permit2","@uniswap/v3-core":"github:Uniswap/v3-core#0.8","@uniswap/v3-periphery":"github:Uniswap/v3-periphery#0.8","@openzeppelin/contracts":"^5.0.2","@bananapus/permission-ids":"^0.0.11","@exhausted-pigeon/uniswap-v3-foundry-pool":"^1.0.9","@exhausted-pigeon/uniswap-v3-foundry-quote":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"@sphinx-labs/plugins":"^0.33.0"},"_npmOperationalInternal":{"tmp":"tmp/swap-terminal_0.0.15_1721399871946_0.6327446591845625","host":"s3://npm-registry-packages"}},"0.0.16":{"name":"@bananapus/swap-terminal","version":"0.0.16","license":"MIT","_id":"@bananapus/swap-terminal@0.0.16","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-swap-terminal#readme","bugs":{"url":"https://github.com/Bananapus/nana-swap-terminal/issues"},"dist":{"shasum":"144997bdf57fe586ed6f7c8123d7e81eeb251f19","tarball":"https://registry.npmjs.org/@bananapus/swap-terminal/-/swap-terminal-0.0.16.tgz","fileCount":65,"integrity":"sha512-0KZBo4bUySIChnCjtlelX6x4f/gEaf91CccNY3S91oLOYH0UXG0jZca33duyUbEC3UzJD1yHWyyNFnt+Ht2/PA==","signatures":[{"sig":"MEYCIQC798HvMUkDbeZ2OGyJDWFwgY09byZUq+7LCGPujDoiEAIhAMkS+FZCjB8SGATvG6A89D9fkLPDMWYUUs5/yHVHTwgb","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8260343},"engines":{"node":">=20.0.0"},"gitHead":"e1f26bba02b99b2fda28148455b5c19bf2f89d63","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-swap-terminal-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-swap-terminal.git","type":"git"},"_npmVersion":"10.8.2","description":"A Juicebox terminal that accepts any token and swaps it for ETH (or the appropriate native token, like matic).","directories":{},"_nodeVersion":"22.5.1","dependencies":{"@bananapus/core":"^0.0.23","@uniswap/permit2":"github:Uniswap/permit2","@uniswap/v3-core":"github:Uniswap/v3-core#0.8","@uniswap/v3-periphery":"github:Uniswap/v3-periphery#0.8","@openzeppelin/contracts":"^5.0.2","@bananapus/permission-ids":"^0.0.11","@exhausted-pigeon/uniswap-v3-foundry-pool":"^1.0.9","@exhausted-pigeon/uniswap-v3-foundry-quote":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"@sphinx-labs/plugins":"^0.33.0"},"_npmOperationalInternal":{"tmp":"tmp/swap-terminal_0.0.16_1721507120001_0.16290411243369896","host":"s3://npm-registry-packages"}},"0.0.17":{"name":"@bananapus/swap-terminal","version":"0.0.17","license":"MIT","_id":"@bananapus/swap-terminal@0.0.17","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-swap-terminal#readme","bugs":{"url":"https://github.com/Bananapus/nana-swap-terminal/issues"},"dist":{"shasum":"20ef69ed7faa57b35ccd78f3cefcea91cc929c63","tarball":"https://registry.npmjs.org/@bananapus/swap-terminal/-/swap-terminal-0.0.17.tgz","fileCount":65,"integrity":"sha512-VpRlz0oOGvYcQ5fhCqaKwEjiS7SH00sAs47ZJChei1PMgzVdV1tu5u6rm9pXP565i8l3XDgevrWc9SUr5HyHdQ==","signatures":[{"sig":"MEUCIAC0Oq5N8sgOyaTPusQu0zNkwEFcZk+YvjiLlFcsfLmRAiEA3NOL6vLK59+PfTk5+qsZtC7mbUjhr+n8TxjbZB+PoJc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8260361},"engines":{"node":">=20.0.0"},"gitHead":"086d42eda9229a0cc48aa7a75968efa0307463a7","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-swap-terminal-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-swap-terminal.git","type":"git"},"_npmVersion":"10.8.2","description":"A Juicebox terminal that accepts any token and swaps it for ETH (or the appropriate native token, like matic).","directories":{},"_nodeVersion":"22.5.1","dependencies":{"@bananapus/core":"^0.0.24","@uniswap/permit2":"github:Uniswap/permit2","@uniswap/v3-core":"github:Uniswap/v3-core#0.8","@uniswap/v3-periphery":"github:Uniswap/v3-periphery#0.8","@openzeppelin/contracts":"^5.0.2","@bananapus/permission-ids":"^0.0.11","@exhausted-pigeon/uniswap-v3-foundry-pool":"^1.0.9","@exhausted-pigeon/uniswap-v3-foundry-quote":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"@sphinx-labs/plugins":"^0.33.0"},"_npmOperationalInternal":{"tmp":"tmp/swap-terminal_0.0.17_1721584965602_0.09665962361055525","host":"s3://npm-registry-packages"}},"0.0.18":{"name":"@bananapus/swap-terminal","version":"0.0.18","license":"MIT","_id":"@bananapus/swap-terminal@0.0.18","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-swap-terminal#readme","bugs":{"url":"https://github.com/Bananapus/nana-swap-terminal/issues"},"dist":{"shasum":"9e9e0177fd5df3bcf4e5473837d488f36103649b","tarball":"https://registry.npmjs.org/@bananapus/swap-terminal/-/swap-terminal-0.0.18.tgz","fileCount":70,"integrity":"sha512-xGMkgk0dD/2ZRbaAYL43hKm75xl4i8j41cVQQbGSyx1o+/xn+4dVJ9TrFm9Gef++uGuthOQreNV7s4sLDvrYAg==","signatures":[{"sig":"MEUCIQD68+z87FZVNsQULmi5PBafbtj9c7pwTc9DQeCo7CHfmgIgV9N0TQBTX8D39KmvSYjTYdmrxaApjbKH0qTrv30doK8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8861244},"engines":{"node":">=20.0.0"},"gitHead":"cbfa9949963b1baad00abbc4eb3259e14ca019c2","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-swap-terminal-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-swap-terminal.git","type":"git"},"_npmVersion":"10.8.2","description":"A Juicebox terminal that accepts any token and swaps it for ETH (or the appropriate native token, like matic).","directories":{},"_nodeVersion":"22.5.1","dependencies":{"@bananapus/core":"^0.0.25","@uniswap/permit2":"github:Uniswap/permit2","@uniswap/v3-core":"github:Uniswap/v3-core#0.8","@uniswap/v3-periphery":"github:Uniswap/v3-periphery#0.8","@openzeppelin/contracts":"^5.0.2","@bananapus/permission-ids":"^0.0.11","@exhausted-pigeon/uniswap-v3-foundry-pool":"^1.0.9","@exhausted-pigeon/uniswap-v3-foundry-quote":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"@sphinx-labs/plugins":"^0.33.0"},"_npmOperationalInternal":{"tmp":"tmp/swap-terminal_0.0.18_1721589620504_0.9923783336525058","host":"s3://npm-registry-packages"}},"0.0.19":{"name":"@bananapus/swap-terminal","version":"0.0.19","license":"MIT","_id":"@bananapus/swap-terminal@0.0.19","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-swap-terminal#readme","bugs":{"url":"https://github.com/Bananapus/nana-swap-terminal/issues"},"dist":{"shasum":"d4fa74735120bb9d4bb7d5917fe333e6f49a9228","tarball":"https://registry.npmjs.org/@bananapus/swap-terminal/-/swap-terminal-0.0.19.tgz","fileCount":85,"integrity":"sha512-sFDGy0hvdz+7Menu58Tm1XYZA5JLWBIDP9fN5MbYE25RecHcwU5mt4torsndOywh2dDfcN49UCmJXS/6NOA4aQ==","signatures":[{"sig":"MEQCIBwysbfsaShJaTgnCmwHtcMjxzIAnmqahTiXqlUGkvpxAiBgCXuzn0gdxWadzliim0pUlkbrPkKsej1v3u6uQtdw+Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8980120},"engines":{"node":">=20.0.0"},"gitHead":"a056550bda6a44a5c6ceb3e875c162a0de439034","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-swap-terminal-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-swap-terminal.git","type":"git"},"_npmVersion":"10.8.2","description":"A Juicebox terminal that accepts any token and swaps it for ETH (or the appropriate native token, like matic).","directories":{},"_nodeVersion":"22.8.0","dependencies":{"@bananapus/core":"^0.0.31","@uniswap/permit2":"github:Uniswap/permit2","@uniswap/v3-core":"github:Uniswap/v3-core#0.8","@uniswap/v3-periphery":"github:Uniswap/v3-periphery#0.8","@openzeppelin/contracts":"^5.0.2","@bananapus/permission-ids":"^0.0.12","@exhausted-pigeon/uniswap-v3-foundry-pool":"^1.0.9","@exhausted-pigeon/uniswap-v3-foundry-quote":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"@sphinx-labs/plugins":"^0.33.0"},"_npmOperationalInternal":{"tmp":"tmp/swap-terminal_0.0.19_1725397718407_0.10695643933150745","host":"s3://npm-registry-packages"}},"0.0.20":{"name":"@bananapus/swap-terminal","version":"0.0.20","license":"MIT","_id":"@bananapus/swap-terminal@0.0.20","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-swap-terminal#readme","bugs":{"url":"https://github.com/Bananapus/nana-swap-terminal/issues"},"dist":{"shasum":"e1bbdc6671a9dd5cac5517e8288706264a49e588","tarball":"https://registry.npmjs.org/@bananapus/swap-terminal/-/swap-terminal-0.0.20.tgz","fileCount":90,"integrity":"sha512-i7PXEYgCoWAOTMhPiWfgS+1sf2KLOV5ZKWDcNhat1HvMEyo5rJaFe2b7oS6U/5s8Zh1HMiaORxZBpL/7/mCUiw==","signatures":[{"sig":"MEYCIQDkmug/KXAMKJkM/v8Q6oEexiPj5ZDb3qmWy/7LbVsEAQIhANS0J3YYOOc3EwHlcBuI47yB0aKmWVPE1pWXHoCs/e7i","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":9655265},"engines":{"node":">=20.0.0"},"gitHead":"b1bd223229ed0020d24677fa039e839800673dc0","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-swap-terminal-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-swap-terminal.git","type":"git"},"_npmVersion":"10.8.2","description":"A Juicebox terminal that accepts any token and swaps it for ETH (or the appropriate native token, like matic).","directories":{},"_nodeVersion":"22.8.0","dependencies":{"@bananapus/core":"^0.0.32","@uniswap/permit2":"github:Uniswap/permit2","@uniswap/v3-core":"github:Uniswap/v3-core#0.8","@uniswap/v3-periphery":"github:Uniswap/v3-periphery#0.8","@openzeppelin/contracts":"^5.0.2","@bananapus/permission-ids":"^0.0.12","@exhausted-pigeon/uniswap-v3-foundry-pool":"^1.0.9","@exhausted-pigeon/uniswap-v3-foundry-quote":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"@sphinx-labs/plugins":"^0.33.0"},"_npmOperationalInternal":{"tmp":"tmp/swap-terminal_0.0.20_1726599774033_0.8599664754149807","host":"s3://npm-registry-packages"}},"0.0.21":{"name":"@bananapus/swap-terminal","version":"0.0.21","license":"MIT","_id":"@bananapus/swap-terminal@0.0.21","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-swap-terminal#readme","bugs":{"url":"https://github.com/Bananapus/nana-swap-terminal/issues"},"dist":{"shasum":"c9e6a9849c25f9ab4d158a8d9aeebfa57210bc16","tarball":"https://registry.npmjs.org/@bananapus/swap-terminal/-/swap-terminal-0.0.21.tgz","fileCount":90,"integrity":"sha512-xRLD9aa0eGu8niSRguPtOvt/gUYLXWUlBMhjZOO5VylGGZOgZ9ls1CIBMS4NnxbvTlEfheINeFPxyJIeHzfpaA==","signatures":[{"sig":"MEUCIQCN4LWJ1YsFf1rHhFjz0sLR1tvwL2NQLN+eefEVnu4tyAIgFKoUfMPQO9B4uFwHd5akT19EnmDheGiwJyNQabRT05s=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":9655280},"engines":{"node":">=20.0.0"},"gitHead":"30fe691f3c1f38daa06dc45cf7c047989a5b37e6","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-swap-terminal-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-swap-terminal.git","type":"git"},"_npmVersion":"10.8.3","description":"A Juicebox terminal that accepts any token and swaps it for ETH (or the appropriate native token, like matic).","directories":{},"_nodeVersion":"22.9.0","dependencies":{"@bananapus/core":"^0.0.32","@uniswap/permit2":"github:Uniswap/permit2","@uniswap/v3-core":"github:Uniswap/v3-core#0.8","@uniswap/v3-periphery":"github:Uniswap/v3-periphery#0.8","@openzeppelin/contracts":"^5.0.2","@bananapus/permission-ids":"^0.0.12","@exhausted-pigeon/uniswap-v3-foundry-pool":"^1.0.9","@exhausted-pigeon/uniswap-v3-foundry-quote":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"@sphinx-labs/plugins":"^0.33.0"},"_npmOperationalInternal":{"tmp":"tmp/swap-terminal_0.0.21_1726611671445_0.10795554019461462","host":"s3://npm-registry-packages"}},"0.0.22":{"name":"@bananapus/swap-terminal","version":"0.0.22","license":"MIT","_id":"@bananapus/swap-terminal@0.0.22","maintainers":[{"name":"simplemachine","email":"justinpulley92@gmail.com"},{"name":"me.jango","email":"me.jango@protonmail.com"},{"name":"filipviz","email":"f@filip.world"}],"homepage":"https://github.com/Bananapus/nana-swap-terminal#readme","bugs":{"url":"https://github.com/Bananapus/nana-swap-terminal/issues"},"dist":{"shasum":"b21144675336b0df3c87651408cf02a1ec2f392a","tarball":"https://registry.npmjs.org/@bananapus/swap-terminal/-/swap-terminal-0.0.22.tgz","fileCount":95,"integrity":"sha512-B5V3EZC5pP8g0u8bRc1z69+v5w5TmK0gkxiI5ZOM91eoZz+ryi+9AIBcY2ql6p9348Bd2TReOEs4e+PrqDE1MQ==","signatures":[{"sig":"MEYCIQCDK6Yu9CWxRUvbeZX03Cas1hAXzrdc8fHt8dfFFSFMggIhAI6UR5oiL5tbqR6Geu4q6jz2S0qJ3xHfUzIBERSIhl4C","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":10340078},"engines":{"node":">=20.0.0"},"gitHead":"acc923a5263151ecc80c4ba46422b433720fdc57","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-swap-terminal-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-swap-terminal.git","type":"git"},"_npmVersion":"10.9.0","description":"A Juicebox terminal that accepts any token and swaps it for ETH (or the appropriate native token, like matic).","directories":{},"_nodeVersion":"23.3.0","dependencies":{"@bananapus/core":"^0.0.38","@uniswap/permit2":"github:Uniswap/permit2","@uniswap/v3-core":"github:Uniswap/v3-core#0.8","@uniswap/v3-periphery":"github:Uniswap/v3-periphery#0.8","@openzeppelin/contracts":"^5.1.0","@bananapus/permission-ids":"^0.0.16","@exhausted-pigeon/uniswap-v3-foundry-pool":"^1.0.9","@exhausted-pigeon/uniswap-v3-foundry-quote":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"@sphinx-labs/plugins":"^0.33.0"},"_npmOperationalInternal":{"tmp":"tmp/swap-terminal_0.0.22_1733748601263_0.6293560464046224","host":"s3://npm-registry-packages-npm-production"}},"0.0.23":{"name":"@bananapus/swap-terminal","version":"0.0.23","license":"MIT","_id":"@bananapus/swap-terminal@0.0.23","maintainers":[{"name":"simplemachine","email":"justinpulley92@gmail.com"},{"name":"me.jango","email":"me.jango@protonmail.com"},{"name":"filipviz","email":"f@filip.world"}],"homepage":"https://github.com/Bananapus/nana-swap-terminal#readme","bugs":{"url":"https://github.com/Bananapus/nana-swap-terminal/issues"},"dist":{"shasum":"2c65585668eb0be2297c620b1b5fe92930cb3b12","tarball":"https://registry.npmjs.org/@bananapus/swap-terminal/-/swap-terminal-0.0.23.tgz","fileCount":66,"integrity":"sha512-ztGdqNVS6q8wYs6h2pI1DkcXcloUn2U1Xk2+NsTpm9SMex7uTYEgNL3H1SkaRx9yPJrJHvh6yF1F8zrNgf/96Q==","signatures":[{"sig":"MEYCIQCM7GjkyCeNI6RlMpblMzpjXzNx1lmH9/RtU+rUKrskggIhAI29PK/ukwVaYy0ODd51/2IeTn1TcYr+OywyHx8wqMkO","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5095576},"engines":{"node":">=20.0.0"},"gitHead":"efd39189b49fbe46229888019a88150836b8b5ed","scripts":{"test":"forge test","coverage":"forge coverage --match-path \"./src/*.sol\" --report lcov --report summary","artifacts":"source ./.env && npx sphinx artifacts --org-id 'ea165b21-7cdc-4d7b-be59-ecdd4c26bee4' --project-name 'nana-swap-terminal-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-swap-terminal.git","type":"git"},"_npmVersion":"10.9.2","description":"A Juicebox terminal that accepts any token and swaps it for ETH (or the appropriate native token, like matic).","directories":{},"_nodeVersion":"23.6.1","dependencies":{"@bananapus/core":"^0.0.39","@uniswap/permit2":"github:Uniswap/permit2","@uniswap/v3-core":"github:Uniswap/v3-core#0.8","@uniswap/v3-periphery":"github:Uniswap/v3-periphery#0.8","@openzeppelin/contracts":"^5.2.0","@bananapus/permission-ids":"^0.0.17","@exhausted-pigeon/uniswap-v3-foundry-pool":"^1.0.9","@exhausted-pigeon/uniswap-v3-foundry-quote":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"@sphinx-labs/plugins":"^0.33.0"},"_npmOperationalInternal":{"tmp":"tmp/swap-terminal_0.0.23_1737848769773_0.5381885149714485","host":"s3://npm-registry-packages-npm-production"}},"0.0.24":{"name":"@bananapus/swap-terminal","version":"0.0.24","license":"MIT","_id":"@bananapus/swap-terminal@0.0.24","maintainers":[{"name":"simplemachine","email":"justinpulley92@gmail.com"},{"name":"me.jango","email":"me.jango@protonmail.com"},{"name":"filipviz","email":"f@filip.world"}],"homepage":"https://github.com/Bananapus/nana-swap-terminal#readme","bugs":{"url":"https://github.com/Bananapus/nana-swap-terminal/issues"},"dist":{"shasum":"a184d3f4d364420e02df38d8fc5f3230766e91e2","tarball":"https://registry.npmjs.org/@bananapus/swap-terminal/-/swap-terminal-0.0.24.tgz","fileCount":67,"integrity":"sha512-gH+12rCfUbFEZgAH19gb0kjfR61Fr4hgAOxCbunVvkHcghBNZQF5az1gZEoFfm1J7hcCzmEOjI6L6t0l377wng==","signatures":[{"sig":"MEUCIQC8rctvHTYTkoS4/a2dDrp/ikhtY7inriCuTPUzZ1ZeeAIgImVYuTFLO7aHkNy9gtLDYdxsddTrcb47jxZXP0GbKz4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5097627},"engines":{"node":">=20.0.0"},"gitHead":"91d2e3058f4a97d074d7a3c176ca1653e8656313","scripts":{"test":"forge test","coverage":"forge coverage --match-path \"./src/*.sol\" --report lcov --report summary","artifacts":"source ./.env && npx sphinx artifacts --org-id 'ea165b21-7cdc-4d7b-be59-ecdd4c26bee4' --project-name 'nana-swap-terminal-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-swap-terminal.git","type":"git"},"_npmVersion":"10.9.2","description":"A Juicebox terminal that accepts any token and swaps it for ETH (or the appropriate native token, like matic).","directories":{},"_nodeVersion":"23.6.1","dependencies":{"@bananapus/core":"^0.0.40","@uniswap/permit2":"github:Uniswap/permit2","@uniswap/v3-core":"github:Uniswap/v3-core#1.0","@uniswap/v3-periphery":"github:Uniswap/v3-periphery#1.3","@openzeppelin/contracts":"^5.2.0","@bananapus/permission-ids":"^0.0.17","@exhausted-pigeon/uniswap-v3-foundry-pool":"^1.0.9","@exhausted-pigeon/uniswap-v3-foundry-quote":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"@sphinx-labs/plugins":"^0.33.1"},"_npmOperationalInternal":{"tmp":"tmp/swap-terminal_0.0.24_1738012443239_0.14215698741148053","host":"s3://npm-registry-packages-npm-production"}},"0.0.25":{"name":"@bananapus/swap-terminal","version":"0.0.25","license":"MIT","_id":"@bananapus/swap-terminal@0.0.25","maintainers":[{"name":"simplemachine","email":"justinpulley92@gmail.com"},{"name":"me.jango","email":"me.jango@protonmail.com"},{"name":"filipviz","email":"f@filip.world"}],"homepage":"https://github.com/Bananapus/nana-swap-terminal#readme","bugs":{"url":"https://github.com/Bananapus/nana-swap-terminal/issues"},"dist":{"shasum":"757cd7ef23e498b171b42d9907f97ea2cc63d69e","tarball":"https://registry.npmjs.org/@bananapus/swap-terminal/-/swap-terminal-0.0.25.tgz","fileCount":67,"integrity":"sha512-ysjRV9ppcLqSd/cmku1jyhe9Qssz1U0twFbn9ewFEkbVOotUKb+UkFv1Zf9nII5A/cvfANrxpVG6bOR1avKhHg==","signatures":[{"sig":"MEUCIQCh+bp44tFR6J4pabYZY1ZHy7M9sN3i72GEWMwvzM5zjQIgSMHM7ZNZSBfmA8jsRDzqi5dkDO+9koXfukfFxqtCosI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5097627},"engines":{"node":">=20.0.0"},"gitHead":"c32bdf7ca162314278322bbcae8a245349a87ad7","scripts":{"test":"forge test","coverage":"forge coverage --match-path \"./src/*.sol\" --report lcov --report summary","artifacts":"source ./.env && npx sphinx artifacts --org-id 'ea165b21-7cdc-4d7b-be59-ecdd4c26bee4' --project-name 'nana-swap-terminal-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-swap-terminal.git","type":"git"},"_npmVersion":"10.9.2","description":"A Juicebox terminal that accepts any token and swaps it for ETH (or the appropriate native token, like matic).","directories":{},"_nodeVersion":"23.7.0","dependencies":{"@bananapus/core":"^0.0.40","@uniswap/permit2":"github:Uniswap/permit2","@uniswap/v3-core":"github:Uniswap/v3-core#0.8","@uniswap/v3-periphery":"github:Uniswap/v3-periphery#0.8","@openzeppelin/contracts":"^5.2.0","@bananapus/permission-ids":"^0.0.17","@exhausted-pigeon/uniswap-v3-foundry-pool":"^1.0.9","@exhausted-pigeon/uniswap-v3-foundry-quote":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"@sphinx-labs/plugins":"^0.33.1"},"_npmOperationalInternal":{"tmp":"tmp/swap-terminal_0.0.25_1738589868680_0.36016100510942883","host":"s3://npm-registry-packages-npm-production"}},"0.0.26":{"name":"@bananapus/swap-terminal","version":"0.0.26","license":"MIT","_id":"@bananapus/swap-terminal@0.0.26","maintainers":[{"name":"simplemachine","email":"justinpulley92@gmail.com"},{"name":"me.jango","email":"me.jango@protonmail.com"},{"name":"filipviz","email":"f@filip.world"}],"homepage":"https://github.com/Bananapus/nana-swap-terminal#readme","bugs":{"url":"https://github.com/Bananapus/nana-swap-terminal/issues"},"dist":{"shasum":"7f96ae093bf462cf06c735ef1e43d4e66cf11266","tarball":"https://registry.npmjs.org/@bananapus/swap-terminal/-/swap-terminal-0.0.26.tgz","fileCount":67,"integrity":"sha512-2Jq1WD/VS7k3nIN+DrYycNylP0LLnU6U5b3dQ6mJ1ppsNiU0uHiz6zKK6ohlXO2U1f0LzTozD5c3dc3TODqPkw==","signatures":[{"sig":"MEUCIGYQdRhZUQi0OSGBCHlaJabJxac8HkBb6wU1wXefQtEdAiEAkR+fkIs1f9K9QpWgF+cBZxawu/MnCD+naV/EMxGlj+E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5101541},"engines":{"node":">=20.0.0"},"gitHead":"44d247b5f361d5887d45d79055bf8ab54d92a3f1","scripts":{"test":"forge test","coverage":"forge coverage --match-path \"./src/*.sol\" --report lcov --report summary","artifacts":"source ./.env && npx sphinx artifacts --org-id 'ea165b21-7cdc-4d7b-be59-ecdd4c26bee4' --project-name 'nana-swap-terminal-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-swap-terminal.git","type":"git"},"_npmVersion":"10.9.2","description":"A Juicebox terminal that accepts any token and swaps it for ETH (or the appropriate native token, like matic).","directories":{},"_nodeVersion":"23.7.0","dependencies":{"@bananapus/core":"^0.0.43","@uniswap/permit2":"github:Uniswap/permit2","@uniswap/v3-core":"github:Uniswap/v3-core#0.8","@uniswap/v3-periphery":"github:Uniswap/v3-periphery#0.8","@openzeppelin/contracts":"^5.2.0","@bananapus/permission-ids":"^0.0.17","@exhausted-pigeon/uniswap-v3-foundry-pool":"^1.0.9","@exhausted-pigeon/uniswap-v3-foundry-quote":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"@sphinx-labs/plugins":"^0.33.1"},"_npmOperationalInternal":{"tmp":"tmp/swap-terminal_0.0.26_1738709922392_0.5874383768614544","host":"s3://npm-registry-packages-npm-production"}},"0.0.27":{"name":"@bananapus/swap-terminal","version":"0.0.27","license":"MIT","_id":"@bananapus/swap-terminal@0.0.27","maintainers":[{"name":"simplemachine","email":"justinpulley92@gmail.com"},{"name":"me.jango","email":"me.jango@protonmail.com"},{"name":"filipviz","email":"f@filip.world"}],"homepage":"https://github.com/Bananapus/nana-swap-terminal#readme","bugs":{"url":"https://github.com/Bananapus/nana-swap-terminal/issues"},"dist":{"shasum":"3c13a801711bcae4998370f6ba175c3dfdd001cf","tarball":"https://registry.npmjs.org/@bananapus/swap-terminal/-/swap-terminal-0.0.27.tgz","fileCount":67,"integrity":"sha512-+acdM7A875ktKkYgMzEqiwNZXE3szWJRTKql5weNnWOa7o8/+4NywuOFUvYG6v4/IR93vxp05pBtYGltIhmmpQ==","signatures":[{"sig":"MEQCIAPzb5Z8LiIpTbmsrIOQPaLgbol+Kft94kxHpPMHcHdmAiBAqfrtVAvwCE90/ruAHvX3xfuopGFKniFQBZfippkmTw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5102205},"engines":{"node":">=20.0.0"},"gitHead":"4a28a64a13cddc45d16438f876b10e41975e1a79","scripts":{"test":"forge test","coverage":"forge coverage --match-path \"./src/*.sol\" --report lcov --report summary","artifacts":"source ./.env && npx sphinx artifacts --org-id 'ea165b21-7cdc-4d7b-be59-ecdd4c26bee4' --project-name 'nana-swap-terminal-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-swap-terminal.git","type":"git"},"_npmVersion":"10.9.2","description":"A Juicebox terminal that accepts any token and swaps it for ETH (or the appropriate native token, like matic).","directories":{},"_nodeVersion":"23.7.0","dependencies":{"@bananapus/core":"^0.0.45","@uniswap/permit2":"github:Uniswap/permit2","@uniswap/v3-core":"github:Uniswap/v3-core#0.8","@uniswap/v3-periphery":"github:Uniswap/v3-periphery#0.8","@openzeppelin/contracts":"^5.2.0","@bananapus/permission-ids":"^0.0.17","@exhausted-pigeon/uniswap-v3-foundry-pool":"^1.0.9","@exhausted-pigeon/uniswap-v3-foundry-quote":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"@sphinx-labs/plugins":"^0.33.1"},"_npmOperationalInternal":{"tmp":"tmp/swap-terminal_0.0.27_1738783538818_0.0639186504142244","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"@bananapus/swap-terminal","version":"1.0.0","license":"MIT","_id":"@bananapus/swap-terminal@1.0.0","maintainers":[{"name":"simplemachine","email":"justinpulley92@gmail.com"},{"name":"me.jango","email":"me.jango@protonmail.com"},{"name":"filipviz","email":"f@filip.world"}],"homepage":"https://github.com/Bananapus/nana-swap-terminal#readme","bugs":{"url":"https://github.com/Bananapus/nana-swap-terminal/issues"},"dist":{"shasum":"98cc2c3cb5e445edfd6e96e18338a16c5901fa45","tarball":"https://registry.npmjs.org/@bananapus/swap-terminal/-/swap-terminal-1.0.0.tgz","fileCount":49,"integrity":"sha512-ksEqT6/4ejMWhka076w0QNr9BC0B3nqgK2dM3WDcNfNL7nrP+bICRKZIaG8IJ0zA9xEP2Hi/ZRcCwqgiWEawRw==","signatures":[{"sig":"MEQCIEUXqsMjyDFMiJBLSAGT7FScE1/IioF8m/9SKXUincYLAiBOVlQwF1aRYmOsh6ixSC3oYLYu6SMfOtZiURorC2zNFg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1575088},"engines":{"node":">=20.0.0"},"gitHead":"51836407ba237dac81a7303839754e5643f90695","scripts":{"test":"forge test","coverage":"forge coverage --match-path \"./src/*.sol\" --report lcov --report summary","artifacts":"source ./.env && npx sphinx artifacts --org-id 'ea165b21-7cdc-4d7b-be59-ecdd4c26bee4' --project-name 'nana-swap-terminal'","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-swap-terminal.git","type":"git"},"_npmVersion":"10.9.2","description":"A Juicebox terminal that accepts any token and swaps it for ETH (or the appropriate native token, like matic).","directories":{},"_nodeVersion":"23.8.0","dependencies":{"@bananapus/core":"^1.0.0","@uniswap/permit2":"github:Uniswap/permit2","@uniswap/v3-core":"github:Uniswap/v3-core#0.8","@uniswap/v3-periphery":"github:Uniswap/v3-periphery#0.8","@openzeppelin/contracts":"^5.2.0","@bananapus/permission-ids":"^0.0.17","@exhausted-pigeon/uniswap-v3-foundry-pool":"^1.0.9","@exhausted-pigeon/uniswap-v3-foundry-quote":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"@sphinx-labs/plugins":"^0.33.1"},"_npmOperationalInternal":{"tmp":"tmp/swap-terminal_1.0.0_1739773244364_0.3677809000905832","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@bananapus/swap-terminal","version":"1.0.1","license":"MIT","repository":{"type":"git","url":"git+https://github.com/Bananapus/nana-swap-terminal.git"},"engines":{"node":">=20.0.0"},"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","deploy:mainnets:usdc":"source ./.env && npx sphinx propose ./script/DeployUSDC.s.sol --networks mainnets","deploy:testnets:usdc":"source ./.env && npx sphinx propose ./script/DeployUSDC.s.sol --networks testnets","configure:mainnets":"source ./.env && npx sphinx propose ./script/ConfigurePairs.s.sol --networks mainnets","configure:testnets":"source ./.env && npx sphinx propose ./script/ConfigurePairs.s.sol --networks testnets","artifacts":"source ./.env && npx sphinx artifacts --org-id 'ea165b21-7cdc-4d7b-be59-ecdd4c26bee4' --project-name 'nana-swap-terminal'"},"dependencies":{"@bananapus/core":"^1.0.6","@bananapus/permission-ids":"^0.0.17","@exhausted-pigeon/uniswap-v3-foundry-pool":"^1.0.9","@exhausted-pigeon/uniswap-v3-foundry-quote":"^1.0.0","@openzeppelin/contracts":"^5.2.0","@uniswap/permit2":"github:Uniswap/permit2","@uniswap/v3-core":"github:Uniswap/v3-core#0.8","@uniswap/v3-periphery":"github:Uniswap/v3-periphery#0.8"},"devDependencies":{"@sphinx-labs/plugins":"^0.33.1"},"_id":"@bananapus/swap-terminal@1.0.1","gitHead":"cb4f8c43710bb9ab51f427b3459b0e82ea44f8e9","description":"A Juicebox terminal that accepts any token and swaps it for ETH (or the appropriate native token, like matic).","bugs":{"url":"https://github.com/Bananapus/nana-swap-terminal/issues"},"homepage":"https://github.com/Bananapus/nana-swap-terminal#readme","_nodeVersion":"24.7.0","_npmVersion":"11.5.1","dist":{"integrity":"sha512-ev1yUcLSQbR2M38s/AfbNoPKzioFbwMicHP1AlAQAnAj8BsL67LkK0Jz3AFg0qB6Gwzju0tO/T6eylsjExv88g==","shasum":"1fa0b3d5606a8ae982f71ee4cdc733c029b24c9b","tarball":"https://registry.npmjs.org/@bananapus/swap-terminal/-/swap-terminal-1.0.1.tgz","fileCount":61,"unpackedSize":2942690,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDFh5upb3QkSFsWNl2DxLg1VT9u+GoOyWkuKHYGAKDfuAIhAKkykFWdoTu3W+5WD2dmYXN6x4BAwOdhy5yFUYT8nvc8"}]},"_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/swap-terminal_1.0.1_1756416183310_0.2637192331830267"},"_hasShrinkwrap":false}},"time":{"created":"2024-02-25T07:07:39.688Z","modified":"2025-08-28T21:23:03.861Z","0.0.2":"2024-02-25T07:07:39.989Z","0.0.3":"2024-03-19T23:56:43.011Z","0.0.4":"2024-04-03T01:36:23.057Z","0.0.5":"2024-04-03T03:32:09.924Z","0.0.6":"2024-04-10T13:22:40.508Z","0.0.7":"2024-04-11T07:31:28.272Z","0.0.8":"2024-04-12T14:50:15.277Z","0.0.9":"2024-04-21T23:16:36.039Z","0.0.10":"2024-05-02T16:43:56.503Z","0.0.11":"2024-05-02T18:49:15.732Z","0.0.12":"2024-06-03T22:01:44.563Z","0.0.13":"2024-06-03T23:08:39.526Z","0.0.14":"2024-06-10T22:09:36.014Z","0.0.15":"2024-07-19T14:37:52.229Z","0.0.16":"2024-07-20T20:25:20.400Z","0.0.17":"2024-07-21T18:02:45.925Z","0.0.18":"2024-07-21T19:20:20.766Z","0.0.19":"2024-09-03T21:08:38.878Z","0.0.20":"2024-09-17T19:02:54.269Z","0.0.21":"2024-09-17T22:21:11.658Z","0.0.22":"2024-12-09T12:50:01.485Z","0.0.23":"2025-01-25T23:46:10.059Z","0.0.24":"2025-01-27T21:14:03.524Z","0.0.25":"2025-02-03T13:37:48.992Z","0.0.26":"2025-02-04T22:58:42.735Z","0.0.27":"2025-02-05T19:25:39.133Z","1.0.0":"2025-02-17T06:20:44.683Z","1.0.1":"2025-08-28T21:23:03.610Z"},"bugs":{"url":"https://github.com/Bananapus/nana-swap-terminal/issues"},"license":"MIT","homepage":"https://github.com/Bananapus/nana-swap-terminal#readme","repository":{"type":"git","url":"git+https://github.com/Bananapus/nana-swap-terminal.git"},"description":"A Juicebox terminal that accepts any token and swaps it for ETH (or the appropriate native token, like matic).","maintainers":[{"name":"simplemachine","email":"justinpulley92@gmail.com"},{"name":"me.jango","email":"me.jango@protonmail.com"},{"name":"filipviz","email":"f@filip.world"}],"readme":"# Swap Terminal\n\nA Juicebox terminal that accepts any token and swaps it for ETH (or the appropriate native token, like matic).\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## Usage\n\n### Install\n\nHow to install `nana-swap-terminal` in another project.\n\nFor projects using `npm` to manage dependencies (recommended):\n\n```bash\nnpm install @bananapus/swap-terminal\n```\n\nFor projects using `forge` to manage dependencies (not recommended):\n\n```bash\nforge install Bananapus/nana-swap-terminal\n```\n\nIf you're using `forge` to manage dependencies, add `@bananapus/swap-terminal/=lib/nana-swap-terminal/` to `remappings.txt`. You'll also need to install `nana-swap-terminal`'s dependencies and add similar remappings for them.\n\n### Develop\n\n`nana-swap-terminal` uses [npm](https://www.npmjs.com/) (version >=20.0.0) for package management and the [Foundry](https://github.com/foundry-rs/foundry) development toolchain for builds, tests, and deployments. To get set up, [install Node.js](https://nodejs.org/en/download) and 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\nnpm ci && forge 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| `npm run artifacts` | Fetch Sphinx artifacts and write them to `deployments/` |\n\n### Deployments\n\n#### With Sphinx\n\n`nana-buyback-hook` manages deployments with [Sphinx](https://www.sphinx.dev). To run the deployment scripts, install the npm `devDependencies` with:\n\n```bash\n`npm ci --also=dev`\n```\n\nYou'll also 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:mainnets` | Propose mainnet deployments. |\n| `npm run deploy:testnets` | Propose testnet deployments. |\n\nYour teammates can review and approve the proposed deployments in the Sphinx UI. Once approved, the deployments will be executed.\n\n#### Without Sphinx\n\nYou can use the Sphinx CLI to run the deployment scripts without paying for Sphinx. First, install the npm `devDependencies` with:\n\n```bash\n`npm ci --also=dev`\n```\n\nYou can deploy the contracts like so:\n\n```bash\nPRIVATE_KEY=\"0x123…\" RPC_ETHEREUM_SEPOLIA=\"https://rpc.ankr.com/eth_sepolia\" npx sphinx deploy script/Deploy.s.sol --network ethereum_sepolia\n```\n\nThis example deploys `nana-buyback-hook` to the Sepolia testnet using the specified private key. You can configure new networks in `foundry.toml`.\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. The important source directories are:\n\n```\nnana-swap-terminal/\n├── src/\n│   ├── JBSwapTerminal.sol - The main swap terminal contract.\n│   └── interfaces/ - Contains wETH interface (do not modify).\n├── script/\n│   ├── Deploy.s.sol - Deployment script.\n│   └── helpers/ - Internal helpers for the deployment script.\n└── test/\n    ├── Fork/ - Fork tests.\n    ├── Invariant/ - Invariant tests (empty for now).\n    ├── Units/ - Unit tests (empty for now).\n    └── helper/ - Contains a mock ERC-20 token for tests.\n```\n\nOther directories:\n\n```\nnana-swap-terminal/\n├── .github/\n│   └── workflows/ - CI/CD workflows.\n└── deployments/ - Sphinx deployment logs.\n```\n\n## Description\n\nThe [`JBSwapTerminal`](https://github.com/Bananapus/nana-swap-terminal/blob/main/src/JBSwapTerminal.sol) accepts payments in any token. When the [`JBSwapTerminal`](https://github.com/Bananapus/nana-swap-terminal/blob/main/src/JBSwapTerminal.sol) is paid, it uses a Uniswap pool to exchange the tokens it received for ETH (or the appropriate native token, like MATIC). Then, the swap terminal pays the project's primary ETH terminal with the ETH it received from the swap, forwarding the specified beneficiary to receive any tokens or NFTs minted by that payment.\n\nEXAMPLE: One of the \"Clungle\" project's terminals accepts ETH and mints $CLNG tokens. The Clungle project also has a swap terminal. If Jimmy pays the Clungle project with USDC and sets his address as the payment's beneficiary, the swap terminal will swap the USDC for ETH. Then it pays that ETH into the ETH terminal, minting $CLNG tokens for Jimmy.\n\n### Flow\n\nAt a high level:\n\n```mermaid\nsequenceDiagram\n    participant Frontend client\n    participant JBDirectory\n    participant Uniswap pool\n    participant JBSwapTerminal\n    participant JBMultiTerminal\n    Note left of Frontend client: User attempts to pay project with USDC\n    Frontend client->>JBDirectory: Checks project's primary USDC terminal\n    JBDirectory->>Frontend client: Returns JBSwapTerminal if a USDC pool is available\n    Frontend client->>JBSwapTerminal: Calls pay(…) with USDC payment data (and optional Uniswap quote)\n    JBSwapTerminal->>JBDirectory: Checks project's primary ETH terminal \n    JBDirectory->>JBSwapTerminal: Returns JBMultiTerminal for ETH\n    JBSwapTerminal->>Uniswap pool: Swaps USDC for ETH\n    JBSwapTerminal->>JBMultiTerminal: Pays ETH to JBMultiTerminal\n    Note right of JBMultiTerminal: Mint tokens for original beneficiary\n```\n\n1. The user attempts to pay a project with USDC through a frontend client. The client calls [`JBDirectory.primaryTerminalOf(…)`](https://github.com/Bananapus/nana-core/blob/main/src/JBDirectory.sol#L82) to get the project's primary USDC terminal. This only returns the swap terminal if:\n    - The project does not have another terminal as their primary USDC terminal, AND\n    - Either the project's owner has set up a Uniswap USDC/ETH pool for the swap terminal to use (by calling [`JBSwapTerminal.addDefaultPool(…)`](https://github.com/Bananapus/nana-swap-terminal/blob/main/src/JBSwapTerminal.sol#L428)), or the swap terminal's owner has set up a default USDC/ETH pool for the swap terminal to use.\n2. Optionally, if no terminal was found, the frontend may call [`JBDirectory.isTerminalOf(…)`](https://github.com/Bananapus/nana-core/blob/main/src/JBDirectory.sol#L117) to check if the project has a swap terminal but no pool set. If this is the case, the frontend can still use the swap terminal by passing in a Uniswap pool in the payment metadata.\n3. The client calls the swap terminal's [`pay(…)`](https://github.com/Bananapus/nana-swap-terminal/blob/main/src/JBSwapTerminal.sol#L314) function. In the payment metadata, the client may pass in a quote containing a Uniswap pool to use and the minimum number of project tokens to receive in exchange from payment. These should be encoded using the [`JBMetadataResolver`](https://github.com/Bananapus/nana-core/blob/main/src/libraries/JBMetadataResolver.sol) format. Frontend clients can use [`juice-sdk-v4`](https://github.com/Bananapus/juice-sdk-v4/blob/e2119e5ee6caeea3f05a095d82724c7266339e9f/packages/core/src/utils/hook.ts#L10) to encode metadata in this format.\n    - If no quote is provided, the swap terminal use the pool set by the project's owner.\n    - If the project's owner hasn't set a pool, the swap terminal will use a default pool set by the swap terminal's owner.\n    - If it still can't find a pool, the swap terminal will revert.\n4. The swap terminal calls [`JBDirectory.primaryTerminalOf(…)`](https://github.com/Bananapus/nana-core/blob/main/src/JBDirectory.sol#L82) to get the project's primary ETH terminal. If the project doesn't have an ETH terminal, the swap terminal reverts.\n5. The swap terminal swaps the USDC for ETH using the pool described in step 2.\n6. The swap terminal pays the project's primary ETH terminal with the ETH it received from the swap, forwarding the beneficiary to receive any tokens or NFTs minted by that payment.\n\n### Terminals\n\nA Juicebox project's terminals are the entry point for operations involving inflows and outflows of funds – payments, redemptions, payouts, and surplus allowance usage. Each project can use multiple terminals, and a single terminal contract deployed to a specific address can be used by many projects.\n\nA project's terminals can be read or updated through the [`JBDirectory`](https://github.com/Bananapus/nana-core/blob/main/src/JBDirectory.sol), which lists each project's current controller and terminals. It also stores their primary terminals. The primary terminal for a given token is where payments in that token are routed to by default.\n\nSome useful functions in the [`JBDirectory`](https://github.com/Bananapus/nana-core/blob/main/src/JBDirectory.sol):\n\n- To set a project's terminals, use [`JBDirectory.setTerminalsOf(…)`](https://github.com/Bananapus/nana-core/blob/main/src/JBDirectory.sol#L208). For example, to set up a project with a [`JBMultiTerminal`](https://github.com/Bananapus/nana-core/blob/main/src/JBMultiTerminal.sol) and a [`JBSwapTerminal`](https://github.com/Bananapus/nana-swap-terminal/blob/main/src/JBSwapTerminal.sol), you would call this function with the project's ID and an array containing the address of each terminal.\n- To check a project's primary terminal for a token, use [`JBDirectory.primaryTerminalOf(…)`](https://github.com/Bananapus/nana-core/blob/main/src/JBDirectory.sol#L82). Project owners can set their primary terminal for a token using [`JBDirectory.setPrimaryTerminalOf(…)`](https://github.com/Bananapus/nana-core/blob/main/src/JBDirectory.sol#L82).\n- To check whether a project has a given terminal, use [`JBDirectory.isTerminalOf(…)`](https://github.com/Bananapus/nana-core/blob/main/src/JBDirectory.sol#L117).\n\nThe most commonly used terminal, from [`nana-core`](https://github.com/bananapus/nana-core), is the [`JBMultiTerminal`](https://github.com/Bananapus/nana-core/blob/main/src/JBMultiTerminal.sol). It's a generic terminal which manages payments, redemptions, payouts, and surplus allowance spending in native/ERC-20 tokens\n\n### Payment Metadata\n\nThe [`JBSwapTerminal`](https://github.com/Bananapus/nana-swap-terminal/blob/main/src/JBSwapTerminal.sol) accepts encoded `metadata` in its [`pay(…)`](https://github.com/Bananapus/nana-swap-terminal/blob/main/src/JBSwapTerminal.sol#L314) function. This metadata is decoded using the [`JBMetadataResolver`](https://github.com/Bananapus/nana-core/blob/main/src/libraries/JBMetadataResolver.sol) like so:\n\n```solidity\n(bool exists, bytes memory quote) =\n    JBMetadataResolver.getDataFor(JBMetadataResolver.getId(\"quoteForSwap\"), metadata);\n\n// If there's a quote, use it.\nif (exists) {\n    // If there is a quote, use it for the swap config.\n    (minAmountOut, pool) = abi.decode(quote, (uint256, IUniswapV3Pool));\n```\n\nWhat's happening here:\n\n1. [`JBMetadataResolver.getId(\"quoteForSwap\")`](https://github.com/Bananapus/nana-core/blob/main/src/libraries/JBMetadataResolver.sol#L274) returns a unique 4-byte identifier where the quote is stored in the metadata.\n2. [`JBMetadataResolver.getDataFor(…, metadata)`](https://github.com/Bananapus/nana-core/blob/main/src/libraries/JBMetadataResolver.sol#L60) attempts to retrieve the data associated with the ID from the metadata.\n3. [`getDataFor(…)`](https://github.com/Bananapus/nana-core/blob/main/src/libraries/JBMetadataResolver.sol#L60) returns a tuple with two values:\n    - `exists`: A boolean indicating whether the quote was found in the metadata.\n    - `quote`: A bytes array containing the `minAmountOut` and the Uniswap `pool` to use.\n4. If the data exists, the swap terminal decodes the quote and uses the `minAmountOut` and `pool` for the payment.\n\nFrontend clients can use [`juice-sdk-v4`](https://github.com/Bananapus/juice-sdk-v4/blob/e2119e5ee6caeea3f05a095d82724c7266339e9f/packages/core/src/utils/hook.ts#L10) to encode metadata in this format.\n","readmeFilename":"README.md"}