@clober/v2-sdk 0.0.1-b → 0.0.1-dev
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/dist/cjs/.graphclient/index.js +243 -0
- package/dist/cjs/.graphclient/index.js.map +1 -0
- package/dist/cjs/.graphclient/sources/clober-v2/introspectionSchema.js +14482 -0
- package/dist/cjs/.graphclient/sources/clober-v2/introspectionSchema.js.map +1 -0
- package/dist/cjs/.graphclient/sources/clober-v2/types.js +4 -0
- package/dist/cjs/.graphclient/sources/clober-v2/types.js.map +1 -0
- package/dist/cjs/abis/core/controller-abi.js +989 -0
- package/dist/cjs/abis/core/controller-abi.js.map +1 -0
- package/dist/cjs/abis/core/params-abi.js +62 -0
- package/dist/cjs/abis/core/params-abi.js.map +1 -0
- package/dist/cjs/apis/currency.js +87 -0
- package/dist/cjs/apis/currency.js.map +1 -0
- package/dist/cjs/apis/market.js +63 -0
- package/dist/cjs/apis/market.js.map +1 -0
- package/dist/cjs/apis/open-order.js +90 -0
- package/dist/cjs/apis/open-order.js.map +1 -0
- package/dist/cjs/approval.js +74 -0
- package/dist/cjs/approval.js.map +1 -0
- package/dist/cjs/call.js +545 -0
- package/dist/cjs/call.js.map +1 -0
- package/dist/cjs/constants/action.js +14 -0
- package/dist/cjs/constants/action.js.map +1 -0
- package/dist/cjs/constants/addresses.js +13 -0
- package/dist/cjs/constants/addresses.js.map +1 -0
- package/dist/cjs/constants/chain.js +13 -0
- package/dist/cjs/constants/chain.js.map +1 -0
- package/dist/cjs/constants/currency.js +12 -0
- package/dist/cjs/constants/currency.js.map +1 -0
- package/dist/cjs/constants/fee.js +7 -0
- package/dist/cjs/constants/fee.js.map +1 -0
- package/dist/cjs/constants/price.js +6 -0
- package/dist/cjs/constants/price.js.map +1 -0
- package/dist/cjs/constants/subgraph-url.js +8 -0
- package/dist/cjs/constants/subgraph-url.js.map +1 -0
- package/dist/cjs/index.js +22 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/model/book.js +130 -0
- package/dist/cjs/model/book.js.map +1 -0
- package/dist/cjs/model/currency.js +3 -0
- package/dist/cjs/model/currency.js.map +1 -0
- package/dist/cjs/model/depth.js +3 -0
- package/dist/cjs/model/depth.js.map +1 -0
- package/dist/cjs/model/fee-policy.js +42 -0
- package/dist/cjs/model/fee-policy.js.map +1 -0
- package/dist/cjs/model/market.js +215 -0
- package/dist/cjs/model/market.js.map +1 -0
- package/dist/cjs/model/open-order.js +3 -0
- package/dist/cjs/model/open-order.js.map +1 -0
- package/dist/cjs/package.json +1 -0
- package/dist/cjs/signature.js +178 -0
- package/dist/cjs/signature.js.map +1 -0
- package/dist/cjs/tsconfig.build.tsbuildinfo +1 -0
- package/dist/cjs/type.js +6 -0
- package/dist/cjs/type.js.map +1 -0
- package/dist/cjs/utils/approval.js +46 -0
- package/dist/cjs/utils/approval.js.map +1 -0
- package/dist/cjs/utils/book-id.js +25 -0
- package/dist/cjs/utils/book-id.js.map +1 -0
- package/dist/cjs/utils/build-transaction.js +31 -0
- package/dist/cjs/utils/build-transaction.js.map +1 -0
- package/dist/cjs/utils/decimals.js +17 -0
- package/dist/cjs/utils/decimals.js.map +1 -0
- package/dist/cjs/utils/market.js +53 -0
- package/dist/cjs/utils/market.js.map +1 -0
- package/dist/cjs/utils/math.js +83 -0
- package/dist/cjs/utils/math.js.map +1 -0
- package/dist/cjs/utils/prices.js +22 -0
- package/dist/cjs/utils/prices.js.map +1 -0
- package/dist/cjs/utils/tick.js +106 -0
- package/dist/cjs/utils/tick.js.map +1 -0
- package/dist/cjs/utils/time.js +9 -0
- package/dist/cjs/utils/time.js.map +1 -0
- package/dist/cjs/utils/unit.js +38 -0
- package/dist/cjs/utils/unit.js.map +1 -0
- package/dist/cjs/view.js +185 -0
- package/dist/cjs/view.js.map +1 -0
- package/dist/esm/.graphclient/index.js +233 -0
- package/dist/esm/.graphclient/index.js.map +1 -0
- package/dist/esm/.graphclient/sources/clober-v2/introspectionSchema.js +14480 -0
- package/dist/esm/.graphclient/sources/clober-v2/introspectionSchema.js.map +1 -0
- package/dist/esm/.graphclient/sources/clober-v2/types.js +3 -0
- package/dist/esm/.graphclient/sources/clober-v2/types.js.map +1 -0
- package/dist/esm/abis/core/controller-abi.js +986 -0
- package/dist/esm/abis/core/controller-abi.js.map +1 -0
- package/dist/esm/abis/core/params-abi.js +59 -0
- package/dist/esm/abis/core/params-abi.js.map +1 -0
- package/dist/esm/apis/currency.js +83 -0
- package/dist/esm/apis/currency.js.map +1 -0
- package/dist/esm/apis/market.js +59 -0
- package/dist/esm/apis/market.js.map +1 -0
- package/dist/esm/apis/open-order.js +85 -0
- package/dist/esm/apis/open-order.js.map +1 -0
- package/dist/esm/approval.js +70 -0
- package/dist/esm/approval.js.map +1 -0
- package/dist/esm/call.js +535 -0
- package/dist/esm/call.js.map +1 -0
- package/dist/esm/constants/action.js +11 -0
- package/dist/esm/constants/action.js.map +1 -0
- package/dist/esm/constants/addresses.js +10 -0
- package/dist/esm/constants/addresses.js.map +1 -0
- package/dist/esm/constants/chain.js +10 -0
- package/dist/esm/constants/chain.js.map +1 -0
- package/dist/esm/constants/currency.js +9 -0
- package/dist/esm/constants/currency.js.map +1 -0
- package/dist/esm/constants/fee.js +4 -0
- package/dist/esm/constants/fee.js.map +1 -0
- package/dist/esm/constants/price.js +3 -0
- package/dist/esm/constants/price.js.map +1 -0
- package/dist/esm/constants/subgraph-url.js +5 -0
- package/dist/esm/constants/subgraph-url.js.map +1 -0
- package/dist/esm/index.js +6 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/model/book.js +126 -0
- package/dist/esm/model/book.js.map +1 -0
- package/dist/esm/model/currency.js +2 -0
- package/dist/esm/model/currency.js.map +1 -0
- package/dist/esm/model/depth.js +2 -0
- package/dist/esm/model/depth.js.map +1 -0
- package/dist/esm/model/fee-policy.js +38 -0
- package/dist/esm/model/fee-policy.js.map +1 -0
- package/dist/esm/model/market.js +211 -0
- package/dist/esm/model/market.js.map +1 -0
- package/dist/esm/model/open-order.js +2 -0
- package/dist/esm/model/open-order.js.map +1 -0
- package/dist/esm/package.json +1 -0
- package/dist/esm/signature.js +174 -0
- package/dist/esm/signature.js.map +1 -0
- package/dist/esm/tsconfig.build.tsbuildinfo +1 -0
- package/dist/esm/type.js +2 -0
- package/dist/esm/type.js.map +1 -0
- package/dist/esm/utils/approval.js +42 -0
- package/dist/esm/utils/approval.js.map +1 -0
- package/{src/utils/book-id.ts → dist/esm/utils/book-id.js} +9 -19
- package/dist/esm/utils/book-id.js.map +1 -0
- package/dist/esm/utils/build-transaction.js +27 -0
- package/dist/esm/utils/build-transaction.js.map +1 -0
- package/dist/esm/utils/decimals.js +12 -0
- package/dist/esm/utils/decimals.js.map +1 -0
- package/dist/esm/utils/market.js +49 -0
- package/dist/esm/utils/market.js.map +1 -0
- package/dist/esm/utils/math.js +78 -0
- package/dist/esm/utils/math.js.map +1 -0
- package/dist/esm/utils/prices.js +17 -0
- package/dist/esm/utils/prices.js.map +1 -0
- package/dist/esm/utils/tick.js +100 -0
- package/dist/esm/utils/tick.js.map +1 -0
- package/dist/esm/utils/time.js +5 -0
- package/dist/esm/utils/time.js.map +1 -0
- package/dist/esm/utils/unit.js +34 -0
- package/dist/esm/utils/unit.js.map +1 -0
- package/dist/esm/view.js +177 -0
- package/dist/esm/view.js.map +1 -0
- package/dist/types/.graphclient/index.d.ts +1281 -0
- package/dist/types/.graphclient/index.d.ts.map +1 -0
- package/dist/types/.graphclient/sources/clober-v2/introspectionSchema.d.ts +3 -0
- package/dist/types/.graphclient/sources/clober-v2/introspectionSchema.d.ts.map +1 -0
- package/dist/types/.graphclient/sources/clober-v2/types.d.ts +984 -0
- package/dist/types/.graphclient/sources/clober-v2/types.d.ts.map +1 -0
- package/dist/types/abis/core/controller-abi.d.ts +757 -0
- package/dist/types/abis/core/controller-abi.d.ts.map +1 -0
- package/dist/types/abis/core/params-abi.d.ts +21 -0
- package/dist/types/abis/core/params-abi.d.ts.map +1 -0
- package/dist/types/apis/currency.d.ts +4 -0
- package/dist/types/apis/currency.d.ts.map +1 -0
- package/dist/types/apis/market.d.ts +4 -0
- package/dist/types/apis/market.d.ts.map +1 -0
- package/dist/types/apis/open-order.d.ts +5 -0
- package/dist/types/apis/open-order.d.ts.map +1 -0
- package/dist/types/approval.d.ts +32 -0
- package/dist/types/approval.d.ts.map +1 -0
- package/dist/types/call.d.ts +234 -0
- package/dist/types/call.d.ts.map +1 -0
- package/dist/types/constants/action.d.ts +10 -0
- package/dist/types/constants/action.d.ts.map +1 -0
- package/dist/types/constants/addresses.d.ts +9 -0
- package/dist/types/constants/addresses.d.ts.map +1 -0
- package/dist/types/constants/chain.d.ts +9 -0
- package/dist/types/constants/chain.d.ts.map +1 -0
- package/dist/types/constants/currency.d.ts +8 -0
- package/dist/types/constants/currency.d.ts.map +1 -0
- package/dist/types/constants/fee.d.ts +4 -0
- package/dist/types/constants/fee.d.ts.map +1 -0
- package/dist/types/constants/price.d.ts +3 -0
- package/dist/types/constants/price.d.ts.map +1 -0
- package/dist/types/constants/subgraph-url.d.ts +5 -0
- package/dist/types/constants/subgraph-url.d.ts.map +1 -0
- package/dist/types/index.d.ts +6 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/model/book.d.ts +31 -0
- package/dist/types/model/book.d.ts.map +1 -0
- package/dist/types/model/currency.d.ts +7 -0
- package/dist/types/model/currency.d.ts.map +1 -0
- package/dist/types/model/depth.d.ts +11 -0
- package/dist/types/model/depth.d.ts.map +1 -0
- package/dist/types/model/fee-policy.d.ts +15 -0
- package/dist/types/model/fee-policy.d.ts.map +1 -0
- package/dist/types/model/market.d.ts +44 -0
- package/dist/types/model/market.d.ts.map +1 -0
- package/dist/types/model/open-order.d.ts +28 -0
- package/dist/types/model/open-order.d.ts.map +1 -0
- package/dist/types/signature.d.ts +40 -0
- package/dist/types/signature.d.ts.map +1 -0
- package/dist/types/type.d.ts +34 -0
- package/dist/types/type.d.ts.map +1 -0
- package/dist/types/utils/approval.d.ts +3 -0
- package/dist/types/utils/approval.d.ts.map +1 -0
- package/dist/types/utils/book-id.d.ts +2 -0
- package/dist/types/utils/book-id.d.ts.map +1 -0
- package/dist/types/utils/build-transaction.d.ts +5 -0
- package/dist/types/utils/build-transaction.d.ts.map +1 -0
- package/dist/types/utils/decimals.d.ts +3 -0
- package/dist/types/utils/decimals.d.ts.map +1 -0
- package/dist/types/utils/market.d.ts +7 -0
- package/dist/types/utils/market.d.ts.map +1 -0
- package/dist/types/utils/math.d.ts +3 -0
- package/dist/types/utils/math.d.ts.map +1 -0
- package/dist/types/utils/prices.d.ts +3 -0
- package/dist/types/utils/prices.d.ts.map +1 -0
- package/dist/types/utils/tick.d.ts +4 -0
- package/dist/types/utils/tick.d.ts.map +1 -0
- package/dist/types/utils/time.d.ts +2 -0
- package/dist/types/utils/time.d.ts.map +1 -0
- package/dist/types/utils/unit.d.ts +4 -0
- package/dist/types/utils/unit.d.ts.map +1 -0
- package/dist/types/view.d.ts +129 -0
- package/dist/types/view.d.ts.map +1 -0
- package/package.json +14 -6
- package/.eslintignore +0 -1
- package/.eslintrc.yaml +0 -34
- package/.github/workflows/ci.yaml +0 -88
- package/.github/workflows/deployer.yaml +0 -19
- package/.nvmrc +0 -1
- package/.prettierignore +0 -6
- package/.prettierrc +0 -7
- package/src/.graphclient/index.ts +0 -1695
- package/src/.graphclient/schema.graphql +0 -1116
- package/src/.graphclient/sources/clober-v2/introspectionSchema.ts +0 -14481
- package/src/.graphclient/sources/clober-v2/schema.graphql +0 -1116
- package/src/.graphclient/sources/clober-v2/types.ts +0 -1133
- package/src/.graphclientrc.yml +0 -12
- package/src/abis/core/controller-abi.ts +0 -985
- package/src/abis/core/params-abi.ts +0 -59
- package/src/apis/currency.ts +0 -92
- package/src/apis/graphql/books.graphql +0 -25
- package/src/apis/graphql/open-order.graphql +0 -29
- package/src/apis/graphql/open-orders.graphql +0 -29
- package/src/apis/market.ts +0 -85
- package/src/apis/open-order.ts +0 -145
- package/src/approval.ts +0 -82
- package/src/call.ts +0 -705
- package/src/constants/action.ts +0 -9
- package/src/constants/addresses.ts +0 -17
- package/src/constants/chain.ts +0 -12
- package/src/constants/currency.ts +0 -15
- package/src/constants/fee.ts +0 -4
- package/src/constants/price.ts +0 -3
- package/src/constants/subgraph-url.ts +0 -8
- package/src/index.ts +0 -5
- package/src/model/book.ts +0 -166
- package/src/model/currency.ts +0 -6
- package/src/model/depth.ts +0 -11
- package/src/model/fee-policy.ts +0 -51
- package/src/model/market.ts +0 -320
- package/src/model/open-order.ts +0 -16
- package/src/signature.ts +0 -196
- package/src/type.ts +0 -38
- package/src/utils/approval.ts +0 -48
- package/src/utils/build-transaction.ts +0 -39
- package/src/utils/decimals.ts +0 -22
- package/src/utils/market.ts +0 -74
- package/src/utils/math.ts +0 -117
- package/src/utils/prices.ts +0 -29
- package/src/utils/tick.ts +0 -104
- package/src/utils/time.ts +0 -6
- package/src/utils/unit.ts +0 -43
- package/src/view.ts +0 -258
- package/test/book-id.test.ts +0 -101
- package/test/fee-policy.test.ts +0 -228
- package/test/get-expected-input.test.ts +0 -206
- package/test/get-expected-output.test.ts +0 -206
- package/test/limit-order.test.ts +0 -279
- package/test/market-order.test.ts +0 -245
- package/test/market.test.ts +0 -68
- package/test/math.test.ts +0 -91
- package/test/open-order.test.ts +0 -112
- package/test/open.test.ts +0 -15
- package/test/tick.test.ts +0 -230
- package/test/tsconfig.json +0 -12
- package/test/utils/chain.ts +0 -12
- package/test/utils/constants.ts +0 -25
- package/test/utils/currency.ts +0 -44
- package/test/utils/depth.ts +0 -148
- package/test/utils/test-chain.ts +0 -26
- package/test/vitest.config.ts +0 -15
- package/tsconfig.base.json +0 -37
- package/tsconfig.build.json +0 -9
- package/tsconfig.json +0 -9
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"signature.d.ts","sourceRoot":"","sources":["../../src/signature.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,SAAS,EAIT,iBAAiB,EAGlB,MAAM,MAAM,CAAA;AAEb,OAAO,EAAE,SAAS,EAAa,MAAM,mBAAmB,CAAA;AAIxD,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAA;AAkDxC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,eAAO,MAAM,eAAe,YACjB,SAAS,WACT,SAAS,GAAG,iBAAiB,SAC/B,KAAK,MAAM,EAAE,UACZ,MAAM,YACJ;IACR,MAAM,EAAE,MAAM,CAAA;CACf,KACA,QAAQ,eAAe,CAyFzB,CAAA"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { Account } from 'viem';
|
|
2
|
+
import { CHAIN_IDS } from './constants/chain';
|
|
3
|
+
import { Currency } from './model/currency';
|
|
4
|
+
import { Depth } from './model/depth';
|
|
5
|
+
export { CHAIN_IDS } from './constants/chain';
|
|
6
|
+
export { Currency } from './model/currency';
|
|
7
|
+
export { Depth } from './model/depth';
|
|
8
|
+
export { OpenOrder } from './model/open-order';
|
|
9
|
+
export type Market = {
|
|
10
|
+
chainId: CHAIN_IDS;
|
|
11
|
+
quote: Currency;
|
|
12
|
+
base: Currency;
|
|
13
|
+
makerFee: number;
|
|
14
|
+
takerFee: number;
|
|
15
|
+
bids: Depth[];
|
|
16
|
+
bidBookOpen: boolean;
|
|
17
|
+
asks: Depth[];
|
|
18
|
+
askBookOpen: boolean;
|
|
19
|
+
};
|
|
20
|
+
export type Transaction = {
|
|
21
|
+
data: `0x${string}`;
|
|
22
|
+
gas: bigint;
|
|
23
|
+
gasPrice: bigint;
|
|
24
|
+
value: bigint;
|
|
25
|
+
to: `0x${string}`;
|
|
26
|
+
from: `0x${string}` | Account | undefined;
|
|
27
|
+
};
|
|
28
|
+
export type PermitSignature = {
|
|
29
|
+
deadline: bigint;
|
|
30
|
+
v: number;
|
|
31
|
+
r: `0x${string}`;
|
|
32
|
+
s: `0x${string}`;
|
|
33
|
+
};
|
|
34
|
+
//# sourceMappingURL=type.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../../src/type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAE9B,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAC3C,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AAErC,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAC3C,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAE9C,MAAM,MAAM,MAAM,GAAG;IACnB,OAAO,EAAE,SAAS,CAAA;IAClB,KAAK,EAAE,QAAQ,CAAA;IACf,IAAI,EAAE,QAAQ,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,KAAK,EAAE,CAAA;IACb,WAAW,EAAE,OAAO,CAAA;IACpB,IAAI,EAAE,KAAK,EAAE,CAAA;IACb,WAAW,EAAE,OAAO,CAAA;CACrB,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,KAAK,MAAM,EAAE,CAAA;IACnB,GAAG,EAAE,MAAM,CAAA;IACX,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;IACb,EAAE,EAAE,KAAK,MAAM,EAAE,CAAA;IACjB,IAAI,EAAE,KAAK,MAAM,EAAE,GAAG,OAAO,GAAG,SAAS,CAAA;CAC1C,CAAA;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,EAAE,MAAM,CAAA;IAChB,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,KAAK,MAAM,EAAE,CAAA;IAChB,CAAC,EAAE,KAAK,MAAM,EAAE,CAAA;CACjB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"approval.d.ts","sourceRoot":"","sources":["../../../src/utils/approval.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAa,MAAM,oBAAoB,CAAA;AA8BzD,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,SAAS,EAClB,KAAK,EAAE,KAAK,MAAM,EAAE,EACpB,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,OAAO,CAAC,CAWlB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"book-id.d.ts","sourceRoot":"","sources":["../../../src/utils/book-id.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,QAAQ,eACP,KAAK,MAAM,EAAE,eACZ,KAAK,MAAM,EAAE,QACpB,MAAM,WAuBb,CAAA"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { SimulateContractParameters, WriteContractParameters } from 'viem';
|
|
2
|
+
import { CHAIN_IDS } from '../constants/chain';
|
|
3
|
+
import { Transaction } from '../type';
|
|
4
|
+
export declare const buildTransaction: (chainId: CHAIN_IDS, args: WriteContractParameters | SimulateContractParameters, rpcUrl?: string) => Promise<Transaction>;
|
|
5
|
+
//# sourceMappingURL=build-transaction.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"build-transaction.d.ts","sourceRoot":"","sources":["../../../src/utils/build-transaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,0BAA0B,EAC1B,uBAAuB,EACxB,MAAM,MAAM,CAAA;AAEb,OAAO,EAAE,SAAS,EAAa,MAAM,oBAAoB,CAAA;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAErC,eAAO,MAAM,gBAAgB,YAClB,SAAS,QACZ,uBAAuB,GAAG,0BAA0B,WACjD,MAAM,KACd,QAAQ,WAAW,CAuBrB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decimals.d.ts","sourceRoot":"","sources":["../../../src/utils/decimals.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,WAAW,SAChB,MAAM,QACN,MAAM,cACA,OAAO,KAClB,MAGF,CAAA;AAED,eAAO,MAAM,WAAW,SAChB,MAAM,SACL,MAAM,cACD,OAAO,KAClB,MAGF,CAAA"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { CHAIN_IDS } from '../constants/chain';
|
|
2
|
+
export declare const getMarketId: (chainId: CHAIN_IDS, tokenAddresses: `0x${string}`[]) => {
|
|
3
|
+
baseTokenAddress: `0x${string}`;
|
|
4
|
+
quoteTokenAddress: `0x${string}`;
|
|
5
|
+
marketId: string;
|
|
6
|
+
};
|
|
7
|
+
//# sourceMappingURL=market.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"market.d.ts","sourceRoot":"","sources":["../../../src/utils/market.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAE9C,eAAO,MAAM,WAAW,YACb,SAAS,kBACF,KAAK,MAAM,EAAE,EAAE,KAC9B;IACD,gBAAgB,EAAE,KAAK,MAAM,EAAE,CAAA;IAC/B,iBAAiB,EAAE,KAAK,MAAM,EAAE,CAAA;IAChC,QAAQ,EAAE,MAAM,CAAA;CA8DjB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"math.d.ts","sourceRoot":"","sources":["../../../src/utils/math.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,MAAM,MAAO,MAAM,KAAK,MAAM,WAAW,OAAO,KAAG,MAU/D,CAAA;AAED,eAAO,MAAM,KAAK,MAAO,MAAM,KAAG,MAwGjC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prices.d.ts","sourceRoot":"","sources":["../../../src/utils/prices.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,WAAW,UACf,MAAM,iBACE,MAAM,gBACP,MAAM,KACnB,MAMF,CAAA;AAED,eAAO,MAAM,UAAU,UACd,MAAM,iBACE,MAAM,gBACP,MAAM,KACnB,MAQF,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tick.d.ts","sourceRoot":"","sources":["../../../src/utils/tick.ts"],"names":[],"mappings":"AAwBA,eAAO,MAAM,WAAW,UAAW,MAAM,KAAG,MAE3C,CAAA;AAED,eAAO,MAAM,SAAS,UAAW,MAAM,KAAG,MAMzC,CAAA;AAED,eAAO,MAAM,OAAO,SAAU,MAAM,KAAG,MAmEtC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"time.d.ts","sourceRoot":"","sources":["../../../src/utils/time.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,6BAA6B,QAAO,MAEhD,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unit.d.ts","sourceRoot":"","sources":["../../../src/utils/unit.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC5C,OAAO,EAAE,SAAS,EAAa,MAAM,oBAAoB,CAAA;AAkBzD,eAAO,MAAM,aAAa,YACf,SAAS,SACX,QAAQ,WACN,MAAM,oBAkBhB,CAAA"}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
import { CHAIN_IDS } from './constants/chain';
|
|
2
|
+
import { Market } from './type';
|
|
3
|
+
import { OpenOrder } from './model/open-order';
|
|
4
|
+
/**
|
|
5
|
+
* Get market information by chain id and token addresses
|
|
6
|
+
* @param chainId - chain id from {@link CHAIN_IDS}
|
|
7
|
+
* @param token0 - token0 address
|
|
8
|
+
* @param token1 - token1 address
|
|
9
|
+
* @param options
|
|
10
|
+
* @param options.rpcUrl - RPC URL of the blockchain
|
|
11
|
+
* @returns A market {@link Market}
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* import { getMarket } from '@clober/v2-sdk'
|
|
15
|
+
*
|
|
16
|
+
* const market = await getMarket(
|
|
17
|
+
* 421614,
|
|
18
|
+
* '0x00bfd44e79fb7f6dd5887a9426c8ef85a0cd23e0',
|
|
19
|
+
* '0x0000000000000000000000000000000000000000',
|
|
20
|
+
* )
|
|
21
|
+
*/
|
|
22
|
+
export declare const getMarket: (chainId: CHAIN_IDS, token0: `0x${string}`, token1: `0x${string}`, options?: {
|
|
23
|
+
rpcUrl?: string;
|
|
24
|
+
}) => Promise<Market>;
|
|
25
|
+
/**
|
|
26
|
+
* Calculates the expected output for a given input amount, based on the provided market data.
|
|
27
|
+
*
|
|
28
|
+
* @param chainId The chain ID of the blockchain.
|
|
29
|
+
* @param inputToken The address of the input token.
|
|
30
|
+
* @param outputToken The address of the output token.
|
|
31
|
+
* @param amountIn The amount of expected input amount. (ex 1.2 ETH -> 1.2)
|
|
32
|
+
* @param options
|
|
33
|
+
* @param options.limitPrice The maximum limit price to spend.
|
|
34
|
+
* @param options.rpcUrl The RPC URL of the blockchain.
|
|
35
|
+
* @returns A Promise resolving to an object containing the taken amount, spend amount and result of the calculation.
|
|
36
|
+
* @example
|
|
37
|
+
* import { getExpectedOutput } from '@clober/v2-sdk'
|
|
38
|
+
*
|
|
39
|
+
* const { takenAmount, spendAmount } = await getExpectedOutput(
|
|
40
|
+
* 421614,
|
|
41
|
+
* '0x00bfd44e79fb7f6dd5887a9426c8ef85a0cd23e0',
|
|
42
|
+
* '0x0000000000000000000000000000000000000000',
|
|
43
|
+
* '1000.123', // spend 1000.123 USDC
|
|
44
|
+
* )
|
|
45
|
+
*/
|
|
46
|
+
export declare const getExpectedOutput: (chainId: CHAIN_IDS, inputToken: `0x${string}`, outputToken: `0x${string}`, amountIn: string, options?: {
|
|
47
|
+
limitPrice?: string;
|
|
48
|
+
rpcUrl?: string;
|
|
49
|
+
}) => Promise<{
|
|
50
|
+
takenAmount: string;
|
|
51
|
+
spendAmount: string;
|
|
52
|
+
result: {
|
|
53
|
+
bookId: bigint;
|
|
54
|
+
takenAmount: bigint;
|
|
55
|
+
spendAmount: bigint;
|
|
56
|
+
}[];
|
|
57
|
+
}>;
|
|
58
|
+
/**
|
|
59
|
+
* Calculates the expected input for a given output amount, based on the provided market data.
|
|
60
|
+
*
|
|
61
|
+
* @param chainId The chain ID of the blockchain.
|
|
62
|
+
* @param inputToken The address of the input token.
|
|
63
|
+
* @param outputToken The address of the output token.
|
|
64
|
+
* @param amountOut The amount of expected output amount. (ex 1.2 ETH -> 1.2)
|
|
65
|
+
* @param options
|
|
66
|
+
* @param options.limitPrice The maximum limit price to take.
|
|
67
|
+
* @param options.rpcUrl The RPC URL of the blockchain.
|
|
68
|
+
* @returns A Promise resolving to an object containing the taken amount, spend amount and result of the calculation.
|
|
69
|
+
* @example
|
|
70
|
+
* import { getExpectedInput } from '@clober/v2-sdk'
|
|
71
|
+
*
|
|
72
|
+
* const { takenAmount, spendAmount } = await getExpectedInput(
|
|
73
|
+
* 421614,
|
|
74
|
+
* '0x00bfd44e79fb7f6dd5887a9426c8ef85a0cd23e0',
|
|
75
|
+
* '0x0000000000000000000000000000000000000000',
|
|
76
|
+
* '0.1', // take 0.1 ETH
|
|
77
|
+
* )
|
|
78
|
+
*/
|
|
79
|
+
export declare const getExpectedInput: (chainId: CHAIN_IDS, inputToken: `0x${string}`, outputToken: `0x${string}`, amountOut: string, options?: {
|
|
80
|
+
limitPrice?: string;
|
|
81
|
+
rpcUrl?: string;
|
|
82
|
+
}) => Promise<{
|
|
83
|
+
takenAmount: string;
|
|
84
|
+
spendAmount: string;
|
|
85
|
+
result: {
|
|
86
|
+
bookId: bigint;
|
|
87
|
+
takenAmount: bigint;
|
|
88
|
+
spendAmount: bigint;
|
|
89
|
+
}[];
|
|
90
|
+
}>;
|
|
91
|
+
/**
|
|
92
|
+
* Retrieves the open order with the specified ID on the given chain.
|
|
93
|
+
*
|
|
94
|
+
* @param {CHAIN_IDS} chainId The chain ID.
|
|
95
|
+
* @param {string} id The ID of the open order.
|
|
96
|
+
* @param options
|
|
97
|
+
* @param options.rpcUrl The RPC URL of the blockchain.
|
|
98
|
+
* @returns {Promise<OpenOrder>} Promise resolving to the open order object, or undefined if not found.
|
|
99
|
+
* @example
|
|
100
|
+
* import { getOpenOrder } from '@clober/v2-sdk'
|
|
101
|
+
*
|
|
102
|
+
* const openOrder = await getOpenOrder(
|
|
103
|
+
* 421614,
|
|
104
|
+
* '46223845323662364279893361453861711542636620039907198451770258805035840307200'
|
|
105
|
+
* )
|
|
106
|
+
*/
|
|
107
|
+
export declare const getOpenOrder: (chainId: CHAIN_IDS, id: string, options?: {
|
|
108
|
+
rpcUrl?: string;
|
|
109
|
+
}) => Promise<OpenOrder>;
|
|
110
|
+
/**
|
|
111
|
+
* Retrieves open orders for the specified user on the given chain.
|
|
112
|
+
*
|
|
113
|
+
* @param {CHAIN_IDS} chainId The chain ID.
|
|
114
|
+
* @param {`0x${string}`} userAddress The Ethereum address of the user.
|
|
115
|
+
* @param options
|
|
116
|
+
* @param options.rpcUrl The RPC URL of the blockchain.
|
|
117
|
+
* @returns {Promise<OpenOrder[]>} Promise resolving to an array of open orders.
|
|
118
|
+
* @example
|
|
119
|
+
* import { getOpenOrders } from '@clober/v2-sdk'
|
|
120
|
+
*
|
|
121
|
+
* const openOrders = await getOpenOrders(
|
|
122
|
+
* 421614,
|
|
123
|
+
* '0x5F79EE8f8fA862E98201120d83c4eC39D9468D49'
|
|
124
|
+
* )
|
|
125
|
+
*/
|
|
126
|
+
export declare const getOpenOrders: (chainId: CHAIN_IDS, userAddress: `0x${string}`, options?: {
|
|
127
|
+
rpcUrl?: string;
|
|
128
|
+
}) => Promise<OpenOrder[]>;
|
|
129
|
+
//# sourceMappingURL=view.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"view.d.ts","sourceRoot":"","sources":["../../src/view.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAI/B,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAE9C;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,SAAS,YACX,SAAS,UACV,KAAK,MAAM,EAAE,UACb,KAAK,MAAM,EAAE,YACX;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,KAC5B,QAAQ,MAAM,CAgBhB,CAAA;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,iBAAiB,YACnB,SAAS,cACN,KAAK,MAAM,EAAE,eACZ,KAAK,MAAM,EAAE,YAChB,MAAM,YACN;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE;iBAErC,MAAM;iBACN,MAAM;;gBACD,MAAM;qBAAe,MAAM;qBAAe,MAAM;;EAgDnE,CAAA;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,gBAAgB,YAClB,SAAS,cACN,KAAK,MAAM,EAAE,eACZ,KAAK,MAAM,EAAE,aACf,MAAM,YACP;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE;iBAErC,MAAM;iBACN,MAAM;;gBACD,MAAM;qBAAe,MAAM;qBAAe,MAAM;;EAgDnE,CAAA;AAED;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,YAAY,YACd,SAAS,MACd,MAAM,YACA;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,KAC5B,QAAQ,SAAS,CAEnB,CAAA;AAED;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,aAAa,YACf,SAAS,eACL,KAAK,MAAM,EAAE,YAChB;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,KAC5B,QAAQ,SAAS,EAAE,CAErB,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,14 +1,22 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@clober/v2-sdk",
|
|
3
|
-
"version": "0.0.1-
|
|
3
|
+
"version": "0.0.1-dev",
|
|
4
4
|
"description": "🛠 An SDK for building applications on top of Clober V2",
|
|
5
|
-
"
|
|
5
|
+
"files": [
|
|
6
|
+
"dist"
|
|
7
|
+
],
|
|
8
|
+
"type": "module",
|
|
9
|
+
"main": "./dist/cjs/index.js",
|
|
6
10
|
"module": "./dist/esm/index.js",
|
|
7
|
-
"
|
|
8
|
-
"
|
|
11
|
+
"types": "./dist/types/index.d.ts",
|
|
12
|
+
"typings": "./dist/types/index.d.ts",
|
|
9
13
|
"exports": {
|
|
10
|
-
"
|
|
11
|
-
|
|
14
|
+
".": {
|
|
15
|
+
"types": "./dist/types/index.d.ts",
|
|
16
|
+
"import": "./dist/esm/index.js",
|
|
17
|
+
"default": "./dist/cjs/index.js"
|
|
18
|
+
},
|
|
19
|
+
"./package.json": "./package.json"
|
|
12
20
|
},
|
|
13
21
|
"repository": {
|
|
14
22
|
"type": "git",
|
package/.eslintignore
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
node_modules
|
package/.eslintrc.yaml
DELETED
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
root: true
|
|
2
|
-
parser: '@typescript-eslint/parser'
|
|
3
|
-
parserOptions:
|
|
4
|
-
sourceType: module
|
|
5
|
-
plugins:
|
|
6
|
-
- '@typescript-eslint'
|
|
7
|
-
- prettier
|
|
8
|
-
extends:
|
|
9
|
-
- eslint:recommended
|
|
10
|
-
- plugin:@typescript-eslint/eslint-recommended
|
|
11
|
-
- plugin:prettier/recommended
|
|
12
|
-
- plugin:import/errors
|
|
13
|
-
- plugin:import/warnings
|
|
14
|
-
- plugin:import/typescript
|
|
15
|
-
rules:
|
|
16
|
-
curly: error
|
|
17
|
-
no-return-await: error
|
|
18
|
-
prefer-arrow-callback: error
|
|
19
|
-
prettier/prettier:
|
|
20
|
-
- error
|
|
21
|
-
- arrowParens: always
|
|
22
|
-
semi: false
|
|
23
|
-
singleQuote: true
|
|
24
|
-
trailingComma: all
|
|
25
|
-
require-await: off
|
|
26
|
-
no-unused-vars: off
|
|
27
|
-
'@typescript-eslint/no-unused-vars':
|
|
28
|
-
- error
|
|
29
|
-
import/no-unresolved:
|
|
30
|
-
- off
|
|
31
|
-
import/order:
|
|
32
|
-
- error
|
|
33
|
-
- newlines-between: always
|
|
34
|
-
import/no-named-as-default: off
|
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
name: Clober DEX CI
|
|
2
|
-
on:
|
|
3
|
-
pull_request:
|
|
4
|
-
branches:
|
|
5
|
-
- main
|
|
6
|
-
push:
|
|
7
|
-
branches:
|
|
8
|
-
- main
|
|
9
|
-
|
|
10
|
-
jobs:
|
|
11
|
-
tests:
|
|
12
|
-
name: NPM Test
|
|
13
|
-
runs-on: ubuntu-20.04
|
|
14
|
-
strategy:
|
|
15
|
-
matrix:
|
|
16
|
-
node-version: [ '18.10' ]
|
|
17
|
-
steps:
|
|
18
|
-
- name: Checkout
|
|
19
|
-
uses: actions/checkout@v3
|
|
20
|
-
|
|
21
|
-
- name: Use Node.js ${{ matrix.node-version }}
|
|
22
|
-
uses: actions/setup-node@v3
|
|
23
|
-
with:
|
|
24
|
-
node-version: ${{ matrix.node-version }}
|
|
25
|
-
- name: Cache node modules
|
|
26
|
-
id: cache-npm
|
|
27
|
-
uses: actions/cache@v3
|
|
28
|
-
env:
|
|
29
|
-
cache-name: cache-node-modules
|
|
30
|
-
with:
|
|
31
|
-
# npm cache files are stored in `~/.npm` on Linux/macOS
|
|
32
|
-
path: ~/.npm
|
|
33
|
-
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }}
|
|
34
|
-
restore-keys: |
|
|
35
|
-
${{ runner.os }}-build-${{ env.cache-name }}-
|
|
36
|
-
${{ runner.os }}-build-
|
|
37
|
-
${{ runner.os }}-
|
|
38
|
-
- if: ${{ steps.cache-npm.outputs.cache-hit != 'true' }}
|
|
39
|
-
name: List the state of node modules
|
|
40
|
-
continue-on-error: true
|
|
41
|
-
run: npm list
|
|
42
|
-
- name: Install Dependencies
|
|
43
|
-
run: npm ci
|
|
44
|
-
- name: Build subgraph
|
|
45
|
-
run: npm run build-graph
|
|
46
|
-
- name: Install Foundry
|
|
47
|
-
uses: foundry-rs/foundry-toolchain@v1
|
|
48
|
-
- name: Run test
|
|
49
|
-
run: DEV_PRIVATE_KEY=$DEV_PRIVATE_KEY ARBITRUM_SEPOLIA_RPC_URL=$ARBITRUM_SEPOLIA_RPC_URL npm run test
|
|
50
|
-
env:
|
|
51
|
-
ARBITRUM_SEPOLIA_RPC_URL: ${{ secrets.ARBITRUM_SEPOLIA_RPC_URL }}
|
|
52
|
-
DEV_PRIVATE_KEY: ${{ secrets.DEV_PRIVATE_KEY }}
|
|
53
|
-
|
|
54
|
-
check-lint:
|
|
55
|
-
name: Check TS
|
|
56
|
-
runs-on: ubuntu-20.04
|
|
57
|
-
strategy:
|
|
58
|
-
matrix:
|
|
59
|
-
node-version: [ '18.10' ]
|
|
60
|
-
steps:
|
|
61
|
-
- name: Checkout
|
|
62
|
-
uses: actions/checkout@v3
|
|
63
|
-
|
|
64
|
-
- name: Use Node.js ${{ matrix.node-version }}
|
|
65
|
-
uses: actions/setup-node@v3
|
|
66
|
-
with:
|
|
67
|
-
node-version: ${{ matrix.node-version }}
|
|
68
|
-
- name: Cache node modules
|
|
69
|
-
id: cache-npm
|
|
70
|
-
uses: actions/cache@v3
|
|
71
|
-
env:
|
|
72
|
-
cache-name: cache-node-modules
|
|
73
|
-
with:
|
|
74
|
-
# npm cache files are stored in `~/.npm` on Linux/macOS
|
|
75
|
-
path: ~/.npm
|
|
76
|
-
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }}
|
|
77
|
-
restore-keys: |
|
|
78
|
-
${{ runner.os }}-build-${{ env.cache-name }}-
|
|
79
|
-
${{ runner.os }}-build-
|
|
80
|
-
${{ runner.os }}-
|
|
81
|
-
- if: ${{ steps.cache-npm.outputs.cache-hit != 'true' }}
|
|
82
|
-
name: List the state of node modules
|
|
83
|
-
continue-on-error: true
|
|
84
|
-
run: npm list
|
|
85
|
-
- name: Install Dependencies
|
|
86
|
-
run: npm ci
|
|
87
|
-
- name: Check Ts Style
|
|
88
|
-
run: npm run lint
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
name: Publish Package to npmjs
|
|
2
|
-
on:
|
|
3
|
-
release:
|
|
4
|
-
types: [created]
|
|
5
|
-
jobs:
|
|
6
|
-
build:
|
|
7
|
-
runs-on: ubuntu-latest
|
|
8
|
-
steps:
|
|
9
|
-
- uses: actions/checkout@v3
|
|
10
|
-
# Setup .npmrc file to publish to npm
|
|
11
|
-
- uses: actions/setup-node@v3
|
|
12
|
-
with:
|
|
13
|
-
node-version: '18.x'
|
|
14
|
-
registry-url: 'https://registry.npmjs.org'
|
|
15
|
-
- run: npm ci
|
|
16
|
-
- run: npm run build
|
|
17
|
-
- run: npm publish --access=public
|
|
18
|
-
env:
|
|
19
|
-
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
package/.nvmrc
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
v18.10.0
|
package/.prettierignore
DELETED