@clober/v2-sdk 0.0.1-l → 0.0.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 +1 -1
- package/package.json +6 -21
- package/dist/cjs/.graphclient/index.js +0 -243
- package/dist/cjs/.graphclient/index.js.map +0 -1
- package/dist/cjs/.graphclient/sources/clober-v2/introspectionSchema.js +0 -14485
- package/dist/cjs/.graphclient/sources/clober-v2/introspectionSchema.js.map +0 -1
- package/dist/cjs/.graphclient/sources/clober-v2/types.js +0 -4
- package/dist/cjs/.graphclient/sources/clober-v2/types.js.map +0 -1
- package/dist/cjs/abis/core/controller-abi.js +0 -989
- package/dist/cjs/abis/core/controller-abi.js.map +0 -1
- package/dist/cjs/abis/core/params-abi.js +0 -62
- package/dist/cjs/abis/core/params-abi.js.map +0 -1
- package/dist/cjs/apis/currency.js +0 -87
- package/dist/cjs/apis/currency.js.map +0 -1
- package/dist/cjs/apis/market.js +0 -63
- package/dist/cjs/apis/market.js.map +0 -1
- package/dist/cjs/apis/open-order.js +0 -90
- package/dist/cjs/apis/open-order.js.map +0 -1
- package/dist/cjs/approval.js +0 -74
- package/dist/cjs/approval.js.map +0 -1
- package/dist/cjs/call.js +0 -545
- package/dist/cjs/call.js.map +0 -1
- package/dist/cjs/constants/action.js +0 -14
- package/dist/cjs/constants/action.js.map +0 -1
- package/dist/cjs/constants/addresses.js +0 -13
- package/dist/cjs/constants/addresses.js.map +0 -1
- package/dist/cjs/constants/chain.js +0 -13
- package/dist/cjs/constants/chain.js.map +0 -1
- package/dist/cjs/constants/currency.js +0 -12
- package/dist/cjs/constants/currency.js.map +0 -1
- package/dist/cjs/constants/fee.js +0 -7
- package/dist/cjs/constants/fee.js.map +0 -1
- package/dist/cjs/constants/price.js +0 -6
- package/dist/cjs/constants/price.js.map +0 -1
- package/dist/cjs/constants/subgraph-url.js +0 -8
- package/dist/cjs/constants/subgraph-url.js.map +0 -1
- package/dist/cjs/index.js +0 -22
- package/dist/cjs/index.js.map +0 -1
- package/dist/cjs/model/book.js +0 -130
- package/dist/cjs/model/book.js.map +0 -1
- package/dist/cjs/model/currency.js +0 -3
- package/dist/cjs/model/currency.js.map +0 -1
- package/dist/cjs/model/depth.js +0 -3
- package/dist/cjs/model/depth.js.map +0 -1
- package/dist/cjs/model/fee-policy.js +0 -42
- package/dist/cjs/model/fee-policy.js.map +0 -1
- package/dist/cjs/model/market.js +0 -215
- package/dist/cjs/model/market.js.map +0 -1
- package/dist/cjs/model/open-order.js +0 -3
- package/dist/cjs/model/open-order.js.map +0 -1
- package/dist/cjs/package.json +0 -1
- package/dist/cjs/signature.js +0 -178
- package/dist/cjs/signature.js.map +0 -1
- package/dist/cjs/tsconfig.build.tsbuildinfo +0 -1
- package/dist/cjs/type.js +0 -6
- package/dist/cjs/type.js.map +0 -1
- package/dist/cjs/utils/approval.js +0 -46
- package/dist/cjs/utils/approval.js.map +0 -1
- package/dist/cjs/utils/book-id.js +0 -25
- package/dist/cjs/utils/book-id.js.map +0 -1
- package/dist/cjs/utils/build-transaction.js +0 -31
- package/dist/cjs/utils/build-transaction.js.map +0 -1
- package/dist/cjs/utils/decimals.js +0 -17
- package/dist/cjs/utils/decimals.js.map +0 -1
- package/dist/cjs/utils/market.js +0 -53
- package/dist/cjs/utils/market.js.map +0 -1
- package/dist/cjs/utils/math.js +0 -83
- package/dist/cjs/utils/math.js.map +0 -1
- package/dist/cjs/utils/prices.js +0 -22
- package/dist/cjs/utils/prices.js.map +0 -1
- package/dist/cjs/utils/tick.js +0 -106
- package/dist/cjs/utils/tick.js.map +0 -1
- package/dist/cjs/utils/time.js +0 -9
- package/dist/cjs/utils/time.js.map +0 -1
- package/dist/cjs/utils/unit.js +0 -38
- package/dist/cjs/utils/unit.js.map +0 -1
- package/dist/cjs/view.js +0 -185
- package/dist/cjs/view.js.map +0 -1
- package/dist/esm/.graphclient/index.js +0 -233
- package/dist/esm/.graphclient/index.js.map +0 -1
- package/dist/esm/.graphclient/sources/clober-v2/introspectionSchema.js +0 -14483
- package/dist/esm/.graphclient/sources/clober-v2/introspectionSchema.js.map +0 -1
- package/dist/esm/.graphclient/sources/clober-v2/types.js +0 -3
- package/dist/esm/.graphclient/sources/clober-v2/types.js.map +0 -1
- package/dist/esm/abis/core/controller-abi.js +0 -986
- package/dist/esm/abis/core/controller-abi.js.map +0 -1
- package/dist/esm/abis/core/params-abi.js +0 -59
- package/dist/esm/abis/core/params-abi.js.map +0 -1
- package/dist/esm/apis/currency.js +0 -83
- package/dist/esm/apis/currency.js.map +0 -1
- package/dist/esm/apis/market.js +0 -59
- package/dist/esm/apis/market.js.map +0 -1
- package/dist/esm/apis/open-order.js +0 -85
- package/dist/esm/apis/open-order.js.map +0 -1
- package/dist/esm/approval.js +0 -70
- package/dist/esm/approval.js.map +0 -1
- package/dist/esm/call.js +0 -535
- package/dist/esm/call.js.map +0 -1
- package/dist/esm/constants/action.js +0 -11
- package/dist/esm/constants/action.js.map +0 -1
- package/dist/esm/constants/addresses.js +0 -10
- package/dist/esm/constants/addresses.js.map +0 -1
- package/dist/esm/constants/chain.js +0 -10
- package/dist/esm/constants/chain.js.map +0 -1
- package/dist/esm/constants/currency.js +0 -9
- package/dist/esm/constants/currency.js.map +0 -1
- package/dist/esm/constants/fee.js +0 -4
- package/dist/esm/constants/fee.js.map +0 -1
- package/dist/esm/constants/price.js +0 -3
- package/dist/esm/constants/price.js.map +0 -1
- package/dist/esm/constants/subgraph-url.js +0 -5
- package/dist/esm/constants/subgraph-url.js.map +0 -1
- package/dist/esm/index.js +0 -6
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/model/book.js +0 -126
- package/dist/esm/model/book.js.map +0 -1
- package/dist/esm/model/currency.js +0 -2
- package/dist/esm/model/currency.js.map +0 -1
- package/dist/esm/model/depth.js +0 -2
- package/dist/esm/model/depth.js.map +0 -1
- package/dist/esm/model/fee-policy.js +0 -38
- package/dist/esm/model/fee-policy.js.map +0 -1
- package/dist/esm/model/market.js +0 -211
- package/dist/esm/model/market.js.map +0 -1
- package/dist/esm/model/open-order.js +0 -2
- package/dist/esm/model/open-order.js.map +0 -1
- package/dist/esm/package.json +0 -1
- package/dist/esm/signature.js +0 -174
- package/dist/esm/signature.js.map +0 -1
- package/dist/esm/tsconfig.build.tsbuildinfo +0 -1
- package/dist/esm/type.js +0 -2
- package/dist/esm/type.js.map +0 -1
- package/dist/esm/utils/approval.js +0 -42
- package/dist/esm/utils/approval.js.map +0 -1
- package/dist/esm/utils/book-id.js +0 -21
- package/dist/esm/utils/book-id.js.map +0 -1
- package/dist/esm/utils/build-transaction.js +0 -27
- package/dist/esm/utils/build-transaction.js.map +0 -1
- package/dist/esm/utils/decimals.js +0 -12
- package/dist/esm/utils/decimals.js.map +0 -1
- package/dist/esm/utils/market.js +0 -49
- package/dist/esm/utils/market.js.map +0 -1
- package/dist/esm/utils/math.js +0 -78
- package/dist/esm/utils/math.js.map +0 -1
- package/dist/esm/utils/prices.js +0 -17
- package/dist/esm/utils/prices.js.map +0 -1
- package/dist/esm/utils/tick.js +0 -100
- package/dist/esm/utils/tick.js.map +0 -1
- package/dist/esm/utils/time.js +0 -5
- package/dist/esm/utils/time.js.map +0 -1
- package/dist/esm/utils/unit.js +0 -34
- package/dist/esm/utils/unit.js.map +0 -1
- package/dist/esm/view.js +0 -177
- package/dist/esm/view.js.map +0 -1
- package/dist/types/.graphclient/index.d.ts +0 -1281
- package/dist/types/.graphclient/index.d.ts.map +0 -1
- package/dist/types/.graphclient/sources/clober-v2/introspectionSchema.d.ts +0 -3
- package/dist/types/.graphclient/sources/clober-v2/introspectionSchema.d.ts.map +0 -1
- package/dist/types/.graphclient/sources/clober-v2/types.d.ts +0 -984
- package/dist/types/.graphclient/sources/clober-v2/types.d.ts.map +0 -1
- package/dist/types/abis/core/controller-abi.d.ts +0 -757
- package/dist/types/abis/core/controller-abi.d.ts.map +0 -1
- package/dist/types/abis/core/params-abi.d.ts +0 -21
- package/dist/types/abis/core/params-abi.d.ts.map +0 -1
- package/dist/types/apis/currency.d.ts +0 -4
- package/dist/types/apis/currency.d.ts.map +0 -1
- package/dist/types/apis/market.d.ts +0 -4
- package/dist/types/apis/market.d.ts.map +0 -1
- package/dist/types/apis/open-order.d.ts +0 -5
- package/dist/types/apis/open-order.d.ts.map +0 -1
- package/dist/types/approval.d.ts +0 -32
- package/dist/types/approval.d.ts.map +0 -1
- package/dist/types/call.d.ts +0 -234
- package/dist/types/call.d.ts.map +0 -1
- package/dist/types/constants/action.d.ts +0 -10
- package/dist/types/constants/action.d.ts.map +0 -1
- package/dist/types/constants/addresses.d.ts +0 -9
- package/dist/types/constants/addresses.d.ts.map +0 -1
- package/dist/types/constants/chain.d.ts +0 -9
- package/dist/types/constants/chain.d.ts.map +0 -1
- package/dist/types/constants/currency.d.ts +0 -8
- package/dist/types/constants/currency.d.ts.map +0 -1
- package/dist/types/constants/fee.d.ts +0 -4
- package/dist/types/constants/fee.d.ts.map +0 -1
- package/dist/types/constants/price.d.ts +0 -3
- package/dist/types/constants/price.d.ts.map +0 -1
- package/dist/types/constants/subgraph-url.d.ts +0 -5
- package/dist/types/constants/subgraph-url.d.ts.map +0 -1
- package/dist/types/index.d.ts +0 -6
- package/dist/types/index.d.ts.map +0 -1
- package/dist/types/model/book.d.ts +0 -31
- package/dist/types/model/book.d.ts.map +0 -1
- package/dist/types/model/currency.d.ts +0 -7
- package/dist/types/model/currency.d.ts.map +0 -1
- package/dist/types/model/depth.d.ts +0 -11
- package/dist/types/model/depth.d.ts.map +0 -1
- package/dist/types/model/fee-policy.d.ts +0 -15
- package/dist/types/model/fee-policy.d.ts.map +0 -1
- package/dist/types/model/market.d.ts +0 -44
- package/dist/types/model/market.d.ts.map +0 -1
- package/dist/types/model/open-order.d.ts +0 -28
- package/dist/types/model/open-order.d.ts.map +0 -1
- package/dist/types/signature.d.ts +0 -40
- package/dist/types/signature.d.ts.map +0 -1
- package/dist/types/type.d.ts +0 -34
- package/dist/types/type.d.ts.map +0 -1
- package/dist/types/utils/approval.d.ts +0 -3
- package/dist/types/utils/approval.d.ts.map +0 -1
- package/dist/types/utils/book-id.d.ts +0 -2
- package/dist/types/utils/book-id.d.ts.map +0 -1
- package/dist/types/utils/build-transaction.d.ts +0 -5
- package/dist/types/utils/build-transaction.d.ts.map +0 -1
- package/dist/types/utils/decimals.d.ts +0 -3
- package/dist/types/utils/decimals.d.ts.map +0 -1
- package/dist/types/utils/market.d.ts +0 -7
- package/dist/types/utils/market.d.ts.map +0 -1
- package/dist/types/utils/math.d.ts +0 -3
- package/dist/types/utils/math.d.ts.map +0 -1
- package/dist/types/utils/prices.d.ts +0 -3
- package/dist/types/utils/prices.d.ts.map +0 -1
- package/dist/types/utils/tick.d.ts +0 -4
- package/dist/types/utils/tick.d.ts.map +0 -1
- package/dist/types/utils/time.d.ts +0 -2
- package/dist/types/utils/time.d.ts.map +0 -1
- package/dist/types/utils/unit.d.ts +0 -4
- package/dist/types/utils/unit.d.ts.map +0 -1
- package/dist/types/view.d.ts +0 -129
- package/dist/types/view.d.ts.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"book-id.js","sourceRoot":"","sources":["../../../src/utils/book-id.ts"],"names":[],"mappings":";;;AAAA,+BAAkE;AAElE,0CAA6E;AAEtE,MAAM,QAAQ,GAAG,CACtB,UAAyB,EACzB,WAA0B,EAC1B,IAAY,EACZ,EAAE;IACF,MAAM,KAAK,GAAG,IAAA,gBAAS,EACrB,IAAA,0BAAmB,EACjB;QACE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE;QACjC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE;QAChC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;QAClC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,EAAE;QACvC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;QAClC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,EAAE;KACxC,EACD;QACE,WAAW;QACX,IAAI;QACJ,UAAU;QACV,MAAM,CAAC,0BAAoB,CAAC,KAAK,CAAC;QAClC,kBAAW;QACX,MAAM,CAAC,0BAAoB,CAAC,KAAK,CAAC;KACnC,CACF,CACF,CAAA;IACD,OAAO,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI,IAAI,GAAG,EAAE,CAAC,CAAA;AAC1C,CAAC,CAAA;AA1BY,QAAA,QAAQ,YA0BpB"}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.buildTransaction = void 0;
|
|
4
|
-
const viem_1 = require("viem");
|
|
5
|
-
const chain_1 = require("../constants/chain");
|
|
6
|
-
const buildTransaction = async (chainId, args, rpcUrl) => {
|
|
7
|
-
const publicClient = (0, viem_1.createPublicClient)({
|
|
8
|
-
chain: chain_1.CHAIN_MAP[chainId],
|
|
9
|
-
transport: rpcUrl ? (0, viem_1.http)(rpcUrl) : (0, viem_1.http)(),
|
|
10
|
-
});
|
|
11
|
-
const data = (0, viem_1.encodeFunctionData)(args);
|
|
12
|
-
const [gas, gasPrice] = await Promise.all([
|
|
13
|
-
publicClient.estimateGas({
|
|
14
|
-
account: args.account,
|
|
15
|
-
data,
|
|
16
|
-
to: args.address,
|
|
17
|
-
value: args.value || 0n,
|
|
18
|
-
}),
|
|
19
|
-
publicClient.getGasPrice(),
|
|
20
|
-
]);
|
|
21
|
-
return {
|
|
22
|
-
gas,
|
|
23
|
-
gasPrice,
|
|
24
|
-
data,
|
|
25
|
-
value: args.value || 0n,
|
|
26
|
-
to: args.address,
|
|
27
|
-
from: args.account,
|
|
28
|
-
};
|
|
29
|
-
};
|
|
30
|
-
exports.buildTransaction = buildTransaction;
|
|
31
|
-
//# sourceMappingURL=build-transaction.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"build-transaction.js","sourceRoot":"","sources":["../../../src/utils/build-transaction.ts"],"names":[],"mappings":";;;AAAA,+BAMa;AAEb,8CAAyD;AAGlD,MAAM,gBAAgB,GAAG,KAAK,EACnC,OAAkB,EAClB,IAA0D,EAC1D,MAAe,EACO,EAAE;IACxB,MAAM,YAAY,GAAG,IAAA,yBAAkB,EAAC;QACtC,KAAK,EAAE,iBAAS,CAAC,OAAO,CAAC;QACzB,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,IAAA,WAAI,EAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAA,WAAI,GAAE;KAC1C,CAAC,CAAA;IACF,MAAM,IAAI,GAAG,IAAA,yBAAkB,EAAC,IAAI,CAAC,CAAA;IACrC,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACxC,YAAY,CAAC,WAAW,CAAC;YACvB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,IAAI;YACJ,EAAE,EAAE,IAAI,CAAC,OAAO;YAChB,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE;SACxB,CAAC;QACF,YAAY,CAAC,WAAW,EAAE;KAC3B,CAAC,CAAA;IACF,OAAO;QACL,GAAG;QACH,QAAQ;QACR,IAAI;QACJ,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE;QACvB,EAAE,EAAE,IAAI,CAAC,OAAO;QAChB,IAAI,EAAE,IAAI,CAAC,OAAO;KACnB,CAAA;AACH,CAAC,CAAA;AA3BY,QAAA,gBAAgB,oBA2B5B"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.quoteToBase = exports.baseToQuote = void 0;
|
|
4
|
-
const price_1 = require("../constants/price");
|
|
5
|
-
const math_1 = require("./math");
|
|
6
|
-
const tick_1 = require("./tick");
|
|
7
|
-
const baseToQuote = (tick, base, roundingUp) => {
|
|
8
|
-
const y = 1n << price_1.PRICE_PRECISION;
|
|
9
|
-
return (0, math_1.divide)(base * (0, tick_1.toPrice)(tick), y, roundingUp);
|
|
10
|
-
};
|
|
11
|
-
exports.baseToQuote = baseToQuote;
|
|
12
|
-
const quoteToBase = (tick, quote, roundingUp) => {
|
|
13
|
-
const x = quote << price_1.PRICE_PRECISION;
|
|
14
|
-
return (0, math_1.divide)(x, (0, tick_1.toPrice)(tick), roundingUp);
|
|
15
|
-
};
|
|
16
|
-
exports.quoteToBase = quoteToBase;
|
|
17
|
-
//# sourceMappingURL=decimals.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"decimals.js","sourceRoot":"","sources":["../../../src/utils/decimals.ts"],"names":[],"mappings":";;;AAAA,8CAAoD;AAEpD,iCAA+B;AAC/B,iCAAgC;AAEzB,MAAM,WAAW,GAAG,CACzB,IAAY,EACZ,IAAY,EACZ,UAAmB,EACX,EAAE;IACV,MAAM,CAAC,GAAG,EAAE,IAAI,uBAAe,CAAA;IAC/B,OAAO,IAAA,aAAM,EAAC,IAAI,GAAG,IAAA,cAAO,EAAC,IAAI,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,CAAA;AACpD,CAAC,CAAA;AAPY,QAAA,WAAW,eAOvB;AAEM,MAAM,WAAW,GAAG,CACzB,IAAY,EACZ,KAAa,EACb,UAAmB,EACX,EAAE;IACV,MAAM,CAAC,GAAG,KAAK,IAAI,uBAAe,CAAA;IAClC,OAAO,IAAA,aAAM,EAAC,CAAC,EAAE,IAAA,cAAO,EAAC,IAAI,CAAC,EAAE,UAAU,CAAC,CAAA;AAC7C,CAAC,CAAA;AAPY,QAAA,WAAW,eAOvB"}
|
package/dist/cjs/utils/market.js
DELETED
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getMarketId = void 0;
|
|
4
|
-
const viem_1 = require("viem");
|
|
5
|
-
const currency_1 = require("../constants/currency");
|
|
6
|
-
const getMarketId = (chainId, tokenAddresses) => {
|
|
7
|
-
if (tokenAddresses.length !== 2) {
|
|
8
|
-
throw new Error('Invalid token pair');
|
|
9
|
-
}
|
|
10
|
-
tokenAddresses = tokenAddresses.map((address) => (0, viem_1.getAddress)(address));
|
|
11
|
-
// include stable coin
|
|
12
|
-
const stable = tokenAddresses.find((address) => {
|
|
13
|
-
return currency_1.STABLE_COIN_ADDRESSES[chainId].map((addresses) => (0, viem_1.getAddress)(addresses)).some((addresses) => addresses.includes(address));
|
|
14
|
-
});
|
|
15
|
-
if (stable) {
|
|
16
|
-
const other = tokenAddresses.find((address) => !(0, viem_1.isAddressEqual)(address, stable));
|
|
17
|
-
return {
|
|
18
|
-
marketId: `${other}/${stable}`,
|
|
19
|
-
quoteTokenAddress: stable,
|
|
20
|
-
baseTokenAddress: other,
|
|
21
|
-
};
|
|
22
|
-
}
|
|
23
|
-
// include eth
|
|
24
|
-
const eth = tokenAddresses.find((address) => (0, viem_1.isAddressEqual)(address, viem_1.zeroAddress));
|
|
25
|
-
if (eth) {
|
|
26
|
-
const other = tokenAddresses.find((address) => !(0, viem_1.isAddressEqual)(address, viem_1.zeroAddress));
|
|
27
|
-
return {
|
|
28
|
-
marketId: `${other}/${eth}`,
|
|
29
|
-
quoteTokenAddress: eth,
|
|
30
|
-
baseTokenAddress: other,
|
|
31
|
-
};
|
|
32
|
-
}
|
|
33
|
-
// include weth
|
|
34
|
-
const weth = tokenAddresses.find((address) => {
|
|
35
|
-
return currency_1.WETH_ADDRESSES[chainId].map((addresses) => (0, viem_1.getAddress)(addresses)).some((addresses) => addresses.includes(address));
|
|
36
|
-
});
|
|
37
|
-
if (weth) {
|
|
38
|
-
const other = tokenAddresses.find((address) => !(0, viem_1.isAddressEqual)(address, weth));
|
|
39
|
-
return {
|
|
40
|
-
marketId: `${other}/${weth}`,
|
|
41
|
-
quoteTokenAddress: weth,
|
|
42
|
-
baseTokenAddress: other,
|
|
43
|
-
};
|
|
44
|
-
}
|
|
45
|
-
const _tokens = tokenAddresses.sort((a, b) => a.localeCompare(b));
|
|
46
|
-
return {
|
|
47
|
-
marketId: `${_tokens[0]}/${_tokens[1]}`,
|
|
48
|
-
quoteTokenAddress: _tokens[0],
|
|
49
|
-
baseTokenAddress: _tokens[1],
|
|
50
|
-
};
|
|
51
|
-
};
|
|
52
|
-
exports.getMarketId = getMarketId;
|
|
53
|
-
//# sourceMappingURL=market.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"market.js","sourceRoot":"","sources":["../../../src/utils/market.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/utils/math.js
DELETED
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.lnWad = exports.divide = void 0;
|
|
4
|
-
const divide = (x, y, roundUp) => {
|
|
5
|
-
if (roundUp) {
|
|
6
|
-
if (x === 0n) {
|
|
7
|
-
return 0n;
|
|
8
|
-
}
|
|
9
|
-
else {
|
|
10
|
-
return (x - 1n) / y + 1n;
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
else {
|
|
14
|
-
return x / y;
|
|
15
|
-
}
|
|
16
|
-
};
|
|
17
|
-
exports.divide = divide;
|
|
18
|
-
const lnWad = (x) => {
|
|
19
|
-
const or = (a, b) => a | b;
|
|
20
|
-
const xor = (a, b) => a ^ b;
|
|
21
|
-
const and = (a, b) => a & b;
|
|
22
|
-
const add = (a, b) => a + b;
|
|
23
|
-
const sub = (a, b) => a - b;
|
|
24
|
-
const mul = (a, b) => a * b;
|
|
25
|
-
const sdiv = (a, b) => a / b;
|
|
26
|
-
const lt = (a, b) => (a < b ? 1n : 0n);
|
|
27
|
-
const shl = (x, y) => y << x;
|
|
28
|
-
const shr = (x, y) => y >> x;
|
|
29
|
-
const sar = (x, y) => y >> x;
|
|
30
|
-
const byte = (i, x) => (x >> (248n - i * 8n)) & 0xffn;
|
|
31
|
-
// We want to convert `x` from `10**18` fixed point to `2**96` fixed point.
|
|
32
|
-
// We do this by multiplying by `2**96 / 10**18`. But since
|
|
33
|
-
// `ln(x * C) = ln(x) + ln(C)`, we can simply do nothing here
|
|
34
|
-
// and add `ln(2**96 / 10**18)` at the end.
|
|
35
|
-
// Compute `k = log2(x) - 96`, `r = 159 - k = 255 - log2(x) = 255 ^ log2(x)`.
|
|
36
|
-
let r = shl(7n, lt(0xffffffffffffffffffffffffffffffffn, x));
|
|
37
|
-
r = or(r, shl(6n, lt(0xffffffffffffffffn, shr(r, x))));
|
|
38
|
-
r = or(r, shl(5n, lt(0xffffffffn, shr(r, x))));
|
|
39
|
-
r = or(r, shl(4n, lt(0xffffn, shr(r, x))));
|
|
40
|
-
r = or(r, shl(3n, lt(0xffn, shr(r, x))));
|
|
41
|
-
// forgefmt: disable-next-item
|
|
42
|
-
r = xor(r, byte(and(0x1fn, shr(shr(r, x), 0x8421084210842108cc6318c6db6d54ben)), 0xf8f9f9faf9fdfafbf9fdfcfdfafbfcfef9fafdfafcfcfbfefafafcfbffffffffn));
|
|
43
|
-
// Reduce range of x to (1, 2) * 2**96
|
|
44
|
-
// ln(2^k * x) = k * ln(2) + ln(x)
|
|
45
|
-
x = shr(159n, shl(r, x));
|
|
46
|
-
// Evaluate using a (8, 8)-term rational approximation.
|
|
47
|
-
// `p` is made monic, we will multiply by a scale factor later.
|
|
48
|
-
// forgefmt: disable-next-item
|
|
49
|
-
let p = sub(
|
|
50
|
-
// This heavily nested expression is to avoid stack-too-deep for via-ir.
|
|
51
|
-
sar(96n, mul(add(43456485725739037958740375743393n, sar(96n, mul(add(24828157081833163892658089445524n, sar(96n, mul(add(3273285459638523848632254066296n, x), x))), x))), x)), 11111509109440967052023855526967n);
|
|
52
|
-
p = sub(sar(96n, mul(p, x)), 45023709667254063763336534515857n);
|
|
53
|
-
p = sub(sar(96n, mul(p, x)), 14706773417378608786704636184526n);
|
|
54
|
-
p = sub(mul(p, x), shl(96n, 795164235651350426258249787498n));
|
|
55
|
-
// We leave `p` in `2**192` basis so we don't need to scale it back up for the division.
|
|
56
|
-
// `q` is monic by convention.
|
|
57
|
-
let q = add(5573035233440673466300451813936n, x);
|
|
58
|
-
q = add(71694874799317883764090561454958n, sar(96n, mul(x, q)));
|
|
59
|
-
q = add(283447036172924575727196451306956n, sar(96n, mul(x, q)));
|
|
60
|
-
q = add(401686690394027663651624208769553n, sar(96n, mul(x, q)));
|
|
61
|
-
q = add(204048457590392012362485061816622n, sar(96n, mul(x, q)));
|
|
62
|
-
q = add(31853899698501571402653359427138n, sar(96n, mul(x, q)));
|
|
63
|
-
q = add(909429971244387300277376558375n, sar(96n, mul(x, q)));
|
|
64
|
-
// `p / q` is in the range `(0, 0.125) * 2**96`.
|
|
65
|
-
// Finalization, we need to:
|
|
66
|
-
// - Multiply by the scale factor `s = 5.549…`.
|
|
67
|
-
// - Add `ln(2**96 / 10**18)`.
|
|
68
|
-
// - Add `k * ln(2)`.
|
|
69
|
-
// - Multiply by `10**18 / 2**96 = 5**18 >> 78`.
|
|
70
|
-
// The q polynomial is known not to have zeros in the domain.
|
|
71
|
-
// No scaling required because p is already `2**96` too large.
|
|
72
|
-
p = sdiv(p, q);
|
|
73
|
-
// Multiply by the scaling factor: `s * 5**18 * 2**96`, base is now `5**18 * 2**192`.
|
|
74
|
-
p = mul(1677202110996718588342820967067443963516166n, p);
|
|
75
|
-
// Add `ln(2) * k * 5**18 * 2**192`.
|
|
76
|
-
// forgefmt: disable-next-item
|
|
77
|
-
p = add(mul(16597577552685614221487285958193947469193820559219878177908093499208371n, sub(159n, r)), p);
|
|
78
|
-
// Base conversion: mul `2**96 / (5**18 * 2**192)`.
|
|
79
|
-
r = sdiv(p, 302231454903657293676544000000000000000000n);
|
|
80
|
-
return r;
|
|
81
|
-
};
|
|
82
|
-
exports.lnWad = lnWad;
|
|
83
|
-
//# sourceMappingURL=math.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"math.js","sourceRoot":"","sources":["../../../src/utils/math.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/utils/prices.js
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.parsePrice = exports.formatPrice = void 0;
|
|
4
|
-
const bignumber_js_1 = require("bignumber.js");
|
|
5
|
-
const price_1 = require("../constants/price");
|
|
6
|
-
const formatPrice = (price, quoteDecimals, baseDecimals) => {
|
|
7
|
-
return new bignumber_js_1.default(price.toString())
|
|
8
|
-
.div(new bignumber_js_1.default(2).pow(price_1.PRICE_PRECISION.toString()))
|
|
9
|
-
.times(new bignumber_js_1.default(10).pow(baseDecimals))
|
|
10
|
-
.div(new bignumber_js_1.default(10).pow(quoteDecimals))
|
|
11
|
-
.toNumber();
|
|
12
|
-
};
|
|
13
|
-
exports.formatPrice = formatPrice;
|
|
14
|
-
const parsePrice = (price, quoteDecimals, baseDecimals) => {
|
|
15
|
-
const value = new bignumber_js_1.default(price)
|
|
16
|
-
.times(new bignumber_js_1.default(2).pow(price_1.PRICE_PRECISION.toString()))
|
|
17
|
-
.times(new bignumber_js_1.default(10).pow(quoteDecimals))
|
|
18
|
-
.div(new bignumber_js_1.default(10).pow(baseDecimals));
|
|
19
|
-
return BigInt(value.isInteger() ? value.toFixed() : value.integerValue().toFixed());
|
|
20
|
-
};
|
|
21
|
-
exports.parsePrice = parsePrice;
|
|
22
|
-
//# sourceMappingURL=prices.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"prices.js","sourceRoot":"","sources":["../../../src/utils/prices.ts"],"names":[],"mappings":";;;AAAA,+CAAoC;AAEpC,8CAAoD;AAE7C,MAAM,WAAW,GAAG,CACzB,KAAa,EACb,aAAqB,EACrB,YAAoB,EACZ,EAAE;IACV,OAAO,IAAI,sBAAS,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;SACnC,GAAG,CAAC,IAAI,sBAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,uBAAe,CAAC,QAAQ,EAAE,CAAC,CAAC;SACrD,KAAK,CAAC,IAAI,sBAAS,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;SAC1C,GAAG,CAAC,IAAI,sBAAS,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;SACzC,QAAQ,EAAE,CAAA;AACf,CAAC,CAAA;AAVY,QAAA,WAAW,eAUvB;AAEM,MAAM,UAAU,GAAG,CACxB,KAAa,EACb,aAAqB,EACrB,YAAoB,EACZ,EAAE;IACV,MAAM,KAAK,GAAG,IAAI,sBAAS,CAAC,KAAK,CAAC;SAC/B,KAAK,CAAC,IAAI,sBAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,uBAAe,CAAC,QAAQ,EAAE,CAAC,CAAC;SACvD,KAAK,CAAC,IAAI,sBAAS,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;SAC3C,GAAG,CAAC,IAAI,sBAAS,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAA;IAC3C,OAAO,MAAM,CACX,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC,OAAO,EAAE,CACrE,CAAA;AACH,CAAC,CAAA;AAZY,QAAA,UAAU,cAYtB"}
|
package/dist/cjs/utils/tick.js
DELETED
|
@@ -1,106 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.toPrice = exports.fromPrice = exports.invertPrice = void 0;
|
|
4
|
-
const price_1 = require("../constants/price");
|
|
5
|
-
const math_1 = require("./math");
|
|
6
|
-
const _R0 = 0xfff97272373d413259a46990n;
|
|
7
|
-
const _R1 = 0xfff2e50f5f656932ef12357cn;
|
|
8
|
-
const _R2 = 0xffe5caca7e10e4e61c3624ean;
|
|
9
|
-
const _R3 = 0xffcb9843d60f6159c9db5883n;
|
|
10
|
-
const _R4 = 0xff973b41fa98c081472e6896n;
|
|
11
|
-
const _R5 = 0xff2ea16466c96a3843ec78b3n;
|
|
12
|
-
const _R6 = 0xfe5dee046a99a2a811c461f1n;
|
|
13
|
-
const _R7 = 0xfcbe86c7900a88aedcffc83bn;
|
|
14
|
-
const _R8 = 0xf987a7253ac413176f2b074cn;
|
|
15
|
-
const _R9 = 0xf3392b0822b70005940c7a39n;
|
|
16
|
-
const _R10 = 0xe7159475a2c29b7443b29c7fn;
|
|
17
|
-
const _R11 = 0xd097f3bdfd2022b8845ad8f7n;
|
|
18
|
-
const _R12 = 0xa9f746462d870fdf8a65dc1fn;
|
|
19
|
-
const _R13 = 0x70d869a156d2a1b890bb3df6n;
|
|
20
|
-
const _R14 = 0x31be135f97d08fd981231505n;
|
|
21
|
-
const _R15 = 0x9aa508b5b7a84e1c677de54n;
|
|
22
|
-
const _R16 = 0x5d6af8dedb81196699c329n;
|
|
23
|
-
const _R17 = 0x2216e584f5fa1ea92604n;
|
|
24
|
-
const _R18 = 0x48a170391f7dc42n;
|
|
25
|
-
const invertPrice = (price) => {
|
|
26
|
-
return price ? (1n << (price_1.PRICE_PRECISION * 2n)) / price : 0n;
|
|
27
|
-
};
|
|
28
|
-
exports.invertPrice = invertPrice;
|
|
29
|
-
const fromPrice = (price) => {
|
|
30
|
-
const tick = ((0, math_1.lnWad)(price) * 42951820407860n) / 2n ** 128n;
|
|
31
|
-
if ((0, exports.toPrice)(tick) > price) {
|
|
32
|
-
return tick - 1n;
|
|
33
|
-
}
|
|
34
|
-
return tick;
|
|
35
|
-
};
|
|
36
|
-
exports.fromPrice = fromPrice;
|
|
37
|
-
const toPrice = (tick) => {
|
|
38
|
-
const absTick = tick < 0n ? -tick : tick;
|
|
39
|
-
let price = 0n;
|
|
40
|
-
if ((absTick & 0x1n) !== 0n) {
|
|
41
|
-
price = _R0;
|
|
42
|
-
}
|
|
43
|
-
else {
|
|
44
|
-
price = 1n << price_1.PRICE_PRECISION;
|
|
45
|
-
}
|
|
46
|
-
if ((absTick & 0x2n) != 0n) {
|
|
47
|
-
price = (price * _R1) >> price_1.PRICE_PRECISION;
|
|
48
|
-
}
|
|
49
|
-
if ((absTick & 0x4n) != 0n) {
|
|
50
|
-
price = (price * _R2) >> price_1.PRICE_PRECISION;
|
|
51
|
-
}
|
|
52
|
-
if ((absTick & 0x8n) != 0n) {
|
|
53
|
-
price = (price * _R3) >> price_1.PRICE_PRECISION;
|
|
54
|
-
}
|
|
55
|
-
if ((absTick & 0x10n) != 0n) {
|
|
56
|
-
price = (price * _R4) >> price_1.PRICE_PRECISION;
|
|
57
|
-
}
|
|
58
|
-
if ((absTick & 0x20n) != 0n) {
|
|
59
|
-
price = (price * _R5) >> price_1.PRICE_PRECISION;
|
|
60
|
-
}
|
|
61
|
-
if ((absTick & 0x40n) != 0n) {
|
|
62
|
-
price = (price * _R6) >> price_1.PRICE_PRECISION;
|
|
63
|
-
}
|
|
64
|
-
if ((absTick & 0x80n) != 0n) {
|
|
65
|
-
price = (price * _R7) >> price_1.PRICE_PRECISION;
|
|
66
|
-
}
|
|
67
|
-
if ((absTick & 0x100n) != 0n) {
|
|
68
|
-
price = (price * _R8) >> price_1.PRICE_PRECISION;
|
|
69
|
-
}
|
|
70
|
-
if ((absTick & 0x200n) != 0n) {
|
|
71
|
-
price = (price * _R9) >> price_1.PRICE_PRECISION;
|
|
72
|
-
}
|
|
73
|
-
if ((absTick & 0x400n) != 0n) {
|
|
74
|
-
price = (price * _R10) >> price_1.PRICE_PRECISION;
|
|
75
|
-
}
|
|
76
|
-
if ((absTick & 0x800n) != 0n) {
|
|
77
|
-
price = (price * _R11) >> price_1.PRICE_PRECISION;
|
|
78
|
-
}
|
|
79
|
-
if ((absTick & 0x1000n) != 0n) {
|
|
80
|
-
price = (price * _R12) >> price_1.PRICE_PRECISION;
|
|
81
|
-
}
|
|
82
|
-
if ((absTick & 0x2000n) != 0n) {
|
|
83
|
-
price = (price * _R13) >> price_1.PRICE_PRECISION;
|
|
84
|
-
}
|
|
85
|
-
if ((absTick & 0x4000n) != 0n) {
|
|
86
|
-
price = (price * _R14) >> price_1.PRICE_PRECISION;
|
|
87
|
-
}
|
|
88
|
-
if ((absTick & 0x8000n) != 0n) {
|
|
89
|
-
price = (price * _R15) >> price_1.PRICE_PRECISION;
|
|
90
|
-
}
|
|
91
|
-
if ((absTick & 0x10000n) != 0n) {
|
|
92
|
-
price = (price * _R16) >> price_1.PRICE_PRECISION;
|
|
93
|
-
}
|
|
94
|
-
if ((absTick & 0x20000n) != 0n) {
|
|
95
|
-
price = (price * _R17) >> price_1.PRICE_PRECISION;
|
|
96
|
-
}
|
|
97
|
-
if ((absTick & 0x40000n) != 0n) {
|
|
98
|
-
price = (price * _R18) >> price_1.PRICE_PRECISION;
|
|
99
|
-
}
|
|
100
|
-
if (tick > 0n) {
|
|
101
|
-
price = 0x1000000000000000000000000000000000000000000000000n / price;
|
|
102
|
-
}
|
|
103
|
-
return price;
|
|
104
|
-
};
|
|
105
|
-
exports.toPrice = toPrice;
|
|
106
|
-
//# sourceMappingURL=tick.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tick.js","sourceRoot":"","sources":["../../../src/utils/tick.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/utils/time.js
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getDeadlineTimestampInSeconds = void 0;
|
|
4
|
-
const currentTimestampInSeconds = () => Math.floor(new Date().getTime() / 1000);
|
|
5
|
-
const getDeadlineTimestampInSeconds = () => {
|
|
6
|
-
return BigInt(Math.floor(currentTimestampInSeconds() + 60 * 20));
|
|
7
|
-
};
|
|
8
|
-
exports.getDeadlineTimestampInSeconds = getDeadlineTimestampInSeconds;
|
|
9
|
-
//# sourceMappingURL=time.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"time.js","sourceRoot":"","sources":["../../../src/utils/time.ts"],"names":[],"mappings":";;;AAAA,MAAM,yBAAyB,GAAG,GAAW,EAAE,CAC7C,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAA;AAElC,MAAM,6BAA6B,GAAG,GAAW,EAAE;IACxD,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,yBAAyB,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAA;AAClE,CAAC,CAAA;AAFY,QAAA,6BAA6B,iCAEzC"}
|
package/dist/cjs/utils/unit.js
DELETED
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.calculateUnit = void 0;
|
|
4
|
-
const viem_1 = require("viem");
|
|
5
|
-
const chain_1 = require("../constants/chain");
|
|
6
|
-
const _abi = [
|
|
7
|
-
{
|
|
8
|
-
inputs: [],
|
|
9
|
-
name: 'totalSupply',
|
|
10
|
-
outputs: [
|
|
11
|
-
{
|
|
12
|
-
internalType: 'uint256',
|
|
13
|
-
name: '',
|
|
14
|
-
type: 'uint256',
|
|
15
|
-
},
|
|
16
|
-
],
|
|
17
|
-
stateMutability: 'view',
|
|
18
|
-
type: 'function',
|
|
19
|
-
},
|
|
20
|
-
];
|
|
21
|
-
const calculateUnit = async (chainId, quote, rpcUrl) => {
|
|
22
|
-
if ((0, viem_1.isAddressEqual)(quote.address, viem_1.zeroAddress)) {
|
|
23
|
-
return 10n ** 12n;
|
|
24
|
-
}
|
|
25
|
-
const publicClient = (0, viem_1.createPublicClient)({
|
|
26
|
-
chain: chain_1.CHAIN_MAP[chainId],
|
|
27
|
-
transport: rpcUrl ? (0, viem_1.http)(rpcUrl) : (0, viem_1.http)(),
|
|
28
|
-
});
|
|
29
|
-
const totalSupply = await publicClient.readContract({
|
|
30
|
-
address: quote.address,
|
|
31
|
-
abi: _abi,
|
|
32
|
-
functionName: 'totalSupply',
|
|
33
|
-
});
|
|
34
|
-
return (10n **
|
|
35
|
-
BigInt(totalSupply <= 2n ** 64n ? 0n : Math.max(quote.decimals - 6, 0)));
|
|
36
|
-
};
|
|
37
|
-
exports.calculateUnit = calculateUnit;
|
|
38
|
-
//# sourceMappingURL=unit.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"unit.js","sourceRoot":"","sources":["../../../src/utils/unit.ts"],"names":[],"mappings":";;;AAAA,+BAA4E;AAG5E,8CAAyD;AAEzD,MAAM,IAAI,GAAG;IACX;QACE,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,aAAa;QACnB,OAAO,EAAE;YACP;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,SAAS;aAChB;SACF;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;CACO,CAAA;AAEH,MAAM,aAAa,GAAG,KAAK,EAChC,OAAkB,EAClB,KAAe,EACf,MAAe,EACf,EAAE;IACF,IAAI,IAAA,qBAAc,EAAC,KAAK,CAAC,OAAO,EAAE,kBAAW,CAAC,EAAE,CAAC;QAC/C,OAAO,GAAG,IAAI,GAAG,CAAA;IACnB,CAAC;IACD,MAAM,YAAY,GAAG,IAAA,yBAAkB,EAAC;QACtC,KAAK,EAAE,iBAAS,CAAC,OAAO,CAAC;QACzB,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,IAAA,WAAI,EAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAA,WAAI,GAAE;KAC1C,CAAC,CAAA;IACF,MAAM,WAAW,GAAG,MAAM,YAAY,CAAC,YAAY,CAAC;QAClD,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,GAAG,EAAE,IAAI;QACT,YAAY,EAAE,aAAa;KAC5B,CAAC,CAAA;IACF,OAAO,CACL,GAAG;QACH,MAAM,CAAC,WAAW,IAAI,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CACxE,CAAA;AACH,CAAC,CAAA;AArBY,QAAA,aAAa,iBAqBzB"}
|
package/dist/cjs/view.js
DELETED
|
@@ -1,185 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getOpenOrders = exports.getOpenOrder = exports.getExpectedInput = exports.getExpectedOutput = exports.getMarket = void 0;
|
|
4
|
-
const viem_1 = require("viem");
|
|
5
|
-
const market_1 = require("./apis/market");
|
|
6
|
-
const prices_1 = require("./utils/prices");
|
|
7
|
-
const price_1 = require("./constants/price");
|
|
8
|
-
const open_order_1 = require("./apis/open-order");
|
|
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
|
|
15
|
-
* @param options.rpcUrl - RPC URL of the blockchain
|
|
16
|
-
* @returns A market {@link Market}
|
|
17
|
-
*
|
|
18
|
-
* @example
|
|
19
|
-
* import { getMarket } from '@clober/v2-sdk'
|
|
20
|
-
*
|
|
21
|
-
* const market = await getMarket(
|
|
22
|
-
* 421614,
|
|
23
|
-
* '0x00bfd44e79fb7f6dd5887a9426c8ef85a0cd23e0',
|
|
24
|
-
* '0x0000000000000000000000000000000000000000',
|
|
25
|
-
* )
|
|
26
|
-
*/
|
|
27
|
-
const getMarket = async (chainId, token0, token1, options) => {
|
|
28
|
-
if ((0, viem_1.isAddressEqual)(token0, token1)) {
|
|
29
|
-
throw new Error('Token0 and token1 must be different');
|
|
30
|
-
}
|
|
31
|
-
const market = await (0, market_1.fetchMarket)(chainId, [token0, token1], options?.rpcUrl);
|
|
32
|
-
return {
|
|
33
|
-
chainId,
|
|
34
|
-
quote: market.quote,
|
|
35
|
-
base: market.base,
|
|
36
|
-
makerFee: market.makerFee,
|
|
37
|
-
takerFee: market.takerFee,
|
|
38
|
-
bids: market.bids,
|
|
39
|
-
bidBookOpen: market.bidBookOpen,
|
|
40
|
-
asks: market.asks,
|
|
41
|
-
askBookOpen: market.askBookOpen,
|
|
42
|
-
};
|
|
43
|
-
};
|
|
44
|
-
exports.getMarket = getMarket;
|
|
45
|
-
/**
|
|
46
|
-
* Calculates the expected output for a given input amount, based on the provided market data.
|
|
47
|
-
*
|
|
48
|
-
* @param chainId The chain ID of the blockchain.
|
|
49
|
-
* @param inputToken The address of the input token.
|
|
50
|
-
* @param outputToken The address of the output token.
|
|
51
|
-
* @param amountIn The amount of expected input amount. (ex 1.2 ETH -> 1.2)
|
|
52
|
-
* @param options
|
|
53
|
-
* @param options.limitPrice The maximum limit price to spend.
|
|
54
|
-
* @param options.rpcUrl The RPC URL of the blockchain.
|
|
55
|
-
* @returns A Promise resolving to an object containing the taken amount, spend amount and result of the calculation.
|
|
56
|
-
* @example
|
|
57
|
-
* import { getExpectedOutput } from '@clober/v2-sdk'
|
|
58
|
-
*
|
|
59
|
-
* const { takenAmount, spendAmount } = await getExpectedOutput(
|
|
60
|
-
* 421614,
|
|
61
|
-
* '0x00bfd44e79fb7f6dd5887a9426c8ef85a0cd23e0',
|
|
62
|
-
* '0x0000000000000000000000000000000000000000',
|
|
63
|
-
* '1000.123', // spend 1000.123 USDC
|
|
64
|
-
* )
|
|
65
|
-
*/
|
|
66
|
-
const getExpectedOutput = async (chainId, inputToken, outputToken, amountIn, options) => {
|
|
67
|
-
const market = await (0, market_1.fetchMarket)(chainId, [inputToken, outputToken], options?.rpcUrl);
|
|
68
|
-
const isBid = (0, viem_1.isAddressEqual)(market.quote.address, inputToken);
|
|
69
|
-
const rawLimitPrice = options && options.limitPrice
|
|
70
|
-
? (0, prices_1.parsePrice)(Number(options.limitPrice), market.quote.decimals, market.base.decimals)
|
|
71
|
-
: isBid
|
|
72
|
-
? price_1.MAX_PRICE
|
|
73
|
-
: 0n;
|
|
74
|
-
const inputCurrency = isBid ? market.quote : market.base;
|
|
75
|
-
const result = market.spend({
|
|
76
|
-
spendBase: !isBid,
|
|
77
|
-
limitPrice: rawLimitPrice,
|
|
78
|
-
amountIn: (0, viem_1.parseUnits)(amountIn, inputCurrency.decimals),
|
|
79
|
-
});
|
|
80
|
-
const { takenAmount, spendAmount } = Object.values(result).reduce((acc, { takenAmount, spendAmount }) => ({
|
|
81
|
-
takenAmount: acc.takenAmount + takenAmount,
|
|
82
|
-
spendAmount: acc.spendAmount + spendAmount,
|
|
83
|
-
}), { takenAmount: 0n, spendAmount: 0n });
|
|
84
|
-
return {
|
|
85
|
-
takenAmount: (0, viem_1.formatUnits)(takenAmount, isBid ? market.base.decimals : market.quote.decimals),
|
|
86
|
-
spendAmount: (0, viem_1.formatUnits)(spendAmount, isBid ? market.quote.decimals : market.base.decimals),
|
|
87
|
-
result: Object.entries(result).map(([bookId, { takenAmount, spendAmount }]) => ({
|
|
88
|
-
bookId: BigInt(bookId),
|
|
89
|
-
takenAmount,
|
|
90
|
-
spendAmount,
|
|
91
|
-
})),
|
|
92
|
-
};
|
|
93
|
-
};
|
|
94
|
-
exports.getExpectedOutput = getExpectedOutput;
|
|
95
|
-
/**
|
|
96
|
-
* Calculates the expected input for a given output amount, based on the provided market data.
|
|
97
|
-
*
|
|
98
|
-
* @param chainId The chain ID of the blockchain.
|
|
99
|
-
* @param inputToken The address of the input token.
|
|
100
|
-
* @param outputToken The address of the output token.
|
|
101
|
-
* @param amountOut The amount of expected output amount. (ex 1.2 ETH -> 1.2)
|
|
102
|
-
* @param options
|
|
103
|
-
* @param options.limitPrice The maximum limit price to take.
|
|
104
|
-
* @param options.rpcUrl The RPC URL of the blockchain.
|
|
105
|
-
* @returns A Promise resolving to an object containing the taken amount, spend amount and result of the calculation.
|
|
106
|
-
* @example
|
|
107
|
-
* import { getExpectedInput } from '@clober/v2-sdk'
|
|
108
|
-
*
|
|
109
|
-
* const { takenAmount, spendAmount } = await getExpectedInput(
|
|
110
|
-
* 421614,
|
|
111
|
-
* '0x00bfd44e79fb7f6dd5887a9426c8ef85a0cd23e0',
|
|
112
|
-
* '0x0000000000000000000000000000000000000000',
|
|
113
|
-
* '0.1', // take 0.1 ETH
|
|
114
|
-
* )
|
|
115
|
-
*/
|
|
116
|
-
const getExpectedInput = async (chainId, inputToken, outputToken, amountOut, options) => {
|
|
117
|
-
const market = await (0, market_1.fetchMarket)(chainId, [inputToken, outputToken], options?.rpcUrl);
|
|
118
|
-
const isBid = (0, viem_1.isAddressEqual)(market.quote.address, inputToken);
|
|
119
|
-
const rawLimitPrice = options && options.limitPrice
|
|
120
|
-
? (0, prices_1.parsePrice)(Number(options.limitPrice), market.quote.decimals, market.base.decimals)
|
|
121
|
-
: isBid
|
|
122
|
-
? price_1.MAX_PRICE
|
|
123
|
-
: 0n;
|
|
124
|
-
const outputCurrency = isBid ? market.base : market.quote;
|
|
125
|
-
const result = market.take({
|
|
126
|
-
takeQuote: !isBid,
|
|
127
|
-
limitPrice: rawLimitPrice,
|
|
128
|
-
amountOut: (0, viem_1.parseUnits)(amountOut, outputCurrency.decimals),
|
|
129
|
-
});
|
|
130
|
-
const { takenAmount, spendAmount } = Object.values(result).reduce((acc, { takenAmount, spendAmount }) => ({
|
|
131
|
-
takenAmount: acc.takenAmount + takenAmount,
|
|
132
|
-
spendAmount: acc.spendAmount + spendAmount,
|
|
133
|
-
}), { takenAmount: 0n, spendAmount: 0n });
|
|
134
|
-
return {
|
|
135
|
-
takenAmount: (0, viem_1.formatUnits)(takenAmount, isBid ? market.base.decimals : market.quote.decimals),
|
|
136
|
-
spendAmount: (0, viem_1.formatUnits)(spendAmount, isBid ? market.quote.decimals : market.base.decimals),
|
|
137
|
-
result: Object.entries(result).map(([bookId, { takenAmount, spendAmount }]) => ({
|
|
138
|
-
bookId: BigInt(bookId),
|
|
139
|
-
takenAmount,
|
|
140
|
-
spendAmount,
|
|
141
|
-
})),
|
|
142
|
-
};
|
|
143
|
-
};
|
|
144
|
-
exports.getExpectedInput = getExpectedInput;
|
|
145
|
-
/**
|
|
146
|
-
* Retrieves the open order with the specified ID on the given chain.
|
|
147
|
-
*
|
|
148
|
-
* @param {CHAIN_IDS} chainId The chain ID.
|
|
149
|
-
* @param {string} id The ID of the open order.
|
|
150
|
-
* @param options
|
|
151
|
-
* @param options.rpcUrl The RPC URL of the blockchain.
|
|
152
|
-
* @returns {Promise<OpenOrder>} Promise resolving to the open order object, or undefined if not found.
|
|
153
|
-
* @example
|
|
154
|
-
* import { getOpenOrder } from '@clober/v2-sdk'
|
|
155
|
-
*
|
|
156
|
-
* const openOrder = await getOpenOrder(
|
|
157
|
-
* 421614,
|
|
158
|
-
* '46223845323662364279893361453861711542636620039907198451770258805035840307200'
|
|
159
|
-
* )
|
|
160
|
-
*/
|
|
161
|
-
const getOpenOrder = async (chainId, id, options) => {
|
|
162
|
-
return (0, open_order_1.fetchOpenOrder)(chainId, id, options?.rpcUrl);
|
|
163
|
-
};
|
|
164
|
-
exports.getOpenOrder = getOpenOrder;
|
|
165
|
-
/**
|
|
166
|
-
* Retrieves open orders for the specified user on the given chain.
|
|
167
|
-
*
|
|
168
|
-
* @param {CHAIN_IDS} chainId The chain ID.
|
|
169
|
-
* @param {`0x${string}`} userAddress The Ethereum address of the user.
|
|
170
|
-
* @param options
|
|
171
|
-
* @param options.rpcUrl The RPC URL of the blockchain.
|
|
172
|
-
* @returns {Promise<OpenOrder[]>} Promise resolving to an array of open orders.
|
|
173
|
-
* @example
|
|
174
|
-
* import { getOpenOrders } from '@clober/v2-sdk'
|
|
175
|
-
*
|
|
176
|
-
* const openOrders = await getOpenOrders(
|
|
177
|
-
* 421614,
|
|
178
|
-
* '0x5F79EE8f8fA862E98201120d83c4eC39D9468D49'
|
|
179
|
-
* )
|
|
180
|
-
*/
|
|
181
|
-
const getOpenOrders = async (chainId, userAddress, options) => {
|
|
182
|
-
return (0, open_order_1.fetchOpenOrders)(chainId, userAddress, options?.rpcUrl);
|
|
183
|
-
};
|
|
184
|
-
exports.getOpenOrders = getOpenOrders;
|
|
185
|
-
//# sourceMappingURL=view.js.map
|
package/dist/cjs/view.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"view.js","sourceRoot":"","sources":["../../src/view.ts"],"names":[],"mappings":"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"}
|