@1stdex/first-sdk 1.0.0-rc.1
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 +11 -0
- package/dist/cjs/calls/approval/market.js +136 -0
- package/dist/cjs/calls/approval/market.js.map +1 -0
- package/dist/cjs/calls/approval/open-order.js +50 -0
- package/dist/cjs/calls/approval/open-order.js.map +1 -0
- package/dist/cjs/calls/approval/order.js +45 -0
- package/dist/cjs/calls/approval/order.js.map +1 -0
- package/dist/cjs/calls/approval/token.js +167 -0
- package/dist/cjs/calls/approval/token.js.map +1 -0
- package/dist/cjs/calls/index.js +31 -0
- package/dist/cjs/calls/index.js.map +1 -0
- package/dist/cjs/calls/market/cancel.js +65 -0
- package/dist/cjs/calls/market/cancel.js.map +1 -0
- package/dist/cjs/calls/market/claim.js +64 -0
- package/dist/cjs/calls/market/claim.js.map +1 -0
- package/dist/cjs/calls/market/limit.js +187 -0
- package/dist/cjs/calls/market/limit.js.map +1 -0
- package/dist/cjs/calls/market/make.js +164 -0
- package/dist/cjs/calls/market/make.js.map +1 -0
- package/dist/cjs/calls/market/market.js +171 -0
- package/dist/cjs/calls/market/market.js.map +1 -0
- package/dist/cjs/calls/market/open.js +50 -0
- package/dist/cjs/calls/market/open.js.map +1 -0
- package/dist/cjs/calls/vault/deposit-to-vault.js +24 -0
- package/dist/cjs/calls/vault/deposit-to-vault.js.map +1 -0
- package/dist/cjs/calls/vault/index.js +12 -0
- package/dist/cjs/calls/vault/index.js.map +1 -0
- package/dist/cjs/calls/vault/remove-vault.js +24 -0
- package/dist/cjs/calls/vault/remove-vault.js.map +1 -0
- package/dist/cjs/calls/vault/set-vault.js +24 -0
- package/dist/cjs/calls/vault/set-vault.js.map +1 -0
- package/dist/cjs/calls/vault/withdraw-from-vault.js +24 -0
- package/dist/cjs/calls/vault/withdraw-from-vault.js.map +1 -0
- package/dist/cjs/constants/abis/core/book-manager-abi.js +1211 -0
- package/dist/cjs/constants/abis/core/book-manager-abi.js.map +1 -0
- package/dist/cjs/constants/abis/core/book-viewer-abi.js +321 -0
- package/dist/cjs/constants/abis/core/book-viewer-abi.js.map +1 -0
- package/dist/cjs/constants/abis/core/controller-abi.js +613 -0
- package/dist/cjs/constants/abis/core/controller-abi.js.map +1 -0
- package/dist/cjs/constants/abis/core/params-abi.js +64 -0
- package/dist/cjs/constants/abis/core/params-abi.js.map +1 -0
- package/dist/cjs/constants/chain-configs/addresses.js +18 -0
- package/dist/cjs/constants/chain-configs/addresses.js.map +1 -0
- package/dist/cjs/constants/chain-configs/chain.js +23 -0
- package/dist/cjs/constants/chain-configs/chain.js.map +1 -0
- package/dist/cjs/constants/chain-configs/currency.js +24 -0
- package/dist/cjs/constants/chain-configs/currency.js.map +1 -0
- package/dist/cjs/constants/chain-configs/fee.js +14 -0
- package/dist/cjs/constants/chain-configs/fee.js.map +1 -0
- package/dist/cjs/constants/chain-configs/subgraph.js +27 -0
- package/dist/cjs/constants/chain-configs/subgraph.js.map +1 -0
- package/dist/cjs/constants/permit.js +14 -0
- package/dist/cjs/constants/permit.js.map +1 -0
- package/dist/cjs/constants/price.js +7 -0
- package/dist/cjs/constants/price.js.map +1 -0
- package/dist/cjs/constants/tick.js +6 -0
- package/dist/cjs/constants/tick.js.map +1 -0
- package/dist/cjs/entities/analytics/apis/index.js +209 -0
- package/dist/cjs/entities/analytics/apis/index.js.map +1 -0
- package/dist/cjs/entities/analytics/types.js +3 -0
- package/dist/cjs/entities/analytics/types.js.map +1 -0
- package/dist/cjs/entities/book/apis/index.js +87 -0
- package/dist/cjs/entities/book/apis/index.js.map +1 -0
- package/dist/cjs/entities/book/model.js +197 -0
- package/dist/cjs/entities/book/model.js.map +1 -0
- package/dist/cjs/entities/book/types.js +3 -0
- package/dist/cjs/entities/book/types.js.map +1 -0
- package/dist/cjs/entities/book/utils/book-id.js +23 -0
- package/dist/cjs/entities/book/utils/book-id.js.map +1 -0
- package/dist/cjs/entities/currency/apis/allowance.js +38 -0
- package/dist/cjs/entities/currency/apis/allowance.js.map +1 -0
- package/dist/cjs/entities/currency/apis/approval.js +39 -0
- package/dist/cjs/entities/currency/apis/approval.js.map +1 -0
- package/dist/cjs/entities/currency/apis/index.js +123 -0
- package/dist/cjs/entities/currency/apis/index.js.map +1 -0
- package/dist/cjs/entities/currency/apis/price.js +36 -0
- package/dist/cjs/entities/currency/apis/price.js.map +1 -0
- package/dist/cjs/entities/currency/apis/total-supply.js +62 -0
- package/dist/cjs/entities/currency/apis/total-supply.js.map +1 -0
- package/dist/cjs/entities/currency/types.js +3 -0
- package/dist/cjs/entities/currency/types.js.map +1 -0
- package/dist/cjs/entities/fee-policy/model.js +92 -0
- package/dist/cjs/entities/fee-policy/model.js.map +1 -0
- package/dist/cjs/entities/market/apis/chart-log.js +171 -0
- package/dist/cjs/entities/market/apis/chart-log.js.map +1 -0
- package/dist/cjs/entities/market/apis/index.js +35 -0
- package/dist/cjs/entities/market/apis/index.js.map +1 -0
- package/dist/cjs/entities/market/apis/price.js +65 -0
- package/dist/cjs/entities/market/apis/price.js.map +1 -0
- package/dist/cjs/entities/market/apis/snapshot.js +374 -0
- package/dist/cjs/entities/market/apis/snapshot.js.map +1 -0
- package/dist/cjs/entities/market/model.js +185 -0
- package/dist/cjs/entities/market/model.js.map +1 -0
- package/dist/cjs/entities/market/types.js +3 -0
- package/dist/cjs/entities/market/types.js.map +1 -0
- package/dist/cjs/entities/market/utils/market-id.js +30 -0
- package/dist/cjs/entities/market/utils/market-id.js.map +1 -0
- package/dist/cjs/entities/open-order/apis/index.js +195 -0
- package/dist/cjs/entities/open-order/apis/index.js.map +1 -0
- package/dist/cjs/entities/open-order/apis/operator.js +15 -0
- package/dist/cjs/entities/open-order/apis/operator.js.map +1 -0
- package/dist/cjs/entities/open-order/types.js +3 -0
- package/dist/cjs/entities/open-order/types.js.map +1 -0
- package/dist/cjs/entities/open-order/utils/order-id.js +18 -0
- package/dist/cjs/entities/open-order/utils/order-id.js.map +1 -0
- package/dist/cjs/entities/vault/types.js +3 -0
- package/dist/cjs/entities/vault/types.js.map +1 -0
- package/dist/cjs/index.js +27 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/package.json +1 -0
- package/dist/cjs/types/default-options.js +3 -0
- package/dist/cjs/types/default-options.js.map +1 -0
- package/dist/cjs/types/index.js +21 -0
- package/dist/cjs/types/index.js.map +1 -0
- package/dist/cjs/types/permit.js +3 -0
- package/dist/cjs/types/permit.js.map +1 -0
- package/dist/cjs/types/transaction.js +3 -0
- package/dist/cjs/types/transaction.js.map +1 -0
- package/dist/cjs/utils/bigint.js +16 -0
- package/dist/cjs/utils/bigint.js.map +1 -0
- package/dist/cjs/utils/build-transaction.js +27 -0
- package/dist/cjs/utils/build-transaction.js.map +1 -0
- package/dist/cjs/utils/conversion.js +17 -0
- package/dist/cjs/utils/conversion.js.map +1 -0
- package/dist/cjs/utils/index.js +18 -0
- package/dist/cjs/utils/index.js.map +1 -0
- package/dist/cjs/utils/math.js +58 -0
- package/dist/cjs/utils/math.js.map +1 -0
- package/dist/cjs/utils/prices.js +56 -0
- package/dist/cjs/utils/prices.js.map +1 -0
- package/dist/cjs/utils/tick.js +117 -0
- package/dist/cjs/utils/tick.js.map +1 -0
- package/dist/cjs/utils/time.js +14 -0
- package/dist/cjs/utils/time.js.map +1 -0
- package/dist/cjs/utils/unit-size.js +8 -0
- package/dist/cjs/utils/unit-size.js.map +1 -0
- package/dist/cjs/views/address.js +9 -0
- package/dist/cjs/views/address.js.map +1 -0
- package/dist/cjs/views/analytics.js +25 -0
- package/dist/cjs/views/analytics.js.map +1 -0
- package/dist/cjs/views/currency.js +22 -0
- package/dist/cjs/views/currency.js.map +1 -0
- package/dist/cjs/views/index.js +39 -0
- package/dist/cjs/views/index.js.map +1 -0
- package/dist/cjs/views/market/chart-log.js +13 -0
- package/dist/cjs/views/market/chart-log.js.map +1 -0
- package/dist/cjs/views/market/index.js +40 -0
- package/dist/cjs/views/market/index.js.map +1 -0
- package/dist/cjs/views/market/parse.js +22 -0
- package/dist/cjs/views/market/parse.js.map +1 -0
- package/dist/cjs/views/market/quote.js +97 -0
- package/dist/cjs/views/market/quote.js.map +1 -0
- package/dist/cjs/views/market/snapshot.js +28 -0
- package/dist/cjs/views/market/snapshot.js.map +1 -0
- package/dist/cjs/views/market/token.js +10 -0
- package/dist/cjs/views/market/token.js.map +1 -0
- package/dist/cjs/views/open-order.js +13 -0
- package/dist/cjs/views/open-order.js.map +1 -0
- package/dist/cjs/views/subgraph.js +24 -0
- package/dist/cjs/views/subgraph.js.map +1 -0
- package/dist/cjs/views/tick.js +80 -0
- package/dist/cjs/views/tick.js.map +1 -0
- package/dist/cjs/views/vault.js +24 -0
- package/dist/cjs/views/vault.js.map +1 -0
- package/dist/esm/calls/approval/market.js +186 -0
- package/dist/esm/calls/approval/market.js.map +1 -0
- package/dist/esm/calls/approval/open-order.js +71 -0
- package/dist/esm/calls/approval/open-order.js.map +1 -0
- package/dist/esm/calls/approval/order.js +70 -0
- package/dist/esm/calls/approval/order.js.map +1 -0
- package/dist/esm/calls/approval/token.js +212 -0
- package/dist/esm/calls/approval/token.js.map +1 -0
- package/dist/esm/calls/index.js +12 -0
- package/dist/esm/calls/index.js.map +1 -0
- package/dist/esm/calls/market/cancel.js +108 -0
- package/dist/esm/calls/market/cancel.js.map +1 -0
- package/dist/esm/calls/market/claim.js +107 -0
- package/dist/esm/calls/market/claim.js.map +1 -0
- package/dist/esm/calls/market/limit.js +229 -0
- package/dist/esm/calls/market/limit.js.map +1 -0
- package/dist/esm/calls/market/make.js +160 -0
- package/dist/esm/calls/market/make.js.map +1 -0
- package/dist/esm/calls/market/market.js +202 -0
- package/dist/esm/calls/market/market.js.map +1 -0
- package/dist/esm/calls/market/open.js +65 -0
- package/dist/esm/calls/market/open.js.map +1 -0
- package/dist/esm/calls/vault/deposit-to-vault.js +39 -0
- package/dist/esm/calls/vault/deposit-to-vault.js.map +1 -0
- package/dist/esm/calls/vault/index.js +5 -0
- package/dist/esm/calls/vault/index.js.map +1 -0
- package/dist/esm/calls/vault/remove-vault.js +37 -0
- package/dist/esm/calls/vault/remove-vault.js.map +1 -0
- package/dist/esm/calls/vault/set-vault.js +39 -0
- package/dist/esm/calls/vault/set-vault.js.map +1 -0
- package/dist/esm/calls/vault/withdraw-from-vault.js +39 -0
- package/dist/esm/calls/vault/withdraw-from-vault.js.map +1 -0
- package/dist/esm/constants/abis/core/book-manager-abi.js +1208 -0
- package/dist/esm/constants/abis/core/book-manager-abi.js.map +1 -0
- package/dist/esm/constants/abis/core/book-viewer-abi.js +318 -0
- package/dist/esm/constants/abis/core/book-viewer-abi.js.map +1 -0
- package/dist/esm/constants/abis/core/controller-abi.js +610 -0
- package/dist/esm/constants/abis/core/controller-abi.js.map +1 -0
- package/dist/esm/constants/abis/core/params-abi.js +61 -0
- package/dist/esm/constants/abis/core/params-abi.js.map +1 -0
- package/dist/esm/constants/chain-configs/addresses.js +15 -0
- package/dist/esm/constants/chain-configs/addresses.js.map +1 -0
- package/dist/esm/constants/chain-configs/chain.js +22 -0
- package/dist/esm/constants/chain-configs/chain.js.map +1 -0
- package/dist/esm/constants/chain-configs/currency.js +23 -0
- package/dist/esm/constants/chain-configs/currency.js.map +1 -0
- package/dist/esm/constants/chain-configs/fee.js +11 -0
- package/dist/esm/constants/chain-configs/fee.js.map +1 -0
- package/dist/esm/constants/chain-configs/subgraph.js +23 -0
- package/dist/esm/constants/chain-configs/subgraph.js.map +1 -0
- package/dist/esm/constants/permit.js +11 -0
- package/dist/esm/constants/permit.js.map +1 -0
- package/dist/esm/constants/price.js +4 -0
- package/dist/esm/constants/price.js.map +1 -0
- package/dist/esm/constants/tick.js +3 -0
- package/dist/esm/constants/tick.js.map +1 -0
- package/dist/esm/entities/analytics/apis/index.js +206 -0
- package/dist/esm/entities/analytics/apis/index.js.map +1 -0
- package/dist/esm/entities/analytics/types.js +2 -0
- package/dist/esm/entities/analytics/types.js.map +1 -0
- package/dist/esm/entities/book/apis/index.js +83 -0
- package/dist/esm/entities/book/apis/index.js.map +1 -0
- package/dist/esm/entities/book/model.js +195 -0
- package/dist/esm/entities/book/model.js.map +1 -0
- package/dist/esm/entities/book/types.js +2 -0
- package/dist/esm/entities/book/types.js.map +1 -0
- package/dist/esm/entities/book/utils/book-id.js +19 -0
- package/dist/esm/entities/book/utils/book-id.js.map +1 -0
- package/dist/esm/entities/currency/apis/allowance.js +34 -0
- package/dist/esm/entities/currency/apis/allowance.js.map +1 -0
- package/dist/esm/entities/currency/apis/approval.js +35 -0
- package/dist/esm/entities/currency/apis/approval.js.map +1 -0
- package/dist/esm/entities/currency/apis/index.js +118 -0
- package/dist/esm/entities/currency/apis/index.js.map +1 -0
- package/dist/esm/entities/currency/apis/price.js +30 -0
- package/dist/esm/entities/currency/apis/price.js.map +1 -0
- package/dist/esm/entities/currency/apis/total-supply.js +57 -0
- package/dist/esm/entities/currency/apis/total-supply.js.map +1 -0
- package/dist/esm/entities/currency/types.js +2 -0
- package/dist/esm/entities/currency/types.js.map +1 -0
- package/dist/esm/entities/fee-policy/model.js +88 -0
- package/dist/esm/entities/fee-policy/model.js.map +1 -0
- package/dist/esm/entities/market/apis/chart-log.js +167 -0
- package/dist/esm/entities/market/apis/chart-log.js.map +1 -0
- package/dist/esm/entities/market/apis/index.js +30 -0
- package/dist/esm/entities/market/apis/index.js.map +1 -0
- package/dist/esm/entities/market/apis/price.js +86 -0
- package/dist/esm/entities/market/apis/price.js.map +1 -0
- package/dist/esm/entities/market/apis/snapshot.js +371 -0
- package/dist/esm/entities/market/apis/snapshot.js.map +1 -0
- package/dist/esm/entities/market/model.js +183 -0
- package/dist/esm/entities/market/model.js.map +1 -0
- package/dist/esm/entities/market/types.js +2 -0
- package/dist/esm/entities/market/types.js.map +1 -0
- package/dist/esm/entities/market/utils/market-id.js +28 -0
- package/dist/esm/entities/market/utils/market-id.js.map +1 -0
- package/dist/esm/entities/open-order/apis/index.js +192 -0
- package/dist/esm/entities/open-order/apis/index.js.map +1 -0
- package/dist/esm/entities/open-order/apis/operator.js +11 -0
- package/dist/esm/entities/open-order/apis/operator.js.map +1 -0
- package/dist/esm/entities/open-order/types.js +2 -0
- package/dist/esm/entities/open-order/types.js.map +1 -0
- package/dist/esm/entities/open-order/utils/order-id.js +13 -0
- package/dist/esm/entities/open-order/utils/order-id.js.map +1 -0
- package/dist/esm/entities/vault/types.js +2 -0
- package/dist/esm/entities/vault/types.js.map +1 -0
- package/dist/esm/index.js +9 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/package.json +1 -0
- package/dist/esm/types/default-options.js +2 -0
- package/dist/esm/types/default-options.js.map +1 -0
- package/dist/esm/types/index.js +17 -0
- package/dist/esm/types/index.js.map +1 -0
- package/dist/esm/types/permit.js +2 -0
- package/dist/esm/types/permit.js.map +1 -0
- package/dist/esm/types/transaction.js +2 -0
- package/dist/esm/types/transaction.js.map +1 -0
- package/dist/esm/utils/bigint.js +9 -0
- package/dist/esm/utils/bigint.js.map +1 -0
- package/dist/esm/utils/build-transaction.js +23 -0
- package/dist/esm/utils/build-transaction.js.map +1 -0
- package/dist/esm/utils/conversion.js +12 -0
- package/dist/esm/utils/conversion.js.map +1 -0
- package/dist/esm/utils/index.js +5 -0
- package/dist/esm/utils/index.js.map +1 -0
- package/dist/esm/utils/math.js +79 -0
- package/dist/esm/utils/math.js.map +1 -0
- package/dist/esm/utils/prices.js +50 -0
- package/dist/esm/utils/prices.js.map +1 -0
- package/dist/esm/utils/tick.js +110 -0
- package/dist/esm/utils/tick.js.map +1 -0
- package/dist/esm/utils/time.js +8 -0
- package/dist/esm/utils/time.js.map +1 -0
- package/dist/esm/utils/unit-size.js +4 -0
- package/dist/esm/utils/unit-size.js.map +1 -0
- package/dist/esm/views/address.js +17 -0
- package/dist/esm/views/address.js.map +1 -0
- package/dist/esm/views/analytics.js +17 -0
- package/dist/esm/views/analytics.js.map +1 -0
- package/dist/esm/views/currency.js +15 -0
- package/dist/esm/views/currency.js.map +1 -0
- package/dist/esm/views/index.js +9 -0
- package/dist/esm/views/index.js.map +1 -0
- package/dist/esm/views/market/chart-log.js +48 -0
- package/dist/esm/views/market/chart-log.js.map +1 -0
- package/dist/esm/views/market/index.js +62 -0
- package/dist/esm/views/market/index.js.map +1 -0
- package/dist/esm/views/market/parse.js +18 -0
- package/dist/esm/views/market/parse.js.map +1 -0
- package/dist/esm/views/market/quote.js +137 -0
- package/dist/esm/views/market/quote.js.map +1 -0
- package/dist/esm/views/market/snapshot.js +23 -0
- package/dist/esm/views/market/snapshot.js.map +1 -0
- package/dist/esm/views/market/token.js +23 -0
- package/dist/esm/views/market/token.js.map +1 -0
- package/dist/esm/views/open-order.js +38 -0
- package/dist/esm/views/open-order.js.map +1 -0
- package/dist/esm/views/subgraph.js +54 -0
- package/dist/esm/views/subgraph.js.map +1 -0
- package/dist/esm/views/tick.js +89 -0
- package/dist/esm/views/tick.js.map +1 -0
- package/dist/esm/views/vault.js +35 -0
- package/dist/esm/views/vault.js.map +1 -0
- package/dist/tsconfig.build.tsbuildinfo +1 -0
- package/dist/types/calls/approval/market.d.ts +43 -0
- package/dist/types/calls/approval/market.d.ts.map +1 -0
- package/dist/types/calls/approval/open-order.d.ts +33 -0
- package/dist/types/calls/approval/open-order.d.ts.map +1 -0
- package/dist/types/calls/approval/order.d.ts +39 -0
- package/dist/types/calls/approval/order.d.ts.map +1 -0
- package/dist/types/calls/approval/token.d.ts +41 -0
- package/dist/types/calls/approval/token.d.ts.map +1 -0
- package/dist/types/calls/index.d.ts +12 -0
- package/dist/types/calls/index.d.ts.map +1 -0
- package/dist/types/calls/market/cancel.d.ts +73 -0
- package/dist/types/calls/market/cancel.d.ts.map +1 -0
- package/dist/types/calls/market/claim.d.ts +73 -0
- package/dist/types/calls/market/claim.d.ts.map +1 -0
- package/dist/types/calls/market/limit.d.ts +90 -0
- package/dist/types/calls/market/limit.d.ts.map +1 -0
- package/dist/types/calls/market/make.d.ts +37 -0
- package/dist/types/calls/market/make.d.ts.map +1 -0
- package/dist/types/calls/market/market.d.ts +69 -0
- package/dist/types/calls/market/market.d.ts.map +1 -0
- package/dist/types/calls/market/open.d.ts +31 -0
- package/dist/types/calls/market/open.d.ts.map +1 -0
- package/dist/types/calls/vault/deposit-to-vault.d.ts +29 -0
- package/dist/types/calls/vault/deposit-to-vault.d.ts.map +1 -0
- package/dist/types/calls/vault/index.d.ts +5 -0
- package/dist/types/calls/vault/index.d.ts.map +1 -0
- package/dist/types/calls/vault/remove-vault.d.ts +26 -0
- package/dist/types/calls/vault/remove-vault.d.ts.map +1 -0
- package/dist/types/calls/vault/set-vault.d.ts +29 -0
- package/dist/types/calls/vault/set-vault.d.ts.map +1 -0
- package/dist/types/calls/vault/withdraw-from-vault.d.ts +29 -0
- package/dist/types/calls/vault/withdraw-from-vault.d.ts.map +1 -0
- package/dist/types/constants/abis/core/book-manager-abi.d.ts +1633 -0
- package/dist/types/constants/abis/core/book-manager-abi.d.ts.map +1 -0
- package/dist/types/constants/abis/core/book-viewer-abi.d.ts +243 -0
- package/dist/types/constants/abis/core/book-viewer-abi.d.ts.map +1 -0
- package/dist/types/constants/abis/core/controller-abi.d.ts +970 -0
- package/dist/types/constants/abis/core/controller-abi.d.ts.map +1 -0
- package/dist/types/constants/abis/core/params-abi.d.ts +31 -0
- package/dist/types/constants/abis/core/params-abi.d.ts.map +1 -0
- package/dist/types/constants/chain-configs/addresses.d.ts +9 -0
- package/dist/types/constants/chain-configs/addresses.d.ts.map +1 -0
- package/dist/types/constants/chain-configs/chain.d.ts +10 -0
- package/dist/types/constants/chain-configs/chain.d.ts.map +1 -0
- package/dist/types/constants/chain-configs/currency.d.ts +6 -0
- package/dist/types/constants/chain-configs/currency.d.ts.map +1 -0
- package/dist/types/constants/chain-configs/fee.d.ts +9 -0
- package/dist/types/constants/chain-configs/fee.d.ts.map +1 -0
- package/dist/types/constants/chain-configs/subgraph.d.ts +8 -0
- package/dist/types/constants/chain-configs/subgraph.d.ts.map +1 -0
- package/dist/types/constants/permit.d.ts +10 -0
- package/dist/types/constants/permit.d.ts.map +1 -0
- package/dist/types/constants/price.d.ts +4 -0
- package/dist/types/constants/price.d.ts.map +1 -0
- package/dist/types/constants/tick.d.ts +3 -0
- package/dist/types/constants/tick.d.ts.map +1 -0
- package/dist/types/entities/analytics/apis/index.d.ts +12 -0
- package/dist/types/entities/analytics/apis/index.d.ts.map +1 -0
- package/dist/types/entities/analytics/types.d.ts +57 -0
- package/dist/types/entities/analytics/types.d.ts.map +1 -0
- package/dist/types/entities/book/apis/index.d.ts +6 -0
- package/dist/types/entities/book/apis/index.d.ts.map +1 -0
- package/dist/types/entities/book/model.d.ts +50 -0
- package/dist/types/entities/book/model.d.ts.map +1 -0
- package/dist/types/entities/book/types.d.ts +14 -0
- package/dist/types/entities/book/types.d.ts.map +1 -0
- package/dist/types/entities/book/utils/book-id.d.ts +3 -0
- package/dist/types/entities/book/utils/book-id.d.ts.map +1 -0
- package/dist/types/entities/currency/apis/allowance.d.ts +3 -0
- package/dist/types/entities/currency/apis/allowance.d.ts.map +1 -0
- package/dist/types/entities/currency/apis/approval.d.ts +4 -0
- package/dist/types/entities/currency/apis/approval.d.ts.map +1 -0
- package/dist/types/entities/currency/apis/index.d.ts +6 -0
- package/dist/types/entities/currency/apis/index.d.ts.map +1 -0
- package/dist/types/entities/currency/apis/price.d.ts +10 -0
- package/dist/types/entities/currency/apis/price.d.ts.map +1 -0
- package/dist/types/entities/currency/apis/total-supply.d.ts +6 -0
- package/dist/types/entities/currency/apis/total-supply.d.ts.map +1 -0
- package/dist/types/entities/currency/types.d.ts +32 -0
- package/dist/types/entities/currency/types.d.ts.map +1 -0
- package/dist/types/entities/fee-policy/model.d.ts +15 -0
- package/dist/types/entities/fee-policy/model.d.ts.map +1 -0
- package/dist/types/entities/market/apis/chart-log.d.ts +9 -0
- package/dist/types/entities/market/apis/chart-log.d.ts.map +1 -0
- package/dist/types/entities/market/apis/index.d.ts +7 -0
- package/dist/types/entities/market/apis/index.d.ts.map +1 -0
- package/dist/types/entities/market/apis/price.d.ts +32 -0
- package/dist/types/entities/market/apis/price.d.ts.map +1 -0
- package/dist/types/entities/market/apis/snapshot.d.ts +6 -0
- package/dist/types/entities/market/apis/snapshot.d.ts.map +1 -0
- package/dist/types/entities/market/model.d.ts +58 -0
- package/dist/types/entities/market/model.d.ts.map +1 -0
- package/dist/types/entities/market/types.d.ts +38 -0
- package/dist/types/entities/market/types.d.ts.map +1 -0
- package/dist/types/entities/market/utils/market-id.d.ts +7 -0
- package/dist/types/entities/market/utils/market-id.d.ts.map +1 -0
- package/dist/types/entities/open-order/apis/index.d.ts +9 -0
- package/dist/types/entities/open-order/apis/index.d.ts.map +1 -0
- package/dist/types/entities/open-order/apis/operator.d.ts +4 -0
- package/dist/types/entities/open-order/apis/operator.d.ts.map +1 -0
- package/dist/types/entities/open-order/types.d.ts +22 -0
- package/dist/types/entities/open-order/types.d.ts.map +1 -0
- package/dist/types/entities/open-order/utils/order-id.d.ts +7 -0
- package/dist/types/entities/open-order/utils/order-id.d.ts.map +1 -0
- package/dist/types/entities/vault/types.d.ts +4 -0
- package/dist/types/entities/vault/types.d.ts.map +1 -0
- package/dist/types/index.d.ts +7 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/types/default-options.d.ts +10 -0
- package/dist/types/types/default-options.d.ts.map +1 -0
- package/dist/types/types/index.d.ts +26 -0
- package/dist/types/types/index.d.ts.map +1 -0
- package/dist/types/types/permit.d.ts +12 -0
- package/dist/types/types/permit.d.ts.map +1 -0
- package/dist/types/types/transaction.d.ts +10 -0
- package/dist/types/types/transaction.d.ts.map +1 -0
- package/dist/types/utils/bigint.d.ts +5 -0
- package/dist/types/utils/bigint.d.ts.map +1 -0
- package/dist/types/utils/build-transaction.d.ts +4 -0
- package/dist/types/utils/build-transaction.d.ts.map +1 -0
- package/dist/types/utils/conversion.d.ts +3 -0
- package/dist/types/utils/conversion.d.ts.map +1 -0
- package/dist/types/utils/index.d.ts +5 -0
- package/dist/types/utils/index.d.ts.map +1 -0
- package/dist/types/utils/math.d.ts +4 -0
- package/dist/types/utils/math.d.ts.map +1 -0
- package/dist/types/utils/prices.d.ts +14 -0
- package/dist/types/utils/prices.d.ts.map +1 -0
- package/dist/types/utils/tick.d.ts +5 -0
- package/dist/types/utils/tick.d.ts.map +1 -0
- package/dist/types/utils/time.d.ts +4 -0
- package/dist/types/utils/time.d.ts.map +1 -0
- package/dist/types/utils/unit-size.d.ts +4 -0
- package/dist/types/utils/unit-size.d.ts.map +1 -0
- package/dist/types/views/address.d.ts +21 -0
- package/dist/types/views/address.d.ts.map +1 -0
- package/dist/types/views/analytics.d.ts +21 -0
- package/dist/types/views/analytics.d.ts.map +1 -0
- package/dist/types/views/currency.d.ts +20 -0
- package/dist/types/views/currency.d.ts.map +1 -0
- package/dist/types/views/index.d.ts +9 -0
- package/dist/types/views/index.d.ts.map +1 -0
- package/dist/types/views/market/chart-log.d.ts +56 -0
- package/dist/types/views/market/chart-log.d.ts.map +1 -0
- package/dist/types/views/market/index.d.ts +57 -0
- package/dist/types/views/market/index.d.ts.map +1 -0
- package/dist/types/views/market/parse.d.ts +10 -0
- package/dist/types/views/market/parse.d.ts.map +1 -0
- package/dist/types/views/market/quote.d.ts +90 -0
- package/dist/types/views/market/quote.d.ts.map +1 -0
- package/dist/types/views/market/snapshot.d.ts +17 -0
- package/dist/types/views/market/snapshot.d.ts.map +1 -0
- package/dist/types/views/market/token.d.ts +24 -0
- package/dist/types/views/market/token.d.ts.map +1 -0
- package/dist/types/views/open-order.d.ts +41 -0
- package/dist/types/views/open-order.d.ts.map +1 -0
- package/dist/types/views/subgraph.d.ts +52 -0
- package/dist/types/views/subgraph.d.ts.map +1 -0
- package/dist/types/views/tick.d.ts +77 -0
- package/dist/types/views/tick.d.ts.map +1 -0
- package/dist/types/views/vault.d.ts +25 -0
- package/dist/types/views/vault.d.ts.map +1 -0
- package/package.json +52 -0
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import { MAX_PRICE, MIN_PRICE, PRICE_PRECISION } from '../constants/price';
|
|
2
|
+
import { MAX_TICK, MIN_TICK } from '../constants/tick';
|
|
3
|
+
import { lnWad } from './math';
|
|
4
|
+
const _R0 = 0xfff97272373d413259a46990n;
|
|
5
|
+
const _R1 = 0xfff2e50f5f656932ef12357cn;
|
|
6
|
+
const _R2 = 0xffe5caca7e10e4e61c3624ean;
|
|
7
|
+
const _R3 = 0xffcb9843d60f6159c9db5883n;
|
|
8
|
+
const _R4 = 0xff973b41fa98c081472e6896n;
|
|
9
|
+
const _R5 = 0xff2ea16466c96a3843ec78b3n;
|
|
10
|
+
const _R6 = 0xfe5dee046a99a2a811c461f1n;
|
|
11
|
+
const _R7 = 0xfcbe86c7900a88aedcffc83bn;
|
|
12
|
+
const _R8 = 0xf987a7253ac413176f2b074cn;
|
|
13
|
+
const _R9 = 0xf3392b0822b70005940c7a39n;
|
|
14
|
+
const _R10 = 0xe7159475a2c29b7443b29c7fn;
|
|
15
|
+
const _R11 = 0xd097f3bdfd2022b8845ad8f7n;
|
|
16
|
+
const _R12 = 0xa9f746462d870fdf8a65dc1fn;
|
|
17
|
+
const _R13 = 0x70d869a156d2a1b890bb3df6n;
|
|
18
|
+
const _R14 = 0x31be135f97d08fd981231505n;
|
|
19
|
+
const _R15 = 0x9aa508b5b7a84e1c677de54n;
|
|
20
|
+
const _R16 = 0x5d6af8dedb81196699c329n;
|
|
21
|
+
const _R17 = 0x2216e584f5fa1ea92604n;
|
|
22
|
+
const _R18 = 0x48a170391f7dc42n;
|
|
23
|
+
export const invertTick = (tick) => {
|
|
24
|
+
return -tick;
|
|
25
|
+
};
|
|
26
|
+
export const invertPrice = (price) => {
|
|
27
|
+
return price ? (1n << (PRICE_PRECISION * 2n)) / price : 0n;
|
|
28
|
+
};
|
|
29
|
+
export const fromPrice = (price) => {
|
|
30
|
+
if (price > MAX_PRICE || price < MIN_PRICE) {
|
|
31
|
+
throw new Error('price is out of range');
|
|
32
|
+
}
|
|
33
|
+
const tick = (lnWad(price) * 42951820407860n) / 2n ** 128n;
|
|
34
|
+
if (toPrice(tick) > price) {
|
|
35
|
+
return tick - 1n;
|
|
36
|
+
}
|
|
37
|
+
return tick;
|
|
38
|
+
};
|
|
39
|
+
export const toPrice = (tick) => {
|
|
40
|
+
if (tick > MAX_TICK || tick < MIN_TICK) {
|
|
41
|
+
throw new Error('tick is out of range');
|
|
42
|
+
}
|
|
43
|
+
const absTick = tick < 0n ? -tick : tick;
|
|
44
|
+
let price = 0n;
|
|
45
|
+
if ((absTick & 0x1n) !== 0n) {
|
|
46
|
+
price = _R0;
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
price = 1n << PRICE_PRECISION;
|
|
50
|
+
}
|
|
51
|
+
if ((absTick & 0x2n) != 0n) {
|
|
52
|
+
price = (price * _R1) >> PRICE_PRECISION;
|
|
53
|
+
}
|
|
54
|
+
if ((absTick & 0x4n) != 0n) {
|
|
55
|
+
price = (price * _R2) >> PRICE_PRECISION;
|
|
56
|
+
}
|
|
57
|
+
if ((absTick & 0x8n) != 0n) {
|
|
58
|
+
price = (price * _R3) >> PRICE_PRECISION;
|
|
59
|
+
}
|
|
60
|
+
if ((absTick & 0x10n) != 0n) {
|
|
61
|
+
price = (price * _R4) >> PRICE_PRECISION;
|
|
62
|
+
}
|
|
63
|
+
if ((absTick & 0x20n) != 0n) {
|
|
64
|
+
price = (price * _R5) >> PRICE_PRECISION;
|
|
65
|
+
}
|
|
66
|
+
if ((absTick & 0x40n) != 0n) {
|
|
67
|
+
price = (price * _R6) >> PRICE_PRECISION;
|
|
68
|
+
}
|
|
69
|
+
if ((absTick & 0x80n) != 0n) {
|
|
70
|
+
price = (price * _R7) >> PRICE_PRECISION;
|
|
71
|
+
}
|
|
72
|
+
if ((absTick & 0x100n) != 0n) {
|
|
73
|
+
price = (price * _R8) >> PRICE_PRECISION;
|
|
74
|
+
}
|
|
75
|
+
if ((absTick & 0x200n) != 0n) {
|
|
76
|
+
price = (price * _R9) >> PRICE_PRECISION;
|
|
77
|
+
}
|
|
78
|
+
if ((absTick & 0x400n) != 0n) {
|
|
79
|
+
price = (price * _R10) >> PRICE_PRECISION;
|
|
80
|
+
}
|
|
81
|
+
if ((absTick & 0x800n) != 0n) {
|
|
82
|
+
price = (price * _R11) >> PRICE_PRECISION;
|
|
83
|
+
}
|
|
84
|
+
if ((absTick & 0x1000n) != 0n) {
|
|
85
|
+
price = (price * _R12) >> PRICE_PRECISION;
|
|
86
|
+
}
|
|
87
|
+
if ((absTick & 0x2000n) != 0n) {
|
|
88
|
+
price = (price * _R13) >> PRICE_PRECISION;
|
|
89
|
+
}
|
|
90
|
+
if ((absTick & 0x4000n) != 0n) {
|
|
91
|
+
price = (price * _R14) >> PRICE_PRECISION;
|
|
92
|
+
}
|
|
93
|
+
if ((absTick & 0x8000n) != 0n) {
|
|
94
|
+
price = (price * _R15) >> PRICE_PRECISION;
|
|
95
|
+
}
|
|
96
|
+
if ((absTick & 0x10000n) != 0n) {
|
|
97
|
+
price = (price * _R16) >> PRICE_PRECISION;
|
|
98
|
+
}
|
|
99
|
+
if ((absTick & 0x20000n) != 0n) {
|
|
100
|
+
price = (price * _R17) >> PRICE_PRECISION;
|
|
101
|
+
}
|
|
102
|
+
if ((absTick & 0x40000n) != 0n) {
|
|
103
|
+
price = (price * _R18) >> PRICE_PRECISION;
|
|
104
|
+
}
|
|
105
|
+
if (tick > 0n) {
|
|
106
|
+
price = 0x1000000000000000000000000000000000000000000000000n / price;
|
|
107
|
+
}
|
|
108
|
+
return price;
|
|
109
|
+
};
|
|
110
|
+
//# sourceMappingURL=tick.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tick.js","sourceRoot":"","sources":["../../../src/utils/tick.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export const currentTimestampInSeconds = () => Math.floor(new Date().getTime() / 1000);
|
|
2
|
+
export const getDeadlineTimestampInSeconds = () => {
|
|
3
|
+
return BigInt(Math.floor(currentTimestampInSeconds() + 60 * 20));
|
|
4
|
+
};
|
|
5
|
+
export const getDailyStartTimestampInSeconds = (timestampInSeconds) => {
|
|
6
|
+
return Math.floor(timestampInSeconds / 86400) * 86400;
|
|
7
|
+
};
|
|
8
|
+
//# sourceMappingURL=time.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"time.js","sourceRoot":"","sources":["../../../src/utils/time.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,yBAAyB,GAAG,GAAW,EAAE,CACpD,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;AAE1C,MAAM,CAAC,MAAM,6BAA6B,GAAG,GAAW,EAAE;IACxD,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,yBAAyB,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;AACnE,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAC7C,kBAA0B,EAClB,EAAE;IACV,OAAO,IAAI,CAAC,KAAK,CAAC,kBAAkB,GAAG,KAAK,CAAC,GAAG,KAAK,CAAC;AACxD,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unit-size.js","sourceRoot":"","sources":["../../../src/utils/unit-size.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,QAAmB,EAAE,KAAe,EAAE,EAAE;IACxE,OAAO,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AACxD,CAAC,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { CONTRACT_ADDRESSES } from '../constants/chain-configs/addresses';
|
|
2
|
+
/**
|
|
3
|
+
* Get contract addresses by chain id
|
|
4
|
+
* @param chainId - chain id from {@link CHAIN_IDS}
|
|
5
|
+
* @returns Contract addresses
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* import { getContractAddresses } from '@clober/v2-sdk'
|
|
9
|
+
*
|
|
10
|
+
* const addresses = await getContractAddresses({
|
|
11
|
+
* chainId: 421614,
|
|
12
|
+
* })
|
|
13
|
+
*/
|
|
14
|
+
export const getContractAddresses = ({ chainId }) => {
|
|
15
|
+
return CONTRACT_ADDRESSES[chainId];
|
|
16
|
+
};
|
|
17
|
+
//# sourceMappingURL=address.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"address.js","sourceRoot":"","sources":["../../../src/views/address.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAE1E;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,EAAE,OAAO,EAA0B,EAAE,EAAE;IAC1E,OAAO,kBAAkB,CAAC,OAAO,CAAC,CAAC;AACrC,CAAC,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { fetchProtocolAnalytics, fetchReferralSummary, fetchTopUsersByNativeVolume, fetchUserNativeVolume, fetchUserVolumeSnapshots, } from '../entities/analytics/apis';
|
|
2
|
+
export const getProtocolAnalytics = async ({ chainId, }) => {
|
|
3
|
+
return fetchProtocolAnalytics(chainId);
|
|
4
|
+
};
|
|
5
|
+
export const getUserDailyVolumes = async ({ chainId, userAddress, }) => {
|
|
6
|
+
return fetchUserVolumeSnapshots(chainId, userAddress);
|
|
7
|
+
};
|
|
8
|
+
export const getTopUsersByNativeVolume = async ({ chainId, }) => {
|
|
9
|
+
return fetchTopUsersByNativeVolume(chainId);
|
|
10
|
+
};
|
|
11
|
+
export const getUserNativeVolume = async ({ chainId, userAddress, }) => {
|
|
12
|
+
return fetchUserNativeVolume(chainId, userAddress);
|
|
13
|
+
};
|
|
14
|
+
export const getReferralSummary = async ({ chainId, userAddress, }) => {
|
|
15
|
+
return fetchReferralSummary(chainId, userAddress);
|
|
16
|
+
};
|
|
17
|
+
//# sourceMappingURL=analytics.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"analytics.js","sourceRoot":"","sources":["../../../src/views/analytics.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,sBAAsB,EACtB,oBAAoB,EACpB,2BAA2B,EAC3B,qBAAqB,EACrB,wBAAwB,GACzB,MAAM,4BAA4B,CAAC;AAEpC,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,EAAE,EACzC,OAAO,GAGR,EAA6B,EAAE;IAC9B,OAAO,sBAAsB,CAAC,OAAO,CAAC,CAAC;AACzC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,EAAE,EACxC,OAAO,EACP,WAAW,GAIZ,EAAiC,EAAE;IAClC,OAAO,wBAAwB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;AACxD,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAAG,KAAK,EAAE,EAC9C,OAAO,GAGR,EAAsB,EAAE;IACvB,OAAO,2BAA2B,CAAC,OAAO,CAAC,CAAC;AAC9C,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,EAAE,EACxC,OAAO,EACP,WAAW,GAIZ,EAAmB,EAAE;IACpB,OAAO,qBAAqB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;AACrD,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,EAAE,EACvC,OAAO,EACP,WAAW,GAIZ,EAA4B,EAAE;IAC7B,OAAO,oBAAoB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;AACpD,CAAC,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { STABLE_COINS } from '../constants/chain-configs/currency';
|
|
2
|
+
import { fetchCurrencies, fetchCurrentPriceMap, fetchDailyPriceMapAtTimestamp, } from '../entities/currency/apis/price';
|
|
3
|
+
export const getCurrencies = ({ chainId, }) => {
|
|
4
|
+
return fetchCurrencies(chainId);
|
|
5
|
+
};
|
|
6
|
+
export const getStableCurrencies = ({ chainId, }) => {
|
|
7
|
+
return STABLE_COINS[chainId];
|
|
8
|
+
};
|
|
9
|
+
export const getLatestPriceMap = async ({ chainId, }) => {
|
|
10
|
+
return fetchCurrentPriceMap(chainId);
|
|
11
|
+
};
|
|
12
|
+
export const getDailyClosePriceMap = async ({ chainId, timestampInSeconds, }) => {
|
|
13
|
+
return fetchDailyPriceMapAtTimestamp(chainId, timestampInSeconds);
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=currency.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"currency.js","sourceRoot":"","sources":["../../../src/views/currency.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAEnE,OAAO,EACL,eAAe,EACf,oBAAoB,EACpB,6BAA6B,GAC9B,MAAM,iCAAiC,CAAC;AAEzC,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,EAC5B,OAAO,GAGR,EAAuB,EAAE;IACxB,OAAO,eAAe,CAAC,OAAO,CAAC,CAAC;AAClC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,EAClC,OAAO,GAGR,EAAc,EAAE;IACf,OAAO,YAAY,CAAC,OAAO,CAAC,CAAC;AAC/B,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,EAAE,EACtC,OAAO,GAGR,EAAiD,EAAE;IAClD,OAAO,oBAAoB,CAAC,OAAO,CAAC,CAAC;AACvC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG,KAAK,EAAE,EAC1C,OAAO,EACP,kBAAkB,GAInB,EAAiD,EAAE;IAClD,OAAO,6BAA6B,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;AACpE,CAAC,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export { getMarket, getPrices, getChartLogs, getLatestChartLog, getExpectedOutput, getExpectedInput, getMarketSnapshots, getMarketSnapshot, getQuoteToken, parseMakeOrderIdsFromReceipt, } from './market';
|
|
2
|
+
export { getPriceNeighborhood } from './tick';
|
|
3
|
+
export { getOpenOrder, getOpenOrders } from './open-order';
|
|
4
|
+
export { getSubgraphEndpoint, getSubgraphBlockNumber, getSubgraphBlock, } from './subgraph';
|
|
5
|
+
export { getContractAddresses } from './address';
|
|
6
|
+
export { getCurrencies, getStableCurrencies, getLatestPriceMap, getDailyClosePriceMap, } from './currency';
|
|
7
|
+
export { getProtocolAnalytics, getUserDailyVolumes, getTopUsersByNativeVolume, getUserNativeVolume, getReferralSummary, } from './analytics';
|
|
8
|
+
export { getVault } from './vault';
|
|
9
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/views/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,SAAS,EACT,YAAY,EACZ,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,EACjB,aAAa,EACb,4BAA4B,GAC7B,MAAM,UAAU,CAAC;AAElB,OAAO,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,EACL,mBAAmB,EACnB,sBAAsB,EACtB,gBAAgB,GACjB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,iBAAiB,EACjB,qBAAqB,GACtB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,yBAAyB,EACzB,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { fetchChartLogs, fetchLatestChartLog, } from '../../entities/market/apis/chart-log';
|
|
2
|
+
/**
|
|
3
|
+
* Retrieves the latest chart log for a specific market.
|
|
4
|
+
*
|
|
5
|
+
* @param {CHAIN_IDS} params.chainId - The ID of the blockchain.
|
|
6
|
+
* @param {`0x${string}`} params.quote - The address of the quote token.
|
|
7
|
+
* @param {`0x${string}`} params.base - The address of the base token.
|
|
8
|
+
* @returns {Promise<ChartLog>} A promise that resolves with the latest chart log.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* import { getLatestChartLog } from '@clober/v2-sdk'
|
|
12
|
+
*
|
|
13
|
+
* const logs = await getLatestChartLog({
|
|
14
|
+
* chainId: 421614,
|
|
15
|
+
* quote: '0x00bfd44e79fb7f6dd5887a9426c8ef85a0cd23e0',
|
|
16
|
+
* base: '0x0000000000000000000000000000000000000000',
|
|
17
|
+
* })
|
|
18
|
+
*/
|
|
19
|
+
export const getLatestChartLog = async ({ chainId, quote, base, }) => {
|
|
20
|
+
return fetchLatestChartLog(chainId, `${base}-${quote}`);
|
|
21
|
+
};
|
|
22
|
+
/**
|
|
23
|
+
* Retrieves chart logs for a specific market within a specified time interval.
|
|
24
|
+
*
|
|
25
|
+
* @param {CHAIN_IDS} params.chainId - The ID of the chain.
|
|
26
|
+
* @param {`0x${string}`} params.quote - The address of the quote token.
|
|
27
|
+
* @param {`0x${string}`} params.base - The address of the base token.
|
|
28
|
+
* @param {CHART_LOG_INTERVALS} params.intervalType - The type of time interval for the chart logs.
|
|
29
|
+
* @param {number} params.from - The start of the time interval (Unix timestamp in seconds).
|
|
30
|
+
* @param {number} params.to - The end of the time interval (Unix timestamp in seconds).
|
|
31
|
+
* @returns {Promise<ChartLog[]>} A promise that resolves with an array of chart logs within the specified interval.
|
|
32
|
+
*
|
|
33
|
+
* @example
|
|
34
|
+
* import { getLatestChartLog, CHART_LOG_INTERVALS } from '@clober/v2-sdk'
|
|
35
|
+
*
|
|
36
|
+
* const logs = await getChartLogs({
|
|
37
|
+
* chainId: 421614,
|
|
38
|
+
* quote: '0x00bfd44e79fb7f6dd5887a9426c8ef85a0cd23e0',
|
|
39
|
+
* base: '0x0000000000000000000000000000000000000000',
|
|
40
|
+
* intervalType: CHART_LOG_INTERVALS.oneDay,
|
|
41
|
+
* from: 1687305600,
|
|
42
|
+
* to: 1713312000,
|
|
43
|
+
* })
|
|
44
|
+
*/
|
|
45
|
+
export const getChartLogs = async ({ chainId, quote, base, intervalType, from, to, }) => {
|
|
46
|
+
return fetchChartLogs(chainId, `${base}-${quote}`, intervalType, from, to);
|
|
47
|
+
};
|
|
48
|
+
//# sourceMappingURL=chart-log.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chart-log.js","sourceRoot":"","sources":["../../../../src/views/market/chart-log.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,cAAc,EACd,mBAAmB,GACpB,MAAM,sCAAsC,CAAC;AAE9C;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,EAAE,EACtC,OAAO,EACP,KAAK,EACL,IAAI,GAKL,EAAqB,EAAE;IACtB,OAAO,mBAAmB,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,KAAK,EAAE,CAAC,CAAC;AAC1D,CAAC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,EAAE,EACjC,OAAO,EACP,KAAK,EACL,IAAI,EACJ,YAAY,EACZ,IAAI,EACJ,EAAE,GAQH,EAAuB,EAAE;IACxB,OAAO,cAAc,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,KAAK,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;AAC7E,CAAC,CAAC"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { createPublicClient, http, isAddressEqual } from 'viem';
|
|
2
|
+
import { CHAIN_MAP } from '../../constants/chain-configs/chain';
|
|
3
|
+
import { fetchMarket, fetchPrices, } from '../../entities/market/apis';
|
|
4
|
+
export { getExpectedOutput, getExpectedInput } from './quote';
|
|
5
|
+
export { getChartLogs, getLatestChartLog } from './chart-log';
|
|
6
|
+
export { getMarketSnapshots, getMarketSnapshot } from './snapshot';
|
|
7
|
+
export { getQuoteToken } from './token';
|
|
8
|
+
export { parseMakeOrderIdsFromReceipt } from './parse';
|
|
9
|
+
/**
|
|
10
|
+
* Get market information by chain id and token addresses
|
|
11
|
+
* @param chainId - chain id from {@link CHAIN_IDS}
|
|
12
|
+
* @param token0 - token0 address
|
|
13
|
+
* @param token1 - token1 address
|
|
14
|
+
* @param options {@link DefaultReadContractOptions} options.
|
|
15
|
+
* @returns A market {@link Market}
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* import { getMarket } from '@clober/v2-sdk'
|
|
19
|
+
*
|
|
20
|
+
* const market = await getMarket({
|
|
21
|
+
* chainId: 421614,
|
|
22
|
+
* token0: '0x00bfd44e79fb7f6dd5887a9426c8ef85a0cd23e0',
|
|
23
|
+
* token1: '0x0000000000000000000000000000000000000000',
|
|
24
|
+
* })
|
|
25
|
+
*/
|
|
26
|
+
export const getMarket = async ({ chainId, token0, token1, options, }) => {
|
|
27
|
+
if (isAddressEqual(token0, token1)) {
|
|
28
|
+
throw new Error('Token0 and token1 must be different');
|
|
29
|
+
}
|
|
30
|
+
const publicClient = createPublicClient({
|
|
31
|
+
chain: CHAIN_MAP[chainId],
|
|
32
|
+
transport: options?.rpcUrl ? http(options.rpcUrl) : http(),
|
|
33
|
+
});
|
|
34
|
+
const market = await fetchMarket(publicClient, chainId, [token0, token1], !!(options && options.useSubgraph));
|
|
35
|
+
return market.toJson();
|
|
36
|
+
};
|
|
37
|
+
/**
|
|
38
|
+
* Get prices for a list of token pairs from bid books
|
|
39
|
+
* @param chainId - chain id from {@link CHAIN_IDS}
|
|
40
|
+
* @param tokenPairs - array of token address pairs
|
|
41
|
+
* @param options {@link DefaultReadContractOptions} options.
|
|
42
|
+
* @returns Array of price results with token pairs and their prices
|
|
43
|
+
*
|
|
44
|
+
* @example
|
|
45
|
+
* import { getPrices } from '@clober/v2-sdk'
|
|
46
|
+
*
|
|
47
|
+
* const prices = await getPrices({
|
|
48
|
+
* chainId: 421614,
|
|
49
|
+
* tokenPairs: [
|
|
50
|
+
* { token0: '0x...', token1: '0x...' },
|
|
51
|
+
* { token0: '0x...', token1: '0x...' }
|
|
52
|
+
* ]
|
|
53
|
+
* })
|
|
54
|
+
*/
|
|
55
|
+
export const getPrices = async ({ chainId, tokenPairs, options, }) => {
|
|
56
|
+
const publicClient = createPublicClient({
|
|
57
|
+
chain: CHAIN_MAP[chainId],
|
|
58
|
+
transport: options?.rpcUrl ? http(options.rpcUrl) : http(),
|
|
59
|
+
});
|
|
60
|
+
return fetchPrices(publicClient, chainId, tokenPairs);
|
|
61
|
+
};
|
|
62
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/views/market/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,MAAM,CAAC;AAEhE,OAAO,EAAa,SAAS,EAAE,MAAM,qCAAqC,CAAC;AAE3E,OAAO,EACL,WAAW,EACX,WAAW,GAGZ,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,4BAA4B,EAAE,MAAM,SAAS,CAAC;AAEvD;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,KAAK,EAAE,EAC9B,OAAO,EACP,MAAM,EACN,MAAM,EACN,OAAO,GAQR,EAAmB,EAAE;IACpB,IAAI,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;IACzD,CAAC;IACD,MAAM,YAAY,GAAG,kBAAkB,CAAC;QACtC,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC;QACzB,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;KAC3D,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,MAAM,WAAW,CAC9B,YAAY,EACZ,OAAO,EACP,CAAC,MAAM,EAAE,MAAM,CAAC,EAChB,CAAC,CAAC,CAAC,OAAO,IAAI,OAAO,CAAC,WAAW,CAAC,CACnC,CAAC;IACF,OAAO,MAAM,CAAC,MAAM,EAAE,CAAC;AACzB,CAAC,CAAC;AAEF;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,KAAK,EAAE,EAC9B,OAAO,EACP,UAAU,EACV,OAAO,GAKR,EAA0B,EAAE;IAC3B,MAAM,YAAY,GAAG,kBAAkB,CAAC;QACtC,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC;QACzB,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;KAC3D,CAAC,CAAC;IACH,OAAO,WAAW,CAAC,YAAY,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;AACxD,CAAC,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { parseEventLogs } from 'viem';
|
|
2
|
+
import { BOOK_MANAGER_ABI } from '../../constants/abis/core/book-manager-abi';
|
|
3
|
+
import { toOrderId } from '../../entities/open-order/utils/order-id';
|
|
4
|
+
export const parseMakeOrderIdsFromReceipt = ({ market, transactionReceipt, }) => {
|
|
5
|
+
const logs = parseEventLogs({
|
|
6
|
+
abi: BOOK_MANAGER_ABI,
|
|
7
|
+
logs: transactionReceipt.logs,
|
|
8
|
+
}).filter((log) => log.eventName === 'Make');
|
|
9
|
+
return {
|
|
10
|
+
bidOrderIds: logs
|
|
11
|
+
.filter(({ args: { bookId } }) => bookId === BigInt(market.bidBook.id))
|
|
12
|
+
.map(({ args: { orderIndex, bookId, tick } }) => toOrderId(bookId, BigInt(tick), orderIndex).toString(10)),
|
|
13
|
+
askOrderIds: logs
|
|
14
|
+
.filter(({ args: { bookId } }) => bookId === BigInt(market.askBook.id))
|
|
15
|
+
.map(({ args: { orderIndex, bookId, tick } }) => toOrderId(bookId, BigInt(tick), orderIndex).toString(10)),
|
|
16
|
+
};
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=parse.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parse.js","sourceRoot":"","sources":["../../../../src/views/market/parse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAsB,MAAM,MAAM,CAAC;AAE1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,4CAA4C,CAAC;AAC9E,OAAO,EAAE,SAAS,EAAE,MAAM,0CAA0C,CAAC;AAGrE,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,EAC3C,MAAM,EACN,kBAAkB,GAInB,EAAoD,EAAE;IACrD,MAAM,IAAI,GAAG,cAAc,CAAC;QAC1B,GAAG,EAAE,gBAAgB;QACrB,IAAI,EAAE,kBAAkB,CAAC,IAAI;KAC9B,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,SAAS,KAAK,MAAM,CAGzC,CAAC;IACH,OAAO;QACL,WAAW,EAAE,IAAI;aACd,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;aACtE,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,CAC9C,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CACzD;QACH,WAAW,EAAE,IAAI;aACd,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;aACtE,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,CAC9C,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CACzD;KACJ,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
import { createPublicClient, formatUnits, http, isAddressEqual, parseUnits, } from 'viem';
|
|
2
|
+
import { CHAIN_MAP } from '../../constants/chain-configs/chain';
|
|
3
|
+
import { fetchMarket } from '../../entities/market/apis';
|
|
4
|
+
import { formatPrice, invertTick, parsePrice, toPrice } from '../../utils';
|
|
5
|
+
import { MAX_TICK, MIN_TICK } from '../../constants/tick';
|
|
6
|
+
/**
|
|
7
|
+
* Calculates the expected output for a given input amount, based on the provided market data.
|
|
8
|
+
*
|
|
9
|
+
* @param chainId The chain ID of the blockchain.
|
|
10
|
+
* @param inputToken The address of the input token.
|
|
11
|
+
* @param outputToken The address of the output token.
|
|
12
|
+
* @param amountIn The amount of expected input amount. (ex 1.2 ETH -> 1.2)
|
|
13
|
+
* @param options {@link DefaultReadContractOptions} options.
|
|
14
|
+
* @param options.limitPrice The maximum limit price to take.
|
|
15
|
+
* @param options.roundingDownTakenBid Whether to round down the taken bid.
|
|
16
|
+
* @param options.roundingUpTakenAsk Whether to round up the taken ask.
|
|
17
|
+
* @returns A Promise resolving to an object containing the taken amount, spend amount and result of the calculation.
|
|
18
|
+
* @example
|
|
19
|
+
* import { getExpectedOutput } from '@clober/v2-sdk'
|
|
20
|
+
*
|
|
21
|
+
* const { takenAmount, spentAmount } = await getExpectedOutput({
|
|
22
|
+
* chainId: 421614,
|
|
23
|
+
* inputToken: '0x00bfd44e79fb7f6dd5887a9426c8ef85a0cd23e0',
|
|
24
|
+
* outputToken: '0x0000000000000000000000000000000000000000',
|
|
25
|
+
* amountIn: '1000.123', // spend 1000.123 USDC
|
|
26
|
+
* })
|
|
27
|
+
*/
|
|
28
|
+
export const getExpectedOutput = async ({ chainId, inputToken, outputToken, amountIn, options, }) => {
|
|
29
|
+
const [roundingDownTakenBid, roundingUpTakenAsk] = [
|
|
30
|
+
options?.roundingDownTakenBid ? options.roundingDownTakenBid : false,
|
|
31
|
+
options?.roundingUpTakenAsk ? options.roundingUpTakenAsk : false,
|
|
32
|
+
];
|
|
33
|
+
const publicClient = createPublicClient({
|
|
34
|
+
chain: CHAIN_MAP[chainId],
|
|
35
|
+
transport: options?.rpcUrl ? http(options.rpcUrl) : http(),
|
|
36
|
+
});
|
|
37
|
+
const market = await fetchMarket(publicClient, chainId, [inputToken, outputToken], !!(options && options.useSubgraph));
|
|
38
|
+
const isBid = isAddressEqual(market.quote.address, inputToken);
|
|
39
|
+
const { roundingDownTick, roundingUpTick } = options && options.limitPrice
|
|
40
|
+
? parsePrice(Number(options.limitPrice), market.quote.decimals, market.base.decimals)
|
|
41
|
+
: isBid
|
|
42
|
+
? {
|
|
43
|
+
roundingDownTick: MAX_TICK,
|
|
44
|
+
roundingUpTick: MAX_TICK,
|
|
45
|
+
}
|
|
46
|
+
: {
|
|
47
|
+
roundingDownTick: MIN_TICK,
|
|
48
|
+
roundingUpTick: MIN_TICK,
|
|
49
|
+
};
|
|
50
|
+
const inputCurrency = isBid ? market.quote : market.base;
|
|
51
|
+
const isTakingBidSide = !isBid;
|
|
52
|
+
const { takenQuoteAmount, spentBaseAmount, bookId, events } = market.spend({
|
|
53
|
+
spentBase: isTakingBidSide,
|
|
54
|
+
limitTick: isTakingBidSide
|
|
55
|
+
? roundingDownTakenBid
|
|
56
|
+
? roundingDownTick
|
|
57
|
+
: roundingUpTick
|
|
58
|
+
: roundingUpTakenAsk
|
|
59
|
+
? roundingUpTick
|
|
60
|
+
: roundingDownTick,
|
|
61
|
+
amountIn: parseUnits(amountIn, inputCurrency.decimals),
|
|
62
|
+
});
|
|
63
|
+
return {
|
|
64
|
+
takenAmount: formatUnits(takenQuoteAmount, isBid ? market.base.decimals : market.quote.decimals),
|
|
65
|
+
spentAmount: formatUnits(spentBaseAmount, isBid ? market.quote.decimals : market.base.decimals),
|
|
66
|
+
bookId,
|
|
67
|
+
events: events.map(({ tick, takenQuoteAmount, spentBaseAmount }) => ({
|
|
68
|
+
price: formatPrice(toPrice(isBid ? invertTick(BigInt(tick)) : BigInt(tick)), market.quote.decimals, market.base.decimals),
|
|
69
|
+
takenAmount: formatUnits(takenQuoteAmount, isBid ? market.base.decimals : market.quote.decimals),
|
|
70
|
+
spentAmount: formatUnits(spentBaseAmount, isBid ? market.quote.decimals : market.base.decimals),
|
|
71
|
+
})),
|
|
72
|
+
};
|
|
73
|
+
};
|
|
74
|
+
/**
|
|
75
|
+
* Calculates the expected input for a given output amount, based on the provided market data.
|
|
76
|
+
*
|
|
77
|
+
* @param chainId The chain ID of the blockchain.
|
|
78
|
+
* @param inputToken The address of the input token.
|
|
79
|
+
* @param outputToken The address of the output token.
|
|
80
|
+
* @param amountOut The amount of expected output amount. (ex 1.2 ETH -> 1.2)
|
|
81
|
+
* @param options {@link DefaultReadContractOptions} options.
|
|
82
|
+
* @param options.limitPrice The maximum limit price to take.
|
|
83
|
+
* @param options.roundingDownTakenBid Whether to round down the taken bid.
|
|
84
|
+
* @param options.roundingUpTakenAsk Whether to round up the taken ask.
|
|
85
|
+
* @param options.useSubgraph Whether to use the subgraph to fetch the market data.
|
|
86
|
+
* @returns A Promise resolving to an object containing the taken amount, spent amount and result of the calculation.
|
|
87
|
+
* @example
|
|
88
|
+
* import { getExpectedInput } from '@clober/v2-sdk'
|
|
89
|
+
*
|
|
90
|
+
* const { takenAmount, spentAmount } = await getExpectedInput({
|
|
91
|
+
* chainId: 421614,
|
|
92
|
+
* inputToken: '0x00bfd44e79fb7f6dd5887a9426c8ef85a0cd23e0',
|
|
93
|
+
* outputToken: '0x0000000000000000000000000000000000000000',
|
|
94
|
+
* amountOut: '0.1', // take 0.1 ETH
|
|
95
|
+
* })
|
|
96
|
+
*/
|
|
97
|
+
export const getExpectedInput = async ({ chainId, inputToken, outputToken, amountOut, options, }) => {
|
|
98
|
+
const [roundingDownTakenBid, roundingUpTakenAsk] = [
|
|
99
|
+
options?.roundingDownTakenBid ? options.roundingDownTakenBid : false,
|
|
100
|
+
options?.roundingUpTakenAsk ? options.roundingUpTakenAsk : false,
|
|
101
|
+
];
|
|
102
|
+
const publicClient = createPublicClient({
|
|
103
|
+
chain: CHAIN_MAP[chainId],
|
|
104
|
+
transport: options?.rpcUrl ? http(options.rpcUrl) : http(),
|
|
105
|
+
});
|
|
106
|
+
const market = await fetchMarket(publicClient, chainId, [inputToken, outputToken], !!(options && options.useSubgraph));
|
|
107
|
+
const isBid = isAddressEqual(market.quote.address, inputToken);
|
|
108
|
+
const { roundingDownTick, roundingUpTick } = options && options.limitPrice
|
|
109
|
+
? parsePrice(Number(options.limitPrice), market.quote.decimals, market.base.decimals)
|
|
110
|
+
: isBid
|
|
111
|
+
? { roundingDownTick: MAX_TICK, roundingUpTick: MAX_TICK }
|
|
112
|
+
: { roundingDownTick: MIN_TICK, roundingUpTick: MIN_TICK };
|
|
113
|
+
const outputCurrency = isBid ? market.base : market.quote;
|
|
114
|
+
const isTakingBidSide = !isBid;
|
|
115
|
+
const { takenQuoteAmount, spentBaseAmount, bookId, events } = market.take({
|
|
116
|
+
takeQuote: isTakingBidSide,
|
|
117
|
+
limitTick: isTakingBidSide
|
|
118
|
+
? roundingDownTakenBid
|
|
119
|
+
? roundingDownTick
|
|
120
|
+
: roundingUpTick
|
|
121
|
+
: roundingUpTakenAsk
|
|
122
|
+
? roundingUpTick
|
|
123
|
+
: roundingDownTick,
|
|
124
|
+
amountOut: parseUnits(amountOut, outputCurrency.decimals),
|
|
125
|
+
});
|
|
126
|
+
return {
|
|
127
|
+
takenAmount: formatUnits(takenQuoteAmount, isBid ? market.base.decimals : market.quote.decimals),
|
|
128
|
+
spentAmount: formatUnits(spentBaseAmount, isBid ? market.quote.decimals : market.base.decimals),
|
|
129
|
+
bookId,
|
|
130
|
+
events: events.map(({ tick, takenQuoteAmount, spentBaseAmount }) => ({
|
|
131
|
+
price: formatPrice(toPrice(isBid ? invertTick(BigInt(tick)) : BigInt(tick)), market.quote.decimals, market.base.decimals),
|
|
132
|
+
takenAmount: formatUnits(takenQuoteAmount, isBid ? market.base.decimals : market.quote.decimals),
|
|
133
|
+
spentAmount: formatUnits(spentBaseAmount, isBid ? market.quote.decimals : market.base.decimals),
|
|
134
|
+
})),
|
|
135
|
+
};
|
|
136
|
+
};
|
|
137
|
+
//# sourceMappingURL=quote.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"quote.js","sourceRoot":"","sources":["../../../../src/views/market/quote.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { createPublicClient, http } from 'viem';
|
|
2
|
+
import { CHAIN_MAP } from '../../constants/chain-configs/chain';
|
|
3
|
+
import { fetchMarketSnapshot, fetchMarketSnapshots, } from '../../entities/market/apis/snapshot';
|
|
4
|
+
import { currentTimestampInSeconds } from '../../utils/time';
|
|
5
|
+
export const getMarketSnapshot = async ({ chainId, token0, token1, options, }) => {
|
|
6
|
+
const publicClient = createPublicClient({
|
|
7
|
+
chain: CHAIN_MAP[chainId],
|
|
8
|
+
transport: options?.rpcUrl ? http(options.rpcUrl) : http(),
|
|
9
|
+
});
|
|
10
|
+
return fetchMarketSnapshot(publicClient, chainId, token0, token1, options && options.timestampInSeconds
|
|
11
|
+
? options.timestampInSeconds
|
|
12
|
+
: currentTimestampInSeconds());
|
|
13
|
+
};
|
|
14
|
+
export const getMarketSnapshots = async ({ chainId, options, }) => {
|
|
15
|
+
const publicClient = createPublicClient({
|
|
16
|
+
chain: CHAIN_MAP[chainId],
|
|
17
|
+
transport: options?.rpcUrl ? http(options.rpcUrl) : http(),
|
|
18
|
+
});
|
|
19
|
+
return fetchMarketSnapshots(publicClient, chainId, options && options.timestampInSeconds
|
|
20
|
+
? options.timestampInSeconds
|
|
21
|
+
: currentTimestampInSeconds());
|
|
22
|
+
};
|
|
23
|
+
//# sourceMappingURL=snapshot.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"snapshot.js","sourceRoot":"","sources":["../../../../src/views/market/snapshot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAEhD,OAAO,EAAa,SAAS,EAAE,MAAM,qCAAqC,CAAC;AAE3E,OAAO,EACL,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAE7D,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,EAAE,EACtC,OAAO,EACP,MAAM,EACN,MAAM,EACN,OAAO,GAMR,EAAkC,EAAE;IACnC,MAAM,YAAY,GAAG,kBAAkB,CAAC;QACtC,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC;QACzB,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;KAC3D,CAAC,CAAC;IACH,OAAO,mBAAmB,CACxB,YAAY,EACZ,OAAO,EACP,MAAM,EACN,MAAM,EACN,OAAO,IAAI,OAAO,CAAC,kBAAkB;QACnC,CAAC,CAAC,OAAO,CAAC,kBAAkB;QAC5B,CAAC,CAAC,yBAAyB,EAAE,CAChC,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,EAAE,EACvC,OAAO,EACP,OAAO,GAIR,EAA6B,EAAE;IAC9B,MAAM,YAAY,GAAG,kBAAkB,CAAC;QACtC,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC;QACzB,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;KAC3D,CAAC,CAAC;IACH,OAAO,oBAAoB,CACzB,YAAY,EACZ,OAAO,EACP,OAAO,IAAI,OAAO,CAAC,kBAAkB;QACnC,CAAC,CAAC,OAAO,CAAC,kBAAkB;QAC5B,CAAC,CAAC,yBAAyB,EAAE,CAChC,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { getAddress } from 'viem';
|
|
2
|
+
import { getMarketId } from '../../entities/market/utils/market-id';
|
|
3
|
+
/**
|
|
4
|
+
* Retrieves the quote token address for a given chain and a pair of tokens.
|
|
5
|
+
*
|
|
6
|
+
* @param chainId - chain id from {@link CHAIN_IDS}
|
|
7
|
+
* @param token0 - token0 address
|
|
8
|
+
* @param token1 - token1 address
|
|
9
|
+
* @returns {string} The address of the quote token.
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* import { getQuoteToken } from '@clober/v2-sdk'
|
|
13
|
+
*
|
|
14
|
+
* const quote = await getQuoteToken({
|
|
15
|
+
* chainId: 421614,
|
|
16
|
+
* token0: '0x00bfd44e79fb7f6dd5887a9426c8ef85a0cd23e0',
|
|
17
|
+
* token1: '0x0000000000000000000000000000000000000000',
|
|
18
|
+
* })
|
|
19
|
+
*/
|
|
20
|
+
export const getQuoteToken = ({ chainId, token0, token1, }) => {
|
|
21
|
+
return getAddress(getMarketId(chainId, [token0, token1]).quoteTokenAddress);
|
|
22
|
+
};
|
|
23
|
+
//# sourceMappingURL=token.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"token.js","sourceRoot":"","sources":["../../../../src/views/market/token.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAGlC,OAAO,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAC;AAEpE;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,EAC5B,OAAO,EACP,MAAM,EACN,MAAM,GAKP,EAAiB,EAAE;IAClB,OAAO,UAAU,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC;AAC9E,CAAC,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { fetchOpenOrderByOrderIdFromSubgraph, fetchOpenOrdersByUserAddressFromSubgraph, } from '../entities/open-order/apis';
|
|
2
|
+
/**
|
|
3
|
+
* Retrieves the open order with the specified ID on the given chain.
|
|
4
|
+
*
|
|
5
|
+
* @param {CHAIN_IDS} chainId The chain ID.
|
|
6
|
+
* @param {string} id The ID of the open order.
|
|
7
|
+
* @param options {@link DefaultReadContractOptions} options.
|
|
8
|
+
* @returns {Promise<OpenOrder>} Promise resolving to the open order object, or undefined if not found.
|
|
9
|
+
* @example
|
|
10
|
+
* import { getOpenOrder } from '@clober/v2-sdk'
|
|
11
|
+
*
|
|
12
|
+
* const openOrder = await getOpenOrder({
|
|
13
|
+
* chainId: 421614,
|
|
14
|
+
* id: '46223845323662364279893361453861711542636620039907198451770258805035840307200'
|
|
15
|
+
* })
|
|
16
|
+
*/
|
|
17
|
+
export const getOpenOrder = async ({ chainId, id, }) => {
|
|
18
|
+
return fetchOpenOrderByOrderIdFromSubgraph(chainId, id);
|
|
19
|
+
};
|
|
20
|
+
/**
|
|
21
|
+
* Retrieves open orders for the specified user on the given chain.
|
|
22
|
+
*
|
|
23
|
+
* @param {CHAIN_IDS} chainId The chain ID.
|
|
24
|
+
* @param {`0x${string}`} userAddress The Ethereum address of the user.
|
|
25
|
+
* @param options {@link DefaultReadContractOptions} options.
|
|
26
|
+
* @returns {Promise<OpenOrder[]>} Promise resolving to an array of open orders.
|
|
27
|
+
* @example
|
|
28
|
+
* import { getOpenOrders } from '@clober/v2-sdk'
|
|
29
|
+
*
|
|
30
|
+
* const openOrders = await getOpenOrders({
|
|
31
|
+
* chainId: 421614,
|
|
32
|
+
* userAddress: '0x5F79EE8f8fA862E98201120d83c4eC39D9468D49'
|
|
33
|
+
* })
|
|
34
|
+
*/
|
|
35
|
+
export const getOpenOrders = async ({ chainId, userAddress, }) => {
|
|
36
|
+
return fetchOpenOrdersByUserAddressFromSubgraph(chainId, userAddress);
|
|
37
|
+
};
|
|
38
|
+
//# sourceMappingURL=open-order.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"open-order.js","sourceRoot":"","sources":["../../../src/views/open-order.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,mCAAmC,EACnC,wCAAwC,GACzC,MAAM,6BAA6B,CAAC;AAErC;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,EAAE,EACjC,OAAO,EACP,EAAE,GAIH,EAAsB,EAAE;IACvB,OAAO,mCAAmC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;AAC1D,CAAC,CAAC;AACF;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,EAAE,EAClC,OAAO,EACP,WAAW,GAIZ,EAAwB,EAAE;IACzB,OAAO,wCAAwC,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;AACxE,CAAC,CAAC"}
|