@bananapus/nana-sdk-core 1.1.0 → 1.1.1

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 (148) hide show
  1. package/dist/cjs/actions/JBSuckerAbi.js +4 -1
  2. package/dist/cjs/actions/JBSuckerAbi.js.map +1 -1
  3. package/dist/cjs/actions/dataHook.js +26 -22
  4. package/dist/cjs/actions/dataHook.js.map +1 -1
  5. package/dist/cjs/actions/projectMetadata.js +12 -8
  6. package/dist/cjs/actions/projectMetadata.js.map +1 -1
  7. package/dist/cjs/actions/suckerPairs.js +21 -17
  8. package/dist/cjs/actions/suckerPairs.js.map +1 -1
  9. package/dist/cjs/constants.js +89 -85
  10. package/dist/cjs/constants.js.map +1 -1
  11. package/dist/cjs/contracts.js +22 -19
  12. package/dist/cjs/contracts.js.map +1 -1
  13. package/dist/cjs/generated/juicebox.js +94 -90
  14. package/dist/cjs/generated/juicebox.js.map +1 -1
  15. package/dist/cjs/index.js +24 -8
  16. package/dist/cjs/index.js.map +1 -1
  17. package/dist/cjs/package.json +1 -0
  18. package/dist/cjs/types.js +15 -4
  19. package/dist/cjs/types.js.map +1 -1
  20. package/dist/cjs/utils/contracts.js +19 -14
  21. package/dist/cjs/utils/contracts.js.map +1 -1
  22. package/dist/cjs/utils/data.js +23 -13
  23. package/dist/cjs/utils/data.js.map +1 -1
  24. package/dist/cjs/utils/data.test.js +19 -17
  25. package/dist/cjs/utils/data.test.js.map +1 -1
  26. package/dist/cjs/utils/debug.js +4 -1
  27. package/dist/cjs/utils/debug.js.map +1 -1
  28. package/dist/cjs/utils/deploy.js +17 -13
  29. package/dist/cjs/utils/deploy.js.map +1 -1
  30. package/dist/cjs/utils/deploy.test.js +15 -13
  31. package/dist/cjs/utils/deploy.test.js.map +1 -1
  32. package/dist/cjs/utils/fee.js +6 -3
  33. package/dist/cjs/utils/fee.js.map +1 -1
  34. package/dist/cjs/utils/fee.test.js +8 -6
  35. package/dist/cjs/utils/fee.test.js.map +1 -1
  36. package/dist/cjs/utils/format.js +11 -6
  37. package/dist/cjs/utils/format.js.map +1 -1
  38. package/dist/cjs/utils/format.test.js +11 -9
  39. package/dist/cjs/utils/format.test.js.map +1 -1
  40. package/dist/cjs/utils/hook.js +9 -6
  41. package/dist/cjs/utils/hook.js.map +1 -1
  42. package/dist/cjs/utils/index.js +28 -12
  43. package/dist/cjs/utils/index.js.map +1 -1
  44. package/dist/cjs/utils/ipfs.js +14 -6
  45. package/dist/cjs/utils/ipfs.js.map +1 -1
  46. package/dist/cjs/utils/ipfs.test.js +23 -18
  47. package/dist/cjs/utils/ipfs.test.js.map +1 -1
  48. package/dist/cjs/utils/revnet.js +9 -5
  49. package/dist/cjs/utils/revnet.js.map +1 -1
  50. package/dist/cjs/utils/revnet.test.js +9 -7
  51. package/dist/cjs/utils/revnet.test.js.map +1 -1
  52. package/dist/cjs/utils/ruleset.js +11 -7
  53. package/dist/cjs/utils/ruleset.js.map +1 -1
  54. package/dist/cjs/utils/ruleset.test.js +9 -7
  55. package/dist/cjs/utils/ruleset.test.js.map +1 -1
  56. package/dist/cjs/utils/token.js +26 -19
  57. package/dist/cjs/utils/token.js.map +1 -1
  58. package/dist/cjs/utils/token.test.js +25 -23
  59. package/dist/cjs/utils/token.test.js.map +1 -1
  60. package/dist/cjs/utils/tx.js +6 -3
  61. package/dist/cjs/utils/tx.js.map +1 -1
  62. package/dist/cjs/utils/urn.js +9 -5
  63. package/dist/cjs/utils/urn.js.map +1 -1
  64. package/dist/cjs/utils/urn.test.js +71 -69
  65. package/dist/cjs/utils/urn.test.js.map +1 -1
  66. package/dist/cjs/v6/cashOut.d.ts +5 -0
  67. package/dist/cjs/v6/cashOut.d.ts.map +1 -1
  68. package/dist/cjs/v6/cashOut.js +19 -10
  69. package/dist/cjs/v6/cashOut.js.map +1 -1
  70. package/dist/cjs/v6/cashOut.test.js +42 -40
  71. package/dist/cjs/v6/cashOut.test.js.map +1 -1
  72. package/dist/cjs/v6/currency.js +8 -4
  73. package/dist/cjs/v6/currency.js.map +1 -1
  74. package/dist/cjs/v6/currency.test.js +18 -16
  75. package/dist/cjs/v6/currency.test.js.map +1 -1
  76. package/dist/cjs/v6/fees.js +11 -6
  77. package/dist/cjs/v6/fees.js.map +1 -1
  78. package/dist/cjs/v6/fees.test.js +29 -27
  79. package/dist/cjs/v6/fees.test.js.map +1 -1
  80. package/dist/cjs/v6/index.js +31 -15
  81. package/dist/cjs/v6/index.js.map +1 -1
  82. package/dist/cjs/v6/launch.js +31 -23
  83. package/dist/cjs/v6/launch.js.map +1 -1
  84. package/dist/cjs/v6/launch.test.js +85 -83
  85. package/dist/cjs/v6/launch.test.js.map +1 -1
  86. package/dist/cjs/v6/loans.js +26 -19
  87. package/dist/cjs/v6/loans.js.map +1 -1
  88. package/dist/cjs/v6/loans.test.js +52 -50
  89. package/dist/cjs/v6/loans.test.js.map +1 -1
  90. package/dist/cjs/v6/omnichain.js +16 -12
  91. package/dist/cjs/v6/omnichain.js.map +1 -1
  92. package/dist/cjs/v6/omnichain.test.js +63 -61
  93. package/dist/cjs/v6/omnichain.test.js.map +1 -1
  94. package/dist/cjs/v6/pay.js +20 -15
  95. package/dist/cjs/v6/pay.js.map +1 -1
  96. package/dist/cjs/v6/pay.test.js +49 -47
  97. package/dist/cjs/v6/pay.test.js.map +1 -1
  98. package/dist/cjs/v6/permissions.js +14 -9
  99. package/dist/cjs/v6/permissions.js.map +1 -1
  100. package/dist/cjs/v6/permissions.test.js +47 -45
  101. package/dist/cjs/v6/permissions.test.js.map +1 -1
  102. package/dist/cjs/v6/revnets.d.ts +5 -3
  103. package/dist/cjs/v6/revnets.d.ts.map +1 -1
  104. package/dist/cjs/v6/revnets.js +43 -26
  105. package/dist/cjs/v6/revnets.js.map +1 -1
  106. package/dist/cjs/v6/revnets.test.js +80 -78
  107. package/dist/cjs/v6/revnets.test.js.map +1 -1
  108. package/dist/cjs/v6/rulesets.js +20 -14
  109. package/dist/cjs/v6/rulesets.js.map +1 -1
  110. package/dist/cjs/v6/rulesets.test.js +50 -48
  111. package/dist/cjs/v6/rulesets.test.js.map +1 -1
  112. package/dist/cjs/v6/splits.d.ts +3 -2
  113. package/dist/cjs/v6/splits.d.ts.map +1 -1
  114. package/dist/cjs/v6/splits.js +29 -18
  115. package/dist/cjs/v6/splits.js.map +1 -1
  116. package/dist/cjs/v6/splits.test.js +84 -80
  117. package/dist/cjs/v6/splits.test.js.map +1 -1
  118. package/dist/cjs/v6/suckers.js +22 -15
  119. package/dist/cjs/v6/suckers.js.map +1 -1
  120. package/dist/cjs/v6/suckers.test.js +57 -55
  121. package/dist/cjs/v6/suckers.test.js.map +1 -1
  122. package/dist/cjs/v6/terminals.js +15 -11
  123. package/dist/cjs/v6/terminals.js.map +1 -1
  124. package/dist/cjs/v6/terminals.test.js +30 -28
  125. package/dist/cjs/v6/terminals.test.js.map +1 -1
  126. package/dist/cjs/v6/tokens.js +34 -25
  127. package/dist/cjs/v6/tokens.js.map +1 -1
  128. package/dist/cjs/v6/tokens.test.js +66 -64
  129. package/dist/cjs/v6/tokens.test.js.map +1 -1
  130. package/dist/cjs/v6/types.js +6 -3
  131. package/dist/cjs/v6/types.js.map +1 -1
  132. package/dist/esm/v6/cashOut.d.ts +5 -0
  133. package/dist/esm/v6/cashOut.d.ts.map +1 -1
  134. package/dist/esm/v6/cashOut.js +5 -0
  135. package/dist/esm/v6/cashOut.js.map +1 -1
  136. package/dist/esm/v6/revnets.d.ts +5 -3
  137. package/dist/esm/v6/revnets.d.ts.map +1 -1
  138. package/dist/esm/v6/revnets.js +12 -4
  139. package/dist/esm/v6/revnets.js.map +1 -1
  140. package/dist/esm/v6/splits.d.ts +3 -2
  141. package/dist/esm/v6/splits.d.ts.map +1 -1
  142. package/dist/esm/v6/splits.js +9 -5
  143. package/dist/esm/v6/splits.js.map +1 -1
  144. package/dist/esm/v6/splits.test.js +8 -6
  145. package/dist/esm/v6/splits.test.js.map +1 -1
  146. package/dist/tsconfig.cjs.tsbuildinfo +1 -1
  147. package/dist/tsconfig.tsbuildinfo +1 -1
  148. package/package.json +2 -2
@@ -1,4 +1,7 @@
1
- import { encodePacked, zeroHash } from "viem";
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createHookMetadata = createHookMetadata;
4
+ const viem_1 = require("viem");
2
5
  /**
3
6
  *
4
7
  * Create metadata for pay or redeem hooks.
@@ -6,12 +9,12 @@ import { encodePacked, zeroHash } from "viem";
6
9
  * @link https://github.com/simplemachine92/JBMetadata-Helper
7
10
  * @attribution simplemachine92/nowonder
8
11
  */
9
- export function createHookMetadata(ids, metadatas) {
12
+ function createHookMetadata(ids, metadatas) {
10
13
  // Check lengths
11
14
  if (ids.length !== metadatas.length)
12
15
  throw new Error("LENGTH_MISMATCH");
13
16
  // Initialize metadata with first 32B for the protocol reserved word
14
- let metadata = encodePacked(["bytes32"], [zeroHash]);
17
+ let metadata = (0, viem_1.encodePacked)(["bytes32"], [viem_1.zeroHash]);
15
18
  // Calculate offset for the data is after the first reserved word...
16
19
  let offset = 1;
17
20
  // ... and after the id/offset lookup table, rounding up to 32 bytes if not a multiple
@@ -19,8 +22,8 @@ export function createHookMetadata(ids, metadatas) {
19
22
  // For each id, add it to the lookup table with the next free offset, then increment the offset by the data length
20
23
  for (let i = 0; i < ids.length; i++) {
21
24
  // Get metadata, id and offset
22
- metadata += encodePacked(["bytes4"], [ids[i]]).slice(2);
23
- metadata += encodePacked(["uint8"], [offset]).slice(2);
25
+ metadata += (0, viem_1.encodePacked)(["bytes4"], [ids[i]]).slice(2);
26
+ metadata += (0, viem_1.encodePacked)(["uint8"], [offset]).slice(2);
24
27
  // increment the offset by the data length, rounded up to the nearest 32-byte word
25
28
  offset += metadatas[i].length / 32;
26
29
  // Overflowing a bytes1?
@@ -36,7 +39,7 @@ export function createHookMetadata(ids, metadatas) {
36
39
  // Add each metadata to the array, each padded to 32 bytes
37
40
  for (let i = 0; i < metadatas.length; i++) {
38
41
  // Append metadata to array
39
- metadata += encodePacked(["bytes"], [metadatas[i].padEnd(paddedLength, "0")]).slice(2);
42
+ metadata += (0, viem_1.encodePacked)(["bytes"], [metadatas[i].padEnd(paddedLength, "0")]).slice(2);
40
43
  }
41
44
  // Return complete metadata
42
45
  return metadata;
@@ -1 +1 @@
1
- {"version":3,"file":"hook.js","sourceRoot":"","sources":["../../../src/utils/hook.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,YAAY,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAEpD;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAAC,GAAa,EAAE,SAAmB;IACnE,gBAAgB;IAChB,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IAExE,oEAAoE;IACpE,IAAI,QAAQ,GAAG,YAAY,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAErD,oEAAoE;IACpE,IAAI,MAAM,GAAG,CAAC,CAAC;IAEf,sFAAsF;IACtF,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAEjC,kHAAkH;IAClH,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACpC,8BAA8B;QAC9B,QAAQ,IAAI,YAAY,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAEhE,QAAQ,IAAI,YAAY,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACvD,kFAAkF;QAClF,MAAM,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,EAAE,CAAC;QAEnC,wBAAwB;QACxB,IAAI,MAAM,GAAG,CAAC,IAAI,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;IAC5D,CAAC;IAED,qCAAqC;IACrC,IAAI,YAAY,GACd,QAAQ,CAAC,MAAM,GAAG,EAAE,KAAK,CAAC;QACxB,CAAC,CAAC,QAAQ,CAAC,MAAM;QACjB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;IAE/C,yBAAyB;IACzB,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,YAAY,GAAG,CAAC,EAAE,GAAG,CAAS,CAAC;IAE1D,0DAA0D;IAC1D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC1C,2BAA2B;QAC3B,QAAQ,IAAI,YAAY,CACtB,CAAC,OAAO,CAAC,EACT,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,EAAE,GAAG,CAAS,CAAC,CACjD,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACb,CAAC;IAED,2BAA2B;IAC3B,OAAO,QAAQ,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"hook.js","sourceRoot":"","sources":["../../../src/utils/hook.ts"],"names":[],"mappings":";;AASA,gDA8CC;AAvDD,+BAAoD;AAEpD;;;;;;GAMG;AACH,SAAgB,kBAAkB,CAAC,GAAa,EAAE,SAAmB;IACnE,gBAAgB;IAChB,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IAExE,oEAAoE;IACpE,IAAI,QAAQ,GAAG,IAAA,mBAAY,EAAC,CAAC,SAAS,CAAC,EAAE,CAAC,eAAQ,CAAC,CAAC,CAAC;IAErD,oEAAoE;IACpE,IAAI,MAAM,GAAG,CAAC,CAAC;IAEf,sFAAsF;IACtF,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAEjC,kHAAkH;IAClH,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACpC,8BAA8B;QAC9B,QAAQ,IAAI,IAAA,mBAAY,EAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAEhE,QAAQ,IAAI,IAAA,mBAAY,EAAC,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACvD,kFAAkF;QAClF,MAAM,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,EAAE,CAAC;QAEnC,wBAAwB;QACxB,IAAI,MAAM,GAAG,CAAC,IAAI,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;IAC5D,CAAC;IAED,qCAAqC;IACrC,IAAI,YAAY,GACd,QAAQ,CAAC,MAAM,GAAG,EAAE,KAAK,CAAC;QACxB,CAAC,CAAC,QAAQ,CAAC,MAAM;QACjB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;IAE/C,yBAAyB;IACzB,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,YAAY,GAAG,CAAC,EAAE,GAAG,CAAS,CAAC;IAE1D,0DAA0D;IAC1D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC1C,2BAA2B;QAC3B,QAAQ,IAAI,IAAA,mBAAY,EACtB,CAAC,OAAO,CAAC,EACT,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,EAAE,GAAG,CAAS,CAAC,CACjD,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACb,CAAC;IAED,2BAA2B;IAC3B,OAAO,QAAQ,CAAC;AAClB,CAAC"}
@@ -1,13 +1,29 @@
1
- export * from "./contracts.js";
2
- export * from "./data.js";
3
- export * from "./debug.js";
4
- export * from "./deploy.js";
5
- export * from "./fee.js";
6
- export * from "./format.js";
7
- export * from "./hook.js";
8
- export * from "./revnet.js";
9
- export * from "./ruleset.js";
10
- export * from "./token.js";
11
- export * from "./tx.js";
12
- export * from "./urn.js";
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./contracts.js"), exports);
18
+ __exportStar(require("./data.js"), exports);
19
+ __exportStar(require("./debug.js"), exports);
20
+ __exportStar(require("./deploy.js"), exports);
21
+ __exportStar(require("./fee.js"), exports);
22
+ __exportStar(require("./format.js"), exports);
23
+ __exportStar(require("./hook.js"), exports);
24
+ __exportStar(require("./revnet.js"), exports);
25
+ __exportStar(require("./ruleset.js"), exports);
26
+ __exportStar(require("./token.js"), exports);
27
+ __exportStar(require("./tx.js"), exports);
28
+ __exportStar(require("./urn.js"), exports);
13
29
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iDAA+B;AAC/B,4CAA0B;AAC1B,6CAA2B;AAC3B,8CAA4B;AAC5B,2CAAyB;AACzB,8CAA4B;AAC5B,4CAA0B;AAC1B,8CAA4B;AAC5B,+CAA6B;AAC7B,6CAA2B;AAC3B,0CAAwB;AACxB,2CAAyB"}
@@ -1,26 +1,34 @@
1
- import bs58 from "bs58";
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.ipfsGatewayUrl = ipfsGatewayUrl;
7
+ exports.encodeIpfsUri = encodeIpfsUri;
8
+ exports.decodeEncodedIpfsUri = decodeEncodedIpfsUri;
9
+ const bs58_1 = __importDefault(require("bs58"));
2
10
  const PUBLIC_IPFS_GATEWAY_HOSTNAME = "ipfs.io";
3
- export function ipfsGatewayUrl(cid, gatewayHostname) {
11
+ function ipfsGatewayUrl(cid, gatewayHostname) {
4
12
  return `https://${gatewayHostname ?? PUBLIC_IPFS_GATEWAY_HOSTNAME}/ipfs/${cid}`;
5
13
  }
6
14
  /**
7
15
  * Return a hex-encoded CID to store on-chain.
8
16
  * Hex-encoded CIDs are used to store some CIDs on-chain because they are more gas-efficient.
9
17
  */
10
- export function encodeIpfsUri(cid) {
11
- return "0x" + Buffer.from(bs58.decode(cid).slice(2)).toString("hex");
18
+ function encodeIpfsUri(cid) {
19
+ return "0x" + Buffer.from(bs58_1.default.decode(cid).slice(2)).toString("hex");
12
20
  }
13
21
  /**
14
22
  * Return the IPFS CID from a given hex-endoded string.
15
23
  * Hex-encoded CIDs are used to store some CIDs on-chain because they are more gas-efficient.
16
24
  */
17
- export function decodeEncodedIpfsUri(hex) {
25
+ function decodeEncodedIpfsUri(hex) {
18
26
  // Add default ipfs values for first 2 bytes:
19
27
  // - function:0x12=sha2, size:0x20=256 bits
20
28
  // - also cut off leading "0x"
21
29
  const hashHex = "1220" + hex.slice(2);
22
30
  const hashBytes = Buffer.from(hashHex, "hex");
23
- const hashStr = bs58.encode(hashBytes);
31
+ const hashStr = bs58_1.default.encode(hashBytes);
24
32
  return hashStr;
25
33
  }
26
34
  //# sourceMappingURL=ipfs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ipfs.js","sourceRoot":"","sources":["../../../src/utils/ipfs.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,MAAM,4BAA4B,GAAG,SAAS,CAAC;AAE/C,MAAM,UAAU,cAAc,CAC5B,GAAuB,EACvB,eAAwB;IAExB,OAAO,WACL,eAAe,IAAI,4BACrB,SAAS,GAAG,EAAE,CAAC;AACjB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,GAAW;IACvC,OAAO,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACvE,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,GAAW;IAC9C,6CAA6C;IAC7C,2CAA2C;IAC3C,8BAA8B;IAC9B,MAAM,OAAO,GAAG,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACtC,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC9C,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACvC,OAAO,OAAO,CAAC;AACjB,CAAC"}
1
+ {"version":3,"file":"ipfs.js","sourceRoot":"","sources":["../../../src/utils/ipfs.ts"],"names":[],"mappings":";;;;;AAIA,wCAOC;AAMD,sCAEC;AAMD,oDAQC;AAjCD,gDAAwB;AAExB,MAAM,4BAA4B,GAAG,SAAS,CAAC;AAE/C,SAAgB,cAAc,CAC5B,GAAuB,EACvB,eAAwB;IAExB,OAAO,WACL,eAAe,IAAI,4BACrB,SAAS,GAAG,EAAE,CAAC;AACjB,CAAC;AAED;;;GAGG;AACH,SAAgB,aAAa,CAAC,GAAW;IACvC,OAAO,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,cAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACvE,CAAC;AAED;;;GAGG;AACH,SAAgB,oBAAoB,CAAC,GAAW;IAC9C,6CAA6C;IAC7C,2CAA2C;IAC3C,8BAA8B;IAC9B,MAAM,OAAO,GAAG,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACtC,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC9C,MAAM,OAAO,GAAG,cAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACvC,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -1,28 +1,33 @@
1
- import bs58 from "bs58";
2
- import { describe, expect, test } from "vitest";
3
- import { decodeEncodedIpfsUri, encodeIpfsUri, ipfsGatewayUrl } from "./ipfs.js";
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 bs58_1 = __importDefault(require("bs58"));
7
+ const vitest_1 = require("vitest");
8
+ const ipfs_js_1 = require("./ipfs.js");
4
9
  const cid = "QmbWqxBEKC3P8tqsKc98xmWNzrzDtRLMiMPL8wBuTGsMnR";
5
10
  const cidCorrespondingHex = "c3c4733ec8affd06cf9e9ff50ffc6bcd2ec85a6170004bb709669c31de94391a";
6
- describe("IPFS utilities", () => {
7
- test("generates IPFS gateway URL correctly", () => {
8
- expect(ipfsGatewayUrl(cid)).toEqual(`https://ipfs.io/ipfs/${cid}`);
9
- expect(ipfsGatewayUrl(cid, "another-gateway.com")).toEqual(`https://another-gateway.com/ipfs/${cid}`);
10
- expect(ipfsGatewayUrl(undefined)).toEqual("https://ipfs.io/ipfs/undefined");
11
+ (0, vitest_1.describe)("IPFS utilities", () => {
12
+ (0, vitest_1.test)("generates IPFS gateway URL correctly", () => {
13
+ (0, vitest_1.expect)((0, ipfs_js_1.ipfsGatewayUrl)(cid)).toEqual(`https://ipfs.io/ipfs/${cid}`);
14
+ (0, vitest_1.expect)((0, ipfs_js_1.ipfsGatewayUrl)(cid, "another-gateway.com")).toEqual(`https://another-gateway.com/ipfs/${cid}`);
15
+ (0, vitest_1.expect)((0, ipfs_js_1.ipfsGatewayUrl)(undefined)).toEqual("https://ipfs.io/ipfs/undefined");
11
16
  });
12
- test("encodes IPFS CID correctly", () => {
13
- const hexEncoded = encodeIpfsUri(cid);
14
- expect(hexEncoded).toEqual("0x" + cidCorrespondingHex);
17
+ (0, vitest_1.test)("encodes IPFS CID correctly", () => {
18
+ const hexEncoded = (0, ipfs_js_1.encodeIpfsUri)(cid);
19
+ (0, vitest_1.expect)(hexEncoded).toEqual("0x" + cidCorrespondingHex);
15
20
  });
16
- test("decodes hex-encoded IPFS CID correctly", () => {
21
+ (0, vitest_1.test)("decodes hex-encoded IPFS CID correctly", () => {
17
22
  const hexEncoded = "0x" + cidCorrespondingHex;
18
- const decodedCid = decodeEncodedIpfsUri(hexEncoded);
19
- expect(decodedCid).toEqual(cid);
23
+ const decodedCid = (0, ipfs_js_1.decodeEncodedIpfsUri)(hexEncoded);
24
+ (0, vitest_1.expect)(decodedCid).toEqual(cid);
20
25
  });
21
- test("encodes and then decodes IPFS CID correctly", () => {
22
- const expectedHex = Buffer.from(bs58.decode(cid).slice(2)).toString("hex");
26
+ (0, vitest_1.test)("encodes and then decodes IPFS CID correctly", () => {
27
+ const expectedHex = Buffer.from(bs58_1.default.decode(cid).slice(2)).toString("hex");
23
28
  const hexEncoded = "0x" + expectedHex;
24
- const decodedCid = decodeEncodedIpfsUri(hexEncoded);
25
- expect(decodedCid).toEqual(cid);
29
+ const decodedCid = (0, ipfs_js_1.decodeEncodedIpfsUri)(hexEncoded);
30
+ (0, vitest_1.expect)(decodedCid).toEqual(cid);
26
31
  });
27
32
  });
28
33
  //# sourceMappingURL=ipfs.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ipfs.test.js","sourceRoot":"","sources":["../../../src/utils/ipfs.test.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAEhF,MAAM,GAAG,GAAG,gDAAgD,CAAC;AAC7D,MAAM,mBAAmB,GACvB,kEAAkE,CAAC;AAErE,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC9B,IAAI,CAAC,sCAAsC,EAAE,GAAG,EAAE;QAChD,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,wBAAwB,GAAG,EAAE,CAAC,CAAC;QACnE,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,qBAAqB,CAAC,CAAC,CAAC,OAAO,CACxD,oCAAoC,GAAG,EAAE,CAC1C,CAAC;QACF,MAAM,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,gCAAgC,CAAC,CAAC;IAC9E,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,4BAA4B,EAAE,GAAG,EAAE;QACtC,MAAM,UAAU,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;QACtC,MAAM,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,IAAI,GAAG,mBAAmB,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,wCAAwC,EAAE,GAAG,EAAE;QAClD,MAAM,UAAU,GAAG,IAAI,GAAG,mBAAmB,CAAC;QAC9C,MAAM,UAAU,GAAG,oBAAoB,CAAC,UAAU,CAAC,CAAC;QACpD,MAAM,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACvD,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC3E,MAAM,UAAU,GAAG,IAAI,GAAG,WAAW,CAAC;QACtC,MAAM,UAAU,GAAG,oBAAoB,CAAC,UAAU,CAAC,CAAC;QACpD,MAAM,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"ipfs.test.js","sourceRoot":"","sources":["../../../src/utils/ipfs.test.ts"],"names":[],"mappings":";;;;;AAAA,gDAAwB;AACxB,mCAAgD;AAChD,uCAAgF;AAEhF,MAAM,GAAG,GAAG,gDAAgD,CAAC;AAC7D,MAAM,mBAAmB,GACvB,kEAAkE,CAAC;AAErE,IAAA,iBAAQ,EAAC,gBAAgB,EAAE,GAAG,EAAE;IAC9B,IAAA,aAAI,EAAC,sCAAsC,EAAE,GAAG,EAAE;QAChD,IAAA,eAAM,EAAC,IAAA,wBAAc,EAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,wBAAwB,GAAG,EAAE,CAAC,CAAC;QACnE,IAAA,eAAM,EAAC,IAAA,wBAAc,EAAC,GAAG,EAAE,qBAAqB,CAAC,CAAC,CAAC,OAAO,CACxD,oCAAoC,GAAG,EAAE,CAC1C,CAAC;QACF,IAAA,eAAM,EAAC,IAAA,wBAAc,EAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,gCAAgC,CAAC,CAAC;IAC9E,CAAC,CAAC,CAAC;IAEH,IAAA,aAAI,EAAC,4BAA4B,EAAE,GAAG,EAAE;QACtC,MAAM,UAAU,GAAG,IAAA,uBAAa,EAAC,GAAG,CAAC,CAAC;QACtC,IAAA,eAAM,EAAC,UAAU,CAAC,CAAC,OAAO,CAAC,IAAI,GAAG,mBAAmB,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH,IAAA,aAAI,EAAC,wCAAwC,EAAE,GAAG,EAAE;QAClD,MAAM,UAAU,GAAG,IAAI,GAAG,mBAAmB,CAAC;QAC9C,MAAM,UAAU,GAAG,IAAA,8BAAoB,EAAC,UAAU,CAAC,CAAC;QACpD,IAAA,eAAM,EAAC,UAAU,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;IAEH,IAAA,aAAI,EAAC,6CAA6C,EAAE,GAAG,EAAE;QACvD,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,cAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC3E,MAAM,UAAU,GAAG,IAAI,GAAG,WAAW,CAAC;QACtC,MAAM,UAAU,GAAG,IAAA,8BAAoB,EAAC,UAAU,CAAC,CAAC;QACpD,IAAA,eAAM,EAAC,UAAU,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,11 +1,15 @@
1
- import { jbContractAddress } from "../generated/juicebox.js";
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.calcPrepaidFee = calcPrepaidFee;
4
+ exports.getRevnetLoanContract = getRevnetLoanContract;
5
+ const juicebox_js_1 = require("../generated/juicebox.js");
2
6
  // The maximum fee percent
3
7
  const MAX_PREPAID_FEE_PERCENT_BIGINT = 500n;
4
8
  // Minimum prepaid fee value allowed by the contract
5
9
  const MIN_PREPAID_FEE = 25n;
6
10
  // The divisor (max months) as a BigInt for the calculation.
7
11
  const MAX_PREPAYMENT_MONTHS_BIGINT = 120n;
8
- export function calcPrepaidFee(monthsToPrePay) {
12
+ function calcPrepaidFee(monthsToPrePay) {
9
13
  const calcd = (BigInt(monthsToPrePay) * MAX_PREPAID_FEE_PERCENT_BIGINT) / MAX_PREPAYMENT_MONTHS_BIGINT +
10
14
  MIN_PREPAID_FEE;
11
15
  if (calcd < MIN_PREPAID_FEE) {
@@ -18,9 +22,9 @@ export function calcPrepaidFee(monthsToPrePay) {
18
22
  return calcd;
19
23
  }
20
24
  }
21
- export function getRevnetLoanContract(version, chainId) {
25
+ function getRevnetLoanContract(version, chainId) {
22
26
  return version === 4
23
- ? jbContractAddress[4]["REVLoans1_1"][chainId]
24
- : jbContractAddress[version]["REVLoans"][chainId];
27
+ ? juicebox_js_1.jbContractAddress[4]["REVLoans1_1"][chainId]
28
+ : juicebox_js_1.jbContractAddress[version]["REVLoans"][chainId];
25
29
  }
26
30
  //# sourceMappingURL=revnet.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"revnet.js","sourceRoot":"","sources":["../../../src/utils/revnet.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE7D,0BAA0B;AAC1B,MAAM,8BAA8B,GAAG,IAAI,CAAC;AAE5C,oDAAoD;AACpD,MAAM,eAAe,GAAG,GAAG,CAAC;AAE5B,4DAA4D;AAC5D,MAAM,4BAA4B,GAAG,IAAI,CAAC;AAE1C,MAAM,UAAU,cAAc,CAAC,cAAsB;IACnD,MAAM,KAAK,GACT,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,8BAA8B,CAAC,GAAG,4BAA4B;QACxF,eAAe,CAAC;IAElB,IAAI,KAAK,GAAG,eAAe,EAAE,CAAC;QAC5B,OAAO,eAAe,CAAC;IACzB,CAAC;SAAM,IAAI,KAAK,GAAG,8BAA8B,EAAE,CAAC;QAClD,OAAO,8BAA8B,CAAC;IACxC,CAAC;SAAM,CAAC;QACN,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,OAAkB,EAAE,OAAkB;IAC1E,OAAO,OAAO,KAAK,CAAC;QAClB,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC;QAC9C,CAAC,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC;AACtD,CAAC"}
1
+ {"version":3,"file":"revnet.js","sourceRoot":"","sources":["../../../src/utils/revnet.ts"],"names":[],"mappings":";;AAaA,wCAYC;AAED,sDAIC;AA7BD,0DAA6D;AAE7D,0BAA0B;AAC1B,MAAM,8BAA8B,GAAG,IAAI,CAAC;AAE5C,oDAAoD;AACpD,MAAM,eAAe,GAAG,GAAG,CAAC;AAE5B,4DAA4D;AAC5D,MAAM,4BAA4B,GAAG,IAAI,CAAC;AAE1C,SAAgB,cAAc,CAAC,cAAsB;IACnD,MAAM,KAAK,GACT,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,8BAA8B,CAAC,GAAG,4BAA4B;QACxF,eAAe,CAAC;IAElB,IAAI,KAAK,GAAG,eAAe,EAAE,CAAC;QAC5B,OAAO,eAAe,CAAC;IACzB,CAAC;SAAM,IAAI,KAAK,GAAG,8BAA8B,EAAE,CAAC;QAClD,OAAO,8BAA8B,CAAC;IACxC,CAAC;SAAM,CAAC;QACN,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,SAAgB,qBAAqB,CAAC,OAAkB,EAAE,OAAkB;IAC1E,OAAO,OAAO,KAAK,CAAC;QAClB,CAAC,CAAC,+BAAiB,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC;QAC9C,CAAC,CAAC,+BAAiB,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC;AACtD,CAAC"}
@@ -1,10 +1,12 @@
1
- import { describe, expect, test } from "vitest";
2
- import { calcPrepaidFee } from "./revnet.js";
3
- describe("calcPrepaidFee", () => {
4
- test("calcPrepaidFee", () => {
5
- expect(calcPrepaidFee(1)).toEqual(29n);
6
- expect(calcPrepaidFee(0)).toEqual(25n);
7
- expect(calcPrepaidFee(121)).toEqual(500n);
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const vitest_1 = require("vitest");
4
+ const revnet_js_1 = require("./revnet.js");
5
+ (0, vitest_1.describe)("calcPrepaidFee", () => {
6
+ (0, vitest_1.test)("calcPrepaidFee", () => {
7
+ (0, vitest_1.expect)((0, revnet_js_1.calcPrepaidFee)(1)).toEqual(29n);
8
+ (0, vitest_1.expect)((0, revnet_js_1.calcPrepaidFee)(0)).toEqual(25n);
9
+ (0, vitest_1.expect)((0, revnet_js_1.calcPrepaidFee)(121)).toEqual(500n);
8
10
  });
9
11
  });
10
12
  //# sourceMappingURL=revnet.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"revnet.test.js","sourceRoot":"","sources":["../../../src/utils/revnet.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC9B,IAAI,CAAC,gBAAgB,EAAE,GAAG,EAAE;QAC1B,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACvC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACvC,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"revnet.test.js","sourceRoot":"","sources":["../../../src/utils/revnet.test.ts"],"names":[],"mappings":";;AAAA,mCAAgD;AAChD,2CAA6C;AAE7C,IAAA,iBAAQ,EAAC,gBAAgB,EAAE,GAAG,EAAE;IAC9B,IAAA,aAAI,EAAC,gBAAgB,EAAE,GAAG,EAAE;QAC1B,IAAA,eAAM,EAAC,IAAA,0BAAc,EAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACvC,IAAA,eAAM,EAAC,IAAA,0BAAc,EAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACvC,IAAA,eAAM,EAAC,IAAA,0BAAc,EAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,23 +1,27 @@
1
- import { MAX_WEIGHT_CUT_PERCENT } from "../constants.js";
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getNextRulesetWeight = getNextRulesetWeight;
4
+ exports.getPrevRulesetWeight = getPrevRulesetWeight;
5
+ const constants_js_1 = require("../constants.js");
2
6
  /**
3
7
  * Derive the next ruleset's Weight value from the current ruleset.
4
8
  *
5
9
  * Useful when projecting a project's future Token B price.
6
10
  * E.g. "In the next ruleset, how much will Token B cost, given the new Weight?"
7
11
  */
8
- export function getNextRulesetWeight(currentRuleset) {
12
+ function getNextRulesetWeight(currentRuleset) {
9
13
  const nextRulesetWeight = (currentRuleset.weight *
10
- BigInt(MAX_WEIGHT_CUT_PERCENT - currentRuleset.weightCutPercent)) /
11
- BigInt(MAX_WEIGHT_CUT_PERCENT);
14
+ BigInt(constants_js_1.MAX_WEIGHT_CUT_PERCENT - currentRuleset.weightCutPercent)) /
15
+ BigInt(constants_js_1.MAX_WEIGHT_CUT_PERCENT);
12
16
  return nextRulesetWeight;
13
17
  }
14
18
  /**
15
19
  * Derive the previous ruleset's Weight value from the current ruleset.
16
20
  */
17
- export function getPrevRulesetWeight(currentRuleset) {
21
+ function getPrevRulesetWeight(currentRuleset) {
18
22
  // reverse of getNextRulesetWeight
19
- const prevRulesetWeight = (currentRuleset.weight * BigInt(MAX_WEIGHT_CUT_PERCENT)) /
20
- BigInt(MAX_WEIGHT_CUT_PERCENT - currentRuleset.weightCutPercent);
23
+ const prevRulesetWeight = (currentRuleset.weight * BigInt(constants_js_1.MAX_WEIGHT_CUT_PERCENT)) /
24
+ BigInt(constants_js_1.MAX_WEIGHT_CUT_PERCENT - currentRuleset.weightCutPercent);
21
25
  return prevRulesetWeight;
22
26
  }
23
27
  //# sourceMappingURL=ruleset.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ruleset.js","sourceRoot":"","sources":["../../../src/utils/ruleset.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAEzD;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAAC,cAGpC;IACC,MAAM,iBAAiB,GACrB,CAAC,cAAc,CAAC,MAAM;QACpB,MAAM,CAAC,sBAAsB,GAAG,cAAc,CAAC,gBAAgB,CAAC,CAAC;QACnE,MAAM,CAAC,sBAAsB,CAAC,CAAC;IAEjC,OAAO,iBAAiB,CAAC;AAC3B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,cAGpC;IACC,kCAAkC;IAClC,MAAM,iBAAiB,GACrB,CAAC,cAAc,CAAC,MAAM,GAAG,MAAM,CAAC,sBAAsB,CAAC,CAAC;QACxD,MAAM,CAAC,sBAAsB,GAAG,cAAc,CAAC,gBAAgB,CAAC,CAAC;IAEnE,OAAO,iBAAiB,CAAC;AAC3B,CAAC"}
1
+ {"version":3,"file":"ruleset.js","sourceRoot":"","sources":["../../../src/utils/ruleset.ts"],"names":[],"mappings":";;AAQA,oDAUC;AAKD,oDAUC;AAjCD,kDAAyD;AAEzD;;;;;GAKG;AACH,SAAgB,oBAAoB,CAAC,cAGpC;IACC,MAAM,iBAAiB,GACrB,CAAC,cAAc,CAAC,MAAM;QACpB,MAAM,CAAC,qCAAsB,GAAG,cAAc,CAAC,gBAAgB,CAAC,CAAC;QACnE,MAAM,CAAC,qCAAsB,CAAC,CAAC;IAEjC,OAAO,iBAAiB,CAAC;AAC3B,CAAC;AAED;;GAEG;AACH,SAAgB,oBAAoB,CAAC,cAGpC;IACC,kCAAkC;IAClC,MAAM,iBAAiB,GACrB,CAAC,cAAc,CAAC,MAAM,GAAG,MAAM,CAAC,qCAAsB,CAAC,CAAC;QACxD,MAAM,CAAC,qCAAsB,GAAG,cAAc,CAAC,gBAAgB,CAAC,CAAC;IAEnE,OAAO,iBAAiB,CAAC;AAC3B,CAAC"}
@@ -1,21 +1,23 @@
1
- import { describe, expect, test } from "vitest";
2
- import { getNextRulesetWeight, getPrevRulesetWeight } from "./ruleset.js";
3
- describe("Ruleset Weight utilities", () => {
4
- test.each `
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const vitest_1 = require("vitest");
4
+ const ruleset_js_1 = require("./ruleset.js");
5
+ (0, vitest_1.describe)("Ruleset Weight utilities", () => {
6
+ vitest_1.test.each `
5
7
  weight | weightCutPercent | expected
6
8
  ${100n} | ${200000000} | ${80n}
7
9
  ${200n} | ${300000000} | ${140n}
8
10
  ${300n} | ${0} | ${300n}
9
11
  `("computes next ruleset weight correctly", ({ weight, weightCutPercent, expected }) => {
10
- expect(getNextRulesetWeight({ weight, weightCutPercent })).toEqual(expected);
12
+ (0, vitest_1.expect)((0, ruleset_js_1.getNextRulesetWeight)({ weight, weightCutPercent })).toEqual(expected);
11
13
  });
12
- test.each `
14
+ vitest_1.test.each `
13
15
  weight | weightCutPercent | expected
14
16
  ${80n} | ${200000000} | ${100n}
15
17
  ${160n} | ${300000000} | ${228n}
16
18
  ${300n} | ${0} | ${300n}
17
19
  `("computes previous cycle weight correctly", ({ weight, weightCutPercent, expected }) => {
18
- expect(getPrevRulesetWeight({ weight, weightCutPercent })).toEqual(expected);
20
+ (0, vitest_1.expect)((0, ruleset_js_1.getPrevRulesetWeight)({ weight, weightCutPercent })).toEqual(expected);
19
21
  });
20
22
  });
21
23
  //# sourceMappingURL=ruleset.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ruleset.test.js","sourceRoot":"","sources":["../../../src/utils/ruleset.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAE1E,QAAQ,CAAC,0BAA0B,EAAE,GAAG,EAAE;IACxC,IAAI,CAAC,IAAI,CAAA;;MAEL,IAAI,MAAM,SAAS,UAAU,GAAG;MAChC,IAAI,MAAM,SAAS,UAAU,IAAI;MACjC,IAAI,MAAM,CAAC,iBAAiB,IAAI;GACnC,CACC,wCAAwC,EACxC,CAAC,EAAE,MAAM,EAAE,gBAAgB,EAAE,QAAQ,EAAE,EAAE,EAAE;QACzC,MAAM,CAAC,oBAAoB,CAAC,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC,OAAO,CAChE,QAAQ,CACT,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,IAAI,CAAC,IAAI,CAAA;;MAEL,GAAG,OAAO,SAAS,UAAU,IAAI;MACjC,IAAI,MAAM,SAAS,UAAU,IAAI;MACjC,IAAI,MAAM,CAAC,iBAAiB,IAAI;GACnC,CACC,0CAA0C,EAC1C,CAAC,EAAE,MAAM,EAAE,gBAAgB,EAAE,QAAQ,EAAE,EAAE,EAAE;QACzC,MAAM,CAAC,oBAAoB,CAAC,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC,OAAO,CAChE,QAAQ,CACT,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"ruleset.test.js","sourceRoot":"","sources":["../../../src/utils/ruleset.test.ts"],"names":[],"mappings":";;AAAA,mCAAgD;AAChD,6CAA0E;AAE1E,IAAA,iBAAQ,EAAC,0BAA0B,EAAE,GAAG,EAAE;IACxC,aAAI,CAAC,IAAI,CAAA;;MAEL,IAAI,MAAM,SAAS,UAAU,GAAG;MAChC,IAAI,MAAM,SAAS,UAAU,IAAI;MACjC,IAAI,MAAM,CAAC,iBAAiB,IAAI;GACnC,CACC,wCAAwC,EACxC,CAAC,EAAE,MAAM,EAAE,gBAAgB,EAAE,QAAQ,EAAE,EAAE,EAAE;QACzC,IAAA,eAAM,EAAC,IAAA,iCAAoB,EAAC,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC,OAAO,CAChE,QAAQ,CACT,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,aAAI,CAAC,IAAI,CAAA;;MAEL,GAAG,OAAO,SAAS,UAAU,IAAI;MACjC,IAAI,MAAM,SAAS,UAAU,IAAI;MACjC,IAAI,MAAM,CAAC,iBAAiB,IAAI;GACnC,CACC,0CAA0C,EAC1C,CAAC,EAAE,MAAM,EAAE,gBAAgB,EAAE,QAAQ,EAAE,EAAE,EAAE;QACzC,IAAA,eAAM,EAAC,IAAA,iCAAoB,EAAC,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC,OAAO,CAChE,QAAQ,CACT,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC,CAAC,CAAC"}
@@ -1,6 +1,9 @@
1
- import { FixedInt } from "fpnum";
2
- import { parseUnits } from "viem";
3
- import { ONE_ETHER, MAX_CASH_OUT_TAX_RATE, MAX_RESERVED_PERCENT, } from "../constants.js";
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getTokenCashOutQuoteEth = exports.getTokenBtoAQuote = exports.getTokenBPrice = exports.getTokenAToBQuote = void 0;
4
+ const fpnum_1 = require("fpnum");
5
+ const viem_1 = require("viem");
6
+ const constants_js_1 = require("../constants.js");
4
7
  /**
5
8
  * Return a quote for how much Token B to mint for a given `tokenAAmount`.
6
9
  *
@@ -13,13 +16,13 @@ import { ONE_ETHER, MAX_CASH_OUT_TAX_RATE, MAX_RESERVED_PERCENT, } from "../cons
13
16
  * - tokens reserved for project.
14
17
  * - tokens minted for the payer.
15
18
  */
16
- export const getTokenAToBQuote = (tokenAAmount, // wei
19
+ const getTokenAToBQuote = (tokenAAmount, // wei
17
20
  cycleParams) => {
18
21
  const { weight, reservedPercent } = cycleParams;
19
22
  const weightRatio = BigInt(10 ** tokenAAmount.decimals);
20
23
  const totalTokens = (weight.value * tokenAAmount.value) / weightRatio;
21
24
  const reservedTokens = (weight.value * reservedPercent.value * tokenAAmount.value) /
22
- BigInt(MAX_RESERVED_PERCENT) /
25
+ BigInt(constants_js_1.MAX_RESERVED_PERCENT) /
23
26
  weightRatio;
24
27
  const payerTokens = totalTokens - reservedTokens;
25
28
  return {
@@ -29,21 +32,23 @@ cycleParams) => {
29
32
  totalTokens,
30
33
  };
31
34
  };
35
+ exports.getTokenAToBQuote = getTokenAToBQuote;
32
36
  /**
33
37
  * Return the amount of Token A it costs to buy 1 Token B.
34
38
  *
35
39
  * Accounts for the ruleset's `weight` and `reservedPercent`.
36
40
  */
37
- export const getTokenBPrice = (tokenADecimals, cycleParams) => {
38
- const oneTokenA = FixedInt.parse("1", tokenADecimals);
41
+ const getTokenBPrice = (tokenADecimals, cycleParams) => {
42
+ const oneTokenA = fpnum_1.FixedInt.parse("1", tokenADecimals);
39
43
  const weightRatio = BigInt(10 ** tokenADecimals);
40
44
  // 1 Token A = x Token B
41
- const tokenBQuote = getTokenAToBQuote(oneTokenA, cycleParams);
45
+ const tokenBQuote = (0, exports.getTokenAToBQuote)(oneTokenA, cycleParams);
42
46
  if (tokenBQuote.payerTokens === 0n)
43
- return new FixedInt(0n, tokenADecimals);
44
- const tokenBPrice = (ONE_ETHER * weightRatio) / tokenBQuote.payerTokens;
45
- return new FixedInt(tokenBPrice, tokenADecimals);
47
+ return new fpnum_1.FixedInt(0n, tokenADecimals);
48
+ const tokenBPrice = (constants_js_1.ONE_ETHER * weightRatio) / tokenBQuote.payerTokens;
49
+ return new fpnum_1.FixedInt(tokenBPrice, tokenADecimals);
46
50
  };
51
+ exports.getTokenBPrice = getTokenBPrice;
47
52
  /**
48
53
  * Return the amount of Token A it costs to mint a given `tokenBAmount`.
49
54
  *
@@ -51,13 +56,14 @@ export const getTokenBPrice = (tokenADecimals, cycleParams) => {
51
56
  *
52
57
  * Useful for when users specify the outcome they want (how much Token B they want).
53
58
  */
54
- export const getTokenBtoAQuote = (tokenBAmount, // wei
59
+ const getTokenBtoAQuote = (tokenBAmount, // wei
55
60
  tokenADecimals, cycleParams) => {
56
- const tokenBPrice = getTokenBPrice(tokenADecimals, cycleParams);
57
- const oneTokenA = parseUnits("1", tokenADecimals);
61
+ const tokenBPrice = (0, exports.getTokenBPrice)(tokenADecimals, cycleParams);
62
+ const oneTokenA = (0, viem_1.parseUnits)("1", tokenADecimals);
58
63
  const tokenAQuote = (tokenBPrice.value * tokenBAmount.value) / oneTokenA;
59
- return new FixedInt(tokenAQuote, tokenADecimals);
64
+ return new fpnum_1.FixedInt(tokenAQuote, tokenADecimals);
60
65
  };
66
+ exports.getTokenBtoAQuote = getTokenBtoAQuote;
61
67
  /**
62
68
  * Returns the ETH value (in wei) that a given [tokensAmount] can be redeemed for.
63
69
  *
@@ -78,13 +84,13 @@ tokenADecimals, cycleParams) => {
78
84
  * @see https://www.desmos.com/calculator/sp9ru6zbpk
79
85
  * @returns amount in ETH
80
86
  */
81
- export const getTokenCashOutQuoteEth = (tokensAmount, { overflowWei, // surplus
87
+ const getTokenCashOutQuoteEth = (tokensAmount, { overflowWei, // surplus
82
88
  totalSupply, cashOutTaxRate, tokensReserved, }) => {
83
89
  // alias names, to match the contract's implementation for easier manual comparison.
84
90
  const surplus = overflowWei;
85
91
  const cashOutCount = tokensAmount;
86
92
  // If the cash out tax rate is the max, no surplus can be reclaimed.
87
- if (cashOutTaxRate === MAX_CASH_OUT_TAX_RATE) {
93
+ if (cashOutTaxRate === constants_js_1.MAX_CASH_OUT_TAX_RATE) {
88
94
  return 0;
89
95
  }
90
96
  // If the total supply is being cashed out, return the entire surplus.
@@ -117,13 +123,14 @@ totalSupply, cashOutTaxRate, tokensReserved, }) => {
117
123
  * numerator = (1 - r) + (x * r / s)
118
124
  * ```
119
125
  */
120
- const numerator = BigInt(MAX_CASH_OUT_TAX_RATE - cashOutTaxRate) + frac;
126
+ const numerator = BigInt(constants_js_1.MAX_CASH_OUT_TAX_RATE - cashOutTaxRate) + frac;
121
127
  /**
122
128
  * ```
123
129
  * y = base * numerator ==> ox/s * ( (1 - r) + (x * r / s) )
124
130
  * ```
125
131
  */
126
- const y = (base * numerator) / BigInt(MAX_CASH_OUT_TAX_RATE);
132
+ const y = (base * numerator) / BigInt(constants_js_1.MAX_CASH_OUT_TAX_RATE);
127
133
  return y;
128
134
  };
135
+ exports.getTokenCashOutQuoteEth = getTokenCashOutQuoteEth;
129
136
  //# sourceMappingURL=token.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"token.js","sourceRoot":"","sources":["../../../src/utils/token.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"token.js","sourceRoot":"","sources":["../../../src/utils/token.ts"],"names":[],"mappings":";;;AAAA,iCAAiC;AACjC,+BAAkC;AAElC,kDAIyB;AAEzB;;;;;;;;;;;GAWG;AACI,MAAM,iBAAiB,GAAG,CAC/B,YAAyB,EAAE,MAAM;AACjC,WAAwE,EACxE,EAAE;IACF,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,GAAG,WAAW,CAAC;IAEhD,MAAM,WAAW,GAAG,MAAM,CAAC,EAAE,IAAI,YAAY,CAAC,QAAQ,CAAC,CAAC;IAExD,MAAM,WAAW,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,WAAW,CAAC;IACtE,MAAM,cAAc,GAClB,CAAC,MAAM,CAAC,KAAK,GAAG,eAAe,CAAC,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC;QAC3D,MAAM,CAAC,mCAAoB,CAAC;QAC5B,WAAW,CAAC;IAEd,MAAM,WAAW,GAAG,WAAW,GAAG,cAAc,CAAC;IAEjD,OAAO;QACL,YAAY;QACZ,WAAW;QACX,cAAc;QACd,WAAW;KACZ,CAAC;AACJ,CAAC,CAAC;AAtBW,QAAA,iBAAiB,qBAsB5B;AAEF;;;;GAIG;AACI,MAAM,cAAc,GAAG,CAC5B,cAAsB,EACtB,WAAwE,EACxE,EAAE;IACF,MAAM,SAAS,GAAG,gBAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;IACtD,MAAM,WAAW,GAAG,MAAM,CAAC,EAAE,IAAI,cAAc,CAAC,CAAC;IAEjD,wBAAwB;IACxB,MAAM,WAAW,GAAG,IAAA,yBAAiB,EAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IAC9D,IAAI,WAAW,CAAC,WAAW,KAAK,EAAE;QAAE,OAAO,IAAI,gBAAQ,CAAC,EAAE,EAAE,cAAc,CAAC,CAAC;IAE5E,MAAM,WAAW,GAAG,CAAC,wBAAS,GAAG,WAAW,CAAC,GAAG,WAAW,CAAC,WAAW,CAAC;IAExE,OAAO,IAAI,gBAAQ,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;AACnD,CAAC,CAAC;AAdW,QAAA,cAAc,kBAczB;AAEF;;;;;;GAMG;AACI,MAAM,iBAAiB,GAAG,CAC/B,YAAyB,EAAE,MAAM;AACjC,cAAsB,EACtB,WAAwE,EACxE,EAAE;IACF,MAAM,WAAW,GAAG,IAAA,sBAAc,EAAC,cAAc,EAAE,WAAW,CAAC,CAAC;IAChE,MAAM,SAAS,GAAG,IAAA,iBAAU,EAAC,GAAG,EAAE,cAAc,CAAC,CAAC;IAElD,MAAM,WAAW,GAAG,CAAC,WAAW,CAAC,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC;IACzE,OAAO,IAAI,gBAAQ,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;AACnD,CAAC,CAAC;AAVW,QAAA,iBAAiB,qBAU5B;AAEF;;;;;;;;;;;;;;;;;;;GAmBG;AACI,MAAM,uBAAuB,GAAG,CACrC,YAAoB,EACpB,EACE,WAAW,EAAE,UAAU;AACvB,WAAW,EACX,cAAc,EACd,cAAc,GAMf,EACD,EAAE;IACF,oFAAoF;IACpF,MAAM,OAAO,GAAG,WAAW,CAAC;IAC5B,MAAM,YAAY,GAAG,YAAY,CAAC;IAElC,oEAAoE;IACpE,IAAI,cAAc,KAAK,oCAAqB,EAAE,CAAC;QAC7C,OAAO,CAAC,CAAC;IACX,CAAC;IAED,sEAAsE;IACtE,IAAI,YAAY,IAAI,WAAW,EAAE,CAAC;QAChC,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,EAAE;IACF;;;OAGG;IACH,MAAM,eAAe,GAAG,WAAW,GAAG,cAAc,CAAC;IAErD;;;;;OAKG;IACH,MAAM,IAAI,GAAG,CAAC,OAAO,GAAG,YAAY,CAAC,GAAG,eAAe,CAAC;IAExD;;;OAGG;IACH,IAAI,cAAc,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,YAAY,CAAC,GAAG,eAAe,CAAC;IAEvE;;;;OAIG;IACH,MAAM,SAAS,GAAG,MAAM,CAAC,oCAAqB,GAAG,cAAc,CAAC,GAAG,IAAI,CAAC;IAExE;;;;OAIG;IACH,MAAM,CAAC,GAAG,CAAC,IAAI,GAAG,SAAS,CAAC,GAAG,MAAM,CAAC,oCAAqB,CAAC,CAAC;IAE7D,OAAO,CAAC,CAAC;AACX,CAAC,CAAC;AApEW,QAAA,uBAAuB,2BAoElC"}
@@ -1,37 +1,39 @@
1
- import { FixedInt } from "fpnum";
2
- import { parseEther, parseUnits } from "viem";
3
- import { describe, expect, test } from "vitest";
4
- import { ReservedPercent } from "./data.js";
5
- import { getTokenAToBQuote, getTokenBPrice } from "./token.js";
6
- describe("token", () => {
7
- describe("getTokenAToBQuote", () => {
8
- test.each `
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const fpnum_1 = require("fpnum");
4
+ const viem_1 = require("viem");
5
+ const vitest_1 = require("vitest");
6
+ const data_js_1 = require("./data.js");
7
+ const token_js_1 = require("./token.js");
8
+ (0, vitest_1.describe)("token", () => {
9
+ (0, vitest_1.describe)("getTokenAToBQuote", () => {
10
+ vitest_1.test.each `
9
11
  tokenAAmount | tokenADecimals | expectedPayerTokens
10
- ${1000000n} | ${6} | ${parseUnits("1", 18)}
11
- ${parseEther("1")} | ${18} | ${parseUnits("1", 18)}
12
+ ${1000000n} | ${6} | ${(0, viem_1.parseUnits)("1", 18)}
13
+ ${(0, viem_1.parseEther)("1")} | ${18} | ${(0, viem_1.parseUnits)("1", 18)}
12
14
  `("should return the correct token B quote when amount is $tokenAAmount and decimals is $tokenADecimals", ({ tokenAAmount, tokenADecimals, expectedPayerTokens }) => {
13
- const weight = FixedInt.parse("1", 18); // 1 token per USDC
14
- const reservedPercent = new ReservedPercent(0);
15
- const { payerTokens } = getTokenAToBQuote(new FixedInt(tokenAAmount, tokenADecimals), {
15
+ const weight = fpnum_1.FixedInt.parse("1", 18); // 1 token per USDC
16
+ const reservedPercent = new data_js_1.ReservedPercent(0);
17
+ const { payerTokens } = (0, token_js_1.getTokenAToBQuote)(new fpnum_1.FixedInt(tokenAAmount, tokenADecimals), {
16
18
  weight,
17
19
  reservedPercent,
18
20
  });
19
- expect(payerTokens).toEqual(expectedPayerTokens);
21
+ (0, vitest_1.expect)(payerTokens).toEqual(expectedPayerTokens);
20
22
  });
21
- test.each `
23
+ vitest_1.test.each `
22
24
  tokenADecimals | weight | expectedTokenBPrice
23
- ${18} | ${FixedInt.parse("1", 18)} | ${parseUnits("1", 18)}
24
- ${6} | ${FixedInt.parse("1", 18)} | ${parseUnits("1", 6)}
25
- ${18} | ${FixedInt.parse("0.5", 18)} | ${parseUnits("2", 18)}
26
- ${6} | ${FixedInt.parse("0.5", 18)} | ${parseUnits("2", 6)}
27
- ${6} | ${FixedInt.parse("0.8", 18)} | ${parseUnits("1.25", 6)}
25
+ ${18} | ${fpnum_1.FixedInt.parse("1", 18)} | ${(0, viem_1.parseUnits)("1", 18)}
26
+ ${6} | ${fpnum_1.FixedInt.parse("1", 18)} | ${(0, viem_1.parseUnits)("1", 6)}
27
+ ${18} | ${fpnum_1.FixedInt.parse("0.5", 18)} | ${(0, viem_1.parseUnits)("2", 18)}
28
+ ${6} | ${fpnum_1.FixedInt.parse("0.5", 18)} | ${(0, viem_1.parseUnits)("2", 6)}
29
+ ${6} | ${fpnum_1.FixedInt.parse("0.8", 18)} | ${(0, viem_1.parseUnits)("1.25", 6)}
28
30
  `("should return the correct token A quote when amount is $tokenBAmount and decimals is $tokenADecimals", ({ tokenADecimals, expectedTokenBPrice, weight }) => {
29
- const reservedPercent = new ReservedPercent(0);
30
- const tokenBPrice = getTokenBPrice(tokenADecimals, {
31
+ const reservedPercent = new data_js_1.ReservedPercent(0);
32
+ const tokenBPrice = (0, token_js_1.getTokenBPrice)(tokenADecimals, {
31
33
  weight,
32
34
  reservedPercent,
33
35
  });
34
- expect(tokenBPrice.value).toBe(expectedTokenBPrice);
36
+ (0, vitest_1.expect)(tokenBPrice.value).toBe(expectedTokenBPrice);
35
37
  });
36
38
  });
37
39
  });
@@ -1 +1 @@
1
- {"version":3,"file":"token.test.js","sourceRoot":"","sources":["../../../src/utils/token.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE/D,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE;IACrB,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;QACjC,IAAI,CAAC,IAAI,CAAA;;QAEL,QAAQ,aAAa,CAAC,gBAAgB,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC;QACzD,UAAU,CAAC,GAAG,CAAC,MAAM,EAAE,eAAe,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC;KAC5D,CACC,sGAAsG,EACtG,CAAC,EAAE,YAAY,EAAE,cAAc,EAAE,mBAAmB,EAAE,EAAE,EAAE;YACxD,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAK,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,mBAAmB;YAC/D,MAAM,eAAe,GAAG,IAAI,eAAe,CAAC,CAAC,CAAC,CAAC;YAC/C,MAAM,EAAE,WAAW,EAAE,GAAG,iBAAiB,CACvC,IAAI,QAAQ,CAAC,YAAY,EAAE,cAAc,CAAC,EAC1C;gBACE,MAAM;gBACN,eAAe;aAChB,CACF,CAAC;YACF,MAAM,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;QACnD,CAAC,CACF,CAAC;QAEF,IAAI,CAAC,IAAI,CAAA;;QAEL,EAAE,eAAe,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC;QACnE,CAAC,gBAAgB,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC;QAClE,EAAE,eAAe,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC;QACnE,CAAC,gBAAgB,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC;QAClE,CAAC,gBAAgB,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;KACxE,CACC,sGAAsG,EACtG,CAAC,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,EAAE,EAAE,EAAE;YAClD,MAAM,eAAe,GAAG,IAAI,eAAe,CAAC,CAAC,CAAC,CAAC;YAC/C,MAAM,WAAW,GAAG,cAAc,CAAC,cAAc,EAAE;gBACjD,MAAM;gBACN,eAAe;aAChB,CAAC,CAAC;YAEH,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QACtD,CAAC,CACF,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"token.test.js","sourceRoot":"","sources":["../../../src/utils/token.test.ts"],"names":[],"mappings":";;AAAA,iCAAiC;AACjC,+BAA8C;AAC9C,mCAAgD;AAChD,uCAA4C;AAC5C,yCAA+D;AAE/D,IAAA,iBAAQ,EAAC,OAAO,EAAE,GAAG,EAAE;IACrB,IAAA,iBAAQ,EAAC,mBAAmB,EAAE,GAAG,EAAE;QACjC,aAAI,CAAC,IAAI,CAAA;;QAEL,QAAQ,aAAa,CAAC,gBAAgB,IAAA,iBAAU,EAAC,GAAG,EAAE,EAAE,CAAC;QACzD,IAAA,iBAAU,EAAC,GAAG,CAAC,MAAM,EAAE,eAAe,IAAA,iBAAU,EAAC,GAAG,EAAE,EAAE,CAAC;KAC5D,CACC,sGAAsG,EACtG,CAAC,EAAE,YAAY,EAAE,cAAc,EAAE,mBAAmB,EAAE,EAAE,EAAE;YACxD,MAAM,MAAM,GAAG,gBAAQ,CAAC,KAAK,CAAK,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,mBAAmB;YAC/D,MAAM,eAAe,GAAG,IAAI,yBAAe,CAAC,CAAC,CAAC,CAAC;YAC/C,MAAM,EAAE,WAAW,EAAE,GAAG,IAAA,4BAAiB,EACvC,IAAI,gBAAQ,CAAC,YAAY,EAAE,cAAc,CAAC,EAC1C;gBACE,MAAM;gBACN,eAAe;aAChB,CACF,CAAC;YACF,IAAA,eAAM,EAAC,WAAW,CAAC,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;QACnD,CAAC,CACF,CAAC;QAEF,aAAI,CAAC,IAAI,CAAA;;QAEL,EAAE,eAAe,gBAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,IAAA,iBAAU,EAAC,GAAG,EAAE,EAAE,CAAC;QACnE,CAAC,gBAAgB,gBAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,IAAA,iBAAU,EAAC,GAAG,EAAE,CAAC,CAAC;QAClE,EAAE,eAAe,gBAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,IAAA,iBAAU,EAAC,GAAG,EAAE,EAAE,CAAC;QACnE,CAAC,gBAAgB,gBAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,IAAA,iBAAU,EAAC,GAAG,EAAE,CAAC,CAAC;QAClE,CAAC,gBAAgB,gBAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,IAAA,iBAAU,EAAC,MAAM,EAAE,CAAC,CAAC;KACxE,CACC,sGAAsG,EACtG,CAAC,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,EAAE,EAAE,EAAE;YAClD,MAAM,eAAe,GAAG,IAAI,yBAAe,CAAC,CAAC,CAAC,CAAC;YAC/C,MAAM,WAAW,GAAG,IAAA,yBAAc,EAAC,cAAc,EAAE;gBACjD,MAAM;gBACN,eAAe;aAChB,CAAC,CAAC;YAEH,IAAA,eAAM,EAAC,WAAW,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QACtD,CAAC,CACF,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,7 +1,10 @@
1
- import { toBytes, toHex } from "viem";
2
- export function createSalt() {
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createSalt = createSalt;
4
+ const viem_1 = require("viem");
5
+ function createSalt() {
3
6
  const base = "0x" + Math.random().toString(16).slice(2); // idk lol
4
- const salt = toHex(toBytes(base, { size: 32 }));
7
+ const salt = (0, viem_1.toHex)((0, viem_1.toBytes)(base, { size: 32 }));
5
8
  return salt;
6
9
  }
7
10
  //# sourceMappingURL=tx.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tx.js","sourceRoot":"","sources":["../../../src/utils/tx.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,MAAM,CAAC;AAEtC,MAAM,UAAU,UAAU;IACxB,MAAM,IAAI,GAAW,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU;IAC3E,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IAEhD,OAAO,IAAI,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"tx.js","sourceRoot":"","sources":["../../../src/utils/tx.ts"],"names":[],"mappings":";;AAEA,gCAKC;AAPD,+BAAsC;AAEtC,SAAgB,UAAU;IACxB,MAAM,IAAI,GAAW,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU;IAC3E,MAAM,IAAI,GAAG,IAAA,YAAK,EAAC,IAAA,cAAO,EAAC,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IAEhD,OAAO,IAAI,CAAC;AACd,CAAC"}