@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,61 @@
|
|
|
1
|
+
export const MAKE_ORDER_PARAMS_ABI = [
|
|
2
|
+
{
|
|
3
|
+
components: [
|
|
4
|
+
{
|
|
5
|
+
internalType: 'BookId',
|
|
6
|
+
name: 'id',
|
|
7
|
+
type: 'uint192',
|
|
8
|
+
},
|
|
9
|
+
{
|
|
10
|
+
internalType: 'Tick',
|
|
11
|
+
name: 'tick',
|
|
12
|
+
type: 'int24',
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
internalType: 'uint256',
|
|
16
|
+
name: 'quoteAmount',
|
|
17
|
+
type: 'uint256',
|
|
18
|
+
},
|
|
19
|
+
{ name: 'provider', internalType: 'address', type: 'address' },
|
|
20
|
+
{ name: 'referrer', internalType: 'address', type: 'address' },
|
|
21
|
+
{ name: 'owner', internalType: 'address', type: 'address' },
|
|
22
|
+
],
|
|
23
|
+
internalType: 'struct IController.MakeOrderParams',
|
|
24
|
+
name: 'params',
|
|
25
|
+
type: 'tuple',
|
|
26
|
+
},
|
|
27
|
+
];
|
|
28
|
+
export const CLAIM_ORDER_PARAMS_ABI = [
|
|
29
|
+
{
|
|
30
|
+
components: [
|
|
31
|
+
{
|
|
32
|
+
internalType: 'OrderId',
|
|
33
|
+
name: 'id',
|
|
34
|
+
type: 'uint256',
|
|
35
|
+
},
|
|
36
|
+
],
|
|
37
|
+
internalType: 'struct IController.ClaimOrderParams',
|
|
38
|
+
name: 'params',
|
|
39
|
+
type: 'tuple',
|
|
40
|
+
},
|
|
41
|
+
];
|
|
42
|
+
export const CANCEL_ORDER_PARAMS_ABI = [
|
|
43
|
+
{
|
|
44
|
+
components: [
|
|
45
|
+
{
|
|
46
|
+
internalType: 'OrderId',
|
|
47
|
+
name: 'id',
|
|
48
|
+
type: 'uint256',
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
internalType: 'uint256',
|
|
52
|
+
name: 'leftQuoteAmount',
|
|
53
|
+
type: 'uint256',
|
|
54
|
+
},
|
|
55
|
+
],
|
|
56
|
+
internalType: 'struct IController.CancelOrderParams',
|
|
57
|
+
name: 'params',
|
|
58
|
+
type: 'tuple',
|
|
59
|
+
},
|
|
60
|
+
];
|
|
61
|
+
//# sourceMappingURL=params-abi.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"params-abi.js","sourceRoot":"","sources":["../../../../../src/constants/abis/core/params-abi.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC;QACE,UAAU,EAAE;YACV;gBACE,YAAY,EAAE,QAAQ;gBACtB,IAAI,EAAE,IAAI;gBACV,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,YAAY,EAAE,MAAM;gBACpB,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,OAAO;aACd;YACD;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,aAAa;gBACnB,IAAI,EAAE,SAAS;aAChB;YACD,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;YAC9D,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;YAC9D,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;SAC5D;QACD,YAAY,EAAE,oCAAoC;QAClD,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,OAAO;KACd;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC;QACE,UAAU,EAAE;YACV;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,IAAI;gBACV,IAAI,EAAE,SAAS;aAChB;SACF;QACD,YAAY,EAAE,qCAAqC;QACnD,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,OAAO;KACd;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC;QACE,UAAU,EAAE;YACV;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,IAAI;gBACV,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,SAAS;aAChB;SACF;QACD,YAAY,EAAE,sCAAsC;QACpD,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,OAAO;KACd;CACF,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { getAddress } from 'viem';
|
|
2
|
+
import { CHAIN_IDS } from './chain';
|
|
3
|
+
export const CONTRACT_ADDRESSES = {
|
|
4
|
+
[CHAIN_IDS.BASE_SEPOLIA]: {
|
|
5
|
+
Controller: getAddress('0xdd8ffdc98c94977646575f94da8e481fee68a2f5'),
|
|
6
|
+
BookManager: getAddress('0xa5230a2e032ba9d939d9ce083a52061d4ebdb7ee'),
|
|
7
|
+
BookViewer: getAddress('0x1ef5bf79e209a39e17f7b68b7fccd4207e773074'),
|
|
8
|
+
},
|
|
9
|
+
[CHAIN_IDS.ANVIL]: {
|
|
10
|
+
Controller: getAddress('0xcf7ed3acca5a467e9e704c703e8d87f634fb0fc9'),
|
|
11
|
+
BookManager: getAddress('0x9fe46736679d2d9a65f0992f2272de9f3c7fa6e0'),
|
|
12
|
+
BookViewer: getAddress('0x5fc8d32690cc91d4c39d9d3abcbd16989f875707'),
|
|
13
|
+
},
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=addresses.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"addresses.js","sourceRoot":"","sources":["../../../../src/constants/chain-configs/addresses.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAElC,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEpC,MAAM,CAAC,MAAM,kBAAkB,GAM3B;IACF,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE;QACxB,UAAU,EAAE,UAAU,CAAC,4CAA4C,CAAC;QACpE,WAAW,EAAE,UAAU,CAAC,4CAA4C,CAAC;QACrE,UAAU,EAAE,UAAU,CAAC,4CAA4C,CAAC;KACrE;IACD,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;QACjB,UAAU,EAAE,UAAU,CAAC,4CAA4C,CAAC;QACpE,WAAW,EAAE,UAAU,CAAC,4CAA4C,CAAC;QACrE,UAAU,EAAE,UAAU,CAAC,4CAA4C,CAAC;KACrE;CACF,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { baseSepolia, anvil } from 'viem/chains';
|
|
2
|
+
// Custom anvil chain with multicall3 address
|
|
3
|
+
export const anvilChain = {
|
|
4
|
+
...anvil,
|
|
5
|
+
contracts: {
|
|
6
|
+
...anvil.contracts,
|
|
7
|
+
multicall3: {
|
|
8
|
+
address: '0xcA11bde05977b3631167028862bE2a173976CA11',
|
|
9
|
+
},
|
|
10
|
+
},
|
|
11
|
+
};
|
|
12
|
+
// follow the https://docs.alchemy.com/reference/supported-subgraph-chains
|
|
13
|
+
export var CHAIN_IDS;
|
|
14
|
+
(function (CHAIN_IDS) {
|
|
15
|
+
CHAIN_IDS[CHAIN_IDS["BASE_SEPOLIA"] = baseSepolia.id] = "BASE_SEPOLIA";
|
|
16
|
+
CHAIN_IDS[CHAIN_IDS["ANVIL"] = anvil.id] = "ANVIL";
|
|
17
|
+
})(CHAIN_IDS || (CHAIN_IDS = {}));
|
|
18
|
+
export const CHAIN_MAP = {
|
|
19
|
+
[CHAIN_IDS.BASE_SEPOLIA]: baseSepolia,
|
|
20
|
+
[CHAIN_IDS.ANVIL]: anvilChain,
|
|
21
|
+
};
|
|
22
|
+
//# sourceMappingURL=chain.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chain.js","sourceRoot":"","sources":["../../../../src/constants/chain-configs/chain.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,KAAK,EAAc,MAAM,aAAa,CAAC;AAE7D,6CAA6C;AAC7C,MAAM,CAAC,MAAM,UAAU,GAAU;IAC/B,GAAG,KAAK;IACR,SAAS,EAAE;QACT,GAAG,KAAK,CAAC,SAAS;QAClB,UAAU,EAAE;YACV,OAAO,EAAE,4CAA4C;SACtD;KACF;CACF,CAAC;AAEF,0EAA0E;AAC1E,MAAM,CAAN,IAAY,SAGX;AAHD,WAAY,SAAS;IACnB,sCAAe,WAAW,CAAC,EAAE,kBAAA,CAAA;IAC7B,+BAAQ,KAAK,CAAC,EAAE,WAAA,CAAA;AAClB,CAAC,EAHW,SAAS,KAAT,SAAS,QAGpB;AAED,MAAM,CAAC,MAAM,SAAS,GAElB;IACF,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,WAAW;IACrC,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,UAAU;CAC9B,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { getAddress } from 'viem';
|
|
2
|
+
import { CHAIN_IDS } from './chain';
|
|
3
|
+
// @dev: https://defillama.com/stablecoins
|
|
4
|
+
// order by total circulating supply (over $40M)
|
|
5
|
+
export const STABLE_COINS = {
|
|
6
|
+
[CHAIN_IDS.BASE_SEPOLIA]: [
|
|
7
|
+
{
|
|
8
|
+
address: getAddress('0x37352bda4dc0a4a81aa7108deb1c3b2ae7514e0e'),
|
|
9
|
+
name: 'USD Coin',
|
|
10
|
+
symbol: 'USDC',
|
|
11
|
+
decimals: 6,
|
|
12
|
+
},
|
|
13
|
+
],
|
|
14
|
+
[CHAIN_IDS.ANVIL]: [
|
|
15
|
+
{
|
|
16
|
+
address: getAddress('0xa513e6e4b8f2a923d98304ec87f64353c4d5c853'),
|
|
17
|
+
name: 'USDC',
|
|
18
|
+
symbol: 'USDC',
|
|
19
|
+
decimals: 6,
|
|
20
|
+
},
|
|
21
|
+
],
|
|
22
|
+
};
|
|
23
|
+
//# sourceMappingURL=currency.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"currency.js","sourceRoot":"","sources":["../../../../src/constants/chain-configs/currency.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAIlC,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEpC,0CAA0C;AAC1C,gDAAgD;AAChD,MAAM,CAAC,MAAM,YAAY,GAErB;IACF,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE;QACxB;YACE,OAAO,EAAE,UAAU,CAAC,4CAA4C,CAAC;YACjE,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,MAAM;YACd,QAAQ,EAAE,CAAC;SACZ;KACF;IACD,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;QACjB;YACE,OAAO,EAAE,UAAU,CAAC,4CAA4C,CAAC;YACjE,IAAI,EAAE,MAAM;YACZ,MAAM,EAAE,MAAM;YACd,QAAQ,EAAE,CAAC;SACZ;KACF;CACF,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { FeePolicy } from '../../entities/fee-policy/model';
|
|
2
|
+
import { CHAIN_IDS } from './chain';
|
|
3
|
+
export const MAKER_DEFAULT_POLICY = {
|
|
4
|
+
[CHAIN_IDS.BASE_SEPOLIA]: new FeePolicy(true, 30000n), // 3%,
|
|
5
|
+
[CHAIN_IDS.ANVIL]: new FeePolicy(true, 30000n), // 3%
|
|
6
|
+
};
|
|
7
|
+
export const TAKER_DEFAULT_POLICY = {
|
|
8
|
+
[CHAIN_IDS.BASE_SEPOLIA]: new FeePolicy(false, 30000n), // 3%
|
|
9
|
+
[CHAIN_IDS.ANVIL]: new FeePolicy(false, 30000n), // 3%
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=fee.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fee.js","sourceRoot":"","sources":["../../../../src/constants/chain-configs/fee.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAE5D,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEpC,MAAM,CAAC,MAAM,oBAAoB,GAE7B;IACF,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,IAAI,SAAS,CAAC,IAAI,EAAE,MAAO,CAAC,EAAE,MAAM;IAC9D,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,IAAI,SAAS,CAAC,IAAI,EAAE,MAAO,CAAC,EAAE,KAAK;CACvD,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAE7B;IACF,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,IAAI,SAAS,CAAC,KAAK,EAAE,MAAO,CAAC,EAAE,KAAK;IAC9D,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,IAAI,SAAS,CAAC,KAAK,EAAE,MAAO,CAAC,EAAE,KAAK;CACxD,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import axios from 'axios';
|
|
2
|
+
import { CHAIN_IDS } from './chain';
|
|
3
|
+
export const SUBGRAPH_URL = {
|
|
4
|
+
[CHAIN_IDS.BASE_SEPOLIA]: 'https://subgraph.satsuma-prod.com/f890d39dbfc0/spring--767127/1st-dex-v5/api',
|
|
5
|
+
[CHAIN_IDS.ANVIL]: 'http://localhost:8000/subgraphs/name/v2-core-subgraph',
|
|
6
|
+
};
|
|
7
|
+
export class Subgraph {
|
|
8
|
+
static async get(chainId, operationName, query, variables) {
|
|
9
|
+
if (!SUBGRAPH_URL[chainId]) {
|
|
10
|
+
throw new Error('Unsupported chain for subgraph');
|
|
11
|
+
}
|
|
12
|
+
const response = await axios.post(SUBGRAPH_URL[chainId], { query, variables, operationName }, {
|
|
13
|
+
timeout: 5000, // TODO: pass with option
|
|
14
|
+
});
|
|
15
|
+
if (response.status === 200) {
|
|
16
|
+
return response.data;
|
|
17
|
+
}
|
|
18
|
+
else {
|
|
19
|
+
throw new Error(response.data.errors || 'Failed to fetch data');
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=subgraph.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"subgraph.js","sourceRoot":"","sources":["../../../../src/constants/chain-configs/subgraph.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEpC,MAAM,CAAC,MAAM,YAAY,GAAqC;IAC5D,CAAC,SAAS,CAAC,YAAY,CAAC,EACtB,8EAA8E;IAChF,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,uDAAuD;CAC3E,CAAC;AAEF,MAAM,OAAO,QAAQ;IACZ,MAAM,CAAC,KAAK,CAAC,GAAG,CACrB,OAAkB,EAClB,aAAqB,EACrB,KAAa,EACb,SAAa;QAEb,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;QACpD,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,CAC/B,YAAY,CAAC,OAAO,CAAC,EACrB,EAAE,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,EACnC;YACE,OAAO,EAAE,IAAI,EAAE,yBAAyB;SACzC,CACF,CAAC;QAEF,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YAC5B,OAAO,QAAQ,CAAC,IAAI,CAAC;QACvB,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAE,QAAQ,CAAC,IAAY,CAAC,MAAM,IAAI,sBAAsB,CAAC,CAAC;QAC3E,CAAC;IACH,CAAC;CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"permit.js","sourceRoot":"","sources":["../../../src/constants/permit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAEhC,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,YAAY,EAAE,EAAE;IAChB,SAAS,EAAE;QACT,QAAQ,EAAE,EAAE;QACZ,CAAC,EAAE,CAAC;QACJ,CAAC,EAAE,QAAQ;QACX,CAAC,EAAE,QAAQ;KACZ;CACF,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"price.js","sourceRoot":"","sources":["../../../src/constants/price.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,SAAS,GAAG,qDAAqD,CAAC;AAC/E,MAAM,CAAC,MAAM,SAAS,GAAG,QAAQ,CAAC;AAClC,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tick.js","sourceRoot":"","sources":["../../../src/constants/tick.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,QAAQ,GAAG,EAAE,IAAI,GAAG,GAAG,EAAE,CAAC;AACvC,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,QAAQ,CAAC"}
|
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
import { getAddress } from 'viem';
|
|
2
|
+
import { Subgraph } from '../../../constants/chain-configs/subgraph';
|
|
3
|
+
import { convertTokenToDecimal } from '../../../utils/bigint';
|
|
4
|
+
const UNKNOWN = 'Unknown';
|
|
5
|
+
const FUNCTION_SIG_MAP = {
|
|
6
|
+
'0x7d773110': 'Limit', // make
|
|
7
|
+
'0xfe815746': 'Limit', // limit
|
|
8
|
+
'0xb305b94c': 'Limit', // make
|
|
9
|
+
'0x08b2c1d8': 'Limit', // limit
|
|
10
|
+
'0x8feb85b7': 'Claim',
|
|
11
|
+
'0xa04c796b': 'Cancel',
|
|
12
|
+
'0xc0e8e89a': 'Market',
|
|
13
|
+
'0x4f28185a': 'Add-Liq',
|
|
14
|
+
'0x0a31b953': 'Remove-Liq',
|
|
15
|
+
'0x7e865aa4': 'Swap',
|
|
16
|
+
'0xb69cbf9f': 'Swap', // swap with min amount out
|
|
17
|
+
'0x5973bd5e': 'Swap', // swap with fee
|
|
18
|
+
'0xa0f15331': UNKNOWN, // update position
|
|
19
|
+
'0xed56531a': UNKNOWN, // pause
|
|
20
|
+
'0xf4dfd83a': UNKNOWN, // arbitrage
|
|
21
|
+
};
|
|
22
|
+
export async function fetchProtocolAnalytics(chainId) {
|
|
23
|
+
const { data: { cloberDayDatas }, } = await Subgraph.get(chainId, 'getDailyCloberSnapshot', 'query getDailyCloberSnapshot { cloberDayDatas(first: 1000, orderBy: date, orderDirection: asc) { date walletCount newWalletCount transactionTypes { type txCount } routerDayData { router txCount } tokenDayData { volumeUSD totalValueLockedUSD protocolFeesUSD token { id name symbol decimals priceUSD } } } }', {});
|
|
24
|
+
const { data: { pools }, } = await Subgraph.get(chainId, 'getDailyPoolSnapshot', 'query getDailyPoolSnapshot { pools { id tokenA { id name symbol decimals tokenDayData(first: 1000, orderBy: date, orderDirection: desc) { date priceUSD } } tokenB { id name symbol decimals tokenDayData(first: 1000, orderBy: date, orderDirection: desc) { date priceUSD } } poolDayData(first: 1000, orderBy: date, orderDirection: desc) { date liquidityA liquidityB totalValueLockedUSD } } }', {});
|
|
25
|
+
const poolTvlMap = pools.reduce((acc, pool) => {
|
|
26
|
+
pool.poolDayData.forEach((poolDayData) => {
|
|
27
|
+
const date = poolDayData.date;
|
|
28
|
+
if (!acc[date]) {
|
|
29
|
+
acc[date] = {
|
|
30
|
+
usd: 0,
|
|
31
|
+
tvlMap: {},
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
acc[date].usd += Number(poolDayData.totalValueLockedUSD);
|
|
35
|
+
const tokenA = getAddress(pool.tokenA.id);
|
|
36
|
+
const tokenAPriceUSD = Number(pool.tokenA.tokenDayData.find((item) => item.date === date)
|
|
37
|
+
?.priceUSD ?? '0');
|
|
38
|
+
const tokenB = getAddress(pool.tokenB.id);
|
|
39
|
+
const tokenBPriceUSD = Number(pool.tokenB.tokenDayData.find((item) => item.date === date)
|
|
40
|
+
?.priceUSD ?? '0');
|
|
41
|
+
if (!acc[date].tvlMap[tokenA]) {
|
|
42
|
+
acc[date].tvlMap[tokenA] = 0;
|
|
43
|
+
}
|
|
44
|
+
if (!acc[date].tvlMap[tokenB]) {
|
|
45
|
+
acc[date].tvlMap[tokenB] = 0;
|
|
46
|
+
}
|
|
47
|
+
acc[date].tvlMap[tokenA] +=
|
|
48
|
+
convertTokenToDecimal(BigInt(poolDayData.liquidityA), Number(pool.tokenA.decimals)) * tokenAPriceUSD;
|
|
49
|
+
acc[date].tvlMap[tokenB] +=
|
|
50
|
+
convertTokenToDecimal(BigInt(poolDayData.liquidityB), Number(pool.tokenB.decimals)) * tokenBPriceUSD;
|
|
51
|
+
});
|
|
52
|
+
return acc;
|
|
53
|
+
}, {});
|
|
54
|
+
const analyticsSnapshots = cloberDayDatas.map((item) => ({
|
|
55
|
+
timestamp: item.date,
|
|
56
|
+
activeUsers: Number(item.walletCount),
|
|
57
|
+
firstTimeUsers: Number(item.newWalletCount),
|
|
58
|
+
transactionTypeCounts: item.transactionTypes.reduce((acc, transactionType) => {
|
|
59
|
+
const key = FUNCTION_SIG_MAP[transactionType.type] ?? UNKNOWN;
|
|
60
|
+
const count = Number(transactionType.txCount);
|
|
61
|
+
acc[key] = (acc[key] ?? 0) + count;
|
|
62
|
+
return acc;
|
|
63
|
+
}, {}),
|
|
64
|
+
routerCounts: item.routerDayData.reduce((acc, router) => {
|
|
65
|
+
acc[getAddress(router.router)] =
|
|
66
|
+
(acc[getAddress(router.router)] ?? 0) + Number(router.txCount);
|
|
67
|
+
return acc;
|
|
68
|
+
}, {}),
|
|
69
|
+
volume24hUSD: item.tokenDayData.reduce((acc, token) => acc + Number(token.volumeUSD), 0),
|
|
70
|
+
volume24hUSDMap: Object.fromEntries(item.tokenDayData.map((token) => [
|
|
71
|
+
getAddress(token.token.id),
|
|
72
|
+
{
|
|
73
|
+
currency: {
|
|
74
|
+
address: getAddress(token.token.id),
|
|
75
|
+
name: token.token.name,
|
|
76
|
+
symbol: token.token.symbol,
|
|
77
|
+
decimals: Number(token.token.decimals),
|
|
78
|
+
},
|
|
79
|
+
usd: Number(token.volumeUSD),
|
|
80
|
+
},
|
|
81
|
+
])),
|
|
82
|
+
protocolFees24hUSD: item.tokenDayData.reduce((acc, token) => acc + Number(token.protocolFeesUSD), 0),
|
|
83
|
+
protocolFees24hUSDMap: Object.fromEntries(item.tokenDayData.map((token) => [
|
|
84
|
+
getAddress(token.token.id),
|
|
85
|
+
{
|
|
86
|
+
currency: {
|
|
87
|
+
address: getAddress(token.token.id),
|
|
88
|
+
name: token.token.name,
|
|
89
|
+
symbol: token.token.symbol,
|
|
90
|
+
decimals: Number(token.token.decimals),
|
|
91
|
+
},
|
|
92
|
+
usd: Number(token.protocolFeesUSD),
|
|
93
|
+
},
|
|
94
|
+
])),
|
|
95
|
+
poolTotalValueLockedUSD: poolTvlMap?.[item.date]?.usd ?? 0,
|
|
96
|
+
poolTotalValueLockedUSDMap: Object.fromEntries(item.tokenDayData.map((token) => [
|
|
97
|
+
getAddress(token.token.id),
|
|
98
|
+
{
|
|
99
|
+
currency: {
|
|
100
|
+
address: getAddress(token.token.id),
|
|
101
|
+
name: token.token.name,
|
|
102
|
+
symbol: token.token.symbol,
|
|
103
|
+
decimals: Number(token.token.decimals),
|
|
104
|
+
},
|
|
105
|
+
usd: Number(poolTvlMap?.[item.date]?.tvlMap?.[getAddress(token.token.id)] ?? 0),
|
|
106
|
+
},
|
|
107
|
+
])),
|
|
108
|
+
totalValueLockedUSD: (poolTvlMap?.[item.date]?.usd ?? 0) +
|
|
109
|
+
item.tokenDayData.reduce((acc, token) => acc + Number(token.totalValueLockedUSD), 0),
|
|
110
|
+
totalValueLockedUSDMap: Object.fromEntries(item.tokenDayData.map((token) => [
|
|
111
|
+
getAddress(token.token.id),
|
|
112
|
+
{
|
|
113
|
+
currency: {
|
|
114
|
+
address: getAddress(token.token.id),
|
|
115
|
+
name: token.token.name,
|
|
116
|
+
symbol: token.token.symbol,
|
|
117
|
+
decimals: Number(token.token.decimals),
|
|
118
|
+
},
|
|
119
|
+
usd: Number(token.totalValueLockedUSD) +
|
|
120
|
+
Number(poolTvlMap?.[item.date]?.tvlMap?.[getAddress(token.token.id)] ?? 0),
|
|
121
|
+
},
|
|
122
|
+
])),
|
|
123
|
+
}));
|
|
124
|
+
return {
|
|
125
|
+
accumulatedUniqueUsers: analyticsSnapshots.reduce((acc, item) => acc + item.firstTimeUsers, 0),
|
|
126
|
+
accumulatedUniqueTransactions: analyticsSnapshots.reduce((acc, item) => acc +
|
|
127
|
+
Object.values(item.transactionTypeCounts).reduce((acc, item) => acc + item, 0), 0),
|
|
128
|
+
accumulatedUniqueSwapTransactions: analyticsSnapshots.reduce((acc, item) => acc +
|
|
129
|
+
Object.values(item.routerCounts).reduce((acc, item) => acc + item, 0), 0),
|
|
130
|
+
accumulatedVolumeUSD: analyticsSnapshots.reduce((acc, item) => acc + item.volume24hUSD, 0),
|
|
131
|
+
accumulatedProtocolFeesUSD: analyticsSnapshots.reduce((acc, item) => acc + item.protocolFees24hUSD, 0),
|
|
132
|
+
analyticsSnapshots,
|
|
133
|
+
};
|
|
134
|
+
}
|
|
135
|
+
export async function fetchUserVolumeSnapshots(chainId, userAddress) {
|
|
136
|
+
const { data: { userDayDatas }, } = await Subgraph.get(chainId, 'getDailyUserSnapshot', 'query getDailyUserSnapshot($user: Bytes!) { userDayDatas(where: {user: $user}) { date volumes { volumeUSD token { id name symbol decimals } } } }', {
|
|
137
|
+
user: userAddress.toLowerCase(),
|
|
138
|
+
});
|
|
139
|
+
return userDayDatas.map((item) => ({
|
|
140
|
+
timestamp: item.date,
|
|
141
|
+
volume24hUSD: item.volumes.reduce((acc, volume) => acc + Number(volume.volumeUSD), 0),
|
|
142
|
+
volume24hUSDMap: Object.fromEntries(item.volumes.map((volume) => [
|
|
143
|
+
getAddress(volume.token.id),
|
|
144
|
+
{
|
|
145
|
+
currency: {
|
|
146
|
+
address: getAddress(volume.token.id),
|
|
147
|
+
name: volume.token.name,
|
|
148
|
+
symbol: volume.token.symbol,
|
|
149
|
+
decimals: Number(volume.token.decimals),
|
|
150
|
+
},
|
|
151
|
+
usd: Number(volume.volumeUSD),
|
|
152
|
+
},
|
|
153
|
+
])),
|
|
154
|
+
}));
|
|
155
|
+
}
|
|
156
|
+
export async function fetchTopUsersByNativeVolume(chainId) {
|
|
157
|
+
const { data: { users }, } = await Subgraph.get(chainId, 'getTopUsersByNativeVolume', 'query getTopUsersByNativeVolume { users(first: 1000, orderBy: nativeVolume, orderDirection: desc) { id firstSeenTimestamp firstSeenBlockNumber nativeVolume } }', {});
|
|
158
|
+
return users.map((item) => ({
|
|
159
|
+
address: getAddress(item.id),
|
|
160
|
+
firstSeenTimestamp: Number(item.firstSeenTimestamp),
|
|
161
|
+
firstSeenBlockNumber: Number(item.firstSeenBlockNumber),
|
|
162
|
+
nativeVolume: Number(item.nativeVolume),
|
|
163
|
+
}));
|
|
164
|
+
}
|
|
165
|
+
export async function fetchUserNativeVolume(chainId, userAddress) {
|
|
166
|
+
const { data: { user }, } = await Subgraph.get(chainId, 'getUserNativeVolume', 'query getUserNativeVolume($user: ID!) { user(id: $user) { nativeVolume } }', {
|
|
167
|
+
user: userAddress.toLowerCase(),
|
|
168
|
+
});
|
|
169
|
+
return Number(user.nativeVolume);
|
|
170
|
+
}
|
|
171
|
+
export async function fetchReferralSummary(chainId, userAddress) {
|
|
172
|
+
// Query referrer data
|
|
173
|
+
const { data: { referrer }, } = await Subgraph.get(chainId, 'getReferrerSummary', `query getReferrerSummary($referrer: ID!) {
|
|
174
|
+
referrer(id: $referrer) {
|
|
175
|
+
id
|
|
176
|
+
totalFeesCollectedUSD
|
|
177
|
+
referralCount
|
|
178
|
+
feesByToken {
|
|
179
|
+
token {
|
|
180
|
+
id
|
|
181
|
+
}
|
|
182
|
+
totalFeesUSD
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
}`, {
|
|
186
|
+
referrer: userAddress.toLowerCase(),
|
|
187
|
+
});
|
|
188
|
+
// If user has no referral data, return empty summary
|
|
189
|
+
if (!referrer) {
|
|
190
|
+
return {
|
|
191
|
+
totalReferrals: 0,
|
|
192
|
+
totalEarned: 0,
|
|
193
|
+
currentPeriodEarnings: 0,
|
|
194
|
+
};
|
|
195
|
+
}
|
|
196
|
+
// Note: currentPeriodEarnings uses totalFeesCollectedUSD since the subgraph
|
|
197
|
+
// doesn't have time-series referrer data yet. This can be refined by adding
|
|
198
|
+
// ReferrerDayData entities to the subgraph for more granular period tracking.
|
|
199
|
+
const currentPeriodEarnings = Number(referrer.totalFeesCollectedUSD);
|
|
200
|
+
return {
|
|
201
|
+
totalReferrals: Number(referrer.referralCount),
|
|
202
|
+
totalEarned: Number(referrer.totalFeesCollectedUSD),
|
|
203
|
+
currentPeriodEarnings,
|
|
204
|
+
};
|
|
205
|
+
}
|
|
206
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/entities/analytics/apis/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/entities/analytics/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { calculateUnitSize } from '../../../utils/unit-size';
|
|
2
|
+
import { CONTRACT_ADDRESSES } from '../../../constants/chain-configs/addresses';
|
|
3
|
+
import { BOOK_VIEWER_ABI } from '../../../constants/abis/core/book-viewer-abi';
|
|
4
|
+
import { Subgraph } from '../../../constants/chain-configs/subgraph';
|
|
5
|
+
import { toBookId } from '../utils/book-id';
|
|
6
|
+
import { BookModel } from '../model';
|
|
7
|
+
const MAX_DEPTH = 20n; // if the depth is too large, it may cause revert errors in the contract call
|
|
8
|
+
export const fetchBook = async (publicClient, chainId, quoteCurrency, baseCurrency, useSubgraph) => {
|
|
9
|
+
const unitSize = calculateUnitSize(chainId, quoteCurrency);
|
|
10
|
+
const bookId = toBookId(chainId, quoteCurrency.address, baseCurrency.address, unitSize);
|
|
11
|
+
if (useSubgraph) {
|
|
12
|
+
const { data: { book }, } = await Subgraph.get(chainId, 'getBook', 'query getBook($bookId: ID!, $first: Int!) { book(id: $bookId) { depths(first: $first where: {unitAmount_gt: 0}, orderBy: tick, orderDirection: desc) { tick unitAmount } } }', {
|
|
13
|
+
bookId: bookId.toString(),
|
|
14
|
+
first: 1000, // Adjust as needed for depth
|
|
15
|
+
});
|
|
16
|
+
return new BookModel({
|
|
17
|
+
chainId,
|
|
18
|
+
id: bookId,
|
|
19
|
+
base: baseCurrency,
|
|
20
|
+
quote: quoteCurrency,
|
|
21
|
+
unitSize,
|
|
22
|
+
depths: book
|
|
23
|
+
? book.depths.map(({ tick, unitAmount }) => ({
|
|
24
|
+
tick: BigInt(tick),
|
|
25
|
+
unitAmount: BigInt(unitAmount),
|
|
26
|
+
}))
|
|
27
|
+
: [],
|
|
28
|
+
isOpened: book !== null,
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
const [{ result: depths, error }, { result: isOpened }] = await publicClient.multicall({
|
|
32
|
+
contracts: [
|
|
33
|
+
{
|
|
34
|
+
address: CONTRACT_ADDRESSES[chainId].BookViewer,
|
|
35
|
+
abi: BOOK_VIEWER_ABI,
|
|
36
|
+
functionName: 'getLiquidity',
|
|
37
|
+
args: [bookId, Number(2n ** 19n - 1n), MAX_DEPTH],
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
address: CONTRACT_ADDRESSES[chainId].BookManager,
|
|
41
|
+
abi: [
|
|
42
|
+
{
|
|
43
|
+
inputs: [
|
|
44
|
+
{
|
|
45
|
+
internalType: 'BookId',
|
|
46
|
+
name: 'id',
|
|
47
|
+
type: 'uint192',
|
|
48
|
+
},
|
|
49
|
+
],
|
|
50
|
+
name: 'isOpened',
|
|
51
|
+
outputs: [
|
|
52
|
+
{
|
|
53
|
+
internalType: 'bool',
|
|
54
|
+
name: '',
|
|
55
|
+
type: 'bool',
|
|
56
|
+
},
|
|
57
|
+
],
|
|
58
|
+
stateMutability: 'view',
|
|
59
|
+
type: 'function',
|
|
60
|
+
},
|
|
61
|
+
],
|
|
62
|
+
functionName: 'isOpened',
|
|
63
|
+
args: [bookId],
|
|
64
|
+
},
|
|
65
|
+
],
|
|
66
|
+
});
|
|
67
|
+
if (error) {
|
|
68
|
+
throw new Error(`Failed to fetch book data: ${error.message}`);
|
|
69
|
+
}
|
|
70
|
+
return new BookModel({
|
|
71
|
+
chainId,
|
|
72
|
+
id: bookId,
|
|
73
|
+
base: baseCurrency,
|
|
74
|
+
quote: quoteCurrency,
|
|
75
|
+
unitSize,
|
|
76
|
+
depths: (depths ?? []).map(({ tick, depth }) => ({
|
|
77
|
+
tick: BigInt(tick),
|
|
78
|
+
unitAmount: depth,
|
|
79
|
+
})),
|
|
80
|
+
isOpened: isOpened ?? false,
|
|
81
|
+
});
|
|
82
|
+
};
|
|
83
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/entities/book/apis/index.ts"],"names":[],"mappings":"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"}
|