@kaspacom/kcc20-tx-builder 0.1.0 → 0.2.5

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 (43) hide show
  1. package/dist/artifacts.d.ts +2 -0
  2. package/dist/artifacts.d.ts.map +1 -1
  3. package/dist/artifacts.js +3 -1
  4. package/dist/artifacts.js.map +1 -1
  5. package/dist/builder.d.ts +0 -2
  6. package/dist/builder.d.ts.map +1 -1
  7. package/dist/cjs/artifacts.d.ts +2 -0
  8. package/dist/cjs/artifacts.js +4 -2
  9. package/dist/cjs/artifacts.js.map +1 -1
  10. package/dist/cjs/builder.d.ts +0 -2
  11. package/dist/cjs/deploy-receipt.d.ts +45 -0
  12. package/dist/cjs/deploy-receipt.js +122 -0
  13. package/dist/cjs/deploy-receipt.js.map +1 -0
  14. package/dist/cjs/engine.js +336 -226
  15. package/dist/cjs/engine.js.map +1 -1
  16. package/dist/cjs/index.d.ts +1 -0
  17. package/dist/cjs/index.js +1 -0
  18. package/dist/cjs/index.js.map +1 -1
  19. package/dist/cjs/protocol.d.ts +1 -0
  20. package/dist/cjs/protocol.js +15 -0
  21. package/dist/cjs/protocol.js.map +1 -1
  22. package/dist/deploy-receipt.d.ts +46 -0
  23. package/dist/deploy-receipt.d.ts.map +1 -0
  24. package/dist/deploy-receipt.js +119 -0
  25. package/dist/deploy-receipt.js.map +1 -0
  26. package/dist/engine.d.ts.map +1 -1
  27. package/dist/engine.js +337 -227
  28. package/dist/engine.js.map +1 -1
  29. package/dist/index.d.ts +1 -0
  30. package/dist/index.d.ts.map +1 -1
  31. package/dist/index.js +1 -0
  32. package/dist/index.js.map +1 -1
  33. package/dist/protocol.d.ts +1 -0
  34. package/dist/protocol.d.ts.map +1 -1
  35. package/dist/protocol.js +14 -0
  36. package/dist/protocol.js.map +1 -1
  37. package/package.json +1 -1
  38. package/src/artifacts.ts +5 -1
  39. package/src/builder.ts +0 -3
  40. package/src/deploy-receipt.ts +200 -0
  41. package/src/engine.ts +429 -296
  42. package/src/index.ts +1 -0
  43. package/src/protocol.ts +21 -0
package/src/index.ts CHANGED
@@ -3,6 +3,7 @@ export * from "./action-source-resolver.js";
3
3
  export * from "./abi.js";
4
4
  export * from "./builder.js";
5
5
  export * from "./deploy-operation.js";
6
+ export * from "./deploy-receipt.js";
6
7
  export * from "./errors.js";
7
8
  export * from "./encoding.js";
8
9
  export * from "./engine.js";
package/src/protocol.ts CHANGED
@@ -26,3 +26,24 @@ export const KCC20_PLATFORM_PROTOCOL_FEE_RECIPIENT =
26
26
  "ce2100e68197c8e695bd781d07e2bd5de7ed77f5a97668884190531bdc632c01" as const;
27
27
  export const KCC20_ORDERBOOK_PROTOCOL_FEE_RECIPIENT =
28
28
  KCC20_PLATFORM_PROTOCOL_FEE_RECIPIENT;
29
+
30
+ export function splitKcc20MintSupply(
31
+ remainingSupply: bigint,
32
+ laneCount: bigint,
33
+ ): bigint[] {
34
+ if (remainingSupply <= 0n) {
35
+ throw new Error("remaining mint supply must be greater than zero");
36
+ }
37
+ if (laneCount < 1n || laneCount > 10n) {
38
+ throw new Error("mint lane count must be between 1 and 10");
39
+ }
40
+ if (remainingSupply < laneCount) {
41
+ throw new Error("remaining mint supply must cover every mint lane");
42
+ }
43
+ const base = remainingSupply / laneCount;
44
+ const remainder = remainingSupply % laneCount;
45
+ return Array.from(
46
+ { length: Number(laneCount) },
47
+ (_, index) => base + (BigInt(index) < remainder ? 1n : 0n),
48
+ );
49
+ }