@clober/v2-sdk 0.0.59 → 0.0.61

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 (152) hide show
  1. package/dist/cjs/abis/rebalancer/minter-abi.js +262 -0
  2. package/dist/cjs/abis/rebalancer/minter-abi.js.map +1 -0
  3. package/dist/cjs/abis/rebalancer/mock-swap-abi.js +95 -0
  4. package/dist/cjs/abis/rebalancer/mock-swap-abi.js.map +1 -0
  5. package/dist/cjs/abis/rebalancer/operator-abi.js +370 -0
  6. package/dist/cjs/abis/rebalancer/operator-abi.js.map +1 -0
  7. package/dist/cjs/abis/rebalancer/rebalancer-abi.js +1235 -0
  8. package/dist/cjs/abis/rebalancer/rebalancer-abi.js.map +1 -0
  9. package/dist/cjs/abis/rebalancer/strategy-abi.js +633 -0
  10. package/dist/cjs/abis/rebalancer/strategy-abi.js.map +1 -0
  11. package/dist/cjs/apis/market.js +2 -2
  12. package/dist/cjs/apis/market.js.map +1 -1
  13. package/dist/cjs/apis/odos.js +100 -0
  14. package/dist/cjs/apis/odos.js.map +1 -0
  15. package/dist/cjs/apis/pool.js +61 -0
  16. package/dist/cjs/apis/pool.js.map +1 -0
  17. package/dist/cjs/apis/strategy.js +23 -0
  18. package/dist/cjs/apis/strategy.js.map +1 -0
  19. package/dist/cjs/call.js +359 -1
  20. package/dist/cjs/call.js.map +1 -1
  21. package/dist/cjs/constants/addresses.js +23 -3
  22. package/dist/cjs/constants/addresses.js.map +1 -1
  23. package/dist/cjs/constants/chain.js +5 -1
  24. package/dist/cjs/constants/chain.js.map +1 -1
  25. package/dist/cjs/constants/permit.js +13 -0
  26. package/dist/cjs/constants/permit.js.map +1 -0
  27. package/dist/cjs/constants/subgraph.js +1 -1
  28. package/dist/cjs/index.js +0 -1
  29. package/dist/cjs/index.js.map +1 -1
  30. package/dist/cjs/model/market.js +45 -0
  31. package/dist/cjs/model/market.js.map +1 -1
  32. package/dist/cjs/model/pool.js +136 -0
  33. package/dist/cjs/model/pool.js.map +1 -0
  34. package/dist/cjs/model/strategy.js +3 -0
  35. package/dist/cjs/model/strategy.js.map +1 -0
  36. package/dist/cjs/type.js.map +1 -1
  37. package/dist/cjs/utils/math.js +3 -1
  38. package/dist/cjs/utils/math.js.map +1 -1
  39. package/dist/cjs/utils/open.js +34 -35
  40. package/dist/cjs/utils/open.js.map +1 -1
  41. package/dist/cjs/utils/pool-key.js +17 -0
  42. package/dist/cjs/utils/pool-key.js.map +1 -0
  43. package/dist/cjs/utils/pool.js +88 -0
  44. package/dist/cjs/utils/pool.js.map +1 -0
  45. package/dist/cjs/utils/prices.js +7 -2
  46. package/dist/cjs/utils/prices.js.map +1 -1
  47. package/dist/cjs/view.js +37 -30
  48. package/dist/cjs/view.js.map +1 -1
  49. package/dist/esm/abis/rebalancer/minter-abi.js +259 -0
  50. package/dist/esm/abis/rebalancer/minter-abi.js.map +1 -0
  51. package/dist/esm/abis/rebalancer/mock-swap-abi.js +92 -0
  52. package/dist/esm/abis/rebalancer/mock-swap-abi.js.map +1 -0
  53. package/dist/esm/abis/rebalancer/operator-abi.js +367 -0
  54. package/dist/esm/abis/rebalancer/operator-abi.js.map +1 -0
  55. package/dist/esm/abis/rebalancer/rebalancer-abi.js +1232 -0
  56. package/dist/esm/abis/rebalancer/rebalancer-abi.js.map +1 -0
  57. package/dist/esm/abis/rebalancer/strategy-abi.js +630 -0
  58. package/dist/esm/abis/rebalancer/strategy-abi.js.map +1 -0
  59. package/dist/esm/apis/market.js +3 -3
  60. package/dist/esm/apis/market.js.map +1 -1
  61. package/dist/esm/apis/odos.js +94 -0
  62. package/dist/esm/apis/odos.js.map +1 -0
  63. package/dist/esm/apis/pool.js +57 -0
  64. package/dist/esm/apis/pool.js.map +1 -0
  65. package/dist/esm/apis/strategy.js +19 -0
  66. package/dist/esm/apis/strategy.js.map +1 -0
  67. package/dist/esm/call.js +390 -45
  68. package/dist/esm/call.js.map +1 -1
  69. package/dist/esm/constants/addresses.js +24 -4
  70. package/dist/esm/constants/addresses.js.map +1 -1
  71. package/dist/esm/constants/chain.js +3 -0
  72. package/dist/esm/constants/chain.js.map +1 -1
  73. package/dist/esm/constants/permit.js +10 -0
  74. package/dist/esm/constants/permit.js.map +1 -0
  75. package/dist/esm/constants/subgraph.js +1 -1
  76. package/dist/esm/index.js +0 -1
  77. package/dist/esm/index.js.map +1 -1
  78. package/dist/esm/model/market.js +46 -1
  79. package/dist/esm/model/market.js.map +1 -1
  80. package/dist/esm/model/pool.js +133 -0
  81. package/dist/esm/model/pool.js.map +1 -0
  82. package/dist/esm/model/strategy.js +2 -0
  83. package/dist/esm/model/strategy.js.map +1 -0
  84. package/dist/esm/type.js.map +1 -1
  85. package/dist/esm/utils/math.js +1 -0
  86. package/dist/esm/utils/math.js.map +1 -1
  87. package/dist/esm/utils/open.js +32 -33
  88. package/dist/esm/utils/open.js.map +1 -1
  89. package/dist/esm/utils/pool-key.js +12 -0
  90. package/dist/esm/utils/pool-key.js.map +1 -0
  91. package/dist/esm/utils/pool.js +84 -0
  92. package/dist/esm/utils/pool.js.map +1 -0
  93. package/dist/esm/utils/prices.js +5 -1
  94. package/dist/esm/utils/prices.js.map +1 -1
  95. package/dist/esm/view.js +62 -43
  96. package/dist/esm/view.js.map +1 -1
  97. package/dist/tsconfig.build.tsbuildinfo +1 -1
  98. package/dist/types/abis/rebalancer/minter-abi.d.ts +198 -0
  99. package/dist/types/abis/rebalancer/minter-abi.d.ts.map +1 -0
  100. package/dist/types/abis/rebalancer/mock-swap-abi.d.ts +70 -0
  101. package/dist/types/abis/rebalancer/mock-swap-abi.d.ts.map +1 -0
  102. package/dist/types/abis/rebalancer/operator-abi.d.ts +283 -0
  103. package/dist/types/abis/rebalancer/operator-abi.d.ts.map +1 -0
  104. package/dist/types/abis/rebalancer/rebalancer-abi.d.ts +952 -0
  105. package/dist/types/abis/rebalancer/rebalancer-abi.d.ts.map +1 -0
  106. package/dist/types/abis/rebalancer/strategy-abi.d.ts +487 -0
  107. package/dist/types/abis/rebalancer/strategy-abi.d.ts.map +1 -0
  108. package/dist/types/apis/odos.d.ts +28 -0
  109. package/dist/types/apis/odos.d.ts.map +1 -0
  110. package/dist/types/apis/pool.d.ts +5 -0
  111. package/dist/types/apis/pool.d.ts.map +1 -0
  112. package/dist/types/apis/strategy.d.ts +5 -0
  113. package/dist/types/apis/strategy.d.ts.map +1 -0
  114. package/dist/types/call.d.ts +108 -44
  115. package/dist/types/call.d.ts.map +1 -1
  116. package/dist/types/constants/addresses.d.ts +4 -0
  117. package/dist/types/constants/addresses.d.ts.map +1 -1
  118. package/dist/types/constants/chain.d.ts +1 -0
  119. package/dist/types/constants/chain.d.ts.map +1 -1
  120. package/dist/types/constants/permit.d.ts +10 -0
  121. package/dist/types/constants/permit.d.ts.map +1 -0
  122. package/dist/types/index.d.ts +0 -1
  123. package/dist/types/index.d.ts.map +1 -1
  124. package/dist/types/model/currency.d.ts +7 -0
  125. package/dist/types/model/currency.d.ts.map +1 -1
  126. package/dist/types/model/market.d.ts +3 -0
  127. package/dist/types/model/market.d.ts.map +1 -1
  128. package/dist/types/model/pool.d.ts +38 -0
  129. package/dist/types/model/pool.d.ts.map +1 -0
  130. package/dist/types/model/strategy.d.ts +6 -0
  131. package/dist/types/model/strategy.d.ts.map +1 -0
  132. package/dist/types/type.d.ts +20 -1
  133. package/dist/types/type.d.ts.map +1 -1
  134. package/dist/types/utils/math.d.ts +1 -0
  135. package/dist/types/utils/math.d.ts.map +1 -1
  136. package/dist/types/utils/open.d.ts +1 -1
  137. package/dist/types/utils/open.d.ts.map +1 -1
  138. package/dist/types/utils/pool-key.d.ts +3 -0
  139. package/dist/types/utils/pool-key.d.ts.map +1 -0
  140. package/dist/types/utils/pool.d.ts +11 -0
  141. package/dist/types/utils/pool.d.ts.map +1 -0
  142. package/dist/types/utils/prices.d.ts +1 -0
  143. package/dist/types/utils/prices.d.ts.map +1 -1
  144. package/dist/types/view.d.ts +52 -17
  145. package/dist/types/view.d.ts.map +1 -1
  146. package/package.json +1 -1
  147. package/dist/cjs/signature.js +0 -149
  148. package/dist/cjs/signature.js.map +0 -1
  149. package/dist/esm/signature.js +0 -172
  150. package/dist/esm/signature.js.map +0 -1
  151. package/dist/types/signature.d.ts +0 -38
  152. package/dist/types/signature.d.ts.map +0 -1
@@ -1,30 +1,50 @@
1
- import { getAddress } from 'viem';
1
+ import { getAddress, zeroAddress } from 'viem';
2
2
  import { CHAIN_IDS } from './chain';
3
3
  export const CONTRACT_ADDRESSES = {
4
4
  [CHAIN_IDS.CLOBER_TESTNET]: {
5
5
  Controller: getAddress('0xfAe4A04fa491DC21F77796394532a1B62d8331BF'),
6
6
  BookManager: getAddress('0x4a4eaF7382821da4Fb85e8A8d515f5555383d58A'),
7
7
  BookViewer: getAddress('0xA7603C4c895a533E66c30EA76cC6F6A6A0c5cbFe'),
8
+ Rebalancer: getAddress('0x4Ba00c2849D993279AD30E1618C73d6db4c64ACe'),
9
+ Strategy: getAddress('0x49cD6E6cFBB0B022f2389FaC4b0889CdBC26dc11'),
10
+ Minter: getAddress('0x852Ce4B5448F95A7D091393B5bbc159d16fb291a'),
11
+ Operator: getAddress('0xEEE4F3b484787bd28aa0e790b4ab92660e7ecd06'),
8
12
  },
9
13
  [CHAIN_IDS.ARBITRUM_SEPOLIA]: {
10
- Controller: getAddress('0x91101543D3Bd3e919dAd034Bf978ef9d87290993'),
14
+ Controller: getAddress('0x42D9B8eFB54d0d763c4219e1B9E1846C60A56463'),
11
15
  BookManager: getAddress('0xC528b9ED5d56d1D0d3C18A2342954CE1069138a4'),
12
16
  BookViewer: getAddress('0x73c524e103C94Bf2743659d739586395B1A9e1BE'),
17
+ Rebalancer: getAddress('0x4Ba00c2849D993279AD30E1618C73d6db4c64ACe'),
18
+ Strategy: getAddress('0x49cD6E6cFBB0B022f2389FaC4b0889CdBC26dc11'),
19
+ Minter: getAddress('0x852Ce4B5448F95A7D091393B5bbc159d16fb291a'),
20
+ Operator: getAddress('0xEEE4F3b484787bd28aa0e790b4ab92660e7ecd06'),
13
21
  },
14
22
  [CHAIN_IDS.BASE]: {
15
23
  Controller: getAddress('0x4FaC849f948E59f9AEB62d9f7E628138DeF03BfA'),
16
24
  BookManager: getAddress('0x382CCccbD3b142D7DA063bF68cd0c89634767F76'),
17
25
  BookViewer: getAddress('0xcAf89a60D0911AeB8C2b997B5eF9b2017a19Be0d'),
26
+ Rebalancer: zeroAddress,
27
+ Strategy: zeroAddress,
28
+ Minter: zeroAddress,
29
+ Operator: zeroAddress,
18
30
  },
19
31
  [CHAIN_IDS.BERACHAIN_TESTNET]: {
20
32
  Controller: getAddress('0x1Aa68597c14F3f950E2683fA7a975fc9CdAcC484'),
21
33
  BookManager: getAddress('0xA7e0051561D5b955F1014939FB54F71C7F4AEdF1'),
22
34
  BookViewer: getAddress('0xc0d74f9C1c27BC5EC195066863F4de7Ee1152998'),
35
+ Rebalancer: zeroAddress,
36
+ Strategy: zeroAddress,
37
+ Minter: zeroAddress,
38
+ Operator: zeroAddress,
23
39
  },
24
40
  [CHAIN_IDS.ZKSYNC]: {
25
- Controller: getAddress('0x11BB911a7F0EE10d4cEB569f3D7d6b741dEbdfcc'),
41
+ Controller: getAddress('0xC6DFb3CCE884b283460dB0fB0e33335EeF7cdD57'),
26
42
  BookManager: getAddress('0xAaA0e933e1EcC812fc075A81c116Aa0a82A5bbb8'),
27
- BookViewer: getAddress('0xc1925FaeB02aD934e000B4698367C9B9eAd0b666'),
43
+ BookViewer: getAddress('0x8CA1585D798cBC121139E3809e340c41D1762723'),
44
+ Rebalancer: zeroAddress,
45
+ Strategy: zeroAddress,
46
+ Minter: zeroAddress,
47
+ Operator: zeroAddress,
28
48
  },
29
49
  };
30
50
  //# sourceMappingURL=addresses.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"addresses.js","sourceRoot":"","sources":["../../../src/constants/addresses.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAA;AAEjC,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAEnC,MAAM,CAAC,MAAM,kBAAkB,GAM3B;IACF,CAAC,SAAS,CAAC,cAAc,CAAC,EAAE;QAC1B,UAAU,EAAE,UAAU,CAAC,4CAA4C,CAAC;QACpE,WAAW,EAAE,UAAU,CAAC,4CAA4C,CAAC;QACrE,UAAU,EAAE,UAAU,CAAC,4CAA4C,CAAC;KACrE;IACD,CAAC,SAAS,CAAC,gBAAgB,CAAC,EAAE;QAC5B,UAAU,EAAE,UAAU,CAAC,4CAA4C,CAAC;QACpE,WAAW,EAAE,UAAU,CAAC,4CAA4C,CAAC;QACrE,UAAU,EAAE,UAAU,CAAC,4CAA4C,CAAC;KACrE;IACD,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;QAChB,UAAU,EAAE,UAAU,CAAC,4CAA4C,CAAC;QACpE,WAAW,EAAE,UAAU,CAAC,4CAA4C,CAAC;QACrE,UAAU,EAAE,UAAU,CAAC,4CAA4C,CAAC;KACrE;IACD,CAAC,SAAS,CAAC,iBAAiB,CAAC,EAAE;QAC7B,UAAU,EAAE,UAAU,CAAC,4CAA4C,CAAC;QACpE,WAAW,EAAE,UAAU,CAAC,4CAA4C,CAAC;QACrE,UAAU,EAAE,UAAU,CAAC,4CAA4C,CAAC;KACrE;IACD,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE;QAClB,UAAU,EAAE,UAAU,CAAC,4CAA4C,CAAC;QACpE,WAAW,EAAE,UAAU,CAAC,4CAA4C,CAAC;QACrE,UAAU,EAAE,UAAU,CAAC,4CAA4C,CAAC;KACrE;CACF,CAAA"}
1
+ {"version":3,"file":"addresses.js","sourceRoot":"","sources":["../../../src/constants/addresses.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,MAAM,CAAA;AAE9C,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAEnC,MAAM,CAAC,MAAM,kBAAkB,GAU3B;IACF,CAAC,SAAS,CAAC,cAAc,CAAC,EAAE;QAC1B,UAAU,EAAE,UAAU,CAAC,4CAA4C,CAAC;QACpE,WAAW,EAAE,UAAU,CAAC,4CAA4C,CAAC;QACrE,UAAU,EAAE,UAAU,CAAC,4CAA4C,CAAC;QACpE,UAAU,EAAE,UAAU,CAAC,4CAA4C,CAAC;QACpE,QAAQ,EAAE,UAAU,CAAC,4CAA4C,CAAC;QAClE,MAAM,EAAE,UAAU,CAAC,4CAA4C,CAAC;QAChE,QAAQ,EAAE,UAAU,CAAC,4CAA4C,CAAC;KACnE;IACD,CAAC,SAAS,CAAC,gBAAgB,CAAC,EAAE;QAC5B,UAAU,EAAE,UAAU,CAAC,4CAA4C,CAAC;QACpE,WAAW,EAAE,UAAU,CAAC,4CAA4C,CAAC;QACrE,UAAU,EAAE,UAAU,CAAC,4CAA4C,CAAC;QACpE,UAAU,EAAE,UAAU,CAAC,4CAA4C,CAAC;QACpE,QAAQ,EAAE,UAAU,CAAC,4CAA4C,CAAC;QAClE,MAAM,EAAE,UAAU,CAAC,4CAA4C,CAAC;QAChE,QAAQ,EAAE,UAAU,CAAC,4CAA4C,CAAC;KACnE;IACD,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;QAChB,UAAU,EAAE,UAAU,CAAC,4CAA4C,CAAC;QACpE,WAAW,EAAE,UAAU,CAAC,4CAA4C,CAAC;QACrE,UAAU,EAAE,UAAU,CAAC,4CAA4C,CAAC;QACpE,UAAU,EAAE,WAAW;QACvB,QAAQ,EAAE,WAAW;QACrB,MAAM,EAAE,WAAW;QACnB,QAAQ,EAAE,WAAW;KACtB;IACD,CAAC,SAAS,CAAC,iBAAiB,CAAC,EAAE;QAC7B,UAAU,EAAE,UAAU,CAAC,4CAA4C,CAAC;QACpE,WAAW,EAAE,UAAU,CAAC,4CAA4C,CAAC;QACrE,UAAU,EAAE,UAAU,CAAC,4CAA4C,CAAC;QACpE,UAAU,EAAE,WAAW;QACvB,QAAQ,EAAE,WAAW;QACrB,MAAM,EAAE,WAAW;QACnB,QAAQ,EAAE,WAAW;KACtB;IACD,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE;QAClB,UAAU,EAAE,UAAU,CAAC,4CAA4C,CAAC;QACpE,WAAW,EAAE,UAAU,CAAC,4CAA4C,CAAC;QACrE,UAAU,EAAE,UAAU,CAAC,4CAA4C,CAAC;QACpE,UAAU,EAAE,WAAW;QACvB,QAAQ,EAAE,WAAW;QACrB,MAAM,EAAE,WAAW;QACnB,QAAQ,EAAE,WAAW;KACtB;CACF,CAAA"}
@@ -23,4 +23,7 @@ export const CHAIN_MAP = {
23
23
  },
24
24
  [CHAIN_IDS.ZKSYNC]: zkSync,
25
25
  };
26
+ export const isTestnetChain = (chainId) => chainId === CHAIN_IDS.CLOBER_TESTNET ||
27
+ chainId === CHAIN_IDS.ARBITRUM_SEPOLIA ||
28
+ chainId === CHAIN_IDS.BERACHAIN_TESTNET;
26
29
  //# sourceMappingURL=chain.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chain.js","sourceRoot":"","sources":["../../../src/constants/chain.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,IAAI,EACJ,gBAAgB,EAEhB,MAAM,GACP,MAAM,aAAa,CAAA;AAEpB,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAE9C,MAAM,CAAN,IAAY,SAMX;AAND,WAAY,SAAS;IACnB,wCAAiB,eAAe,CAAC,EAAE,oBAAA,CAAA;IACnC,0CAAmB,eAAe,CAAC,EAAE,sBAAA,CAAA;IACrC,8BAAO,IAAI,CAAC,EAAE,UAAA,CAAA;IACd,2CAAoB,gBAAgB,CAAC,EAAE,uBAAA,CAAA;IACvC,gCAAS,MAAM,CAAC,EAAE,YAAA,CAAA;AACpB,CAAC,EANW,SAAS,KAAT,SAAS,QAMpB;AAED,MAAM,CAAC,MAAM,SAAS,GAElB;IACF,CAAC,SAAS,CAAC,cAAc,CAAC,EAAE,eAAe;IAC3C,CAAC,SAAS,CAAC,gBAAgB,CAAC,EAAE,eAAe;IAC7C,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI;IACtB,CAAC,SAAS,CAAC,iBAAiB,CAAC,EAAE;QAC7B,GAAG,gBAAgB;QACnB,SAAS,EAAE;YACT,UAAU,EAAE;gBACV,OAAO,EAAE,4CAA4C;gBACrD,YAAY,EAAE,MAAM;aACrB;SACF;KACF;IACD,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,MAAM;CAC3B,CAAA"}
1
+ {"version":3,"file":"chain.js","sourceRoot":"","sources":["../../../src/constants/chain.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,IAAI,EACJ,gBAAgB,EAEhB,MAAM,GACP,MAAM,aAAa,CAAA;AAEpB,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAE9C,MAAM,CAAN,IAAY,SAMX;AAND,WAAY,SAAS;IACnB,wCAAiB,eAAe,CAAC,EAAE,oBAAA,CAAA;IACnC,0CAAmB,eAAe,CAAC,EAAE,sBAAA,CAAA;IACrC,8BAAO,IAAI,CAAC,EAAE,UAAA,CAAA;IACd,2CAAoB,gBAAgB,CAAC,EAAE,uBAAA,CAAA;IACvC,gCAAS,MAAM,CAAC,EAAE,YAAA,CAAA;AACpB,CAAC,EANW,SAAS,KAAT,SAAS,QAMpB;AAED,MAAM,CAAC,MAAM,SAAS,GAElB;IACF,CAAC,SAAS,CAAC,cAAc,CAAC,EAAE,eAAe;IAC3C,CAAC,SAAS,CAAC,gBAAgB,CAAC,EAAE,eAAe;IAC7C,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI;IACtB,CAAC,SAAS,CAAC,iBAAiB,CAAC,EAAE;QAC7B,GAAG,gBAAgB;QACnB,SAAS,EAAE;YACT,UAAU,EAAE;gBACV,OAAO,EAAE,4CAA4C;gBACrD,YAAY,EAAE,MAAM;aACrB;SACF;KACF;IACD,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,MAAM;CAC3B,CAAA;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,OAAkB,EAAW,EAAE,CAC5D,OAAO,KAAK,SAAS,CAAC,cAAc;IACpC,OAAO,KAAK,SAAS,CAAC,gBAAgB;IACtC,OAAO,KAAK,SAAS,CAAC,iBAAiB,CAAA"}
@@ -0,0 +1,10 @@
1
+ export const emptyERC20PermitParams = {
2
+ permitAmount: 0n,
3
+ signature: {
4
+ deadline: 0n,
5
+ v: 0,
6
+ r: '0x',
7
+ s: '0x',
8
+ },
9
+ };
10
+ //# sourceMappingURL=permit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"permit.js","sourceRoot":"","sources":["../../../src/constants/permit.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,YAAY,EAAE,EAAE;IAChB,SAAS,EAAE;QACT,QAAQ,EAAE,EAAE;QACZ,CAAC,EAAE,CAAC;QACJ,CAAC,EAAE,IAAI;QACP,CAAC,EAAE,IAAI;KACR;CACF,CAAA"}
@@ -4,7 +4,7 @@ const SUBGRAPH_URL = {
4
4
  [CHAIN_IDS.ARBITRUM_SEPOLIA]: 'https://subgraph.satsuma-prod.com/f6a8c4889b7b/clober/v2-core-subgraph/api',
5
5
  [CHAIN_IDS.BASE]: 'https://subgraph.satsuma-prod.com/f6a8c4889b7b/clober/v2-core-subgraph-base/api',
6
6
  [CHAIN_IDS.BERACHAIN_TESTNET]: 'https://api.goldsky.com/api/public/project_clsljw95chutg01w45cio46j0/subgraphs/v2-core-subgraph/v1.3.2/gn',
7
- [CHAIN_IDS.ZKSYNC]: 'https://api.goldsky.com/api/public/project_clsljw95chutg01w45cio46j0/subgraphs/v2-core-subgraph-zksync-era/v1.4.2/gn',
7
+ [CHAIN_IDS.ZKSYNC]: 'https://api.goldsky.com/api/public/project_clsljw95chutg01w45cio46j0/subgraphs/v2-core-subgraph-zksync-era/v1.5.4/gn',
8
8
  };
9
9
  export class Subgraph {
10
10
  static async get(chainId, operationName, query, variables) {
package/dist/esm/index.js CHANGED
@@ -1,7 +1,6 @@
1
1
  export * from './type';
2
2
  export * from './view';
3
3
  export * from './call';
4
- export * from './signature';
5
4
  export * from './approval';
6
5
  export * from './utils';
7
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAA;AACtB,cAAc,QAAQ,CAAA;AACtB,cAAc,QAAQ,CAAA;AACtB,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,cAAc,SAAS,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAA;AACtB,cAAc,QAAQ,CAAA;AACtB,cAAc,QAAQ,CAAA;AACtB,cAAc,YAAY,CAAA;AAC1B,cAAc,SAAS,CAAA"}
@@ -1,4 +1,4 @@
1
- import { isAddressEqual } from 'viem';
1
+ import { formatUnits, isAddressEqual } from 'viem';
2
2
  import { getMarketId } from '../utils/market';
3
3
  import { invertTick, toPrice } from '../utils/tick';
4
4
  import { formatPrice } from '../utils/prices';
@@ -6,6 +6,12 @@ import { MAKER_DEFAULT_POLICY, TAKER_DEFAULT_POLICY } from '../constants/fee';
6
6
  import { quoteToBase } from '../utils/decimals';
7
7
  export class Market {
8
8
  constructor({ chainId, tokens, bidBook, askBook, }) {
9
+ Object.defineProperty(this, "chainId", {
10
+ enumerable: true,
11
+ configurable: true,
12
+ writable: true,
13
+ value: void 0
14
+ });
9
15
  Object.defineProperty(this, "makerFee", {
10
16
  enumerable: true,
11
17
  configurable: true,
@@ -112,6 +118,45 @@ export class Market {
112
118
  }
113
119
  }
114
120
  });
121
+ Object.defineProperty(this, "toJson", {
122
+ enumerable: true,
123
+ configurable: true,
124
+ writable: true,
125
+ value: () => {
126
+ return {
127
+ chainId: this.chainId,
128
+ quote: this.quote,
129
+ base: this.base,
130
+ makerFee: this.makerFee,
131
+ takerFee: this.takerFee,
132
+ bids: this.bids.map(({ price, tick, baseAmount }) => ({
133
+ price,
134
+ tick: Number(tick),
135
+ baseAmount: formatUnits(baseAmount, this.base.decimals),
136
+ })),
137
+ bidBook: {
138
+ id: this.bidBook.id.toString(),
139
+ base: this.bidBook.base,
140
+ unitSize: this.bidBook.unitSize.toString(),
141
+ quote: this.bidBook.quote,
142
+ isOpened: this.bidBook.isOpened,
143
+ },
144
+ asks: this.asks.map(({ price, tick, baseAmount }) => ({
145
+ price,
146
+ tick: Number(tick),
147
+ baseAmount: formatUnits(baseAmount, this.base.decimals),
148
+ })),
149
+ askBook: {
150
+ id: this.askBook.id.toString(),
151
+ base: this.askBook.base,
152
+ unitSize: this.askBook.unitSize.toString(),
153
+ quote: this.askBook.quote,
154
+ isOpened: this.askBook.isOpened,
155
+ },
156
+ };
157
+ }
158
+ });
159
+ this.chainId = chainId;
115
160
  const { marketId, quoteTokenAddress, baseTokenAddress } = getMarketId(chainId, tokens.map((token) => token.address));
116
161
  this.id = marketId;
117
162
  this.quote = tokens.find((token) => isAddressEqual(token.address, quoteTokenAddress));
@@ -1 +1 @@
1
- {"version":3,"file":"market.js","sourceRoot":"","sources":["../../../src/model/market.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"market.js","sourceRoot":"","sources":["../../../src/model/market.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,133 @@
1
+ import { formatUnits } from 'viem';
2
+ import { CONTRACT_ADDRESSES } from '../constants/addresses';
3
+ import { toPoolKey } from '../utils/pool-key';
4
+ export class Pool {
5
+ constructor({ chainId, market, isOpened, bookIdA, bookIdB, salt, poolKey, totalSupply, decimals, reserveA, reserveB, liquidityA, liquidityB, orderListA, orderListB, }) {
6
+ Object.defineProperty(this, "key", {
7
+ enumerable: true,
8
+ configurable: true,
9
+ writable: true,
10
+ value: void 0
11
+ });
12
+ Object.defineProperty(this, "market", {
13
+ enumerable: true,
14
+ configurable: true,
15
+ writable: true,
16
+ value: void 0
17
+ });
18
+ Object.defineProperty(this, "isOpened", {
19
+ enumerable: true,
20
+ configurable: true,
21
+ writable: true,
22
+ value: void 0
23
+ });
24
+ Object.defineProperty(this, "strategy", {
25
+ enumerable: true,
26
+ configurable: true,
27
+ writable: true,
28
+ value: void 0
29
+ });
30
+ Object.defineProperty(this, "currencyA", {
31
+ enumerable: true,
32
+ configurable: true,
33
+ writable: true,
34
+ value: void 0
35
+ });
36
+ Object.defineProperty(this, "currencyB", {
37
+ enumerable: true,
38
+ configurable: true,
39
+ writable: true,
40
+ value: void 0
41
+ });
42
+ Object.defineProperty(this, "currencyLp", {
43
+ enumerable: true,
44
+ configurable: true,
45
+ writable: true,
46
+ value: void 0
47
+ });
48
+ Object.defineProperty(this, "totalSupply", {
49
+ enumerable: true,
50
+ configurable: true,
51
+ writable: true,
52
+ value: void 0
53
+ });
54
+ Object.defineProperty(this, "decimals", {
55
+ enumerable: true,
56
+ configurable: true,
57
+ writable: true,
58
+ value: void 0
59
+ });
60
+ Object.defineProperty(this, "reserveA", {
61
+ enumerable: true,
62
+ configurable: true,
63
+ writable: true,
64
+ value: void 0
65
+ });
66
+ Object.defineProperty(this, "reserveB", {
67
+ enumerable: true,
68
+ configurable: true,
69
+ writable: true,
70
+ value: void 0
71
+ });
72
+ Object.defineProperty(this, "liquidityA", {
73
+ enumerable: true,
74
+ configurable: true,
75
+ writable: true,
76
+ value: void 0
77
+ });
78
+ Object.defineProperty(this, "liquidityB", {
79
+ enumerable: true,
80
+ configurable: true,
81
+ writable: true,
82
+ value: void 0
83
+ });
84
+ Object.defineProperty(this, "orderListA", {
85
+ enumerable: true,
86
+ configurable: true,
87
+ writable: true,
88
+ value: void 0
89
+ });
90
+ Object.defineProperty(this, "orderListB", {
91
+ enumerable: true,
92
+ configurable: true,
93
+ writable: true,
94
+ value: void 0
95
+ });
96
+ this.key = toPoolKey(bookIdA, bookIdB, salt);
97
+ this.market = market;
98
+ this.isOpened = isOpened;
99
+ this.strategy = CONTRACT_ADDRESSES[chainId].Strategy;
100
+ if (bookIdA === market.bidBook.id && bookIdB === market.askBook.id) {
101
+ this.currencyA = market.bidBook.quote; // or market.askBook.base
102
+ this.currencyB = market.bidBook.base; // or market.askBook.quote
103
+ }
104
+ else if (bookIdA === market.askBook.id && bookIdB === market.bidBook.id) {
105
+ this.currencyA = market.askBook.quote; // or market.bidBook.base
106
+ this.currencyB = market.askBook.base; // or market.bidBook.quote
107
+ }
108
+ else if (bookIdA === 0n && bookIdB === 0n) {
109
+ // pool is not opened, so we don't know the currency pair
110
+ this.currencyA = market.bidBook.base;
111
+ this.currencyB = market.askBook.base;
112
+ }
113
+ else {
114
+ throw new Error('Invalid book id');
115
+ }
116
+ this.currencyLp = {
117
+ address: CONTRACT_ADDRESSES[chainId].Rebalancer,
118
+ id: BigInt(poolKey),
119
+ name: `${this.currencyA.symbol}-${this.currencyB.symbol} LP Token`,
120
+ symbol: `${this.currencyA.symbol}-${this.currencyB.symbol}`,
121
+ decimals: decimals,
122
+ };
123
+ this.totalSupply = totalSupply;
124
+ this.decimals = decimals;
125
+ this.liquidityA = liquidityA;
126
+ this.liquidityB = liquidityB;
127
+ this.reserveA = formatUnits(reserveA, this.currencyA.decimals);
128
+ this.reserveB = formatUnits(reserveB, this.currencyB.decimals);
129
+ this.orderListA = orderListA;
130
+ this.orderListB = orderListB;
131
+ }
132
+ }
133
+ //# sourceMappingURL=pool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pool.js","sourceRoot":"","sources":["../../../src/model/pool.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=strategy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"strategy.js","sourceRoot":"","sources":["../../../src/model/strategy.ts"],"names":[],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"type.js","sourceRoot":"","sources":["../../src/type.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAyE7C,MAAM,CAAN,IAAY,mBAaX;AAbD,WAAY,mBAAmB;IAC7B,uCAAgB,CAAA;IAChB,0CAAmB,CAAA;IACnB,yCAAkB,CAAA;IAClB,yCAAkB,CAAA;IAClB,6CAAsB,CAAA;IACtB,4CAAqB,CAAA;IACrB,qCAAc,CAAA;IACd,sCAAe,CAAA;IACf,uCAAgB,CAAA;IAChB,sCAAe,CAAA;IACf,oCAAa,CAAA;IACb,qCAAc,CAAA;AAChB,CAAC,EAbW,mBAAmB,KAAnB,mBAAmB,QAa9B"}
1
+ {"version":3,"file":"type.js","sourceRoot":"","sources":["../../src/type.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AA6F7C,MAAM,CAAN,IAAY,mBAaX;AAbD,WAAY,mBAAmB;IAC7B,uCAAgB,CAAA;IAChB,0CAAmB,CAAA;IACnB,yCAAkB,CAAA;IAClB,yCAAkB,CAAA;IAClB,6CAAsB,CAAA;IACtB,4CAAqB,CAAA;IACrB,qCAAc,CAAA;IACd,sCAAe,CAAA;IACf,uCAAgB,CAAA;IAChB,sCAAe,CAAA;IACf,oCAAa,CAAA;IACb,qCAAc,CAAA;AAChB,CAAC,EAbW,mBAAmB,KAAnB,mBAAmB,QAa9B"}
@@ -1,3 +1,4 @@
1
+ export const abs = (x) => (x < 0n ? -x : x);
1
2
  export const divide = (x, y, roundUp) => {
2
3
  if (roundUp) {
3
4
  if (x === 0n) {
@@ -1 +1 @@
1
- {"version":3,"file":"math.js","sourceRoot":"","sources":["../../../src/utils/math.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"math.js","sourceRoot":"","sources":["../../../src/utils/math.ts"],"names":[],"mappings":"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"}
@@ -1,43 +1,42 @@
1
1
  import { CONTRACT_ADDRESSES } from '../constants/addresses';
2
- const _abi = [
3
- {
4
- inputs: [
5
- {
6
- internalType: 'BookId',
7
- name: 'id',
8
- type: 'uint192',
9
- },
10
- ],
11
- name: 'isOpened',
12
- outputs: [
13
- {
14
- internalType: 'bool',
15
- name: '',
16
- type: 'bool',
17
- },
18
- ],
19
- stateMutability: 'view',
20
- type: 'function',
21
- },
22
- ];
23
2
  const buildBookCacheKey = (chainId, bookId) => `${chainId}:${bookId}`;
24
- const isOpenedCache = new Map();
25
- const getIsOpenedFromCache = (chainId, bookId) => isOpenedCache.get(buildBookCacheKey(chainId, bookId));
26
- const setIsOpenedToCache = (chainId, bookId, isOpened) => isOpenedCache.set(buildBookCacheKey(chainId, bookId), isOpened);
27
- export async function fetchIsOpened(publicClient, chainId, bookId) {
28
- const cachedIsOpened = getIsOpenedFromCache(chainId, bookId);
29
- if (cachedIsOpened !== undefined) {
30
- return cachedIsOpened;
3
+ const isMarketOpenedCache = new Map();
4
+ const getIsMarketOpenedFromCache = (chainId, bookId) => isMarketOpenedCache.get(buildBookCacheKey(chainId, bookId));
5
+ const setIsMarketOpenedToCache = (chainId, bookId, isOpened) => isMarketOpenedCache.set(buildBookCacheKey(chainId, bookId), isOpened);
6
+ export async function fetchIsMarketOpened(publicClient, chainId, bookId) {
7
+ const cachedIsMarketOpened = getIsMarketOpenedFromCache(chainId, bookId);
8
+ if (cachedIsMarketOpened !== undefined) {
9
+ return cachedIsMarketOpened;
31
10
  }
32
- const isOpened = await publicClient.readContract({
11
+ const isMarketOpened = await publicClient.readContract({
33
12
  address: CONTRACT_ADDRESSES[chainId].BookManager,
34
- abi: _abi,
13
+ abi: [
14
+ {
15
+ inputs: [
16
+ {
17
+ internalType: 'BookId',
18
+ name: 'id',
19
+ type: 'uint192',
20
+ },
21
+ ],
22
+ name: 'isOpened',
23
+ outputs: [
24
+ {
25
+ internalType: 'bool',
26
+ name: '',
27
+ type: 'bool',
28
+ },
29
+ ],
30
+ stateMutability: 'view',
31
+ type: 'function',
32
+ },
33
+ ],
35
34
  functionName: 'isOpened',
36
35
  args: [bookId],
37
36
  });
38
- if (isOpened) {
39
- setIsOpenedToCache(chainId, bookId, isOpened);
37
+ if (isMarketOpened) {
38
+ setIsMarketOpenedToCache(chainId, bookId, isMarketOpened);
40
39
  }
41
- return isOpened;
40
+ return isMarketOpened;
42
41
  }
43
42
  //# sourceMappingURL=open.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"open.js","sourceRoot":"","sources":["../../../src/utils/open.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAE3D,MAAM,IAAI,GAAG;IACX;QACE,MAAM,EAAE;YACN;gBACE,YAAY,EAAE,QAAQ;gBACtB,IAAI,EAAE,IAAI;gBACV,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE;YACP;gBACE,YAAY,EAAE,MAAM;gBACpB,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,MAAM;aACb;SACF;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;CACO,CAAA;AAEV,MAAM,iBAAiB,GAAG,CAAC,OAAkB,EAAE,MAAc,EAAE,EAAE,CAC/D,GAAG,OAAO,IAAI,MAAM,EAAE,CAAA;AACxB,MAAM,aAAa,GAAG,IAAI,GAAG,EAAmB,CAAA;AAChD,MAAM,oBAAoB,GAAG,CAAC,OAAkB,EAAE,MAAc,EAAE,EAAE,CAClE,aAAa,CAAC,GAAG,CAAC,iBAAiB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAA;AACvD,MAAM,kBAAkB,GAAG,CACzB,OAAkB,EAClB,MAAc,EACd,QAAiB,EACjB,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,iBAAiB,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,QAAQ,CAAC,CAAA;AAEpE,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,YAA0B,EAC1B,OAAkB,EAClB,MAAc;IAEd,MAAM,cAAc,GAAG,oBAAoB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;IAC5D,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;QACjC,OAAO,cAAc,CAAA;IACvB,CAAC;IACD,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,YAAY,CAAC;QAC/C,OAAO,EAAE,kBAAkB,CAAC,OAAO,CAAE,CAAC,WAAW;QACjD,GAAG,EAAE,IAAI;QACT,YAAY,EAAE,UAAU;QACxB,IAAI,EAAE,CAAC,MAAM,CAAC;KACf,CAAC,CAAA;IACF,IAAI,QAAQ,EAAE,CAAC;QACb,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAA;IAC/C,CAAC;IACD,OAAO,QAAQ,CAAA;AACjB,CAAC"}
1
+ {"version":3,"file":"open.js","sourceRoot":"","sources":["../../../src/utils/open.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAE3D,MAAM,iBAAiB,GAAG,CAAC,OAAkB,EAAE,MAAc,EAAE,EAAE,CAC/D,GAAG,OAAO,IAAI,MAAM,EAAE,CAAA;AACxB,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAmB,CAAA;AACtD,MAAM,0BAA0B,GAAG,CAAC,OAAkB,EAAE,MAAc,EAAE,EAAE,CACxE,mBAAmB,CAAC,GAAG,CAAC,iBAAiB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAA;AAC7D,MAAM,wBAAwB,GAAG,CAC/B,OAAkB,EAClB,MAAc,EACd,QAAiB,EACjB,EAAE,CAAC,mBAAmB,CAAC,GAAG,CAAC,iBAAiB,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,QAAQ,CAAC,CAAA;AAE1E,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,YAA0B,EAC1B,OAAkB,EAClB,MAAc;IAEd,MAAM,oBAAoB,GAAG,0BAA0B,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;IACxE,IAAI,oBAAoB,KAAK,SAAS,EAAE,CAAC;QACvC,OAAO,oBAAoB,CAAA;IAC7B,CAAC;IACD,MAAM,cAAc,GAAG,MAAM,YAAY,CAAC,YAAY,CAAC;QACrD,OAAO,EAAE,kBAAkB,CAAC,OAAO,CAAE,CAAC,WAAW;QACjD,GAAG,EAAE;YACH;gBACE,MAAM,EAAE;oBACN;wBACE,YAAY,EAAE,QAAQ;wBACtB,IAAI,EAAE,IAAI;wBACV,IAAI,EAAE,SAAS;qBAChB;iBACF;gBACD,IAAI,EAAE,UAAU;gBAChB,OAAO,EAAE;oBACP;wBACE,YAAY,EAAE,MAAM;wBACpB,IAAI,EAAE,EAAE;wBACR,IAAI,EAAE,MAAM;qBACb;iBACF;gBACD,eAAe,EAAE,MAAM;gBACvB,IAAI,EAAE,UAAU;aACjB;SACO;QACV,YAAY,EAAE,UAAU;QACxB,IAAI,EAAE,CAAC,MAAM,CAAC;KACf,CAAC,CAAA;IACF,IAAI,cAAc,EAAE,CAAC;QACnB,wBAAwB,CAAC,OAAO,EAAE,MAAM,EAAE,cAAc,CAAC,CAAA;IAC3D,CAAC;IACD,OAAO,cAAc,CAAA;AACvB,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { encodePacked, keccak256 } from 'viem';
2
+ export const toPoolKey = (bookIdA, bookIdB, salt) => {
3
+ if (bookIdA > bookIdB) {
4
+ ;
5
+ [bookIdA, bookIdB] = [bookIdB, bookIdA];
6
+ }
7
+ return keccak256(encodePacked(['uint192', 'uint192', 'bytes32'], [bookIdA, bookIdB, toBytes32(salt)]));
8
+ };
9
+ export const toBytes32 = (value) => {
10
+ return `0x${value.slice(2, 66).padStart(64, '0')}`;
11
+ };
12
+ //# sourceMappingURL=pool-key.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pool-key.js","sourceRoot":"","sources":["../../../src/utils/pool-key.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,MAAM,CAAA;AAE9C,MAAM,CAAC,MAAM,SAAS,GAAG,CACvB,OAAe,EACf,OAAe,EACf,IAAmB,EACnB,EAAE;IACF,IAAI,OAAO,GAAG,OAAO,EAAE,CAAC;QACtB,CAAC;QAAA,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;IAC1C,CAAC;IACD,OAAO,SAAS,CACd,YAAY,CACV,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,EACjC,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CACpC,CACF,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,KAAoB,EAAiB,EAAE;IAC/D,OAAO,KAAK,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,CAAA;AACpD,CAAC,CAAA"}
@@ -0,0 +1,84 @@
1
+ // @dev: This function is ported from the contract code
2
+ export function getExpectedMintResult(totalSupply, liquidityA, liquidityB, amountA, amountB, currencyA, currencyB) {
3
+ if (totalSupply === 0n) {
4
+ if (amountA === 0n || amountB === 0n) {
5
+ return {
6
+ mintAmount: 0n,
7
+ inAmountA: 0n,
8
+ inAmountB: 0n,
9
+ };
10
+ }
11
+ const complementA = BigInt(10 ** (18 - currencyA.decimals));
12
+ const complementB = BigInt(10 ** (18 - currencyB.decimals));
13
+ const _amountA = amountA * complementA;
14
+ const _amountB = amountB * complementB;
15
+ return {
16
+ mintAmount: _amountA > _amountB ? _amountA : _amountB,
17
+ inAmountA: amountA,
18
+ inAmountB: amountB,
19
+ };
20
+ }
21
+ else {
22
+ if (liquidityA === 0n && liquidityB === 0n) {
23
+ return {
24
+ mintAmount: 0n,
25
+ inAmountA: 0n,
26
+ inAmountB: 0n,
27
+ };
28
+ }
29
+ else if (liquidityA === 0n) {
30
+ return {
31
+ mintAmount: (amountB * totalSupply) / liquidityB,
32
+ inAmountA: 0n,
33
+ inAmountB: amountB,
34
+ };
35
+ }
36
+ else if (liquidityB === 0n) {
37
+ return {
38
+ mintAmount: (amountA * totalSupply) / liquidityA,
39
+ inAmountA: amountA,
40
+ inAmountB: 0n,
41
+ };
42
+ }
43
+ else {
44
+ const mintA = (amountA * totalSupply) / liquidityA;
45
+ const mintB = (amountB * totalSupply) / liquidityB;
46
+ if (mintA > mintB) {
47
+ return {
48
+ mintAmount: mintB,
49
+ inAmountA: (liquidityA * mintB) / totalSupply,
50
+ inAmountB: amountB,
51
+ };
52
+ }
53
+ else {
54
+ return {
55
+ mintAmount: mintA,
56
+ inAmountA: amountA,
57
+ inAmountB: (liquidityB * mintA) / totalSupply,
58
+ };
59
+ }
60
+ }
61
+ }
62
+ }
63
+ export function getIdealDelta(amountA, amountB, liquidityA, liquidityB, swapAmountA, swapAmountB) {
64
+ if (swapAmountA === 0n || swapAmountB === 0n) {
65
+ throw new Error('Invalid swap amount information');
66
+ }
67
+ if (liquidityA === 0n && liquidityB === 0n) {
68
+ return {
69
+ deltaA: 0n,
70
+ deltaB: 0n,
71
+ };
72
+ }
73
+ else {
74
+ const deltaA = ((liquidityA * amountB - liquidityB * amountA) * swapAmountA) /
75
+ (swapAmountA * liquidityB + swapAmountB * liquidityA);
76
+ const deltaB = -((liquidityA * amountB - liquidityB * amountA) * swapAmountB) /
77
+ (swapAmountA * liquidityB + swapAmountB * liquidityA);
78
+ return {
79
+ deltaA,
80
+ deltaB,
81
+ };
82
+ }
83
+ }
84
+ //# sourceMappingURL=pool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pool.js","sourceRoot":"","sources":["../../../src/utils/pool.ts"],"names":[],"mappings":"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"}
@@ -13,12 +13,16 @@ export const formatPrice = (price, quoteDecimals, baseDecimals) => {
13
13
  .div(new BigNumber(10).pow(quoteDecimals))
14
14
  .toFixed();
15
15
  };
16
- export const parsePrice = (humanReadablePrice, quoteDecimals, baseDecimals) => {
16
+ export const convertHumanReadablePriceToRawPrice = (humanReadablePrice, quoteDecimals, baseDecimals) => {
17
17
  const value = new BigNumber(humanReadablePrice)
18
18
  .times(new BigNumber(2).pow(PRICE_PRECISION.toString()))
19
19
  .times(new BigNumber(10).pow(quoteDecimals))
20
20
  .div(new BigNumber(10).pow(baseDecimals));
21
21
  const rawPrice = BigInt(value.isInteger() ? value.toFixed() : value.integerValue().toFixed());
22
+ return rawPrice;
23
+ };
24
+ export const parsePrice = (humanReadablePrice, quoteDecimals, baseDecimals) => {
25
+ const rawPrice = convertHumanReadablePriceToRawPrice(humanReadablePrice, quoteDecimals, baseDecimals);
22
26
  const cutOffRawPrice = max(MIN_PRICE, min(rawPrice, MAX_PRICE));
23
27
  const tick = fromPrice(cutOffRawPrice);
24
28
  const flooredPrice = toPrice(tick);
@@ -1 +1 @@
1
- {"version":3,"file":"prices.js","sourceRoot":"","sources":["../../../src/utils/prices.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prices.js","sourceRoot":"","sources":["../../../src/utils/prices.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,cAAc,CAAA;AAEpC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAG1E,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAA;AACvD,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAEnC,SAAS,CAAC,MAAM,CAAC;IACf,cAAc,EAAE,GAAG;CACpB,CAAC,CAAA;AAEF,8DAA8D;AAC9D,MAAM,CAAC,MAAM,WAAW,GAAG,CACzB,KAAa,EACb,aAAqB,EACrB,YAAoB,EACZ,EAAE;IACV,OAAO,IAAI,SAAS,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;SACnC,GAAG,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC,CAAC;SACrD,KAAK,CAAC,IAAI,SAAS,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;SAC1C,GAAG,CAAC,IAAI,SAAS,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;SACzC,OAAO,EAAE,CAAA;AACd,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,mCAAmC,GAAG,CACjD,kBAA0B,EAC1B,aAAqB,EACrB,YAAoB,EACZ,EAAE;IACV,MAAM,KAAK,GAAG,IAAI,SAAS,CAAC,kBAAkB,CAAC;SAC5C,KAAK,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC,CAAC;SACvD,KAAK,CAAC,IAAI,SAAS,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;SAC3C,GAAG,CAAC,IAAI,SAAS,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAA;IAC3C,MAAM,QAAQ,GAAG,MAAM,CACrB,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC,OAAO,EAAE,CACrE,CAAA;IACD,OAAO,QAAQ,CAAA;AACjB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,UAAU,GAAG,CACxB,kBAA0B,EAC1B,aAAqB,EACrB,YAAoB,EAIpB,EAAE;IACF,MAAM,QAAQ,GAAG,mCAAmC,CAClD,kBAAkB,EAClB,aAAa,EACb,YAAY,CACb,CAAA;IACD,MAAM,cAAc,GAAG,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAA;IAC/D,MAAM,IAAI,GAAG,SAAS,CAAC,cAAc,CAAC,CAAA;IACtC,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAClC,IAAI,QAAQ,KAAK,YAAY,EAAE,CAAC;QAC9B,OAAO;YACL,gBAAgB,EAAE,IAAI;YACtB,cAAc,EAAE,IAAI;SACrB,CAAA;IACH,CAAC;IACD,OAAO;QACL,gBAAgB,EAAE,IAAI;QACtB,cAAc,EAAE,IAAI,GAAG,EAAE;KAC1B,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,EAC7B,mBAAmB,EACnB,kBAAkB,EAClB,OAAO,EACP,OAAO,GAMR,EAAU,EAAE;IACX,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,OAAO,WAAW,CAChB,OAAO,CAAC,OAAO,CAAC,EAChB,mBAAmB,CAAC,QAAQ,EAC5B,kBAAkB,CAAC,QAAQ,CAC5B,CAAA;IACH,CAAC;SAAM,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QACjC,OAAO,WAAW,CAChB,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,EAC5B,mBAAmB,CAAC,QAAQ,EAC5B,kBAAkB,CAAC,QAAQ,CAC5B,CAAA;IACH,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAA;IAC/D,CAAC;AACH,CAAC,CAAA"}