@paraswap/dex-lib 2.37.5 → 2.37.6

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.
Files changed (129) hide show
  1. package/build/abi/quickPerps/fast-price-events.json +70 -0
  2. package/build/abi/quickPerps/fast-price-feed.json +748 -0
  3. package/build/abi/quickPerps/reader.json +313 -0
  4. package/build/abi/quickPerps/vault-price-feed.json +477 -0
  5. package/build/abi/quickPerps/vault.json +1953 -0
  6. package/build/abi/uniswap-v3/UniswapV3Quoter.abi.json +193 -0
  7. package/build/abi/uniswap-v3/pancakeswap-v3/PancakeswapV3QuoterV2.abi.json +285 -0
  8. package/build/abi/uniswap-v3/pancakeswap-v3/PancakeswapV3Router.abi.json +583 -0
  9. package/build/abi/woo-fi/WooFeeManager.abi.json +318 -0
  10. package/build/abi/woo-fi/WooPP.abi.json +548 -0
  11. package/build/abi/woo-fi/Wooracle.abi.json +260 -0
  12. package/build/dex/aave-v3/tokens/arbitrum.json +50 -0
  13. package/build/dex/aave-v3/tokens/avalanche.json +74 -0
  14. package/build/dex/aave-v3/tokens/fantom.json +62 -0
  15. package/build/dex/aave-v3/tokens/optimism.json +50 -0
  16. package/build/dex/aave-v3/tokens/polygon.json +116 -0
  17. package/build/dex/balancer-v2/LinearMath.d.ts +19 -0
  18. package/build/dex/balancer-v2/LinearMath.js +179 -0
  19. package/build/dex/balancer-v2/LinearMath.js.map +1 -0
  20. package/build/dex/balancer-v2/LinearPool.d.ts +47 -0
  21. package/build/dex/balancer-v2/LinearPool.js +324 -0
  22. package/build/dex/balancer-v2/LinearPool.js.map +1 -0
  23. package/build/dex/balancer-v2/PhantomStablePool.d.ts +47 -0
  24. package/build/dex/balancer-v2/PhantomStablePool.js +294 -0
  25. package/build/dex/balancer-v2/PhantomStablePool.js.map +1 -0
  26. package/build/dex/balancer-v2/StableMath.d.ts +9 -0
  27. package/build/dex/balancer-v2/StableMath.js +272 -0
  28. package/build/dex/balancer-v2/StableMath.js.map +1 -0
  29. package/build/dex/balancer-v2/balancer-v2-pool.d.ts +75 -0
  30. package/build/dex/balancer-v2/balancer-v2-pool.js +417 -0
  31. package/build/dex/balancer-v2/balancer-v2-pool.js.map +1 -0
  32. package/build/dex/maverick-v1/scripts/event-sequence.d.ts +1 -0
  33. package/build/dex/maverick-v1/scripts/event-sequence.js +110 -0
  34. package/build/dex/maverick-v1/scripts/event-sequence.js.map +1 -0
  35. package/build/dex/quickswap/camelot-v3.d.ts +6 -0
  36. package/build/dex/quickswap/camelot-v3.js +19 -0
  37. package/build/dex/quickswap/camelot-v3.js.map +1 -0
  38. package/build/dex/quickswap/zyberswap-v3.d.ts +6 -0
  39. package/build/dex/quickswap/zyberswap-v3.js +19 -0
  40. package/build/dex/quickswap/zyberswap-v3.js.map +1 -0
  41. package/build/dex/quickswap-v3.d.ts +21 -0
  42. package/build/dex/quickswap-v3.js +40 -0
  43. package/build/dex/quickswap-v3.js.map +1 -0
  44. package/build/dex/{my-test-dex → test-dex}/config.d.ts +1 -1
  45. package/build/dex/{hello → test-dex}/config.js +3 -3
  46. package/build/dex/test-dex/config.js.map +1 -0
  47. package/build/dex/{hello/hello-pool.d.ts → test-dex/test-dex-pool.d.ts} +4 -4
  48. package/build/dex/{hello/hello-pool.js → test-dex/test-dex-pool.js} +8 -9
  49. package/build/dex/test-dex/test-dex-pool.js.map +1 -0
  50. package/build/dex/{hello/hello.d.ts → test-dex/test-dex.d.ts} +8 -8
  51. package/build/dex/{hello/hello.js → test-dex/test-dex.js} +7 -7
  52. package/build/dex/test-dex/test-dex.js.map +1 -0
  53. package/build/dex/{hello → test-dex}/types.d.ts +1 -1
  54. package/build/dex/{my-test-dex → test-dex}/types.js.map +1 -1
  55. package/build/dex/uniswap-v3/forks/pancakeswap-v3/pancakeswap-v3.d.ts +12 -0
  56. package/build/dex/uniswap-v3/forks/pancakeswap-v3/pancakeswap-v3.js +23 -0
  57. package/build/dex/uniswap-v3/forks/pancakeswap-v3/pancakeswap-v3.js.map +1 -0
  58. package/build/dex/{hello → woo-fi}/config.d.ts +1 -1
  59. package/build/dex/woo-fi/config.js +141 -0
  60. package/build/dex/woo-fi/config.js.map +1 -0
  61. package/build/dex/woo-fi/constants.d.ts +5 -0
  62. package/build/dex/woo-fi/constants.js +20 -0
  63. package/build/dex/woo-fi/constants.js.map +1 -0
  64. package/build/dex/woo-fi/types.d.ts +48 -0
  65. package/build/dex/{hello → woo-fi}/types.js.map +1 -1
  66. package/build/dex/woo-fi/woo-fi-decimal-math.d.ts +14 -0
  67. package/build/dex/woo-fi/woo-fi-decimal-math.js +42 -0
  68. package/build/dex/woo-fi/woo-fi-decimal-math.js.map +1 -0
  69. package/build/dex/woo-fi/woo-fi-math.d.ts +31 -0
  70. package/build/dex/woo-fi/woo-fi-math.js +300 -0
  71. package/build/dex/woo-fi/woo-fi-math.js.map +1 -0
  72. package/build/dex/woo-fi/woo-fi.d.ts +65 -0
  73. package/build/dex/woo-fi/woo-fi.js +480 -0
  74. package/build/dex/woo-fi/woo-fi.js.map +1 -0
  75. package/build/dex/woo-fi-v2/woo-fi-math.d.ts +16 -0
  76. package/build/dex/woo-fi-v2/woo-fi-math.js +137 -0
  77. package/build/dex/woo-fi-v2/woo-fi-math.js.map +1 -0
  78. package/build/router/buy.d.ts +1 -1
  79. package/build/router/buy.js +3 -3
  80. package/build/router/buy.js.map +1 -1
  81. package/build/router/directswap.d.ts +1 -1
  82. package/build/router/directswap.js +3 -3
  83. package/build/router/directswap.js.map +1 -1
  84. package/build/router/irouter.d.ts +1 -1
  85. package/build/router/megaswap.d.ts +1 -1
  86. package/build/router/megaswap.js +3 -3
  87. package/build/router/megaswap.js.map +1 -1
  88. package/build/router/multiswap.d.ts +1 -1
  89. package/build/router/multiswap.js +3 -3
  90. package/build/router/multiswap.js.map +1 -1
  91. package/build/router/payload-encoder.d.ts +3 -3
  92. package/build/router/payload-encoder.js +6 -6
  93. package/build/router/payload-encoder.js.map +1 -1
  94. package/build/router/simpleswap.d.ts +2 -2
  95. package/build/router/simpleswap.js +3 -3
  96. package/build/router/simpleswap.js.map +1 -1
  97. package/build/router/simpleswapnft.d.ts +1 -1
  98. package/build/router/simpleswapnft.js +3 -3
  99. package/build/router/simpleswapnft.js.map +1 -1
  100. package/build/transaction-builder.d.ts +2 -2
  101. package/build/transaction-builder.js +2 -2
  102. package/build/transaction-builder.js.map +1 -1
  103. package/build/workers.d.ts +0 -0
  104. package/build/workers.js +2 -0
  105. package/build/workers.js.map +1 -0
  106. package/package.json +1 -1
  107. package/src/router/buy.ts +3 -7
  108. package/src/router/directswap.ts +3 -7
  109. package/src/router/irouter.ts +1 -1
  110. package/src/router/megaswap.ts +3 -7
  111. package/src/router/multiswap.ts +3 -7
  112. package/src/router/payload-encoder.ts +7 -7
  113. package/src/router/simpleswap.ts +4 -8
  114. package/src/router/simpleswapnft.ts +3 -7
  115. package/src/transaction-builder.ts +3 -3
  116. package/build/dex/hello/config.js.map +0 -1
  117. package/build/dex/hello/hello-pool.js.map +0 -1
  118. package/build/dex/hello/hello.js.map +0 -1
  119. package/build/dex/my-test-dex/config.js +0 -15
  120. package/build/dex/my-test-dex/config.js.map +0 -1
  121. package/build/dex/my-test-dex/my-test-dex-pool.d.ts +0 -39
  122. package/build/dex/my-test-dex/my-test-dex-pool.js +0 -64
  123. package/build/dex/my-test-dex/my-test-dex-pool.js.map +0 -1
  124. package/build/dex/my-test-dex/my-test-dex.d.ts +0 -37
  125. package/build/dex/my-test-dex/my-test-dex.js +0 -126
  126. package/build/dex/my-test-dex/my-test-dex.js.map +0 -1
  127. package/build/dex/my-test-dex/types.d.ts +0 -6
  128. /package/build/dex/{hello → test-dex}/types.js +0 -0
  129. /package/build/dex/{my-test-dex → woo-fi}/types.js +0 -0
@@ -0,0 +1,19 @@
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.CamelotV3 = void 0;
7
+ const lodash_1 = __importDefault(require("lodash"));
8
+ const config_1 = require("./config");
9
+ const quickswap_v3_1 = require("./quickswap-v3");
10
+ const config = lodash_1.default.pick(config_1.QuickSwapConfig, ['CamelotV3']).CamelotV3;
11
+ class CamelotV3 extends quickswap_v3_1.QuickSwapV3 {
12
+ // public static dexKeysWithNetwork
13
+ constructor(dexHelper) {
14
+ super(dexHelper, 'camelotv3', config[dexHelper.config.data.network].router);
15
+ }
16
+ }
17
+ exports.CamelotV3 = CamelotV3;
18
+ CamelotV3.dexKeys = ['camelotv3'];
19
+ //# sourceMappingURL=camelot-v3.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"camelot-v3.js","sourceRoot":"","sources":["../../../src/dex/quickswap/camelot-v3.ts"],"names":[],"mappings":";;;;;;AACA,oDAAuB;AACvB,qCAA2C;AAC3C,iDAA6C;AAE7C,MAAM,MAAM,GAAG,gBAAC,CAAC,IAAI,CAAC,wBAAe,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;AAEhE,MAAa,SAAU,SAAQ,0BAAW;IAGxC,mCAAmC;IACnC,YAAY,SAAqB;QAC/B,KAAK,CAAC,SAAS,EAAE,WAAW,EAAE,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC;IAC9E,CAAC;;AANH,8BAOC;AANQ,iBAAO,GAAG,CAAC,WAAW,CAAC,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { IDexHelper } from '../../dex-helper';
2
+ import { QuickSwapV3 } from './quickswap-v3';
3
+ export declare class ZyberSwapV3 extends QuickSwapV3 {
4
+ static dexKeys: string[];
5
+ constructor(dexHelper: IDexHelper);
6
+ }
@@ -0,0 +1,19 @@
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.ZyberSwapV3 = void 0;
7
+ const lodash_1 = __importDefault(require("lodash"));
8
+ const config_1 = require("./config");
9
+ const quickswap_v3_1 = require("./quickswap-v3");
10
+ const config = lodash_1.default.pick(config_1.QuickSwapConfig, ['ZyberSwapV3']).ZyberSwapV3;
11
+ class ZyberSwapV3 extends quickswap_v3_1.QuickSwapV3 {
12
+ // public static dexKeysWithNetwork
13
+ constructor(dexHelper) {
14
+ super(dexHelper, 'zyberswapv3', config[dexHelper.config.data.network].router);
15
+ }
16
+ }
17
+ exports.ZyberSwapV3 = ZyberSwapV3;
18
+ ZyberSwapV3.dexKeys = ['zyberswapv3'];
19
+ //# sourceMappingURL=zyberswap-v3.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zyberswap-v3.js","sourceRoot":"","sources":["../../../src/dex/quickswap/zyberswap-v3.ts"],"names":[],"mappings":";;;;;;AACA,oDAAuB;AACvB,qCAA2C;AAC3C,iDAA6C;AAE7C,MAAM,MAAM,GAAG,gBAAC,CAAC,IAAI,CAAC,wBAAe,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC;AAEpE,MAAa,WAAY,SAAQ,0BAAW;IAG1C,mCAAmC;IACnC,YAAY,SAAqB;QAC/B,KAAK,CACH,SAAS,EACT,aAAa,EACb,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,CAC7C,CAAC;IACJ,CAAC;;AAVH,kCAWC;AAVQ,mBAAO,GAAG,CAAC,aAAa,CAAC,CAAC"}
@@ -0,0 +1,21 @@
1
+ import { SwapSide } from '../constants';
2
+ import { Address } from '../types';
3
+ import { IDexTxBuilder } from './idex';
4
+ import { UniswapV3, UniswapV3Param } from './uniswap-v3';
5
+ import { IDexHelper } from '../dex-helper';
6
+ export declare type QuickSwapV3Data = {
7
+ deadline?: number;
8
+ path: {
9
+ tokenIn: Address;
10
+ tokenOut: Address;
11
+ }[];
12
+ };
13
+ export declare class QuickSwapV3 extends UniswapV3 implements IDexTxBuilder<QuickSwapV3Data, UniswapV3Param> {
14
+ static dexKeys: string[];
15
+ constructor(dexHelper: IDexHelper);
16
+ protected encodePath(path: {
17
+ tokenIn: Address;
18
+ tokenOut: Address;
19
+ fee: number;
20
+ }[], side: SwapSide): string;
21
+ }
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.QuickSwapV3 = void 0;
4
+ const constants_1 = require("../constants");
5
+ const uniswap_v3_1 = require("./uniswap-v3");
6
+ const solidity_1 = require("@ethersproject/solidity");
7
+ const QUICKSWAP_V3_ROUTER_ADDRESSES = {
8
+ [constants_1.Network.POLYGON]: '0xf5b509bb0909a69b1c207e495f687a596c168e12',
9
+ };
10
+ class QuickSwapV3 extends uniswap_v3_1.UniswapV3 {
11
+ constructor(dexHelper) {
12
+ super(dexHelper, 'quickswapv3', QUICKSWAP_V3_ROUTER_ADDRESSES[dexHelper.config.data.network]);
13
+ }
14
+ // override parent as QuickSwapV3 handles fees dynamically.
15
+ encodePath(path, side) {
16
+ if (path.length === 0) {
17
+ return '0x';
18
+ }
19
+ const { _path, types } = path.reduce(({ _path, types }, curr, index) => {
20
+ if (index === 0) {
21
+ return {
22
+ types: ['address', 'address'],
23
+ _path: [curr.tokenIn, curr.tokenOut],
24
+ };
25
+ }
26
+ else {
27
+ return {
28
+ types: [...types, 'address'],
29
+ _path: [..._path, curr.tokenOut],
30
+ };
31
+ }
32
+ }, { _path: [], types: [] });
33
+ return side === constants_1.SwapSide.BUY
34
+ ? (0, solidity_1.pack)(types.reverse(), _path.reverse())
35
+ : (0, solidity_1.pack)(types, _path);
36
+ }
37
+ }
38
+ exports.QuickSwapV3 = QuickSwapV3;
39
+ QuickSwapV3.dexKeys = ['quickswapv3'];
40
+ //# sourceMappingURL=quickswap-v3.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"quickswap-v3.js","sourceRoot":"","sources":["../../src/dex/quickswap-v3.ts"],"names":[],"mappings":";;;AAAA,4CAAiD;AAIjD,6CAAyD;AACzD,sDAA+C;AAG/C,MAAM,6BAA6B,GAAmC;IACpE,CAAC,mBAAO,CAAC,OAAO,CAAC,EAAE,4CAA4C;CAChE,CAAC;AAWF,MAAa,WACX,SAAQ,sBAAS;IAKjB,YAAY,SAAqB;QAC/B,KAAK,CACH,SAAS,EACT,aAAa,EACb,6BAA6B,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAC7D,CAAC;IACJ,CAAC;IAED,2DAA2D;IACjD,UAAU,CAClB,IAIG,EACH,IAAc;QAEd,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;YACrB,OAAO,IAAI,CAAC;SACb;QAED,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,MAAM,CAClC,CACE,EAAE,KAAK,EAAE,KAAK,EAAwC,EACtD,IAAI,EACJ,KAAK,EACiC,EAAE;YACxC,IAAI,KAAK,KAAK,CAAC,EAAE;gBACf,OAAO;oBACL,KAAK,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC;oBAC7B,KAAK,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC;iBACrC,CAAC;aACH;iBAAM;gBACL,OAAO;oBACL,KAAK,EAAE,CAAC,GAAG,KAAK,EAAE,SAAS,CAAC;oBAC5B,KAAK,EAAE,CAAC,GAAG,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC;iBACjC,CAAC;aACH;QACH,CAAC,EACD,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CACzB,CAAC;QAEF,OAAO,IAAI,KAAK,oBAAQ,CAAC,GAAG;YAC1B,CAAC,CAAC,IAAA,eAAI,EAAC,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;YACxC,CAAC,CAAC,IAAA,eAAI,EAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACzB,CAAC;;AAnDH,kCAoDC;AAhDQ,mBAAO,GAAG,CAAC,aAAa,CAAC,CAAC"}
@@ -1,4 +1,4 @@
1
1
  import { DexParams } from './types';
2
2
  import { DexConfigMap, AdapterMappings } from '../../types';
3
- export declare const MyTestDexConfig: DexConfigMap<DexParams>;
3
+ export declare const TestDexConfig: DexConfigMap<DexParams>;
4
4
  export declare const Adapters: Record<number, AdapterMappings>;
@@ -1,9 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Adapters = exports.HelloConfig = void 0;
3
+ exports.Adapters = exports.TestDexConfig = void 0;
4
4
  const constants_1 = require("../../constants");
5
- exports.HelloConfig = {
6
- Hello: {
5
+ exports.TestDexConfig = {
6
+ TestDex: {
7
7
  // TODO: complete me!
8
8
  },
9
9
  };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/dex/test-dex/config.ts"],"names":[],"mappings":";;;AAEA,+CAAoD;AAEvC,QAAA,aAAa,GAA4B;IACpD,OAAO,EAAE;IACP,qBAAqB;KACtB;CACF,CAAC;AAEW,QAAA,QAAQ,GAAoC;IACvD,oCAAoC;IACpC,6BAA6B;IAC7B,CAAC,mBAAO,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,oBAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE;CACjE,CAAC"}
@@ -4,17 +4,17 @@ import { Log, Logger } from '../../types';
4
4
  import { StatefulEventSubscriber } from '../../stateful-event-subscriber';
5
5
  import { IDexHelper } from '../../dex-helper/idex-helper';
6
6
  import { PoolState } from './types';
7
- export declare class HelloEventPool extends StatefulEventSubscriber<PoolState> {
8
- readonly parentName: string;
7
+ export declare class TestDexEventPool extends StatefulEventSubscriber<PoolState> {
8
+ protected parentName: string;
9
9
  protected network: number;
10
10
  protected dexHelper: IDexHelper;
11
- protected helloIface: Interface;
11
+ protected testDexIface: Interface;
12
12
  handlers: {
13
13
  [event: string]: (event: any, state: DeepReadonly<PoolState>, log: Readonly<Log>) => DeepReadonly<PoolState> | null;
14
14
  };
15
15
  logDecoder: (log: Log) => any;
16
16
  addressesSubscribed: string[];
17
- constructor(parentName: string, network: number, dexHelper: IDexHelper, logger: Logger, helloIface?: Interface);
17
+ constructor(parentName: string, network: number, dexHelper: IDexHelper, logger: Logger, testDexIface?: Interface);
18
18
  /**
19
19
  * The function is called every time any of the subscribed
20
20
  * addresses release log. The function accepts the current
@@ -1,20 +1,19 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.HelloEventPool = void 0;
3
+ exports.TestDexEventPool = void 0;
4
4
  const abi_1 = require("@ethersproject/abi");
5
5
  const utils_1 = require("../../utils");
6
6
  const stateful_event_subscriber_1 = require("../../stateful-event-subscriber");
7
- class HelloEventPool extends stateful_event_subscriber_1.StatefulEventSubscriber {
8
- constructor(parentName, network, dexHelper, logger, helloIface = new abi_1.Interface('' /* TODO: Import and put here Hello ABI */)) {
9
- // TODO: Add pool name
10
- super(parentName, 'POOL_NAME', dexHelper, logger);
7
+ class TestDexEventPool extends stateful_event_subscriber_1.StatefulEventSubscriber {
8
+ constructor(parentName, network, dexHelper, logger, testDexIface = new abi_1.Interface('' /* TODO: Import and put here TestDex ABI */)) {
9
+ super(parentName, logger);
11
10
  this.parentName = parentName;
12
11
  this.network = network;
13
12
  this.dexHelper = dexHelper;
14
- this.helloIface = helloIface;
13
+ this.testDexIface = testDexIface;
15
14
  this.handlers = {};
16
15
  // TODO: make logDecoder decode logs that
17
- this.logDecoder = (log) => this.helloIface.parseLog(log);
16
+ this.logDecoder = (log) => this.testDexIface.parseLog(log);
18
17
  this.addressesSubscribed = [
19
18
  /* subscribed addresses */
20
19
  ];
@@ -60,5 +59,5 @@ class HelloEventPool extends stateful_event_subscriber_1.StatefulEventSubscriber
60
59
  return null;
61
60
  }
62
61
  }
63
- exports.HelloEventPool = HelloEventPool;
64
- //# sourceMappingURL=hello-pool.js.map
62
+ exports.TestDexEventPool = TestDexEventPool;
63
+ //# sourceMappingURL=test-dex-pool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-dex-pool.js","sourceRoot":"","sources":["../../../src/dex/test-dex/test-dex-pool.ts"],"names":[],"mappings":";;;AAAA,4CAA+C;AAG/C,uCAAiD;AACjD,+EAA0E;AAI1E,MAAa,gBAAiB,SAAQ,mDAAkC;IAWtE,YACY,UAAkB,EAClB,OAAe,EACf,SAAqB,EAC/B,MAAc,EACJ,eAAe,IAAI,eAAS,CACpC,EAAE,CAAC,2CAA2C,CAC/C;QAED,KAAK,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QARhB,eAAU,GAAV,UAAU,CAAQ;QAClB,YAAO,GAAP,OAAO,CAAQ;QACf,cAAS,GAAT,SAAS,CAAY;QAErB,iBAAY,GAAZ,YAAY,CAErB;QAjBH,aAAQ,GAIJ,EAAE,CAAC;QAiBL,yCAAyC;QACzC,IAAI,CAAC,UAAU,GAAG,CAAC,GAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAChE,IAAI,CAAC,mBAAmB,GAAG;QACzB,0BAA0B;SAC3B,CAAC;QAEF,eAAe;QACf,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3D,CAAC;IAED;;;;;;;;OAQG;IACO,UAAU,CAClB,KAA8B,EAC9B,GAAkB;QAElB,IAAI;YACF,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;YACnC,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,EAAE;gBAC/B,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;aACrD;SACF;QAAC,OAAO,CAAC,EAAE;YACV,IAAA,0BAAkB,EAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;SACpC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,aAAa,CAAC,WAAmB;QACrC,qBAAqB;QACrB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,2BAA2B;IAC3B,aAAa,CACX,KAAU,EACV,KAA8B,EAC9B,GAAkB;QAElB,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AA/ED,4CA+EC"}
@@ -3,15 +3,15 @@ import { Token, Address, ExchangePrices, PoolPrices, AdapterExchangeParam, Simpl
3
3
  import { SwapSide, Network } from '../../constants';
4
4
  import { IDex } from '../../dex/idex';
5
5
  import { IDexHelper } from '../../dex-helper/idex-helper';
6
- import { HelloData } from './types';
6
+ import { TestDexData } from './types';
7
7
  import { SimpleExchange } from '../simple-exchange';
8
- import { HelloEventPool } from './hello-pool';
9
- export declare class Hello extends SimpleExchange implements IDex<HelloData> {
8
+ import { TestDexEventPool } from './test-dex-pool';
9
+ export declare class TestDex extends SimpleExchange implements IDex<TestDexData> {
10
10
  readonly network: Network;
11
11
  readonly dexKey: string;
12
12
  readonly dexHelper: IDexHelper;
13
13
  protected adapters: import("../../types").AdapterMappings;
14
- protected eventPools: HelloEventPool;
14
+ protected eventPools: TestDexEventPool;
15
15
  readonly hasConstantPriceLargeAmounts = false;
16
16
  readonly needWrapNative = true;
17
17
  readonly isFeeOnTransferSupported = false;
@@ -27,10 +27,10 @@ export declare class Hello extends SimpleExchange implements IDex<HelloData> {
27
27
  index: number;
28
28
  }[] | null;
29
29
  getPoolIdentifiers(srcToken: Token, destToken: Token, side: SwapSide, blockNumber: number): Promise<string[]>;
30
- getPricesVolume(srcToken: Token, destToken: Token, amounts: bigint[], side: SwapSide, blockNumber: number, limitPools?: string[]): Promise<null | ExchangePrices<HelloData>>;
31
- getCalldataGasCost(poolPrices: PoolPrices<HelloData>): number | number[];
32
- getAdapterParam(srcToken: string, destToken: string, srcAmount: string, destAmount: string, data: HelloData, side: SwapSide): AdapterExchangeParam;
33
- getSimpleParam(srcToken: string, destToken: string, srcAmount: string, destAmount: string, data: HelloData, side: SwapSide): Promise<SimpleExchangeParam>;
30
+ getPricesVolume(srcToken: Token, destToken: Token, amounts: bigint[], side: SwapSide, blockNumber: number, limitPools?: string[]): Promise<null | ExchangePrices<TestDexData>>;
31
+ getCalldataGasCost(poolPrices: PoolPrices<TestDexData>): number | number[];
32
+ getAdapterParam(srcToken: string, destToken: string, srcAmount: string, destAmount: string, data: TestDexData, side: SwapSide): AdapterExchangeParam;
33
+ getSimpleParam(srcToken: string, destToken: string, srcAmount: string, destAmount: string, data: TestDexData, side: SwapSide): Promise<SimpleExchangeParam>;
34
34
  updatePoolState(): Promise<void>;
35
35
  getTopPoolsForToken(tokenAddress: Address, limit: number): Promise<PoolLiquidity[]>;
36
36
  releaseResources(): AsyncOrSync<void>;
@@ -23,13 +23,13 @@ var __importStar = (this && this.__importStar) || function (mod) {
23
23
  return result;
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.Hello = void 0;
26
+ exports.TestDex = void 0;
27
27
  const CALLDATA_GAS_COST = __importStar(require("../../calldata-gas-cost"));
28
28
  const utils_1 = require("../../utils");
29
29
  const simple_exchange_1 = require("../simple-exchange");
30
30
  const config_1 = require("./config");
31
- const hello_pool_1 = require("./hello-pool");
32
- class Hello extends simple_exchange_1.SimpleExchange {
31
+ const test_dex_pool_1 = require("./test-dex-pool");
32
+ class TestDex extends simple_exchange_1.SimpleExchange {
33
33
  constructor(network, dexKey, dexHelper, adapters = config_1.Adapters[network] || {}) {
34
34
  super(dexHelper, dexKey);
35
35
  this.network = network;
@@ -41,7 +41,7 @@ class Hello extends simple_exchange_1.SimpleExchange {
41
41
  this.needWrapNative = true;
42
42
  this.isFeeOnTransferSupported = false;
43
43
  this.logger = dexHelper.getLogger(dexKey);
44
- this.eventPools = new hello_pool_1.HelloEventPool(dexKey, network, dexHelper, this.logger);
44
+ this.eventPools = new test_dex_pool_1.TestDexEventPool(dexKey, network, dexHelper, this.logger);
45
45
  }
46
46
  // Initialize pricing is called once in the start of
47
47
  // pricing service. It is intended to setup the integration
@@ -121,6 +121,6 @@ class Hello extends simple_exchange_1.SimpleExchange {
121
121
  // TODO: complete me!
122
122
  }
123
123
  }
124
- exports.Hello = Hello;
125
- Hello.dexKeysWithNetwork = (0, utils_1.getDexKeysWithNetwork)(config_1.HelloConfig);
126
- //# sourceMappingURL=hello.js.map
124
+ exports.TestDex = TestDex;
125
+ TestDex.dexKeysWithNetwork = (0, utils_1.getDexKeysWithNetwork)(config_1.TestDexConfig);
126
+ //# sourceMappingURL=test-dex.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-dex.js","sourceRoot":"","sources":["../../../src/dex/test-dex/test-dex.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { Address } from '../../types';
2
2
  export declare type PoolState = {};
3
- export declare type HelloData = {
3
+ export declare type TestDexData = {
4
4
  exchange: Address;
5
5
  };
6
6
  export declare type DexParams = {};
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/dex/my-test-dex/types.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/dex/test-dex/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,12 @@
1
+ import { UniswapV3 } from '../../uniswap-v3';
2
+ import { Network } from '../../../../constants';
3
+ import { IDexHelper } from '../../../../dex-helper';
4
+ export declare class PancakeswapV3 extends UniswapV3 {
5
+ protected network: Network;
6
+ protected dexHelper: IDexHelper;
7
+ static dexKeysWithNetwork: {
8
+ key: string;
9
+ networks: Network[];
10
+ }[];
11
+ constructor(network: Network, dexKey: string, dexHelper: IDexHelper);
12
+ }
@@ -0,0 +1,23 @@
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.PancakeswapV3 = void 0;
7
+ const uniswap_v3_1 = require("../../uniswap-v3");
8
+ const abi_1 = require("@ethersproject/abi");
9
+ const PancakeswapV3Router_abi_json_1 = __importDefault(require("../../../../abi/uniswap-v3/pancakeswap-v3/PancakeswapV3Router.abi.json"));
10
+ const PancakeswapV3QuoterV2_abi_json_1 = __importDefault(require("../../../../abi/uniswap-v3/pancakeswap-v3/PancakeswapV3QuoterV2.abi.json"));
11
+ const utils_1 = require("../../../../utils");
12
+ const lodash_1 = __importDefault(require("lodash"));
13
+ const config_1 = require("../../config");
14
+ class PancakeswapV3 extends uniswap_v3_1.UniswapV3 {
15
+ constructor(network, dexKey, dexHelper) {
16
+ super(network, dexKey, dexHelper, undefined, new abi_1.Interface(PancakeswapV3Router_abi_json_1.default), new abi_1.Interface(PancakeswapV3QuoterV2_abi_json_1.default));
17
+ this.network = network;
18
+ this.dexHelper = dexHelper;
19
+ }
20
+ }
21
+ exports.PancakeswapV3 = PancakeswapV3;
22
+ PancakeswapV3.dexKeysWithNetwork = (0, utils_1.getDexKeysWithNetwork)(lodash_1.default.pick(config_1.UniswapV3Config, ['PancakeswapV3']));
23
+ //# sourceMappingURL=pancakeswap-v3.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pancakeswap-v3.js","sourceRoot":"","sources":["../../../../../src/dex/uniswap-v3/forks/pancakeswap-v3/pancakeswap-v3.ts"],"names":[],"mappings":";;;;;;AAAA,iDAA6C;AAG7C,4CAA+C;AAC/C,0IAA4G;AAC5G,8IAAgH;AAChH,6CAA0D;AAC1D,oDAAuB;AACvB,yCAA+C;AAE/C,MAAa,aAAc,SAAQ,sBAAS;IAG1C,YACY,OAAgB,EAC1B,MAAc,EACJ,SAAqB;QAE/B,KAAK,CACH,OAAO,EACP,MAAM,EACN,SAAS,EACT,SAAS,EACT,IAAI,eAAS,CAAC,sCAAsB,CAAC,EACrC,IAAI,eAAS,CAAC,wCAAwB,CAAC,CACxC,CAAC;QAXQ,YAAO,GAAP,OAAO,CAAS;QAEhB,cAAS,GAAT,SAAS,CAAY;IAUjC,CAAC;;AAhBH,sCAiBC;AAhBe,gCAAkB,GAC9B,IAAA,6BAAqB,EAAC,gBAAC,CAAC,IAAI,CAAC,wBAAe,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC"}
@@ -1,4 +1,4 @@
1
1
  import { DexParams } from './types';
2
2
  import { DexConfigMap, AdapterMappings } from '../../types';
3
- export declare const HelloConfig: DexConfigMap<DexParams>;
3
+ export declare const WooFiConfig: DexConfigMap<DexParams>;
4
4
  export declare const Adapters: Record<number, AdapterMappings>;
@@ -0,0 +1,141 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Adapters = exports.WooFiConfig = void 0;
4
+ const constants_1 = require("../../constants");
5
+ exports.WooFiConfig = {
6
+ WooFi: {
7
+ [constants_1.Network.BSC]: {
8
+ wooPPAddress: '0xbf365Ce9cFcb2d5855521985E351bA3bcf77FD3F',
9
+ wooOracleAddress: '0x6b6fBEc7934b104e81b2046D24A990e03e17afDC',
10
+ wooFeeManagerAddress: '0xaA6c60D638d34261B764fEDB551E50Ab02c34C90',
11
+ wooGuardianAddress: '0x910723e3c6a68276687b50613a1a9e42cc6589b4',
12
+ quoteToken: {
13
+ // USDT
14
+ address: '0x55d398326f99059ff775485246999027b3197955',
15
+ decimals: 18,
16
+ },
17
+ baseTokens: {
18
+ WBNB: {
19
+ address: '0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c',
20
+ decimals: 18,
21
+ },
22
+ BTCB: {
23
+ address: '0x7130d2A12B9BCbFAe4f2634d864A1Ee1Ce3Ead9c',
24
+ decimals: 18,
25
+ },
26
+ ETH: {
27
+ address: '0x2170ed0880ac9a755fd29b2688956bd959f933f8',
28
+ decimals: 18,
29
+ },
30
+ WOO: {
31
+ address: '0x4691937a7508860f876c9c0a2a617e7d9e945d4b',
32
+ decimals: 18,
33
+ },
34
+ },
35
+ rebateTo: '0xcbb65ad3e64f404b5411486e15561bfb645ce642',
36
+ },
37
+ [constants_1.Network.AVALANCHE]: {
38
+ wooPPAddress: '0x1df3009c57a8B143c6246149F00B090Bce3b8f88',
39
+ wooOracleAddress: '0x25a4d4a094A084c7ad45Ac273cF7D6B6bfae7D4E',
40
+ wooFeeManagerAddress: '0x209102c0D2E34282494114ea76D5251c8e7Ea7ab',
41
+ wooGuardianAddress: '0x58c73f7e102bc6bcdc6b092ef0399b3e06d6b3e3',
42
+ quoteToken: {
43
+ // USDC
44
+ address: '0xb97ef9ef8734c71904d8002f8b6bc66dd9c48a6e',
45
+ decimals: 6,
46
+ },
47
+ baseTokens: {
48
+ WAVAX: {
49
+ address: '0xB31f66AA3C1e785363F0875A1B74E27b85FD66c7',
50
+ decimals: 18,
51
+ },
52
+ ['BTC.b']: {
53
+ address: '0x152b9d0FdC40C096757F570A51E494bd4b943E50',
54
+ decimals: 8,
55
+ },
56
+ ['WETH.e']: {
57
+ address: '0x49D5c2BdFfac6CE2BFdB6640F4F80f226bc10bAB',
58
+ decimals: 18,
59
+ },
60
+ ['WOO.e']: {
61
+ address: '0xaBC9547B534519fF73921b1FBA6E672b5f58D083',
62
+ decimals: 18,
63
+ },
64
+ },
65
+ rebateTo: '0x1bf4c97384e7bdc609017305edb23fd28c13e76a',
66
+ },
67
+ [constants_1.Network.FANTOM]: {
68
+ wooPPAddress: '0x9503E7517D3C5bc4f9E4A1c6AE4f8B33AC2546f2',
69
+ wooOracleAddress: '0x209102c0D2E34282494114ea76D5251c8e7Ea7ab',
70
+ wooFeeManagerAddress: '0xBE1a0FccCFA9c9065152B7770B918f7C59914E8D',
71
+ wooGuardianAddress: '0x128758d0e909624841AB29D53919646BFBDa5dB2',
72
+ quoteToken: {
73
+ // USDC
74
+ address: '0x04068da6c83afcfa0e13ba15a6696662335d5b75',
75
+ decimals: 6,
76
+ },
77
+ baseTokens: {
78
+ WFTM: {
79
+ address: '0x21be370D5312f44cB42ce377BC9b8a0cEF1A4C83',
80
+ decimals: 18,
81
+ },
82
+ BTC: {
83
+ address: '0x321162Cd933E2Be498Cd2267a90534A804051b11',
84
+ decimals: 8,
85
+ },
86
+ ETH: {
87
+ address: '0x74b23882a30290451A17c44f4F05243b6b58C76d',
88
+ decimals: 18,
89
+ },
90
+ WOO: {
91
+ address: '0x6626c47c00F1D87902fc13EECfaC3ed06D5E8D8a',
92
+ decimals: 18,
93
+ },
94
+ },
95
+ rebateTo: '0xced122f9b99d224675eeda13f0c14639c5633f91',
96
+ },
97
+ [constants_1.Network.POLYGON]: {
98
+ wooPPAddress: '0x7400B665C8f4f3a951a99f1ee9872efb8778723d',
99
+ wooOracleAddress: '0x2Fe5E5D341cFFa606a5d9DA1B6B646a381B0f7ec',
100
+ wooFeeManagerAddress: '0x7214833BE05Ce39f6dCd97668e521162e6C18937',
101
+ wooGuardianAddress: '0xF5d215d9C84778F85746D15762DaF39B9E83a2d6',
102
+ quoteToken: {
103
+ // USDC
104
+ address: '0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174',
105
+ decimals: 6,
106
+ },
107
+ baseTokens: {
108
+ WMATIC: {
109
+ address: '0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270',
110
+ decimals: 18,
111
+ },
112
+ WBTC: {
113
+ address: '0x1BFD67037B42Cf73acF2047067bd4F2C47D9BfD6',
114
+ decimals: 8,
115
+ },
116
+ WETH: {
117
+ address: '0x7ceB23fD6bC0adD59E62ac25578270cFf1b9f619',
118
+ decimals: 18,
119
+ },
120
+ WOO: {
121
+ address: '0x1B815d120B3eF02039Ee11dC2d33DE7aA4a8C603',
122
+ decimals: 18,
123
+ },
124
+ },
125
+ rebateTo: '0x0c84cd406b8a4e07df9a1b15ef348023a1dcd075',
126
+ },
127
+ },
128
+ };
129
+ exports.Adapters = {
130
+ [constants_1.Network.BSC]: { [constants_1.SwapSide.SELL]: [{ name: 'BscAdapter01', index: 13 }] },
131
+ [constants_1.Network.AVALANCHE]: {
132
+ [constants_1.SwapSide.SELL]: [{ name: 'AvalancheAdapter01', index: 12 }],
133
+ },
134
+ [constants_1.Network.FANTOM]: {
135
+ [constants_1.SwapSide.SELL]: [{ name: 'FantomAdapter01', index: 8 }],
136
+ },
137
+ [constants_1.Network.POLYGON]: {
138
+ [constants_1.SwapSide.SELL]: [{ name: 'PolygonAdapter02', index: 4 }],
139
+ },
140
+ };
141
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/dex/woo-fi/config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { PoolState } from './types';
2
+ export declare const WOO_FI_GAS_COST: number;
3
+ export declare const USD_PRECISION = 2;
4
+ export declare const MIN_CONVERSION_RATE = 1;
5
+ export declare const NULL_STATE: PoolState;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NULL_STATE = exports.MIN_CONVERSION_RATE = exports.USD_PRECISION = exports.WOO_FI_GAS_COST = void 0;
4
+ exports.WOO_FI_GAS_COST = 270 * 1000;
5
+ exports.USD_PRECISION = 2;
6
+ exports.MIN_CONVERSION_RATE = 1;
7
+ exports.NULL_STATE = {
8
+ feeRates: {},
9
+ tokenInfos: {},
10
+ tokenStates: {},
11
+ oracleTimestamp: 0n,
12
+ isPaused: false,
13
+ guardian: {
14
+ globalBound: 0n,
15
+ refInfos: {},
16
+ },
17
+ chainlink: { latestRoundDatas: {} },
18
+ wooPPBalances: {},
19
+ };
20
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/dex/woo-fi/constants.ts"],"names":[],"mappings":";;;AAEa,QAAA,eAAe,GAAG,GAAG,GAAG,IAAI,CAAC;AAE7B,QAAA,aAAa,GAAG,CAAC,CAAC;AAElB,QAAA,mBAAmB,GAAG,CAAC,CAAC;AAExB,QAAA,UAAU,GAAc;IACnC,QAAQ,EAAE,EAAE;IACZ,UAAU,EAAE,EAAE;IACd,WAAW,EAAE,EAAE;IACf,eAAe,EAAE,EAAE;IACnB,QAAQ,EAAE,KAAK;IACf,QAAQ,EAAE;QACR,WAAW,EAAE,EAAE;QACf,QAAQ,EAAE,EAAE;KACb;IACD,SAAS,EAAE,EAAE,gBAAgB,EAAE,EAAE,EAAE;IACnC,aAAa,EAAE,EAAE;CAClB,CAAC"}
@@ -0,0 +1,48 @@
1
+ import { Address, Token } from '../../types';
2
+ export declare type TokenInfo = {
3
+ reserve: bigint;
4
+ R: bigint;
5
+ threshold: bigint;
6
+ target: bigint;
7
+ lastResetTimestamp: bigint;
8
+ };
9
+ export declare type TokenState = {
10
+ priceNow: bigint;
11
+ spreadNow: bigint;
12
+ coeffNow: bigint;
13
+ };
14
+ export declare type RefInfo = {
15
+ chainlinkRefOracle: Address;
16
+ refPriceFixCoeff: bigint;
17
+ minInputAmount: bigint;
18
+ maxInputAmount: bigint;
19
+ bound: bigint;
20
+ };
21
+ export declare type LatestRoundData = {
22
+ answer: bigint;
23
+ };
24
+ export declare type PoolState = {
25
+ feeRates: Record<Address, bigint>;
26
+ tokenInfos: Record<Address, TokenInfo>;
27
+ tokenStates: Record<Address, TokenState>;
28
+ oracleTimestamp: bigint;
29
+ isPaused: boolean;
30
+ guardian: {
31
+ globalBound: bigint;
32
+ refInfos: Record<Address, RefInfo>;
33
+ };
34
+ chainlink: {
35
+ latestRoundDatas: Record<Address, LatestRoundData>;
36
+ };
37
+ wooPPBalances: Record<Address, bigint>;
38
+ };
39
+ export declare type WooFiData = {};
40
+ export declare type DexParams = {
41
+ wooPPAddress: Address;
42
+ wooOracleAddress: Address;
43
+ wooFeeManagerAddress: Address;
44
+ wooGuardianAddress: Address;
45
+ quoteToken: Token;
46
+ baseTokens: Record<string, Token>;
47
+ rebateTo: Address;
48
+ };
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/dex/hello/types.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/dex/woo-fi/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,14 @@
1
+ declare class WooFiDecimalMath {
2
+ readonly ONE: bigint;
3
+ readonly TWO: bigint;
4
+ readonly ONE2: bigint;
5
+ mulFloor(target: bigint, d: bigint): bigint;
6
+ mulCeil(target: bigint, d: bigint): bigint;
7
+ divFloor(target: bigint, d: bigint): bigint;
8
+ divCeil(target: bigint, d: bigint): bigint;
9
+ reciprocalFloor(target: bigint): bigint;
10
+ reciprocalCeil(target: bigint): bigint;
11
+ private _divCeil;
12
+ }
13
+ export declare const wooFiDecimalMath: WooFiDecimalMath;
14
+ export {};