@kaspacom/kcc20-tx-builder 0.4.0 → 0.6.0

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 (139) hide show
  1. package/CHANGELOG.md +12 -1
  2. package/README.md +2 -2
  3. package/RELEASING.md +19 -14
  4. package/artifacts/ArgentKCC20.reference.json +12428 -0
  5. package/artifacts/ArgentKCC20Wrapper.placeholder.json +12455 -0
  6. package/artifacts/KCC20.placeholder.json +1447 -1973
  7. package/artifacts/KCC20FeeTicket.placeholder.json +816 -1447
  8. package/artifacts/KCC20Orderbook.placeholder.json +1 -2
  9. package/artifacts/KCC20SnapshotBootstrap.placeholder.json +101 -100
  10. package/artifacts/KCC20SnapshotController.placeholder.json +101 -100
  11. package/artifacts/KCC20Vesting.placeholder.json +427 -429
  12. package/artifacts/KCC20Wrapper.placeholder.json +733 -734
  13. package/artifacts/kcc20-snapshot-bootstrap/KCC20SnapshotBootstrap.placeholder.json +101 -100
  14. package/artifacts/kcc20-snapshot-controller/KCC20SnapshotController.placeholder.json +101 -100
  15. package/artifacts/snapshot-standards.lock.json +6 -3
  16. package/artifacts/token-profiles.json +109 -0
  17. package/artifacts/token-profiles.sha256 +1 -0
  18. package/dist/action-source-resolver.d.ts.map +1 -1
  19. package/dist/action-source-resolver.js +11 -2
  20. package/dist/action-source-resolver.js.map +1 -1
  21. package/dist/artifacts.d.ts +10 -10
  22. package/dist/artifacts.d.ts.map +1 -1
  23. package/dist/artifacts.js +10 -10
  24. package/dist/artifacts.js.map +1 -1
  25. package/dist/cjs/action-source-resolver.js +11 -2
  26. package/dist/cjs/action-source-resolver.js.map +1 -1
  27. package/dist/cjs/artifacts.d.ts +10 -10
  28. package/dist/cjs/artifacts.js +10 -10
  29. package/dist/cjs/artifacts.js.map +1 -1
  30. package/dist/cjs/engine.d.ts +10 -0
  31. package/dist/cjs/engine.js +124 -77
  32. package/dist/cjs/engine.js.map +1 -1
  33. package/dist/cjs/index.d.ts +5 -0
  34. package/dist/cjs/index.js +5 -0
  35. package/dist/cjs/index.js.map +1 -1
  36. package/dist/cjs/profile-transfer.d.ts +60 -0
  37. package/dist/cjs/profile-transfer.js +248 -0
  38. package/dist/cjs/profile-transfer.js.map +1 -0
  39. package/dist/cjs/snapshot-operation.d.ts +0 -1
  40. package/dist/cjs/snapshot-operation.js +1 -1126
  41. package/dist/cjs/snapshot-operation.js.map +1 -1
  42. package/dist/cjs/snapshot-signerless-transactions.d.ts +1 -1
  43. package/dist/cjs/snapshot-signerless-transactions.js +3 -6
  44. package/dist/cjs/snapshot-signerless-transactions.js.map +1 -1
  45. package/dist/cjs/snapshot-signerless.js +5 -3
  46. package/dist/cjs/snapshot-signerless.js.map +1 -1
  47. package/dist/cjs/snapshot-verification.d.ts +1 -1
  48. package/dist/cjs/snapshot-verification.js +16 -12
  49. package/dist/cjs/snapshot-verification.js.map +1 -1
  50. package/dist/cjs/token-authorization.d.ts +42 -0
  51. package/dist/cjs/token-authorization.js +93 -0
  52. package/dist/cjs/token-authorization.js.map +1 -0
  53. package/dist/cjs/token-profiles.d.ts +82 -0
  54. package/dist/cjs/token-profiles.generated.d.ts +3 -0
  55. package/dist/cjs/token-profiles.generated.js +114 -0
  56. package/dist/cjs/token-profiles.generated.js.map +1 -0
  57. package/dist/cjs/token-profiles.js +257 -0
  58. package/dist/cjs/token-profiles.js.map +1 -0
  59. package/dist/cjs/transfer-payload.d.ts +9 -0
  60. package/dist/cjs/transfer-payload.js +37 -0
  61. package/dist/cjs/transfer-payload.js.map +1 -0
  62. package/dist/cjs/wrapper-operation.d.ts +1 -0
  63. package/dist/cjs/wrapper-operation.js +1 -0
  64. package/dist/cjs/wrapper-operation.js.map +1 -1
  65. package/dist/engine.d.ts +10 -0
  66. package/dist/engine.d.ts.map +1 -1
  67. package/dist/engine.js +125 -78
  68. package/dist/engine.js.map +1 -1
  69. package/dist/index.d.ts +5 -0
  70. package/dist/index.d.ts.map +1 -1
  71. package/dist/index.js +5 -0
  72. package/dist/index.js.map +1 -1
  73. package/dist/profile-transfer.d.ts +61 -0
  74. package/dist/profile-transfer.d.ts.map +1 -0
  75. package/dist/profile-transfer.js +245 -0
  76. package/dist/profile-transfer.js.map +1 -0
  77. package/dist/snapshot-operation.d.ts +0 -1
  78. package/dist/snapshot-operation.d.ts.map +1 -1
  79. package/dist/snapshot-operation.js +0 -1125
  80. package/dist/snapshot-operation.js.map +1 -1
  81. package/dist/snapshot-signerless-transactions.d.ts +1 -1
  82. package/dist/snapshot-signerless-transactions.d.ts.map +1 -1
  83. package/dist/snapshot-signerless-transactions.js +3 -6
  84. package/dist/snapshot-signerless-transactions.js.map +1 -1
  85. package/dist/snapshot-signerless.d.ts.map +1 -1
  86. package/dist/snapshot-signerless.js +5 -3
  87. package/dist/snapshot-signerless.js.map +1 -1
  88. package/dist/snapshot-verification.d.ts +1 -1
  89. package/dist/snapshot-verification.d.ts.map +1 -1
  90. package/dist/snapshot-verification.js +16 -12
  91. package/dist/snapshot-verification.js.map +1 -1
  92. package/dist/token-authorization.d.ts +43 -0
  93. package/dist/token-authorization.d.ts.map +1 -0
  94. package/dist/token-authorization.js +88 -0
  95. package/dist/token-authorization.js.map +1 -0
  96. package/dist/token-profiles.d.ts +83 -0
  97. package/dist/token-profiles.d.ts.map +1 -0
  98. package/dist/token-profiles.generated.d.ts +4 -0
  99. package/dist/token-profiles.generated.d.ts.map +1 -0
  100. package/dist/token-profiles.generated.js +111 -0
  101. package/dist/token-profiles.generated.js.map +1 -0
  102. package/dist/token-profiles.js +245 -0
  103. package/dist/token-profiles.js.map +1 -0
  104. package/dist/transfer-payload.d.ts +10 -0
  105. package/dist/transfer-payload.d.ts.map +1 -0
  106. package/dist/transfer-payload.js +34 -0
  107. package/dist/transfer-payload.js.map +1 -0
  108. package/dist/wrapper-operation.d.ts +1 -0
  109. package/dist/wrapper-operation.d.ts.map +1 -1
  110. package/dist/wrapper-operation.js +1 -0
  111. package/dist/wrapper-operation.js.map +1 -1
  112. package/docs/API.md +1 -1
  113. package/docs/COMPATIBILITY.json +24 -33
  114. package/docs/INTEGRATION.md +2 -2
  115. package/docs/LAST_CALL.md +50 -0
  116. package/examples/README.md +5 -2
  117. package/examples/backend/cli.ts +2 -1
  118. package/examples/frontend/main.ts +2 -1
  119. package/examples/shared/build.ts +3 -0
  120. package/examples/shared/offline-profile.ts +27 -0
  121. package/examples/shared/recipe-fixtures.ts +3 -2
  122. package/examples/test/browser.ts +2 -2
  123. package/examples/test/build.test.ts +21 -8
  124. package/examples/test/sources.test.ts +3 -2
  125. package/package.json +2 -2
  126. package/src/action-source-resolver.ts +22 -4
  127. package/src/artifacts.ts +12 -10
  128. package/src/engine.ts +208 -105
  129. package/src/index.ts +7 -0
  130. package/src/profile-transfer.ts +425 -0
  131. package/src/snapshot-operation.ts +59 -1731
  132. package/src/snapshot-signerless-transactions.ts +8 -17
  133. package/src/snapshot-signerless.ts +5 -3
  134. package/src/snapshot-verification.ts +17 -13
  135. package/src/token-authorization.ts +135 -0
  136. package/src/token-profiles.generated.ts +112 -0
  137. package/src/token-profiles.ts +456 -0
  138. package/src/transfer-payload.ts +45 -0
  139. package/src/wrapper-operation.ts +2 -0
package/dist/index.d.ts CHANGED
@@ -1,4 +1,6 @@
1
1
  export * from "./artifacts.js";
2
+ export * from "./token-profiles.js";
3
+ export * from "./token-profiles.generated.js";
2
4
  export * from "./action-source-resolver.js";
3
5
  export * from "./abi.js";
4
6
  export * from "./builder.js";
@@ -33,4 +35,7 @@ export * as snapshot from "./snapshot-signerless.js";
33
35
  export * as snapshotTransactions from "./snapshot-signerless-transactions.js";
34
36
  export * from "./snapshot-deployment.js";
35
37
  export * from "./snapshot-verification.js";
38
+ export * from "./token-authorization.js";
39
+ export * from "./profile-transfer.js";
40
+ export * from "./transfer-payload.js";
36
41
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,6BAA6B,CAAC;AAC5C,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,kCAAkC,CAAC;AACjD,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AACvC,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,OAAO,KAAK,UAAU,MAAM,kBAAkB,CAAC;AAC/C,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,uCAAuC,CAAC;AACtD,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AAEtC,OAAO,KAAK,QAAQ,MAAM,0BAA0B,CAAC;AACrD,OAAO,KAAK,oBAAoB,MAAM,uCAAuC,CAAC;AAC9E,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,kCAAkC,CAAC;AACjD,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AACvC,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,OAAO,KAAK,UAAU,MAAM,kBAAkB,CAAC;AAC/C,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,uCAAuC,CAAC;AACtD,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AAEtC,OAAO,KAAK,QAAQ,MAAM,0BAA0B,CAAC;AACrD,OAAO,KAAK,oBAAoB,MAAM,uCAAuC,CAAC;AAC9E,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAE3C,cAAc,0BAA0B,CAAC;AAEzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC"}
package/dist/index.js CHANGED
@@ -1,4 +1,6 @@
1
1
  export * from "./artifacts.js";
2
+ export * from "./token-profiles.js";
3
+ export * from "./token-profiles.generated.js";
2
4
  export * from "./action-source-resolver.js";
3
5
  export * from "./abi.js";
4
6
  export * from "./builder.js";
@@ -33,4 +35,7 @@ export * as snapshot from "./snapshot-signerless.js";
33
35
  export * as snapshotTransactions from "./snapshot-signerless-transactions.js";
34
36
  export * from "./snapshot-deployment.js";
35
37
  export * from "./snapshot-verification.js";
38
+ export * from "./token-authorization.js";
39
+ export * from "./profile-transfer.js";
40
+ export * from "./transfer-payload.js";
36
41
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,6BAA6B,CAAC;AAC5C,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,kCAAkC,CAAC;AACjD,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AACvC,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,OAAO,KAAK,UAAU,MAAM,kBAAkB,CAAC;AAC/C,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,uCAAuC,CAAC;AACtD,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AAEtC,OAAO,KAAK,QAAQ,MAAM,0BAA0B,CAAC;AACrD,OAAO,KAAK,oBAAoB,MAAM,uCAAuC,CAAC;AAC9E,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,kCAAkC,CAAC;AACjD,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AACvC,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,OAAO,KAAK,UAAU,MAAM,kBAAkB,CAAC;AAC/C,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,uCAAuC,CAAC;AACtD,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AAEtC,OAAO,KAAK,QAAQ,MAAM,0BAA0B,CAAC;AACrD,OAAO,KAAK,oBAAoB,MAAM,uCAAuC,CAAC;AAC9E,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAE3C,cAAc,0BAA0B,CAAC;AAEzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC"}
@@ -0,0 +1,61 @@
1
+ import { type AuthenticatedTokenProfileRegistry } from "./token-profiles.js";
2
+ import { type TokenSigningCapabilities } from "./token-authorization.js";
3
+ export interface ProfileTokenState {
4
+ amount: bigint;
5
+ owner: Uint8Array;
6
+ ownerScheme: number;
7
+ borrowScheme: number;
8
+ borrowGuard: Uint8Array;
9
+ extensionCommitment: Uint8Array;
10
+ }
11
+ export interface ProfileTransferInput {
12
+ /** A current, authenticated RPC UTXO. This API does not fetch chain state. */
13
+ entry: any;
14
+ state: ProfileTokenState;
15
+ publicKey?: string;
16
+ authorityInputIndex?: number;
17
+ }
18
+ export interface ProfileAuthorityInput {
19
+ entry: any;
20
+ revealScript: Uint8Array;
21
+ /** Exact authority witness, supplied by its reviewed authority adapter. */
22
+ arguments: Array<{
23
+ type: "data";
24
+ hex: string;
25
+ } | {
26
+ type: "i64";
27
+ value: string;
28
+ } | {
29
+ type: "signature";
30
+ prefixHex?: string;
31
+ }>;
32
+ signatureAlgorithm?: "schnorr" | "ecdsa";
33
+ }
34
+ export interface ProfileTransferPlan {
35
+ /** Host-authenticated registry input; never populate this from transaction request data. */
36
+ tokenProfileRegistry: AuthenticatedTokenProfileRegistry;
37
+ profileId: string;
38
+ artifact: unknown;
39
+ tokenInputs: ProfileTransferInput[];
40
+ nextStates: ProfileTokenState[];
41
+ authorities?: ProfileAuthorityInput[];
42
+ fundingEntry: any;
43
+ fundingAddress: string;
44
+ feeSompi: bigint;
45
+ network: string;
46
+ tokenOutputSompi?: bigint;
47
+ capabilities: TokenSigningCapabilities;
48
+ mode: "owner" | "borrow";
49
+ borrow?: {
50
+ nextGuard?: string;
51
+ oneTimePublicKey?: string;
52
+ signingPublicKey?: string;
53
+ };
54
+ }
55
+ /**
56
+ * Deterministic standard transfer construction for explicit authority/borrow flows.
57
+ * Callers authenticate RPC freshness and canonical acceptance before signing.
58
+ * Authority continuations preserve their script, value and covenant identity.
59
+ */
60
+ export declare function buildProfileTransferTransaction(kw: any, plan: ProfileTransferPlan): any;
61
+ //# sourceMappingURL=profile-transfer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"profile-transfer.d.ts","sourceRoot":"","sources":["../src/profile-transfer.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,iCAAiC,EACvC,MAAM,qBAAqB,CAAC;AAK7B,OAAO,EAGL,KAAK,wBAAwB,EAC9B,MAAM,0BAA0B,CAAC;AAElC,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,UAAU,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,UAAU,CAAC;IACxB,mBAAmB,EAAE,UAAU,CAAC;CACjC;AACD,MAAM,WAAW,oBAAoB;IACnC,8EAA8E;IAC9E,KAAK,EAAE,GAAG,CAAC;IACX,KAAK,EAAE,iBAAiB,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AACD,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,GAAG,CAAC;IACX,YAAY,EAAE,UAAU,CAAC;IACzB,2EAA2E;IAC3E,SAAS,EAAE,KAAK,CACZ;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,GAC7B;QAAE,IAAI,EAAE,KAAK,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAC9B;QAAE,IAAI,EAAE,WAAW,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAC5C,CAAC;IACF,kBAAkB,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC;CAC1C;AACD,MAAM,WAAW,mBAAmB;IAClC,4FAA4F;IAC5F,oBAAoB,EAAE,iCAAiC,CAAC;IACxD,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,oBAAoB,EAAE,CAAC;IACpC,UAAU,EAAE,iBAAiB,EAAE,CAAC;IAChC,WAAW,CAAC,EAAE,qBAAqB,EAAE,CAAC;IACtC,YAAY,EAAE,GAAG,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,YAAY,EAAE,wBAAwB,CAAC;IACvC,IAAI,EAAE,OAAO,GAAG,QAAQ,CAAC;IACzB,MAAM,CAAC,EAAE;QACP,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;KAC3B,CAAC;CACH;AAgBD;;;;GAIG;AACH,wBAAgB,+BAA+B,CAC7C,EAAE,EAAE,GAAG,EACP,IAAI,EAAE,mBAAmB,GACxB,GAAG,CAkVL"}
@@ -0,0 +1,245 @@
1
+ import { authenticateTokenArtifact, requireTokenCapability, resolveAuthenticatedTokenProfile, } from "./token-profiles.js";
2
+ import { buildKcc20ScriptForState, encodeKcc20StateRecordArrays, } from "./abi.js";
3
+ import { planTokenOwnerWitness, buildTokenBorrowWitness, } from "./token-authorization.js";
4
+ const hex = (v) => Array.from(v, (b) => b.toString(16).padStart(2, "0")).join("");
5
+ const amount = (e) => BigInt(e.amount ?? e.entry?.amount ?? e.utxoEntry?.amount);
6
+ const spk = (e) => e.scriptPublicKey ?? e.entry?.scriptPublicKey ?? e.utxoEntry?.scriptPublicKey;
7
+ const cid = (e) => {
8
+ const c = e.covenantId ?? e.entry?.covenantId ?? e.utxoEntry?.covenantId;
9
+ return c == null ? undefined : String(c).toLowerCase();
10
+ };
11
+ const outpoint = (e) => e.outpoint ?? e.entry?.outpoint;
12
+ const assert = (ok, message) => {
13
+ if (!ok)
14
+ throw Error(message);
15
+ };
16
+ /**
17
+ * Deterministic standard transfer construction for explicit authority/borrow flows.
18
+ * Callers authenticate RPC freshness and canonical acceptance before signing.
19
+ * Authority continuations preserve their script, value and covenant identity.
20
+ */
21
+ export function buildProfileTransferTransaction(kw, plan) {
22
+ const profile = resolveAuthenticatedTokenProfile(plan.tokenProfileRegistry, plan.profileId);
23
+ const { tokenInputs, nextStates } = plan;
24
+ requireTokenCapability(profile, plan.mode === "borrow" ? "borrow" : "transfer");
25
+ assert(plan.mode === "owner" || plan.mode === "borrow", "explicit owner or borrow mode is required");
26
+ const artifact = authenticateTokenArtifact(profile, plan.artifact);
27
+ assert(tokenInputs.length > 0 && tokenInputs.length <= profile.maxTokenInputs, "token input bound exceeded");
28
+ assert(nextStates.length > 0 && nextStates.length <= profile.maxTokenOutputs, "token output bound exceeded");
29
+ assert(plan.feeSompi >= 0n && plan.feeSompi <= 50000000n, "fee exceeds transaction limit");
30
+ const tokenId = cid(tokenInputs[0].entry);
31
+ assert(tokenId && /^[0-9a-f]{64}$/.test(tokenId), "native token identity is required");
32
+ const extension = hex(tokenInputs[0].state.extensionCommitment);
33
+ let total = 0n;
34
+ for (const input of tokenInputs) {
35
+ assert(cid(input.entry) === tokenId, "mixed native token identities");
36
+ assert(input.state.amount >= 0n &&
37
+ hex(input.state.extensionCommitment) === extension, "invalid input amount or extension");
38
+ total += input.state.amount;
39
+ const expected = kw.payToScriptHashScript(buildKcc20ScriptForState(artifact, input.state));
40
+ assert(kw.addressFromScriptPublicKey(expected, plan.network).toString() ===
41
+ kw
42
+ .addressFromScriptPublicKey(spk(input.entry), plan.network)
43
+ .toString(), "token input script does not authenticate its state");
44
+ }
45
+ assert(total <= 0x7fffffffffffffffn, "transfer total exceeds integer limit");
46
+ for (const state of nextStates) {
47
+ assert(state.amount >= 0n && hex(state.extensionCommitment) === extension, "invalid output amount or extension");
48
+ assert(profile.ownerSchemes.includes(state.ownerScheme) &&
49
+ [0, 1, 2, 3].includes(state.borrowScheme), "unsupported output owner or borrow scheme");
50
+ }
51
+ assert(nextStates.reduce((sum, s) => sum + s.amount, 0n) === total, "token conservation failed");
52
+ const authorities = plan.authorities ?? [];
53
+ assert(authorities.length <= 255 - tokenInputs.length, "too many authority inputs");
54
+ const authorityEvidence = authorities.map((a, i) => {
55
+ assert(a.revealScript.length > 0 && a.revealScript.length <= 100_000, "invalid authority reveal size");
56
+ const expected = kw.payToScriptHashScript(a.revealScript);
57
+ assert(kw.addressFromScriptPublicKey(expected, plan.network).toString() ===
58
+ kw.addressFromScriptPublicKey(spk(a.entry), plan.network).toString(), "authority reveal does not match its RPC output");
59
+ assert(cid(a.entry) !== tokenId, "token family inputs must be listed as token inputs");
60
+ assert(a.arguments.length <= 128, "authority witness exceeds limit");
61
+ for (const arg of a.arguments) {
62
+ assert(["data", "i64", "signature"].includes(arg.type), "unsupported authority witness argument");
63
+ if (arg.type === "data")
64
+ assert(/^(?:[a-f0-9]{2})*$/i.test(arg.hex) && arg.hex.length <= 200_000, "invalid authority witness data");
65
+ if (arg.type === "i64")
66
+ assert(/^-?\d+$/.test(arg.value) &&
67
+ BigInt(arg.value) >= -0x7fffffffffffffffn &&
68
+ BigInt(arg.value) <= 0x7fffffffffffffffn, "invalid authority integer");
69
+ if (arg.type === "signature") {
70
+ assert(a.signatureAlgorithm && plan.capabilities[a.signatureAlgorithm], "wallet cannot sign the authority scheme");
71
+ assert(/^(?:[a-f0-9]{2})*$/i.test(arg.prefixHex ?? ""), "invalid authority signature prefix");
72
+ }
73
+ }
74
+ return {
75
+ index: tokenInputs.length + i,
76
+ scriptPublicKeyHex: String(expected.script),
77
+ covenantId: cid(a.entry),
78
+ };
79
+ });
80
+ const entries = [
81
+ ...tokenInputs.map((i) => i.entry),
82
+ ...authorities.map((i) => i.entry),
83
+ plan.fundingEntry,
84
+ ];
85
+ const keys = entries.map((e) => {
86
+ const o = outpoint(e);
87
+ assert(o &&
88
+ /^[0-9a-f]{64}$/i.test(String(o.transactionId)) &&
89
+ Number.isInteger(o.index) &&
90
+ o.index >= 0, "invalid source outpoint");
91
+ return `${String(o.transactionId).toLowerCase()}:${o.index}`;
92
+ });
93
+ assert(new Set(keys).size === keys.length, "duplicate transaction input");
94
+ assert(!cid(plan.fundingEntry), "funding input must not spend a covenant");
95
+ assert(kw
96
+ .addressFromScriptPublicKey(spk(plan.fundingEntry), plan.network)
97
+ .toString() === plan.fundingAddress, "funding input does not belong to wallet");
98
+ const scripts = [];
99
+ for (let index = 0; index < tokenInputs.length; index++) {
100
+ const input = tokenInputs[index];
101
+ let authorization;
102
+ if (index === 0 && plan.mode === "borrow") {
103
+ const previous = input.state, next = nextStates[0], borrow = plan.borrow ?? {};
104
+ assert(previous.borrowScheme !== 0, "borrowing is disabled");
105
+ assert(hex(previous.owner) === hex(next.owner) &&
106
+ previous.ownerScheme === next.ownerScheme &&
107
+ previous.borrowScheme === next.borrowScheme, "borrow successor changes ownership or scheme");
108
+ const delta = next.amount - previous.amount;
109
+ let threshold = 0n;
110
+ if (previous.borrowScheme === 1) {
111
+ for (let i = 7; i >= 0; i--)
112
+ threshold = (threshold << 8n) | BigInt(previous.borrowGuard[i]);
113
+ assert((threshold & (1n << 63n)) === 0n || threshold === 1n << 63n, "negative thresholds are not supported by this adapter");
114
+ if (threshold === 1n << 63n)
115
+ threshold = 0n;
116
+ }
117
+ assert(delta > threshold, "borrow increase does not exceed threshold");
118
+ if (previous.borrowScheme !== 3)
119
+ assert(hex(previous.borrowGuard) === hex(next.borrowGuard), "borrow guard must be preserved");
120
+ else
121
+ assert(hex(next.borrowGuard) === borrow.nextGuard, "borrow successor guard differs from committed next link");
122
+ if (previous.borrowScheme !== 1) {
123
+ assert(plan.capabilities.schnorr, "wallet cannot sign borrowed receive");
124
+ assert(borrow.signingPublicKey ===
125
+ (previous.borrowScheme === 2
126
+ ? hex(previous.borrowGuard)
127
+ : borrow.oneTimePublicKey), "borrow signing key does not match authorization");
128
+ }
129
+ // Validate the complete witness shape/hash link before leaving a signature slot.
130
+ const witness = buildTokenBorrowWitness({
131
+ profile,
132
+ borrowScheme: previous.borrowScheme,
133
+ currentGuard: hex(previous.borrowGuard),
134
+ ...(previous.borrowScheme === 1
135
+ ? {}
136
+ : {
137
+ signature: "00".repeat(64) + "01",
138
+ nextGuard: borrow.nextGuard,
139
+ oneTimePublicKey: borrow.oneTimePublicKey,
140
+ }),
141
+ });
142
+ authorization =
143
+ previous.borrowScheme === 1
144
+ ? { argument: { type: "data", hex: hex(witness) } }
145
+ : {
146
+ argument: {
147
+ type: "signature",
148
+ prefixHex: hex(witness.slice(0, -65)),
149
+ },
150
+ signatureAlgorithm: "schnorr",
151
+ };
152
+ }
153
+ else {
154
+ authorization = planTokenOwnerWitness({
155
+ profile,
156
+ owner: hex(input.state.owner),
157
+ ownerScheme: input.state.ownerScheme,
158
+ publicKey: input.publicKey,
159
+ capabilities: plan.capabilities,
160
+ role: index === 0 ? "leader" : "delegator",
161
+ authorityInputIndex: input.authorityInputIndex,
162
+ authorityInputs: authorityEvidence,
163
+ });
164
+ }
165
+ scripts.push({
166
+ inputIndex: index,
167
+ scriptHex: hex(buildKcc20ScriptForState(artifact, input.state)),
168
+ signType: 1,
169
+ ...(authorization.signatureAlgorithm
170
+ ? { signatureAlgorithm: authorization.signatureAlgorithm }
171
+ : {}),
172
+ signatureScript: {
173
+ mode: "ordered-args",
174
+ args: [
175
+ ...(index === 0
176
+ ? encodeKcc20StateRecordArrays(nextStates).map((v) => ({
177
+ type: "data",
178
+ hex: hex(v),
179
+ }))
180
+ : []),
181
+ authorization.argument,
182
+ {
183
+ type: "data",
184
+ hex: index === 0 ? profile.transferTag : profile.delegatorTag,
185
+ },
186
+ ],
187
+ },
188
+ });
189
+ }
190
+ for (let i = 0; i < authorities.length; i++)
191
+ scripts.push({
192
+ inputIndex: tokenInputs.length + i,
193
+ scriptHex: hex(authorities[i].revealScript),
194
+ signType: 1,
195
+ signatureAlgorithm: authorities[i].signatureAlgorithm,
196
+ signatureScript: { mode: "ordered-args", args: authorities[i].arguments },
197
+ });
198
+ const tokenValue = plan.tokenOutputSompi ?? 50000000n;
199
+ assert(tokenValue > 0n, "token output KAS must be positive");
200
+ if (plan.mode === "borrow")
201
+ assert(tokenValue >= amount(tokenInputs[0].entry), "borrow successor must preserve its KAS value");
202
+ const outputs = nextStates.map((state) => new kw.TransactionOutput(tokenValue, kw.payToScriptHashScript(buildKcc20ScriptForState(artifact, state)), new kw.CovenantBinding(0, new kw.Hash(tokenId))));
203
+ for (let i = 0; i < authorities.length; i++) {
204
+ const entry = authorities[i].entry, identity = cid(entry);
205
+ outputs.push(new kw.TransactionOutput(amount(entry), spk(entry), identity
206
+ ? new kw.CovenantBinding(tokenInputs.length + i, new kw.Hash(identity))
207
+ : undefined));
208
+ }
209
+ const change = entries.reduce((sum, e) => sum + amount(e), 0n) -
210
+ BigInt(nextStates.length) * tokenValue -
211
+ authorities.reduce((sum, a) => sum + amount(a.entry), 0n) -
212
+ plan.feeSompi;
213
+ assert(change > 10000n, "insufficient funding or change");
214
+ outputs.push(new kw.TransactionOutput(change, kw.payToAddressScript(plan.fundingAddress)));
215
+ const transaction = new kw.Transaction({
216
+ version: 1,
217
+ lockTime: 0n,
218
+ subnetworkId: "00".repeat(20),
219
+ gas: 0n,
220
+ payload: "",
221
+ inputs: entries.map((e) => ({
222
+ previousOutpoint: outpoint(e),
223
+ utxo: e,
224
+ sequence: 0n,
225
+ sigOpCount: 0,
226
+ computeBudget: 1000,
227
+ })),
228
+ outputs,
229
+ });
230
+ transaction.inputs[entries.length - 1].computeBudget = 30;
231
+ return {
232
+ schema: "kcc20-in-process-pskt-builder-output/v1",
233
+ psktTransactionJson: transaction.serializeToSafeJSON(),
234
+ scripts,
235
+ signInputs: [{ index: entries.length - 1, sighashType: 1 }],
236
+ submitTransactionSupported: true,
237
+ metadata: {
238
+ tokenProfileId: profile.id,
239
+ covenantId: tokenId,
240
+ mode: plan.mode,
241
+ fundingChangeOutputIndex: outputs.length - 1,
242
+ },
243
+ };
244
+ }
245
+ //# sourceMappingURL=profile-transfer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"profile-transfer.js","sourceRoot":"","sources":["../src/profile-transfer.ts"],"names":[],"mappings":"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"}
@@ -23,6 +23,5 @@ export interface Kcc20SnapshotBuilderOptions {
23
23
  rpcClientFactory?: (config: unknown) => any;
24
24
  transactionWithCalculatedFeeChange: (...args: any[]) => any;
25
25
  }
26
- export declare const SNAPSHOT_CANCEL_SINK_P2SH = "d379e50f3e2203f9a92584916335bb7cd014b237ceaa8b36f1d3d80d0cc88b32";
27
26
  export declare function createKcc20SnapshotPsktBuilder(options: Kcc20SnapshotBuilderOptions): (input: unknown) => Promise<Record<string, unknown>>;
28
27
  //# sourceMappingURL=snapshot-operation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"snapshot-operation.d.ts","sourceRoot":"","sources":["../src/snapshot-operation.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAoCrD,eAAO,MAAM,2BAA2B,kIAK9B,CAAC;AAEX;;;;;GAKG;AACH,wBAAgB,qCAAqC,CACnD,SAAS,EAAE;IACT,cAAc,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IACzC,gBAAgB,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;CAC5C,EACD,UAAU,EAAE,MAAM,EAClB,gBAAgB,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAC1C,iBAAiB,GAAE,MAAM,GAAG,MAAM,GAAG,MAAgB,GACpD,MAAM,CA8BR;AA6BD,MAAM,WAAW,2BAA2B;IAC1C,IAAI,EAAE,gBAAgB,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,gBAAgB,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACrD,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC7B,cAAc,CAAC,EAAE;QACf,mBAAmB,CAAC,IAAI,EAAE;YAAE,SAAS,EAAE,MAAM,EAAE,CAAA;SAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;KACtE,CAAC;IACF,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,GAAG,CAAC;IAC5C,kCAAkC,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC;CAC7D;AAED,eAAO,MAAM,yBAAyB,qEAC8B,CAAC;AAErE,wBAAgB,8BAA8B,CAC5C,OAAO,EAAE,2BAA2B,GACnC,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAywGtD"}
1
+ {"version":3,"file":"snapshot-operation.d.ts","sourceRoot":"","sources":["../src/snapshot-operation.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAoCrD,eAAO,MAAM,2BAA2B,kIAK9B,CAAC;AAEX;;;;;GAKG;AACH,wBAAgB,qCAAqC,CACnD,SAAS,EAAE;IACT,cAAc,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IACzC,gBAAgB,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;CAC5C,EACD,UAAU,EAAE,MAAM,EAClB,gBAAgB,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAC1C,iBAAiB,GAAE,MAAM,GAAG,MAAM,GAAG,MAAgB,GACpD,MAAM,CA8BR;AA6BD,MAAM,WAAW,2BAA2B;IAC1C,IAAI,EAAE,gBAAgB,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,gBAAgB,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACrD,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC7B,cAAc,CAAC,EAAE;QACf,mBAAmB,CAAC,IAAI,EAAE;YAAE,SAAS,EAAE,MAAM,EAAE,CAAA;SAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;KACtE,CAAC;IACF,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,GAAG,CAAC;IAC5C,kCAAkC,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC;CAC7D;AAED,wBAAgB,8BAA8B,CAC5C,OAAO,EAAE,2BAA2B,GACnC,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAyvDtD"}