@clober/v2-sdk 1.0.0-rc.2 → 1.0.0-rc.21
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/constants/chain-configs/addresses.js +9 -0
- package/dist/cjs/constants/chain-configs/addresses.js.map +1 -1
- package/dist/cjs/constants/chain-configs/chain.js +2 -0
- package/dist/cjs/constants/chain-configs/chain.js.map +1 -1
- package/dist/cjs/constants/chain-configs/currency.js +58 -9
- package/dist/cjs/constants/chain-configs/currency.js.map +1 -1
- package/dist/cjs/constants/chain-configs/fee.js +2 -0
- package/dist/cjs/constants/chain-configs/fee.js.map +1 -1
- package/dist/cjs/constants/chain-configs/subgraph.js +2 -1
- package/dist/cjs/constants/chain-configs/subgraph.js.map +1 -1
- package/dist/cjs/entities/analytics/apis/index.js +11 -2
- package/dist/cjs/entities/analytics/apis/index.js.map +1 -1
- package/dist/cjs/entities/book/apis/index.js +39 -13
- package/dist/cjs/entities/book/apis/index.js.map +1 -1
- package/dist/cjs/entities/currency/apis/total-supply.js +2 -2
- package/dist/cjs/entities/currency/apis/total-supply.js.map +1 -1
- package/dist/cjs/entities/market/apis/snapshot.js +82 -34
- package/dist/cjs/entities/market/apis/snapshot.js.map +1 -1
- package/dist/cjs/entities/market/utils/market-id.js +1 -1
- package/dist/cjs/entities/market/utils/market-id.js.map +1 -1
- package/dist/cjs/entities/pool/apis/snapshot.js +20 -16
- package/dist/cjs/entities/pool/apis/snapshot.js.map +1 -1
- package/dist/cjs/utils/bigint.js +4 -1
- package/dist/cjs/utils/bigint.js.map +1 -1
- package/dist/cjs/utils/unit-size.js +1 -1
- package/dist/cjs/utils/unit-size.js.map +1 -1
- package/dist/cjs/views/address.js +1 -6
- package/dist/cjs/views/address.js.map +1 -1
- package/dist/cjs/views/analytics.js +5 -1
- package/dist/cjs/views/analytics.js.map +1 -1
- package/dist/cjs/views/currency.js +5 -1
- package/dist/cjs/views/currency.js.map +1 -1
- package/dist/cjs/views/index.js +2 -2
- package/dist/cjs/views/index.js.map +1 -1
- package/dist/cjs/views/market/chart-log.js +2 -2
- package/dist/esm/constants/chain-configs/addresses.js +10 -10
- package/dist/esm/constants/chain-configs/addresses.js.map +1 -1
- package/dist/esm/constants/chain-configs/chain.js +3 -3
- package/dist/esm/constants/chain-configs/chain.js.map +1 -1
- package/dist/esm/constants/chain-configs/currency.js +60 -23
- package/dist/esm/constants/chain-configs/currency.js.map +1 -1
- package/dist/esm/constants/chain-configs/fee.js +2 -2
- package/dist/esm/constants/chain-configs/fee.js.map +1 -1
- package/dist/esm/constants/chain-configs/subgraph.js +2 -3
- package/dist/esm/constants/chain-configs/subgraph.js.map +1 -1
- package/dist/esm/entities/analytics/apis/index.js +9 -1
- package/dist/esm/entities/analytics/apis/index.js.map +1 -1
- package/dist/esm/entities/book/apis/index.js +39 -13
- package/dist/esm/entities/book/apis/index.js.map +1 -1
- package/dist/esm/entities/currency/apis/total-supply.js +3 -3
- package/dist/esm/entities/currency/apis/total-supply.js.map +1 -1
- package/dist/esm/entities/market/apis/snapshot.js +83 -35
- package/dist/esm/entities/market/apis/snapshot.js.map +1 -1
- package/dist/esm/entities/market/utils/market-id.js +2 -2
- package/dist/esm/entities/market/utils/market-id.js.map +1 -1
- package/dist/esm/entities/pool/apis/snapshot.js +21 -17
- package/dist/esm/entities/pool/apis/snapshot.js.map +1 -1
- package/dist/esm/utils/bigint.js +2 -0
- package/dist/esm/utils/bigint.js.map +1 -1
- package/dist/esm/utils/unit-size.js +2 -2
- package/dist/esm/utils/unit-size.js.map +1 -1
- package/dist/esm/views/address.js +0 -16
- package/dist/esm/views/address.js.map +1 -1
- package/dist/esm/views/analytics.js +4 -1
- package/dist/esm/views/analytics.js.map +1 -1
- package/dist/esm/views/currency.js +16 -1
- package/dist/esm/views/currency.js.map +1 -1
- package/dist/esm/views/index.js +2 -2
- package/dist/esm/views/index.js.map +1 -1
- package/dist/esm/views/market/chart-log.js +2 -2
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/dist/types/constants/chain-configs/chain.d.ts +1 -0
- package/dist/types/constants/chain-configs/chain.d.ts.map +1 -1
- package/dist/types/constants/chain-configs/currency.d.ts +7 -8
- package/dist/types/constants/chain-configs/currency.d.ts.map +1 -1
- package/dist/types/entities/analytics/apis/index.d.ts +2 -1
- package/dist/types/entities/analytics/apis/index.d.ts.map +1 -1
- package/dist/types/entities/analytics/types.d.ts +6 -1
- package/dist/types/entities/analytics/types.d.ts.map +1 -1
- package/dist/types/entities/book/apis/index.d.ts.map +1 -1
- package/dist/types/entities/market/apis/snapshot.d.ts.map +1 -1
- package/dist/types/entities/market/types.d.ts +2 -0
- package/dist/types/entities/market/types.d.ts.map +1 -1
- package/dist/types/entities/pool/apis/snapshot.d.ts.map +1 -1
- package/dist/types/entities/pool/types.d.ts +2 -0
- package/dist/types/entities/pool/types.d.ts.map +1 -1
- package/dist/types/utils/bigint.d.ts +1 -0
- package/dist/types/utils/bigint.d.ts.map +1 -1
- package/dist/types/views/address.d.ts +0 -15
- package/dist/types/views/address.d.ts.map +1 -1
- package/dist/types/views/analytics.d.ts +4 -1
- package/dist/types/views/analytics.d.ts.map +1 -1
- package/dist/types/views/currency.d.ts +15 -0
- package/dist/types/views/currency.d.ts.map +1 -1
- package/dist/types/views/index.d.ts +2 -2
- package/dist/types/views/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist/cjs/entities/book/apis/open.js +0 -46
- package/dist/cjs/entities/book/apis/open.js.map +0 -1
- package/dist/esm/entities/book/apis/open.js +0 -42
- package/dist/esm/entities/book/apis/open.js.map +0 -1
- package/dist/types/entities/book/apis/open.d.ts +0 -4
- package/dist/types/entities/book/apis/open.d.ts.map +0 -1
|
@@ -31,6 +31,15 @@ exports.CONTRACT_ADDRESSES = {
|
|
|
31
31
|
Minter: (0, viem_1.getAddress)('0x0b8361a2bbF853F5F6Aa0911a9d238d9CFDD9f1a'),
|
|
32
32
|
Operator: (0, viem_1.getAddress)('0xFa47E8dD8F04BF23b238900e754041123a6bc6e2'),
|
|
33
33
|
},
|
|
34
|
+
[chain_1.CHAIN_IDS.BERACHAIN_MAINNET]: {
|
|
35
|
+
Controller: (0, viem_1.getAddress)('0xA9F92548491997eE0De26A03311535A4961EE8eb'),
|
|
36
|
+
BookManager: (0, viem_1.getAddress)('0xDED58e263087f5B45d878BD9CF599B7A1a75D1E4'),
|
|
37
|
+
BookViewer: (0, viem_1.getAddress)('0x4abb86f499f53e2b1F52302b2Ba7BbB0a90a49A8'),
|
|
38
|
+
Rebalancer: viem_1.zeroAddress,
|
|
39
|
+
Strategy: viem_1.zeroAddress,
|
|
40
|
+
Minter: viem_1.zeroAddress,
|
|
41
|
+
Operator: viem_1.zeroAddress,
|
|
42
|
+
},
|
|
34
43
|
[chain_1.CHAIN_IDS.MONAD_TESTNET]: {
|
|
35
44
|
Controller: (0, viem_1.getAddress)('0x7792669BEb769c4035bdFcA4F3d794d55922B954'),
|
|
36
45
|
BookManager: (0, viem_1.getAddress)('0xAA9575d63dFC224b9583fC303dB3188C08d5C85A'),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"addresses.js","sourceRoot":"","sources":["../../../../src/constants/chain-configs/addresses.ts"],"names":[],"mappings":";;;AAAA,+
|
|
1
|
+
{"version":3,"file":"addresses.js","sourceRoot":"","sources":["../../../../src/constants/chain-configs/addresses.ts"],"names":[],"mappings":";;;AAAA,+BAA8C;AAE9C,mCAAmC;AAEtB,QAAA,kBAAkB,GAU3B;IACF,CAAC,iBAAS,CAAC,cAAc,CAAC,EAAE;QAC1B,UAAU,EAAE,IAAA,iBAAU,EAAC,4CAA4C,CAAC;QACpE,WAAW,EAAE,IAAA,iBAAU,EAAC,4CAA4C,CAAC;QACrE,UAAU,EAAE,IAAA,iBAAU,EAAC,4CAA4C,CAAC;QACpE,UAAU,EAAE,IAAA,iBAAU,EAAC,4CAA4C,CAAC;QACpE,QAAQ,EAAE,IAAA,iBAAU,EAAC,4CAA4C,CAAC;QAClE,MAAM,EAAE,IAAA,iBAAU,EAAC,4CAA4C,CAAC;QAChE,QAAQ,EAAE,IAAA,iBAAU,EAAC,4CAA4C,CAAC;KACnE;IACD,CAAC,iBAAS,CAAC,gBAAgB,CAAC,EAAE;QAC5B,UAAU,EAAE,IAAA,iBAAU,EAAC,4CAA4C,CAAC;QACpE,WAAW,EAAE,IAAA,iBAAU,EAAC,4CAA4C,CAAC;QACrE,UAAU,EAAE,IAAA,iBAAU,EAAC,4CAA4C,CAAC;QACpE,UAAU,EAAE,IAAA,iBAAU,EAAC,4CAA4C,CAAC;QACpE,QAAQ,EAAE,IAAA,iBAAU,EAAC,4CAA4C,CAAC;QAClE,MAAM,EAAE,IAAA,iBAAU,EAAC,4CAA4C,CAAC;QAChE,QAAQ,EAAE,IAAA,iBAAU,EAAC,4CAA4C,CAAC;KACnE;IACD,CAAC,iBAAS,CAAC,gBAAgB,CAAC,EAAE;QAC5B,UAAU,EAAE,IAAA,iBAAU,EAAC,4CAA4C,CAAC;QACpE,WAAW,EAAE,IAAA,iBAAU,EAAC,4CAA4C,CAAC;QACrE,UAAU,EAAE,IAAA,iBAAU,EAAC,4CAA4C,CAAC;QACpE,UAAU,EAAE,IAAA,iBAAU,EAAC,4CAA4C,CAAC;QACpE,QAAQ,EAAE,IAAA,iBAAU,EAAC,4CAA4C,CAAC;QAClE,MAAM,EAAE,IAAA,iBAAU,EAAC,4CAA4C,CAAC;QAChE,QAAQ,EAAE,IAAA,iBAAU,EAAC,4CAA4C,CAAC;KACnE;IAUD,CAAC,iBAAS,CAAC,iBAAiB,CAAC,EAAE;QAC7B,UAAU,EAAE,IAAA,iBAAU,EAAC,4CAA4C,CAAC;QACpE,WAAW,EAAE,IAAA,iBAAU,EAAC,4CAA4C,CAAC;QACrE,UAAU,EAAE,IAAA,iBAAU,EAAC,4CAA4C,CAAC;QACpE,UAAU,EAAE,kBAAW;QACvB,QAAQ,EAAE,kBAAW;QACrB,MAAM,EAAE,kBAAW;QACnB,QAAQ,EAAE,kBAAW;KACtB;IACD,CAAC,iBAAS,CAAC,aAAa,CAAC,EAAE;QACzB,UAAU,EAAE,IAAA,iBAAU,EAAC,4CAA4C,CAAC;QACpE,WAAW,EAAE,IAAA,iBAAU,EAAC,4CAA4C,CAAC;QACrE,UAAU,EAAE,IAAA,iBAAU,EAAC,4CAA4C,CAAC;QACpE,UAAU,EAAE,IAAA,iBAAU,EAAC,4CAA4C,CAAC;QACpE,QAAQ,EAAE,IAAA,iBAAU,EAAC,4CAA4C,CAAC;QAClE,MAAM,EAAE,IAAA,iBAAU,EAAC,4CAA4C,CAAC;QAChE,QAAQ,EAAE,IAAA,iBAAU,EAAC,4CAA4C,CAAC;KACnE;IAUD,CAAC,iBAAS,CAAC,YAAY,CAAC,EAAE;QACxB,UAAU,EAAE,IAAA,iBAAU,EAAC,4CAA4C,CAAC;QACpE,WAAW,EAAE,IAAA,iBAAU,EAAC,4CAA4C,CAAC;QACrE,UAAU,EAAE,IAAA,iBAAU,EAAC,4CAA4C,CAAC;QACpE,UAAU,EAAE,IAAA,iBAAU,EAAC,4CAA4C,CAAC;QACpE,QAAQ,EAAE,IAAA,iBAAU,EAAC,4CAA4C,CAAC;QAClE,MAAM,EAAE,IAAA,iBAAU,EAAC,4CAA4C,CAAC;QAChE,QAAQ,EAAE,IAAA,iBAAU,EAAC,4CAA4C,CAAC;KACnE;CACF,CAAA"}
|
|
@@ -9,6 +9,7 @@ var CHAIN_IDS;
|
|
|
9
9
|
CHAIN_IDS[CHAIN_IDS["CLOBER_TESTNET"] = test_chain_1.cloberTestChain.id] = "CLOBER_TESTNET";
|
|
10
10
|
CHAIN_IDS[CHAIN_IDS["CLOBER_TESTNET_2"] = test_chain_1.cloberTestChain2.id] = "CLOBER_TESTNET_2";
|
|
11
11
|
CHAIN_IDS[CHAIN_IDS["ARBITRUM_SEPOLIA"] = chains_1.arbitrumSepolia.id] = "ARBITRUM_SEPOLIA";
|
|
12
|
+
CHAIN_IDS[CHAIN_IDS["BERACHAIN_MAINNET"] = chains_1.berachain.id] = "BERACHAIN_MAINNET";
|
|
12
13
|
CHAIN_IDS[CHAIN_IDS["MONAD_TESTNET"] = chains_1.monadTestnet.id] = "MONAD_TESTNET";
|
|
13
14
|
CHAIN_IDS[CHAIN_IDS["RISE_SEPOLIA"] = rise_sepolia_1.riseSepolia.id] = "RISE_SEPOLIA";
|
|
14
15
|
})(CHAIN_IDS || (exports.CHAIN_IDS = CHAIN_IDS = {}));
|
|
@@ -16,6 +17,7 @@ exports.CHAIN_MAP = {
|
|
|
16
17
|
[CHAIN_IDS.CLOBER_TESTNET]: test_chain_1.cloberTestChain,
|
|
17
18
|
[CHAIN_IDS.CLOBER_TESTNET_2]: test_chain_1.cloberTestChain2,
|
|
18
19
|
[CHAIN_IDS.ARBITRUM_SEPOLIA]: chains_1.arbitrumSepolia,
|
|
20
|
+
[CHAIN_IDS.BERACHAIN_MAINNET]: chains_1.berachain,
|
|
19
21
|
[CHAIN_IDS.MONAD_TESTNET]: chains_1.monadTestnet,
|
|
20
22
|
[CHAIN_IDS.RISE_SEPOLIA]: rise_sepolia_1.riseSepolia,
|
|
21
23
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chain.js","sourceRoot":"","sources":["../../../../src/constants/chain-configs/chain.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"chain.js","sourceRoot":"","sources":["../../../../src/constants/chain-configs/chain.ts"],"names":[],"mappings":";;;AAAA,wCAKoB;AAEpB,uDAA0E;AAC1E,2DAAsD;AAGtD,IAAY,SASX;AATD,WAAY,SAAS;IACnB,wCAAiB,4BAAe,CAAC,EAAE,oBAAA,CAAA;IACnC,0CAAmB,6BAAgB,CAAC,EAAE,sBAAA,CAAA;IACtC,0CAAmB,wBAAe,CAAC,EAAE,sBAAA,CAAA;IAErC,2CAAoB,kBAAS,CAAC,EAAE,uBAAA,CAAA;IAChC,uCAAgB,qBAAY,CAAC,EAAE,mBAAA,CAAA;IAE/B,sCAAe,0BAAW,CAAC,EAAE,kBAAA,CAAA;AAC/B,CAAC,EATW,SAAS,yBAAT,SAAS,QASpB;AAEY,QAAA,SAAS,GAElB;IACF,CAAC,SAAS,CAAC,cAAc,CAAC,EAAE,4BAAe;IAC3C,CAAC,SAAS,CAAC,gBAAgB,CAAC,EAAE,6BAAgB;IAC9C,CAAC,SAAS,CAAC,gBAAgB,CAAC,EAAE,wBAAe;IAE7C,CAAC,SAAS,CAAC,iBAAiB,CAAC,EAAE,kBAAS;IACxC,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE,qBAAY;IAEvC,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,0BAAW;CACtC,CAAA"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.STABLE_COIN_ADDRESSES = exports.
|
|
3
|
+
exports.STABLE_COIN_ADDRESSES = exports.NATIVE_CURRENCY_TOTAL_SUPPLY = exports.REFERENCE_CURRENCY = exports.NATIVE_CURRENCY = exports.ETH = void 0;
|
|
4
4
|
const viem_1 = require("viem");
|
|
5
5
|
const chain_1 = require("./chain");
|
|
6
6
|
exports.ETH = {
|
|
@@ -8,27 +8,70 @@ exports.ETH = {
|
|
|
8
8
|
name: 'Ethereum',
|
|
9
9
|
symbol: 'ETH',
|
|
10
10
|
decimals: 18,
|
|
11
|
-
totalSupply: 120000000000000000000000000n,
|
|
12
11
|
};
|
|
13
12
|
exports.NATIVE_CURRENCY = {
|
|
14
13
|
[chain_1.CHAIN_IDS.CLOBER_TESTNET]: exports.ETH,
|
|
15
14
|
[chain_1.CHAIN_IDS.CLOBER_TESTNET_2]: exports.ETH,
|
|
16
15
|
[chain_1.CHAIN_IDS.ARBITRUM_SEPOLIA]: exports.ETH,
|
|
16
|
+
[chain_1.CHAIN_IDS.BERACHAIN_MAINNET]: {
|
|
17
|
+
address: viem_1.zeroAddress,
|
|
18
|
+
name: 'Berachain',
|
|
19
|
+
symbol: 'BERA',
|
|
20
|
+
decimals: 18,
|
|
21
|
+
},
|
|
17
22
|
[chain_1.CHAIN_IDS.RISE_SEPOLIA]: exports.ETH,
|
|
18
23
|
[chain_1.CHAIN_IDS.MONAD_TESTNET]: {
|
|
19
24
|
address: viem_1.zeroAddress,
|
|
20
25
|
name: 'Monad Token',
|
|
21
26
|
symbol: 'MON',
|
|
22
27
|
decimals: 18,
|
|
23
|
-
totalSupply: 10000000000000000000000000000n,
|
|
24
28
|
},
|
|
25
29
|
};
|
|
26
|
-
exports.
|
|
27
|
-
[chain_1.CHAIN_IDS.CLOBER_TESTNET]:
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
30
|
+
exports.REFERENCE_CURRENCY = {
|
|
31
|
+
[chain_1.CHAIN_IDS.CLOBER_TESTNET]: {
|
|
32
|
+
address: (0, viem_1.getAddress)('0xF2e615A933825De4B39b497f6e6991418Fb31b78'),
|
|
33
|
+
symbol: 'WETH',
|
|
34
|
+
name: 'Wrapped Ether',
|
|
35
|
+
decimals: 18,
|
|
36
|
+
},
|
|
37
|
+
[chain_1.CHAIN_IDS.CLOBER_TESTNET_2]: {
|
|
38
|
+
address: (0, viem_1.getAddress)('0xF2e615A933825De4B39b497f6e6991418Fb31b78'),
|
|
39
|
+
symbol: 'WETH',
|
|
40
|
+
name: 'Wrapped Ether',
|
|
41
|
+
decimals: 18,
|
|
42
|
+
},
|
|
43
|
+
[chain_1.CHAIN_IDS.ARBITRUM_SEPOLIA]: {
|
|
44
|
+
address: (0, viem_1.getAddress)('0xF2e615A933825De4B39b497f6e6991418Fb31b78'),
|
|
45
|
+
symbol: 'WETH',
|
|
46
|
+
name: 'Wrapped Ether',
|
|
47
|
+
decimals: 18,
|
|
48
|
+
},
|
|
49
|
+
[chain_1.CHAIN_IDS.BERACHAIN_MAINNET]: {
|
|
50
|
+
address: (0, viem_1.getAddress)('0x6969696969696969696969696969696969696969'),
|
|
51
|
+
symbol: 'WBERA',
|
|
52
|
+
name: 'Wrapped Bera',
|
|
53
|
+
decimals: 18,
|
|
54
|
+
},
|
|
55
|
+
[chain_1.CHAIN_IDS.RISE_SEPOLIA]: {
|
|
56
|
+
address: (0, viem_1.getAddress)('0x4200000000000000000000000000000000000006'),
|
|
57
|
+
symbol: 'WETH',
|
|
58
|
+
name: 'Wrapped Ether',
|
|
59
|
+
decimals: 18,
|
|
60
|
+
},
|
|
61
|
+
[chain_1.CHAIN_IDS.MONAD_TESTNET]: {
|
|
62
|
+
address: (0, viem_1.getAddress)('0x760AfE86e5de5fa0Ee542fc7B7B713e1c5425701'),
|
|
63
|
+
symbol: 'WMON',
|
|
64
|
+
name: 'Wrapped Monad',
|
|
65
|
+
decimals: 18,
|
|
66
|
+
},
|
|
67
|
+
};
|
|
68
|
+
exports.NATIVE_CURRENCY_TOTAL_SUPPLY = {
|
|
69
|
+
[chain_1.CHAIN_IDS.CLOBER_TESTNET]: 120000000000000000000000000n,
|
|
70
|
+
[chain_1.CHAIN_IDS.CLOBER_TESTNET_2]: 120000000000000000000000000n,
|
|
71
|
+
[chain_1.CHAIN_IDS.ARBITRUM_SEPOLIA]: 120000000000000000000000000n,
|
|
72
|
+
[chain_1.CHAIN_IDS.BERACHAIN_MAINNET]: 502000000000000000000000000n,
|
|
73
|
+
[chain_1.CHAIN_IDS.RISE_SEPOLIA]: 120000000000000000000000000n,
|
|
74
|
+
[chain_1.CHAIN_IDS.MONAD_TESTNET]: 10000000000000000000000000000n,
|
|
32
75
|
};
|
|
33
76
|
exports.STABLE_COIN_ADDRESSES = {
|
|
34
77
|
[chain_1.CHAIN_IDS.CLOBER_TESTNET]: [
|
|
@@ -40,6 +83,12 @@ exports.STABLE_COIN_ADDRESSES = {
|
|
|
40
83
|
[chain_1.CHAIN_IDS.ARBITRUM_SEPOLIA]: [
|
|
41
84
|
'0x00BFD44e79FB7f6dd5887A9426c8EF85A0CD23e0',
|
|
42
85
|
],
|
|
86
|
+
[chain_1.CHAIN_IDS.BERACHAIN_MAINNET]: [
|
|
87
|
+
'0xFCBD14DC51f0A4d49d5E53C2E0950e0bC26d0Dce',
|
|
88
|
+
'0x5d3a1Ff2b6BAb83b63cd9AD0787074081a52ef34',
|
|
89
|
+
'0x549943e04f40284185054145c6E4e9568C1D3241',
|
|
90
|
+
'0x779Ded0c9e1022225f8E0630b35a9b54bE713736',
|
|
91
|
+
],
|
|
43
92
|
[chain_1.CHAIN_IDS.RISE_SEPOLIA]: [
|
|
44
93
|
'0xA985e387dDF21b87c1Fe8A0025D827674040221E',
|
|
45
94
|
],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"currency.js","sourceRoot":"","sources":["../../../../src/constants/chain-configs/currency.ts"],"names":[],"mappings":";;;AAAA,+
|
|
1
|
+
{"version":3,"file":"currency.js","sourceRoot":"","sources":["../../../../src/constants/chain-configs/currency.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,7 @@ exports.MAKER_DEFAULT_POLICY = {
|
|
|
7
7
|
[chain_1.CHAIN_IDS.CLOBER_TESTNET]: new model_1.FeePolicy(true, -300n),
|
|
8
8
|
[chain_1.CHAIN_IDS.CLOBER_TESTNET_2]: new model_1.FeePolicy(true, -300n),
|
|
9
9
|
[chain_1.CHAIN_IDS.ARBITRUM_SEPOLIA]: new model_1.FeePolicy(true, 0n),
|
|
10
|
+
[chain_1.CHAIN_IDS.BERACHAIN_MAINNET]: new model_1.FeePolicy(true, 0n),
|
|
10
11
|
[chain_1.CHAIN_IDS.RISE_SEPOLIA]: new model_1.FeePolicy(true, 0n),
|
|
11
12
|
[chain_1.CHAIN_IDS.MONAD_TESTNET]: new model_1.FeePolicy(true, 0n),
|
|
12
13
|
};
|
|
@@ -14,6 +15,7 @@ exports.TAKER_DEFAULT_POLICY = {
|
|
|
14
15
|
[chain_1.CHAIN_IDS.CLOBER_TESTNET]: new model_1.FeePolicy(true, 1000n),
|
|
15
16
|
[chain_1.CHAIN_IDS.CLOBER_TESTNET_2]: new model_1.FeePolicy(true, 1000n),
|
|
16
17
|
[chain_1.CHAIN_IDS.ARBITRUM_SEPOLIA]: new model_1.FeePolicy(true, 100n),
|
|
18
|
+
[chain_1.CHAIN_IDS.BERACHAIN_MAINNET]: new model_1.FeePolicy(true, 100n),
|
|
17
19
|
[chain_1.CHAIN_IDS.RISE_SEPOLIA]: new model_1.FeePolicy(true, 100n),
|
|
18
20
|
[chain_1.CHAIN_IDS.MONAD_TESTNET]: new model_1.FeePolicy(true, 100n),
|
|
19
21
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fee.js","sourceRoot":"","sources":["../../../../src/constants/chain-configs/fee.ts"],"names":[],"mappings":";;;AAAA,2DAA2D;AAE3D,mCAAmC;AAEtB,QAAA,oBAAoB,GAE7B;IACF,CAAC,iBAAS,CAAC,cAAc,CAAC,EAAE,IAAI,iBAAS,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC;IACtD,CAAC,iBAAS,CAAC,gBAAgB,CAAC,EAAE,IAAI,iBAAS,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC;IACxD,CAAC,iBAAS,CAAC,gBAAgB,CAAC,EAAE,IAAI,iBAAS,CAAC,IAAI,EAAE,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"fee.js","sourceRoot":"","sources":["../../../../src/constants/chain-configs/fee.ts"],"names":[],"mappings":";;;AAAA,2DAA2D;AAE3D,mCAAmC;AAEtB,QAAA,oBAAoB,GAE7B;IACF,CAAC,iBAAS,CAAC,cAAc,CAAC,EAAE,IAAI,iBAAS,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC;IACtD,CAAC,iBAAS,CAAC,gBAAgB,CAAC,EAAE,IAAI,iBAAS,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC;IACxD,CAAC,iBAAS,CAAC,gBAAgB,CAAC,EAAE,IAAI,iBAAS,CAAC,IAAI,EAAE,EAAE,CAAC;IAErD,CAAC,iBAAS,CAAC,iBAAiB,CAAC,EAAE,IAAI,iBAAS,CAAC,IAAI,EAAE,EAAE,CAAC;IACtD,CAAC,iBAAS,CAAC,YAAY,CAAC,EAAE,IAAI,iBAAS,CAAC,IAAI,EAAE,EAAE,CAAC;IACjD,CAAC,iBAAS,CAAC,aAAa,CAAC,EAAE,IAAI,iBAAS,CAAC,IAAI,EAAE,EAAE,CAAC;CAEnD,CAAA;AAEY,QAAA,oBAAoB,GAE7B;IACF,CAAC,iBAAS,CAAC,cAAc,CAAC,EAAE,IAAI,iBAAS,CAAC,IAAI,EAAE,KAAK,CAAC;IACtD,CAAC,iBAAS,CAAC,gBAAgB,CAAC,EAAE,IAAI,iBAAS,CAAC,IAAI,EAAE,KAAK,CAAC;IACxD,CAAC,iBAAS,CAAC,gBAAgB,CAAC,EAAE,IAAI,iBAAS,CAAC,IAAI,EAAE,IAAI,CAAC;IAEvD,CAAC,iBAAS,CAAC,iBAAiB,CAAC,EAAE,IAAI,iBAAS,CAAC,IAAI,EAAE,IAAI,CAAC;IACxD,CAAC,iBAAS,CAAC,YAAY,CAAC,EAAE,IAAI,iBAAS,CAAC,IAAI,EAAE,IAAI,CAAC;IACnD,CAAC,iBAAS,CAAC,aAAa,CAAC,EAAE,IAAI,iBAAS,CAAC,IAAI,EAAE,IAAI,CAAC;CAErD,CAAA"}
|
|
@@ -7,8 +7,9 @@ exports.SUBGRAPH_URL = {
|
|
|
7
7
|
[chain_1.CHAIN_IDS.CLOBER_TESTNET]: 'https://subgraph.satsuma-prod.com/f6a8c4889b7b/clober/v2-subgraph-arbitrum-sepolia/api',
|
|
8
8
|
[chain_1.CHAIN_IDS.CLOBER_TESTNET_2]: 'https://subgraph.satsuma-prod.com/f6a8c4889b7b/clober/v2-subgraph-arbitrum-sepolia/api',
|
|
9
9
|
[chain_1.CHAIN_IDS.ARBITRUM_SEPOLIA]: 'https://subgraph.satsuma-prod.com/f6a8c4889b7b/clober/v2-subgraph-arbitrum-sepolia/api',
|
|
10
|
+
[chain_1.CHAIN_IDS.BERACHAIN_MAINNET]: 'https://subgraph.satsuma-prod.com/f6a8c4889b7b/clober/v2-subgraph-berachain-mainnet/api',
|
|
10
11
|
[chain_1.CHAIN_IDS.RISE_SEPOLIA]: 'https://api.goldsky.com/api/public/project_clsljw95chutg01w45cio46j0/subgraphs/v2-subgraph-rise-sepolia/latest/gn',
|
|
11
|
-
[chain_1.CHAIN_IDS.MONAD_TESTNET]: 'https://
|
|
12
|
+
[chain_1.CHAIN_IDS.MONAD_TESTNET]: 'https://api.goldsky.com/api/public/project_clsljw95chutg01w45cio46j0/subgraphs/v2-subgraph-monad-testnet/latest/gn',
|
|
12
13
|
};
|
|
13
14
|
class Subgraph {
|
|
14
15
|
static async get(chainId, operationName, query, variables) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subgraph.js","sourceRoot":"","sources":["../../../../src/constants/chain-configs/subgraph.ts"],"names":[],"mappings":";;;AAAA,iCAAyB;AAEzB,mCAAmC;AAEtB,QAAA,YAAY,GAErB;IACF,CAAC,iBAAS,CAAC,cAAc,CAAC,EACxB,wFAAwF;IAC1F,CAAC,iBAAS,CAAC,gBAAgB,CAAC,EAC1B,wFAAwF;IAC1F,CAAC,iBAAS,CAAC,gBAAgB,CAAC,EAC1B,wFAAwF;
|
|
1
|
+
{"version":3,"file":"subgraph.js","sourceRoot":"","sources":["../../../../src/constants/chain-configs/subgraph.ts"],"names":[],"mappings":";;;AAAA,iCAAyB;AAEzB,mCAAmC;AAEtB,QAAA,YAAY,GAErB;IACF,CAAC,iBAAS,CAAC,cAAc,CAAC,EACxB,wFAAwF;IAC1F,CAAC,iBAAS,CAAC,gBAAgB,CAAC,EAC1B,wFAAwF;IAC1F,CAAC,iBAAS,CAAC,gBAAgB,CAAC,EAC1B,wFAAwF;IAG1F,CAAC,iBAAS,CAAC,iBAAiB,CAAC,EAC3B,yFAAyF;IAC3F,CAAC,iBAAS,CAAC,YAAY,CAAC,EACtB,mHAAmH;IACrH,CAAC,iBAAS,CAAC,aAAa,CAAC,EACvB,oHAAoH;CAGvH,CAAA;AAED,MAAa,QAAQ;IACZ,MAAM,CAAC,KAAK,CAAC,GAAG,CACrB,OAAkB,EAClB,aAAqB,EACrB,KAAa,EACb,SAAa;QAEb,IAAI,CAAC,oBAAY,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAA;QACnD,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,eAAK,CAAC,IAAI,CAC/B,oBAAY,CAAC,OAAO,CAAC,EACrB;YACE,KAAK;YACL,SAAS;YACT,aAAa;SACd,EACD;YACE,OAAO,EAAE,IAAI;SACd,CACF,CAAA;QAED,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YAC5B,OAAO,QAAQ,CAAC,IAAI,CAAA;QACtB,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAE,QAAQ,CAAC,IAAY,CAAC,MAAM,IAAI,sBAAsB,CAAC,CAAA;QAC1E,CAAC;IACH,CAAC;CACF;AA5BD,4BA4BC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.fetchUserVolumeSnapshots = exports.fetchProtocolAnalytics = void 0;
|
|
3
|
+
exports.fetchTopUsersByNativeVolume = exports.fetchUserVolumeSnapshots = exports.fetchProtocolAnalytics = void 0;
|
|
4
4
|
const viem_1 = require("viem");
|
|
5
5
|
const subgraph_1 = require("../../../constants/chain-configs/subgraph");
|
|
6
6
|
const FUNCTION_SIG_MAP = {
|
|
@@ -72,7 +72,6 @@ async function fetchProtocolAnalytics(chainId) {
|
|
|
72
72
|
Object.values(item.transactionTypeCounts).reduce((acc, item) => acc + item, 0), 0),
|
|
73
73
|
accumulatedVolumeUSD: analyticsSnapshots.reduce((acc, item) => acc + item.volume24hUSD, 0),
|
|
74
74
|
accumulatedProtocolFeesUSD: analyticsSnapshots.reduce((acc, item) => acc + item.protocolFees24hUSD, 0),
|
|
75
|
-
accumulatedTotalValueLockedUSD: analyticsSnapshots.reduce((acc, item) => acc + item.totalValueLockedUSD, 0),
|
|
76
75
|
analyticsSnapshots,
|
|
77
76
|
};
|
|
78
77
|
}
|
|
@@ -99,4 +98,14 @@ async function fetchUserVolumeSnapshots(chainId, userAddress) {
|
|
|
99
98
|
}));
|
|
100
99
|
}
|
|
101
100
|
exports.fetchUserVolumeSnapshots = fetchUserVolumeSnapshots;
|
|
101
|
+
async function fetchTopUsersByNativeVolume(chainId) {
|
|
102
|
+
const { data: { users }, } = await subgraph_1.Subgraph.get(chainId, 'getTopUsersByNativeVolume', 'query getTopUsersByNativeVolume { users(first: 1000, orderBy: nativeVolume, orderDirection: desc) { id firstSeenTimestamp firstSeenBlockNumber nativeVolume } }', {});
|
|
103
|
+
return users.map((item) => ({
|
|
104
|
+
address: (0, viem_1.getAddress)(item.id),
|
|
105
|
+
firstSeenTimestamp: Number(item.firstSeenTimestamp),
|
|
106
|
+
firstSeenBlockNumber: Number(item.firstSeenBlockNumber),
|
|
107
|
+
nativeVolume: Number(item.nativeVolume),
|
|
108
|
+
}));
|
|
109
|
+
}
|
|
110
|
+
exports.fetchTopUsersByNativeVolume = fetchTopUsersByNativeVolume;
|
|
102
111
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/entities/analytics/apis/index.ts"],"names":[],"mappings":";;;AAAA,+BAAiC;AAGjC,wEAAoE;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/entities/analytics/apis/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,13 +7,12 @@ const book_viewer_abi_1 = require("../../../constants/abis/core/book-viewer-abi"
|
|
|
7
7
|
const subgraph_1 = require("../../../constants/chain-configs/subgraph");
|
|
8
8
|
const book_id_1 = require("../utils/book-id");
|
|
9
9
|
const model_1 = require("../model");
|
|
10
|
-
const open_1 = require("./open");
|
|
11
10
|
const fetchBook = async (publicClient, chainId, quoteCurrency, baseCurrency, useSubgraph, n) => {
|
|
12
11
|
const unitSize = (0, unit_size_1.calculateUnitSize)(chainId, quoteCurrency);
|
|
13
12
|
const bookId = (0, book_id_1.toBookId)(chainId, quoteCurrency.address, baseCurrency.address, unitSize);
|
|
14
13
|
if (useSubgraph) {
|
|
15
14
|
const { data: { book }, } = await subgraph_1.Subgraph.get(chainId, 'getBook', 'query getBook($bookId: ID!) { book(id: $bookId) { depths(where: {unitAmount_gt: 0}) { tick unitAmount } } }', {
|
|
16
|
-
bookId,
|
|
15
|
+
bookId: bookId.toString(),
|
|
17
16
|
});
|
|
18
17
|
return new model_1.BookModel({
|
|
19
18
|
chainId,
|
|
@@ -30,26 +29,53 @@ const fetchBook = async (publicClient, chainId, quoteCurrency, baseCurrency, use
|
|
|
30
29
|
isOpened: book !== null,
|
|
31
30
|
});
|
|
32
31
|
}
|
|
33
|
-
const [depths, isOpened] = await
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
32
|
+
const [{ result: depths }, { result: isOpened }] = await publicClient.multicall({
|
|
33
|
+
contracts: [
|
|
34
|
+
{
|
|
35
|
+
address: addresses_1.CONTRACT_ADDRESSES[chainId].BookViewer,
|
|
36
|
+
abi: book_viewer_abi_1.BOOK_VIEWER_ABI,
|
|
37
|
+
functionName: 'getLiquidity',
|
|
38
|
+
args: [bookId, Number(2n ** 19n - 1n), BigInt(n)],
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
address: addresses_1.CONTRACT_ADDRESSES[chainId].BookManager,
|
|
42
|
+
abi: [
|
|
43
|
+
{
|
|
44
|
+
inputs: [
|
|
45
|
+
{
|
|
46
|
+
internalType: 'BookId',
|
|
47
|
+
name: 'id',
|
|
48
|
+
type: 'uint192',
|
|
49
|
+
},
|
|
50
|
+
],
|
|
51
|
+
name: 'isOpened',
|
|
52
|
+
outputs: [
|
|
53
|
+
{
|
|
54
|
+
internalType: 'bool',
|
|
55
|
+
name: '',
|
|
56
|
+
type: 'bool',
|
|
57
|
+
},
|
|
58
|
+
],
|
|
59
|
+
stateMutability: 'view',
|
|
60
|
+
type: 'function',
|
|
61
|
+
},
|
|
62
|
+
],
|
|
63
|
+
functionName: 'isOpened',
|
|
64
|
+
args: [bookId],
|
|
65
|
+
},
|
|
66
|
+
],
|
|
67
|
+
});
|
|
42
68
|
return new model_1.BookModel({
|
|
43
69
|
chainId,
|
|
44
70
|
id: bookId,
|
|
45
71
|
base: baseCurrency,
|
|
46
72
|
quote: quoteCurrency,
|
|
47
73
|
unitSize,
|
|
48
|
-
depths: depths.map(({ tick, depth }) => ({
|
|
74
|
+
depths: (depths ?? []).map(({ tick, depth }) => ({
|
|
49
75
|
tick: BigInt(tick),
|
|
50
76
|
unitAmount: depth,
|
|
51
77
|
})),
|
|
52
|
-
isOpened,
|
|
78
|
+
isOpened: isOpened ?? false,
|
|
53
79
|
});
|
|
54
80
|
};
|
|
55
81
|
exports.fetchBook = fetchBook;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/entities/book/apis/index.ts"],"names":[],"mappings":";;;AAIA,wDAA4D;AAC5D,0EAA+E;AAC/E,kFAA8E;AAC9E,wEAAoE;AACpE,8CAA2C;AAC3C,oCAAoC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/entities/book/apis/index.ts"],"names":[],"mappings":";;;AAIA,wDAA4D;AAC5D,0EAA+E;AAC/E,kFAA8E;AAC9E,wEAAoE;AACpE,8CAA2C;AAC3C,oCAAoC;AAE7B,MAAM,SAAS,GAAG,KAAK,EAC5B,YAA0B,EAC1B,OAAkB,EAClB,aAAuB,EACvB,YAAsB,EACtB,WAAoB,EACpB,CAAS,EACW,EAAE;IACtB,MAAM,QAAQ,GAAG,IAAA,6BAAiB,EAAC,OAAO,EAAE,aAAa,CAAC,CAAA;IAC1D,MAAM,MAAM,GAAG,IAAA,kBAAQ,EACrB,OAAO,EACP,aAAa,CAAC,OAAO,EACrB,YAAY,CAAC,OAAO,EACpB,QAAQ,CACT,CAAA;IACD,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,EACJ,IAAI,EAAE,EAAE,IAAI,EAAE,GACf,GAAG,MAAM,mBAAQ,CAAC,GAAG,CAWpB,OAAO,EACP,SAAS,EACT,6GAA6G,EAC7G;YACE,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE;SAC1B,CACF,CAAA;QACD,OAAO,IAAI,iBAAS,CAAC;YACnB,OAAO;YACP,EAAE,EAAE,MAAM;YACV,IAAI,EAAE,YAAY;YAClB,KAAK,EAAE,aAAa;YACpB,QAAQ;YACR,MAAM,EAAE,IAAI;gBACV,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CACb,CAAC,EAAE,IAAI,EAAE,UAAU,EAAwC,EAAE,EAAE,CAAC,CAAC;oBAC/D,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC;oBAClB,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC;iBAC/B,CAAC,CACH;gBACH,CAAC,CAAC,EAAE;YACN,QAAQ,EAAE,IAAI,KAAK,IAAI;SACxB,CAAC,CAAA;IACJ,CAAC;IACD,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAC9C,MAAM,YAAY,CAAC,SAAS,CAAC;QAC3B,SAAS,EAAE;YACT;gBACE,OAAO,EAAE,8BAAkB,CAAC,OAAO,CAAE,CAAC,UAAU;gBAChD,GAAG,EAAE,iCAAe;gBACpB,YAAY,EAAE,cAAc;gBAC5B,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI,GAAG,GAAG,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;aAClD;YACD;gBACE,OAAO,EAAE,8BAAkB,CAAC,OAAO,CAAE,CAAC,WAAW;gBACjD,GAAG,EAAE;oBACH;wBACE,MAAM,EAAE;4BACN;gCACE,YAAY,EAAE,QAAQ;gCACtB,IAAI,EAAE,IAAI;gCACV,IAAI,EAAE,SAAS;6BAChB;yBACF;wBACD,IAAI,EAAE,UAAU;wBAChB,OAAO,EAAE;4BACP;gCACE,YAAY,EAAE,MAAM;gCACpB,IAAI,EAAE,EAAE;gCACR,IAAI,EAAE,MAAM;6BACb;yBACF;wBACD,eAAe,EAAE,MAAM;wBACvB,IAAI,EAAE,UAAU;qBACjB;iBACO;gBACV,YAAY,EAAE,UAAU;gBACxB,IAAI,EAAE,CAAC,MAAM,CAAC;aACf;SACF;KACF,CAAC,CAAA;IAEJ,OAAO,IAAI,iBAAS,CAAC;QACnB,OAAO;QACP,EAAE,EAAE,MAAM;QACV,IAAI,EAAE,YAAY;QAClB,KAAK,EAAE,aAAa;QACpB,QAAQ;QACR,MAAM,EAAE,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CACxB,CAAC,EAAE,IAAI,EAAE,KAAK,EAAmC,EAAE,EAAE,CAAC,CAAC;YACrD,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC;YAClB,UAAU,EAAE,KAAK;SAClB,CAAC,CACH;QACD,QAAQ,EAAE,QAAQ,IAAI,KAAK;KAC5B,CAAC,CAAA;AACJ,CAAC,CAAA;AAzGY,QAAA,SAAS,aAyGrB"}
|
|
@@ -18,7 +18,7 @@ const getFromCache = (chainId, address) => totalSupplyCache.get(buildCacheKey(ch
|
|
|
18
18
|
const setToCache = (chainId, address, value) => totalSupplyCache.set(buildCacheKey(chainId, address), value);
|
|
19
19
|
const fetchTotalSupply = async (publicClient, chainId, address) => {
|
|
20
20
|
if ((0, viem_1.isAddressEqual)(address, viem_1.zeroAddress)) {
|
|
21
|
-
return currency_1.
|
|
21
|
+
return currency_1.NATIVE_CURRENCY_TOTAL_SUPPLY[chainId];
|
|
22
22
|
}
|
|
23
23
|
const cached = getFromCache(chainId, address);
|
|
24
24
|
if (cached !== undefined) {
|
|
@@ -63,7 +63,7 @@ const fetchTotalSupplyMap = async (publicClient, chainId, addresses) => {
|
|
|
63
63
|
return {
|
|
64
64
|
...cached,
|
|
65
65
|
...fetched,
|
|
66
|
-
[viem_1.zeroAddress]: currency_1.
|
|
66
|
+
[viem_1.zeroAddress]: currency_1.NATIVE_CURRENCY_TOTAL_SUPPLY[chainId],
|
|
67
67
|
};
|
|
68
68
|
};
|
|
69
69
|
exports.fetchTotalSupplyMap = fetchTotalSupplyMap;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"total-supply.js","sourceRoot":"","sources":["../../../../../src/entities/currency/apis/total-supply.ts"],"names":[],"mappings":";;;AAAA,+BAAgE;AAEhE,
|
|
1
|
+
{"version":3,"file":"total-supply.js","sourceRoot":"","sources":["../../../../../src/entities/currency/apis/total-supply.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,15 +6,16 @@ const subgraph_1 = require("../../../constants/chain-configs/subgraph");
|
|
|
6
6
|
const views_1 = require("../../../views");
|
|
7
7
|
const total_supply_1 = require("../../currency/apis/total-supply");
|
|
8
8
|
const time_1 = require("../../../utils/time");
|
|
9
|
+
const bigint_1 = require("../../../utils/bigint");
|
|
9
10
|
const fetchMarketSnapshot = async (publicClient, chainId, token0, token1, timestampInSeconds) => {
|
|
10
11
|
const dayStartTimestamp = (0, time_1.getDailyStartTimestampInSeconds)(timestampInSeconds);
|
|
11
|
-
const { data: { bookDayDatas }, } = await subgraph_1.Subgraph.get(chainId, 'getTopMarketSnapshot', 'query getMarkets($date: Int!, $bases: [String!]!, $quotes: [String!]!) { bookDayDatas( first: 200 orderBy: volumeUSD orderDirection: desc where: {date: $date, book_: {base_in: $bases, quote_in: $quotes}} ) { volumeUSD open close book { id totalValueLockedUSD price inversePrice base { id name symbol decimals priceUSD } quote { id name symbol decimals priceUSD } createdAtTimestamp } } }', {
|
|
12
|
+
const { data: { bookDayDatas }, } = await subgraph_1.Subgraph.get(chainId, 'getTopMarketSnapshot', 'query getMarkets($date: Int!, $bases: [String!]!, $quotes: [String!]!) { bookDayDatas( first: 200 orderBy: volumeUSD orderDirection: desc where: {date: $date, book_: {base_in: $bases, quote_in: $quotes}} ) { volumeUSD open close book { id totalValueLockedUSD price inversePrice lastTakenTimestamp base { id name symbol decimals priceUSD } quote { id name symbol decimals priceUSD } createdAtTimestamp } } }', {
|
|
12
13
|
date: dayStartTimestamp,
|
|
13
14
|
bases: [token0, token1].map((address) => address.toLowerCase()),
|
|
14
15
|
quotes: [token0, token1].map((address) => address.toLowerCase()),
|
|
15
16
|
});
|
|
16
17
|
if (bookDayDatas.length >= 3) {
|
|
17
|
-
|
|
18
|
+
console.warn(`[fetchMarketSnapshot] too many bookDayDatas for ${token0}/${token1}`);
|
|
18
19
|
}
|
|
19
20
|
const totalSupplyMap = await (0, total_supply_1.fetchTotalSupplyMap)(publicClient, chainId, [token0, token1].map((address) => (0, viem_1.getAddress)(address)));
|
|
20
21
|
const bidBook = bookDayDatas.find(({ book: { quote, base } }) => (0, viem_1.isAddressEqual)((0, viem_1.getAddress)(quote.id), (0, views_1.getQuoteToken)({
|
|
@@ -28,7 +29,9 @@ const fetchMarketSnapshot = async (publicClient, chainId, token0, token1, timest
|
|
|
28
29
|
token1: (0, viem_1.getAddress)(base.id),
|
|
29
30
|
})));
|
|
30
31
|
if (bidBook && askBook) {
|
|
31
|
-
const baseTotalSupply =
|
|
32
|
+
const baseTotalSupply = (0, bigint_1.convertTokenToDecimal)(BigInt(totalSupplyMap[(0, viem_1.getAddress)(bidBook.book.base.id)] ?? 0n), Number(bidBook.book.base.decimals));
|
|
33
|
+
const isBidNewer = Number(bidBook.book.lastTakenTimestamp) >=
|
|
34
|
+
Number(askBook.book.lastTakenTimestamp);
|
|
32
35
|
return {
|
|
33
36
|
chainId,
|
|
34
37
|
marketId: `${bidBook.book.base.symbol}/${bidBook.book.quote.symbol}`,
|
|
@@ -44,22 +47,31 @@ const fetchMarketSnapshot = async (publicClient, chainId, token0, token1, timest
|
|
|
44
47
|
symbol: bidBook.book.quote.symbol,
|
|
45
48
|
decimals: Number(bidBook.book.quote.decimals),
|
|
46
49
|
},
|
|
47
|
-
price:
|
|
48
|
-
|
|
49
|
-
Number(askBook.book.
|
|
50
|
-
|
|
50
|
+
price: isBidNewer
|
|
51
|
+
? Number(bidBook.book.price)
|
|
52
|
+
: Number(askBook.book.inversePrice),
|
|
53
|
+
priceUSD: isBidNewer
|
|
54
|
+
? Number(bidBook.book.base.priceUSD)
|
|
55
|
+
: Number(askBook.book.quote.priceUSD),
|
|
51
56
|
volume24hUSD: Number(bidBook.volumeUSD) + Number(askBook.volumeUSD),
|
|
52
57
|
totalValueLockedUSD: Number(bidBook.book.totalValueLockedUSD) +
|
|
53
58
|
Number(askBook.book.totalValueLockedUSD),
|
|
54
|
-
priceChange24h:
|
|
55
|
-
|
|
56
|
-
0
|
|
59
|
+
priceChange24h: isBidNewer && Number(bidBook.open) > 0
|
|
60
|
+
? Number(bidBook.close) / Number(bidBook.open) - 1
|
|
61
|
+
: !isBidNewer && Number(askBook.close) > 0
|
|
62
|
+
? Number(askBook.open) / Number(askBook.close) - 1
|
|
63
|
+
: 0,
|
|
57
64
|
createdAtTimestamp: Math.min(Number(bidBook.book.createdAtTimestamp), Number(askBook.book.createdAtTimestamp)),
|
|
58
|
-
fdv: baseTotalSupply *
|
|
65
|
+
fdv: baseTotalSupply *
|
|
66
|
+
(isBidNewer
|
|
67
|
+
? Number(bidBook.book.base.priceUSD)
|
|
68
|
+
: Number(askBook.book.quote.priceUSD)),
|
|
69
|
+
bidBookUpdatedAt: Number(bidBook.book.lastTakenTimestamp),
|
|
70
|
+
askBookUpdatedAt: Number(askBook.book.lastTakenTimestamp),
|
|
59
71
|
};
|
|
60
72
|
}
|
|
61
73
|
else if (bidBook) {
|
|
62
|
-
const baseTotalSupply =
|
|
74
|
+
const baseTotalSupply = (0, bigint_1.convertTokenToDecimal)(BigInt(totalSupplyMap[(0, viem_1.getAddress)(bidBook.book.base.id)] ?? 0n), Number(bidBook.book.base.decimals));
|
|
63
75
|
return {
|
|
64
76
|
chainId,
|
|
65
77
|
marketId: `${bidBook.book.base.symbol}/${bidBook.book.quote.symbol}`,
|
|
@@ -79,13 +91,17 @@ const fetchMarketSnapshot = async (publicClient, chainId, token0, token1, timest
|
|
|
79
91
|
priceUSD: Number(bidBook.book.base.priceUSD) || 0,
|
|
80
92
|
volume24hUSD: Number(bidBook.volumeUSD) || 0,
|
|
81
93
|
totalValueLockedUSD: Number(bidBook.book.totalValueLockedUSD) || 0,
|
|
82
|
-
priceChange24h:
|
|
94
|
+
priceChange24h: Number(bidBook.open) > 0
|
|
95
|
+
? Number(bidBook.close) / Number(bidBook.open) - 1
|
|
96
|
+
: 0,
|
|
83
97
|
createdAtTimestamp: Number(bidBook.book.createdAtTimestamp) || 0,
|
|
84
98
|
fdv: baseTotalSupply * Number(bidBook.book.base.priceUSD) || 0,
|
|
99
|
+
bidBookUpdatedAt: Number(bidBook.book.lastTakenTimestamp) || 0,
|
|
100
|
+
askBookUpdatedAt: 0,
|
|
85
101
|
};
|
|
86
102
|
}
|
|
87
103
|
else if (askBook) {
|
|
88
|
-
const baseTotalSupply =
|
|
104
|
+
const baseTotalSupply = (0, bigint_1.convertTokenToDecimal)(BigInt(totalSupplyMap[(0, viem_1.getAddress)(askBook.book.quote.id)] ?? 0n), Number(askBook.book.quote.decimals));
|
|
89
105
|
return {
|
|
90
106
|
chainId,
|
|
91
107
|
marketId: `${askBook.book.quote.symbol}/${askBook.book.base.symbol}`,
|
|
@@ -105,9 +121,13 @@ const fetchMarketSnapshot = async (publicClient, chainId, token0, token1, timest
|
|
|
105
121
|
priceUSD: Number(askBook.book.quote.priceUSD) || 0,
|
|
106
122
|
volume24hUSD: Number(askBook.volumeUSD) || 0,
|
|
107
123
|
totalValueLockedUSD: Number(askBook.book.totalValueLockedUSD) || 0,
|
|
108
|
-
priceChange24h: Number(askBook.
|
|
124
|
+
priceChange24h: Number(askBook.close) > 0
|
|
125
|
+
? Number(askBook.open) / Number(askBook.close) - 1
|
|
126
|
+
: 0,
|
|
109
127
|
createdAtTimestamp: Number(askBook.book.createdAtTimestamp) || 0,
|
|
110
128
|
fdv: baseTotalSupply * Number(askBook.book.quote.priceUSD) || 0,
|
|
129
|
+
bidBookUpdatedAt: 0,
|
|
130
|
+
askBookUpdatedAt: Number(askBook.book.lastTakenTimestamp) || 0,
|
|
111
131
|
};
|
|
112
132
|
}
|
|
113
133
|
throw new Error('No bookDayDatas found');
|
|
@@ -115,7 +135,7 @@ const fetchMarketSnapshot = async (publicClient, chainId, token0, token1, timest
|
|
|
115
135
|
exports.fetchMarketSnapshot = fetchMarketSnapshot;
|
|
116
136
|
const fetchMarketSnapshots = async (publicClient, chainId, timestampInSeconds) => {
|
|
117
137
|
const dayStartTimestamp = (0, time_1.getDailyStartTimestampInSeconds)(timestampInSeconds);
|
|
118
|
-
const { data: { bookDayDatas }, } = await subgraph_1.Subgraph.get(chainId, 'getTopMarketSnapshots', 'query getMarkets($date: Int!) { bookDayDatas( first: 200 orderBy: volumeUSD orderDirection: desc where: {date: $date} ) { volumeUSD open close book { id totalValueLockedUSD price inversePrice base { id name symbol decimals priceUSD } quote { id name symbol decimals priceUSD } createdAtTimestamp } } }', {
|
|
138
|
+
const { data: { bookDayDatas }, } = await subgraph_1.Subgraph.get(chainId, 'getTopMarketSnapshots', 'query getMarkets($date: Int!) { bookDayDatas( first: 200 orderBy: volumeUSD orderDirection: desc where: {date: $date} ) { volumeUSD open close book { id totalValueLockedUSD price inversePrice lastTakenTimestamp base { id name symbol decimals priceUSD } quote { id name symbol decimals priceUSD } createdAtTimestamp } } }', {
|
|
119
139
|
date: dayStartTimestamp,
|
|
120
140
|
});
|
|
121
141
|
const bidBookDayDataList = bookDayDatas.filter(({ book: { quote, base } }) => (0, viem_1.isAddressEqual)((0, viem_1.getAddress)(quote.id), (0, views_1.getQuoteToken)({
|
|
@@ -151,28 +171,42 @@ const fetchMarketSnapshots = async (publicClient, chainId, timestampInSeconds) =
|
|
|
151
171
|
symbol: bidBook.book.base.symbol,
|
|
152
172
|
decimals: Number(bidBook.book.base.decimals),
|
|
153
173
|
};
|
|
154
|
-
const
|
|
174
|
+
const askBook = askBookDayDataList.find((askBook) => (0, viem_1.isAddressEqual)((0, viem_1.getAddress)(askBook.book.quote.id), baseCurrency.address) &&
|
|
155
175
|
(0, viem_1.isAddressEqual)((0, viem_1.getAddress)(askBook.book.base.id), quoteCurrency.address));
|
|
156
|
-
const baseTotalSupply =
|
|
176
|
+
const baseTotalSupply = (0, bigint_1.convertTokenToDecimal)(BigInt(totalSupplyMap[baseCurrency.address] ?? 0n), baseCurrency.decimals);
|
|
177
|
+
const isBidNewer = Number(bidBook.book.lastTakenTimestamp) >=
|
|
178
|
+
Number(askBook?.book.lastTakenTimestamp ?? 0);
|
|
157
179
|
return {
|
|
158
180
|
chainId,
|
|
159
181
|
marketId: `${baseCurrency.symbol}/${quoteCurrency.symbol}`,
|
|
160
182
|
base: baseCurrency,
|
|
161
183
|
quote: quoteCurrency,
|
|
162
|
-
price:
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
? Number(
|
|
184
|
+
price: isBidNewer
|
|
185
|
+
? Number(bidBook.book.price)
|
|
186
|
+
: Number(askBook?.book.inversePrice),
|
|
187
|
+
priceUSD: isBidNewer
|
|
188
|
+
? Number(bidBook.book.base.priceUSD)
|
|
189
|
+
: Number(askBook?.book.quote.priceUSD),
|
|
190
|
+
priceChange24h: isBidNewer && Number(bidBook.open) > 0
|
|
191
|
+
? Number(bidBook.close) / Number(bidBook.open) - 1
|
|
192
|
+
: !isBidNewer && askBook && Number(askBook.close) > 0
|
|
193
|
+
? Number(askBook.open) / Number(askBook.close) - 1
|
|
194
|
+
: 0,
|
|
195
|
+
volume24hUSD: askBook
|
|
196
|
+
? Number(askBook.volumeUSD) + Number(bidBook.volumeUSD)
|
|
167
197
|
: Number(bidBook.volumeUSD),
|
|
168
|
-
totalValueLockedUSD:
|
|
169
|
-
? Number(
|
|
198
|
+
totalValueLockedUSD: askBook
|
|
199
|
+
? Number(askBook.book.totalValueLockedUSD) +
|
|
170
200
|
Number(bidBook.book.totalValueLockedUSD)
|
|
171
201
|
: Number(bidBook.book.totalValueLockedUSD),
|
|
172
|
-
createdAtTimestamp:
|
|
173
|
-
? Math.min(Number(bidBook.book.createdAtTimestamp), Number(
|
|
202
|
+
createdAtTimestamp: askBook
|
|
203
|
+
? Math.min(Number(bidBook.book.createdAtTimestamp), Number(askBook.book.createdAtTimestamp))
|
|
174
204
|
: Number(bidBook.book.createdAtTimestamp),
|
|
175
|
-
fdv:
|
|
205
|
+
fdv: isBidNewer
|
|
206
|
+
? baseTotalSupply * Number(bidBook.book.base.priceUSD)
|
|
207
|
+
: baseTotalSupply * Number(askBook?.book.quote.priceUSD),
|
|
208
|
+
bidBookUpdatedAt: Number(bidBook.book.lastTakenTimestamp),
|
|
209
|
+
askBookUpdatedAt: Number(askBook?.book.lastTakenTimestamp ?? 0),
|
|
176
210
|
};
|
|
177
211
|
}),
|
|
178
212
|
...askBookDayDataList.map((askBook) => {
|
|
@@ -190,15 +224,25 @@ const fetchMarketSnapshots = async (publicClient, chainId, timestampInSeconds) =
|
|
|
190
224
|
};
|
|
191
225
|
const bidBook = bidBookDayDataList.find((bidBook) => (0, viem_1.isAddressEqual)((0, viem_1.getAddress)(bidBook.book.quote.id), quoteCurrency.address) &&
|
|
192
226
|
(0, viem_1.isAddressEqual)((0, viem_1.getAddress)(bidBook.book.base.id), baseCurrency.address));
|
|
193
|
-
const baseTotalSupply =
|
|
227
|
+
const baseTotalSupply = (0, bigint_1.convertTokenToDecimal)(BigInt(totalSupplyMap[baseCurrency.address] ?? 0n), baseCurrency.decimals);
|
|
228
|
+
const isBidNewer = Number(bidBook?.book.lastTakenTimestamp ?? 0) >=
|
|
229
|
+
Number(askBook.book.lastTakenTimestamp);
|
|
194
230
|
return {
|
|
195
231
|
chainId,
|
|
196
232
|
marketId: `${baseCurrency.symbol}/${quoteCurrency.symbol}`,
|
|
197
233
|
base: baseCurrency,
|
|
198
234
|
quote: quoteCurrency,
|
|
199
|
-
price:
|
|
200
|
-
|
|
201
|
-
|
|
235
|
+
price: isBidNewer
|
|
236
|
+
? Number(bidBook?.book.price)
|
|
237
|
+
: Number(askBook.book.inversePrice),
|
|
238
|
+
priceUSD: isBidNewer
|
|
239
|
+
? Number(bidBook?.book.base.priceUSD)
|
|
240
|
+
: Number(askBook.book.quote.priceUSD),
|
|
241
|
+
priceChange24h: isBidNewer && bidBook && Number(bidBook.open) > 0
|
|
242
|
+
? Number(bidBook.close) / Number(bidBook.open) - 1
|
|
243
|
+
: !isBidNewer && Number(askBook.close) > 0
|
|
244
|
+
? Number(askBook.open) / Number(askBook.close) - 1
|
|
245
|
+
: 0,
|
|
202
246
|
volume24hUSD: bidBook
|
|
203
247
|
? Number(askBook.volumeUSD) + Number(bidBook.volumeUSD)
|
|
204
248
|
: Number(askBook.volumeUSD),
|
|
@@ -209,11 +253,15 @@ const fetchMarketSnapshots = async (publicClient, chainId, timestampInSeconds) =
|
|
|
209
253
|
createdAtTimestamp: bidBook
|
|
210
254
|
? Math.min(Number(askBook.book.createdAtTimestamp), Number(bidBook.book.createdAtTimestamp))
|
|
211
255
|
: Number(askBook.book.createdAtTimestamp),
|
|
212
|
-
fdv:
|
|
256
|
+
fdv: isBidNewer
|
|
257
|
+
? baseTotalSupply * Number(bidBook?.book.base.priceUSD)
|
|
258
|
+
: baseTotalSupply * Number(askBook.book.quote.priceUSD),
|
|
259
|
+
bidBookUpdatedAt: Number(bidBook?.book.lastTakenTimestamp ?? 0),
|
|
260
|
+
askBookUpdatedAt: Number(askBook.book.lastTakenTimestamp),
|
|
213
261
|
};
|
|
214
262
|
}),
|
|
215
263
|
]
|
|
216
|
-
.filter(({
|
|
264
|
+
.filter(({ priceUSD }) => priceUSD > 0)
|
|
217
265
|
.filter((market, index, self) => self.findIndex((m) => m.marketId === market.marketId) === index);
|
|
218
266
|
};
|
|
219
267
|
exports.fetchMarketSnapshots = fetchMarketSnapshots;
|