@paraswap/dex-lib 3.8.12-solidlyv3 → 3.8.13

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.
@@ -0,0 +1,93 @@
1
+ [
2
+ {
3
+ "anonymous": false,
4
+ "inputs": [
5
+ {
6
+ "indexed": true,
7
+ "internalType": "address",
8
+ "name": "tokenAddress",
9
+ "type": "address"
10
+ },
11
+ {
12
+ "indexed": false,
13
+ "internalType": "uint256",
14
+ "name": "oldRatio",
15
+ "type": "uint256"
16
+ },
17
+ {
18
+ "indexed": false,
19
+ "internalType": "uint256",
20
+ "name": "newRatio",
21
+ "type": "uint256"
22
+ }
23
+ ],
24
+ "name": "RatioUpdated",
25
+ "type": "event"
26
+ },
27
+ {
28
+ "inputs": [],
29
+ "name": "MAX_THRESHOLD",
30
+ "outputs": [{ "internalType": "uint32", "name": "", "type": "uint32" }],
31
+ "stateMutability": "view",
32
+ "type": "function"
33
+ },
34
+ {
35
+ "inputs": [
36
+ { "internalType": "address", "name": "token", "type": "address" },
37
+ { "internalType": "uint256", "name": "day", "type": "uint256" }
38
+ ],
39
+ "name": "averagePercentageRate",
40
+ "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],
41
+ "stateMutability": "view",
42
+ "type": "function"
43
+ },
44
+ {
45
+ "inputs": [
46
+ { "internalType": "address", "name": "token", "type": "address" }
47
+ ],
48
+ "name": "getRatioFor",
49
+ "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],
50
+ "stateMutability": "view",
51
+ "type": "function"
52
+ },
53
+ {
54
+ "inputs": [{ "internalType": "address", "name": "", "type": "address" }],
55
+ "name": "historicalRatios",
56
+ "outputs": [
57
+ { "internalType": "uint40", "name": "lastUpdate", "type": "uint40" }
58
+ ],
59
+ "stateMutability": "view",
60
+ "type": "function"
61
+ },
62
+ {
63
+ "inputs": [],
64
+ "name": "inceptionOperator",
65
+ "outputs": [{ "internalType": "address", "name": "", "type": "address" }],
66
+ "stateMutability": "view",
67
+ "type": "function"
68
+ },
69
+ {
70
+ "inputs": [],
71
+ "name": "initialize",
72
+ "outputs": [],
73
+ "stateMutability": "nonpayable",
74
+ "type": "function"
75
+ },
76
+ {
77
+ "inputs": [],
78
+ "name": "ratioThreshold",
79
+ "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],
80
+ "stateMutability": "view",
81
+ "type": "function"
82
+ },
83
+ {
84
+ "inputs": [
85
+ { "internalType": "address[]", "name": "addresses", "type": "address[]" },
86
+ { "internalType": "uint256[]", "name": "ratios", "type": "uint256[]" }
87
+ ],
88
+ "name": "updateRatioBatch",
89
+ "outputs": [],
90
+ "stateMutability": "nonpayable",
91
+ "type": "function"
92
+ }
93
+ ]
@@ -1,5 +1,5 @@
1
- import { DexParams } from './types';
1
+ import { DexParams, PricePoolParams } from './types';
2
2
  import { AdapterMappings, DexConfigMap } from '../../types';
3
- export declare const InceptionConfig: DexConfigMap<DexParams>;
4
- export declare const InceptionNativeConfig: DexConfigMap<DexParams>;
3
+ export declare const InceptionConfig: DexConfigMap<DexParams[]>;
4
+ export declare const InceptionPricePoolConfig: DexConfigMap<PricePoolParams>;
5
5
  export declare const Adapters: Record<number, AdapterMappings>;
@@ -1,100 +1,112 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Adapters = exports.InceptionNativeConfig = exports.InceptionConfig = void 0;
3
+ exports.Adapters = exports.InceptionPricePoolConfig = exports.InceptionConfig = void 0;
4
4
  const constants_1 = require("../../constants");
5
5
  exports.InceptionConfig = {
6
- instETH: {
7
- [constants_1.Network.MAINNET]: {
8
- vault: '0x814CC6B8fd2555845541FB843f37418b05977d8d',
9
- baseTokenSlug: 'STETH',
10
- },
11
- },
12
- inrETH: {
13
- [constants_1.Network.MAINNET]: {
14
- token: '0x80d69e79258FE9D056c822461c4eb0B4ca8802E2',
15
- vault: '0x1Aa53BC4Beb82aDf7f5EDEE9e3bBF3434aD59F12',
16
- baseTokenSlug: 'rETH',
17
- },
18
- },
19
- inoETH: {
20
- [constants_1.Network.MAINNET]: {
21
- token: '0x9181f633e9b9f15a32d5e37094f4c93b333e0e92',
22
- vault: '0x4878F636A9Aa314B776Ac51A25021C44CAF86bEd',
23
- baseTokenSlug: 'oETH',
24
- },
25
- },
26
- inosETH: {
27
- [constants_1.Network.MAINNET]: {
28
- token: '0xfD07fD5EBEa6F24888a397997E262179Bf494336',
29
- vault: '0xA9F8c770661BeE8DF2D026edB1Cb6FF763C780FF',
30
- baseTokenSlug: 'osETH',
31
- },
32
- },
33
- inankrETH: {
34
- [constants_1.Network.MAINNET]: {
35
- token: '0xfa2629B9cF3998D52726994E0FcdB750224D8B9D',
36
- vault: '0x36B429439AB227fAB170A4dFb3321741c8815e55',
37
- baseTokenSlug: 'AnkETH',
38
- },
39
- },
40
- incbETH: {
41
- [constants_1.Network.MAINNET]: {
42
- token: '0xbf19eead55a6b100667f04f8fbc5371e03e8ab2e',
43
- vault: '0xfE715358368416E01d3A961D3a037b7359735d5e',
44
- baseTokenSlug: 'cbETH',
45
- },
46
- },
47
- inwbETH: {
48
- [constants_1.Network.MAINNET]: {
49
- token: '0xda9b11cd701e10c2ec1a284f80820edd128c5246',
50
- vault: '0xC0660932C5dCaD4A1409b7975d147203B1e9A2B6',
51
- baseTokenSlug: 'wbETH',
52
- },
53
- },
54
- inswETH: {
55
- [constants_1.Network.MAINNET]: {
56
- token: '0xc3ade5ace1bbb033ccae8177c12ecbfa16bd6a9d',
57
- vault: '0xc4181dC7BB31453C4A48689ce0CBe975e495321c',
58
- baseTokenSlug: 'SWETH',
59
- },
60
- },
61
- inETHx: {
62
- [constants_1.Network.MAINNET]: {
63
- token: '0x57a5a0567187ff4a8dcc1a9bba86155e355878f2',
64
- vault: '0x90E80E25ABDB6205B08DeBa29a87f7eb039023C2',
65
- baseTokenSlug: 'ETHx',
66
- },
67
- },
68
- insfrxETH: {
69
- [constants_1.Network.MAINNET]: {
70
- token: '0x668308d77be3533c909a692302cb4d135bf8041c',
71
- vault: '0x295234B7E370a5Db2D2447aCA83bc7448f151161',
72
- baseTokenSlug: 'sfrxETH',
73
- },
74
- },
75
- inmETH: {
76
- [constants_1.Network.MAINNET]: {
77
- token: '0xeCf3672A6d2147E2A77f07069Fb48d8Cf6F6Fbf9',
78
- vault: '0xd0ee89d82183D7Ddaef14C6b4fC0AA742F426355',
79
- baseTokenSlug: 'mETH',
80
- },
81
- },
82
- inlsETH: {
83
- [constants_1.Network.MAINNET]: {
84
- token: '0x94b888e11a9e960a9c3b3528eb6ac807b27ca62e',
85
- vault: '0x6E17a8b5D33e6DBdB9fC61d758BF554b6AD93322',
86
- baseTokenSlug: 'lsETH',
87
- },
6
+ InceptionLRT: {
7
+ [constants_1.Network.MAINNET]: [
8
+ {
9
+ symbol: 'instETH',
10
+ token: '0x7FA768E035F956c41d6aeaa3Bd857e7E5141CAd5',
11
+ vault: '0x814CC6B8fd2555845541FB843f37418b05977d8d',
12
+ baseToken: '0xae7ab96520DE3A18E5e111B5EaAb095312D7fE84',
13
+ baseTokenSlug: 'STETH',
14
+ },
15
+ {
16
+ symbol: 'inrETH',
17
+ token: '0x80d69e79258FE9D056c822461c4eb0B4ca8802E2',
18
+ vault: '0x1Aa53BC4Beb82aDf7f5EDEE9e3bBF3434aD59F12',
19
+ baseToken: '0xae78736Cd615f374D3085123A210448E74Fc6393',
20
+ baseTokenSlug: 'rETH',
21
+ },
22
+ {
23
+ symbol: 'inoETH',
24
+ token: '0x9181f633e9b9f15a32d5e37094f4c93b333e0e92',
25
+ vault: '0x4878F636A9Aa314B776Ac51A25021C44CAF86bEd',
26
+ baseToken: '0x856c4Efb76C1D1AE02e20CEB03A2A6a08b0b8dC3',
27
+ baseTokenSlug: 'oETH',
28
+ },
29
+ {
30
+ symbol: 'inosETH',
31
+ token: '0xfD07fD5EBEa6F24888a397997E262179Bf494336',
32
+ vault: '0xA9F8c770661BeE8DF2D026edB1Cb6FF763C780FF',
33
+ baseToken: '0xf1C9acDc66974dFB6dEcB12aA385b9cD01190E38',
34
+ baseTokenSlug: 'osETH',
35
+ },
36
+ {
37
+ symbol: 'inankrETH',
38
+ token: '0xfa2629B9cF3998D52726994E0FcdB750224D8B9D',
39
+ vault: '0x36B429439AB227fAB170A4dFb3321741c8815e55',
40
+ baseToken: '0xE95A203B1a91a908F9B9CE46459d101078c2c3cb',
41
+ baseTokenSlug: 'AnkETH',
42
+ },
43
+ {
44
+ symbol: 'incbETH',
45
+ token: '0xbf19eead55a6b100667f04f8fbc5371e03e8ab2e',
46
+ vault: '0xfE715358368416E01d3A961D3a037b7359735d5e',
47
+ baseToken: '0xBe9895146f7AF43049ca1c1AE358B0541Ea49704',
48
+ baseTokenSlug: 'cbETH',
49
+ },
50
+ {
51
+ symbol: 'inwbETH',
52
+ token: '0xda9b11cd701e10c2ec1a284f80820edd128c5246',
53
+ vault: '0xC0660932C5dCaD4A1409b7975d147203B1e9A2B6',
54
+ baseToken: '0xa2E3356610840701BDf5611a53974510Ae27E2e1',
55
+ baseTokenSlug: 'wbETH',
56
+ },
57
+ {
58
+ symbol: 'inswETH',
59
+ token: '0xc3ade5ace1bbb033ccae8177c12ecbfa16bd6a9d',
60
+ vault: '0xc4181dC7BB31453C4A48689ce0CBe975e495321c',
61
+ baseToken: '0xf951E335afb289353dc249e82926178EaC7DEd78',
62
+ baseTokenSlug: 'SWETH',
63
+ },
64
+ {
65
+ symbol: 'inETHx',
66
+ token: '0x57a5a0567187ff4a8dcc1a9bba86155e355878f2',
67
+ vault: '0x90E80E25ABDB6205B08DeBa29a87f7eb039023C2',
68
+ baseToken: '0xA35b1B31Ce002FBF2058D22F30f95D405200A15b',
69
+ baseTokenSlug: 'ETHx',
70
+ },
71
+ {
72
+ symbol: 'insfrxETH',
73
+ token: '0x668308d77be3533c909a692302cb4d135bf8041c',
74
+ vault: '0x295234B7E370a5Db2D2447aCA83bc7448f151161',
75
+ baseToken: '0xac3E018457B222d93114458476f3E3416Abbe38F',
76
+ baseTokenSlug: 'sfrxETH',
77
+ },
78
+ {
79
+ symbol: 'inmETH',
80
+ token: '0xeCf3672A6d2147E2A77f07069Fb48d8Cf6F6Fbf9',
81
+ vault: '0xd0ee89d82183D7Ddaef14C6b4fC0AA742F426355',
82
+ baseToken: '0xd5F7838F5C461fefF7FE49ea5ebaF7728bB0ADfa',
83
+ baseTokenSlug: 'mETH',
84
+ },
85
+ {
86
+ symbol: 'inlsETH',
87
+ token: '0x94b888e11a9e960a9c3b3528eb6ac807b27ca62e',
88
+ vault: '0x6E17a8b5D33e6DBdB9fC61d758BF554b6AD93322',
89
+ baseToken: '0x8c1BEd5b9a0928467c9B1341Da1D7BD5e10b6549',
90
+ baseTokenSlug: 'lsETH',
91
+ },
92
+ {
93
+ symbol: 'inETH',
94
+ token: '0xf073bAC22DAb7FaF4a3Dd6c6189a70D54110525C',
95
+ vault: '0x46199cAa0e453971cedf97f926368d9E5415831a',
96
+ baseToken: '0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee',
97
+ baseTokenSlug: 'ETH',
98
+ },
99
+ ],
88
100
  },
89
101
  };
90
- exports.InceptionNativeConfig = {
91
- inETH: {
102
+ exports.InceptionPricePoolConfig = {
103
+ InceptionLRT: {
92
104
  [constants_1.Network.MAINNET]: {
93
- token: '0xf073bAC22DAb7FaF4a3Dd6c6189a70D54110525C',
94
- vault: '0x46199cAa0e453971cedf97f926368d9E5415831a',
95
- baseTokenSlug: 'ETH',
105
+ ratioFeed: '0xFd73Be536503B5Aa80Bf99D1Fd65b1306c69B191',
96
106
  },
97
107
  },
98
108
  };
99
- exports.Adapters = {};
109
+ exports.Adapters = {
110
+ [constants_1.Network.MAINNET]: { [constants_1.SwapSide.SELL]: [{ name: '', index: 0 }] },
111
+ };
100
112
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/dex/inception/config.ts"],"names":[],"mappings":";;;AAEA,+CAA0C;AAE7B,QAAA,eAAe,GAA4B;IACtD,OAAO,EAAE;QACP,CAAC,mBAAO,CAAC,OAAO,CAAC,EAAE;YACjB,KAAK,EAAE,4CAA4C;YACnD,aAAa,EAAE,OAAO;SACvB;KACF;IACD,MAAM,EAAE;QACN,CAAC,mBAAO,CAAC,OAAO,CAAC,EAAE;YACjB,KAAK,EAAE,4CAA4C;YACnD,KAAK,EAAE,4CAA4C;YACnD,aAAa,EAAE,MAAM;SACtB;KACF;IACD,MAAM,EAAE;QACN,CAAC,mBAAO,CAAC,OAAO,CAAC,EAAE;YACjB,KAAK,EAAE,4CAA4C;YACnD,KAAK,EAAE,4CAA4C;YACnD,aAAa,EAAE,MAAM;SACtB;KACF;IACD,OAAO,EAAE;QACP,CAAC,mBAAO,CAAC,OAAO,CAAC,EAAE;YACjB,KAAK,EAAE,4CAA4C;YACnD,KAAK,EAAE,4CAA4C;YACnD,aAAa,EAAE,OAAO;SACvB;KACF;IACD,SAAS,EAAE;QACT,CAAC,mBAAO,CAAC,OAAO,CAAC,EAAE;YACjB,KAAK,EAAE,4CAA4C;YACnD,KAAK,EAAE,4CAA4C;YACnD,aAAa,EAAE,QAAQ;SACxB;KACF;IACD,OAAO,EAAE;QACP,CAAC,mBAAO,CAAC,OAAO,CAAC,EAAE;YACjB,KAAK,EAAE,4CAA4C;YACnD,KAAK,EAAE,4CAA4C;YACnD,aAAa,EAAE,OAAO;SACvB;KACF;IACD,OAAO,EAAE;QACP,CAAC,mBAAO,CAAC,OAAO,CAAC,EAAE;YACjB,KAAK,EAAE,4CAA4C;YACnD,KAAK,EAAE,4CAA4C;YACnD,aAAa,EAAE,OAAO;SACvB;KACF;IACD,OAAO,EAAE;QACP,CAAC,mBAAO,CAAC,OAAO,CAAC,EAAE;YACjB,KAAK,EAAE,4CAA4C;YACnD,KAAK,EAAE,4CAA4C;YACnD,aAAa,EAAE,OAAO;SACvB;KACF;IACD,MAAM,EAAE;QACN,CAAC,mBAAO,CAAC,OAAO,CAAC,EAAE;YACjB,KAAK,EAAE,4CAA4C;YACnD,KAAK,EAAE,4CAA4C;YACnD,aAAa,EAAE,MAAM;SACtB;KACF;IACD,SAAS,EAAE;QACT,CAAC,mBAAO,CAAC,OAAO,CAAC,EAAE;YACjB,KAAK,EAAE,4CAA4C;YACnD,KAAK,EAAE,4CAA4C;YACnD,aAAa,EAAE,SAAS;SACzB;KACF;IACD,MAAM,EAAE;QACN,CAAC,mBAAO,CAAC,OAAO,CAAC,EAAE;YACjB,KAAK,EAAE,4CAA4C;YACnD,KAAK,EAAE,4CAA4C;YACnD,aAAa,EAAE,MAAM;SACtB;KACF;IACD,OAAO,EAAE;QACP,CAAC,mBAAO,CAAC,OAAO,CAAC,EAAE;YACjB,KAAK,EAAE,4CAA4C;YACnD,KAAK,EAAE,4CAA4C;YACnD,aAAa,EAAE,OAAO;SACvB;KACF;CACF,CAAC;AAEW,QAAA,qBAAqB,GAA4B;IAC5D,KAAK,EAAE;QACL,CAAC,mBAAO,CAAC,OAAO,CAAC,EAAE;YACjB,KAAK,EAAE,4CAA4C;YACnD,KAAK,EAAE,4CAA4C;YACnD,aAAa,EAAE,KAAK;SACrB;KACF;CACF,CAAC;AAEW,QAAA,QAAQ,GAAoC,EAAE,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/dex/inception/config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ import { Logger } from '../../types';
2
+ import { ComposedEventSubscriber } from '../../composed-event-subscriber';
3
+ import { IDexHelper } from '../../dex-helper/idex-helper';
4
+ import { PoolConfig, PoolState } from './types';
5
+ import { Interface } from '@ethersproject/abi';
6
+ export declare class InceptionEventPool extends ComposedEventSubscriber<PoolState> {
7
+ protected network: number;
8
+ protected dexHelper: IDexHelper;
9
+ poolConfig: PoolConfig;
10
+ poolInterface: Interface;
11
+ constructor(parentName: string, network: number, dexHelper: IDexHelper, logger: Logger, poolConfig: PoolConfig, poolInterface: Interface);
12
+ getIdentifier(): string;
13
+ /**
14
+ * The function generates state using on-chain calls. This
15
+ * function is called to regenerate state if the event based
16
+ * system fails to fetch events and the local state is no
17
+ * more correct.
18
+ * @param blockNumber - Blocknumber for which the state should
19
+ * should be generated
20
+ * @returns state of the event subscriber at blocknumber
21
+ */
22
+ generateState(blockNumber: number): Promise<Readonly<PoolState>>;
23
+ }
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.InceptionEventPool = void 0;
4
+ const composed_event_subscriber_1 = require("../../composed-event-subscriber");
5
+ const lens_1 = require("../../lens");
6
+ const utils_1 = require("./utils");
7
+ const inception_price_feed_1 = require("./inception-price-feed");
8
+ class InceptionEventPool extends composed_event_subscriber_1.ComposedEventSubscriber {
9
+ constructor(parentName, network, dexHelper, logger, poolConfig, poolInterface) {
10
+ const ratioFeedEvent = new inception_price_feed_1.InceptionPriceFeed(poolConfig.ratioFeedAddress, network, (0, lens_1.lens)(), logger);
11
+ super(parentName, 'pool', logger, dexHelper, [ratioFeedEvent], poolConfig.initState);
12
+ this.network = network;
13
+ this.dexHelper = dexHelper;
14
+ this.poolConfig = poolConfig;
15
+ this.poolInterface = poolInterface;
16
+ }
17
+ getIdentifier() {
18
+ return `${this.parentName}_${this.poolConfig.ratioFeedAddress}`.toLowerCase();
19
+ }
20
+ /**
21
+ * The function generates state using on-chain calls. This
22
+ * function is called to regenerate state if the event based
23
+ * system fails to fetch events and the local state is no
24
+ * more correct.
25
+ * @param blockNumber - Blocknumber for which the state should
26
+ * should be generated
27
+ * @returns state of the event subscriber at blocknumber
28
+ */
29
+ async generateState(blockNumber) {
30
+ return (0, utils_1.getOnChainState)(this.dexHelper.multiContract, this.poolInterface, this.network, blockNumber);
31
+ }
32
+ }
33
+ exports.InceptionEventPool = InceptionEventPool;
34
+ //# sourceMappingURL=inception-event-pool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inception-event-pool.js","sourceRoot":"","sources":["../../../src/dex/inception/inception-event-pool.ts"],"names":[],"mappings":";;;AAEA,+EAA0E;AAE1E,qCAAkC;AAElC,mCAA0C;AAE1C,iEAA4D;AAE5D,MAAa,kBAAmB,SAAQ,mDAAkC;IACxE,YACE,UAAkB,EACR,OAAe,EACf,SAAqB,EAC/B,MAAc,EACP,UAAsB,EACtB,aAAwB;QAE/B,MAAM,cAAc,GAAG,IAAI,yCAAkB,CAC3C,UAAU,CAAC,gBAAgB,EAC3B,OAAO,EACP,IAAA,WAAI,GAA2B,EAC/B,MAAM,CACP,CAAC;QACF,KAAK,CACH,UAAU,EACV,MAAM,EACN,MAAM,EACN,SAAS,EACT,CAAC,cAAc,CAAC,EAChB,UAAU,CAAC,SAAS,CACrB,CAAC;QAnBQ,YAAO,GAAP,OAAO,CAAQ;QACf,cAAS,GAAT,SAAS,CAAY;QAExB,eAAU,GAAV,UAAU,CAAY;QACtB,kBAAa,GAAb,aAAa,CAAW;IAgBjC,CAAC;IAED,aAAa;QACX,OAAO,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,gBAAgB,EAAE,CAAC,WAAW,EAAE,CAAC;IAChF,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,aAAa,CAAC,WAAmB;QACrC,OAAO,IAAA,uBAAe,EACpB,IAAI,CAAC,SAAS,CAAC,aAAa,EAC5B,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,OAAO,EACZ,WAAW,CACZ,CAAC;IACJ,CAAC;CACF;AA9CD,gDA8CC"}
@@ -0,0 +1,19 @@
1
+ import { Interface } from '@ethersproject/abi';
2
+ import { DeepReadonly } from 'ts-essentials';
3
+ import { PartialEventSubscriber } from '../../composed-event-subscriber';
4
+ import { Address, BlockHeader, Log, Logger, MultiCallInput, MultiCallOutput } from '../../types';
5
+ import { Lens } from '../../lens';
6
+ import { PoolState } from './types';
7
+ import { Network } from '../../constants';
8
+ export declare class InceptionPriceFeed<State> extends PartialEventSubscriber<State, PoolState> {
9
+ private ratioFeedAddress;
10
+ private network;
11
+ protected ratioFeedInterface: Interface;
12
+ constructor(ratioFeedAddress: Address, network: Network, lens: Lens<DeepReadonly<State>, DeepReadonly<PoolState>>, logger: Logger);
13
+ getRatio(state: DeepReadonly<State>): {
14
+ readonly ratio: bigint;
15
+ };
16
+ processLog(state: DeepReadonly<PoolState>, log: Readonly<Log>, blockHeader: Readonly<BlockHeader>): DeepReadonly<PoolState> | null;
17
+ getGenerateStateMultiCallInputs(): MultiCallInput[];
18
+ generateState(multicallOutputs: MultiCallOutput[], blockNumber?: number | 'latest'): DeepReadonly<PoolState>;
19
+ }
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.InceptionPriceFeed = void 0;
7
+ const lodash_1 = __importDefault(require("lodash"));
8
+ const abi_1 = require("@ethersproject/abi");
9
+ const composed_event_subscriber_1 = require("../../composed-event-subscriber");
10
+ const inception_ratio_feed_json_1 = __importDefault(require("../../abi/inception/inception-ratio-feed.json"));
11
+ const tokens_1 = require("./tokens");
12
+ class InceptionPriceFeed extends composed_event_subscriber_1.PartialEventSubscriber {
13
+ constructor(ratioFeedAddress, network, lens, logger) {
14
+ super([ratioFeedAddress], lens, logger);
15
+ this.ratioFeedAddress = ratioFeedAddress;
16
+ this.network = network;
17
+ this.ratioFeedInterface = new abi_1.Interface(inception_ratio_feed_json_1.default);
18
+ }
19
+ getRatio(state) {
20
+ return this.lens.get()(state).ratio;
21
+ }
22
+ processLog(state, log, blockHeader) {
23
+ try {
24
+ const parsed = this.ratioFeedInterface.parseLog(log);
25
+ const _state = lodash_1.default.cloneDeep(state);
26
+ switch (parsed.name) {
27
+ case 'RatioUpdated': {
28
+ const tokenInfo = (0, tokens_1.getTokenFromAddress)(this.network, parsed.args[0]);
29
+ _state[tokenInfo.symbol.toLowerCase()] = {
30
+ ratio: BigInt(parsed.args[2].toString()),
31
+ };
32
+ return _state;
33
+ }
34
+ default:
35
+ return null;
36
+ }
37
+ }
38
+ catch (e) {
39
+ this.logger.error('Failed to parse log', e);
40
+ return null;
41
+ }
42
+ }
43
+ getGenerateStateMultiCallInputs() {
44
+ return [];
45
+ }
46
+ generateState(multicallOutputs, blockNumber) {
47
+ return {};
48
+ }
49
+ }
50
+ exports.InceptionPriceFeed = InceptionPriceFeed;
51
+ //# sourceMappingURL=inception-price-feed.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inception-price-feed.js","sourceRoot":"","sources":["../../../src/dex/inception/inception-price-feed.ts"],"names":[],"mappings":";;;;;;AAAA,oDAAuB;AACvB,4CAA+C;AAE/C,+EAAyE;AAWzE,8GAAiF;AACjF,qCAA+C;AAG/C,MAAa,kBAA0B,SAAQ,kDAG9C;IAEC,YACU,gBAAyB,EACzB,OAAgB,EACxB,IAAwD,EACxD,MAAc;QAEd,KAAK,CAAC,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QALhC,qBAAgB,GAAhB,gBAAgB,CAAS;QACzB,YAAO,GAAP,OAAO,CAAS;QAHhB,uBAAkB,GAAc,IAAI,eAAS,CAAC,mCAAoB,CAAC,CAAC;IAQ9E,CAAC;IAED,QAAQ,CAAC,KAA0B;QACjC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC;IACtC,CAAC;IAEM,UAAU,CACf,KAA8B,EAC9B,GAAkB,EAClB,WAAkC;QAElC,IAAI;YACF,MAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YACrD,MAAM,MAAM,GAAc,gBAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YAC7C,QAAQ,MAAM,CAAC,IAAI,EAAE;gBACnB,KAAK,cAAc,CAAC,CAAC;oBACnB,MAAM,SAAS,GAAG,IAAA,4BAAmB,EAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;oBACpE,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,GAAG;wBACvC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;qBACzC,CAAC;oBACF,OAAO,MAAM,CAAC;iBACf;gBACD;oBACE,OAAO,IAAI,CAAC;aACf;SACF;QAAC,OAAO,CAAC,EAAE;YACV,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,qBAAqB,EAAE,CAAC,CAAC,CAAC;YAC5C,OAAO,IAAI,CAAC;SACb;IACH,CAAC;IAEM,+BAA+B;QACpC,OAAO,EAAE,CAAC;IACZ,CAAC;IAEM,aAAa,CAClB,gBAAmC,EACnC,WAA+B;QAE/B,OAAO,EAAE,CAAC;IACZ,CAAC;CACF;AArDD,gDAqDC"}
@@ -5,18 +5,17 @@ import { AdapterExchangeParam, Address, DexExchangeParam, ExchangePrices, Logger
5
5
  import { Network } from '../../constants';
6
6
  import { IDex } from '../../dex/idex';
7
7
  import { IDexHelper } from '../../dex-helper/idex-helper';
8
- import { InceptionData } from './types';
8
+ import { DexParams, InceptionDexData, PoolState } from './types';
9
9
  import { SimpleExchange } from '../simple-exchange';
10
- import { InceptionPool } from './inception-pool';
11
- export declare const depositETHFunction = "deposit";
12
- export declare class Inception extends SimpleExchange implements IDex<InceptionData> {
10
+ import { InceptionEventPool } from './inception-event-pool';
11
+ export declare class Inception extends SimpleExchange implements IDex<InceptionDexData> {
13
12
  readonly network: Network;
14
13
  readonly dexKey: string;
15
14
  readonly dexHelper: IDexHelper;
16
- protected config: import("./types").DexParams;
15
+ protected config: DexParams[];
17
16
  protected adapters: import("../../types").AdapterMappings;
18
- protected inceptionPool: InceptionPool;
19
17
  protected vaultInterface: Interface;
18
+ protected poolInterface: Interface;
20
19
  readonly hasConstantPriceLargeAmounts = false;
21
20
  readonly needWrapNative = false;
22
21
  readonly isFeeOnTransferSupported = false;
@@ -25,17 +24,20 @@ export declare class Inception extends SimpleExchange implements IDex<InceptionD
25
24
  networks: Network[];
26
25
  }[];
27
26
  logger: Logger;
28
- constructor(network: Network, dexKey: string, dexHelper: IDexHelper, config?: import("./types").DexParams, adapters?: import("../../types").AdapterMappings);
27
+ private eventPool;
28
+ constructor(network: Network, dexKey: string, dexHelper: IDexHelper, config?: DexParams[], adapters?: import("../../types").AdapterMappings);
29
29
  initializePricing(blockNumber: number): Promise<void>;
30
+ initializeTokens(): Promise<void>;
30
31
  getAdapters(side: SwapSide): {
31
32
  name: string;
32
33
  index: number;
33
34
  }[] | null;
34
35
  getPoolIdentifiers(srcToken: Token, destToken: Token, side: SwapSide, blockNumber: number): Promise<string[]>;
35
- getPricesVolume(srcToken: Token, destToken: Token, amounts: bigint[], side: SwapSide, blockNumber: number, limitPools?: string[]): Promise<null | ExchangePrices<InceptionData>>;
36
- getCalldataGasCost(poolPrices: PoolPrices<InceptionData>): number | number[];
37
- getAdapterParam(srcToken: string, destToken: string, srcAmount: string, destAmount: string, data: InceptionData, side: SwapSide): AdapterExchangeParam;
38
- getDexParam(srcToken: Address, destToken: Address, srcAmount: NumberAsString, destAmount: NumberAsString, recipient: Address, data: InceptionData, side: SwapSide): DexExchangeParam;
36
+ getPoolState(pool: InceptionEventPool, blockNumber: number): Promise<PoolState>;
37
+ getPricesVolume(srcToken: Token, destToken: Token, amounts: bigint[], side: SwapSide, blockNumber: number, limitPools?: string[]): Promise<null | ExchangePrices<InceptionDexData>>;
38
+ getCalldataGasCost(poolPrices: PoolPrices<InceptionDexData>): number | number[];
39
+ getAdapterParam(): AdapterExchangeParam;
40
+ getDexParam(srcToken: Address, destToken: Address, srcAmount: NumberAsString, destAmount: NumberAsString, recipient: Address, data: InceptionDexData, side: SwapSide): DexExchangeParam;
39
41
  updatePoolState(): Promise<void>;
40
42
  getTopPoolsForToken(tokenAddress: Address, limit: number): Promise<PoolLiquidity[]>;
41
43
  releaseResources(): AsyncOrSync<void>;
@@ -26,18 +26,19 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
26
26
  return (mod && mod.__esModule) ? mod : { "default": mod };
27
27
  };
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.Inception = exports.depositETHFunction = void 0;
29
+ exports.Inception = void 0;
30
30
  const abi_1 = require("@ethersproject/abi");
31
31
  const inception_vault_json_1 = __importDefault(require("../../abi/inception/inception-vault.json"));
32
+ const inception_ineth_pool_json_1 = __importDefault(require("../../abi/inception/inception-ineth-pool.json"));
32
33
  const constants_1 = require("../../constants");
33
34
  const CALLDATA_GAS_COST = __importStar(require("../../calldata-gas-cost"));
34
35
  const utils_1 = require("../../utils");
35
36
  const simple_exchange_1 = require("../simple-exchange");
36
37
  const config_1 = require("./config");
37
- const inception_pool_1 = require("./inception-pool");
38
- const ethers_1 = require("ethers");
39
- const bigint_constants_1 = require("../../bigint-constants");
40
- exports.depositETHFunction = 'deposit';
38
+ const tokens_1 = require("./tokens");
39
+ const utils_2 = require("./utils");
40
+ const inception_event_pool_1 = require("./inception-event-pool");
41
+ const DECIMALS = BigInt(1e18);
41
42
  class Inception extends simple_exchange_1.SimpleExchange {
42
43
  constructor(network, dexKey, dexHelper, config = config_1.InceptionConfig[dexKey][network], adapters = config_1.Adapters[network] || {}) {
43
44
  super(dexHelper, dexKey);
@@ -51,56 +52,72 @@ class Inception extends simple_exchange_1.SimpleExchange {
51
52
  this.isFeeOnTransferSupported = false;
52
53
  this.logger = dexHelper.getLogger(dexKey);
53
54
  this.vaultInterface = new abi_1.Interface(inception_vault_json_1.default);
54
- this.inceptionPool = new inception_pool_1.InceptionPool(this.dexKey, network, dexHelper, this.logger, this.config.vault, this.vaultInterface);
55
+ this.poolInterface = new abi_1.Interface(inception_ineth_pool_json_1.default);
56
+ this.eventPool = new inception_event_pool_1.InceptionEventPool(dexKey, network, dexHelper, this.logger, {
57
+ ratioFeedAddress: config_1.InceptionPricePoolConfig[dexKey][network].ratioFeed,
58
+ initState: {},
59
+ }, this.poolInterface);
55
60
  }
56
61
  async initializePricing(blockNumber) {
57
- const data = await this.dexHelper.multiContract.methods
58
- .aggregate([
59
- {
60
- target: this.config.vault,
61
- callData: this.vaultInterface.encodeFunctionData('ratio', []),
62
- },
63
- ])
64
- .call({}, blockNumber);
65
- const decodedData = data.returnData.map(d => ethers_1.ethers.utils.defaultAbiCoder.decode(['uint256'], d));
66
- const [ratio] = decodedData.map(d => BigInt(d[0].toString()));
67
- await Promise.all([
68
- this.inceptionPool.initialize(blockNumber, {
69
- state: { ratio },
70
- }),
71
- ]);
62
+ const poolState = await (0, utils_2.getOnChainState)(this.dexHelper.multiContract, this.vaultInterface, this.network, blockNumber);
63
+ await this.eventPool.initialize(blockNumber, {
64
+ state: poolState,
65
+ });
66
+ await this.initializeTokens();
67
+ }
68
+ async initializeTokens() {
69
+ let tokenList = await (0, utils_2.getTokenList)(this.network);
70
+ (0, tokens_1.setTokensOnNetwork)(this.network, tokenList);
72
71
  }
73
72
  getAdapters(side) {
74
- return this.adapters[side] ? this.adapters[side] : null;
73
+ return null;
75
74
  }
76
75
  async getPoolIdentifiers(srcToken, destToken, side, blockNumber) {
77
- return [`${srcToken.address}_${destToken.address}`.toLowerCase()];
76
+ return [
77
+ this.dexKey +
78
+ '-' +
79
+ [srcToken.address.toLowerCase(), destToken.address.toLowerCase()]
80
+ .sort((a, b) => (a > b ? 1 : -1))
81
+ .join('_'),
82
+ ];
83
+ }
84
+ async getPoolState(pool, blockNumber) {
85
+ const eventState = pool.getState(blockNumber);
86
+ if (eventState)
87
+ return eventState;
88
+ const onChainState = await pool.generateState(blockNumber);
89
+ pool.setState(onChainState, blockNumber);
90
+ return onChainState;
78
91
  }
79
92
  async getPricesVolume(srcToken, destToken, amounts, side, blockNumber, limitPools) {
80
- const pool = this.inceptionPool;
81
- if (!pool.getState(blockNumber))
93
+ const src = (0, tokens_1.getTokenFromAddress)(this.network, srcToken.address);
94
+ const dest = (0, tokens_1.getTokenFromAddress)(this.network, destToken.address);
95
+ if (src !== dest) {
96
+ return null;
97
+ }
98
+ const poolState = await this.getPoolState(this.eventPool, blockNumber);
99
+ if (!poolState)
82
100
  return null;
83
- const unitIn = bigint_constants_1.BI_POWS[18];
84
- const unitOut = pool.getPrice(blockNumber, unitIn);
85
- const amountsOut = amounts.map(amountIn => pool.getPrice(blockNumber, amountIn));
86
101
  return [
87
102
  {
88
- prices: amountsOut,
89
- unit: unitOut,
103
+ prices: amounts.map(amount => {
104
+ const ratio = poolState[src.symbol.toLowerCase()].ratio;
105
+ return (ratio * amount) / DECIMALS;
106
+ }),
107
+ unit: DECIMALS,
108
+ gasCost: 120000,
109
+ exchange: this.dexKey,
90
110
  data: {
91
- ratio: unitOut,
111
+ exchange: dest.vault,
92
112
  },
93
- exchange: this.dexKey,
94
- poolIdentifier: `${srcToken.address}_${destToken.address}`.toLowerCase(),
95
- gasCost: 120000,
96
- poolAddresses: [this.config.vault],
113
+ poolAddresses: [src.token.toLowerCase()],
97
114
  },
98
115
  ];
99
116
  }
100
117
  getCalldataGasCost(poolPrices) {
101
118
  return CALLDATA_GAS_COST.DEX_OVERHEAD + CALLDATA_GAS_COST.LENGTH_SMALL;
102
119
  }
103
- getAdapterParam(srcToken, destToken, srcAmount, destAmount, data, side) {
120
+ getAdapterParam() {
104
121
  return {
105
122
  targetExchange: constants_1.NULL_ADDRESS,
106
123
  payload: '0x',
@@ -108,17 +125,34 @@ class Inception extends simple_exchange_1.SimpleExchange {
108
125
  };
109
126
  }
110
127
  getDexParam(srcToken, destToken, srcAmount, destAmount, recipient, data, side) {
111
- const swapData = this.vaultInterface.encodeFunctionData(exports.depositETHFunction, [srcAmount, recipient]);
128
+ const dexParams = (0, tokens_1.getTokenFromAddress)(this.network, srcToken);
129
+ const isNative = dexParams.baseTokenSlug === 'ETH';
130
+ let swapData;
131
+ let dexFuncHasRecipient;
132
+ if (isNative) {
133
+ swapData = this.poolInterface.encodeFunctionData('stake()', []);
134
+ dexFuncHasRecipient = false;
135
+ }
136
+ else {
137
+ swapData = this.vaultInterface.encodeFunctionData('deposit', [
138
+ srcAmount,
139
+ recipient,
140
+ ]);
141
+ dexFuncHasRecipient = true;
142
+ }
112
143
  return {
113
- needWrapNative: this.needWrapNative,
114
- dexFuncHasRecipient: true,
144
+ needWrapNative: false,
145
+ dexFuncHasRecipient,
115
146
  exchangeData: swapData,
116
- targetExchange: this.config.vault,
147
+ targetExchange: dexParams.vault,
148
+ swappedAmountNotPresentInExchangeData: true,
117
149
  returnAmountPos: undefined,
118
150
  };
119
151
  }
120
152
  async updatePoolState() { }
121
153
  async getTopPoolsForToken(tokenAddress, limit) {
154
+ await this.initializeTokens();
155
+ // TODO: Implement
122
156
  return [];
123
157
  }
124
158
  releaseResources() { }
@@ -1 +1 @@
1
- {"version":3,"file":"inception.js","sourceRoot":"","sources":["../../../src/dex/inception/inception.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"inception.js","sourceRoot":"","sources":["../../../src/dex/inception/inception.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { Network } from '../../constants';
2
+ import { DexParams } from './types';
3
+ export declare const Tokens: {
4
+ [network: number]: {
5
+ [symbol: string]: DexParams;
6
+ };
7
+ };
8
+ export declare function setTokensOnNetwork(network: Network, tokens: DexParams[]): void;
9
+ export declare function getTokenFromAddress(network: Network, address: string): DexParams;
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getTokenFromAddress = exports.setTokensOnNetwork = exports.Tokens = void 0;
4
+ exports.Tokens = {};
5
+ const TokensByAddress = {};
6
+ function setTokensOnNetwork(network, tokens) {
7
+ if (exports.Tokens[network] === undefined) {
8
+ exports.Tokens[network] = {};
9
+ }
10
+ if (TokensByAddress[network] === undefined) {
11
+ TokensByAddress[network] = {};
12
+ }
13
+ for (let token of tokens) {
14
+ token.vault = token.vault.toLowerCase();
15
+ token.token = token.token.toLowerCase();
16
+ token.baseToken = token.baseToken.toLowerCase();
17
+ exports.Tokens[network][token.symbol] = token;
18
+ TokensByAddress[network][token.vault] = token;
19
+ TokensByAddress[network][token.token] = token;
20
+ TokensByAddress[network][token.baseToken] = token;
21
+ }
22
+ }
23
+ exports.setTokensOnNetwork = setTokensOnNetwork;
24
+ function getTokenFromAddress(network, address) {
25
+ return TokensByAddress[network]?.[address.toLowerCase()];
26
+ }
27
+ exports.getTokenFromAddress = getTokenFromAddress;
28
+ //# sourceMappingURL=tokens.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokens.js","sourceRoot":"","sources":["../../../src/dex/inception/tokens.ts"],"names":[],"mappings":";;;AAGa,QAAA,MAAM,GACjB,EAAE,CAAC;AAEL,MAAM,eAAe,GAEjB,EAAE,CAAC;AAEP,SAAgB,kBAAkB,CAAC,OAAgB,EAAE,MAAmB;IACtE,IAAI,cAAM,CAAC,OAAO,CAAC,KAAK,SAAS,EAAE;QACjC,cAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;KACtB;IAED,IAAI,eAAe,CAAC,OAAO,CAAC,KAAK,SAAS,EAAE;QAC1C,eAAe,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;KAC/B;IAED,KAAK,IAAI,KAAK,IAAI,MAAM,EAAE;QACxB,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;QACxC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;QACxC,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;QAEhD,cAAM,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC;QACtC,eAAe,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;QAC9C,eAAe,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;QAC9C,eAAe,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC;KACnD;AACH,CAAC;AAnBD,gDAmBC;AAED,SAAgB,mBAAmB,CACjC,OAAgB,EAChB,OAAe;IAEf,OAAO,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;AAC3D,CAAC;AALD,kDAKC"}
@@ -1,11 +1,22 @@
1
1
  export declare type PoolState = {
2
- ratio: bigint;
2
+ [symbol: string]: {
3
+ ratio: bigint;
4
+ };
3
5
  };
4
- export declare type InceptionData = {
5
- ratio: bigint;
6
+ export declare type PoolConfig = {
7
+ ratioFeedAddress: string;
8
+ initState: PoolState;
9
+ };
10
+ export declare type InceptionDexData = {
11
+ exchange: string;
6
12
  };
7
13
  export declare type DexParams = {
14
+ symbol: string;
8
15
  vault: string;
9
- token?: string;
16
+ token: string;
17
+ baseToken: string;
10
18
  baseTokenSlug: string;
11
19
  };
20
+ export declare type PricePoolParams = {
21
+ ratioFeed: string;
22
+ };
@@ -1,4 +1,7 @@
1
1
  import { Contract } from 'web3-eth-contract';
2
- import { PoolState } from './types';
2
+ import { DexParams, PoolState } from './types';
3
3
  import { Interface } from '@ethersproject/abi';
4
- export declare function getOnChainRatio(multiContract: Contract, vaultAddress: string, poolInterface: Interface, blockNumber: number | 'latest'): Promise<PoolState>;
4
+ import { Network } from '../../constants';
5
+ export declare function getOnChainRatio(multiContract: Contract, poolInterface: Interface, network: Network, p: DexParams, blockNumber: number | 'latest'): Promise<bigint>;
6
+ export declare function getOnChainState(multiContract: Contract, poolInterface: Interface, network: Network, blockNumber: number | 'latest'): Promise<PoolState>;
7
+ export declare const getTokenList: (network: Network) => Promise<DexParams[]>;
@@ -1,22 +1,58 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getOnChainRatio = void 0;
3
+ exports.getTokenList = exports.getOnChainState = exports.getOnChainRatio = void 0;
4
4
  const abi_1 = require("@ethersproject/abi");
5
+ const config_1 = require("./config");
5
6
  const coder = new abi_1.AbiCoder();
6
- async function getOnChainRatio(multiContract, vaultAddress, poolInterface, blockNumber) {
7
+ async function getOnChainRatio(multiContract, poolInterface, network, p, blockNumber) {
8
+ let addr;
9
+ if (p.baseTokenSlug === 'ETH') {
10
+ addr = p.token;
11
+ }
12
+ else {
13
+ addr = p.vault;
14
+ }
7
15
  const data = await multiContract.methods
8
16
  .aggregate([
9
17
  {
10
- target: vaultAddress,
18
+ target: addr,
11
19
  callData: poolInterface.encodeFunctionData('ratio', []),
12
20
  },
13
21
  ])
14
22
  .call({}, blockNumber);
15
23
  const decodedData = coder.decode(['uint256'], data.returnData[0]);
16
24
  const ratio = BigInt(decodedData[0].toString());
17
- return {
18
- ratio,
19
- };
25
+ return ratio;
20
26
  }
21
27
  exports.getOnChainRatio = getOnChainRatio;
28
+ async function getOnChainState(multiContract, poolInterface, network, blockNumber) {
29
+ let tokenList = await (0, exports.getTokenList)(network);
30
+ const state = {};
31
+ for (const p of tokenList) {
32
+ let addr;
33
+ if (p.baseTokenSlug === 'ETH') {
34
+ addr = p.token;
35
+ }
36
+ else {
37
+ addr = p.vault;
38
+ }
39
+ const data = await multiContract.methods
40
+ .aggregate([
41
+ {
42
+ target: addr,
43
+ callData: poolInterface.encodeFunctionData('ratio', []),
44
+ },
45
+ ])
46
+ .call({}, blockNumber);
47
+ const decodedData = coder.decode(['uint256'], data.returnData[0]);
48
+ const ratio = BigInt(decodedData[0].toString());
49
+ state[p.symbol.toLowerCase()] = { ratio };
50
+ }
51
+ return state;
52
+ }
53
+ exports.getOnChainState = getOnChainState;
54
+ const getTokenList = async (network) => {
55
+ return config_1.InceptionConfig['InceptionLRT'][network];
56
+ };
57
+ exports.getTokenList = getTokenList;
22
58
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/dex/inception/utils.ts"],"names":[],"mappings":";;;AAEA,4CAAyD;AAEzD,MAAM,KAAK,GAAG,IAAI,cAAQ,EAAE,CAAC;AAEtB,KAAK,UAAU,eAAe,CACnC,aAAuB,EACvB,YAAoB,EACpB,aAAwB,EACxB,WAA8B;IAE9B,MAAM,IAAI,GAA0B,MAAM,aAAa,CAAC,OAAO;SAC5D,SAAS,CAAC;QACT;YACE,MAAM,EAAE,YAAY;YACpB,QAAQ,EAAE,aAAa,CAAC,kBAAkB,CAAC,OAAO,EAAE,EAAE,CAAC;SACxD;KACF,CAAC;SACD,IAAI,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;IAEzB,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IAElE,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;IAEhD,OAAO;QACL,KAAK;KACN,CAAC;AACJ,CAAC;AAtBD,0CAsBC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/dex/inception/utils.ts"],"names":[],"mappings":";;;AAEA,4CAAyD;AACzD,qCAA2C;AAG3C,MAAM,KAAK,GAAG,IAAI,cAAQ,EAAE,CAAC;AAEtB,KAAK,UAAU,eAAe,CACnC,aAAuB,EACvB,aAAwB,EACxB,OAAgB,EAChB,CAAY,EACZ,WAA8B;IAE9B,IAAI,IAAI,CAAC;IACT,IAAI,CAAC,CAAC,aAAa,KAAK,KAAK,EAAE;QAC7B,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC;KAChB;SAAM;QACL,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC;KAChB;IACD,MAAM,IAAI,GAA0B,MAAM,aAAa,CAAC,OAAO;SAC5D,SAAS,CAAC;QACT;YACE,MAAM,EAAE,IAAI;YACZ,QAAQ,EAAE,aAAa,CAAC,kBAAkB,CAAC,OAAO,EAAE,EAAE,CAAC;SACxD;KACF,CAAC;SACD,IAAI,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;IAEzB,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IAClE,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;IAChD,OAAO,KAAK,CAAC;AACf,CAAC;AAzBD,0CAyBC;AAEM,KAAK,UAAU,eAAe,CACnC,aAAuB,EACvB,aAAwB,EACxB,OAAgB,EAChB,WAA8B;IAE9B,IAAI,SAAS,GAAG,MAAM,IAAA,oBAAY,EAAC,OAAO,CAAC,CAAC;IAC5C,MAAM,KAAK,GAAc,EAAE,CAAC;IAC5B,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE;QACzB,IAAI,IAAI,CAAC;QACT,IAAI,CAAC,CAAC,aAAa,KAAK,KAAK,EAAE;YAC7B,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC;SAChB;aAAM;YACL,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC;SAChB;QAED,MAAM,IAAI,GAAG,MAAM,aAAa,CAAC,OAAO;aACrC,SAAS,CAAC;YACT;gBACE,MAAM,EAAE,IAAI;gBACZ,QAAQ,EAAE,aAAa,CAAC,kBAAkB,CAAC,OAAO,EAAE,EAAE,CAAC;aACxD;SACF,CAAC;aACD,IAAI,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;QAEzB,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;QAClE,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;QAChD,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC;KAC3C;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AA/BD,0CA+BC;AAEM,MAAM,YAAY,GAAG,KAAK,EAAE,OAAgB,EAAwB,EAAE;IAC3E,OAAO,wBAAe,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,CAAC;AAClD,CAAC,CAAC;AAFW,QAAA,YAAY,gBAEvB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@paraswap/dex-lib",
3
- "version": "3.8.12-solidlyv3",
3
+ "version": "3.8.13",
4
4
  "main": "build/index.js",
5
5
  "types": "build/index.d.ts",
6
6
  "repository": "https://github.com/paraswap/paraswap-dex-lib",