@0xkoaj/sdk 0.0.1-beta.1 → 0.0.1-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +272 -5
- package/dist/chains.d.ts +1183 -0
- package/dist/chains.js +679 -0
- package/dist/chains.js.map +1 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.js +21 -0
- package/dist/index.js.map +1 -0
- package/dist/sdk/builders/allowance-builder.d.ts +22 -0
- package/dist/sdk/builders/allowance-builder.js +28 -0
- package/dist/sdk/builders/allowance-builder.js.map +1 -0
- package/dist/sdk/builders/balance-builder.d.ts +30 -0
- package/dist/sdk/builders/balance-builder.js +33 -0
- package/dist/sdk/builders/balance-builder.js.map +1 -0
- package/dist/sdk/builders/blocks-builder.d.ts +22 -0
- package/dist/sdk/builders/blocks-builder.js +30 -0
- package/dist/sdk/builders/blocks-builder.js.map +1 -0
- package/dist/sdk/builders/fetch-builder.d.ts +6 -0
- package/dist/sdk/builders/fetch-builder.js +9 -0
- package/dist/sdk/builders/fetch-builder.js.map +1 -0
- package/dist/sdk/builders/gas-builder.d.ts +106 -0
- package/dist/sdk/builders/gas-builder.js +69 -0
- package/dist/sdk/builders/gas-builder.js.map +1 -0
- package/dist/sdk/builders/index.d.ts +10 -0
- package/dist/sdk/builders/index.js +3 -0
- package/dist/sdk/builders/index.js.map +1 -0
- package/dist/sdk/builders/logs-builder.d.ts +6 -0
- package/dist/sdk/builders/logs-builder.js +9 -0
- package/dist/sdk/builders/logs-builder.js.map +1 -0
- package/dist/sdk/builders/metadata-builder.d.ts +49 -0
- package/dist/sdk/builders/metadata-builder.js +37 -0
- package/dist/sdk/builders/metadata-builder.js.map +1 -0
- package/dist/sdk/builders/price-builder.d.ts +49 -0
- package/dist/sdk/builders/price-builder.js +59 -0
- package/dist/sdk/builders/price-builder.js.map +1 -0
- package/dist/sdk/builders/provider-builder.d.ts +121 -0
- package/dist/sdk/builders/provider-builder.js +88 -0
- package/dist/sdk/builders/provider-builder.js.map +1 -0
- package/dist/sdk/builders/quote-builder.d.ts +44 -0
- package/dist/sdk/builders/quote-builder.js +55 -0
- package/dist/sdk/builders/quote-builder.js.map +1 -0
- package/dist/sdk/index.d.ts +3 -0
- package/dist/sdk/index.js +21 -0
- package/dist/sdk/index.js.map +1 -0
- package/dist/sdk/sdk-builder.d.ts +24 -0
- package/dist/sdk/sdk-builder.js +39 -0
- package/dist/sdk/sdk-builder.js.map +1 -0
- package/dist/sdk/types.d.ts +24 -0
- package/dist/sdk/types.js +3 -0
- package/dist/sdk/types.js.map +1 -0
- package/dist/services/allowances/allowance-service.d.ts +29 -0
- package/dist/services/allowances/allowance-service.js +35 -0
- package/dist/services/allowances/allowance-service.js.map +1 -0
- package/dist/services/allowances/allowance-sources/cached-allowance-source.d.ts +16 -0
- package/dist/services/allowances/allowance-sources/cached-allowance-source.js +69 -0
- package/dist/services/allowances/allowance-sources/cached-allowance-source.js.map +1 -0
- package/dist/services/allowances/allowance-sources/rpc-allowance-source.d.ts +15 -0
- package/dist/services/allowances/allowance-sources/rpc-allowance-source.js +54 -0
- package/dist/services/allowances/allowance-sources/rpc-allowance-source.js.map +1 -0
- package/dist/services/allowances/index.d.ts +1 -0
- package/dist/services/allowances/index.js +3 -0
- package/dist/services/allowances/index.js.map +1 -0
- package/dist/services/allowances/types.d.ts +43 -0
- package/dist/services/allowances/types.js +3 -0
- package/dist/services/allowances/types.js.map +1 -0
- package/dist/services/balances/balance-service.d.ts +35 -0
- package/dist/services/balances/balance-service.js +36 -0
- package/dist/services/balances/balance-service.js.map +1 -0
- package/dist/services/balances/balance-sources/cached-balance-source.d.ts +16 -0
- package/dist/services/balances/balance-sources/cached-balance-source.js +56 -0
- package/dist/services/balances/balance-sources/cached-balance-source.js.map +1 -0
- package/dist/services/balances/balance-sources/fastest-balance-source.d.ts +15 -0
- package/dist/services/balances/balance-sources/fastest-balance-source.js +45 -0
- package/dist/services/balances/balance-sources/fastest-balance-source.js.map +1 -0
- package/dist/services/balances/balance-sources/rpc-balance-source.d.ts +23 -0
- package/dist/services/balances/balance-sources/rpc-balance-source.js +70 -0
- package/dist/services/balances/balance-sources/rpc-balance-source.js.map +1 -0
- package/dist/services/balances/balance-sources/utils.d.ts +15 -0
- package/dist/services/balances/balance-sources/utils.js +43 -0
- package/dist/services/balances/balance-sources/utils.js.map +1 -0
- package/dist/services/balances/index.d.ts +1 -0
- package/dist/services/balances/index.js +3 -0
- package/dist/services/balances/index.js.map +1 -0
- package/dist/services/balances/types.d.ts +48 -0
- package/dist/services/balances/types.js +3 -0
- package/dist/services/balances/types.js.map +1 -0
- package/dist/services/blocks/block-service.d.ts +28 -0
- package/dist/services/blocks/block-service.js +27 -0
- package/dist/services/blocks/block-service.js.map +1 -0
- package/dist/services/blocks/block-sources/defi-llama-block-source.d.ts +13 -0
- package/dist/services/blocks/block-sources/defi-llama-block-source.js +41 -0
- package/dist/services/blocks/block-sources/defi-llama-block-source.js.map +1 -0
- package/dist/services/blocks/block-sources/fallback-block-source.d.ts +13 -0
- package/dist/services/blocks/block-sources/fallback-block-source.js +28 -0
- package/dist/services/blocks/block-sources/fallback-block-source.js.map +1 -0
- package/dist/services/blocks/block-sources/rpc-block-source.d.ts +12 -0
- package/dist/services/blocks/block-sources/rpc-block-source.js +139 -0
- package/dist/services/blocks/block-sources/rpc-block-source.js.map +1 -0
- package/dist/services/blocks/block-sources/utils.d.ts +3 -0
- package/dist/services/blocks/block-sources/utils.js +10 -0
- package/dist/services/blocks/block-sources/utils.js.map +1 -0
- package/dist/services/blocks/index.d.ts +1 -0
- package/dist/services/blocks/index.js +3 -0
- package/dist/services/blocks/index.js.map +1 -0
- package/dist/services/blocks/types.d.ts +42 -0
- package/dist/services/blocks/types.js +3 -0
- package/dist/services/blocks/types.js.map +1 -0
- package/dist/services/fetch/fetch-service.d.ts +6 -0
- package/dist/services/fetch/fetch-service.js +58 -0
- package/dist/services/fetch/fetch-service.js.map +1 -0
- package/dist/services/fetch/index.d.ts +1 -0
- package/dist/services/fetch/index.js +3 -0
- package/dist/services/fetch/index.js.map +1 -0
- package/dist/services/fetch/types.d.ts +11 -0
- package/dist/services/fetch/types.js +3 -0
- package/dist/services/fetch/types.js.map +1 -0
- package/dist/services/gas/gas-price-sources/aggregator-gas-price-source.d.ts +19 -0
- package/dist/services/gas/gas-price-sources/aggregator-gas-price-source.js +108 -0
- package/dist/services/gas/gas-price-sources/aggregator-gas-price-source.js.map +1 -0
- package/dist/services/gas/gas-price-sources/cached-gas-price-source.d.ts +28 -0
- package/dist/services/gas/gas-price-sources/cached-gas-price-source.js +56 -0
- package/dist/services/gas/gas-price-sources/cached-gas-price-source.js.map +1 -0
- package/dist/services/gas/gas-price-sources/etherscan-gas-price-source.d.ts +19 -0
- package/dist/services/gas/gas-price-sources/etherscan-gas-price-source.js +48 -0
- package/dist/services/gas/gas-price-sources/etherscan-gas-price-source.js.map +1 -0
- package/dist/services/gas/gas-price-sources/fastest-gas-price-source-combinator.d.ts +14 -0
- package/dist/services/gas/gas-price-sources/fastest-gas-price-source-combinator.js +33 -0
- package/dist/services/gas/gas-price-sources/fastest-gas-price-source-combinator.js.map +1 -0
- package/dist/services/gas/gas-price-sources/open-ocean-gas-price-source.d.ts +18 -0
- package/dist/services/gas/gas-price-sources/open-ocean-gas-price-source.js +60 -0
- package/dist/services/gas/gas-price-sources/open-ocean-gas-price-source.js.map +1 -0
- package/dist/services/gas/gas-price-sources/owlracle-gas-price-source.d.ts +29 -0
- package/dist/services/gas/gas-price-sources/owlracle-gas-price-source.js +65 -0
- package/dist/services/gas/gas-price-sources/owlracle-gas-price-source.js.map +1 -0
- package/dist/services/gas/gas-price-sources/paraswap-gas-price-source.d.ts +18 -0
- package/dist/services/gas/gas-price-sources/paraswap-gas-price-source.js +28 -0
- package/dist/services/gas/gas-price-sources/paraswap-gas-price-source.js.map +1 -0
- package/dist/services/gas/gas-price-sources/polygon-gas-station-gas-price-source.d.ts +18 -0
- package/dist/services/gas/gas-price-sources/polygon-gas-station-gas-price-source.js +31 -0
- package/dist/services/gas/gas-price-sources/polygon-gas-station-gas-price-source.js.map +1 -0
- package/dist/services/gas/gas-price-sources/prioritized-gas-price-source-combinator.d.ts +14 -0
- package/dist/services/gas/gas-price-sources/prioritized-gas-price-source-combinator.js +33 -0
- package/dist/services/gas/gas-price-sources/prioritized-gas-price-source-combinator.js.map +1 -0
- package/dist/services/gas/gas-price-sources/rpc-gas-price-source.d.ts +18 -0
- package/dist/services/gas/gas-price-sources/rpc-gas-price-source.js +32 -0
- package/dist/services/gas/gas-price-sources/rpc-gas-price-source.js.map +1 -0
- package/dist/services/gas/gas-service.d.ts +48 -0
- package/dist/services/gas/gas-service.js +67 -0
- package/dist/services/gas/gas-service.js.map +1 -0
- package/dist/services/gas/index.d.ts +2 -0
- package/dist/services/gas/index.js +6 -0
- package/dist/services/gas/index.js.map +1 -0
- package/dist/services/gas/types.d.ts +80 -0
- package/dist/services/gas/types.js +5 -0
- package/dist/services/gas/types.js.map +1 -0
- package/dist/services/gas/utils.d.ts +11 -0
- package/dist/services/gas/utils.js +25 -0
- package/dist/services/gas/utils.js.map +1 -0
- package/dist/services/index.d.ts +10 -0
- package/dist/services/index.js +27 -0
- package/dist/services/index.js.map +1 -0
- package/dist/services/logs/index.d.ts +1 -0
- package/dist/services/logs/index.js +3 -0
- package/dist/services/logs/index.js.map +1 -0
- package/dist/services/logs/loggers/console-logger.d.ts +12 -0
- package/dist/services/logs/loggers/console-logger.js +37 -0
- package/dist/services/logs/loggers/console-logger.js.map +1 -0
- package/dist/services/logs/logs-service.d.ts +8 -0
- package/dist/services/logs/logs-service.js +14 -0
- package/dist/services/logs/logs-service.js.map +1 -0
- package/dist/services/logs/types.d.ts +13 -0
- package/dist/services/logs/types.js +3 -0
- package/dist/services/logs/types.js.map +1 -0
- package/dist/services/logs/utils.d.ts +2 -0
- package/dist/services/logs/utils.js +25 -0
- package/dist/services/logs/utils.js.map +1 -0
- package/dist/services/metadata/index.d.ts +1 -0
- package/dist/services/metadata/index.js +3 -0
- package/dist/services/metadata/index.js.map +1 -0
- package/dist/services/metadata/metadata-service.d.ts +23 -0
- package/dist/services/metadata/metadata-service.js +38 -0
- package/dist/services/metadata/metadata-service.js.map +1 -0
- package/dist/services/metadata/metadata-sources/cached-metadata-source.d.ts +17 -0
- package/dist/services/metadata/metadata-sources/cached-metadata-source.js +87 -0
- package/dist/services/metadata/metadata-sources/cached-metadata-source.js.map +1 -0
- package/dist/services/metadata/metadata-sources/defi-llama-metadata-source.d.ts +16 -0
- package/dist/services/metadata/metadata-sources/defi-llama-metadata-source.js +27 -0
- package/dist/services/metadata/metadata-sources/defi-llama-metadata-source.js.map +1 -0
- package/dist/services/metadata/metadata-sources/fallback-metadata-source.d.ts +14 -0
- package/dist/services/metadata/metadata-sources/fallback-metadata-source.js +131 -0
- package/dist/services/metadata/metadata-sources/fallback-metadata-source.js.map +1 -0
- package/dist/services/metadata/metadata-sources/rpc-metadata-source.d.ts +23 -0
- package/dist/services/metadata/metadata-sources/rpc-metadata-source.js +77 -0
- package/dist/services/metadata/metadata-sources/rpc-metadata-source.js.map +1 -0
- package/dist/services/metadata/types.d.ts +44 -0
- package/dist/services/metadata/types.js +3 -0
- package/dist/services/metadata/types.js.map +1 -0
- package/dist/services/prices/index.d.ts +1 -0
- package/dist/services/prices/index.js +3 -0
- package/dist/services/prices/index.js.map +1 -0
- package/dist/services/prices/price-service.d.ts +69 -0
- package/dist/services/prices/price-service.js +58 -0
- package/dist/services/prices/price-service.js.map +1 -0
- package/dist/services/prices/price-sources/aggregator-price-source.d.ts +41 -0
- package/dist/services/prices/price-sources/aggregator-price-source.js +128 -0
- package/dist/services/prices/price-sources/aggregator-price-source.js.map +1 -0
- package/dist/services/prices/price-sources/alchemy-price-source.d.ts +47 -0
- package/dist/services/prices/price-sources/alchemy-price-source.js +110 -0
- package/dist/services/prices/price-sources/alchemy-price-source.js.map +1 -0
- package/dist/services/prices/price-sources/batch-price-source.d.ts +44 -0
- package/dist/services/prices/price-sources/batch-price-source.js +89 -0
- package/dist/services/prices/price-sources/batch-price-source.js.map +1 -0
- package/dist/services/prices/price-sources/cached-price-source.d.ts +41 -0
- package/dist/services/prices/price-sources/cached-price-source.js +68 -0
- package/dist/services/prices/price-sources/cached-price-source.js.map +1 -0
- package/dist/services/prices/price-sources/codex-price-source.d.ts +41 -0
- package/dist/services/prices/price-sources/codex-price-source.js +124 -0
- package/dist/services/prices/price-sources/codex-price-source.js.map +1 -0
- package/dist/services/prices/price-sources/coingecko-price-source.d.ts +42 -0
- package/dist/services/prices/price-sources/coingecko-price-source.js +109 -0
- package/dist/services/prices/price-sources/coingecko-price-source.js.map +1 -0
- package/dist/services/prices/price-sources/defi-llama-price-source.d.ts +39 -0
- package/dist/services/prices/price-sources/defi-llama-price-source.js +34 -0
- package/dist/services/prices/price-sources/defi-llama-price-source.js.map +1 -0
- package/dist/services/prices/price-sources/fastest-price-source.d.ts +38 -0
- package/dist/services/prices/price-sources/fastest-price-source.js +82 -0
- package/dist/services/prices/price-sources/fastest-price-source.js.map +1 -0
- package/dist/services/prices/price-sources/odos-price-source.d.ts +40 -0
- package/dist/services/prices/price-sources/odos-price-source.js +54 -0
- package/dist/services/prices/price-sources/odos-price-source.js.map +1 -0
- package/dist/services/prices/price-sources/prioritized-price-source.d.ts +38 -0
- package/dist/services/prices/price-sources/prioritized-price-source.js +81 -0
- package/dist/services/prices/price-sources/prioritized-price-source.js.map +1 -0
- package/dist/services/prices/price-sources/utils.d.ts +10 -0
- package/dist/services/prices/price-sources/utils.js +70 -0
- package/dist/services/prices/price-sources/utils.js.map +1 -0
- package/dist/services/prices/types.d.ts +105 -0
- package/dist/services/prices/types.js +3 -0
- package/dist/services/prices/types.js.map +1 -0
- package/dist/services/providers/index.d.ts +2 -0
- package/dist/services/providers/index.js +18 -0
- package/dist/services/providers/index.js.map +1 -0
- package/dist/services/providers/provider-service.d.ts +20 -0
- package/dist/services/providers/provider-service.js +33 -0
- package/dist/services/providers/provider-service.js.map +1 -0
- package/dist/services/providers/provider-sources/alchemy-provider.d.ts +20 -0
- package/dist/services/providers/provider-sources/alchemy-provider.js +37 -0
- package/dist/services/providers/provider-sources/alchemy-provider.js.map +1 -0
- package/dist/services/providers/provider-sources/ankr-provider.d.ts +18 -0
- package/dist/services/providers/provider-sources/ankr-provider.js +52 -0
- package/dist/services/providers/provider-sources/ankr-provider.js.map +1 -0
- package/dist/services/providers/provider-sources/base/base-http-provider.d.ts +14 -0
- package/dist/services/providers/provider-sources/base/base-http-provider.js +20 -0
- package/dist/services/providers/provider-sources/base/base-http-provider.js.map +1 -0
- package/dist/services/providers/provider-sources/base/base-web-socket-provider.d.ts +10 -0
- package/dist/services/providers/provider-sources/base/base-web-socket-provider.js +17 -0
- package/dist/services/providers/provider-sources/base/base-web-socket-provider.js.map +1 -0
- package/dist/services/providers/provider-sources/blast-provider.d.ts +18 -0
- package/dist/services/providers/provider-sources/blast-provider.js +52 -0
- package/dist/services/providers/provider-sources/blast-provider.js.map +1 -0
- package/dist/services/providers/provider-sources/by-method-provider.d.ts +12 -0
- package/dist/services/providers/provider-sources/by-method-provider.js +40 -0
- package/dist/services/providers/provider-sources/by-method-provider.js.map +1 -0
- package/dist/services/providers/provider-sources/drpc-provider.d.ts +18 -0
- package/dist/services/providers/provider-sources/drpc-provider.js +60 -0
- package/dist/services/providers/provider-sources/drpc-provider.js.map +1 -0
- package/dist/services/providers/provider-sources/envio-provider.d.ts +18 -0
- package/dist/services/providers/provider-sources/envio-provider.js +72 -0
- package/dist/services/providers/provider-sources/envio-provider.js.map +1 -0
- package/dist/services/providers/provider-sources/fallback-provider.d.ts +13 -0
- package/dist/services/providers/provider-sources/fallback-provider.js +26 -0
- package/dist/services/providers/provider-sources/fallback-provider.js.map +1 -0
- package/dist/services/providers/provider-sources/get-block-provider.d.ts +15 -0
- package/dist/services/providers/provider-sources/get-block-provider.js +23 -0
- package/dist/services/providers/provider-sources/get-block-provider.js.map +1 -0
- package/dist/services/providers/provider-sources/http-provider.d.ts +13 -0
- package/dist/services/providers/provider-sources/http-provider.js +21 -0
- package/dist/services/providers/provider-sources/http-provider.js.map +1 -0
- package/dist/services/providers/provider-sources/index.d.ts +17 -0
- package/dist/services/providers/provider-sources/index.js +45 -0
- package/dist/services/providers/provider-sources/index.js.map +1 -0
- package/dist/services/providers/provider-sources/infura-provider.d.ts +18 -0
- package/dist/services/providers/provider-sources/infura-provider.js +40 -0
- package/dist/services/providers/provider-sources/infura-provider.js.map +1 -0
- package/dist/services/providers/provider-sources/llama-nodes-provider.d.ts +18 -0
- package/dist/services/providers/provider-sources/llama-nodes-provider.js +40 -0
- package/dist/services/providers/provider-sources/llama-nodes-provider.js.map +1 -0
- package/dist/services/providers/provider-sources/load-balance-provider.d.ts +23 -0
- package/dist/services/providers/provider-sources/load-balance-provider.js +163 -0
- package/dist/services/providers/provider-sources/load-balance-provider.js.map +1 -0
- package/dist/services/providers/provider-sources/moralis-provider.d.ts +25 -0
- package/dist/services/providers/provider-sources/moralis-provider.js +56 -0
- package/dist/services/providers/provider-sources/moralis-provider.js.map +1 -0
- package/dist/services/providers/provider-sources/node-real-provider.d.ts +18 -0
- package/dist/services/providers/provider-sources/node-real-provider.js +35 -0
- package/dist/services/providers/provider-sources/node-real-provider.js.map +1 -0
- package/dist/services/providers/provider-sources/on-finality-provider.d.ts +18 -0
- package/dist/services/providers/provider-sources/on-finality-provider.js +50 -0
- package/dist/services/providers/provider-sources/on-finality-provider.js.map +1 -0
- package/dist/services/providers/provider-sources/one-rpc-provider.d.ts +18 -0
- package/dist/services/providers/provider-sources/one-rpc-provider.js +56 -0
- package/dist/services/providers/provider-sources/one-rpc-provider.js.map +1 -0
- package/dist/services/providers/provider-sources/prioritized-provider-source-combinator.d.ts +10 -0
- package/dist/services/providers/provider-sources/prioritized-provider-source-combinator.js +24 -0
- package/dist/services/providers/provider-sources/prioritized-provider-source-combinator.js.map +1 -0
- package/dist/services/providers/provider-sources/public-rpcs-provider.d.ts +21 -0
- package/dist/services/providers/provider-sources/public-rpcs-provider.js +35 -0
- package/dist/services/providers/provider-sources/public-rpcs-provider.js.map +1 -0
- package/dist/services/providers/provider-sources/tenderly-provider.d.ts +18 -0
- package/dist/services/providers/provider-sources/tenderly-provider.js +48 -0
- package/dist/services/providers/provider-sources/tenderly-provider.js.map +1 -0
- package/dist/services/providers/provider-sources/third-web-provider.d.ts +15 -0
- package/dist/services/providers/provider-sources/third-web-provider.js +58 -0
- package/dist/services/providers/provider-sources/third-web-provider.js.map +1 -0
- package/dist/services/providers/provider-sources/web-sockets-provider.d.ts +9 -0
- package/dist/services/providers/provider-sources/web-sockets-provider.js +21 -0
- package/dist/services/providers/provider-sources/web-sockets-provider.js.map +1 -0
- package/dist/services/providers/types.d.ts +17 -0
- package/dist/services/providers/types.js +3 -0
- package/dist/services/providers/types.js.map +1 -0
- package/dist/services/providers/utils.d.ts +4 -0
- package/dist/services/providers/utils.js +34 -0
- package/dist/services/providers/utils.js.map +1 -0
- package/dist/services/quotes/errors.d.ts +17 -0
- package/dist/services/quotes/errors.js +38 -0
- package/dist/services/quotes/errors.js.map +1 -0
- package/dist/services/quotes/index.d.ts +5 -0
- package/dist/services/quotes/index.js +28 -0
- package/dist/services/quotes/index.js.map +1 -0
- package/dist/services/quotes/quote-compare.d.ts +9 -0
- package/dist/services/quotes/quote-compare.js +144 -0
- package/dist/services/quotes/quote-compare.js.map +1 -0
- package/dist/services/quotes/quote-service.d.ts +117 -0
- package/dist/services/quotes/quote-service.js +304 -0
- package/dist/services/quotes/quote-service.js.map +1 -0
- package/dist/services/quotes/quote-sources/0x-quote-source.d.ts +19 -0
- package/dist/services/quotes/quote-sources/0x-quote-source.js +89 -0
- package/dist/services/quotes/quote-sources/0x-quote-source.js.map +1 -0
- package/dist/services/quotes/quote-sources/1inch-quote-source.d.ts +28 -0
- package/dist/services/quotes/quote-sources/1inch-quote-source.js +102 -0
- package/dist/services/quotes/quote-sources/1inch-quote-source.js.map +1 -0
- package/dist/services/quotes/quote-sources/barter-quote-source.d.ts +28 -0
- package/dist/services/quotes/quote-sources/barter-quote-source.js +126 -0
- package/dist/services/quotes/quote-sources/barter-quote-source.js.map +1 -0
- package/dist/services/quotes/quote-sources/base/always-valid-source.d.ts +8 -0
- package/dist/services/quotes/quote-sources/base/always-valid-source.js +13 -0
- package/dist/services/quotes/quote-sources/base/always-valid-source.js.map +1 -0
- package/dist/services/quotes/quote-sources/bebop-quote-source.d.ts +21 -0
- package/dist/services/quotes/quote-sources/bebop-quote-source.js +97 -0
- package/dist/services/quotes/quote-sources/bebop-quote-source.js.map +1 -0
- package/dist/services/quotes/quote-sources/braindex-quote-source.d.ts +20 -0
- package/dist/services/quotes/quote-sources/braindex-quote-source.js +150 -0
- package/dist/services/quotes/quote-sources/braindex-quote-source.js.map +1 -0
- package/dist/services/quotes/quote-sources/changelly-quote-source.d.ts +20 -0
- package/dist/services/quotes/quote-sources/changelly-quote-source.js +71 -0
- package/dist/services/quotes/quote-sources/changelly-quote-source.js.map +1 -0
- package/dist/services/quotes/quote-sources/conveyor-quote-source.d.ts +19 -0
- package/dist/services/quotes/quote-sources/conveyor-quote-source.js +93 -0
- package/dist/services/quotes/quote-sources/conveyor-quote-source.js.map +1 -0
- package/dist/services/quotes/quote-sources/dodo-quote-source.d.ts +19 -0
- package/dist/services/quotes/quote-sources/dodo-quote-source.js +97 -0
- package/dist/services/quotes/quote-sources/dodo-quote-source.js.map +1 -0
- package/dist/services/quotes/quote-sources/enso-quote-source.d.ts +20 -0
- package/dist/services/quotes/quote-sources/enso-quote-source.js +85 -0
- package/dist/services/quotes/quote-sources/enso-quote-source.js.map +1 -0
- package/dist/services/quotes/quote-sources/fly-trade-quote-source.d.ts +20 -0
- package/dist/services/quotes/quote-sources/fly-trade-quote-source.js +99 -0
- package/dist/services/quotes/quote-sources/fly-trade-quote-source.js.map +1 -0
- package/dist/services/quotes/quote-sources/jupiter-quote-source.d.ts +50 -0
- package/dist/services/quotes/quote-sources/jupiter-quote-source.js +111 -0
- package/dist/services/quotes/quote-sources/jupiter-quote-source.js.map +1 -0
- package/dist/services/quotes/quote-sources/kyberswap-quote-source.d.ts +26 -0
- package/dist/services/quotes/quote-sources/kyberswap-quote-source.js +100 -0
- package/dist/services/quotes/quote-sources/kyberswap-quote-source.js.map +1 -0
- package/dist/services/quotes/quote-sources/li-fi-quote-source.d.ts +18 -0
- package/dist/services/quotes/quote-sources/li-fi-quote-source.js +104 -0
- package/dist/services/quotes/quote-sources/li-fi-quote-source.js.map +1 -0
- package/dist/services/quotes/quote-sources/odos-quote-source.d.ts +29 -0
- package/dist/services/quotes/quote-sources/odos-quote-source.js +130 -0
- package/dist/services/quotes/quote-sources/odos-quote-source.js.map +1 -0
- package/dist/services/quotes/quote-sources/okx-dex-quote-source.d.ts +21 -0
- package/dist/services/quotes/quote-sources/okx-dex-quote-source.js +143 -0
- package/dist/services/quotes/quote-sources/okx-dex-quote-source.js.map +1 -0
- package/dist/services/quotes/quote-sources/open-ocean-quote-source.d.ts +19 -0
- package/dist/services/quotes/quote-sources/open-ocean-quote-source.js +113 -0
- package/dist/services/quotes/quote-sources/open-ocean-quote-source.js.map +1 -0
- package/dist/services/quotes/quote-sources/paraswap-quote-source.d.ts +19 -0
- package/dist/services/quotes/quote-sources/paraswap-quote-source.js +84 -0
- package/dist/services/quotes/quote-sources/paraswap-quote-source.js.map +1 -0
- package/dist/services/quotes/quote-sources/portals-fi-quote-source.d.ts +20 -0
- package/dist/services/quotes/quote-sources/portals-fi-quote-source.js +94 -0
- package/dist/services/quotes/quote-sources/portals-fi-quote-source.js.map +1 -0
- package/dist/services/quotes/quote-sources/rango-quote-source.d.ts +21 -0
- package/dist/services/quotes/quote-sources/rango-quote-source.js +115 -0
- package/dist/services/quotes/quote-sources/rango-quote-source.js.map +1 -0
- package/dist/services/quotes/quote-sources/squid-quote-source.d.ts +20 -0
- package/dist/services/quotes/quote-sources/squid-quote-source.js +92 -0
- package/dist/services/quotes/quote-sources/squid-quote-source.js.map +1 -0
- package/dist/services/quotes/quote-sources/sushiswap-quote-source.d.ts +18 -0
- package/dist/services/quotes/quote-sources/sushiswap-quote-source.js +90 -0
- package/dist/services/quotes/quote-sources/sushiswap-quote-source.js.map +1 -0
- package/dist/services/quotes/quote-sources/swing-quote-source.d.ts +28 -0
- package/dist/services/quotes/quote-sources/swing-quote-source.js +148 -0
- package/dist/services/quotes/quote-sources/swing-quote-source.js.map +1 -0
- package/dist/services/quotes/quote-sources/types.d.ts +120 -0
- package/dist/services/quotes/quote-sources/types.js +13 -0
- package/dist/services/quotes/quote-sources/types.js.map +1 -0
- package/dist/services/quotes/quote-sources/uniswap-quote-source.d.ts +16 -0
- package/dist/services/quotes/quote-sources/uniswap-quote-source.js +119 -0
- package/dist/services/quotes/quote-sources/uniswap-quote-source.js.map +1 -0
- package/dist/services/quotes/quote-sources/utils.d.ts +9 -0
- package/dist/services/quotes/quote-sources/utils.js +37 -0
- package/dist/services/quotes/quote-sources/utils.js.map +1 -0
- package/dist/services/quotes/quote-sources/wrappers/buy-to-sell-order-wrapper.d.ts +6 -0
- package/dist/services/quotes/quote-sources/wrappers/buy-to-sell-order-wrapper.js +73 -0
- package/dist/services/quotes/quote-sources/wrappers/buy-to-sell-order-wrapper.js.map +1 -0
- package/dist/services/quotes/quote-sources/wrappers/forced-timeout-wrapper.d.ts +2 -0
- package/dist/services/quotes/quote-sources/wrappers/forced-timeout-wrapper.js +27 -0
- package/dist/services/quotes/quote-sources/wrappers/forced-timeout-wrapper.js.map +1 -0
- package/dist/services/quotes/quote-sources/xy-finance-quote-source.d.ts +16 -0
- package/dist/services/quotes/quote-sources/xy-finance-quote-source.js +87 -0
- package/dist/services/quotes/quote-sources/xy-finance-quote-source.js.map +1 -0
- package/dist/services/quotes/source-lists/batch-api-source-list.d.ts +30 -0
- package/dist/services/quotes/source-lists/batch-api-source-list.js +62 -0
- package/dist/services/quotes/source-lists/batch-api-source-list.js.map +1 -0
- package/dist/services/quotes/source-lists/index.d.ts +1 -0
- package/dist/services/quotes/source-lists/index.js +3 -0
- package/dist/services/quotes/source-lists/index.js.map +1 -0
- package/dist/services/quotes/source-lists/local-source-list.d.ts +21 -0
- package/dist/services/quotes/source-lists/local-source-list.js +157 -0
- package/dist/services/quotes/source-lists/local-source-list.js.map +1 -0
- package/dist/services/quotes/source-lists/overridable-source-list.d.ts +25 -0
- package/dist/services/quotes/source-lists/overridable-source-list.js +70 -0
- package/dist/services/quotes/source-lists/overridable-source-list.js.map +1 -0
- package/dist/services/quotes/source-lists/types.d.ts +44 -0
- package/dist/services/quotes/source-lists/types.js +3 -0
- package/dist/services/quotes/source-lists/types.js.map +1 -0
- package/dist/services/quotes/source-lists/utils.d.ts +5 -0
- package/dist/services/quotes/source-lists/utils.js +29 -0
- package/dist/services/quotes/source-lists/utils.js.map +1 -0
- package/dist/services/quotes/source-registry.d.ts +70 -0
- package/dist/services/quotes/source-registry.js +57 -0
- package/dist/services/quotes/source-registry.js.map +1 -0
- package/dist/services/quotes/types.d.ts +204 -0
- package/dist/services/quotes/types.js +3 -0
- package/dist/services/quotes/types.js.map +1 -0
- package/dist/shared/abis/erc20.d.ts +86 -0
- package/dist/shared/abis/erc20.js +116 -0
- package/dist/shared/abis/erc20.js.map +1 -0
- package/dist/shared/alchemy.d.ts +7 -0
- package/dist/shared/alchemy.js +35 -0
- package/dist/shared/alchemy.js.map +1 -0
- package/dist/shared/auto-update-cache.d.ts +23 -0
- package/dist/shared/auto-update-cache.js +38 -0
- package/dist/shared/auto-update-cache.js.map +1 -0
- package/dist/shared/concurrent-lru-cache.d.ts +66 -0
- package/dist/shared/concurrent-lru-cache.js +156 -0
- package/dist/shared/concurrent-lru-cache.js.map +1 -0
- package/dist/shared/constants.d.ts +12 -0
- package/dist/shared/constants.js +20 -0
- package/dist/shared/constants.js.map +1 -0
- package/dist/shared/contracts.d.ts +27 -0
- package/dist/shared/contracts.js +41 -0
- package/dist/shared/contracts.js.map +1 -0
- package/dist/shared/deferred.d.ts +12 -0
- package/dist/shared/deferred.js +32 -0
- package/dist/shared/deferred.js.map +1 -0
- package/dist/shared/defi-llama.d.ts +72 -0
- package/dist/shared/defi-llama.js +247 -0
- package/dist/shared/defi-llama.js.map +1 -0
- package/dist/shared/index.d.ts +10 -0
- package/dist/shared/index.js +51 -0
- package/dist/shared/index.js.map +1 -0
- package/dist/shared/requirements-and-support.d.ts +14 -0
- package/dist/shared/requirements-and-support.js +110 -0
- package/dist/shared/requirements-and-support.js.map +1 -0
- package/dist/shared/timeouts.d.ts +10 -0
- package/dist/shared/timeouts.js +41 -0
- package/dist/shared/timeouts.js.map +1 -0
- package/dist/shared/triggerable-promise.d.ts +9 -0
- package/dist/shared/triggerable-promise.js +16 -0
- package/dist/shared/triggerable-promise.js.map +1 -0
- package/dist/shared/utils.d.ts +39 -0
- package/dist/shared/utils.js +119 -0
- package/dist/shared/utils.js.map +1 -0
- package/dist/shared/viem.d.ts +5 -0
- package/dist/shared/viem.js +18 -0
- package/dist/shared/viem.js.map +1 -0
- package/dist/shared/wait.d.ts +7 -0
- package/dist/shared/wait.js +34 -0
- package/dist/shared/wait.js.map +1 -0
- package/dist/types.d.ts +99 -0
- package/dist/types.js +13 -0
- package/dist/types.js.map +1 -0
- package/dist/utility-types.d.ts +46 -0
- package/dist/utility-types.js +3 -0
- package/dist/utility-types.js.map +1 -0
- package/package.json +2 -1
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { IFetchService } from '../../services/fetch';
|
|
2
|
+
import { CacheConfig } from '../../shared/concurrent-lru-cache';
|
|
3
|
+
import { IPriceService, IPriceSource } from '../../services/prices';
|
|
4
|
+
import { PriceAggregationMethod } from '../../services/prices/price-sources/aggregator-price-source';
|
|
5
|
+
import { AlchemySupportedChains } from '../../services/providers/provider-sources/alchemy-provider';
|
|
6
|
+
import { BatchConfig } from '../../services/prices/price-sources/batch-price-source';
|
|
7
|
+
export type PriceSourceInput = {
|
|
8
|
+
type: 'defi-llama';
|
|
9
|
+
} | {
|
|
10
|
+
type: 'codex';
|
|
11
|
+
apiKey: string;
|
|
12
|
+
} | {
|
|
13
|
+
type: 'odos';
|
|
14
|
+
} | {
|
|
15
|
+
type: 'alchemy';
|
|
16
|
+
apiKey: string;
|
|
17
|
+
onChains?: AlchemySupportedChains;
|
|
18
|
+
} | {
|
|
19
|
+
type: 'coingecko';
|
|
20
|
+
} | {
|
|
21
|
+
type: 'prioritized';
|
|
22
|
+
sources: PriceSourceInput[];
|
|
23
|
+
} | {
|
|
24
|
+
type: 'fastest';
|
|
25
|
+
sources: PriceSourceInput[];
|
|
26
|
+
} | {
|
|
27
|
+
type: 'aggregate';
|
|
28
|
+
sources: PriceSourceInput[];
|
|
29
|
+
by: PriceAggregationMethod;
|
|
30
|
+
} | {
|
|
31
|
+
type: 'cached';
|
|
32
|
+
underlyingSource: PriceSourceInput;
|
|
33
|
+
config: CacheConfig;
|
|
34
|
+
} | {
|
|
35
|
+
type: 'batch';
|
|
36
|
+
underlyingSource: PriceSourceInput;
|
|
37
|
+
config: BatchConfig;
|
|
38
|
+
} | {
|
|
39
|
+
type: 'custom';
|
|
40
|
+
instance: IPriceSource;
|
|
41
|
+
} | {
|
|
42
|
+
type: 'custom-with-underlying';
|
|
43
|
+
underlyingSource: PriceSourceInput;
|
|
44
|
+
build: (underlying: IPriceSource) => IPriceSource;
|
|
45
|
+
};
|
|
46
|
+
export type BuildPriceParams = {
|
|
47
|
+
source: PriceSourceInput;
|
|
48
|
+
};
|
|
49
|
+
export declare function buildPriceService(params: BuildPriceParams | undefined, fetchService: IFetchService): IPriceService;
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.buildPriceService = void 0;
|
|
4
|
+
const defi_llama_price_source_1 = require("../../services/prices/price-sources/defi-llama-price-source");
|
|
5
|
+
const price_service_1 = require("../../services/prices/price-service");
|
|
6
|
+
const cached_price_source_1 = require("../../services/prices/price-sources/cached-price-source");
|
|
7
|
+
const odos_price_source_1 = require("../../services/prices/price-sources/odos-price-source");
|
|
8
|
+
const coingecko_price_source_1 = require("../../services/prices/price-sources/coingecko-price-source");
|
|
9
|
+
const prioritized_price_source_1 = require("../../services/prices/price-sources/prioritized-price-source");
|
|
10
|
+
const fastest_price_source_1 = require("../../services/prices/price-sources/fastest-price-source");
|
|
11
|
+
const aggregator_price_source_1 = require("../../services/prices/price-sources/aggregator-price-source");
|
|
12
|
+
const codex_price_source_1 = require("../../services/prices/price-sources/codex-price-source");
|
|
13
|
+
const alchemy_price_source_1 = require("../../services/prices/price-sources/alchemy-price-source");
|
|
14
|
+
const batch_price_source_1 = require("../../services/prices/price-sources/batch-price-source");
|
|
15
|
+
function buildPriceService(params, fetchService) {
|
|
16
|
+
const source = buildSource(params?.source, { fetchService });
|
|
17
|
+
return new price_service_1.PriceService(source);
|
|
18
|
+
}
|
|
19
|
+
exports.buildPriceService = buildPriceService;
|
|
20
|
+
function buildSource(source, { fetchService }) {
|
|
21
|
+
const coingecko = new coingecko_price_source_1.CoingeckoPriceSource(fetchService);
|
|
22
|
+
const defiLlama = new defi_llama_price_source_1.DefiLlamaPriceSource(fetchService);
|
|
23
|
+
switch (source?.type) {
|
|
24
|
+
case undefined:
|
|
25
|
+
// Defi Llama is basically Coingecko with some token mappings. Defi Llama has a 5 min cache, so the priority will be Coingecko => DefiLlama
|
|
26
|
+
return new prioritized_price_source_1.PrioritizedPriceSource([coingecko, defiLlama]);
|
|
27
|
+
case 'codex':
|
|
28
|
+
return new codex_price_source_1.CodexPriceSource(fetchService, source.apiKey);
|
|
29
|
+
case 'alchemy':
|
|
30
|
+
return new alchemy_price_source_1.AlchemyPriceSource({ key: source.apiKey, onChains: source.onChains, fetch: fetchService });
|
|
31
|
+
case 'defi-llama':
|
|
32
|
+
return defiLlama;
|
|
33
|
+
case 'odos':
|
|
34
|
+
return new odos_price_source_1.OdosPriceSource(fetchService);
|
|
35
|
+
case 'coingecko':
|
|
36
|
+
return coingecko;
|
|
37
|
+
case 'cached': {
|
|
38
|
+
const underlying = buildSource(source.underlyingSource, { fetchService });
|
|
39
|
+
return new cached_price_source_1.CachedPriceSource(underlying, source.config);
|
|
40
|
+
}
|
|
41
|
+
case 'batch': {
|
|
42
|
+
const underlying = buildSource(source.underlyingSource, { fetchService });
|
|
43
|
+
return new batch_price_source_1.BatchPriceSource(underlying, source.config);
|
|
44
|
+
}
|
|
45
|
+
case 'prioritized':
|
|
46
|
+
return new prioritized_price_source_1.PrioritizedPriceSource(source.sources.map((source) => buildSource(source, { fetchService })));
|
|
47
|
+
case 'fastest':
|
|
48
|
+
return new fastest_price_source_1.FastestPriceSource(source.sources.map((source) => buildSource(source, { fetchService })));
|
|
49
|
+
case 'aggregate':
|
|
50
|
+
return new aggregator_price_source_1.AggregatorPriceSource(source.sources.map((source) => buildSource(source, { fetchService })), source.by);
|
|
51
|
+
case 'custom':
|
|
52
|
+
return source.instance;
|
|
53
|
+
case 'custom-with-underlying': {
|
|
54
|
+
const underlying = buildSource(source.underlyingSource, { fetchService });
|
|
55
|
+
return source.build(underlying);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=price-builder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"price-builder.js","sourceRoot":"","sources":["../../../src/sdk/builders/price-builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
import { ChainId } from '../../types';
|
|
2
|
+
import { IProviderSource } from '../../services/providers/types';
|
|
3
|
+
import { HttpProviderConfig } from '../../services/providers/provider-sources/base/base-http-provider';
|
|
4
|
+
import { PublicRPCsProviderSourceConfig } from '../../services/providers/provider-sources/public-rpcs-provider';
|
|
5
|
+
import { FallbackProviderSourceConfig } from '../../services/providers/provider-sources/fallback-provider';
|
|
6
|
+
import { LoadBalanceProviderSourceConfig } from '../../services/providers/provider-sources/load-balance-provider';
|
|
7
|
+
import { ProviderService, ProviderConfig } from '../../services/providers/provider-service';
|
|
8
|
+
import { AlchemySupportedChains } from '../../services/providers/provider-sources/alchemy-provider';
|
|
9
|
+
export type { ProviderConfig } from '../../services/providers/provider-service';
|
|
10
|
+
export type BuildProviderParams = {
|
|
11
|
+
source: ProviderSourceInput;
|
|
12
|
+
config?: ProviderConfig;
|
|
13
|
+
};
|
|
14
|
+
export type ProviderSourceInput = {
|
|
15
|
+
type: 'custom';
|
|
16
|
+
instance: IProviderSource;
|
|
17
|
+
} | {
|
|
18
|
+
type: 'custom-with-underlying';
|
|
19
|
+
underlyingSource: ProviderSourceInput;
|
|
20
|
+
build: (underlying: IProviderSource) => IProviderSource;
|
|
21
|
+
} | {
|
|
22
|
+
type: 'public-rpcs';
|
|
23
|
+
rpcsPerChain?: Record<ChainId, string[]>;
|
|
24
|
+
config?: PublicRPCsProviderSourceConfig;
|
|
25
|
+
} | {
|
|
26
|
+
type: 'infura';
|
|
27
|
+
key: string;
|
|
28
|
+
onChains?: ChainId[];
|
|
29
|
+
config?: HttpProviderConfig;
|
|
30
|
+
} | {
|
|
31
|
+
type: 'envio';
|
|
32
|
+
key?: string;
|
|
33
|
+
onChains?: ChainId[];
|
|
34
|
+
config?: HttpProviderConfig;
|
|
35
|
+
} | {
|
|
36
|
+
type: 'node-real';
|
|
37
|
+
key: string;
|
|
38
|
+
onChains?: ChainId[];
|
|
39
|
+
config?: HttpProviderConfig;
|
|
40
|
+
} | {
|
|
41
|
+
type: 'dRPC';
|
|
42
|
+
key: string;
|
|
43
|
+
onChains?: ChainId[];
|
|
44
|
+
config?: HttpProviderConfig;
|
|
45
|
+
} | {
|
|
46
|
+
type: 'alchemy';
|
|
47
|
+
key: string;
|
|
48
|
+
onChains?: AlchemySupportedChains;
|
|
49
|
+
config?: HttpProviderConfig;
|
|
50
|
+
} | {
|
|
51
|
+
type: 'third-web';
|
|
52
|
+
onChains?: ChainId[];
|
|
53
|
+
config?: HttpProviderConfig;
|
|
54
|
+
} | {
|
|
55
|
+
type: 'blast';
|
|
56
|
+
key?: string;
|
|
57
|
+
onChains?: ChainId[];
|
|
58
|
+
config?: HttpProviderConfig;
|
|
59
|
+
} | ({
|
|
60
|
+
type: 'moralis';
|
|
61
|
+
site?: 'site1' | 'site2';
|
|
62
|
+
config?: HttpProviderConfig;
|
|
63
|
+
} & ({
|
|
64
|
+
onChains?: ChainId[];
|
|
65
|
+
} | {
|
|
66
|
+
keys: Record<ChainId, string>;
|
|
67
|
+
})) | {
|
|
68
|
+
type: '1rpc';
|
|
69
|
+
key?: string;
|
|
70
|
+
onChains?: ChainId[];
|
|
71
|
+
config?: HttpProviderConfig;
|
|
72
|
+
} | {
|
|
73
|
+
type: 'get-block';
|
|
74
|
+
accessTokens: Record<ChainId, string>;
|
|
75
|
+
config?: HttpProviderConfig;
|
|
76
|
+
} | {
|
|
77
|
+
type: 'llama-nodes';
|
|
78
|
+
key?: string;
|
|
79
|
+
onChains?: ChainId[];
|
|
80
|
+
config?: HttpProviderConfig;
|
|
81
|
+
} | {
|
|
82
|
+
type: 'on-finality';
|
|
83
|
+
key?: string;
|
|
84
|
+
onChains?: ChainId[];
|
|
85
|
+
config?: HttpProviderConfig;
|
|
86
|
+
} | {
|
|
87
|
+
type: 'ankr';
|
|
88
|
+
key?: string;
|
|
89
|
+
onChains?: ChainId[];
|
|
90
|
+
config?: HttpProviderConfig;
|
|
91
|
+
} | {
|
|
92
|
+
type: 'tenderly';
|
|
93
|
+
key?: string;
|
|
94
|
+
onChains?: ChainId[];
|
|
95
|
+
config?: HttpProviderConfig;
|
|
96
|
+
} | {
|
|
97
|
+
type: 'http';
|
|
98
|
+
url: string;
|
|
99
|
+
supportedChains: ChainId[];
|
|
100
|
+
config?: HttpProviderConfig;
|
|
101
|
+
} | {
|
|
102
|
+
type: 'web-socket';
|
|
103
|
+
url: string;
|
|
104
|
+
supportedChains: ChainId[];
|
|
105
|
+
} | {
|
|
106
|
+
type: 'fallback';
|
|
107
|
+
sources: ProviderSourceInput[];
|
|
108
|
+
config?: FallbackProviderSourceConfig;
|
|
109
|
+
} | {
|
|
110
|
+
type: 'load-balance';
|
|
111
|
+
sources: ProviderSourceInput[];
|
|
112
|
+
config?: LoadBalanceProviderSourceConfig;
|
|
113
|
+
} | {
|
|
114
|
+
type: 'by-method';
|
|
115
|
+
default: ProviderSourceInput;
|
|
116
|
+
byMethod: Record<string, ProviderSourceInput>;
|
|
117
|
+
} | {
|
|
118
|
+
type: 'prioritized';
|
|
119
|
+
sources: ProviderSourceInput[];
|
|
120
|
+
};
|
|
121
|
+
export declare function buildProviderService(params?: BuildProviderParams): ProviderService;
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.buildProviderService = void 0;
|
|
4
|
+
const public_rpcs_provider_1 = require("../../services/providers/provider-sources/public-rpcs-provider");
|
|
5
|
+
const fallback_provider_1 = require("../../services/providers/provider-sources/fallback-provider");
|
|
6
|
+
const load_balance_provider_1 = require("../../services/providers/provider-sources/load-balance-provider");
|
|
7
|
+
const prioritized_provider_source_combinator_1 = require("../../services/providers/provider-sources/prioritized-provider-source-combinator");
|
|
8
|
+
const infura_provider_1 = require("../../services/providers/provider-sources/infura-provider");
|
|
9
|
+
const http_provider_1 = require("../../services/providers/provider-sources/http-provider");
|
|
10
|
+
const llama_nodes_provider_1 = require("../../services/providers/provider-sources/llama-nodes-provider");
|
|
11
|
+
const web_sockets_provider_1 = require("../../services/providers/provider-sources/web-sockets-provider");
|
|
12
|
+
const provider_service_1 = require("../../services/providers/provider-service");
|
|
13
|
+
const node_real_provider_1 = require("../../services/providers/provider-sources/node-real-provider");
|
|
14
|
+
const get_block_provider_1 = require("../../services/providers/provider-sources/get-block-provider");
|
|
15
|
+
const ankr_provider_1 = require("../../services/providers/provider-sources/ankr-provider");
|
|
16
|
+
const tenderly_provider_1 = require("../../services/providers/provider-sources/tenderly-provider");
|
|
17
|
+
const drpc_provider_1 = require("../../services/providers/provider-sources/drpc-provider");
|
|
18
|
+
const blast_provider_1 = require("../../services/providers/provider-sources/blast-provider");
|
|
19
|
+
const on_finality_provider_1 = require("../../services/providers/provider-sources/on-finality-provider");
|
|
20
|
+
const one_rpc_provider_1 = require("../../services/providers/provider-sources/one-rpc-provider");
|
|
21
|
+
const alchemy_provider_1 = require("../../services/providers/provider-sources/alchemy-provider");
|
|
22
|
+
const moralis_provider_1 = require("../../services/providers/provider-sources/moralis-provider");
|
|
23
|
+
const third_web_provider_1 = require("../../services/providers/provider-sources/third-web-provider");
|
|
24
|
+
const envio_provider_1 = require("../../services/providers/provider-sources/envio-provider");
|
|
25
|
+
const by_method_provider_1 = require("../../services/providers/provider-sources/by-method-provider");
|
|
26
|
+
function buildProviderService(params) {
|
|
27
|
+
const source = buildSource(params?.source);
|
|
28
|
+
return new provider_service_1.ProviderService({ source, config: params?.config });
|
|
29
|
+
}
|
|
30
|
+
exports.buildProviderService = buildProviderService;
|
|
31
|
+
function buildSource(source) {
|
|
32
|
+
switch (source?.type) {
|
|
33
|
+
case undefined:
|
|
34
|
+
return new public_rpcs_provider_1.PublicRPCsProviderSource();
|
|
35
|
+
case 'custom':
|
|
36
|
+
return source.instance;
|
|
37
|
+
case 'custom-with-underlying': {
|
|
38
|
+
const underlying = buildSource(source.underlyingSource);
|
|
39
|
+
return source.build(underlying);
|
|
40
|
+
}
|
|
41
|
+
case 'public-rpcs':
|
|
42
|
+
return new public_rpcs_provider_1.PublicRPCsProviderSource({ publicRPCs: source.rpcsPerChain, config: source.config });
|
|
43
|
+
case 'by-method': {
|
|
44
|
+
const defaultSource = buildSource(source.default);
|
|
45
|
+
const byMethod = Object.fromEntries(Object.entries(source.byMethod).map(([method, source]) => [method, buildSource(source)]));
|
|
46
|
+
return new by_method_provider_1.ByMethodProviderSource(defaultSource, byMethod);
|
|
47
|
+
}
|
|
48
|
+
case 'moralis':
|
|
49
|
+
return new moralis_provider_1.MoralisProviderSource(source);
|
|
50
|
+
case 'dRPC':
|
|
51
|
+
return new drpc_provider_1.dRPCProviderSource(source);
|
|
52
|
+
case 'third-web':
|
|
53
|
+
return new third_web_provider_1.ThirdWebProviderSource(source);
|
|
54
|
+
case 'envio':
|
|
55
|
+
return new envio_provider_1.EnvioProviderSource(source);
|
|
56
|
+
case 'alchemy':
|
|
57
|
+
return new alchemy_provider_1.AlchemyProviderSource(source);
|
|
58
|
+
case 'blast':
|
|
59
|
+
return new blast_provider_1.BlastProviderSource(source);
|
|
60
|
+
case '1rpc':
|
|
61
|
+
return new one_rpc_provider_1.OneRPCProviderSource(source);
|
|
62
|
+
case 'llama-nodes':
|
|
63
|
+
return new llama_nodes_provider_1.LlamaNodesProviderSource(source);
|
|
64
|
+
case 'ankr':
|
|
65
|
+
return new ankr_provider_1.AnkrProviderSource(source);
|
|
66
|
+
case 'on-finality':
|
|
67
|
+
return new on_finality_provider_1.OnFinalityProviderSource(source);
|
|
68
|
+
case 'tenderly':
|
|
69
|
+
return new tenderly_provider_1.TenderlyProviderSource(source);
|
|
70
|
+
case 'infura':
|
|
71
|
+
return new infura_provider_1.InfuraProviderSource(source);
|
|
72
|
+
case 'node-real':
|
|
73
|
+
return new node_real_provider_1.NodeRealProviderSource(source);
|
|
74
|
+
case 'get-block':
|
|
75
|
+
return new get_block_provider_1.GetBlockProviderSource(source);
|
|
76
|
+
case 'http':
|
|
77
|
+
return new http_provider_1.HttpProviderSource({ url: source.url, chains: source.supportedChains, config: source.config });
|
|
78
|
+
case 'web-socket':
|
|
79
|
+
return new web_sockets_provider_1.WebSocketProviderSource(source.url, source.supportedChains);
|
|
80
|
+
case 'fallback':
|
|
81
|
+
return new fallback_provider_1.FallbackProviderSource(source.sources.map(buildSource), source.config);
|
|
82
|
+
case 'load-balance':
|
|
83
|
+
return new load_balance_provider_1.LoadBalanceProviderSource(source.sources.map(buildSource), source.config);
|
|
84
|
+
case 'prioritized':
|
|
85
|
+
return new prioritized_provider_source_combinator_1.PrioritizedProviderSourceCombinator(source.sources.map(buildSource));
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
//# sourceMappingURL=provider-builder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provider-builder.js","sourceRoot":"","sources":["../../../src/sdk/builders/provider-builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { IFetchService } from '../../services/fetch/types';
|
|
2
|
+
import { IGasService, DefaultGasValues } from '../../services/gas/types';
|
|
3
|
+
import { SourceId, SourceMetadata } from '../../services/quotes/types';
|
|
4
|
+
import { BaseTokenMetadata, IMetadataService } from '../../services/metadata/types';
|
|
5
|
+
import { QuoteService } from '../../services/quotes/quote-service';
|
|
6
|
+
import { SourceConfig } from '../../services/quotes/source-registry';
|
|
7
|
+
import { IQuoteSourceList } from '../../services/quotes/source-lists/types';
|
|
8
|
+
import { ArrayOneOrMore } from '../../utility-types';
|
|
9
|
+
import { IProviderService } from '../../services/providers';
|
|
10
|
+
import { IPriceService } from '../../services/prices';
|
|
11
|
+
import { BatchAPISourceListBuildTxRequest, BatchAPISourceListQuoteRequest, URIGenerator } from '../../services/quotes/source-lists/batch-api-source-list';
|
|
12
|
+
export type QuoteSourceListInput = {
|
|
13
|
+
type: 'custom';
|
|
14
|
+
instance: IQuoteSourceList;
|
|
15
|
+
} | {
|
|
16
|
+
type: 'custom-with-underlying';
|
|
17
|
+
underlyingSource: QuoteSourceListInput;
|
|
18
|
+
build: (underlying: IQuoteSourceList) => IQuoteSourceList;
|
|
19
|
+
} | {
|
|
20
|
+
type: 'local';
|
|
21
|
+
} | {
|
|
22
|
+
type: 'batch-api';
|
|
23
|
+
getQuotesURI: URIGenerator<BatchAPISourceListQuoteRequest>;
|
|
24
|
+
buildTxURI: URIGenerator<BatchAPISourceListBuildTxRequest>;
|
|
25
|
+
sources: Record<SourceId, SourceMetadata>;
|
|
26
|
+
} | {
|
|
27
|
+
type: 'overridable-source-list';
|
|
28
|
+
lists: {
|
|
29
|
+
default: QuoteSourceListInput;
|
|
30
|
+
getQuotes?: ArrayOneOrMore<{
|
|
31
|
+
list: QuoteSourceListInput;
|
|
32
|
+
sourceIds: SourceId[];
|
|
33
|
+
}>;
|
|
34
|
+
buildTxs?: ArrayOneOrMore<{
|
|
35
|
+
list: QuoteSourceListInput;
|
|
36
|
+
sourceIds: SourceId[];
|
|
37
|
+
}>;
|
|
38
|
+
};
|
|
39
|
+
};
|
|
40
|
+
export type BuildQuoteParams = {
|
|
41
|
+
sourceList: QuoteSourceListInput;
|
|
42
|
+
defaultConfig?: SourceConfig;
|
|
43
|
+
};
|
|
44
|
+
export declare function buildQuoteService(params: BuildQuoteParams | undefined, providerService: IProviderService, fetchService: IFetchService, gasService: IGasService<DefaultGasValues>, metadataService: IMetadataService<BaseTokenMetadata>, priceService: IPriceService): QuoteService;
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.buildQuoteService = void 0;
|
|
4
|
+
const local_source_list_1 = require("../../services/quotes/source-lists/local-source-list");
|
|
5
|
+
const quote_service_1 = require("../../services/quotes/quote-service");
|
|
6
|
+
const overridable_source_list_1 = require("../../services/quotes/source-lists/overridable-source-list");
|
|
7
|
+
const batch_api_source_list_1 = require("../../services/quotes/source-lists/batch-api-source-list");
|
|
8
|
+
function buildQuoteService(params, providerService, fetchService, gasService, metadataService, priceService) {
|
|
9
|
+
const sourceList = buildList(params?.sourceList, { providerService, fetchService });
|
|
10
|
+
return new quote_service_1.QuoteService({
|
|
11
|
+
priceService,
|
|
12
|
+
gasService,
|
|
13
|
+
metadataService,
|
|
14
|
+
sourceList,
|
|
15
|
+
defaultConfig: {
|
|
16
|
+
global: addReferrerIfNotSet(params?.defaultConfig?.global),
|
|
17
|
+
custom: params?.defaultConfig?.custom,
|
|
18
|
+
},
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
exports.buildQuoteService = buildQuoteService;
|
|
22
|
+
function buildList(list, { providerService, fetchService, }) {
|
|
23
|
+
switch (list?.type) {
|
|
24
|
+
case 'custom':
|
|
25
|
+
return list.instance;
|
|
26
|
+
case 'custom-with-underlying': {
|
|
27
|
+
const underlying = buildList(list.underlyingSource, { fetchService, providerService });
|
|
28
|
+
return list.build(underlying);
|
|
29
|
+
}
|
|
30
|
+
case 'local':
|
|
31
|
+
case undefined:
|
|
32
|
+
return new local_source_list_1.LocalSourceList({
|
|
33
|
+
providerService,
|
|
34
|
+
fetchService,
|
|
35
|
+
});
|
|
36
|
+
case 'batch-api':
|
|
37
|
+
return new batch_api_source_list_1.BatchAPISourceList({ fetchService, ...list });
|
|
38
|
+
case 'overridable-source-list':
|
|
39
|
+
const defaultList = buildList(list.lists.default, { providerService, fetchService });
|
|
40
|
+
const getQuotesOverrides = list.lists.getQuotes?.map(({ list, sourceIds }) => ({
|
|
41
|
+
list: buildList(list, { providerService, fetchService }),
|
|
42
|
+
sourceIds,
|
|
43
|
+
}));
|
|
44
|
+
const buildTxsOverrides = list.lists.buildTxs?.map(({ list, sourceIds }) => ({
|
|
45
|
+
list: buildList(list, { providerService, fetchService }),
|
|
46
|
+
sourceIds,
|
|
47
|
+
}));
|
|
48
|
+
return new overridable_source_list_1.OverridableSourceList({ default: defaultList, overrides: { getQuotes: getQuotesOverrides, buildTxs: buildTxsOverrides } });
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
// If no referrer address was set, then we will use Balmy's address
|
|
52
|
+
function addReferrerIfNotSet(config) {
|
|
53
|
+
return { referrer: { address: '0x1a00e1E311009E56e3b0B9Ed6F86f5Ce128a1C01', name: 'balmy' }, ...config };
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=quote-builder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"quote-builder.js","sourceRoot":"","sources":["../../../src/sdk/builders/quote-builder.ts"],"names":[],"mappings":";;;AAIA,uFAAkF;AAClF,kEAA8D;AAG9D,mGAA8F;AAI9F,+FAK6D;AAuB7D,SAAgB,iBAAiB,CAC/B,MAAoC,EACpC,eAAiC,EACjC,YAA2B,EAC3B,UAAyC,EACzC,eAAoD,EACpD,YAA2B;IAE3B,MAAM,UAAU,GAAG,SAAS,CAAC,MAAM,EAAE,UAAU,EAAE,EAAE,eAAe,EAAE,YAAY,EAAE,CAAC,CAAC;IACpF,OAAO,IAAI,4BAAY,CAAC;QACtB,YAAY;QACZ,UAAU;QACV,eAAe;QACf,UAAU;QACV,aAAa,EAAE;YACb,MAAM,EAAE,mBAAmB,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,CAAC;YAC1D,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM;SACtC;KACF,CAAC,CAAC;AACL,CAAC;AAnBD,8CAmBC;AAED,SAAS,SAAS,CAChB,IAAsC,EACtC,EACE,eAAe,EACf,YAAY,GAIb;IAED,QAAQ,IAAI,EAAE,IAAI,EAAE,CAAC;QACnB,KAAK,QAAQ;YACX,OAAO,IAAI,CAAC,QAAQ,CAAC;QACvB,KAAK,wBAAwB,CAAC,CAAC,CAAC;YAC9B,MAAM,UAAU,GAAG,SAAS,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,YAAY,EAAE,eAAe,EAAE,CAAC,CAAC;YACvF,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAChC,CAAC;QACD,KAAK,OAAO,CAAC;QACb,KAAK,SAAS;YACZ,OAAO,IAAI,mCAAe,CAAC;gBACzB,eAAe;gBACf,YAAY;aACb,CAAC,CAAC;QACL,KAAK,WAAW;YACd,OAAO,IAAI,0CAAkB,CAAC,EAAE,YAAY,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC;QAC3D,KAAK,yBAAyB;YAC5B,MAAM,WAAW,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,eAAe,EAAE,YAAY,EAAE,CAAC,CAAC;YACrF,MAAM,kBAAkB,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC;gBAC7E,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,EAAE,eAAe,EAAE,YAAY,EAAE,CAAC;gBACxD,SAAS;aACV,CAAC,CAAC,CAAC;YACJ,MAAM,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC;gBAC3E,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,EAAE,eAAe,EAAE,YAAY,EAAE,CAAC;gBACxD,SAAS;aACV,CAAC,CAAC,CAAC;YACJ,OAAO,IAAI,+CAAqB,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,kBAAkB,EAAE,QAAQ,EAAE,iBAAiB,EAAE,EAAE,CAAC,CAAC;IAC1I,CAAC;AACH,CAAC;AAED,mEAAmE;AACnE,SAAS,mBAAmB,CAAC,MAAgC;IAC3D,OAAO,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,4CAA4C,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,GAAG,MAAM,EAAE,CAAC;AAC3G,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.buildSDK = void 0;
|
|
18
|
+
var sdk_builder_1 = require("./sdk-builder");
|
|
19
|
+
Object.defineProperty(exports, "buildSDK", { enumerable: true, get: function () { return sdk_builder_1.buildSDK; } });
|
|
20
|
+
__exportStar(require("./builders"), exports);
|
|
21
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/sdk/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,6CAAsD;AAA7C,uGAAA,QAAQ,OAAA;AAEjB,6CAA2B"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { BuildLogsParams } from './builders/logs-builder';
|
|
2
|
+
import { BuildFetchParams } from './builders/fetch-builder';
|
|
3
|
+
import { BuildProviderParams } from './builders/provider-builder';
|
|
4
|
+
import { BuildGasParams, CalculateGasValuesFromSourceParams } from './builders/gas-builder';
|
|
5
|
+
import { BuildMetadataParams, CalculateMetadataFromSourceParams } from './builders/metadata-builder';
|
|
6
|
+
import { BuildQuoteParams } from './builders/quote-builder';
|
|
7
|
+
import { BuildBalancesParams } from './builders/balance-builder';
|
|
8
|
+
import { BuildAllowanceParams } from './builders/allowance-builder';
|
|
9
|
+
import { ISDK } from './types';
|
|
10
|
+
import { BuildPriceParams } from './builders/price-builder';
|
|
11
|
+
import { BuildBlocksParams } from './builders/blocks-builder';
|
|
12
|
+
export declare function buildSDK<Params extends BuildParams = {}>(params?: Params): ISDK<CalculateMetadataFromSourceParams<Params['metadata']>, CalculateGasValuesFromSourceParams<Params['gas']>>;
|
|
13
|
+
export type BuildParams = {
|
|
14
|
+
fetch?: BuildFetchParams;
|
|
15
|
+
provider?: BuildProviderParams;
|
|
16
|
+
balances?: BuildBalancesParams;
|
|
17
|
+
allowances?: BuildAllowanceParams;
|
|
18
|
+
gas?: BuildGasParams;
|
|
19
|
+
metadata?: BuildMetadataParams;
|
|
20
|
+
price?: BuildPriceParams;
|
|
21
|
+
quotes?: BuildQuoteParams;
|
|
22
|
+
logs?: BuildLogsParams;
|
|
23
|
+
blocks?: BuildBlocksParams;
|
|
24
|
+
};
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.buildSDK = void 0;
|
|
4
|
+
const logs_builder_1 = require("./builders/logs-builder");
|
|
5
|
+
const fetch_builder_1 = require("./builders/fetch-builder");
|
|
6
|
+
const provider_builder_1 = require("./builders/provider-builder");
|
|
7
|
+
const gas_builder_1 = require("./builders/gas-builder");
|
|
8
|
+
const metadata_builder_1 = require("./builders/metadata-builder");
|
|
9
|
+
const quote_builder_1 = require("./builders/quote-builder");
|
|
10
|
+
const balance_builder_1 = require("./builders/balance-builder");
|
|
11
|
+
const allowance_builder_1 = require("./builders/allowance-builder");
|
|
12
|
+
const price_builder_1 = require("./builders/price-builder");
|
|
13
|
+
const blocks_builder_1 = require("./builders/blocks-builder");
|
|
14
|
+
function buildSDK(params) {
|
|
15
|
+
const logsService = (0, logs_builder_1.buildLogsService)(params?.logs);
|
|
16
|
+
const fetchService = (0, fetch_builder_1.buildFetchService)(params?.fetch);
|
|
17
|
+
const providerService = (0, provider_builder_1.buildProviderService)(params?.provider);
|
|
18
|
+
const blocksService = (0, blocks_builder_1.buildBlocksService)(params?.blocks, fetchService, providerService);
|
|
19
|
+
const balanceService = (0, balance_builder_1.buildBalanceService)(params?.balances, fetchService, providerService, logsService);
|
|
20
|
+
const allowanceService = (0, allowance_builder_1.buildAllowanceService)(params?.allowances, fetchService, providerService);
|
|
21
|
+
const gasService = (0, gas_builder_1.buildGasService)(params?.gas, logsService, fetchService, providerService);
|
|
22
|
+
const metadataService = (0, metadata_builder_1.buildMetadataService)(params?.metadata, fetchService, providerService);
|
|
23
|
+
const priceService = (0, price_builder_1.buildPriceService)(params?.price, fetchService);
|
|
24
|
+
const quoteService = (0, quote_builder_1.buildQuoteService)(params?.quotes, providerService, fetchService, gasService, metadataService, priceService);
|
|
25
|
+
return {
|
|
26
|
+
providerService,
|
|
27
|
+
fetchService,
|
|
28
|
+
allowanceService,
|
|
29
|
+
balanceService,
|
|
30
|
+
gasService,
|
|
31
|
+
metadataService,
|
|
32
|
+
priceService,
|
|
33
|
+
quoteService,
|
|
34
|
+
logsService,
|
|
35
|
+
blocksService,
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
exports.buildSDK = buildSDK;
|
|
39
|
+
//# sourceMappingURL=sdk-builder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sdk-builder.js","sourceRoot":"","sources":["../../src/sdk/sdk-builder.ts"],"names":[],"mappings":";;;AAAA,0DAA4E;AAC5E,4DAA+E;AAC/E,kEAAwF;AACxF,wDAA6G;AAC7G,kEAA2H;AAC3H,4DAA+E;AAC/E,gEAAsF;AACtF,oEAA2F;AAE3F,4DAA+E;AAC/E,8DAAkF;AAElF,SAAgB,QAAQ,CACtB,MAAe;IAEf,MAAM,WAAW,GAAG,IAAA,+BAAgB,EAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACnD,MAAM,YAAY,GAAG,IAAA,iCAAiB,EAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACtD,MAAM,eAAe,GAAG,IAAA,uCAAoB,EAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC/D,MAAM,aAAa,GAAG,IAAA,mCAAkB,EAAC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,eAAe,CAAC,CAAC;IACxF,MAAM,cAAc,GAAG,IAAA,qCAAmB,EAAC,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,eAAe,EAAE,WAAW,CAAC,CAAC;IACzG,MAAM,gBAAgB,GAAG,IAAA,yCAAqB,EAAC,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,eAAe,CAAC,CAAC;IAClG,MAAM,UAAU,GAAG,IAAA,6BAAe,EAAgB,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,YAAY,EAAE,eAAe,CAAC,CAAC;IAC3G,MAAM,eAAe,GAAG,IAAA,uCAAoB,EAAqB,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,eAAe,CAAC,CAAC;IAClH,MAAM,YAAY,GAAG,IAAA,iCAAiB,EAAC,MAAM,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;IACpE,MAAM,YAAY,GAAG,IAAA,iCAAiB,EAAC,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,YAAY,EAAE,UAAiB,EAAE,eAAsB,EAAE,YAAY,CAAC,CAAC;IAE/I,OAAO;QACL,eAAe;QACf,YAAY;QACZ,gBAAgB;QAChB,cAAc;QACd,UAAU;QACV,eAAe;QACf,YAAY;QACZ,YAAY;QACZ,WAAW;QACX,aAAa;KACd,CAAC;AACJ,CAAC;AA1BD,4BA0BC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { IAllowanceService } from '../services/allowances';
|
|
2
|
+
import { IBalanceService } from '../services/balances/types';
|
|
3
|
+
import { IFetchService } from '../services/fetch/types';
|
|
4
|
+
import { IGasService, SupportedGasValues } from '../services/gas/types';
|
|
5
|
+
import { IPriceService } from '../services/prices';
|
|
6
|
+
import { IProviderService } from '../services/providers';
|
|
7
|
+
import { IQuoteService } from '../services/quotes/types';
|
|
8
|
+
import { IMetadataService } from '../services/metadata/types';
|
|
9
|
+
import { CalculateMetadataFromSourceParams } from './builders/metadata-builder';
|
|
10
|
+
import { CalculateGasValuesFromSourceParams } from './builders/gas-builder';
|
|
11
|
+
import { ILogsService } from '../services/logs';
|
|
12
|
+
import { IBlocksService } from '../services/blocks';
|
|
13
|
+
export type ISDK<TokenMetadata extends object = CalculateMetadataFromSourceParams<undefined>, GasValues extends SupportedGasValues = CalculateGasValuesFromSourceParams<undefined>> = {
|
|
14
|
+
providerService: IProviderService;
|
|
15
|
+
fetchService: IFetchService;
|
|
16
|
+
gasService: IGasService<GasValues>;
|
|
17
|
+
allowanceService: IAllowanceService;
|
|
18
|
+
balanceService: IBalanceService;
|
|
19
|
+
quoteService: IQuoteService;
|
|
20
|
+
priceService: IPriceService;
|
|
21
|
+
logsService: ILogsService;
|
|
22
|
+
metadataService: IMetadataService<TokenMetadata>;
|
|
23
|
+
blocksService: IBlocksService;
|
|
24
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/sdk/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { ChainId, TimeString, TokenAddress } from '../../types';
|
|
2
|
+
import { AllowanceInput, IAllowanceService, IAllowanceSource, OwnerAddress, SpenderAddress } from './types';
|
|
3
|
+
export declare class AllowanceService implements IAllowanceService {
|
|
4
|
+
private readonly source;
|
|
5
|
+
constructor(source: IAllowanceSource);
|
|
6
|
+
supportedChains(): ChainId[];
|
|
7
|
+
getAllowanceInChain({ chainId, token, owner, spender, config, }: {
|
|
8
|
+
chainId: ChainId;
|
|
9
|
+
token: TokenAddress;
|
|
10
|
+
owner: OwnerAddress;
|
|
11
|
+
spender: SpenderAddress;
|
|
12
|
+
config?: {
|
|
13
|
+
timeout?: TimeString;
|
|
14
|
+
};
|
|
15
|
+
}): Promise<bigint>;
|
|
16
|
+
getAllowancesInChain({ chainId, allowances, config, }: {
|
|
17
|
+
chainId: ChainId;
|
|
18
|
+
allowances: Omit<AllowanceInput, 'chainId'>[];
|
|
19
|
+
config?: {
|
|
20
|
+
timeout?: TimeString;
|
|
21
|
+
};
|
|
22
|
+
}): Promise<Record<string, Record<string, Record<string, bigint>>>>;
|
|
23
|
+
getAllowances({ allowances, config }: {
|
|
24
|
+
allowances: AllowanceInput[];
|
|
25
|
+
config?: {
|
|
26
|
+
timeout?: TimeString;
|
|
27
|
+
};
|
|
28
|
+
}): Promise<Record<ChainId, Record<string, Record<string, Record<string, bigint>>>>>;
|
|
29
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AllowanceService = void 0;
|
|
4
|
+
const timeouts_1 = require("../../shared/timeouts");
|
|
5
|
+
class AllowanceService {
|
|
6
|
+
constructor(source) {
|
|
7
|
+
this.source = source;
|
|
8
|
+
}
|
|
9
|
+
supportedChains() {
|
|
10
|
+
return this.source.supportedChains();
|
|
11
|
+
}
|
|
12
|
+
async getAllowanceInChain({ chainId, token, owner, spender, config, }) {
|
|
13
|
+
const result = await this.getAllowancesInChain({
|
|
14
|
+
chainId,
|
|
15
|
+
allowances: [{ token, owner, spender }],
|
|
16
|
+
config,
|
|
17
|
+
});
|
|
18
|
+
return result[token][owner][spender];
|
|
19
|
+
}
|
|
20
|
+
async getAllowancesInChain({ chainId, allowances, config, }) {
|
|
21
|
+
const result = await this.getAllowances({
|
|
22
|
+
allowances: allowances.map((allowance) => ({ chainId, ...allowance })),
|
|
23
|
+
config,
|
|
24
|
+
});
|
|
25
|
+
return result[chainId] ?? {};
|
|
26
|
+
}
|
|
27
|
+
async getAllowances({ allowances, config }) {
|
|
28
|
+
return (0, timeouts_1.timeoutPromise)(this.source.getAllowances({
|
|
29
|
+
allowances,
|
|
30
|
+
config,
|
|
31
|
+
}), config?.timeout);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
exports.AllowanceService = AllowanceService;
|
|
35
|
+
//# sourceMappingURL=allowance-service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"allowance-service.js","sourceRoot":"","sources":["../../../src/services/allowances/allowance-service.ts"],"names":[],"mappings":";;;AAEA,+CAAkD;AAElD,MAAa,gBAAgB;IAC3B,YAA6B,MAAwB;QAAxB,WAAM,GAAN,MAAM,CAAkB;IAAG,CAAC;IAEzD,eAAe;QACb,OAAO,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,EACxB,OAAO,EACP,KAAK,EACL,KAAK,EACL,OAAO,EACP,MAAM,GAOP;QACC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC;YAC7C,OAAO;YACP,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;YACvC,MAAM;SACP,CAAC,CAAC;QACH,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,EACzB,OAAO,EACP,UAAU,EACV,MAAM,GAKP;QACC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC;YACtC,UAAU,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,SAAS,EAAE,CAAC,CAAC;YACtE,MAAM;SACP,CAAC,CAAC;QACH,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,EAAE,UAAU,EAAE,MAAM,EAAuE;QAC7G,OAAO,IAAA,yBAAc,EACnB,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC;YACxB,UAAU;YACV,MAAM;SACP,CAAC,EACF,MAAM,EAAE,OAAO,CAChB,CAAC;IACJ,CAAC;CACF;AArDD,4CAqDC"}
|