{"_id":"@0xkoaj/sdk","_rev":"19-62d6579d31fb645f3e5bb9464be746c0","name":"@0xkoaj/sdk","dist-tags":{"latest":"0.0.1-beta.19"},"versions":{"0.0.1-beta.1":{"name":"@0xkoaj/sdk","version":"0.0.1-beta.1","_id":"@0xkoaj/sdk@0.0.1-beta.1","maintainers":[{"name":"0xkoaj","email":"0xkoaj@gmail.com"}],"contributors":[],"dist":{"shasum":"b3f3d4e34c07108454a1823ead9dcc2d5adde4ef","tarball":"https://registry.npmjs.org/@0xkoaj/sdk/-/sdk-0.0.1-beta.1.tgz","fileCount":2,"integrity":"sha512-NNxiLjzOo8IMnH/pUjU8diY8rDn1ZWpT8xTuzJNZCVUHLYpCrcsjSqTjWrq9jSM7L+ohKC4VICfJd64FjKpT9g==","signatures":[{"sig":"MEQCIAh2C93ZmoHLPJIp92uk6vbGzhK4bPvIUy6EXO3CDhSmAiBYwh44MH/lWDO/o2RkeLvqlnIQ7XDL2Koe//Y/zyxfug==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21604},"main":"./dist/index.js","gitHead":"00fd4c00db52b9691735b3ab2a0909b8135c9a08","scripts":{"test":"jest --forceExit --detectOpenHandles --verbose","build":"tsc -p tsconfig.json && tsconfig-replace-paths -s src -p tsconfig.json","script":"ts-node -r tsconfig-paths/register","prepare":"husky install","lint:fix":"sort-package-json && prettier --write .","test:unit":"jest --forceExit --detectOpenHandles --verbose --testPathPattern=test/unit","lint:check":"prettier --check .","test:integration":"jest --forceExit --detectOpenHandles --verbose --testPathPattern=test/integration"},"_npmUser":{"name":"0xkoaj","email":"0xkoaj@gmail.com"},"_npmVersion":"10.9.3","description":"A comprehensive TypeScript SDK for interacting with the different contracts and accounts accross multiple networks.","directories":{},"lint-staged":{"package.json":"sort-package-json","*.{js,css,md,ts,sol}":"prettier --write"},"_nodeVersion":"22.18.0","dependencies":{"ms":"3.0.0-canary.1","qs":"6.14.0","viem":"2.33.1","crypto-js":"4.2.0","deepmerge":"4.3.1","lru-cache":"11.1.0","cross-fetch":"4.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"chai":"4.3.7","jest":"29.7.0","husky":"8.0.3","dotenv":"16.3.1","ts-jest":"29.4.0","ts-node":"10.9.1","prettier":"2.8.8","@types/qs":"6.14.0","@types/ws":"8.5.10","typescript":"5.4.2","@types/chai":"5.2.2","@types/jest":"29.5.6","@types/node":"24.1.0","lint-staged":"13.2.2","patch-package":"8.0.0","tsconfig-paths":"4.2.0","@commitlint/cli":"19.8.1","@types/crypto-js":"4.1.2","chai-as-promised":"7.1.2","sort-package-json":"3.4.0","tsconfig-replace-paths":"0.0.14","@types/chai-as-promised":"7.1.8","@commitlint/config-conventional":"19.8.1"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.0.1-beta.1_1768253096360_0.6581023666477526","host":"s3://npm-registry-packages-npm-production"}},"0.0.1-beta.2":{"name":"@0xkoaj/sdk","version":"0.0.1-beta.2","_id":"@0xkoaj/sdk@0.0.1-beta.2","maintainers":[{"name":"0xkoaj","email":"0xkoaj@gmail.com"}],"contributors":[],"dist":{"shasum":"d95344200ca523695427b3a01708611132e141ca","tarball":"https://registry.npmjs.org/@0xkoaj/sdk/-/sdk-0.0.1-beta.2.tgz","fileCount":497,"integrity":"sha512-vCP05wy5/XmxkKXJA8zS4aTzNty7DQqHnwyg2gSTWlol4eF2sejumxIMnkT5dIWw0elDOZlPCN6rCccSQs0jBA==","signatures":[{"sig":"MEYCIQDFw1TiJXDj/EAlIU1q8uw3K8ddLshPNae3dhg/GyOlHAIhALVw3+BEFcJJCQ4l4rrKWF5rw3xG9/KKpIPAM3/6+yAC","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1046843},"main":"./dist/index.js","types":"./dist/index.d.ts","gitHead":"653f218677d52a05d8feba27da2f9a599423c46b","scripts":{"test":"jest --forceExit --detectOpenHandles --verbose","build":"tsc -p tsconfig.json && tsconfig-replace-paths -s src -p tsconfig.json","script":"ts-node -r tsconfig-paths/register","prepare":"husky install","lint:fix":"sort-package-json && prettier --write .","test:unit":"jest --forceExit --detectOpenHandles --verbose --testPathPattern=test/unit","lint:check":"prettier --check .","prepublishOnly":"npm run build","test:integration":"jest --forceExit --detectOpenHandles --verbose --testPathPattern=test/integration"},"_npmUser":{"name":"0xkoaj","email":"0xkoaj@gmail.com"},"_npmVersion":"10.9.3","description":"A comprehensive TypeScript SDK for interacting with the different contracts and accounts across multiple networks. Supports both **EVM chains** (Ethereum, Optimism, Arbitrum, etc.) and **Solana**.","directories":{},"lint-staged":{"package.json":"sort-package-json","*.{js,css,md,ts,sol}":"prettier --write"},"_nodeVersion":"22.18.0","dependencies":{"ms":"3.0.0-canary.1","qs":"6.14.0","viem":"2.33.1","crypto-js":"4.2.0","deepmerge":"4.3.1","lru-cache":"11.1.0","cross-fetch":"4.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"chai":"4.3.7","jest":"29.7.0","husky":"8.0.3","dotenv":"16.3.1","ts-jest":"29.4.0","ts-node":"10.9.1","prettier":"2.8.8","@types/qs":"6.14.0","@types/ws":"8.5.10","typescript":"5.4.2","@types/chai":"5.2.2","@types/jest":"29.5.6","@types/node":"24.1.0","lint-staged":"13.2.2","patch-package":"8.0.0","tsconfig-paths":"4.2.0","@commitlint/cli":"19.8.1","@types/crypto-js":"4.1.2","chai-as-promised":"7.1.2","sort-package-json":"3.4.0","tsconfig-replace-paths":"0.0.14","@types/chai-as-promised":"7.1.8","@commitlint/config-conventional":"19.8.1"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.0.1-beta.2_1768267245790_0.6239413822004427","host":"s3://npm-registry-packages-npm-production"}},"0.0.1-beta.3":{"name":"@0xkoaj/sdk","version":"0.0.1-beta.3","_id":"@0xkoaj/sdk@0.0.1-beta.3","maintainers":[{"name":"0xkoaj","email":"0xkoaj@gmail.com"}],"contributors":[],"dist":{"shasum":"67dac49ff386242dc45b5b5c5b9acd445304ad90","tarball":"https://registry.npmjs.org/@0xkoaj/sdk/-/sdk-0.0.1-beta.3.tgz","fileCount":497,"integrity":"sha512-eqguALU+AHwOa7v4FR6kmIyWkd2tP+5JqUTV0GZ5o7mVDRuWPQuODbee3BkCzXJEFU0wkrOOa3s0O6w+uJrWow==","signatures":[{"sig":"MEQCICdjZai6VX1gU/yM8fd0WP1Hm5D2KvgL6edhTsny872xAiB8EUzsqrnVFWKeE4llRq2PUVMY3kS6rqQzaea+UfKjUw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1046722},"main":"./dist/index.js","types":"./dist/index.d.ts","gitHead":"535a64470ca9269c20604b1c236110eb68a2b9fd","scripts":{"test":"jest --forceExit --detectOpenHandles --verbose","build":"tsc -p tsconfig.json && tsconfig-replace-paths -s src -p tsconfig.json","script":"ts-node -r tsconfig-paths/register","prepare":"husky install","lint:fix":"sort-package-json && prettier --write .","test:unit":"jest --forceExit --detectOpenHandles --verbose --testPathPattern=test/unit","lint:check":"prettier --check .","prepublishOnly":"npm run build","test:integration":"jest --forceExit --detectOpenHandles --verbose --testPathPattern=test/integration"},"_npmUser":{"name":"0xkoaj","email":"0xkoaj@gmail.com"},"_npmVersion":"10.9.3","description":"A comprehensive TypeScript SDK for interacting with the different contracts and accounts across multiple networks. Supports both **EVM chains** (Ethereum, Optimism, Arbitrum, etc.) and **Solana**.","directories":{},"lint-staged":{"package.json":"sort-package-json","*.{js,css,md,ts,sol}":"prettier --write"},"_nodeVersion":"22.18.0","dependencies":{"ms":"3.0.0-canary.1","qs":"6.14.0","viem":"2.33.1","crypto-js":"4.2.0","deepmerge":"4.3.1","lru-cache":"11.1.0","cross-fetch":"4.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"chai":"4.3.7","jest":"29.7.0","husky":"8.0.3","dotenv":"16.3.1","ts-jest":"29.4.0","ts-node":"10.9.1","prettier":"2.8.8","@types/qs":"6.14.0","@types/ws":"8.5.10","typescript":"5.4.2","@types/chai":"5.2.2","@types/jest":"29.5.6","@types/node":"24.1.0","lint-staged":"13.2.2","patch-package":"8.0.0","tsconfig-paths":"4.2.0","@commitlint/cli":"19.8.1","@types/crypto-js":"4.1.2","chai-as-promised":"7.1.2","sort-package-json":"3.4.0","tsconfig-replace-paths":"0.0.14","@types/chai-as-promised":"7.1.8","@commitlint/config-conventional":"19.8.1"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.0.1-beta.3_1768272126869_0.5217489249904306","host":"s3://npm-registry-packages-npm-production"}},"0.0.1-beta.4":{"name":"@0xkoaj/sdk","version":"0.0.1-beta.4","_id":"@0xkoaj/sdk@0.0.1-beta.4","maintainers":[{"name":"0xkoaj","email":"0xkoaj@gmail.com"}],"contributors":[],"dist":{"shasum":"4c74b38673d5acc4a02c74dd9cea886e37e3825b","tarball":"https://registry.npmjs.org/@0xkoaj/sdk/-/sdk-0.0.1-beta.4.tgz","fileCount":497,"integrity":"sha512-yrffklGX49ciQg2oe6cf9G5/0cav8FSN2MO3Xxt31uNVn+FtAqVsLcouqxQ9L7wGjzCuAlhA5wFjxmy52Vr/cg==","signatures":[{"sig":"MEYCIQDYnz9UusSbBliBVnyVMdZfLYOA9JGBqkys2s0LDQpxpgIhANjNuGmG9+WxVuA2kitZzq0ZvmyQVJc+n1zOBscw8fHZ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1046998},"main":"./dist/index.js","types":"./dist/index.d.ts","gitHead":"f8cd143750a26c17b95a6fd9a0b0cec3da8ae89a","scripts":{"test":"jest --forceExit --detectOpenHandles --verbose","build":"tsc -p tsconfig.json && tsconfig-replace-paths -s src -p tsconfig.json","script":"ts-node -r tsconfig-paths/register","prepare":"husky install","lint:fix":"sort-package-json && prettier --write .","test:unit":"jest --forceExit --detectOpenHandles --verbose --testPathPattern=test/unit","lint:check":"prettier --check .","prepublishOnly":"npm run build","test:integration":"jest --forceExit --detectOpenHandles --verbose --testPathPattern=test/integration"},"_npmUser":{"name":"0xkoaj","email":"0xkoaj@gmail.com"},"_npmVersion":"10.9.3","description":"A comprehensive TypeScript SDK for interacting with the different contracts and accounts across multiple networks. Supports both **EVM chains** (Ethereum, Optimism, Arbitrum, etc.) and **Solana**.","directories":{},"lint-staged":{"package.json":"sort-package-json","*.{js,css,md,ts,sol}":"prettier --write"},"_nodeVersion":"22.18.0","dependencies":{"ms":"3.0.0-canary.1","qs":"6.14.0","viem":"2.33.1","crypto-js":"4.2.0","deepmerge":"4.3.1","lru-cache":"11.1.0","cross-fetch":"4.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"chai":"4.3.7","jest":"29.7.0","husky":"8.0.3","dotenv":"16.3.1","ts-jest":"29.4.0","ts-node":"10.9.1","prettier":"2.8.8","@types/qs":"6.14.0","@types/ws":"8.5.10","typescript":"5.4.2","@types/chai":"5.2.2","@types/jest":"29.5.6","@types/node":"24.1.0","lint-staged":"13.2.2","patch-package":"8.0.0","tsconfig-paths":"4.2.0","@commitlint/cli":"19.8.1","@types/crypto-js":"4.1.2","chai-as-promised":"7.1.2","sort-package-json":"3.4.0","tsconfig-replace-paths":"0.0.14","@types/chai-as-promised":"7.1.8","@commitlint/config-conventional":"19.8.1"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.0.1-beta.4_1768276406199_0.04055007865089921","host":"s3://npm-registry-packages-npm-production"}},"0.0.1-beta.5":{"name":"@0xkoaj/sdk","version":"0.0.1-beta.5","_id":"@0xkoaj/sdk@0.0.1-beta.5","maintainers":[{"name":"0xkoaj","email":"0xkoaj@gmail.com"}],"contributors":[],"dist":{"shasum":"28d85d5c85f8b2e28c690e2c87b849b0599a035c","tarball":"https://registry.npmjs.org/@0xkoaj/sdk/-/sdk-0.0.1-beta.5.tgz","fileCount":500,"integrity":"sha512-KpMSZB/YNIGHemHDvgBE/f+psqr5o5pkq11svybPjYR66lhhbg0GNNF8MW8T5oMo5Iq1tU/qwMBzYdjNr22V/A==","signatures":[{"sig":"MEQCIBY35MBEzYP6lV+X1wIlKTGMAaSmKlOic7ZM+ffUTFRnAiBtkAGR07pAufBWkIdNhCWvbDB2fK0W+0s30ykDVWUt2g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1058156},"main":"./dist/index.js","types":"./dist/index.d.ts","gitHead":"29daa0c9db1525b919ca175fcc63fbc30a8abd0f","scripts":{"test":"jest --forceExit --detectOpenHandles --verbose","build":"tsc -p tsconfig.json && tsconfig-replace-paths -s src -p tsconfig.json","script":"ts-node -r tsconfig-paths/register","prepare":"husky install","lint:fix":"sort-package-json && prettier --write .","test:unit":"jest --forceExit --detectOpenHandles --verbose --testPathPattern=test/unit","lint:check":"prettier --check .","prepublishOnly":"npm run build","test:integration":"jest --forceExit --detectOpenHandles --verbose --testPathPattern=test/integration"},"_npmUser":{"name":"0xkoaj","email":"0xkoaj@gmail.com"},"_npmVersion":"10.9.3","description":"A comprehensive TypeScript SDK for interacting with the different contracts and accounts across multiple networks. Supports both **EVM chains** (Ethereum, Optimism, Arbitrum, etc.) and **Solana**.","directories":{},"lint-staged":{"package.json":"sort-package-json","*.{js,css,md,ts,sol}":"prettier --write"},"_nodeVersion":"22.18.0","dependencies":{"ms":"3.0.0-canary.1","qs":"6.14.0","viem":"2.33.1","crypto-js":"4.2.0","deepmerge":"4.3.1","lru-cache":"11.1.0","cross-fetch":"4.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"chai":"4.3.7","jest":"29.7.0","husky":"8.0.3","dotenv":"16.3.1","ts-jest":"29.4.0","ts-node":"10.9.1","prettier":"2.8.8","@types/qs":"6.14.0","@types/ws":"8.5.10","typescript":"5.4.2","@types/chai":"5.2.2","@types/jest":"29.5.6","@types/node":"24.1.0","lint-staged":"13.2.2","patch-package":"8.0.0","tsconfig-paths":"4.2.0","@commitlint/cli":"19.8.1","@types/crypto-js":"4.1.2","chai-as-promised":"7.1.2","sort-package-json":"3.4.0","tsconfig-replace-paths":"0.0.14","@types/chai-as-promised":"7.1.8","@commitlint/config-conventional":"19.8.1"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.0.1-beta.5_1769280195932_0.16244588135470606","host":"s3://npm-registry-packages-npm-production"}},"0.0.1-beta.6":{"name":"@0xkoaj/sdk","version":"0.0.1-beta.6","_id":"@0xkoaj/sdk@0.0.1-beta.6","maintainers":[{"name":"0xkoaj","email":"0xkoaj@gmail.com"}],"contributors":[],"dist":{"shasum":"e11c90f83a73ac71a2eadedd031090b0a0c76134","tarball":"https://registry.npmjs.org/@0xkoaj/sdk/-/sdk-0.0.1-beta.6.tgz","fileCount":500,"integrity":"sha512-6zBNVPhoFPHjWUlih6zthegU3c4rpvSNBo+ZUaKcvwbFCd24/XyBlhzqYRwv1VdgzAf2Cb5CoHBM8aDkbMZRSw==","signatures":[{"sig":"MEUCIQDNFoom5u4D3Ixylcg/aYeDwS4oasZoT3FOosfLs0GbtQIgKh8E8KqrXFEsRvrl2noZs+mthY/4UoygKhHbXspyaAg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1058193},"main":"./dist/index.js","types":"./dist/index.d.ts","gitHead":"29daa0c9db1525b919ca175fcc63fbc30a8abd0f","scripts":{"test":"jest --forceExit --detectOpenHandles --verbose","build":"tsc -p tsconfig.json && tsconfig-replace-paths -s src -p tsconfig.json","script":"ts-node -r tsconfig-paths/register","prepare":"husky install","lint:fix":"sort-package-json && prettier --write .","test:unit":"jest --forceExit --detectOpenHandles --verbose --testPathPattern=test/unit","lint:check":"prettier --check .","prepublishOnly":"npm run build","test:integration":"jest --forceExit --detectOpenHandles --verbose --testPathPattern=test/integration"},"_npmUser":{"name":"0xkoaj","email":"0xkoaj@gmail.com"},"_npmVersion":"10.9.3","description":"A comprehensive TypeScript SDK for interacting with the different contracts and accounts across multiple networks. Supports both **EVM chains** (Ethereum, Optimism, Arbitrum, etc.) and **Solana**.","directories":{},"lint-staged":{"package.json":"sort-package-json","*.{js,css,md,ts,sol}":"prettier --write"},"_nodeVersion":"22.18.0","dependencies":{"ms":"3.0.0-canary.1","qs":"6.14.0","viem":"2.33.1","crypto-js":"4.2.0","deepmerge":"4.3.1","lru-cache":"11.1.0","cross-fetch":"4.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"chai":"4.3.7","jest":"29.7.0","husky":"8.0.3","dotenv":"16.3.1","ts-jest":"29.4.0","ts-node":"10.9.1","prettier":"2.8.8","@types/qs":"6.14.0","@types/ws":"8.5.10","typescript":"5.4.2","@types/chai":"5.2.2","@types/jest":"29.5.6","@types/node":"24.1.0","lint-staged":"13.2.2","patch-package":"8.0.0","tsconfig-paths":"4.2.0","@commitlint/cli":"19.8.1","@types/crypto-js":"4.1.2","chai-as-promised":"7.1.2","sort-package-json":"3.4.0","tsconfig-replace-paths":"0.0.14","@types/chai-as-promised":"7.1.8","@commitlint/config-conventional":"19.8.1"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.0.1-beta.6_1769283983503_0.9712636636074268","host":"s3://npm-registry-packages-npm-production"}},"0.0.1-beta.7":{"name":"@0xkoaj/sdk","version":"0.0.1-beta.7","_id":"@0xkoaj/sdk@0.0.1-beta.7","maintainers":[{"name":"0xkoaj","email":"0xkoaj@gmail.com"}],"contributors":[],"dist":{"shasum":"c6cc0096a71589e612213e5e90b3785e2604feec","tarball":"https://registry.npmjs.org/@0xkoaj/sdk/-/sdk-0.0.1-beta.7.tgz","fileCount":500,"integrity":"sha512-+la27Tec9FO4NvQgAL/ilBno+LYsrr5Y6zElzBzkEBnB5Xshts/dJGgsEz09gs1d9EZDhnAlCvz7dXzkQ2kd4A==","signatures":[{"sig":"MEYCIQCoc+0dr5hTGbAiL3qLHLrbe0rxwMd/AemlE9cmXspuDwIhAP/SMOrtHW4AdwGNiF6BYuZt2aJP5RM1cJqL6540uYjz","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1058193},"main":"./dist/index.js","types":"./dist/index.d.ts","gitHead":"a2507a1908514e7abb9da51b9a847f46b801d7dd","scripts":{"test":"jest --forceExit --detectOpenHandles --verbose","build":"tsc -p tsconfig.json && tsconfig-replace-paths -s src -p tsconfig.json","script":"ts-node -r tsconfig-paths/register","prepare":"husky install","lint:fix":"sort-package-json && prettier --write .","test:unit":"jest --forceExit --detectOpenHandles --verbose --testPathPattern=test/unit","lint:check":"prettier --check .","prepublishOnly":"npm run build","test:integration":"jest --forceExit --detectOpenHandles --verbose --testPathPattern=test/integration"},"_npmUser":{"name":"0xkoaj","email":"0xkoaj@gmail.com"},"_npmVersion":"10.9.3","description":"A comprehensive TypeScript SDK for interacting with the different contracts and accounts across multiple networks. Supports both **EVM chains** (Ethereum, Optimism, Arbitrum, etc.) and **Solana**.","directories":{},"lint-staged":{"package.json":"sort-package-json","*.{js,css,md,ts,sol}":"prettier --write"},"_nodeVersion":"22.18.0","dependencies":{"ms":"3.0.0-canary.1","qs":"6.14.0","viem":"2.33.1","crypto-js":"4.2.0","deepmerge":"4.3.1","lru-cache":"11.1.0","cross-fetch":"4.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"chai":"4.3.7","jest":"29.7.0","husky":"8.0.3","dotenv":"16.3.1","ts-jest":"29.4.0","ts-node":"10.9.1","prettier":"2.8.8","@types/qs":"6.14.0","@types/ws":"8.5.10","typescript":"5.4.2","@types/chai":"5.2.2","@types/jest":"29.5.6","@types/node":"24.1.0","lint-staged":"13.2.2","patch-package":"8.0.0","tsconfig-paths":"4.2.0","@commitlint/cli":"19.8.1","@types/crypto-js":"4.1.2","chai-as-promised":"7.1.2","sort-package-json":"3.4.0","tsconfig-replace-paths":"0.0.14","@types/chai-as-promised":"7.1.8","@commitlint/config-conventional":"19.8.1"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.0.1-beta.7_1769289705070_0.09963252587110372","host":"s3://npm-registry-packages-npm-production"}},"0.0.1-beta.8":{"name":"@0xkoaj/sdk","version":"0.0.1-beta.8","_id":"@0xkoaj/sdk@0.0.1-beta.8","maintainers":[{"name":"0xkoaj","email":"0xkoaj@gmail.com"}],"contributors":[],"dist":{"shasum":"2508338888d64a12abd337c2b9d456c055b0de3d","tarball":"https://registry.npmjs.org/@0xkoaj/sdk/-/sdk-0.0.1-beta.8.tgz","fileCount":503,"integrity":"sha512-dUDfFwxY3EArw1khTMZE+f1y6u5pvFyk0fsKdmOT913E601Hm54lpwZDCJ5HAPgCqghX6xL6fXAh79m1JNJeUg==","signatures":[{"sig":"MEQCIHJtH3PfWm/pDgzKGdW7gOiKhVqLAK44gqWhHBeWE5qmAiBBcjDQTmsyGbE/RrlAqMtfiA6g8n1o5jjOxEGDiNsSog==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1068623},"main":"./dist/index.js","types":"./dist/index.d.ts","gitHead":"7ab59545b9f263d1ff2411425e42322c9a437073","scripts":{"test":"jest --forceExit --detectOpenHandles --verbose","build":"tsc -p tsconfig.json && tsconfig-replace-paths -s src -p tsconfig.json","script":"ts-node -r tsconfig-paths/register","prepare":"husky install","lint:fix":"sort-package-json && prettier --write .","test:unit":"jest --forceExit --detectOpenHandles --verbose --testPathPattern=test/unit","lint:check":"prettier --check .","prepublishOnly":"npm run build","test:integration":"jest --forceExit --detectOpenHandles --verbose --testPathPattern=test/integration"},"_npmUser":{"name":"0xkoaj","email":"0xkoaj@gmail.com"},"_npmVersion":"10.9.3","description":"A comprehensive TypeScript SDK for interacting with the different contracts and accounts across multiple networks. Supports both **EVM chains** (Ethereum, Optimism, Arbitrum, etc.) and **Solana**.","directories":{},"lint-staged":{"package.json":"sort-package-json","*.{js,css,md,ts,sol}":"prettier --write"},"_nodeVersion":"22.18.0","dependencies":{"ms":"3.0.0-canary.1","qs":"6.14.0","viem":"2.33.1","crypto-js":"4.2.0","deepmerge":"4.3.1","lru-cache":"11.1.0","cross-fetch":"4.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"chai":"4.3.7","jest":"29.7.0","husky":"8.0.3","dotenv":"16.3.1","ts-jest":"29.4.0","ts-node":"10.9.1","prettier":"2.8.8","@types/qs":"6.14.0","@types/ws":"8.5.10","typescript":"5.4.2","@types/chai":"5.2.2","@types/jest":"29.5.6","@types/node":"24.1.0","lint-staged":"13.2.2","patch-package":"8.0.0","tsconfig-paths":"4.2.0","@commitlint/cli":"19.8.1","@types/crypto-js":"4.1.2","chai-as-promised":"7.1.2","sort-package-json":"3.4.0","tsconfig-replace-paths":"0.0.14","@types/chai-as-promised":"7.1.8","@commitlint/config-conventional":"19.8.1"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.0.1-beta.8_1769306821082_0.08003110491951682","host":"s3://npm-registry-packages-npm-production"}},"0.0.1-beta.9":{"name":"@0xkoaj/sdk","version":"0.0.1-beta.9","_id":"@0xkoaj/sdk@0.0.1-beta.9","maintainers":[{"name":"0xkoaj","email":"0xkoaj@gmail.com"}],"contributors":[],"dist":{"shasum":"658057139b913444f32bec619010b329b9a32261","tarball":"https://registry.npmjs.org/@0xkoaj/sdk/-/sdk-0.0.1-beta.9.tgz","fileCount":503,"integrity":"sha512-1TZmNY2Vh1QN/yIKvwierjuGFYoyHu2SVVrVL8e6emmT2yjQe01hFu/FA7DC+ueoedrSIHNdCWeROAqIU4hH0Q==","signatures":[{"sig":"MEYCIQDmZxpWsqGIqXRtv/tGvwHClezwUfll4wRZe/2DvWDuYwIhAN70LLtkOjAiuHQpBbW8IMNmIUBY0hX4t8nsFP33YHja","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1068460},"main":"./dist/index.js","types":"./dist/index.d.ts","gitHead":"460374ae0d15cc5f27bc12f0e72be004ceca9983","scripts":{"test":"jest --forceExit --detectOpenHandles --verbose","build":"tsc -p tsconfig.json && tsconfig-replace-paths -s src -p tsconfig.json","script":"ts-node -r tsconfig-paths/register","prepare":"husky install","lint:fix":"sort-package-json && prettier --write .","test:unit":"jest --forceExit --detectOpenHandles --verbose --testPathPattern=test/unit","lint:check":"prettier --check .","prepublishOnly":"npm run build","test:integration":"jest --forceExit --detectOpenHandles --verbose --testPathPattern=test/integration"},"_npmUser":{"name":"0xkoaj","email":"0xkoaj@gmail.com"},"_npmVersion":"10.9.3","description":"A comprehensive TypeScript SDK for interacting with the different contracts and accounts across multiple networks. Supports both **EVM chains** (Ethereum, Optimism, Arbitrum, etc.) and **Solana**.","directories":{},"lint-staged":{"package.json":"sort-package-json","*.{js,css,md,ts,sol}":"prettier --write"},"_nodeVersion":"22.18.0","dependencies":{"ms":"3.0.0-canary.1","qs":"6.14.0","viem":"2.33.1","crypto-js":"4.2.0","deepmerge":"4.3.1","lru-cache":"11.1.0","cross-fetch":"4.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"chai":"4.3.7","jest":"29.7.0","husky":"8.0.3","dotenv":"16.3.1","ts-jest":"29.4.0","ts-node":"10.9.1","prettier":"2.8.8","@types/qs":"6.14.0","@types/ws":"8.5.10","typescript":"5.4.2","@types/chai":"5.2.2","@types/jest":"29.5.6","@types/node":"24.1.0","lint-staged":"13.2.2","patch-package":"8.0.0","tsconfig-paths":"4.2.0","@commitlint/cli":"19.8.1","@types/crypto-js":"4.1.2","chai-as-promised":"7.1.2","sort-package-json":"3.4.0","tsconfig-replace-paths":"0.0.14","@types/chai-as-promised":"7.1.8","@commitlint/config-conventional":"19.8.1"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.0.1-beta.9_1769308520302_0.8942874485919039","host":"s3://npm-registry-packages-npm-production"}},"0.0.1-beta.10":{"name":"@0xkoaj/sdk","version":"0.0.1-beta.10","_id":"@0xkoaj/sdk@0.0.1-beta.10","maintainers":[{"name":"0xkoaj","email":"0xkoaj@gmail.com"}],"contributors":[],"dist":{"shasum":"d4e877fd8aa2b707a12f6e8afaad86848f1baa26","tarball":"https://registry.npmjs.org/@0xkoaj/sdk/-/sdk-0.0.1-beta.10.tgz","fileCount":506,"integrity":"sha512-tAfoJPE5PyCddYJfqXo5cu1R1+Znr+fibdBSw+LOwBzjh4mCQpWEKCuCZai18GVko6Ymf3c4MtK/eZH1yJy0hQ==","signatures":[{"sig":"MEUCIAvgjAQlK88Z+Ha1bCDN8FCeZ+/65wG7la3ElAkS+ofJAiEAp8uizE2k3glLywVMEuQRqVoRjMiiZywlU29jcPNjZRk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1082401},"main":"./dist/index.js","types":"./dist/index.d.ts","gitHead":"5403db0b8030a1f9d0cd23bf7d61aed6669e9c9d","scripts":{"test":"jest --forceExit --detectOpenHandles --verbose","build":"tsc -p tsconfig.json && tsconfig-replace-paths -s src -p tsconfig.json","script":"ts-node -r tsconfig-paths/register","prepare":"husky install","lint:fix":"sort-package-json && prettier --write .","test:unit":"jest --forceExit --detectOpenHandles --verbose --testPathPattern=test/unit","lint:check":"prettier --check .","prepublishOnly":"npm run build","test:integration":"jest --forceExit --detectOpenHandles --verbose --testPathPattern=test/integration"},"_npmUser":{"name":"0xkoaj","email":"0xkoaj@gmail.com"},"_npmVersion":"10.9.3","description":"A comprehensive TypeScript SDK for interacting with the different contracts and accounts across multiple networks. Supports both **EVM chains** (Ethereum, Optimism, Arbitrum, etc.) and **Solana**.","directories":{},"lint-staged":{"package.json":"sort-package-json","*.{js,css,md,ts,sol}":"prettier --write"},"_nodeVersion":"22.18.0","dependencies":{"ms":"3.0.0-canary.1","qs":"6.14.0","viem":"2.33.1","crypto-js":"4.2.0","deepmerge":"4.3.1","lru-cache":"11.1.0","cross-fetch":"4.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"chai":"4.3.7","jest":"29.7.0","husky":"8.0.3","dotenv":"16.3.1","ts-jest":"29.4.0","ts-node":"10.9.1","prettier":"2.8.8","@types/qs":"6.14.0","@types/ws":"8.5.10","typescript":"5.4.2","@types/chai":"5.2.2","@types/jest":"29.5.6","@types/node":"24.1.0","lint-staged":"13.2.2","patch-package":"8.0.0","tsconfig-paths":"4.2.0","@commitlint/cli":"19.8.1","@types/crypto-js":"4.1.2","chai-as-promised":"7.1.2","sort-package-json":"3.4.0","tsconfig-replace-paths":"0.0.14","@types/chai-as-promised":"7.1.8","@commitlint/config-conventional":"19.8.1"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.0.1-beta.10_1769395056932_0.4903620611242516","host":"s3://npm-registry-packages-npm-production"}},"0.0.1-beta.11":{"name":"@0xkoaj/sdk","version":"0.0.1-beta.11","_id":"@0xkoaj/sdk@0.0.1-beta.11","maintainers":[{"name":"0xkoaj","email":"0xkoaj@gmail.com"}],"contributors":[],"dist":{"shasum":"f8a150c703ea534292349960ed1bacbf63986e23","tarball":"https://registry.npmjs.org/@0xkoaj/sdk/-/sdk-0.0.1-beta.11.tgz","fileCount":506,"integrity":"sha512-hCP9ta2zoiS0x7CEYK5cTQpwpNmpd7ziPlu0D9sKiBiHnwkhMRFSTzuhprTwcowbGhaMGmiGJ8fUOQ8n0u51uQ==","signatures":[{"sig":"MEQCIGRbvFq7hQolO6hUWoITlKPFiWnYxBjL9Bxy2yrFWyK2AiACvQaItfOoLVlt17QW7l6GpF7nn7Vci4ig9vclDpm8ng==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1086654},"main":"./dist/index.js","types":"./dist/index.d.ts","gitHead":"1f8ba8571d65a9de3d4b5d56d63fd54f9afdd10d","scripts":{"test":"jest --forceExit --detectOpenHandles --verbose","build":"tsc -p tsconfig.json && tsconfig-replace-paths -s src -p tsconfig.json","script":"ts-node -r tsconfig-paths/register","prepare":"husky install","lint:fix":"sort-package-json && prettier --write .","test:unit":"jest --forceExit --detectOpenHandles --verbose --testPathPattern=test/unit","lint:check":"prettier --check .","prepublishOnly":"npm run build","test:integration":"jest --forceExit --detectOpenHandles --verbose --testPathPattern=test/integration"},"_npmUser":{"name":"0xkoaj","email":"0xkoaj@gmail.com"},"_npmVersion":"10.9.3","description":"A comprehensive TypeScript SDK for interacting with the different contracts and accounts across multiple networks. Supports both **EVM chains** (Ethereum, Optimism, Arbitrum, etc.) and **Solana**.","directories":{},"lint-staged":{"package.json":"sort-package-json","*.{js,css,md,ts,sol}":"prettier --write"},"_nodeVersion":"22.18.0","dependencies":{"ms":"3.0.0-canary.1","qs":"6.14.0","viem":"2.33.1","crypto-js":"4.2.0","deepmerge":"4.3.1","lru-cache":"11.1.0","cross-fetch":"4.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"chai":"4.3.7","jest":"29.7.0","husky":"8.0.3","dotenv":"16.3.1","ts-jest":"29.4.0","ts-node":"10.9.1","prettier":"2.8.8","@types/qs":"6.14.0","@types/ws":"8.5.10","typescript":"5.4.2","@types/chai":"5.2.2","@types/jest":"29.5.6","@types/node":"24.1.0","lint-staged":"13.2.2","patch-package":"8.0.0","tsconfig-paths":"4.2.0","@commitlint/cli":"19.8.1","@types/crypto-js":"4.1.2","chai-as-promised":"7.1.2","sort-package-json":"3.4.0","tsconfig-replace-paths":"0.0.14","@types/chai-as-promised":"7.1.8","@commitlint/config-conventional":"19.8.1"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.0.1-beta.11_1769396636054_0.9376309168683545","host":"s3://npm-registry-packages-npm-production"}},"0.0.1-beta.12":{"name":"@0xkoaj/sdk","version":"0.0.1-beta.12","_id":"@0xkoaj/sdk@0.0.1-beta.12","maintainers":[{"name":"0xkoaj","email":"0xkoaj@gmail.com"}],"contributors":[],"dist":{"shasum":"24ee97d23dfb993d35f3438922882a084e976195","tarball":"https://registry.npmjs.org/@0xkoaj/sdk/-/sdk-0.0.1-beta.12.tgz","fileCount":509,"integrity":"sha512-LAsYZa7Wun6ZwASEloKEzmPdM+khBuOYWQmll0RoFDUYEfszM5e2Gp0ugqp8APeCtg+7kaiPSw23DX7my+H80g==","signatures":[{"sig":"MEQCIF/++X+gVA6Y6QXcsfVqgQAcN36H8m7kuPYy1wIZNfLsAiAxBdq8GMGKESrHUvoDyYqm1VIr49zDIxJrbYUlQermAA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1104364},"main":"./dist/index.js","types":"./dist/index.d.ts","gitHead":"30e05a324f0f3ef5c4e4847f1ca743e103fa9f1d","scripts":{"test":"jest --forceExit --detectOpenHandles --verbose","build":"tsc -p tsconfig.json && tsconfig-replace-paths -s src -p tsconfig.json","script":"ts-node -r tsconfig-paths/register","prepare":"husky install","lint:fix":"sort-package-json && prettier --write .","test:unit":"jest --forceExit --detectOpenHandles --verbose --testPathPattern=test/unit","lint:check":"prettier --check .","prepublishOnly":"npm run build","test:integration":"jest --forceExit --detectOpenHandles --verbose --testPathPattern=test/integration"},"_npmUser":{"name":"0xkoaj","email":"0xkoaj@gmail.com"},"_npmVersion":"10.9.3","description":"A comprehensive TypeScript SDK for interacting with the different contracts and accounts across multiple networks. Supports both **EVM chains** (Ethereum, Optimism, Arbitrum, etc.) and **Solana**.","directories":{},"lint-staged":{"package.json":"sort-package-json","*.{js,css,md,ts,sol}":"prettier --write"},"_nodeVersion":"22.18.0","dependencies":{"ms":"3.0.0-canary.1","qs":"6.14.0","viem":"2.33.1","crypto-js":"4.2.0","deepmerge":"4.3.1","lru-cache":"11.1.0","cross-fetch":"4.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"chai":"4.3.7","jest":"29.7.0","husky":"8.0.3","dotenv":"16.3.1","ts-jest":"29.4.0","ts-node":"10.9.1","prettier":"2.8.8","@types/qs":"6.14.0","@types/ws":"8.5.10","typescript":"5.4.2","@types/chai":"5.2.2","@types/jest":"29.5.6","@types/node":"24.1.0","lint-staged":"13.2.2","patch-package":"8.0.0","tsconfig-paths":"4.2.0","@commitlint/cli":"19.8.1","@types/crypto-js":"4.1.2","chai-as-promised":"7.1.2","sort-package-json":"3.4.0","tsconfig-replace-paths":"0.0.14","@types/chai-as-promised":"7.1.8","@commitlint/config-conventional":"19.8.1"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.0.1-beta.12_1769429794118_0.022127293551912564","host":"s3://npm-registry-packages-npm-production"}},"0.0.1-beta.13":{"name":"@0xkoaj/sdk","version":"0.0.1-beta.13","_id":"@0xkoaj/sdk@0.0.1-beta.13","maintainers":[{"name":"0xkoaj","email":"0xkoaj@gmail.com"}],"contributors":[],"dist":{"shasum":"6a261425460de5556e9e579f730af26808611ac6","tarball":"https://registry.npmjs.org/@0xkoaj/sdk/-/sdk-0.0.1-beta.13.tgz","fileCount":509,"integrity":"sha512-zaD8ilCznl/MJcwRBibN3bK89N209QlBrON71OXnDHAxyE02+drW/7HTqepgRGnC/PZux7tc8vehXjv+ygjYFg==","signatures":[{"sig":"MEYCIQDdO+DmAqftZJUAUOqjn069cf30XiTP1540XpGJn0fgsQIhALl67uwrqk7suKE5sEV4GGs0csKyp9mH1x7024h9186M","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1114379},"main":"./dist/index.js","types":"./dist/index.d.ts","gitHead":"e70de719623270008011dd0a9d38922c9f3e40c4","scripts":{"test":"jest --forceExit --detectOpenHandles --verbose","build":"tsc -p tsconfig.json && tsconfig-replace-paths -s src -p tsconfig.json","script":"ts-node -r tsconfig-paths/register","prepare":"husky install","lint:fix":"sort-package-json && prettier --write .","test:unit":"jest --forceExit --detectOpenHandles --verbose --testPathPattern=test/unit","lint:check":"prettier --check .","prepublishOnly":"npm run build","test:integration":"jest --forceExit --detectOpenHandles --verbose --testPathPattern=test/integration"},"_npmUser":{"name":"0xkoaj","email":"0xkoaj@gmail.com"},"_npmVersion":"10.9.3","description":"A comprehensive TypeScript SDK for interacting with the different contracts and accounts across multiple networks. Supports both **EVM chains** (Ethereum, Optimism, Arbitrum, etc.) and **Solana**.","directories":{},"lint-staged":{"package.json":"sort-package-json","*.{js,css,md,ts,sol}":"prettier --write"},"_nodeVersion":"22.18.0","dependencies":{"ms":"3.0.0-canary.1","qs":"6.14.0","viem":"2.33.1","crypto-js":"4.2.0","deepmerge":"4.3.1","lru-cache":"11.1.0","cross-fetch":"4.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"chai":"4.3.7","jest":"29.7.0","husky":"8.0.3","dotenv":"16.3.1","ts-jest":"29.4.0","ts-node":"10.9.1","prettier":"2.8.8","@types/qs":"6.14.0","@types/ws":"8.5.10","typescript":"5.4.2","@types/chai":"5.2.2","@types/jest":"29.5.6","@types/node":"24.1.0","lint-staged":"13.2.2","patch-package":"8.0.0","tsconfig-paths":"4.2.0","@commitlint/cli":"19.8.1","@types/crypto-js":"4.1.2","chai-as-promised":"7.1.2","sort-package-json":"3.4.0","tsconfig-replace-paths":"0.0.14","@types/chai-as-promised":"7.1.8","@commitlint/config-conventional":"19.8.1"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.0.1-beta.13_1778294926016_0.5243755884794532","host":"s3://npm-registry-packages-npm-production"}},"0.0.1-beta.14":{"name":"@0xkoaj/sdk","version":"0.0.1-beta.14","_id":"@0xkoaj/sdk@0.0.1-beta.14","maintainers":[{"name":"0xkoaj","email":"0xkoaj@gmail.com"}],"contributors":[],"dist":{"shasum":"fa39fbbc873fdef2dc05f0b55d7141807c352a69","tarball":"https://registry.npmjs.org/@0xkoaj/sdk/-/sdk-0.0.1-beta.14.tgz","fileCount":512,"integrity":"sha512-DCLXEi9yfCVR07x2nkmuaSQYt44P9DLC4LCfZzkQBuqSa5ce5MyWA4/4dlasZX3SRmO22CV0YYoUObOydgoMCg==","signatures":[{"sig":"MEYCIQDYVj6WiLfAj4aaobj4URXKR5QpMjNj9aboA7zyoU7+7QIhAO2//Qbqlt3M/SFdBx3hPIDlCD+m9naQGs+hsSHJNuLU","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1129332},"main":"./dist/index.js","types":"./dist/index.d.ts","gitHead":"e70de719623270008011dd0a9d38922c9f3e40c4","scripts":{"test":"jest --forceExit --detectOpenHandles --verbose","build":"tsc -p tsconfig.json && tsconfig-replace-paths -s src -p tsconfig.json","script":"ts-node -r tsconfig-paths/register","prepare":"husky install","lint:fix":"sort-package-json && prettier --write .","test:unit":"jest --forceExit --detectOpenHandles --verbose --testPathPattern=test/unit","lint:check":"prettier --check .","prepublishOnly":"npm run build","test:integration":"jest --forceExit --detectOpenHandles --verbose --testPathPattern=test/integration"},"_npmUser":{"name":"0xkoaj","email":"0xkoaj@gmail.com"},"_npmVersion":"10.9.3","description":"A comprehensive TypeScript SDK for interacting with the different contracts and accounts across multiple networks. Supports both **EVM chains** (Ethereum, Optimism, Arbitrum, etc.) and **Solana**.","directories":{},"lint-staged":{"package.json":"sort-package-json","*.{js,css,md,ts,sol}":"prettier --write"},"_nodeVersion":"22.18.0","dependencies":{"ms":"3.0.0-canary.1","qs":"6.14.0","viem":"2.33.1","crypto-js":"4.2.0","deepmerge":"4.3.1","lru-cache":"11.1.0","cross-fetch":"4.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"chai":"4.3.7","jest":"29.7.0","husky":"8.0.3","dotenv":"16.3.1","ts-jest":"29.4.0","ts-node":"10.9.1","prettier":"2.8.8","@types/qs":"6.14.0","@types/ws":"8.5.10","typescript":"5.4.2","@types/chai":"5.2.2","@types/jest":"29.5.6","@types/node":"24.1.0","lint-staged":"13.2.2","patch-package":"8.0.0","tsconfig-paths":"4.2.0","@commitlint/cli":"19.8.1","@types/crypto-js":"4.1.2","chai-as-promised":"7.1.2","sort-package-json":"3.4.0","tsconfig-replace-paths":"0.0.14","@types/chai-as-promised":"7.1.8","@commitlint/config-conventional":"19.8.1"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.0.1-beta.14_1778791559671_0.37965537329834387","host":"s3://npm-registry-packages-npm-production"}},"0.0.1-beta.15":{"name":"@0xkoaj/sdk","version":"0.0.1-beta.15","_id":"@0xkoaj/sdk@0.0.1-beta.15","maintainers":[{"name":"0xkoaj","email":"0xkoaj@gmail.com"}],"contributors":[],"dist":{"shasum":"f68445e7d64256ff8c01e7e5760b274e46763e0f","tarball":"https://registry.npmjs.org/@0xkoaj/sdk/-/sdk-0.0.1-beta.15.tgz","fileCount":518,"integrity":"sha512-6TbK7ZbBC6xqNceI3T1LXuxVAEDWMdQIa/BTWTeZM9IPyW+YUq7nhCNPF6lNzgQVDi59okJcIFRZ4/P/xPP8YA==","signatures":[{"sig":"MEYCIQCghfnff31Y1vxZNdAeW2YHrEBnejBfOxYultAkRsekXQIhAIVTbCDqjRwbAtDhG1f+m1PEt6Tab2a9rCyjTl7JzTFp","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1154253},"main":"./dist/index.js","types":"./dist/index.d.ts","gitHead":"e70de719623270008011dd0a9d38922c9f3e40c4","scripts":{"test":"jest --forceExit --detectOpenHandles --verbose","build":"tsc -p tsconfig.json && tsconfig-replace-paths -s src -p tsconfig.json","script":"ts-node -r tsconfig-paths/register","prepare":"husky install","lint:fix":"sort-package-json && prettier --write .","test:unit":"jest --forceExit --detectOpenHandles --verbose --testPathPattern=test/unit","lint:check":"prettier --check .","prepublishOnly":"npm run build","test:integration":"jest --forceExit --detectOpenHandles --verbose --testPathPattern=test/integration"},"_npmUser":{"name":"0xkoaj","email":"0xkoaj@gmail.com"},"_npmVersion":"10.9.3","description":"A comprehensive TypeScript SDK for interacting with the different contracts and accounts across multiple networks. Supports both **EVM chains** (Ethereum, Optimism, Arbitrum, etc.) and **Solana**.","directories":{},"lint-staged":{"package.json":"sort-package-json","*.{js,css,md,ts,sol}":"prettier --write"},"_nodeVersion":"22.18.0","dependencies":{"ms":"3.0.0-canary.1","qs":"6.14.0","viem":"2.33.1","crypto-js":"4.2.0","deepmerge":"4.3.1","lru-cache":"11.1.0","cross-fetch":"4.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"chai":"4.3.7","jest":"29.7.0","husky":"8.0.3","dotenv":"16.3.1","ts-jest":"29.4.0","ts-node":"10.9.1","prettier":"2.8.8","@types/qs":"6.14.0","@types/ws":"8.5.10","typescript":"5.4.2","@types/chai":"5.2.2","@types/jest":"29.5.6","@types/node":"24.1.0","lint-staged":"13.2.2","patch-package":"8.0.0","tsconfig-paths":"4.2.0","@commitlint/cli":"19.8.1","@types/crypto-js":"4.1.2","chai-as-promised":"7.1.2","sort-package-json":"3.4.0","tsconfig-replace-paths":"0.0.14","@types/chai-as-promised":"7.1.8","@commitlint/config-conventional":"19.8.1"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.0.1-beta.15_1778792732080_0.5806785968861237","host":"s3://npm-registry-packages-npm-production"}},"0.0.1-beta.16":{"name":"@0xkoaj/sdk","version":"0.0.1-beta.16","_id":"@0xkoaj/sdk@0.0.1-beta.16","maintainers":[{"name":"0xkoaj","email":"0xkoaj@gmail.com"}],"contributors":[],"dist":{"shasum":"5de21cebbf397292dd74ae7dfbff0e6fb8201ee2","tarball":"https://registry.npmjs.org/@0xkoaj/sdk/-/sdk-0.0.1-beta.16.tgz","fileCount":521,"integrity":"sha512-a5luA3w2WNOO5Ili5gFub1B6IfOTb13jVH04XPC6yokbAbNjJ9eB/nBNcnhjFvUhEu1MMMDylqYiLtFxFdxi2g==","signatures":[{"sig":"MEUCIAOlmJz4ytn44WuRiQAFQeaZaX68bfrOnz59nHbHbYaRAiEApywO7m2iihmX8F7T97Zcl/vYB1Biy+lZ3l39cDa2+2U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1164100},"main":"./dist/index.js","types":"./dist/index.d.ts","gitHead":"285cfa1bc1289ab1a0005f5f040a73aacc14c2cb","scripts":{"test":"jest --forceExit --detectOpenHandles --verbose","build":"tsc -p tsconfig.json && tsconfig-replace-paths -s src -p tsconfig.json","script":"ts-node -r tsconfig-paths/register","prepare":"husky install","lint:fix":"sort-package-json && prettier --write .","test:unit":"jest --forceExit --detectOpenHandles --verbose --testPathPattern=test/unit","lint:check":"prettier --check .","prepublishOnly":"npm run build","test:integration":"jest --forceExit --detectOpenHandles --verbose --testPathPattern=test/integration"},"_npmUser":{"name":"0xkoaj","email":"0xkoaj@gmail.com"},"_npmVersion":"10.9.3","description":"A comprehensive TypeScript SDK for interacting with the different contracts and accounts across multiple networks. Supports both **EVM chains** (Ethereum, Optimism, Arbitrum, etc.) and **Solana**.","directories":{},"lint-staged":{"package.json":"sort-package-json","*.{js,css,md,ts,sol}":"prettier --write"},"_nodeVersion":"22.18.0","dependencies":{"ms":"3.0.0-canary.1","qs":"6.14.0","viem":"2.33.1","crypto-js":"4.2.0","deepmerge":"4.3.1","lru-cache":"11.1.0","cross-fetch":"4.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"chai":"4.3.7","jest":"29.7.0","husky":"8.0.3","dotenv":"16.3.1","ts-jest":"29.4.0","ts-node":"10.9.1","prettier":"2.8.8","@types/qs":"6.14.0","@types/ws":"8.5.10","typescript":"5.4.2","@types/chai":"5.2.2","@types/jest":"29.5.6","@types/node":"24.1.0","lint-staged":"13.2.2","patch-package":"8.0.0","tsconfig-paths":"4.2.0","@commitlint/cli":"19.8.1","@types/crypto-js":"4.1.2","chai-as-promised":"7.1.2","sort-package-json":"3.4.0","tsconfig-replace-paths":"0.0.14","@types/chai-as-promised":"7.1.8","@commitlint/config-conventional":"19.8.1"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.0.1-beta.16_1778879659011_0.7478215703588995","host":"s3://npm-registry-packages-npm-production"}},"0.0.1-beta.17":{"name":"@0xkoaj/sdk","version":"0.0.1-beta.17","_id":"@0xkoaj/sdk@0.0.1-beta.17","maintainers":[{"name":"0xkoaj","email":"0xkoaj@gmail.com"}],"contributors":[],"dist":{"shasum":"eeb4133c0fcd50c253ab9e2e822205ce3da519bd","tarball":"https://registry.npmjs.org/@0xkoaj/sdk/-/sdk-0.0.1-beta.17.tgz","fileCount":503,"integrity":"sha512-tmzirW9NSWMJCM3cQyN8fGhTqm7ThWmSwEdSHsNqg+2obe0xOSzkrXBb9D45xa8hQ5KbpG5aSeJMi2YdDJNN/g==","signatures":[{"sig":"MEUCICkb58cFUwoJJQKr4MqH5trxl0Sku7uVynWW3yJGsaMFAiEA21oOMnq+X7J8bnJNzpSO9UTpxO96ZyLxR+5YQ+esvNM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQD3tG898sWmRaEPZba5Qx4ClDSyu5LZqzJwYIPNZOA14wIhAO+YE/jpRHz9HOc+WxL0/HHKBEDTmW22stQa8+QDY4O2","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1106945},"main":"./dist/index.js","types":"./dist/index.d.ts","gitHead":"2818b0a7aa28f971afe613342654740206ba1e1b","scripts":{"test":"jest --forceExit --detectOpenHandles --verbose","build":"tsc -p tsconfig.json && tsconfig-replace-paths -s src -p tsconfig.json","script":"ts-node -r tsconfig-paths/register","prepare":"husky install","lint:fix":"sort-package-json && prettier --write .","test:unit":"jest --forceExit --detectOpenHandles --verbose --testPathPattern=test/unit","lint:check":"prettier --check .","prepublishOnly":"npm run build","test:integration":"jest --forceExit --detectOpenHandles --verbose --testPathPattern=test/integration"},"_npmUser":{"name":"0xkoaj","email":"0xkoaj@gmail.com"},"_npmVersion":"10.9.8","description":"A comprehensive TypeScript SDK for interacting with the different contracts and accounts across multiple networks. Supports both **EVM chains** (Ethereum, Optimism, Arbitrum, etc.) and **Solana**.","directories":{},"lint-staged":{"package.json":"sort-package-json","*.{js,css,md,ts,sol}":"prettier --write"},"_nodeVersion":"22.23.2","dependencies":{"ms":"3.0.0-canary.1","qs":"6.14.0","viem":"2.33.1","crypto-js":"4.2.0","deepmerge":"4.3.1","lru-cache":"11.1.0","cross-fetch":"4.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"chai":"4.3.7","jest":"29.7.0","husky":"8.0.3","dotenv":"16.3.1","ts-jest":"29.4.0","ts-node":"10.9.1","prettier":"2.8.8","@types/qs":"6.14.0","@types/ws":"8.5.10","typescript":"5.4.2","@types/chai":"5.2.2","@types/jest":"29.5.6","@types/node":"24.1.0","lint-staged":"13.2.2","patch-package":"8.0.0","tsconfig-paths":"4.2.0","@commitlint/cli":"19.8.1","@types/crypto-js":"4.1.2","chai-as-promised":"7.1.2","sort-package-json":"3.4.0","tsconfig-replace-paths":"0.0.14","@types/chai-as-promised":"7.1.8","@commitlint/config-conventional":"19.8.1"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.0.1-beta.17_1790342499906_0.6147593194652439","host":"s3://npm-registry-packages-npm-production"}},"0.0.1-beta.18":{"name":"@0xkoaj/sdk","version":"0.0.1-beta.18","_id":"@0xkoaj/sdk@0.0.1-beta.18","maintainers":[{"name":"0xkoaj","email":"0xkoaj@gmail.com"}],"contributors":[],"dist":{"shasum":"283744dc14f75803c7579a5229289ad26bccac9b","tarball":"https://registry.npmjs.org/@0xkoaj/sdk/-/sdk-0.0.1-beta.18.tgz","fileCount":503,"integrity":"sha512-VFl+CrxC9+l0RYE06VhYOqKjjWLmbAadqtPWImjG7Y+Yssb9++KSVLADswDG4nPto2hM73N56R64ZnMEl/cvjw==","signatures":[{"sig":"MEUCIQCn3hDXYz6KIPYiJfF0zjv6qobson4C5URZNgwgP/17hAIgQCkM3E7ROJj74iP2Pybdo/DNHMut5wBR+u4OKtPtO7E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDplYcsvk/3MGOhiYsdRihnXRjDZe9wsk/OxYhW9q5O0AIgZ/hLeDw1Ngd/JLBDL9osuRzyVPtsyPJ8PNmz5Tmhads=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1104320},"main":"./dist/index.js","types":"./dist/index.d.ts","gitHead":"c90e1ae69e2369090bd3ebf9d7fd07fa37fdc8be","scripts":{"test":"jest --forceExit --detectOpenHandles --verbose","build":"tsc -p tsconfig.json && tsconfig-replace-paths -s src -p tsconfig.json","script":"ts-node -r tsconfig-paths/register","prepare":"husky install","lint:fix":"sort-package-json && prettier --write .","test:unit":"jest --forceExit --detectOpenHandles --verbose --testPathPattern=test/unit","lint:check":"prettier --check .","prepublishOnly":"npm run build","test:integration":"jest --forceExit --detectOpenHandles --verbose --testPathPattern=test/integration"},"_npmUser":{"name":"0xkoaj","email":"0xkoaj@gmail.com"},"_npmVersion":"10.9.8","description":"A comprehensive TypeScript SDK for interacting with the different contracts and accounts across multiple networks. Supports both **EVM chains** (Ethereum, Optimism, Arbitrum, etc.) and **Solana**.","directories":{},"lint-staged":{"package.json":"sort-package-json","*.{js,css,md,ts,sol}":"prettier --write"},"_nodeVersion":"22.23.2","dependencies":{"ms":"3.0.0-canary.1","qs":"6.14.0","viem":"2.33.1","crypto-js":"4.2.0","deepmerge":"4.3.1","lru-cache":"11.1.0","cross-fetch":"4.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"chai":"4.3.7","jest":"29.7.0","husky":"8.0.3","dotenv":"16.3.1","ts-jest":"29.4.0","ts-node":"10.9.1","prettier":"2.8.8","@types/qs":"6.14.0","@types/ws":"8.5.10","typescript":"5.4.2","@types/chai":"5.2.2","@types/jest":"29.5.6","@types/node":"24.1.0","lint-staged":"13.2.2","patch-package":"8.0.0","tsconfig-paths":"4.2.0","@commitlint/cli":"19.8.1","@types/crypto-js":"4.1.2","chai-as-promised":"7.1.2","sort-package-json":"3.4.0","tsconfig-replace-paths":"0.0.14","@types/chai-as-promised":"7.1.8","@commitlint/config-conventional":"19.8.1"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.0.1-beta.18_1790386819891_0.9202833339474932","host":"s3://npm-registry-packages-npm-production"}},"0.0.1-beta.19":{"_id":"@0xkoaj/sdk@0.0.1-beta.19","dist":{"shasum":"2e975ad97b7f8f9bb3a878f07e9683c51d9828fa","tarball":"https://registry.npmjs.org/@0xkoaj/sdk/-/sdk-0.0.1-beta.19.tgz","fileCount":503,"integrity":"sha512-GdLrG7FRS7LfZosHpfMYJlCvB1LRiylzMVKbnHLZDdouU+ve47Ep7epC0FFGqxXZAlE9AnQFvDWHcC/Yh6FQgg==","signatures":[{"sig":"MEUCIQCRIbsSaZ70tyLnG7RcEkwLYDK8GZYwo3hCkOE80Tr0zQIgHbEy7xQEHdF6xKxR1tw/x+kzSlZXzjkrWhwjjXPMzPM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCTzWuX5mbET5fp3bgGak3sC3Y7J4sEp47+6L53we9MQwIgRMljuZlJX4QozodKNfxOTqcIn/hPrykIs/ls5VAwf+g="}],"unpackedSize":1106418},"main":"./dist/index.js","name":"@0xkoaj/sdk","types":"./dist/index.d.ts","gitHead":"0b59da357c6173d63599eca73676a3536a4727f1","scripts":{"test":"jest --forceExit --detectOpenHandles --verbose","build":"tsc -p tsconfig.json && tsconfig-replace-paths -s src -p tsconfig.json","script":"ts-node -r tsconfig-paths/register","prepare":"husky install","lint:fix":"sort-package-json && prettier --write .","test:unit":"jest --forceExit --detectOpenHandles --verbose --testPathPattern=test/unit","lint:check":"prettier --check .","prepublishOnly":"npm run build","test:integration":"jest --forceExit --detectOpenHandles --verbose --testPathPattern=test/integration"},"version":"0.0.1-beta.19","_npmUser":{"name":"0xkoaj","email":"0xkoaj@gmail.com"},"_npmVersion":"10.9.8","description":"A comprehensive TypeScript SDK for interacting with the different contracts and accounts across multiple networks. Supports both **EVM chains** (Ethereum, Optimism, Arbitrum, etc.) and **Solana**.","directories":{},"lint-staged":{"package.json":"sort-package-json","*.{js,css,md,ts,sol}":"prettier --write"},"maintainers":[{"name":"0xkoaj","email":"0xkoaj@gmail.com"}],"_nodeVersion":"22.23.2","contributors":[],"dependencies":{"ms":"3.0.0-canary.1","qs":"6.14.0","viem":"2.33.1","crypto-js":"4.2.0","deepmerge":"4.3.1","lru-cache":"11.1.0","cross-fetch":"4.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"chai":"4.3.7","jest":"29.7.0","husky":"8.0.3","dotenv":"16.3.1","ts-jest":"29.4.0","ts-node":"10.9.1","prettier":"2.8.8","@types/qs":"6.14.0","@types/ws":"8.5.10","typescript":"5.4.2","@types/chai":"5.2.2","@types/jest":"29.5.6","@types/node":"24.1.0","lint-staged":"13.2.2","patch-package":"8.0.0","tsconfig-paths":"4.2.0","@commitlint/cli":"19.8.1","@types/crypto-js":"4.1.2","chai-as-promised":"7.1.2","sort-package-json":"3.4.0","tsconfig-replace-paths":"0.0.14","@types/chai-as-promised":"7.1.8","@commitlint/config-conventional":"19.8.1"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/sdk_0.0.1-beta.19_1790607406628_0.6755004008520669"}}},"time":{"created":"2026-01-12T21:24:56.255Z","modified":"2026-09-28T14:56:46.909Z","0.0.1-beta.1":"2026-01-12T21:24:56.492Z","0.0.1-beta.2":"2026-01-13T01:20:46.000Z","0.0.1-beta.3":"2026-01-13T02:42:07.086Z","0.0.1-beta.4":"2026-01-13T03:53:26.358Z","0.0.1-beta.5":"2026-01-24T18:43:16.234Z","0.0.1-beta.6":"2026-01-24T19:46:23.684Z","0.0.1-beta.7":"2026-01-24T21:21:45.356Z","0.0.1-beta.8":"2026-01-25T02:07:01.309Z","0.0.1-beta.9":"2026-01-25T02:35:20.516Z","0.0.1-beta.10":"2026-01-26T02:37:37.088Z","0.0.1-beta.11":"2026-01-26T03:03:56.256Z","0.0.1-beta.12":"2026-01-26T12:16:34.291Z","0.0.1-beta.13":"2026-05-09T02:48:46.203Z","0.0.1-beta.14":"2026-05-14T20:45:59.878Z","0.0.1-beta.15":"2026-05-14T21:05:32.244Z","0.0.1-beta.16":"2026-05-15T21:14:19.181Z","0.0.1-beta.17":"2026-09-25T13:21:40.001Z","0.0.1-beta.18":"2026-09-26T01:40:20.022Z","0.0.1-beta.19":"2026-09-28T14:56:46.728Z"},"description":"A comprehensive TypeScript SDK for interacting with the different contracts and accounts across multiple networks. Supports both **EVM chains** (Ethereum, Optimism, Arbitrum, etc.) and **Solana**.","contributors":[],"maintainers":[{"name":"0xkoaj","email":"0xkoaj@gmail.com"}],"readme":"# Web3 SDK\n\nA comprehensive TypeScript SDK for interacting with the different contracts and accounts across multiple networks. Supports both **EVM chains** (Ethereum, Optimism, Arbitrum, etc.) and **Solana**.\n\n## 🧪 Installation\n\n### Yarn\n\n```bash\nyarn add @nchamo/sdk\n```\n\n### NPM\n\n```bash\nnpm install @nchamo/sdk\n```\n\n## Quick Start\n\n### 👷🏽‍♀️ Building the SDK\n\n```typescript\nimport { buildSDK } from \"@nchamo/sdk\";\n\nconst sdk = buildSDK(config);\n```\n\n### ⚖️ Getting Balance for Multiple Tokens\n\n```typescript\nconst accountBalances = await sdk.balanceService.getBalancesForTokens({\n  account: \"0x000000000000000000000000000000000000dead\",\n  tokens: {\n    [Chains.ETHEREUM.chainId]: [\n      \"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48\", // USDC\n      \"0x6b175474e89094c44da98b954eedeac495271d0f\", // DAI\n    ],\n    [Chains.OPTIMISM.chainId]: [\n      \"0x7f5c764cbc14f9669b88837ca1490cca17c31607\", // USDC\n      \"0xda10009cbd5d07dd0cecc66161fc93d7c9000da1\", // DAI\n    ],\n  },\n  config: {\n    timeout: \"30s\",\n  },\n});\n```\n\n### 💸 Getting Allowances\n\n```typescript\nconst accountAllowances = await sdk.allowanceService.getAllowances({\n  chainId: Chains.ETHEREUM.chainId,\n  token: \"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48\", // USDC\n  owner: \"0x000000000000000000000000000000000000dead\",\n  spenders: [\"0x6666666600000000000000000000000000009999\"],\n});\n```\n\n### 🔄 Getting Trade Quotes (EVM)\n\n```typescript\nconst allQuotes = await sdk.quoteService.getAllQuotesWithTxs({\n  request: {\n    chainId: Chains.ETHEREUM.chainId,\n    sellToken: \"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48\",\n    buyToken: \"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2\",\n    order: {\n      type: \"sell\",\n      sellAmount: utils.parseUnits(\"1000\", 6), // 1000 USDC\n    },\n    slippagePercentage: 1,\n    takerAddress: signer.address,\n    gasSpeed: {\n      speed: \"instant\",\n    },\n  },\n  config: {\n    sort: {\n      by: \"most-swapped-accounting-for-gas\",\n    },\n  },\n});\n```\n\n### 🌞 Getting Trade Quotes (Solana)\n\n```typescript\nimport { SolanaChains, SolanaAddresses } from \"@nchamo/sdk\";\n\nconst solanaQuotes = await sdk.quoteService.getAllQuotesWithTxs({\n  request: {\n    chainId: SolanaChains.SOLANA.chainId, // 'solana'\n    sellToken: SolanaAddresses.NATIVE_SOL, // SOL\n    buyToken: SolanaAddresses.USDC, // USDC on Solana\n    order: {\n      type: \"sell\",\n      sellAmount: BigInt(1_000_000_000), // 1 SOL (9 decimals)\n    },\n    slippagePercentage: 1,\n    takerAddress: \"YourSolanaPublicKey...\", // Solana wallet public key (base58)\n  },\n  config: {\n    sourceConfig: {\n      jupiter: {\n        apiKey: process.env.JUPITER_API_KEY, // Required for Jupiter\n      },\n    },\n  },\n});\n```\n\n## Overview\n\nThe Web3 SDK provides efficient tools to manage token balances, retrieve trade quotes from DEX aggregators, and check token holdings across multiple chains. It's designed to be modular, with each functionality organized into specialized services that handle specific aspects of blockchain interaction.\n\n### Multi-Chain Support\n\nThe SDK supports two types of blockchain networks:\n\n- **EVM Chains**: Ethereum, Optimism, Arbitrum, Polygon, Base, BNB Chain, and 40+ other EVM-compatible networks\n- **Solana**: Full support for Solana mainnet with Jupiter DEX aggregator integration\n\n### Available Services\n\nThe SDK is divided into the following services:\n\n- **[Allowances Service](#allowances-service)**: Manage token approvals and permissions across EVM chains\n- **[Balances Service](#balances-service)**: Query token balances across multiple chains and tokens\n- **[Quotes Service](#quotes-service)**: Get optimized swap quotes from various DEX aggregators (EVM and Solana)\n- **[Gas Service](#gas-service)**: Optimize transaction costs and estimate gas prices (EVM only)\n- **[Prices Service](#prices-service)**: Retrieve token price information across multiple chains\n- **[Metadata Service](#metadata-service)**: Access token metadata and information\n\nEach service provides a focused set of functionality while maintaining a consistent interface and error handling approach. This modular design allows developers to use only the services they need while ensuring a cohesive experience across the entire SDK.\n\n## Multi-Chain Architecture\n\nThe SDK uses a unified type system to support both EVM and Solana chains.\n\n### Chain Types\n\n```typescript\nimport {\n  Chains, // All chains (EVM + Solana)\n  EVMChains, // Only EVM chains\n  SolanaChains, // Only Solana chains\n  isEVMChain, // Type guard for EVM chains\n  isSolanaChain, // Type guard for Solana chains\n} from \"@nchamo/sdk\";\n\n// Access EVM chains\nconst ethereum = EVMChains.ETHEREUM; // chainId: 1 (number)\nconst optimism = EVMChains.OPTIMISM; // chainId: 10 (number)\n\n// Access Solana chains\nconst solana = SolanaChains.SOLANA; // chainId: 'solana' (string)\nconst devnet = SolanaChains.SOLANA_DEVNET; // chainId: 'solana' (testnet)\n\n// Combined access\nconst anyChain = Chains.ETHEREUM; // Works for both\nconst solanaChain = Chains.SOLANA; // Works for both\n```\n\n### ChainId Type\n\nThe `ChainId` type is a union that supports both EVM (numeric) and Solana (string) identifiers:\n\n```typescript\ntype ChainId = number | string;\n\n// EVM chainIds are numbers\nconst ethChainId: ChainId = 1;\nconst arbitrumChainId: ChainId = 42161;\n\n// Solana chainId is a string\nconst solanaChainId: ChainId = \"solana\";\n```\n\n### Type Guards\n\nUse type guards to handle chain-specific logic:\n\n```typescript\nimport { isEVMChain, isSolanaChain, getChainByKey } from \"@nchamo/sdk\";\n\nconst chain = getChainByKey(chainId);\n\nif (isEVMChain(chain)) {\n  // TypeScript knows this is EVMChain\n  console.log(chain.wToken); // 0x... (EVM address)\n}\n\nif (isSolanaChain(chain)) {\n  // TypeScript knows this is SolanaChain\n  console.log(chain.nativeCurrency.mint); // So111... (Solana mint address)\n}\n```\n\n### Token Addresses\n\nToken addresses differ between chains:\n\n| Chain Type | Address Format | Example                                               |\n| ---------- | -------------- | ----------------------------------------------------- |\n| EVM        | Hex (0x...)    | `0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48` (USDC)   |\n| Solana     | Base58         | `EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v` (USDC) |\n\n### Common Addresses\n\n```typescript\nimport { Addresses, SolanaAddresses } from \"@nchamo/sdk\";\n\n// EVM native token representation\nAddresses.NATIVE_TOKEN; // '0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee'\nAddresses.ZERO_ADDRESS; // '0x0000000000000000000000000000000000000000'\n\n// Solana common tokens\nSolanaAddresses.NATIVE_SOL; // 'So11111111111111111111111111111111111111112' (Wrapped SOL)\nSolanaAddresses.USDC; // 'EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v'\nSolanaAddresses.USDT; // 'Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB'\n```\n\n## Services\n\n### Allowances Service\n\nThe Allowances Service provides functionality to check and manage token allowances across different chains.\n\n> **Note**: The Allowances Service is only applicable to **EVM chains**. Solana uses a different authorization model where token approvals are not required for swaps through Jupiter.\n\n#### Objective and Potential\n\n- **Objective**: Enable efficient management of token approvals across multiple chains and protocols\n- **Potential Use Cases**:\n  - Batch checking multiple token approvals in a single call\n  - Optimizing gas costs by checking approvals before transactions\n  - Managing permissions for DeFi protocols and dApps\n  - Cross-chain allowance monitoring and management\n\n#### Methods\n\n##### `supportedChains()`\n\nReturns an array of chain IDs that are supported by the service.\n\n```typescript\nconst chains = sdk.allowanceService.supportedChains();\n```\n\n##### `getAllowanceInChain(params)`\n\nGets the allowance for a specific token and spender on a given chain.\n\n```typescript\nconst allowance = await sdk.allowanceService.getAllowanceInChain({\n  chainId: Chains.ETHEREUM.chainId,\n  token: \"0x...\", // Token address\n  owner: \"0x...\", // Owner address\n  spender: \"0x...\", // Spender address\n  config: { timeout: TimeString },\n});\n```\n\n##### `getAllowancesInChain(params)`\n\nGets multiple allowances in a single call for a specific chain.\n\n```typescript\nconst allowances = await sdk.allowanceService.getAllowancesInChain({\n  chainId: Chains.ETHEREUM.chainId,\n  allowances: [\n    { token: \"0x...\", owner: \"0x...\", spender: \"0x...\" },\n    { token: \"0x...\", owner: \"0x...\", spender: \"0x...\" },\n  ],\n  config: { timeout: TimeString },\n});\n```\n\n##### `getAllowances(params)`\n\nGets allowances across multiple chains in a single call.\n\n```typescript\nconst allowances = await sdk.allowanceService.getAllowances({\n  allowances: [\n    {\n      chainId: Chains.ETHEREUM.chainId,\n      token: \"0x...\",\n      owner: \"0x...\",\n      spender: \"0x...\",\n    },\n    {\n      chainId: Chains.OPTIMISM.chainId,\n      token: \"0x...\",\n      owner: \"0x...\",\n      spender: \"0x...\",\n    },\n  ],\n  config: { timeout: TimeString },\n});\n```\n\n### Balances Service\n\nThe Balances Service allows querying token balances across multiple chains and tokens.\n\n#### Objective and Potential\n\n- **Objective**: Provide a unified interface for retrieving token balances across multiple chains\n- **Potential Use Cases**:\n  - Portfolio tracking across multiple chains\n  - Balance monitoring for DeFi positions\n  - Multi-chain wallet integration\n  - Automated balance checks for trading strategies\n\n#### Methods\n\n##### `supportedChains()`\n\nReturns an array of chain IDs that are supported by the service.\n\n```typescript\nconst chains = sdk.balanceService.supportedChains();\n```\n\n##### `getBalancesForAccountInChain(params)`\n\nGets balances for a specific account in a single chain.\n\n```typescript\nconst balances = await sdk.balanceService.getBalancesForAccountInChain({\n  chainId: Chains.ETHEREUM.chainId,\n  account: \"0x...\",\n  tokens: [\"0x...\", \"0x...\"],\n  config: { timeout: \"30s\" },\n});\n```\n\n##### `getBalancesForAccount(params)`\n\nGets balances for a specific account across multiple chains.\n\n```typescript\nconst balances = await sdk.balanceService.getBalancesForAccount({\n  account: \"0x...\",\n  tokens: [\n    { chainId: Chains.ETHEREUM.chainId, token: \"0x...\" },\n    { chainId: Chains.OPTIMISM.chainId, token: \"0x...\" },\n  ],\n  config: { timeout: \"30s\" },\n});\n```\n\n##### `getBalancesInChain(params)`\n\nGets balances for multiple accounts in a single chain.\n\n```typescript\nconst balances = await sdk.balanceService.getBalancesInChain({\n  chainId: Chains.ETHEREUM.chainId,\n  tokens: [\n    { account: \"0x...\", token: \"0x...\" },\n    { account: \"0x...\", token: \"0x...\" },\n  ],\n  config: { timeout: \"30s\" },\n});\n```\n\n##### `getBalances(params)`\n\nGets balances for multiple accounts across multiple chains.\n\n```typescript\nconst balances = await sdk.balanceService.getBalances({\n  tokens: [\n    { chainId: Chains.ETHEREUM.chainId, account: \"0x...\", token: \"0x...\" },\n    { chainId: Chains.OPTIMISM.chainId, account: \"0x...\", token: \"0x...\" },\n  ],\n  config: { timeout: \"30s\" },\n});\n```\n\n### Quotes Service\n\nThe Quotes Service provides comprehensive functionality for getting trade quotes from various DEX aggregators.\n\n#### Objective and Potential\n\n- **Objective**: Aggregate and optimize trade quotes from multiple DEX sources\n- **Potential Use Cases**:\n  - Finding the best trade routes across multiple DEXs\n  - Gas-optimized trading strategies\n  - Cross-chain arbitrage opportunities\n  - Automated trading systems\n  - Price impact analysis\n\n#### Supported Quote Sources\n\n##### EVM Quote Sources\n\nThe SDK supports multiple DEX aggregators for EVM chains including:\n\n- 1inch, 0x, Paraswap, Kyber, OpenOcean, and more\n\n##### Solana Quote Sources\n\nFor Solana, the SDK integrates with **Jupiter**, the leading DEX aggregator on Solana:\n\n| Source  | Chain  | Buy Orders | Swap & Transfer | API Key Required |\n| ------- | ------ | ---------- | --------------- | ---------------- |\n| Jupiter | Solana | ✅ Yes     | ❌ No           | ✅ Yes           |\n\n**Jupiter Configuration:**\n\n```typescript\nconst quotes = await sdk.quoteService.getAllQuotesWithTxs({\n  request: {\n    chainId: SolanaChains.SOLANA.chainId,\n    sellToken: SolanaAddresses.NATIVE_SOL,\n    buyToken: SolanaAddresses.USDC,\n    order: { type: \"sell\", sellAmount: BigInt(1_000_000_000) },\n    slippagePercentage: 1,\n    takerAddress: \"YourSolanaPublicKey...\",\n  },\n  config: {\n    sourceConfig: {\n      jupiter: {\n        apiKey: \"your-jupiter-api-key\", // Required\n        slippageBps: 100, // Optional: override slippage in basis points\n        onlyDirectRoutes: false, // Optional: only use direct routes\n        maxAccounts: 64, // Optional: max accounts in transaction\n      },\n    },\n  },\n});\n```\n\n> **Note**: To obtain a Jupiter API key, visit [Jupiter's Developer Portal](https://dev.jup.ag/).\n\n#### Transaction Types\n\nThe SDK returns different transaction formats for EVM and Solana:\n\n##### EVM Transactions\n\n```typescript\ntype EVMTransaction = {\n  type?: \"evm\"; // Optional, defaults to 'evm'\n  to: string; // Contract address\n  calldata: string; // Encoded function call\n  value?: bigint; // Native token amount (ETH, etc.)\n};\n```\n\n##### Solana Transactions\n\n```typescript\ntype SolanaTransaction = {\n  type: \"solana\";\n  swapTransaction: string; // Base64 encoded transaction\n  lastValidBlockHeight?: number; // Transaction validity window\n};\n```\n\n##### Handling Both Transaction Types\n\n```typescript\nimport { isEVMTransaction, isSolanaTransaction } from \"@nchamo/sdk\";\n\nconst quote = await sdk.quoteService.getBestQuote({ ... });\n\nif (isEVMTransaction(quote.tx)) {\n  // Send EVM transaction\n  const txResponse = await signer.sendTransaction({\n    to: quote.tx.to,\n    data: quote.tx.calldata,\n    value: quote.tx.value,\n  });\n}\n\nif (isSolanaTransaction(quote.tx)) {\n  // Decode and send Solana transaction\n  const transaction = VersionedTransaction.deserialize(\n    Buffer.from(quote.tx.swapTransaction, 'base64')\n  );\n  const signature = await connection.sendTransaction(transaction);\n}\n```\n\n#### Methods\n\n##### `supportedSources()`\n\nReturns metadata about all supported quote sources.\n\n```typescript\nconst sources = sdk.quoteService.supportedSources();\n```\n\n##### `supportedChains()`\n\nReturns an array of chain IDs that are supported by the service.\n\n```typescript\nconst chains = sdk.quoteService.supportedChains();\n```\n\n##### `supportedSourcesInChain(params)`\n\nReturns metadata about quote sources supported in a specific chain.\n\n```typescript\nconst sources = sdk.quoteService.supportedSourcesInChain({\n  chainId: Chains.ETHEREUM.chainId,\n});\n```\n\n##### `supportedGasSpeeds()`\n\nReturns supported gas speeds for each chain.\n\n```typescript\nconst gasSpeeds = sdk.quoteService.supportedGasSpeeds();\n```\n\n##### `estimateQuotes(params)`\n\nGets estimated quotes from all sources without transaction details.\n\n```typescript\nconst quotes = sdk.quoteService.estimateQuotes({\n  request: {\n    chainId: Chains.ETHEREUM.chainId,\n    sellToken: \"0x...\",\n    buyToken: \"0x...\",\n    order: { type: \"sell\", sellAmount: BigInt(\"1000000\") },\n    slippagePercentage: 1,\n  },\n  config: { timeout: TimeString },\n});\n```\n\n##### `estimateAllQuotes(params)`\n\nGets estimated quotes from all sources and returns them in a sorted array.\n\n```typescript\nconst quotes = await sdk.quoteService.estimateAllQuotes({\n  request: {\n    chainId: Chains.ETHEREUM.chainId,\n    sellToken: \"0x...\",\n    buyToken: \"0x...\",\n    order: { type: \"sell\", sellAmount: BigInt(\"1000000\") },\n    slippagePercentage: 1,\n  },\n  config: {\n    ignoredFailed: boolean,\n    sort: { by: \"most-swapped-accounting-for-gas\", using: \"gas-price\" },\n    timeout: TimeString,\n  },\n});\n```\n\n##### `getQuotes(params)`\n\nGets quotes from all sources with transaction details.\n\n```typescript\nconst quotes = sdk.quoteService.getQuotes({\n  request: {\n    chainId: Chains.ETHEREUM.chainId,\n    sellToken: \"0x...\",\n    buyToken: \"0x...\",\n    order: { type: \"sell\", sellAmount: BigInt(\"1000000\") },\n    slippagePercentage: 1,\n    takerAddress: \"0x...\",\n  },\n  config: { timeout: TimeString },\n});\n```\n\n##### `getAllQuotes(params)`\n\nGets quotes from all sources and returns them in a sorted array.\n\n```typescript\nconst quotes = await sdk.quoteService.getAllQuotes({\n  request: {\n    chainId: Chains.ETHEREUM.chainId,\n    sellToken: \"0x...\",\n    buyToken: \"0x...\",\n    order: { type: \"sell\", sellAmount: BigInt(\"1000000\") },\n    slippagePercentage: 1,\n    takerAddress: \"0x...\",\n  },\n  config: {\n    ignoredFailed: boolean,\n    sort: { by: \"most-swapped-accounting-for-gas\", using: \"gas-price\" },\n    timeout: TimeString,\n  },\n});\n```\n\n##### `getBestQuote(params)`\n\nGets the best quote according to specified criteria.\n\n```typescript\nconst bestQuote = await sdk.quoteService.getBestQuote({\n  request: {\n    chainId: Chains.ETHEREUM.chainId,\n    sellToken: \"0x...\",\n    buyToken: \"0x...\",\n    order: { type: \"sell\", sellAmount: BigInt(\"1000000\") },\n    slippagePercentage: 1,\n    takerAddress: \"0x...\",\n  },\n  config: {\n    choose: { by: \"most-swapped-accounting-for-gas\", using: \"gas-price\" },\n    timeout: TimeString,\n  },\n});\n```\n\n##### `getAllQuotesWithTxs(params)`\n\nGets quotes with built transactions from all sources.\n\n```typescript\nconst quotesWithTxs = await sdk.quoteService.getAllQuotesWithTxs({\n  request: {\n    chainId: Chains.ETHEREUM.chainId,\n    sellToken: \"0x...\",\n    buyToken: \"0x...\",\n    order: { type: \"sell\", sellAmount: BigInt(\"1000000\") },\n    slippagePercentage: 1,\n    takerAddress: \"0x...\",\n  },\n  config: {\n    ignoredFailed: boolean,\n    sort: { by: \"most-swapped-accounting-for-gas\", using: \"gas-price\" },\n    timeout: TimeString,\n  },\n});\n```\n\n##### `buildTxs(params)`\n\nBuilds transactions for given quotes.\n\n```typescript\nconst txs = sdk.quoteService.buildTxs({\n  quotes: quotes,\n  sourceConfig: SourceConfig,\n  config: { timeout: TimeString },\n});\n```\n\n##### `buildAllTxs(params)`\n\nBuilds transactions for all quotes and returns them in a sorted array.\n\n```typescript\nconst allTxs = await sdk.quoteService.buildAllTxs({\n  quotes: quotes,\n  sourceConfig: SourceConfig,\n  config: {\n    timeout: TimeString,\n    ignoredFailed: boolean,\n  },\n});\n```\n\n### Gas Service\n\nThe Gas Service provides gas price estimation and optimization across different chains.\n\n> **Note**: The Gas Service is only applicable to **EVM chains**. Solana uses a different fee model based on **compute units** and **prioritization fees**, which are handled automatically by quote sources like Jupiter.\n\n#### Objective and Potential\n\n- **Objective**: Optimize transaction costs across different chains and networks\n- **Potential Use Cases**:\n  - Gas price monitoring and optimization\n  - Transaction cost estimation\n  - Gas-aware trading strategies\n  - Multi-chain gas price comparison\n  - Automated gas price optimization\n\n#### Methods\n\n##### `supportedChains()`\n\nReturns an array of chain IDs that are supported by the service.\n\n```typescript\nconst chains = sdk.gasService.supportedChains();\n```\n\n##### `supportedSpeeds()`\n\nReturns supported gas speeds for each chain.\n\n```typescript\nconst speeds = sdk.gasService.supportedSpeeds();\n```\n\n##### `estimateGas(params)`\n\nEstimates gas usage for a transaction.\n\n```typescript\nconst gasEstimation = await sdk.gasService.estimateGas({\n  chainId: Chains.ETHEREUM.chainId,\n  tx: {\n    from: \"0x...\",\n    to: \"0x...\",\n    data: \"0x...\",\n  },\n  config: { timeout: TimeString },\n});\n```\n\n##### `getGasPrice(params)`\n\nGets gas prices for different speeds on a chain.\n\n```typescript\nconst gasPrices = await sdk.gasService.getGasPrice({\n  chainId: Chains.ETHEREUM.chainId,\n  config: {\n    timeout: TimeString,\n    fields: {\n      standard: \"required\" | \"best effort\" | \"can ignore\",\n      fast: \"required\" | \"best effort\" | \"can ignore\",\n      instant: \"required\" | \"best effort\" | \"can ignore\",\n    },\n  },\n});\n```\n\n##### `calculateGasCost(params)`\n\nCalculates gas cost for a transaction.\n\n```typescript\nconst gasCost = await sdk.gasService.calculateGasCost({\n  chainId: Chains.ETHEREUM.chainId,\n  gasEstimation: BigInt(\"21000\"),\n  tx: {\n    from: \"0x...\",\n    to: \"0x...\",\n    data: \"0x...\",\n  },\n  config: {\n    timeout: TimeString,\n    fields: {\n      standard: \"required\" | \"best effort\" | \"can ignore\",\n      fast: \"required\" | \"best effort\" | \"can ignore\",\n      instant: \"required\" | \"best effort\" | \"can ignore\",\n    },\n  },\n});\n```\n\n##### `getQuickGasCalculator(params)`\n\nGets a quick gas calculator for a specific chain.\n\n```typescript\nconst calculator = await sdk.gasService.getQuickGasCalculator({\n  chainId: Chains.ETHEREUM.chainId,\n  config: {\n    timeout: TimeString,\n    fields: {\n      standard: \"required\" | \"best effort\" | \"can ignore\",\n      fast: \"required\" | \"best effort\" | \"can ignore\",\n      instant: \"required\" | \"best effort\" | \"can ignore\",\n    },\n  },\n});\n\n// Use the calculator\nconst gasPrices = calculator.getGasPrice();\nconst gasCost = calculator.calculateGasCost({\n  gasEstimation: BigInt(\"21000\"),\n  tx: {\n    from: \"0x...\",\n    to: \"0x...\",\n    data: \"0x...\",\n  },\n});\n```\n\n### Prices Service\n\nThe Prices Service provides token price information across multiple chains.\n\n#### Objective and Potential\n\n- **Objective**: Provide a unified interface for retrieving token prices across multiple chains\n- **Potential Use Cases**:\n  - Price feeds for DeFi applications\n  - Token value calculations\n  - Historical price analysis\n  - Price chart generation\n  - Multi-chain price aggregation\n\n#### Methods\n\n##### `supportedChains()`\n\nReturns an array of chain IDs that are supported by the service.\n\n```typescript\nconst chains = sdk.pricesService.supportedChains();\n```\n\n##### `supportedQueries()`\n\nReturns the supported price queries for each chain.\n\n```typescript\nconst queries = sdk.pricesService.supportedQueries();\n```\n\n##### `getCurrentPricesInChain(params)`\n\nGets current prices for tokens in a specific chain.\n\n```typescript\nconst prices = await sdk.pricesService.getCurrentPricesInChain({\n  chainId: Chains.ETHEREUM.chainId,\n  tokens: [\"0x...\", \"0x...\"],\n  config: { timeout: \"30s\" },\n});\n```\n\n##### `getCurrentPrices(params)`\n\nGets current prices for tokens across multiple chains.\n\n```typescript\nconst prices = await sdk.pricesService.getCurrentPrices({\n  tokens: [\n    { chainId: Chains.ETHEREUM.chainId, token: \"0x...\" },\n    { chainId: Chains.OPTIMISM.chainId, token: \"0x...\" },\n  ],\n  config: { timeout: \"30s\" },\n});\n```\n\n##### `getHistoricalPricesInChain(params)`\n\nGets historical prices for tokens in a specific chain at a given timestamp.\n\n```typescript\nconst prices = await sdk.pricesService.getHistoricalPricesInChain({\n  chainId: Chains.ETHEREUM.chainId,\n  tokens: [\"0x...\", \"0x...\"],\n  timestamp: 1234567890,\n  searchWidth: \"1h\",\n  config: { timeout: \"30s\" },\n});\n```\n\n##### `getHistoricalPrices(params)`\n\nGets historical prices for tokens across multiple chains at a given timestamp.\n\n```typescript\nconst prices = await sdk.pricesService.getHistoricalPrices({\n  tokens: [\n    { chainId: Chains.ETHEREUM.chainId, token: \"0x...\" },\n    { chainId: Chains.OPTIMISM.chainId, token: \"0x...\" },\n  ],\n  timestamp: 1234567890,\n  searchWidth: \"1h\",\n  config: { timeout: \"30s\" },\n});\n```\n\n##### `getBulkHistoricalPrices(params)`\n\nGets historical prices for multiple tokens at different timestamps.\n\n```typescript\nconst prices = await sdk.pricesService.getBulkHistoricalPrices({\n  tokens: [\n    { chainId: Chains.ETHEREUM.chainId, token: \"0x...\", timestamp: 1234567890 },\n    { chainId: Chains.OPTIMISM.chainId, token: \"0x...\", timestamp: 1234567890 },\n  ],\n  searchWidth: \"1h\",\n  config: { timeout: \"30s\" },\n});\n```\n\n##### `getChart(params)`\n\nGets price chart data for tokens over a specified time period.\n\n```typescript\nconst chart = await sdk.pricesService.getChart({\n  tokens: [\n    { chainId: Chains.ETHEREUM.chainId, token: \"0x...\" },\n    { chainId: Chains.OPTIMISM.chainId, token: \"0x...\" },\n  ],\n  span: 100,\n  period: \"1d\",\n  bound: { from: 1234567890 },\n  searchWidth: \"1h\",\n});\n```\n\n### Metadata Service\n\nThe Metadata Service provides token metadata information across multiple chains.\n\n#### Objective and Potential\n\n- **Objective**: Provide a unified interface for retrieving token metadata across multiple chains\n- **Potential Use Cases**:\n  - Token information display in UIs\n  - Token validation and verification\n  - Multi-chain token management\n  - Token data aggregation\n\n#### Methods\n\n##### `supportedChains()`\n\nReturns an array of chain IDs that are supported by the service.\n\n```typescript\nconst chains = sdk.metadataService.supportedChains();\n```\n\n##### `supportedProperties()`\n\nReturns the supported metadata properties for each chain.\n\n```typescript\nconst properties = sdk.metadataService.supportedProperties();\n```\n\n##### `getMetadataInChain(params)`\n\nGets metadata for tokens in a specific chain.\n\n```typescript\nconst metadata = await sdk.metadataService.getMetadataInChain({\n  chainId: Chains.ETHEREUM.chainId,\n  tokens: [\"0x...\", \"0x...\"],\n  config: {\n    fields: { symbol: \"required\", decimals: \"required\" },\n    timeout: \"30s\",\n  },\n});\n```\n\n##### `getMetadata(params)`\n\nGets metadata for tokens across multiple chains.\n\n```typescript\nconst metadata = await sdk.metadataService.getMetadata({\n  tokens: [\n    { chainId: Chains.ETHEREUM.chainId, token: \"0x...\" },\n    { chainId: Chains.OPTIMISM.chainId, token: \"0x...\" },\n  ],\n  config: {\n    fields: { symbol: \"required\", decimals: \"required\" },\n    timeout: \"30s\",\n  },\n});\n```\n\n## Advanced Usage\n\n### Error Handling\n\nThe SDK provides comprehensive error handling for all services:\n\n```typescript\ntry {\n  const quotes = await sdk.quoteService.getAllQuotes({...});\n} catch (error) {\n  if (error instanceof FailedToGenerateAnyQuotesError) {\n    // Handle quote generation failure\n  }\n}\n```\n\n### Configuration\n\nEach service can be configured with custom timeouts and other parameters:\n\n```typescript\nconst quotes = await sdk.quoteService.getAllQuotes({\n  request: {...},\n  config: {\n    timeout: \"30s\",\n    ignoredFailed: true,\n    sort: {\n      by: \"most-swapped-accounting-for-gas\",\n      using: \"gas-price\"\n    }\n  }\n});\n```\n\n### Solana Configuration\n\nFor Solana quotes, you need to configure the Jupiter quote source:\n\n```typescript\nconst sdk = buildSDK({\n  // ... other config\n  quotes: {\n    sourceConfig: {\n      jupiter: {\n        apiKey: process.env.JUPITER_API_KEY,\n      },\n    },\n  },\n});\n\n// Or configure per-request:\nconst quotes = await sdk.quoteService.getAllQuotesWithTxs({\n  request: {\n    chainId: SolanaChains.SOLANA.chainId,\n    sellToken: SolanaAddresses.NATIVE_SOL,\n    buyToken: \"TokenMintAddress...\",\n    order: { type: \"sell\", sellAmount: BigInt(1_000_000_000) },\n    slippagePercentage: 0.5,\n    takerAddress: \"YourSolanaPublicKey...\",\n  },\n  config: {\n    sourceConfig: {\n      jupiter: {\n        apiKey: process.env.JUPITER_API_KEY,\n        slippageBps: 50, // 0.5% slippage\n        onlyDirectRoutes: true, // Only direct swaps, no multi-hop\n        maxAccounts: 32, // Limit transaction complexity\n      },\n    },\n  },\n});\n```\n\n#### Environment Variables\n\n```bash\n# Required for Solana quotes\nJUPITER_API_KEY=your-jupiter-api-key\n\n# Optional: RPC endpoints\nSOLANA_RPC_URL=https://api.mainnet-beta.solana.com\n```\n\n### Multi-chain Support\n\nAll services support operations across multiple chains:\n\n```typescript\nconst balances = await sdk.balanceService.getBalancesForTokens({\n  account: \"0x...\",\n  tokens: {\n    [Chains.ETHEREUM.chainId]: [\"0x...\"],\n    [Chains.OPTIMISM.chainId]: [\"0x...\"],\n    [Chains.ARBITRUM.chainId]: [\"0x...\"],\n  },\n});\n```\n\n## 👨‍💻 Development\n\n### Environment Setup\n\n```bash\nyarn install\n```\n\n## Contributing\n\nContributions are welcome! Please feel free to submit a Pull Request.\n","readmeFilename":"README.md"}