@paraswap/dex-lib 3.8.24 → 3.8.26

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 (222) hide show
  1. package/.vscode/launch.json +16 -0
  2. package/.vscode/settings.json +3 -0
  3. package/build/abi/Uncompressor.json +250 -0
  4. package/build/abi/integral/factory.json +333 -0
  5. package/build/abi/integral/oracle.json +501 -0
  6. package/build/abi/{inception/inception-ineth-pool.json → integral/pool.json} +522 -543
  7. package/build/abi/integral/relayer.json +1536 -0
  8. package/build/dex/aave-v1/aave-v1.d.ts +1 -2
  9. package/build/dex/aave-v1/aave-v1.js +0 -22
  10. package/build/dex/aave-v1/aave-v1.js.map +1 -1
  11. package/build/dex/bProtocol.d.ts +18 -0
  12. package/build/dex/bProtocol.js +39 -0
  13. package/build/dex/bProtocol.js.map +1 -0
  14. package/build/dex/bancor.d.ts +26 -0
  15. package/build/dex/bancor.js +58 -0
  16. package/build/dex/bancor.js.map +1 -0
  17. package/build/dex/compound.d.ts +18 -0
  18. package/build/dex/compound.js +46 -0
  19. package/build/dex/compound.js.map +1 -0
  20. package/build/dex/curve-v2.d.ts +58 -0
  21. package/build/dex/curve-v2.js +180 -0
  22. package/build/dex/curve-v2.js.map +1 -0
  23. package/build/dex/dodo-v1.d.ts +33 -0
  24. package/build/dex/dodo-v1.js +63 -0
  25. package/build/dex/dodo-v1.js.map +1 -0
  26. package/build/dex/etherfi/etherfi.d.ts +26 -0
  27. package/build/dex/etherfi/etherfi.js +96 -0
  28. package/build/dex/etherfi/etherfi.js.map +1 -0
  29. package/build/dex/generic-rfq/rate-fetcher.js +1 -1
  30. package/build/dex/generic-rfq/rate-fetcher.js.map +1 -1
  31. package/build/dex/index.js +2 -0
  32. package/build/dex/index.js.map +1 -1
  33. package/build/dex/integral/config.d.ts +4 -0
  34. package/build/dex/integral/config.js +20 -0
  35. package/build/dex/integral/config.js.map +1 -0
  36. package/build/dex/integral/context.d.ts +40 -0
  37. package/build/dex/integral/context.js +158 -0
  38. package/build/dex/integral/context.js.map +1 -0
  39. package/build/dex/integral/helpers.d.ts +17 -0
  40. package/build/dex/integral/helpers.js +157 -0
  41. package/build/dex/integral/helpers.js.map +1 -0
  42. package/build/dex/integral/integral-factory.d.ts +24 -0
  43. package/build/dex/integral/integral-factory.js +95 -0
  44. package/build/dex/integral/integral-factory.js.map +1 -0
  45. package/build/dex/integral/integral-pool.d.ts +50 -0
  46. package/build/dex/integral/integral-pool.js +149 -0
  47. package/build/dex/integral/integral-pool.js.map +1 -0
  48. package/build/dex/integral/integral-pricing.d.ts +18 -0
  49. package/build/dex/integral/integral-pricing.js +114 -0
  50. package/build/dex/integral/integral-pricing.js.map +1 -0
  51. package/build/dex/integral/integral-relayer.d.ts +42 -0
  52. package/build/dex/integral/integral-relayer.js +192 -0
  53. package/build/dex/integral/integral-relayer.js.map +1 -0
  54. package/build/dex/integral/integral-token.d.ts +27 -0
  55. package/build/dex/integral/integral-token.js +59 -0
  56. package/build/dex/integral/integral-token.js.map +1 -0
  57. package/build/dex/{inception/inception-native.d.ts → integral/integral.d.ts} +19 -21
  58. package/build/dex/integral/integral.js +376 -0
  59. package/build/dex/integral/integral.js.map +1 -0
  60. package/build/dex/integral/types.d.ts +85 -0
  61. package/build/dex/integral/types.js +9 -0
  62. package/build/dex/integral/types.js.map +1 -0
  63. package/build/dex/integral/utils-e2e.d.ts +9 -0
  64. package/build/dex/integral/utils-e2e.js +131 -0
  65. package/build/dex/integral/utils-e2e.js.map +1 -0
  66. package/build/dex/integral/utils.d.ts +17 -0
  67. package/build/dex/integral/utils.js +94 -0
  68. package/build/dex/integral/utils.js.map +1 -0
  69. package/build/dex/lido.d.ts +19 -0
  70. package/build/dex/lido.js +42 -0
  71. package/build/dex/lido.js.map +1 -0
  72. package/build/dex/onebit.d.ts +25 -0
  73. package/build/dex/onebit.js +42 -0
  74. package/build/dex/onebit.js.map +1 -0
  75. package/build/dex/oswap/oswap-pool.js +8 -8
  76. package/build/dex/oswap/oswap-pool.js.map +1 -1
  77. package/build/dex/oswap/oswap.d.ts +3 -3
  78. package/build/dex/oswap/oswap.js +21 -12
  79. package/build/dex/oswap/oswap.js.map +1 -1
  80. package/build/dex/oswap/types.d.ts +4 -4
  81. package/build/dex/platypus/platypus.d.ts +1 -2
  82. package/build/dex/platypus/platypus.js +0 -31
  83. package/build/dex/platypus/platypus.js.map +1 -1
  84. package/build/dex/sdai/config.d.ts +11 -0
  85. package/build/dex/sdai/config.js +21 -0
  86. package/build/dex/sdai/config.js.map +1 -0
  87. package/build/dex/sdai/constants.d.ts +2 -0
  88. package/build/dex/sdai/constants.js +6 -0
  89. package/build/dex/sdai/constants.js.map +1 -0
  90. package/build/dex/sdai/scripts/validate-state.d.ts +1 -0
  91. package/build/dex/sdai/scripts/validate-state.js +102 -0
  92. package/build/dex/sdai/scripts/validate-state.js.map +1 -0
  93. package/build/dex/sdai/sdai-pool.d.ts +16 -0
  94. package/build/dex/sdai/sdai-pool.js +85 -0
  95. package/build/dex/sdai/sdai-pool.js.map +1 -0
  96. package/build/dex/sdai/sdai.d.ts +51 -0
  97. package/build/dex/sdai/sdai.js +172 -0
  98. package/build/dex/sdai/sdai.js.map +1 -0
  99. package/build/dex/sdai/types.d.ts +21 -0
  100. package/build/dex/sdai/types.js +11 -0
  101. package/build/dex/sdai/types.js.map +1 -0
  102. package/build/dex/sdai/utils.d.ts +4 -0
  103. package/build/dex/sdai/utils.js +39 -0
  104. package/build/dex/sdai/utils.js.map +1 -0
  105. package/build/dex/smoothy.d.ts +26 -0
  106. package/build/dex/smoothy.js +48 -0
  107. package/build/dex/smoothy.js.map +1 -0
  108. package/build/dex/stable-pool.d.ts +28 -0
  109. package/build/dex/stable-pool.js +62 -0
  110. package/build/dex/stable-pool.js.map +1 -0
  111. package/build/dex/swaap-v1/swaap-v1.d.ts +1 -2
  112. package/build/dex/swaap-v1/swaap-v1.js +0 -10
  113. package/build/dex/swaap-v1/swaap-v1.js.map +1 -1
  114. package/build/dex/trader-joe-v2.1/optimizer.d.ts +2 -0
  115. package/build/dex/trader-joe-v2.1/optimizer.js +44 -0
  116. package/build/dex/trader-joe-v2.1/optimizer.js.map +1 -0
  117. package/build/dex/trader-joe-v2.1.d.ts +43 -0
  118. package/build/dex/trader-joe-v2.1.js +79 -0
  119. package/build/dex/trader-joe-v2.1.js.map +1 -0
  120. package/build/executor/compressor/Compressor.d.ts +23 -0
  121. package/build/executor/compressor/Compressor.js +144 -0
  122. package/build/executor/compressor/Compressor.js.map +1 -0
  123. package/build/executor/compressor/compress.d.ts +17 -0
  124. package/build/executor/compressor/compress.js +187 -0
  125. package/build/executor/compressor/compress.js.map +1 -0
  126. package/build/executor/compressor/compress_functions/addressSubstitution.d.ts +6 -0
  127. package/build/executor/compressor/compress_functions/addressSubstitution.js +29 -0
  128. package/build/executor/compressor/compress_functions/addressSubstitution.js.map +1 -0
  129. package/build/executor/compressor/compress_functions/addressSubstitutionFromObject.d.ts +10 -0
  130. package/build/executor/compressor/compress_functions/addressSubstitutionFromObject.js +40 -0
  131. package/build/executor/compressor/compress_functions/addressSubstitutionFromObject.js.map +1 -0
  132. package/build/executor/compressor/compress_functions/byteSubstitution.d.ts +11 -0
  133. package/build/executor/compressor/compress_functions/byteSubstitution.js +64 -0
  134. package/build/executor/compressor/compress_functions/byteSubstitution.js.map +1 -0
  135. package/build/executor/compressor/compress_functions/ffSubstitution.d.ts +7 -0
  136. package/build/executor/compressor/compress_functions/ffSubstitution.js +54 -0
  137. package/build/executor/compressor/compress_functions/ffSubstitution.js.map +1 -0
  138. package/build/executor/compressor/compress_functions/findLongestAndSubstitute.d.ts +8 -0
  139. package/build/executor/compressor/compress_functions/findLongestAndSubstitute.js +67 -0
  140. package/build/executor/compressor/compress_functions/findLongestAndSubstitute.js.map +1 -0
  141. package/build/executor/compressor/compress_functions/findLongestAndSubstitute_old.d.ts +8 -0
  142. package/build/executor/compressor/compress_functions/findLongestAndSubstitute_old.js +61 -0
  143. package/build/executor/compressor/compress_functions/findLongestAndSubstitute_old.js.map +1 -0
  144. package/build/executor/compressor/compress_functions/reverseAddressSubstitution.d.ts +6 -0
  145. package/build/executor/compressor/compress_functions/reverseAddressSubstitution.js +37 -0
  146. package/build/executor/compressor/compress_functions/reverseAddressSubstitution.js.map +1 -0
  147. package/build/executor/compressor/compress_functions/searchUnusedBytes.d.ts +9 -0
  148. package/build/executor/compressor/compress_functions/searchUnusedBytes.js +33 -0
  149. package/build/executor/compressor/compress_functions/searchUnusedBytes.js.map +1 -0
  150. package/build/executor/compressor/fetchSaved.d.ts +0 -0
  151. package/build/executor/compressor/fetchSaved.js +17 -0
  152. package/build/executor/compressor/fetchSaved.js.map +1 -0
  153. package/build/executor/compressor/utils/computeCostL2.d.ts +2 -0
  154. package/build/executor/compressor/utils/computeCostL2.js +14 -0
  155. package/build/executor/compressor/utils/computeCostL2.js.map +1 -0
  156. package/build/executor/compressor/utils/findLongestDuplicatedString.d.ts +2 -0
  157. package/build/executor/compressor/utils/findLongestDuplicatedString.js +30 -0
  158. package/build/executor/compressor/utils/findLongestDuplicatedString.js.map +1 -0
  159. package/build/executor/compressor/utils/getAllIndexes.d.ts +2 -0
  160. package/build/executor/compressor/utils/getAllIndexes.js +12 -0
  161. package/build/executor/compressor/utils/getAllIndexes.js.map +1 -0
  162. package/build/executor/compressor/utils/getByteForAddress.d.ts +2 -0
  163. package/build/executor/compressor/utils/getByteForAddress.js +14 -0
  164. package/build/executor/compressor/utils/getByteForAddress.js.map +1 -0
  165. package/build/executor/compressor/utils/intTo2Bytes.d.ts +2 -0
  166. package/build/executor/compressor/utils/intTo2Bytes.js +14 -0
  167. package/build/executor/compressor/utils/intTo2Bytes.js.map +1 -0
  168. package/build/executor/compressor/utils/intTo3Bytes.d.ts +2 -0
  169. package/build/executor/compressor/utils/intTo3Bytes.js +18 -0
  170. package/build/executor/compressor/utils/intTo3Bytes.js.map +1 -0
  171. package/build/executor/compressor/utils/intToByte.d.ts +2 -0
  172. package/build/executor/compressor/utils/intToByte.js +10 -0
  173. package/build/executor/compressor/utils/intToByte.js.map +1 -0
  174. package/package.json +1 -1
  175. package/src/abi/oswap/oswap.abi.json +452 -0
  176. package/src/dex/generic-rfq/rate-fetcher.ts +6 -5
  177. package/src/dex/index.ts +2 -0
  178. package/src/dex/oswap/config.ts +32 -0
  179. package/src/dex/oswap/oswap-e2e.test.ts +91 -0
  180. package/src/dex/oswap/oswap-events.test.ts +88 -0
  181. package/src/dex/oswap/oswap-integration.test.ts +291 -0
  182. package/src/dex/oswap/oswap-pool.ts +190 -0
  183. package/src/dex/oswap/oswap.ts +414 -0
  184. package/src/dex/oswap/types.ts +29 -0
  185. package/build/abi/inception/inception-ineth.json +0 -609
  186. package/build/abi/inception/inception-ratio-feed.json +0 -93
  187. package/build/abi/inception/inception-vault.json +0 -991
  188. package/build/dex/idle-dao/idle-dao-pool.d.ts +0 -56
  189. package/build/dex/idle-dao/idle-dao-pool.js +0 -176
  190. package/build/dex/idle-dao/idle-dao-pool.js.map +0 -1
  191. package/build/dex/idle-dao/idle-dao-pooling-pool.d.ts +0 -16
  192. package/build/dex/idle-dao/idle-dao-pooling-pool.js +0 -57
  193. package/build/dex/idle-dao/idle-dao-pooling-pool.js.map +0 -1
  194. package/build/dex/idle-dao/scripts.d.ts +0 -9
  195. package/build/dex/idle-dao/scripts.js +0 -552
  196. package/build/dex/idle-dao/scripts.js.map +0 -1
  197. package/build/dex/inception/config.d.ts +0 -5
  198. package/build/dex/inception/config.js +0 -112
  199. package/build/dex/inception/config.js.map +0 -1
  200. package/build/dex/inception/inception-event-pool.d.ts +0 -23
  201. package/build/dex/inception/inception-event-pool.js +0 -34
  202. package/build/dex/inception/inception-event-pool.js.map +0 -1
  203. package/build/dex/inception/inception-native.js +0 -131
  204. package/build/dex/inception/inception-native.js.map +0 -1
  205. package/build/dex/inception/inception-pool.d.ts +0 -18
  206. package/build/dex/inception/inception-pool.js +0 -32
  207. package/build/dex/inception/inception-pool.js.map +0 -1
  208. package/build/dex/inception/inception-price-feed.d.ts +0 -19
  209. package/build/dex/inception/inception-price-feed.js +0 -51
  210. package/build/dex/inception/inception-price-feed.js.map +0 -1
  211. package/build/dex/inception/inception.d.ts +0 -44
  212. package/build/dex/inception/inception.js +0 -162
  213. package/build/dex/inception/inception.js.map +0 -1
  214. package/build/dex/inception/tokens.d.ts +0 -9
  215. package/build/dex/inception/tokens.js +0 -28
  216. package/build/dex/inception/tokens.js.map +0 -1
  217. package/build/dex/inception/types.d.ts +0 -22
  218. package/build/dex/inception/types.js +0 -3
  219. package/build/dex/inception/types.js.map +0 -1
  220. package/build/dex/inception/utils.d.ts +0 -7
  221. package/build/dex/inception/utils.js +0 -58
  222. package/build/dex/inception/utils.js.map +0 -1
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const reverseAddressSubstitution = function ({ callData, addresses, isSavedAddresses, }) {
4
+ let markerLength = isSavedAddresses ? 5 : 3; // 'RR' + 3 bytes or 'TT' + 1 byte
5
+ let marker = isSavedAddresses ? 'RR' : 'TT';
6
+ let index = 0;
7
+ while (index < callData.length) {
8
+ let foundIndex = callData.indexOf(marker, index);
9
+ if (foundIndex === -1) {
10
+ break; // Marker not found, stop processing
11
+ }
12
+ else if (foundIndex % 2 !== 0) {
13
+ index++;
14
+ continue;
15
+ }
16
+ let addressIndex;
17
+ if (isSavedAddresses) {
18
+ // Extract 3 bytes after 'RR', convert to int
19
+ addressIndex = parseInt(callData.substring(foundIndex + 2, foundIndex + 5), 16);
20
+ }
21
+ else {
22
+ // Extract 1 byte after 'TT', convert to int
23
+ addressIndex = parseInt(callData.substring(foundIndex + 2, foundIndex + 3), 16);
24
+ }
25
+ if (addressIndex < addresses.length) {
26
+ // Replace marker and index bytes with the corresponding address
27
+ callData =
28
+ callData.substring(0, foundIndex) +
29
+ addresses[addressIndex] +
30
+ callData.substring(foundIndex + markerLength);
31
+ }
32
+ index = foundIndex + 1; // Update index to continue searching
33
+ }
34
+ return callData;
35
+ };
36
+ exports.default = reverseAddressSubstitution;
37
+ //# sourceMappingURL=reverseAddressSubstitution.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reverseAddressSubstitution.js","sourceRoot":"","sources":["../../../../src/executor/compressor/compress_functions/reverseAddressSubstitution.ts"],"names":[],"mappings":";;AAAA,MAAM,0BAA0B,GAAG,UAAU,EAC3C,QAAQ,EACR,SAAS,EACT,gBAAgB,GAKjB;IACC,IAAI,YAAY,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,kCAAkC;IAC/E,IAAI,MAAM,GAAG,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IAE5C,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,OAAO,KAAK,GAAG,QAAQ,CAAC,MAAM,EAAE;QAC9B,IAAI,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QACjD,IAAI,UAAU,KAAK,CAAC,CAAC,EAAE;YACrB,MAAM,CAAC,oCAAoC;SAC5C;aAAM,IAAI,UAAU,GAAG,CAAC,KAAK,CAAC,EAAE;YAC/B,KAAK,EAAE,CAAC;YACR,SAAS;SACV;QAED,IAAI,YAAoB,CAAC;QACzB,IAAI,gBAAgB,EAAE;YACpB,6CAA6C;YAC7C,YAAY,GAAG,QAAQ,CACrB,QAAQ,CAAC,SAAS,CAAC,UAAU,GAAG,CAAC,EAAE,UAAU,GAAG,CAAC,CAAC,EAClD,EAAE,CACH,CAAC;SACH;aAAM;YACL,4CAA4C;YAC5C,YAAY,GAAG,QAAQ,CACrB,QAAQ,CAAC,SAAS,CAAC,UAAU,GAAG,CAAC,EAAE,UAAU,GAAG,CAAC,CAAC,EAClD,EAAE,CACH,CAAC;SACH;QAED,IAAI,YAAY,GAAG,SAAS,CAAC,MAAM,EAAE;YACnC,gEAAgE;YAChE,QAAQ;gBACN,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,UAAU,CAAC;oBACjC,SAAS,CAAC,YAAY,CAAC;oBACvB,QAAQ,CAAC,SAAS,CAAC,UAAU,GAAG,YAAY,CAAC,CAAC;SACjD;QACD,KAAK,GAAG,UAAU,GAAG,CAAC,CAAC,CAAC,qCAAqC;KAC9D;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAEF,kBAAe,0BAA0B,CAAC"}
@@ -0,0 +1,9 @@
1
+ declare const searchUnusedBytes: ({ newAddresses, compressedCallData, }: {
2
+ newAddresses: string[];
3
+ compressedCallData: string;
4
+ }) => {
5
+ addressPrefix: string;
6
+ newAddressPrefix: string;
7
+ duplicatedStringMarkers: string[];
8
+ };
9
+ export default searchUnusedBytes;
@@ -0,0 +1,33 @@
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
+ const intToByte_1 = __importDefault(require("../utils/intToByte"));
7
+ const searchUnusedBytes = ({ newAddresses, compressedCallData, }) => {
8
+ let addressPrefix = '';
9
+ let newAddressPrefix = '';
10
+ let duplicatedStringMarkers = [];
11
+ for (let i = 1; i < 256; i++) {
12
+ if (addressPrefix.length &&
13
+ (newAddressPrefix.length || !newAddresses.length) &&
14
+ duplicatedStringMarkers.length === 6)
15
+ break;
16
+ let byte = (0, intToByte_1.default)(i);
17
+ if (!compressedCallData.includes(byte)) {
18
+ if (!addressPrefix.length)
19
+ addressPrefix = byte;
20
+ else if (!newAddressPrefix.length && newAddresses.length)
21
+ newAddressPrefix = byte;
22
+ else if (duplicatedStringMarkers.length < 6)
23
+ duplicatedStringMarkers.push(byte);
24
+ }
25
+ }
26
+ return {
27
+ addressPrefix,
28
+ newAddressPrefix,
29
+ duplicatedStringMarkers,
30
+ };
31
+ };
32
+ exports.default = searchUnusedBytes;
33
+ //# sourceMappingURL=searchUnusedBytes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"searchUnusedBytes.js","sourceRoot":"","sources":["../../../../src/executor/compressor/compress_functions/searchUnusedBytes.ts"],"names":[],"mappings":";;;;;AAAA,mEAA2C;AAE3C,MAAM,iBAAiB,GAAG,CAAC,EACzB,YAAY,EACZ,kBAAkB,GAInB,EAIC,EAAE;IACF,IAAI,aAAa,GAAG,EAAE,CAAC;IACvB,IAAI,gBAAgB,GAAG,EAAE,CAAC;IAC1B,IAAI,uBAAuB,GAAa,EAAE,CAAC;IAE3C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;QAC5B,IACE,aAAa,CAAC,MAAM;YACpB,CAAC,gBAAgB,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;YACjD,uBAAuB,CAAC,MAAM,KAAK,CAAC;YAEpC,MAAM;QAER,IAAI,IAAI,GAAG,IAAA,mBAAS,EAAC,CAAC,CAAC,CAAC;QACxB,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;YACtC,IAAI,CAAC,aAAa,CAAC,MAAM;gBAAE,aAAa,GAAG,IAAI,CAAC;iBAC3C,IAAI,CAAC,gBAAgB,CAAC,MAAM,IAAI,YAAY,CAAC,MAAM;gBACtD,gBAAgB,GAAG,IAAI,CAAC;iBACrB,IAAI,uBAAuB,CAAC,MAAM,GAAG,CAAC;gBACzC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACtC;KACF;IAED,OAAO;QACL,aAAa;QACb,gBAAgB;QAChB,uBAAuB;KACxB,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,iBAAiB,CAAC"}
File without changes
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ // import fetchSavedAddresses from './utils/fetchSavedAddresses';
3
+ // import fetchSavedMethods from './utils/fetchSavedMethods';
4
+ // import contractAddressByNetwork from './../data/contractAddressByNetwork';
5
+ // import fs from 'fs';
6
+ // const fetchSaved = async (): Promise<void> => {
7
+ // setInterval(async () => {
8
+ // for (const network in contractAddressByNetwork) {
9
+ // const savedAddresses = await fetchSavedAddresses(network);
10
+ // const savedMethods = await fetchSavedMethods(network);
11
+ // fs.writeFileSync(`./lib/data/${network}/savedAddresses.js`, `module.exports = ${JSON.stringify(savedAddresses)}`);
12
+ // fs.writeFileSync(`./lib/data/${network}/savedMethods.js`, `module.exports = ${JSON.stringify(savedMethods)}`);
13
+ // }
14
+ // }, 1000 * 300);
15
+ // };
16
+ // fetchSaved();
17
+ //# sourceMappingURL=fetchSaved.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetchSaved.js","sourceRoot":"","sources":["../../../src/executor/compressor/fetchSaved.ts"],"names":[],"mappings":";AAAA,iEAAiE;AACjE,6DAA6D;AAC7D,6EAA6E;AAC7E,uBAAuB;AAEvB,kDAAkD;AAClD,8BAA8B;AAC9B,wDAAwD;AACxD,mEAAmE;AACnE,+DAA+D;AAE/D,2HAA2H;AAC3H,uHAAuH;AACvH,QAAQ;AACR,oBAAoB;AACpB,KAAK;AAEL,gBAAgB"}
@@ -0,0 +1,2 @@
1
+ declare function computeCost(data: string): number;
2
+ export default computeCost;
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ // Function to compute cost based on zero and non-zero byte counts in data as priced by L2 (OP)
4
+ function computeCost(data) {
5
+ let countZero = 0;
6
+ for (let i = data.startsWith('0x') ? 2 : 0; i < data.length; i += 2) {
7
+ if (data.substring(i, i + 2) == '00')
8
+ countZero++;
9
+ }
10
+ const cost = countZero * 4 + (data.length / 2 - countZero) * 16;
11
+ return cost;
12
+ }
13
+ exports.default = computeCost;
14
+ //# sourceMappingURL=computeCostL2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"computeCostL2.js","sourceRoot":"","sources":["../../../../src/executor/compressor/utils/computeCostL2.ts"],"names":[],"mappings":";;AAAA,+FAA+F;AAC/F,SAAS,WAAW,CAAC,IAAY;IAC/B,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;QACnE,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI;YAAE,SAAS,EAAE,CAAC;KACnD;IACD,MAAM,IAAI,GAAG,SAAS,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,SAAS,CAAC,GAAG,EAAE,CAAC;IAChE,OAAO,IAAI,CAAC;AACd,CAAC;AAED,kBAAe,WAAW,CAAC"}
@@ -0,0 +1,2 @@
1
+ declare const findLongestDuplicatedString: (string: string) => string;
2
+ export default findLongestDuplicatedString;
@@ -0,0 +1,30 @@
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
+ const computeCostL2_1 = __importDefault(require("./computeCostL2"));
7
+ const findLongestDuplicatedString = (string) => {
8
+ let maxLetters = '';
9
+ let maxCost = 0;
10
+ const allSames = [];
11
+ for (let i = 0; i < string.length; i += 2) {
12
+ let j = 0;
13
+ let searchedString = string.substring(i, i + 2);
14
+ while (string.substring(i + j * 2 + 2).indexOf(searchedString) > -1) {
15
+ let cost = (0, computeCostL2_1.default)(searchedString);
16
+ if (cost > maxCost) {
17
+ maxLetters = searchedString;
18
+ maxCost = cost;
19
+ }
20
+ j++;
21
+ searchedString = string.substring(i, i + j * 2 + 2);
22
+ }
23
+ if (searchedString.length > 6) {
24
+ allSames.push(searchedString.substring(0, searchedString.length - 2));
25
+ }
26
+ }
27
+ return maxLetters;
28
+ };
29
+ exports.default = findLongestDuplicatedString;
30
+ //# sourceMappingURL=findLongestDuplicatedString.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"findLongestDuplicatedString.js","sourceRoot":"","sources":["../../../../src/executor/compressor/utils/findLongestDuplicatedString.ts"],"names":[],"mappings":";;;;;AAAA,oEAA0C;AAE1C,MAAM,2BAA2B,GAAG,CAAC,MAAc,EAAU,EAAE;IAC7D,IAAI,UAAU,GAAG,EAAE,CAAC;IACpB,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;QACzC,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,IAAI,cAAc,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QAEhD,OAAO,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,EAAE;YACnE,IAAI,IAAI,GAAG,IAAA,uBAAW,EAAC,cAAc,CAAC,CAAC;YACvC,IAAI,IAAI,GAAG,OAAO,EAAE;gBAClB,UAAU,GAAG,cAAc,CAAC;gBAC5B,OAAO,GAAG,IAAI,CAAC;aAChB;YACD,CAAC,EAAE,CAAC;YACJ,cAAc,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;SACrD;QAED,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE;YAC7B,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,EAAE,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;SACvE;KACF;IAED,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC;AAEF,kBAAe,2BAA2B,CAAC"}
@@ -0,0 +1,2 @@
1
+ declare function getAllIndexes<T>(arr: T[], val: T): number[];
2
+ export default getAllIndexes;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ function getAllIndexes(arr, val) {
4
+ let indexes = [];
5
+ let i = -1;
6
+ while ((i = arr.indexOf(val, i + 1)) != -1) {
7
+ indexes.push(i);
8
+ }
9
+ return indexes;
10
+ }
11
+ exports.default = getAllIndexes; // Function to get all indexes of a specific value in an array
12
+ //# sourceMappingURL=getAllIndexes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getAllIndexes.js","sourceRoot":"","sources":["../../../../src/executor/compressor/utils/getAllIndexes.ts"],"names":[],"mappings":";;AAAA,SAAS,aAAa,CAAI,GAAQ,EAAE,GAAM;IACxC,IAAI,OAAO,GAAa,EAAE,CAAC;IAC3B,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAEX,OAAO,CAAC,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE;QAC1C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KACjB;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,kBAAe,aAAa,CAAC,CAAC,8DAA8D"}
@@ -0,0 +1,2 @@
1
+ declare const getByteForAddress: (addresses: string[], address: string) => string | null;
2
+ export default getByteForAddress;
@@ -0,0 +1,14 @@
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
+ const intTo3Bytes_1 = __importDefault(require("./intTo3Bytes"));
7
+ const getByteForAddress = (addresses, address) => {
8
+ const index = addresses.indexOf(address.toLowerCase());
9
+ if (index < 0)
10
+ return null;
11
+ return (0, intTo3Bytes_1.default)(index);
12
+ };
13
+ exports.default = getByteForAddress;
14
+ //# sourceMappingURL=getByteForAddress.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getByteForAddress.js","sourceRoot":"","sources":["../../../../src/executor/compressor/utils/getByteForAddress.ts"],"names":[],"mappings":";;;;;AAAA,gEAAwC;AAExC,MAAM,iBAAiB,GAAG,CACxB,SAAmB,EACnB,OAAe,EACA,EAAE;IACjB,MAAM,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IACvD,IAAI,KAAK,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAE3B,OAAO,IAAA,qBAAW,EAAC,KAAK,CAAC,CAAC;AAC5B,CAAC,CAAC;AAEF,kBAAe,iBAAiB,CAAC"}
@@ -0,0 +1,2 @@
1
+ declare const intTo2Bytes: (int: number) => string;
2
+ export default intTo2Bytes;
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const intTo2Bytes = (int) => {
4
+ let hex = int.toString(16);
5
+ if (hex.length < 2)
6
+ hex = '000' + hex;
7
+ else if (hex.length < 3)
8
+ hex = '00' + hex;
9
+ else if (hex.length < 4)
10
+ hex = '0' + hex;
11
+ return hex;
12
+ };
13
+ exports.default = intTo2Bytes;
14
+ //# sourceMappingURL=intTo2Bytes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"intTo2Bytes.js","sourceRoot":"","sources":["../../../../src/executor/compressor/utils/intTo2Bytes.ts"],"names":[],"mappings":";;AAAA,MAAM,WAAW,GAAG,CAAC,GAAW,EAAU,EAAE;IAC1C,IAAI,GAAG,GAAG,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC3B,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC;QAAE,GAAG,GAAG,KAAK,GAAG,GAAG,CAAC;SACjC,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC;QAAE,GAAG,GAAG,IAAI,GAAG,GAAG,CAAC;SACrC,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC;QAAE,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;IAEzC,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AAEF,kBAAe,WAAW,CAAC"}
@@ -0,0 +1,2 @@
1
+ declare const intTo3Bytes: (int: number) => string;
2
+ export default intTo3Bytes;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const intTo3Bytes = (int) => {
4
+ let hex = int.toString(16);
5
+ if (hex.length < 2)
6
+ hex = '00000' + hex;
7
+ else if (hex.length < 3)
8
+ hex = '0000' + hex;
9
+ else if (hex.length < 4)
10
+ hex = '000' + hex;
11
+ else if (hex.length < 5)
12
+ hex = '00' + hex;
13
+ else if (hex.length < 6)
14
+ hex = '0' + hex;
15
+ return hex;
16
+ };
17
+ exports.default = intTo3Bytes;
18
+ //# sourceMappingURL=intTo3Bytes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"intTo3Bytes.js","sourceRoot":"","sources":["../../../../src/executor/compressor/utils/intTo3Bytes.ts"],"names":[],"mappings":";;AAAA,MAAM,WAAW,GAAG,CAAC,GAAW,EAAU,EAAE;IAC1C,IAAI,GAAG,GAAG,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC3B,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC;QAAE,GAAG,GAAG,OAAO,GAAG,GAAG,CAAC;SACnC,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC;QAAE,GAAG,GAAG,MAAM,GAAG,GAAG,CAAC;SACvC,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC;QAAE,GAAG,GAAG,KAAK,GAAG,GAAG,CAAC;SACtC,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC;QAAE,GAAG,GAAG,IAAI,GAAG,GAAG,CAAC;SACrC,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC;QAAE,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;IAEzC,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AAEF,kBAAe,WAAW,CAAC"}
@@ -0,0 +1,2 @@
1
+ declare const intToByte: (int: number) => string;
2
+ export default intToByte;
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const intToByte = (int) => {
4
+ let hex = int.toString(16);
5
+ if (hex.length < 2)
6
+ hex = '0' + hex;
7
+ return hex;
8
+ };
9
+ exports.default = intToByte;
10
+ //# sourceMappingURL=intToByte.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"intToByte.js","sourceRoot":"","sources":["../../../../src/executor/compressor/utils/intToByte.ts"],"names":[],"mappings":";;AAAA,MAAM,SAAS,GAAG,CAAC,GAAW,EAAU,EAAE;IACxC,IAAI,GAAG,GAAG,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC3B,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC;QAAE,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;IACpC,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AAEF,kBAAe,SAAS,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@paraswap/dex-lib",
3
- "version": "3.8.24",
3
+ "version": "3.8.26",
4
4
  "main": "build/index.js",
5
5
  "types": "build/index.d.ts",
6
6
  "repository": "https://github.com/paraswap/paraswap-dex-lib",