{"_id":"@alfabc/swap-sdk","_rev":"8-8069d9f223ba0786d79acafc383dd3b5","name":"@alfabc/swap-sdk","description":"![NFT Swap Banner](./nft-swap-sdk-banner.jpg)","dist-tags":{"latest":"1.0.8"},"versions":{"1.0.0":{"name":"@alfabc/swap-sdk","version":"1.0.0","license":"MIT","_id":"@alfabc/swap-sdk@1.0.0","maintainers":[{"name":"thexpert","email":"adrielarnel00@gmail.com"},{"name":"josecruset","email":"jose@cruset.com"}],"dist":{"shasum":"497331f2566c3c4a93f60ed6b8a9778c4bd7f5bd","tarball":"https://registry.npmjs.org/@alfabc/swap-sdk/-/swap-sdk-1.0.0.tgz","fileCount":172,"integrity":"sha512-lgB+t16XHt1+s6H41O/2U4fRhC2nbLHaRVJrXrw6HfuaXCQy2zZg7FuZglfHfhpQy89pGxiv1X4riPaXtF0q/w==","signatures":[{"sig":"MEYCIQCd3B7/5I8TsNE7atytItZkQayKLPh4aUvl4sPsZ5WsuwIhAOP92x2i/USh4XzUva25N3OQ1BoTEfZPRbPXPmtCLFr9","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4234265},"type":"module","_from":"file:alfabc-swap-sdk-1.0.0.tgz","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.cjs.js"}},"scripts":{"dev":"vite","test":"vitest --ui","build":"tsc && vite build --sourcemap","start":"pnpm build:watch","prepublish":"pnpm build","build:watch":"tsc && vite build --sourcemap -w"},"_npmUser":{"name":"thexpert","email":"adrielarnel00@gmail.com"},"_resolved":"/private/var/folders/zq/38nrhbwn6vx3qr2p5x3m647m0000gn/T/cf379c11392b2bcd2457a322b6470c68/alfabc-swap-sdk-1.0.0.tgz","_integrity":"sha512-lgB+t16XHt1+s6H41O/2U4fRhC2nbLHaRVJrXrw6HfuaXCQy2zZg7FuZglfHfhpQy89pGxiv1X4riPaXtF0q/w==","_npmVersion":"10.1.0","description":"![NFT Swap Banner](./nft-swap-sdk-banner.jpg)","directories":{},"_nodeVersion":"20.8.1","dependencies":{"uuid":"^8.3.2","ethers":"^5.7.0","lodash":"^4.17.21","date-fns":"^2.29.2","lodash-es":"^4.17.21","query-string":"^7.1.1","tiny-warning":"^1.0.3","tiny-invariant":"^1.2.0","@ethersproject/abi":"^5.7.0","isomorphic-unfetch":"^3.1.0","@ethersproject/hash":"^5.7.0","@ethersproject/bytes":"^5.7.0","@ethersproject/wallet":"^5.7.0","@ethersproject/address":"^5.7.0","@ethersproject/bignumber":"^5.7.0","@ethersproject/contracts":"^5.7.0","@ethersproject/providers":"^5.7.0","@ethersproject/abstract-signer":"^5.7.0"},"typesVersions":{"*":{"*":["./dist/index.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"vite":"^4.3.9","tslib":"^2.4.0","vitest":"^0.34.1","typechain":"^8.1.0","@vitest/ui":"^0.34.1","typescript":"^4.8.2","@types/uuid":"^8.3.4","@types/lodash":"^4.14.182","vite-plugin-dts":"^3.5.2","@typechain/ethers-v5":"^10.1.0"},"_npmOperationalInternal":{"tmp":"tmp/swap-sdk_1.0.0_1699632020785_0.42110223892796017","host":"s3://npm-registry-packages"}},"1.0.1":{"name":"@alfabc/swap-sdk","version":"1.0.1","license":"MIT","_id":"@alfabc/swap-sdk@1.0.1","maintainers":[{"name":"thexpert","email":"adrielarnel00@gmail.com"},{"name":"josecruset","email":"jose@cruset.com"}],"dist":{"shasum":"e1069eb6794faf3485f227ac35e8f910f4195544","tarball":"https://registry.npmjs.org/@alfabc/swap-sdk/-/swap-sdk-1.0.1.tgz","fileCount":172,"integrity":"sha512-UIRt9OOA4GErB4mKEeRVWK3kPmZlotZoBZKh8XQj1olMVP00w9HsYDUQiATQFlhL/iQk8C4TY6Xawm0yxOg8DA==","signatures":[{"sig":"MEYCIQDHhdUmLaDXOMIN2EexukcgweD5boiNy0aUAFApOcX6wwIhALcMv6ljP4kU9o6NxR+UY9H/HmrIWjVrL20iZ1P2mMch","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4236169},"type":"module","_from":"file:alfabc-swap-sdk-1.0.1.tgz","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.cjs.js"}},"scripts":{"dev":"vite","test":"vitest --ui","build":"tsc && vite build --sourcemap","start":"pnpm build:watch","prepublish":"pnpm build","build:watch":"tsc && vite build --sourcemap -w"},"_npmUser":{"name":"thexpert","email":"adrielarnel00@gmail.com"},"_resolved":"/private/var/folders/zq/38nrhbwn6vx3qr2p5x3m647m0000gn/T/eb2ca3f55b2f65a9d23fe205c56c4996/alfabc-swap-sdk-1.0.1.tgz","_integrity":"sha512-UIRt9OOA4GErB4mKEeRVWK3kPmZlotZoBZKh8XQj1olMVP00w9HsYDUQiATQFlhL/iQk8C4TY6Xawm0yxOg8DA==","_npmVersion":"10.1.0","description":"![NFT Swap Banner](./nft-swap-sdk-banner.jpg)","directories":{},"_nodeVersion":"20.8.1","dependencies":{"uuid":"^8.3.2","ethers":"^5.7.0","lodash":"^4.17.21","date-fns":"^2.29.2","lodash-es":"^4.17.21","query-string":"^7.1.1","tiny-warning":"^1.0.3","tiny-invariant":"^1.2.0","@ethersproject/abi":"^5.7.0","isomorphic-unfetch":"^3.1.0","@ethersproject/hash":"^5.7.0","@ethersproject/bytes":"^5.7.0","@ethersproject/wallet":"^5.7.0","@ethersproject/address":"^5.7.0","@ethersproject/bignumber":"^5.7.0","@ethersproject/contracts":"^5.7.0","@ethersproject/providers":"^5.7.0","@ethersproject/abstract-signer":"^5.7.0"},"typesVersions":{"*":{"*":["./dist/index.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"vite":"^4.3.9","tslib":"^2.4.0","vitest":"^0.34.1","typechain":"^8.1.0","@vitest/ui":"^0.34.1","typescript":"^4.8.2","@types/uuid":"^8.3.4","@types/lodash":"^4.14.182","vite-plugin-dts":"^3.5.2","@typechain/ethers-v5":"^10.1.0"},"_npmOperationalInternal":{"tmp":"tmp/swap-sdk_1.0.1_1699636126640_0.8964049981035607","host":"s3://npm-registry-packages"}},"1.0.2":{"name":"@alfabc/swap-sdk","version":"1.0.2","license":"MIT","_id":"@alfabc/swap-sdk@1.0.2","maintainers":[{"name":"thexpert","email":"adrielarnel00@gmail.com"},{"name":"josecruset","email":"jose@cruset.com"}],"dist":{"shasum":"7cd6e7fa34ce9e4cdc732d207d3d91f48d0d7af8","tarball":"https://registry.npmjs.org/@alfabc/swap-sdk/-/swap-sdk-1.0.2.tgz","fileCount":172,"integrity":"sha512-GIevme43ec4rHsciCqqfBk+nfCOPIAU9Z0GySTimfK16XobCD500F4nvYhWTMVocLQoS/dkzEW5quhe/SeFfgw==","signatures":[{"sig":"MEUCIEW/Rikv5TVR3qE6mADjmjzPrUlYY2E5lcQdSi7pAQF2AiEAvmm0tKYfSr84s0jEoPp7AEbXUWxT/5gLvhFeiZrubIY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4235728},"type":"module","_from":"file:alfabc-swap-sdk-1.0.2.tgz","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.cjs.js"}},"scripts":{"dev":"vite","test":"vitest --ui","build":"tsc && vite build --sourcemap","start":"pnpm build:watch","prepublish":"pnpm build","build:watch":"tsc && vite build --sourcemap -w"},"_npmUser":{"name":"thexpert","email":"adrielarnel00@gmail.com"},"_resolved":"/private/var/folders/zq/38nrhbwn6vx3qr2p5x3m647m0000gn/T/306c32d94e1eb2b9751e9b527d3eb1be/alfabc-swap-sdk-1.0.2.tgz","_integrity":"sha512-GIevme43ec4rHsciCqqfBk+nfCOPIAU9Z0GySTimfK16XobCD500F4nvYhWTMVocLQoS/dkzEW5quhe/SeFfgw==","_npmVersion":"10.1.0","description":"![NFT Swap Banner](./nft-swap-sdk-banner.jpg)","directories":{},"_nodeVersion":"20.8.1","dependencies":{"uuid":"^8.3.2","ethers":"^5.7.0","lodash":"^4.17.21","date-fns":"^2.29.2","lodash-es":"^4.17.21","query-string":"^7.1.1","tiny-warning":"^1.0.3","tiny-invariant":"^1.2.0","@ethersproject/abi":"^5.7.0","isomorphic-unfetch":"^3.1.0","@ethersproject/hash":"^5.7.0","@ethersproject/bytes":"^5.7.0","@ethersproject/wallet":"^5.7.0","@ethersproject/address":"^5.7.0","@ethersproject/bignumber":"^5.7.0","@ethersproject/contracts":"^5.7.0","@ethersproject/providers":"^5.7.0","@ethersproject/abstract-signer":"^5.7.0"},"typesVersions":{"*":{"*":["./dist/index.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"vite":"^4.3.9","tslib":"^2.4.0","vitest":"^0.34.1","typechain":"^8.1.0","@vitest/ui":"^0.34.1","typescript":"^4.8.2","@types/uuid":"^8.3.4","@types/lodash":"^4.14.182","vite-plugin-dts":"^3.5.2","@typechain/ethers-v5":"^10.1.0"},"_npmOperationalInternal":{"tmp":"tmp/swap-sdk_1.0.2_1699667180130_0.8071348276806998","host":"s3://npm-registry-packages"}},"1.0.3":{"name":"@alfabc/swap-sdk","version":"1.0.3","license":"MIT","_id":"@alfabc/swap-sdk@1.0.3","maintainers":[{"name":"thexpert","email":"adrielarnel00@gmail.com"},{"name":"josecruset","email":"jose@cruset.com"}],"dist":{"shasum":"6c47254973958a16c3f4205f3c7206d10c4f94fe","tarball":"https://registry.npmjs.org/@alfabc/swap-sdk/-/swap-sdk-1.0.3.tgz","fileCount":172,"integrity":"sha512-xeK3VtkkAQnU6syyaXbNTVd4b3UiPZYQf9YDLhYs3O2Y91MbZmWVYtMPC6qZTvxGPpEy57lET29YNYVDZW8ULw==","signatures":[{"sig":"MEUCIGtzjPHj+OBx5coFXzcTnn3R8bQaoqwuvDadka/3/7LfAiEAsDpF7+qh2RyA4UQme88J+kUq7g52yDdkm51cxqVV58k=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4235830},"type":"module","_from":"file:alfabc-swap-sdk-1.0.3.tgz","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.umd.cjs"}},"scripts":{"dev":"vite","test":"vitest --ui","build":"tsc && vite build --sourcemap","start":"pnpm build:watch","prepublish":"pnpm build","build:watch":"tsc && vite build --sourcemap -w"},"_npmUser":{"name":"thexpert","email":"adrielarnel00@gmail.com"},"_resolved":"/private/var/folders/zq/38nrhbwn6vx3qr2p5x3m647m0000gn/T/382e381532e04405955639b05ff2a8a5/alfabc-swap-sdk-1.0.3.tgz","_integrity":"sha512-xeK3VtkkAQnU6syyaXbNTVd4b3UiPZYQf9YDLhYs3O2Y91MbZmWVYtMPC6qZTvxGPpEy57lET29YNYVDZW8ULw==","_npmVersion":"10.1.0","description":"![NFT Swap Banner](./nft-swap-sdk-banner.jpg)","directories":{},"_nodeVersion":"20.8.1","dependencies":{"uuid":"^8.3.2","ethers":"^5.7.0","lodash":"^4.17.21","date-fns":"^2.29.2","lodash-es":"^4.17.21","query-string":"^7.1.1","tiny-warning":"^1.0.3","tiny-invariant":"^1.2.0","@ethersproject/abi":"^5.7.0","isomorphic-unfetch":"^3.1.0","@ethersproject/hash":"^5.7.0","@ethersproject/bytes":"^5.7.0","@ethersproject/wallet":"^5.7.0","@ethersproject/address":"^5.7.0","@ethersproject/bignumber":"^5.7.0","@ethersproject/contracts":"^5.7.0","@ethersproject/providers":"^5.7.0","@ethersproject/abstract-signer":"^5.7.0"},"typesVersions":{"*":{"*":["./dist/index.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"vite":"^4.3.9","tslib":"^2.4.0","vitest":"^0.34.1","typechain":"^8.1.0","@vitest/ui":"^0.34.1","typescript":"^4.8.2","@types/uuid":"^8.3.4","@types/lodash":"^4.14.182","vite-plugin-dts":"^3.5.2","@typechain/ethers-v5":"^10.1.0"},"_npmOperationalInternal":{"tmp":"tmp/swap-sdk_1.0.3_1700146693759_0.06768512416105787","host":"s3://npm-registry-packages"}},"1.0.4":{"name":"@alfabc/swap-sdk","version":"1.0.4","license":"MIT","_id":"@alfabc/swap-sdk@1.0.4","maintainers":[{"name":"thexpert","email":"adrielarnel00@gmail.com"},{"name":"josecruset","email":"jose@cruset.com"}],"dist":{"shasum":"bfbe3ffdf3644a63ec9e148482af1ac03dc1c870","tarball":"https://registry.npmjs.org/@alfabc/swap-sdk/-/swap-sdk-1.0.4.tgz","fileCount":172,"integrity":"sha512-XrlrepkGVF4WfNnusQXS9pLqqXBPkW/Z8DcLURTjz+1m3SBNs02x0qmmcDtW54ENe5i5n7s9pfo425ZFPQ/yDQ==","signatures":[{"sig":"MEYCIQDmwHg3DVNM57VUieZCMEMOfD5WkM4vCpqJCKCU0G/qQAIhAOZE9qrU5uJQC6sojlUR5LvW3eZmV+SOaI95U03jsHRI","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4235196},"type":"module","_from":"file:alfabc-swap-sdk-1.0.4.tgz","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.umd.cjs"}},"scripts":{"dev":"vite","test":"vitest --ui","build":"tsc && vite build --sourcemap","start":"pnpm build:watch","prepublish":"pnpm build","build:watch":"tsc && vite build --sourcemap -w"},"_npmUser":{"name":"thexpert","email":"adrielarnel00@gmail.com"},"_resolved":"/private/var/folders/zq/38nrhbwn6vx3qr2p5x3m647m0000gn/T/a0d1b7d1d23a5418d01f2893c86f2fe6/alfabc-swap-sdk-1.0.4.tgz","_integrity":"sha512-XrlrepkGVF4WfNnusQXS9pLqqXBPkW/Z8DcLURTjz+1m3SBNs02x0qmmcDtW54ENe5i5n7s9pfo425ZFPQ/yDQ==","_npmVersion":"10.1.0","description":"![NFT Swap Banner](./nft-swap-sdk-banner.jpg)","directories":{},"_nodeVersion":"20.8.1","dependencies":{"uuid":"^8.3.2","ethers":"5.7.0","lodash":"^4.17.21","date-fns":"^2.29.2","lodash-es":"^4.17.21","query-string":"^7.1.1","tiny-warning":"^1.0.3","tiny-invariant":"^1.2.0","@ethersproject/abi":"5.7.0","isomorphic-unfetch":"^3.1.0","@ethersproject/hash":"5.7.0","@ethersproject/bytes":"5.7.0","@ethersproject/wallet":"5.7.0","@ethersproject/address":"5.7.0","@ethersproject/bignumber":"5.7.0","@ethersproject/contracts":"5.7.0","@ethersproject/providers":"5.7.0","@ethersproject/abstract-signer":"5.7.0"},"typesVersions":{"*":{"*":["./dist/index.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"vite":"^4.3.9","tslib":"^2.4.0","vitest":"^0.34.1","typechain":"^8.1.0","@vitest/ui":"^0.34.1","typescript":"^4.8.2","@types/uuid":"^8.3.4","@types/lodash":"^4.14.182","vite-plugin-dts":"^3.5.2","@typechain/ethers-v5":"^10.1.0"},"_npmOperationalInternal":{"tmp":"tmp/swap-sdk_1.0.4_1702575568293_0.5848794363641514","host":"s3://npm-registry-packages"}},"1.0.5":{"name":"@alfabc/swap-sdk","version":"1.0.5","license":"MIT","_id":"@alfabc/swap-sdk@1.0.5","maintainers":[{"name":"thexpert","email":"adrielarnel00@gmail.com"},{"name":"josecruset","email":"jose@cruset.com"}],"dist":{"shasum":"c0907523870c426a9e49e62c571c8349bf6921de","tarball":"https://registry.npmjs.org/@alfabc/swap-sdk/-/swap-sdk-1.0.5.tgz","fileCount":172,"integrity":"sha512-nl7fFqQLWlAlpy+DsnPSbOUPkwljKAQOsY6OyD7qkPxb1HTJEoArDbLjtAY1SCUUOKItZBC33S75ZnrL552/kQ==","signatures":[{"sig":"MEYCIQDEWFBDozA3R29j7MpU+w9lpnCZ43w3BATy0Mh6C6J8UAIhAM8TUmy2/mRBgu3x/aiMsPtPet+Iywu59Fs9ZDtllMma","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4235818},"type":"module","_from":"file:alfabc-swap-sdk-1.0.5.tgz","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.umd.cjs"}},"scripts":{"dev":"vite","test":"vitest --ui","build":"tsc && vite build --sourcemap","start":"pnpm build:watch","prepublish":"pnpm build","build:watch":"tsc && vite build --sourcemap -w"},"_npmUser":{"name":"thexpert","email":"adrielarnel00@gmail.com"},"_resolved":"/private/var/folders/zq/38nrhbwn6vx3qr2p5x3m647m0000gn/T/88e795d20929c7a32994f5b02732956c/alfabc-swap-sdk-1.0.5.tgz","_integrity":"sha512-nl7fFqQLWlAlpy+DsnPSbOUPkwljKAQOsY6OyD7qkPxb1HTJEoArDbLjtAY1SCUUOKItZBC33S75ZnrL552/kQ==","_npmVersion":"10.1.0","description":"![NFT Swap Banner](./nft-swap-sdk-banner.jpg)","directories":{},"_nodeVersion":"20.8.1","dependencies":{"uuid":"^8.3.2","ethers":"5.7.0","lodash":"^4.17.21","date-fns":"^2.29.2","lodash-es":"^4.17.21","query-string":"^7.1.1","tiny-warning":"^1.0.3","tiny-invariant":"^1.2.0","@ethersproject/abi":"5.7.0","isomorphic-unfetch":"^3.1.0","@ethersproject/hash":"5.7.0","@ethersproject/bytes":"5.7.0","@ethersproject/wallet":"5.7.0","@ethersproject/address":"5.7.0","@ethersproject/bignumber":"5.7.0","@ethersproject/contracts":"5.7.0","@ethersproject/providers":"5.7.0","@ethersproject/abstract-signer":"5.7.0"},"typesVersions":{"*":{"*":["./dist/index.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"vite":"^4.3.9","tslib":"^2.4.0","vitest":"^0.34.1","typechain":"^8.1.0","@vitest/ui":"^0.34.1","typescript":"^4.8.2","@types/uuid":"^8.3.4","@types/lodash":"^4.14.182","vite-plugin-dts":"^3.5.2","@typechain/ethers-v5":"^10.1.0"},"_npmOperationalInternal":{"tmp":"tmp/swap-sdk_1.0.5_1715006966130_0.545393826326861","host":"s3://npm-registry-packages"}},"1.0.6":{"name":"@alfabc/swap-sdk","version":"1.0.6","license":"MIT","_id":"@alfabc/swap-sdk@1.0.6","maintainers":[{"name":"thexpert","email":"adrielarnel00@gmail.com"},{"name":"josecruset","email":"jose@cruset.com"}],"dist":{"shasum":"711a3eded560d273c70db5ef8a9c783f175a5f1e","tarball":"https://registry.npmjs.org/@alfabc/swap-sdk/-/swap-sdk-1.0.6.tgz","fileCount":172,"integrity":"sha512-wgHBSjjENC3XCODRWy1o7dkhnS+KgOItC+zYG3/zx743cefzEppJDc9AOZ2T3a3v69bSkd2DvVdD5CAIerlLuQ==","signatures":[{"sig":"MEQCIGeu8F52vG35B+hflvBKNc1CaJn+It4/Y061tLgn6WrwAiB6oiPGK1LpkL7FWfGW002akf5paQdxyb9LEcA2UGZh1A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3888258},"type":"module","_from":"file:alfabc-swap-sdk-1.0.6.tgz","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.umd.cjs"}},"scripts":{"dev":"vite","test":"vitest --ui","build":"tsc && vite build --sourcemap","start":"pnpm build:watch","prepublish":"pnpm build","build:watch":"tsc && vite build --sourcemap -w"},"_npmUser":{"name":"thexpert","email":"adrielarnel00@gmail.com"},"_resolved":"/private/var/folders/zq/38nrhbwn6vx3qr2p5x3m647m0000gn/T/f5264778312f812104c23c739643c402/alfabc-swap-sdk-1.0.6.tgz","_integrity":"sha512-wgHBSjjENC3XCODRWy1o7dkhnS+KgOItC+zYG3/zx743cefzEppJDc9AOZ2T3a3v69bSkd2DvVdD5CAIerlLuQ==","_npmVersion":"10.1.0","description":"![NFT Swap Banner](./nft-swap-sdk-banner.jpg)","directories":{},"_nodeVersion":"20.8.1","dependencies":{"uuid":"^8.3.2","ethers":"5.7.0","lodash":"^4.17.21","date-fns":"^2.29.2","lodash-es":"^4.17.21","query-string":"^7.1.1","tiny-warning":"^1.0.3","tiny-invariant":"^1.2.0","@ethersproject/abi":"5.7.0","isomorphic-unfetch":"^3.1.0","@ethersproject/hash":"5.7.0","@ethersproject/bytes":"5.7.0","@ethersproject/wallet":"5.7.0","@ethersproject/address":"5.7.0","@ethersproject/bignumber":"5.7.0","@ethersproject/contracts":"5.7.0","@ethersproject/providers":"5.7.0","@ethersproject/abstract-signer":"5.7.0"},"typesVersions":{"*":{"*":["./dist/index.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"vite":"^4.3.9","tslib":"^2.4.0","vitest":"^0.34.1","typechain":"^8.1.0","@vitest/ui":"^0.34.1","typescript":"^4.8.2","@types/uuid":"^8.3.4","@types/lodash":"^4.14.182","vite-plugin-dts":"^3.5.2","@typechain/ethers-v5":"^10.1.0"},"_npmOperationalInternal":{"tmp":"tmp/swap-sdk_1.0.6_1715014768836_0.48957934983830653","host":"s3://npm-registry-packages"}},"1.0.7":{"name":"@alfabc/swap-sdk","version":"1.0.7","license":"MIT","_id":"@alfabc/swap-sdk@1.0.7","maintainers":[{"name":"thexpert","email":"adrielarnel00@gmail.com"},{"name":"josecruset","email":"jose@cruset.com"}],"dist":{"shasum":"11d637eee135b148ef5574fdec7ff8d758cdc1ed","tarball":"https://registry.npmjs.org/@alfabc/swap-sdk/-/swap-sdk-1.0.7.tgz","fileCount":172,"integrity":"sha512-qx0MFuwnt6IHd45IwteATc+1EUNHOhRe5OW2QertwU5lhJO/lDqa5FYNiu3KCefukk4XjWfcnSnququ0wjXV0g==","signatures":[{"sig":"MEUCIQDB18+HkmzSbk3OCKSVh3SWsCod8iLjwKQT2Va7TwBIQAIgHdD32U24vzGMgsWRtiZjOMuGEe9ifTZRu6YSXUfyxQk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3886874},"type":"module","_from":"file:alfabc-swap-sdk-1.0.7.tgz","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.umd.cjs"}},"scripts":{"dev":"vite","test":"vitest --ui","build":"tsc && vite build --sourcemap","start":"pnpm build:watch","prepublish":"pnpm build","build:watch":"tsc && vite build --sourcemap -w"},"_npmUser":{"name":"thexpert","email":"adrielarnel00@gmail.com"},"_resolved":"/private/var/folders/zq/38nrhbwn6vx3qr2p5x3m647m0000gn/T/2e9e38eafb768de9c9af476c4b03f7b4/alfabc-swap-sdk-1.0.7.tgz","_integrity":"sha512-qx0MFuwnt6IHd45IwteATc+1EUNHOhRe5OW2QertwU5lhJO/lDqa5FYNiu3KCefukk4XjWfcnSnququ0wjXV0g==","_npmVersion":"10.1.0","description":"![NFT Swap Banner](./nft-swap-sdk-banner.jpg)","directories":{},"_nodeVersion":"20.8.1","dependencies":{"uuid":"^8.3.2","ethers":"5.7.0","lodash":"^4.17.21","date-fns":"^2.29.2","lodash-es":"^4.17.21","query-string":"^7.1.1","tiny-warning":"^1.0.3","tiny-invariant":"^1.2.0","@ethersproject/abi":"5.7.0","isomorphic-unfetch":"^3.1.0","@ethersproject/hash":"5.7.0","@ethersproject/bytes":"5.7.0","@ethersproject/wallet":"5.7.0","@ethersproject/address":"5.7.0","@ethersproject/bignumber":"5.7.0","@ethersproject/contracts":"5.7.0","@ethersproject/providers":"5.7.0","@ethersproject/abstract-signer":"5.7.0"},"typesVersions":{"*":{"*":["./dist/index.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"vite":"^4.3.9","tslib":"^2.4.0","vitest":"^0.34.1","typechain":"^8.1.0","@vitest/ui":"^0.34.1","typescript":"^4.8.2","@types/uuid":"^8.3.4","@types/lodash":"^4.14.182","vite-plugin-dts":"^3.5.2","@typechain/ethers-v5":"^10.1.0"},"_npmOperationalInternal":{"tmp":"tmp/swap-sdk_1.0.7_1715030873683_0.4996201598787102","host":"s3://npm-registry-packages"}},"1.0.8":{"version":"1.0.8","license":"MIT","name":"@alfabc/swap-sdk","type":"module","engines":{"node":">=20"},"exports":{".":{"import":"./dist/index.es.js","require":"./dist/index.umd.cjs","types":"./dist/index.d.ts"}},"typesVersions":{"*":{"*":["./dist/index.d.ts"]}},"devDependencies":{"@typechain/ethers-v5":"^10.1.0","@types/lodash":"^4.14.182","@types/uuid":"^8.3.4","typechain":"^8.1.0","tslib":"^2.4.0","typescript":"^4.8.2","vite":"^4.3.9","vite-plugin-dts":"^3.5.2","vitest":"^0.34.1","@vitest/ui":"^0.34.1"},"dependencies":{"@ethersproject/abi":"5.7.0","@ethersproject/abstract-signer":"5.7.0","@ethersproject/bignumber":"5.7.0","@ethersproject/bytes":"5.7.0","@ethersproject/hash":"5.7.0","@ethersproject/providers":"5.7.0","@ethersproject/wallet":"5.7.0","@ethersproject/contracts":"5.7.0","@ethersproject/address":"5.7.0","date-fns":"^2.29.2","ethers":"5.7.0","isomorphic-unfetch":"^3.1.0","lodash":"^4.17.21","lodash-es":"^4.17.21","query-string":"^7.1.1","tiny-invariant":"^1.2.0","tiny-warning":"^1.0.3","uuid":"^8.3.2"},"scripts":{"dev":"vite","start":"pnpm build:watch","build":"tsc && vite build --sourcemap","build:watch":"tsc && vite build --sourcemap -w","prepublish":"pnpm build","test":"vitest --ui"},"description":"![NFT Swap Banner](./nft-swap-sdk-banner.jpg)","_id":"@alfabc/swap-sdk@1.0.8","_integrity":"sha512-PNPRfdhG1SJ0uKcjkzJ7rBKhoTwCkajJOGb2ZfvonyXWBBuw/LrMBuAOzlu8wphOb/gCRoDwPaRVSPFhYIc57A==","_resolved":"/private/var/folders/zq/38nrhbwn6vx3qr2p5x3m647m0000gn/T/a59ff8d7c9a3653e8d4caf85a4e0876d/alfabc-swap-sdk-1.0.8.tgz","_from":"file:alfabc-swap-sdk-1.0.8.tgz","_nodeVersion":"20.8.1","_npmVersion":"10.1.0","dist":{"integrity":"sha512-PNPRfdhG1SJ0uKcjkzJ7rBKhoTwCkajJOGb2ZfvonyXWBBuw/LrMBuAOzlu8wphOb/gCRoDwPaRVSPFhYIc57A==","shasum":"377fa924391430da813d94171f062aee780e3d78","tarball":"https://registry.npmjs.org/@alfabc/swap-sdk/-/swap-sdk-1.0.8.tgz","fileCount":172,"unpackedSize":3887048,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICDtrFoiah4KXkIzm4/g2oYsby5grchGtNeTauCyRnVPAiB+ghcudlElwWaKxIcWDXJATsWvXA1XnZezODMMrZbFkw=="}]},"_npmUser":{"name":"thexpert","email":"adrielarnel00@gmail.com"},"directories":{},"maintainers":[{"name":"thexpert","email":"adrielarnel00@gmail.com"},{"name":"josecruset","email":"jose@cruset.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/swap-sdk_1.0.8_1717085318215_0.7721865128882215"},"_hasShrinkwrap":false}},"time":{"created":"2023-11-10T16:00:20.674Z","modified":"2024-05-30T16:08:38.668Z","1.0.0":"2023-11-10T16:00:21.180Z","1.0.1":"2023-11-10T17:08:46.867Z","1.0.2":"2023-11-11T01:46:20.413Z","1.0.3":"2023-11-16T14:58:14.082Z","1.0.4":"2023-12-14T17:39:28.588Z","1.0.5":"2024-05-06T14:49:26.342Z","1.0.6":"2024-05-06T16:59:28.983Z","1.0.7":"2024-05-06T21:27:54.186Z","1.0.8":"2024-05-30T16:08:38.447Z"},"maintainers":[{"name":"thexpert","email":"adrielarnel00@gmail.com"},{"name":"josecruset","email":"jose@cruset.com"}],"license":"MIT","readme":"![NFT Swap Banner](./nft-swap-sdk-banner.jpg)\n\n# Swap SDK\n\nThe missing peer-to-peer swap library for Ethereum and EVM-compatible chains, powered by the [0x protocol](https://0x.org), written in TypeScript for web3 developers. Trade tokens (ERC20s), NFTs, and other collectibles (ERC721 and ERC1155) with just a few lines of code. Seriously, easily trade anything on Ethereum with this library.\n\n**🎉 Update 1/31/22: Swap SDK now supports 0x v4, check out the [docs](https://docs.swapsdk.xyz/0x-v4). 🎉**\n\n## Overview\n\ntl;dr: NFT Swap SDK is the easiest, most-powerful swap library available on the EVM. Supports Ethereum and EVM-compatible chains (Polygon, Avalanche, BSC, etc.). Works in both browser and Node.js. Written in TypeScript, built using the 0x protocol. With this library, you can build support for NFT marketplaces, over-the-counter (OTC) exchanges, and/or peer-to-peer exchanges.\n\nThe NFT Swap SDK developed by [Trader.xyz](https://trader.xyz) offers swap support for ERC20s, ERC721s, and ERC1155s. Exchange NFTs for NFTs, NFTs for ERC20 tokens, or bundles of NFTs and tokens. This library provides the ultimate swap flexibility combined with a simple API surface area so you can be productive immediately and focus on building your web3 app.\n\nThis library is powered and secured by the [0x v3 protocol](https://0x.org). The 0x v3 protocol has been in production for multiple years securing billions of dollars with of trades.\n\n### Goals\n\nWe want to share all underlying technology trader.xyz uses with the community. While we won't be open-sourcing our frontend, as we think design and UX is our differentiator, we believe in open-sourcing and freely sharing all underlying technology.\n\nOur end goal is every piece of tech you see trader.xyz use (protocol, swap libraries, open-source orderbook, order monitor, high-performance NFT indexer, property-based orders, specific React hooks, and NFT aggregation) end up open-source. This library is the first step to achieving our goal.\n\n## Installation\n\nYou can install the SDK with yarn:\n\n`yarn add @traderxyz/nft-swap-sdk`\n\nor npm:\n\n`npm install @traderxyz/nft-swap-sdk`\n\nYou can check out an example project [here](https://nft-swapping-demo.vercel.app/)\nor check out the example repo [here](https://github.com/HaidarEzio/NFTswap/tree/example-project)\n\n## Configuration\n\nTo use the SDK, create a new NftSwap instance.\n\n```tsx\nimport { NftSwap } from '@traderxyz/nft-swap-sdk';\n\n// From your app, provide NftSwap the web3 provider, signer for the user's wallet, and the chain id.\nconst nftSwapSdk = new NftSwap(provider, signer, chainId);\n```\n\nNow you're set up and ready to use the SDK in your program. Check out the examples below to learn how to swap with the library.\n\n## Examples\n\n### Example 1: NFT <> NFT swap\n\nIn this first example, we're going to do a 1:1 NFT swap. We're going to swap User A's CryptoPunk NFT for User B's Bored Ape NFT.\n\n> **Terminology**: `maker`: Since User A will initiate the trade, we'll refer to User A as the `maker` of the trade.\n\n> **Terminology**: `taker`: Since User B will be filling and completing the trade created by User A, we'll refer to User B as the `taker` of the trade.\n\n```tsx\n// Setup the sample data...\nconst CHAIN_ID = 1; // Chain 1 corresponds to Mainnet. Visit https://chainid.network/ for a complete list of chain ids\n\nconst CRYPTOPUNK_420 = {\n  tokenAddress: '0xb47e3cd837ddf8e4c57f05d70ab865de6e193bbb', // CryptoPunk contract address\n  tokenId: '420', // Token Id of the CryptoPunk we want to swap\n  type: 'ERC721', // Must be one of 'ERC20', 'ERC721', or 'ERC1155'\n};\n\nconst BORED_APE_69 = {\n  tokenAddress: '0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D', // BAYC contract address\n  tokenId: '69', // Token Id of the BoredApe we want to swap\n  type: 'ERC721',\n};\n\n// User A Trade Data\nconst walletAddressUserA = '0x1eeD19957E0a81AED9a80f09a3CCEaD83Ea6D86b';\nconst assetsToSwapUserA = [CRYPTOPUNK_420];\n\n// User B Trade Data\nconst walletAddressUserB = '0x44beA2b43600eE240AB6Cb90696048CeF32aBf1D';\nconst assetsToSwapUserB = [BORED_APE_69];\n\n// ............................\n// Part 1 of the trade -- User A (the 'maker') initiates an order\n// ............................\n\n// Initiate the SDK for User A.\n// Pass the user's wallet signer (available via the user's wallet provider) to the Swap SDK\nconst nftSwapSdk = new NftSwap(provider, signerUserA, CHAIN_ID);\n\n// Check if we need to approve the NFT for swapping\nconst approvalStatusForUserA = await nftSwapSdk.loadApprovalStatus(\n  assetsToSwapUserA[0],\n  walletAddressUserA\n);\n// If we do need to approve User A's CryptoPunk for swapping, let's do that now\nif (!approvalStatusForUserA.contractApproved) {\n  const approvalTx = await nftSwapSdk.approveTokenOrNftByAsset(\n    assetsToSwapUserA[0],\n    makerAddress\n  );\n  const approvalTxReceipt = await approvalTx.wait();\n  console.log(\n    `Approved ${assetsToSwapUserA[0].tokenAddress} contract to swap with 0x (txHash: ${approvalTxReceipt.transactionHash})`\n  );\n}\n\n// Create the order (Remember, User A initiates the trade, so User A creates the order)\nconst order = nftSwapSdk.buildOrder(\n  assetsToSwapUserA,\n  assetsToSwapUserB,\n  walletAddressUserA\n);\n// Sign the order (User A signs since they are initiating the trade)\nconst signedOrder = await nftSwapSdk.signOrder(order, makerAddress);\n// Part 1 Complete. User A is now done. Now we send the `signedOrder` to User B to complete the trade.\n\n// ............................\n// Part 2 of the trade -- User B (the 'taker') accepts and fills order from User A and completes trade\n// ............................\n// Initiate the SDK for User B.\nconst nftSwapSdk = new NftSwap(provider, signerUserB, CHAIN_ID);\n\n// Check if we need to approve the NFT for swapping\nconst approvalStatusForUserB = await nftSwapSdk.loadApprovalStatus(\n  assetsToSwapUserB[0],\n  walletAddressUserB\n);\n// If we do need to approve NFT for swapping, let's do that now\nif (!approvalStatusForUserB.contractApproved) {\n  const approvalTx = await nftSwapSdk.approveTokenOrNftByAsset(\n    assetsToSwapUserB[0],\n    walletAddressUserB\n  );\n  const approvalTxReceipt = await approvalTx.wait();\n  console.log(\n    `Approved ${assetsToSwapUserB[0].tokenAddress} contract to swap with 0x. TxHash: ${approvalTxReceipt.transactionHash})`\n  );\n}\n// The final step is the taker (User B) submitting the order.\n// The taker approves the trade transaction and it will be submitted on the blockchain for settlement.\n// Once the transaction is confirmed, the trade will be settled and cannot be reversed.\nconst fillTx = await nftSwapSdk.fillSignedOrder(signedOrder);\nconst fillTxReceipt = await nftSwapSdk.awaitTransactionHash(fillTx.hash);\nconsole.log(`🎉 🥳 Order filled. TxHash: ${fillTxReceipt.transactionHash}`);\n```\n\n### Example 2: Swap bundles -- Bundle of mixed ERC721s and ERC20 <> Bundle of ERC20s\n\nHere we show an example of what the swap library is capable of. We can even swap arbitrary ERC tokens in bundles. We call it a bundle when we have more than one item that a party will swap. Bundles can have different ERC types within the same bundle.\n\nIn other words, we can swap `[ERC721, ERC1155, ERC20] <> [ERC721, ERC1155, ERC20]`. There's really no limit to what we can swap.\n\nMore concrete example: We can swap `[2 CryptoPunks and 1,000 DAI] for [420 WETH and 694,200 USDC]`. In this case we'd be swapping two `ERC721`s and an `ERC20` (Punk NFT and DAI, respectively) for `two ERC20s` (WETH and USDC).\n\nThis is just one example. In reality, you can swap as many things as you'd like, any way you'd like. The underlying 0x protocol is extremely flexible, and the NFT swap library abstracts all the complexity away so you don't have to worry about protocol nuances.\n\n```tsx\n// Set up the sample data for the swap...\nconst CHAIN_ID = 1; // Mainnet\n\nconst CRYPTOPUNK_420 = {\n  tokenAddress: '0xb47e3cd837ddf8e4c57f05d70ab865de6e193bbb',\n  tokenId: '420',\n  type: 'ERC721',\n};\n\nconst CRYPTOPUNK_421 = {\n  tokenAddress: '0xb47e3cd837ddf8e4c57f05d70ab865de6e193bbb',\n  tokenId: '421',\n  type: 'ERC721',\n};\n\nconst ONE_THOUSAND_DAI = {\n  tokenAddress: '0x6b175474e89094c44da98b954eedeac495271d0f', // DAI contract address\n  amount: '1000000000000000000000', // 1,000 DAI (DAI is 18 digits) -- amount to swap\n  type: 'ERC20',\n};\n\nconst SIXTY_NINE_USDC = {\n  tokenAddress: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48', // USDC contract address\n  amount: '69000000', // 69 USDC (USDC is 6 digits)\n  type: 'ERC20',\n};\n\nconst FOUR_THOUSAND_TWENTY_WETH = {\n  tokenAddress: '0x6b175474e89094c44da98b954eedeac495271d0f', // WETH contract address\n  amount: '420000000000000000000', // 420 Wrapped-ETH (WETH is 18 digits)\n  type: 'ERC20',\n};\n\n// User A Trade Data\nconst walletAddressUserA = '0x1eeD19957E0a81AED9a80f09a3CCEaD83Ea6D86b';\nconst assetsToSwapUserA = [CRYPTOPUNK_420, CRYPTOPUNK_421, ONE_THOUSAND_DAI];\n\n// User B Trade Data\nconst walletAddressUserB = '0x44beA2b43600eE240AB6Cb90696048CeF32aBf1D';\nconst assetsToSwapUserB = [SIXTY_NINE_USDC, FOUR_THOUSAND_TWENTY_WETH];\n\n// ............................\n// Part 1 of the trade -- User A (the 'maker') initiates an order\n// ............................\nconst nftSwapSdk = new NftSwap(provider, signerUserA, CHAIN_ID);\n// Note: For brevity, we assume all assets are approved for swap in this example.\n// See previous example on how to approve an asset.\n\nconst order = nftSwapSdk.buildOrder(\n  assetsToSwapUserA,\n  assetsToSwapUserB,\n  walletAddressUserA\n);\nconst signedOrder = await nftSwapSdk.signOrder(order, makerAddress);\n\n// ............................\n// Part 2 of the trade -- User B (the 'taker') accepts and fills order from User A and completes trade\n// ............................\nconst nftSwapSdk = new NftSwap(provider, signerUserB, CHAIN_ID);\n\nconst fillTx = await nftSwapSdk.fillSignedOrder(signedOrder);\nconst fillTxReceipt = await nftSwapSdk.awaitTransactionHash(fillTx);\nconsole.log(`🎉 🥳 Order filled. TxHash: ${fillTxReceipt.transactionHash}`);\n\n// Not so bad, right? We can arbitrarily add more assets to our swap without introducing additional complexity!\n```\n\n### Example 3: React Hooks + Swap SDK\n\nIn this example, we'll leverage the amazing [`web3-react`](https://github.com/NoahZinsmeister/web3-react) React Hook library.\n\n```tsx\nconst App = () => {\n  const { library, chainId } = useWeb3React<Web3React>();\n\n  const [swapSdk, setSwapSdk] = useState(null);\n  useEffect(() => {\n    const sdk = new NftSwap(library, library.getSigner(), chainId);\n    setSwapSdk(sdk);\n  }, [library, chainId])\n\n  // Use the SDK however you'd like in the app...\n  const handleClick = useCallback(() => {\n    if (!swapSdk) {\n      return;\n    }\n    swapSdk.buildOrder(...)\n  }, [swapSdk])\n\n  // ...\n}\n```\n\n## FAQ\n\n- Which ERCs does this library support?\n\n  - ERC20, ERC721, and ERC1155\n\n- What EVM chains are currently supported?\n\n  - Mainnet (1)\n  - Kovan (42)\n  - Rinkeby (4)\n  - Polygon (137)\n  - Binance Smart Chain (56)\n  - Avalanche (43114)\n\n- What protocol does this library use?\n\n  - trader.xyz and trader.xyz libraries are powered by 0x v3 Protocol. This protocol is mature and lindy, and has been extremely well-audited.\n  - Check out the 0x v3 spec [here](https://github.com/0xProject/0x-protocol-specification/blob/master/v3/v3-specification.md)\n  - Check out the 0x v3 Consensys audit [here](https://consensys.net/diligence/audits/2019/09/0x-v3-exchange/)\n\n- Are there any protocol fees to execute swaps?\n\n  - No\n\n- How do I get the user's `signer` object?\n\n  - Generally you can get it from the user's web3 wallet provider, by something like this: `provider.getSigner()`.\n  - See this [ethers guide](https://docs.ethers.io/v4/cookbook-providers.html#metamask) (control-f for `getSigner`).\n  - In web3-react you can do:\n    - `const { library } = useWeb3React();`\n    - `const signer = library.getSigner();`\n\n- How do I store a `SignedOrder`\n  - That's up to you. This library has no opinions on how to store orders. You can throw them in a centralized SQL database, save them to localstorage, use a decentralized messaging solution -- it's really up to you and your app concerns. You can even serialize and compress an order to fit in a tweet or shareable URL! 🤯\n\n## Support\n\nFor personalized help, please join the #dev-help channel in our Discord: https://discord.gg/RTvpQcxn4V\n\nFor general documentation, check out https://docs.swapsdk.xyz\n\n## Roadmap\n\nWe're currently working on the following features for the next iteration of this library:\n\n- ✅ LIVE -- Persistent data store of orders (off-the-shelf storage in trader.xyz's public order storage server). Think of it as a public good\n- ✅ LIVE -- Property-based orders\n- ✅ LIVE -- Order validation\n- ✅ LIVE -- Live order status\n- Order event streaming via WebSockets\n\nIf you have feature requests, reach out in our [Discord](https://discord.gg/GCf5rSX6).\n\nWe want to make this library a one-stop shop for all your NFT swapping needs.\n","readmeFilename":"README.md"}