@kaspacom/kcc20-tx-builder 0.2.0 → 0.4.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 (127) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/README.md +54 -8
  3. package/RELEASING.md +93 -0
  4. package/SECURITY.md +16 -0
  5. package/artifacts/KCC20SnapshotBootstrap.placeholder.json +101677 -0
  6. package/artifacts/KCC20SnapshotController.placeholder.json +46547 -0
  7. package/artifacts/kcc20-snapshot-bootstrap/KCC20SnapshotBootstrap.placeholder.json +101677 -0
  8. package/artifacts/kcc20-snapshot-controller/KCC20SnapshotController.placeholder.json +46547 -0
  9. package/artifacts/snapshot-standards.lock.json +56 -0
  10. package/dist/artifacts.d.ts +31 -0
  11. package/dist/artifacts.d.ts.map +1 -1
  12. package/dist/artifacts.js +31 -0
  13. package/dist/artifacts.js.map +1 -1
  14. package/dist/cjs/artifacts.d.ts +31 -0
  15. package/dist/cjs/artifacts.js +32 -1
  16. package/dist/cjs/artifacts.js.map +1 -1
  17. package/dist/cjs/engine.js +58 -44
  18. package/dist/cjs/engine.js.map +1 -1
  19. package/dist/cjs/index.d.ts +7 -0
  20. package/dist/cjs/index.js +8 -1
  21. package/dist/cjs/index.js.map +1 -1
  22. package/dist/cjs/operations.d.ts +1 -1
  23. package/dist/cjs/operations.js +4 -0
  24. package/dist/cjs/operations.js.map +1 -1
  25. package/dist/cjs/sale-common.d.ts +1 -1
  26. package/dist/cjs/sale-common.js +39 -4
  27. package/dist/cjs/sale-common.js.map +1 -1
  28. package/dist/cjs/snapshot-deployment.d.ts +82 -0
  29. package/dist/cjs/snapshot-deployment.js +82 -0
  30. package/dist/cjs/snapshot-deployment.js.map +1 -0
  31. package/dist/cjs/snapshot-operation.d.ts +27 -0
  32. package/dist/cjs/snapshot-operation.js +2433 -0
  33. package/dist/cjs/snapshot-operation.js.map +1 -0
  34. package/dist/cjs/snapshot-signerless-transactions.d.ts +132 -0
  35. package/dist/cjs/snapshot-signerless-transactions.js +746 -0
  36. package/dist/cjs/snapshot-signerless-transactions.js.map +1 -0
  37. package/dist/cjs/snapshot-signerless.d.ts +226 -0
  38. package/dist/cjs/snapshot-signerless.js +1022 -0
  39. package/dist/cjs/snapshot-signerless.js.map +1 -0
  40. package/dist/cjs/snapshot-verification.d.ts +57 -0
  41. package/dist/cjs/snapshot-verification.js +96 -0
  42. package/dist/cjs/snapshot-verification.js.map +1 -0
  43. package/dist/cjs/token-operation.js +3 -3
  44. package/dist/cjs/token-operation.js.map +1 -1
  45. package/dist/engine.d.ts.map +1 -1
  46. package/dist/engine.js +58 -44
  47. package/dist/engine.js.map +1 -1
  48. package/dist/index.d.ts +7 -0
  49. package/dist/index.d.ts.map +1 -1
  50. package/dist/index.js +7 -0
  51. package/dist/index.js.map +1 -1
  52. package/dist/operations.d.ts +1 -1
  53. package/dist/operations.d.ts.map +1 -1
  54. package/dist/operations.js +4 -0
  55. package/dist/operations.js.map +1 -1
  56. package/dist/sale-common.d.ts +1 -1
  57. package/dist/sale-common.d.ts.map +1 -1
  58. package/dist/sale-common.js +39 -4
  59. package/dist/sale-common.js.map +1 -1
  60. package/dist/snapshot-deployment.d.ts +83 -0
  61. package/dist/snapshot-deployment.d.ts.map +1 -0
  62. package/dist/snapshot-deployment.js +78 -0
  63. package/dist/snapshot-deployment.js.map +1 -0
  64. package/dist/snapshot-operation.d.ts +28 -0
  65. package/dist/snapshot-operation.d.ts.map +1 -0
  66. package/dist/snapshot-operation.js +2428 -0
  67. package/dist/snapshot-operation.js.map +1 -0
  68. package/dist/snapshot-signerless-transactions.d.ts +133 -0
  69. package/dist/snapshot-signerless-transactions.d.ts.map +1 -0
  70. package/dist/snapshot-signerless-transactions.js +735 -0
  71. package/dist/snapshot-signerless-transactions.js.map +1 -0
  72. package/dist/snapshot-signerless.d.ts +227 -0
  73. package/dist/snapshot-signerless.d.ts.map +1 -0
  74. package/dist/snapshot-signerless.js +993 -0
  75. package/dist/snapshot-signerless.js.map +1 -0
  76. package/dist/snapshot-verification.d.ts +58 -0
  77. package/dist/snapshot-verification.d.ts.map +1 -0
  78. package/dist/snapshot-verification.js +92 -0
  79. package/dist/snapshot-verification.js.map +1 -0
  80. package/dist/token-operation.js +3 -3
  81. package/dist/token-operation.js.map +1 -1
  82. package/docs/API.md +67 -0
  83. package/docs/COMPATIBILITY.json +84 -0
  84. package/docs/INTEGRATION.md +215 -0
  85. package/docs/LIVE_TRANSFER.md +106 -0
  86. package/docs/RECIPES.md +175 -0
  87. package/docs/TRANSACTION_GUIDE.md +163 -0
  88. package/docs/snapshot-start.md +27 -0
  89. package/examples/README.md +81 -0
  90. package/examples/backend/cli.ts +55 -0
  91. package/examples/backend/recipe.ts +39 -0
  92. package/examples/backend/runtime.ts +13 -0
  93. package/examples/frontend/index.html +48 -0
  94. package/examples/frontend/main.ts +213 -0
  95. package/examples/frontend/runtime.ts +14 -0
  96. package/examples/package-lock.json +1287 -0
  97. package/examples/package.json +23 -0
  98. package/examples/shared/build.ts +179 -0
  99. package/examples/shared/fixture.ts +24 -0
  100. package/examples/shared/live-transfer.ts +155 -0
  101. package/examples/shared/recipe-fixtures.ts +543 -0
  102. package/examples/shared/recipes.ts +55 -0
  103. package/examples/shared/signing.ts +110 -0
  104. package/examples/shared/timeout.ts +8 -0
  105. package/examples/test/browser.ts +116 -0
  106. package/examples/test/build.test.ts +197 -0
  107. package/examples/test/recipes.test.ts +59 -0
  108. package/examples/test/sources.test.ts +73 -0
  109. package/examples/tsconfig.json +26 -0
  110. package/examples/vendor/NOTICE.md +15 -0
  111. package/examples/vendor/kaspa/LICENSE +15 -0
  112. package/examples/vendor/kaspa/kaspa.d.ts +8908 -0
  113. package/examples/vendor/kaspa/kaspa.js +15202 -0
  114. package/examples/vendor/kaspa/kaspa_bg.wasm +0 -0
  115. package/examples/vendor/kaspa/package.json +24 -0
  116. package/package.json +21 -4
  117. package/src/artifacts.ts +35 -0
  118. package/src/engine.ts +91 -97
  119. package/src/index.ts +8 -0
  120. package/src/operations.ts +4 -0
  121. package/src/sale-common.ts +44 -3
  122. package/src/snapshot-deployment.ts +108 -0
  123. package/src/snapshot-operation.ts +3592 -0
  124. package/src/snapshot-signerless-transactions.ts +1272 -0
  125. package/src/snapshot-signerless.ts +1525 -0
  126. package/src/snapshot-verification.ts +86 -0
  127. package/src/token-operation.ts +3 -3
@@ -0,0 +1 @@
1
+ {"version":3,"file":"snapshot-signerless.js","sourceRoot":"","sources":["../../src/snapshot-signerless.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,57 @@
1
+ import { prepareSnapshotDeployment, type SnapshotArtifacts, type SnapshotDeploymentDefinition } from './snapshot-deployment.js';
2
+ export declare function snapshotStartPayload(definition: SnapshotDeploymentDefinition, prepared: ReturnType<typeof prepareSnapshotDeployment>): string;
3
+ /** Reconstruct the whole transaction from approved definition and pinned artifacts. */
4
+ export declare function verifySnapshotDeploymentTransaction(kw: any, args: {
5
+ definition: SnapshotDeploymentDefinition;
6
+ artifacts: SnapshotArtifacts;
7
+ transactionJson: string;
8
+ walletAddress: string;
9
+ maximumFeeSompi: string;
10
+ stage: string;
11
+ signingInputIndexes: number[];
12
+ }): {
13
+ stage: "controller-deploy";
14
+ shard: number;
15
+ plan: any;
16
+ holderExtensionCommitment: any;
17
+ extension: {
18
+ kind: number;
19
+ creator: string;
20
+ ticker: string;
21
+ name: string;
22
+ displayScale: string;
23
+ maxSupply: string;
24
+ mintLaneCount: number;
25
+ mintPolicy: number;
26
+ mintPriceSompi: string;
27
+ treasury: string;
28
+ protocolFeeRecipient: string;
29
+ protocolFeeBps: string;
30
+ };
31
+ tokenId?: undefined;
32
+ controllers?: undefined;
33
+ } | {
34
+ stage: "snapshot-start" | "bootstrap-deploy";
35
+ plan: any;
36
+ tokenId: any;
37
+ holderExtensionCommitment: any;
38
+ extension: {
39
+ kind: number;
40
+ creator: string;
41
+ ticker: string;
42
+ name: string;
43
+ displayScale: string;
44
+ maxSupply: string;
45
+ mintLaneCount: number;
46
+ mintPolicy: number;
47
+ mintPriceSompi: string;
48
+ treasury: string;
49
+ protocolFeeRecipient: string;
50
+ protocolFeeBps: string;
51
+ };
52
+ controllers: {
53
+ controllerId: string;
54
+ state: any;
55
+ }[];
56
+ shard?: undefined;
57
+ };
@@ -0,0 +1,96 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.snapshotStartPayload = snapshotStartPayload;
4
+ exports.verifySnapshotDeploymentTransaction = verifySnapshotDeploymentTransaction;
5
+ const snapshot_deployment_js_1 = require("./snapshot-deployment.js");
6
+ const encoding_js_1 = require("./encoding.js");
7
+ const tx = require("./snapshot-signerless-transactions.js");
8
+ function snapshotStartPayload(definition, prepared) {
9
+ const plan = prepared.plan;
10
+ if (prepared.stage !== 'snapshot-start')
11
+ throw new Error('snapshot start plan required');
12
+ const opening = {
13
+ ...prepared.extension, ticker: definition.ticker, name: definition.ticker,
14
+ premintSupply: definition.totalSupply, premintRecipient: plan.reserves[0].owner, premintOwnerScheme: 4,
15
+ holderExtensionCommitment: prepared.holderExtensionCommitment, snapshotMigrationId: definition.migrationId,
16
+ snapshotManifestCommitment: definition.manifestCommitment,
17
+ snapshotReserves: plan.reserves.map((reserve, shardIndex) => ({ ...reserve, shardIndex })),
18
+ };
19
+ return (0, encoding_js_1.bytesToHex)(new TextEncoder().encode(JSON.stringify({ tn10: { v: 1, tmpl: 'KCC20',
20
+ args: Object.entries(opening).map(([name, value]) => ({ name, type: 'value', value })),
21
+ } })));
22
+ }
23
+ /** Reconstruct the whole transaction from approved definition and pinned artifacts. */
24
+ function verifySnapshotDeploymentTransaction(kw, args) {
25
+ const prepared = (0, snapshot_deployment_js_1.prepareSnapshotDeployment)(kw, args.definition, args.artifacts);
26
+ if (prepared.stage !== args.stage)
27
+ throw new Error('snapshot stage differs from approved custody');
28
+ const transaction = JSON.parse(args.transactionJson);
29
+ const fundingIndex = prepared.stage === 'snapshot-start' ? args.definition.shards.length + 1 : 0;
30
+ if (JSON.stringify(args.signingInputIndexes) !== JSON.stringify([fundingIndex])) {
31
+ throw new Error('only the snapshot funding input may receive the wallet signature');
32
+ }
33
+ if (transaction.inputs.length !== fundingIndex + 1)
34
+ throw new Error('unexpected snapshot input count');
35
+ const input = (index, script) => {
36
+ const value = transaction.inputs[index];
37
+ const previousOutpoint = value.previousOutpoint ?? { transactionId: value.transactionId, index: value.index };
38
+ const serializedSpk = value.utxo.scriptPublicKey;
39
+ const scriptPublicKey = typeof serializedSpk === 'string'
40
+ ? new kw.ScriptPublicKey(parseInt(serializedSpk.slice(0, 4), 16), serializedSpk.slice(4)) : serializedSpk;
41
+ const utxo = Object.fromEntries(Object.entries(value.utxo).filter(([, value]) => value !== null));
42
+ return { previousOutpoint, utxo: { ...utxo, amount: BigInt(utxo.amount), blockDaaScore: BigInt(utxo.blockDaaScore), outpoint: previousOutpoint, scriptPublicKey }, script };
43
+ };
44
+ const fundingInput = input(fundingIndex);
45
+ if (fundingInput.utxo.covenantId || fundingInput.utxo.covenant ||
46
+ String(fundingInput.utxo.scriptPublicKey.script) !== String(kw.payToAddressScript(args.walletAddress).script)) {
47
+ throw new Error('snapshot funding must belong to the connected wallet');
48
+ }
49
+ const fee = transaction.inputs.reduce((sum, value) => sum + BigInt(value.utxo.amount), 0n) -
50
+ transaction.outputs.reduce((sum, value) => sum + BigInt(value.value), 0n);
51
+ if (fee < 0n || fee > BigInt(args.maximumFeeSompi))
52
+ throw new Error('snapshot fee exceeds reviewed amount');
53
+ const common = { ...args.artifacts, plan: prepared.plan, fundingInput, changeAddress: args.walletAddress, feeSompi: fee };
54
+ let expected;
55
+ if (prepared.stage === 'controller-deploy')
56
+ expected = tx.buildControllerGenesisUnsignedTransaction(kw, common);
57
+ else if (prepared.stage === 'bootstrap-deploy')
58
+ expected = tx.buildBootstrapGenesisUnsignedTransaction(kw, common);
59
+ else {
60
+ const plan = prepared.plan;
61
+ const bootstrapInput = input(0, tx.buildSnapshotBootstrapScriptForState(args.artifacts.bootstrapArtifact, plan.bootstrapState));
62
+ const approvedBootstrap = args.definition.bootstrapOutpoint;
63
+ if (!approvedBootstrap || bootstrapInput.previousOutpoint.transactionId !== approvedBootstrap.transactionId || bootstrapInput.previousOutpoint.index !== approvedBootstrap.index) {
64
+ throw new Error('snapshot bootstrap input differs from approved genesis');
65
+ }
66
+ expected = tx.buildSnapshotStartUnsignedTransaction(kw, {
67
+ ...common, payload: snapshotStartPayload(args.definition, prepared),
68
+ bootstrapInput,
69
+ controllerInputs: plan.controllers.map((controller, index) => {
70
+ const actual = input(index + 1, tx.buildSnapshotControllerScriptForState(args.artifacts.controllerArtifact, controller.stateBefore));
71
+ const approved = args.definition.shards.find(shard => shard.shardIndex === index)?.genesisOutpoint;
72
+ if (!approved || actual.previousOutpoint.transactionId !== approved.transactionId || actual.previousOutpoint.index !== approved.index) {
73
+ throw new Error('snapshot controller input differs from approved genesis');
74
+ }
75
+ return actual;
76
+ }),
77
+ });
78
+ }
79
+ const canonical = (value) => {
80
+ const copy = JSON.parse(JSON.stringify(value));
81
+ delete copy.id;
82
+ delete copy.mass;
83
+ delete copy.storageMass;
84
+ delete copy.inputs[fundingIndex].signatureScript;
85
+ // UTXO SDK metadata is host supplied; transaction fields and scripts are compared below.
86
+ for (const entry of copy.inputs)
87
+ delete entry.utxo;
88
+ const sort = (item) => Array.isArray(item) ? item.map(sort) : item && typeof item === 'object'
89
+ ? Object.fromEntries(Object.entries(item).sort(([a], [b]) => a.localeCompare(b)).map(([key, val]) => [key, sort(val)])) : item;
90
+ return JSON.stringify(sort(copy));
91
+ };
92
+ if (canonical(transaction) !== canonical(expected.unsignedTransaction))
93
+ throw new Error('snapshot transaction differs from the approved plan');
94
+ return prepared;
95
+ }
96
+ //# sourceMappingURL=snapshot-verification.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"snapshot-verification.js","sourceRoot":"","sources":["../../src/snapshot-verification.ts"],"names":[],"mappings":";;AAIA,oDAaC;AAGD,kFAiEC;AArFD,qEAAgI;AAChI,+CAA2C;AAC3C,4DAA4D;AAE5D,SAAgB,oBAAoB,CAAC,UAAwC,EAAE,QAAsD;IACnI,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;IAC3B,IAAI,QAAQ,CAAC,KAAK,KAAK,gBAAgB;QAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;IACzF,MAAM,OAAO,GAAG;QACd,GAAG,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,IAAI,EAAE,UAAU,CAAC,MAAM;QACzE,aAAa,EAAE,UAAU,CAAC,WAAW,EAAE,gBAAgB,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,kBAAkB,EAAE,CAAC;QACtG,yBAAyB,EAAE,QAAQ,CAAC,yBAAyB,EAAE,mBAAmB,EAAE,UAAU,CAAC,WAAW;QAC1G,0BAA0B,EAAE,UAAU,CAAC,kBAAkB;QACzD,gBAAgB,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAY,EAAE,UAAkB,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC;KACxG,CAAC;IACF,OAAO,IAAA,wBAAU,EAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO;YACrF,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;SACvF,EAAE,CAAC,CAAC,CAAC,CAAC;AACT,CAAC;AAED,uFAAuF;AACvF,SAAgB,mCAAmC,CAAC,EAAO,EAAE,IAG5D;IACC,MAAM,QAAQ,GAAG,IAAA,kDAAyB,EAAC,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IAChF,IAAI,QAAQ,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;IACnG,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IACrD,MAAM,YAAY,GAAG,QAAQ,CAAC,KAAK,KAAK,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACjG,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,mBAAmB,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC;QAChF,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC,CAAC;IACtF,CAAC;IACD,IAAI,WAAW,CAAC,MAAM,CAAC,MAAM,KAAK,YAAY,GAAG,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;IACvG,MAAM,KAAK,GAAG,CAAC,KAAa,EAAE,MAAmB,EAAE,EAAE;QACnD,MAAM,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACxC,MAAM,gBAAgB,GAAG,KAAK,CAAC,gBAAgB,IAAI,EAAE,aAAa,EAAE,KAAK,CAAC,aAAa,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC;QAC9G,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC;QACjD,MAAM,eAAe,GAAG,OAAO,aAAa,KAAK,QAAQ;YACvD,CAAC,CAAC,IAAI,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;QAC5G,MAAM,IAAI,GAAQ,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC;QACvG,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,aAAa,EAAE,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,QAAQ,EAAE,gBAAgB,EAAE,eAAe,EAAE,EAAE,MAAM,EAAE,CAAC;IAC9K,CAAC,CAAC;IACF,MAAM,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;IACzC,IAAI,YAAY,CAAC,IAAI,CAAC,UAAU,IAAI,YAAY,CAAC,IAAI,CAAC,QAAQ;QAC5D,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,KAAK,MAAM,CAAC,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;QAChH,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;IAC1E,CAAC;IACD,MAAM,GAAG,GAAG,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAW,EAAE,KAAU,EAAE,EAAE,CAAC,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;QACrG,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAW,EAAE,KAAU,EAAE,EAAE,CAAC,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;IACzF,IAAI,GAAG,GAAG,EAAE,IAAI,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;IAC5G,MAAM,MAAM,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,YAAY,EAAE,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC;IAC1H,IAAI,QAAQ,CAAC;IACb,IAAI,QAAQ,CAAC,KAAK,KAAK,mBAAmB;QAAE,QAAQ,GAAG,EAAE,CAAC,yCAAyC,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;SAC3G,IAAI,QAAQ,CAAC,KAAK,KAAK,kBAAkB;QAAE,QAAQ,GAAG,EAAE,CAAC,wCAAwC,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;SAC9G,CAAC;QACJ,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;QAC3B,MAAM,cAAc,GAAG,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,oCAAoC,CAAC,IAAI,CAAC,SAAS,CAAC,iBAAiB,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;QAChI,MAAM,iBAAiB,GAAG,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC;QAC5D,IAAI,CAAC,iBAAiB,IAAI,cAAc,CAAC,gBAAgB,CAAC,aAAa,KAAK,iBAAiB,CAAC,aAAa,IAAI,cAAc,CAAC,gBAAgB,CAAC,KAAK,KAAK,iBAAiB,CAAC,KAAK,EAAE,CAAC;YACjL,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;QAC5E,CAAC;QACD,QAAQ,GAAG,EAAE,CAAC,qCAAqC,CAAC,EAAE,EAAE;YACtD,GAAG,MAAM,EAAE,OAAO,EAAE,oBAAoB,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC;YACnE,cAAc;YACd,gBAAgB,EAAE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,UAAe,EAAE,KAAa,EAAE,EAAE;gBACxE,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,GAAG,CAAC,EAAE,EAAE,CAAC,qCAAqC,CAAC,IAAI,CAAC,SAAS,CAAC,kBAAkB,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC;gBACrI,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,UAAU,KAAK,KAAK,CAAC,EAAE,eAAe,CAAC;gBACnG,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAC,gBAAgB,CAAC,aAAa,KAAK,QAAQ,CAAC,aAAa,IAAI,MAAM,CAAC,gBAAgB,CAAC,KAAK,KAAK,QAAQ,CAAC,KAAK,EAAE,CAAC;oBACtI,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;gBAC7E,CAAC;gBACD,OAAO,MAAM,CAAC;YAChB,CAAC,CAAC;SACH,CAAC,CAAC;IACL,CAAC;IACD,MAAM,SAAS,GAAG,CAAC,KAAU,EAAU,EAAE;QACvC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QAC/C,OAAO,IAAI,CAAC,EAAE,CAAC;QAAC,OAAO,IAAI,CAAC,IAAI,CAAC;QAAC,OAAO,IAAI,CAAC,WAAW,CAAC;QAC1D,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,eAAe,CAAC;QACjD,yFAAyF;QACzF,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO,KAAK,CAAC,IAAI,CAAC;QACnD,MAAM,IAAI,GAAG,CAAC,IAAS,EAAO,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;YACtG,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACjI,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC;IACF,IAAI,SAAS,CAAC,WAAW,CAAC,KAAK,SAAS,CAAC,QAAQ,CAAC,mBAAmB,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;IAC/I,OAAO,QAAQ,CAAC;AAClB,CAAC"}
@@ -121,7 +121,7 @@ function buildKcc20TransferTokenOperation(wallet, input, options = {}) {
121
121
  ? "No single KCC20 holder UTXO is large enough; consolidate the token balance first"
122
122
  : "No single KCC20 holder UTXO is available for this wallet and amount");
123
123
  }
124
- const nativeCovenantId = holder.covenantId ?? covenantId;
124
+ const nativeCovenantId = holder.covenantId;
125
125
  return (0, wallet_operation_js_1.buildKcc20WalletOperationFromPlan)(wallet, {
126
126
  builderKey: "kcc20.transfer",
127
127
  operation: "transfer-token",
@@ -131,7 +131,7 @@ function buildKcc20TransferTokenOperation(wallet, input, options = {}) {
131
131
  params: {
132
132
  covenantId,
133
133
  appCanonicalCovenantId: covenantId,
134
- activeHolderNativeCovenantId: nativeCovenantId,
134
+ ...(nativeCovenantId ? { activeHolderNativeCovenantId: nativeCovenantId } : {}),
135
135
  tokenAmount,
136
136
  recipientOwner,
137
137
  recipientOwnerScheme: 0,
@@ -143,7 +143,7 @@ function buildKcc20TransferTokenOperation(wallet, input, options = {}) {
143
143
  {
144
144
  type: "kcc20-holder-utxo",
145
145
  covenantId,
146
- activeHolderNativeCovenantId: nativeCovenantId,
146
+ ...(nativeCovenantId ? { activeHolderNativeCovenantId: nativeCovenantId } : {}),
147
147
  owner,
148
148
  minimumTokenAmount: tokenAmount,
149
149
  ...summary,
@@ -1 +1 @@
1
- {"version":3,"file":"token-operation.js","sourceRoot":"","sources":["../../src/token-operation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"token-operation.js","sourceRoot":"","sources":["../../src/token-operation.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAsErD,MAAM,WAAW,6BAA6B;IAC5C,IAAI,EAAE,gBAAgB,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,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,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,8BAA8B;IAC7C,kBAAkB,EAAE,OAAO,CAAC;IAC5B,oBAAoB,EAAE,OAAO,CAAC;IAC9B,sBAAsB,EAAE,MAAM,CAAC;CAChC;AAED;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,IAAI,EAAE,MAAM,GAAG,GAAG,CAAC;CAC9B;AAED,MAAM,WAAW,sBAAsB;IACrC,KAAK,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACxD,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACrE,qCAAqC,CAAC,KAAK,EAAE;QAC3C,SAAS,EAAE,MAAM,CAAC;QAClB,cAAc,EAAE,MAAM,CAAC;QACvB,kBAAkB,EAAE,MAAM,CAAC;QAC3B,WAAW,EAAE,MAAM,CAAC;QACpB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,GAAG,OAAO,CAAC,8BAA8B,CAAC,CAAC;IAC5C,QAAQ,EAAE,oBAAoB,CAAC;CAChC;AAED,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,6BAA6B,GACrC,sBAAsB,CA47ZxB"}
1
+ {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAuErD,MAAM,WAAW,6BAA6B;IAC5C,IAAI,EAAE,gBAAgB,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,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,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,8BAA8B;IAC7C,kBAAkB,EAAE,OAAO,CAAC;IAC5B,oBAAoB,EAAE,OAAO,CAAC;IAC9B,sBAAsB,EAAE,MAAM,CAAC;CAChC;AAED;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,IAAI,EAAE,MAAM,GAAG,GAAG,CAAC;CAC9B;AAED,MAAM,WAAW,sBAAsB;IACrC,KAAK,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACxD,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACrE,qCAAqC,CAAC,KAAK,EAAE;QAC3C,SAAS,EAAE,MAAM,CAAC;QAClB,cAAc,EAAE,MAAM,CAAC;QACvB,kBAAkB,EAAE,MAAM,CAAC;QAC3B,WAAW,EAAE,MAAM,CAAC;QACpB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,GAAG,OAAO,CAAC,8BAA8B,CAAC,CAAC;IAC5C,QAAQ,EAAE,oBAAoB,CAAC;CAChC;AAED,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,6BAA6B,GACrC,sBAAsB,CAq7ZxB"}
package/dist/engine.js CHANGED
@@ -3,6 +3,7 @@ import { sha256 } from "@noble/hashes/sha256";
3
3
  import { DEFAULT_COMPUTE_BUDGET, DEFAULT_KCC20_FEE_BPS, DEFAULT_KCC20_MIN_PROTOCOL_FEE_SOMPI, DEFAULT_KCC20_PRICE_SCALE, DEFAULT_TOKEN_OUTPUT_SOMPI, KCC20_ORDERBOOK_EXPANDED_SWEEP_OUTPUT_SOMPI, KCC20_ORDERBOOK_MAX_SWEEP_BID_LEGS, KCC20_ORDERBOOK_MAX_EXPANDED_SWEEP_BID_LEGS, KCC20_PLATFORM_PROTOCOL_FEE_RECIPIENT, KCC20_ORDERBOOK_PROTOCOL_FEE_RECIPIENT, SUBNETWORK_ID_NATIVE, SOMPI_PER_TKAS, asciiToBytes32, buildKcc20FeeTicketScriptForState, buildNativeKcc20ScriptForState, buildKcc20WrapperScriptForState, buildKcc20OrderbookScriptForState, buildKcc20V3CreateBidSigScript, buildKcc20V3SellIntoBidSigScript, buildKcc20OrderbookFillBidFromSellerSweepSigScript, buildKcc20OrderbookFillAskSigScript, buildKcc20OrderbookFillBidSigScript, buildKcc20OrderbookSellIntoBidsSigScript, buildKcc20OrderbookSellIntoBids10SigScript, buildKcc20OrderbookCrossAskSigScript, buildKcc20OrderbookCrossAskLegacySigScript, buildKcc20OrderbookCrossBidSigScript, buildKcc20OrderbookCrossBidLegacySigScript, bytesToHex, calculateFeeSplit, findOutputIndex, hexToBytes, kcc20PsktBuilderError, mintPolicyName, normalizeSignature, p2pkScriptPubKey, p2shScriptHashHex, parseMintPolicy, requireHex32, selectFundingEntry, setVersionOneInputMassFields, stateToReceiptFields, utxoAmountSompi, ZERO_HASH, } from "./sale-common.js";
4
4
  import { buildKcc20BurnSigScript, buildKcc20MintByOwnerSigScript, buildKcc20MintPublicSigScript, buildKcc20ScriptForState, buildKcc20SetPublicMintActiveSigScript, buildKcc20TransferSigScript, dispatchTagFor, encodeKcc20StateRecordArrays, holderExtensionCommitment, mintExtensionCommitment, normalizeSilverScriptArtifact, ownerAuthorizationWitness, } from "./abi.js";
5
5
  import { KCC20_BUILDER_KEYS } from "./operations.js";
6
+ import { createKcc20SnapshotPsktBuilder } from "./snapshot-operation.js";
6
7
  import { splitKcc20MintSupply } from "./protocol.js";
7
8
  import { buildKcc20DeployIntentOutputs } from "./deploy-receipt.js";
8
9
  import { KCC20_ARTIFACT_SCRIPT_SHA256, KCC20_CURRENT_NATIVE_ARTIFACT_KEY, assertKcc20ArtifactScriptHash, } from "./artifacts.js";
@@ -37,20 +38,16 @@ export function createKcc20PsktBuilderEngine(options) {
37
38
  throw new Error("No source provider or RPC client was supplied to the KCC20 builder");
38
39
  }
39
40
  }
40
- const kaspaWasm = new Proxy(options.wasm, {
41
- get(target, property, receiver) {
42
- if (property === "RpcClient")
43
- return InjectedRpcClient;
44
- return Reflect.get(target, property, receiver);
45
- },
46
- });
41
+ // Bundlers can freeze module namespace exports. A Proxy cannot replace a
42
+ // non-configurable RpcClient property; copy the host exports before adapting it.
43
+ const kaspaWasm = { ...options.wasm, RpcClient: InjectedRpcClient };
47
44
  const INPUT_SCHEMA = "kcc20-in-process-pskt-builder-input/v1";
48
45
  const OUTPUT_SCHEMA = "kcc20-in-process-pskt-builder-output/v1";
49
46
  const DEFAULT_DEPLOY_TKAS = 1;
50
47
  const DEFAULT_PRIORITY_FEE = 10000n;
51
48
  const DEFAULT_MATCHER_PRIORITY_FEE = 30000000n;
52
49
  const DEFAULT_WRAPPER_DEPLOY_PRIORITY_FEE = 10000000n;
53
- const DEFAULT_WRPC_URL = "ws://65.108.107.30:17210";
50
+ const DEFAULT_WRPC_URL = "wss://tn10-node.kaspa.com/testnet-10";
54
51
  const MIN_FILL_GROSS_SOMPI = 50000000n;
55
52
  const MIN_RELAY_FEE_PER_MASS_SOMPI = 100n;
56
53
  const TOCCATA_COMPUTE_BUDGET_MASS_PER_UNIT = 100n;
@@ -113,7 +110,10 @@ export function createKcc20PsktBuilderEngine(options) {
113
110
  .then((artifact) => {
114
111
  if (!artifact)
115
112
  throw new Error(`Missing supplied KCC20 artifact: ${path}`);
116
- const normalized = normalizeSilverScriptArtifact(artifact);
113
+ const artifactValue = artifact && typeof artifact === "object" && !Array.isArray(artifact)
114
+ ? (artifact.artifact ?? artifact)
115
+ : artifact;
116
+ const normalized = normalizeSilverScriptArtifact(artifactValue);
117
117
  assertKcc20ArtifactScriptHash(path, normalized);
118
118
  return normalized;
119
119
  })
@@ -291,6 +291,15 @@ export function createKcc20PsktBuilderEngine(options) {
291
291
  function covenantScriptBuilder(kw) {
292
292
  return new kw.ScriptBuilder({ flags: { covenantsEnabled: true } });
293
293
  }
294
+ const buildSnapshotMigrationPskt = createKcc20SnapshotPsktBuilder({
295
+ wasm: options.wasm,
296
+ artifacts: options.artifacts,
297
+ artifactProvider: options.artifactProvider,
298
+ config: options.config,
299
+ sourceProvider: options.sourceProvider,
300
+ rpcClientFactory: options.rpcClientFactory,
301
+ transactionWithCalculatedFeeChange,
302
+ });
294
303
  const psktBuilderByKey = Object.freeze({
295
304
  "kcc20.deploy-token": buildKcc20DeployPskt,
296
305
  "kcc20.mint": buildKcc20MintPskt,
@@ -316,6 +325,10 @@ export function createKcc20PsktBuilderEngine(options) {
316
325
  "kcc20orderbook.cancel-ask": buildWrappedCancelPskt,
317
326
  "kcc20orderbook.cancel-bid": buildWrappedCancelPskt,
318
327
  "kcc20orderbook.matcher-settle-crossed": buildWrappedCrossMatchPskt,
328
+ "kcc20-snapshot.deploy-bootstrap": buildSnapshotMigrationPskt,
329
+ "kcc20-snapshot.deploy-controller": buildSnapshotMigrationPskt,
330
+ "kcc20-snapshot.start": buildSnapshotMigrationPskt,
331
+ "kcc20-snapshot.claim": buildSnapshotMigrationPskt,
319
332
  });
320
333
  const missingBuilderKeys = KCC20_BUILDER_KEYS.filter((builderKey) => !psktBuilderByKey[builderKey]);
321
334
  if (missingBuilderKeys.length) {
@@ -1848,8 +1861,7 @@ export function createKcc20PsktBuilderEngine(options) {
1848
1861
  const rpcUrl = env.KASPA_WRPC_URL || DEFAULT_WRPC_URL;
1849
1862
  const tokenOutputSompi = parseU64(env.KCC20_WRAP_TOKEN_OUTPUT_SOMPI ||
1850
1863
  DEFAULT_TOKEN_OUTPUT_SOMPI.toString(), "tokenOutputSompi");
1851
- const priorityFee = parseU64(env.KCC20_WRAP_PRIORITY_FEE_SOMPI ||
1852
- DEFAULT_PRIORITY_FEE.toString(), "priorityFee");
1864
+ const priorityFee = parseU64(env.KCC20_WRAP_PRIORITY_FEE_SOMPI || DEFAULT_PRIORITY_FEE.toString(), "priorityFee");
1853
1865
  const computeBudget = parsePositiveNumber(env.KCC20_WRAP_COMPUTE_BUDGET || 700, "computeBudget");
1854
1866
  const [wrapperArtifacts, wrappedArtifacts] = await Promise.all([
1855
1867
  readWrapperArtifacts(),
@@ -2119,8 +2131,7 @@ export function createKcc20PsktBuilderEngine(options) {
2119
2131
  const rpcUrl = env.KASPA_WRPC_URL || DEFAULT_WRPC_URL;
2120
2132
  const tokenOutputSompi = parseU64(env.KCC20_UNWRAP_TOKEN_OUTPUT_SOMPI ||
2121
2133
  DEFAULT_TOKEN_OUTPUT_SOMPI.toString(), "tokenOutputSompi");
2122
- const priorityFee = parseU64(env.KCC20_UNWRAP_PRIORITY_FEE_SOMPI ||
2123
- DEFAULT_PRIORITY_FEE.toString(), "priorityFee");
2134
+ const priorityFee = parseU64(env.KCC20_UNWRAP_PRIORITY_FEE_SOMPI || DEFAULT_PRIORITY_FEE.toString(), "priorityFee");
2124
2135
  const computeBudget = parsePositiveNumber(env.KCC20_UNWRAP_COMPUTE_BUDGET || 700, "computeBudget");
2125
2136
  const [wrapperArtifacts, wrappedArtifacts] = await Promise.all([
2126
2137
  readWrapperArtifacts(),
@@ -2448,8 +2459,7 @@ export function createKcc20PsktBuilderEngine(options) {
2448
2459
  const rpcUrl = env.KASPA_WRPC_URL || DEFAULT_WRPC_URL;
2449
2460
  const tokenOutputSompi = parseU64(env.KCC20_ORDER_TOKEN_OUTPUT_SOMPI ||
2450
2461
  DEFAULT_TOKEN_OUTPUT_SOMPI.toString(), "tokenOutputSompi");
2451
- const priorityFee = parseU64(env.KCC20_ORDER_PRIORITY_FEE_SOMPI ||
2452
- DEFAULT_PRIORITY_FEE.toString(), "priorityFee");
2462
+ const priorityFee = parseU64(env.KCC20_ORDER_PRIORITY_FEE_SOMPI || DEFAULT_PRIORITY_FEE.toString(), "priorityFee");
2453
2463
  const computeBudget = parsePositiveNumber(env.KCC20_ORDER_COMPUTE_BUDGET || 700, "computeBudget");
2454
2464
  const wrappedArtifacts = await readWrappedArtifacts();
2455
2465
  const activeUtxo = isBid ? rootUtxo : holderUtxo;
@@ -2695,8 +2705,7 @@ export function createKcc20PsktBuilderEngine(options) {
2695
2705
  const rpcUrl = env.KASPA_WRPC_URL || DEFAULT_WRPC_URL;
2696
2706
  const tokenOutputSompi = parseU64(env.KCC20_FILL_TOKEN_OUTPUT_SOMPI ||
2697
2707
  DEFAULT_TOKEN_OUTPUT_SOMPI.toString(), "tokenOutputSompi");
2698
- const priorityFee = parseU64(env.KCC20_FILL_PRIORITY_FEE_SOMPI ||
2699
- DEFAULT_PRIORITY_FEE.toString(), "priorityFee");
2708
+ const priorityFee = parseU64(env.KCC20_FILL_PRIORITY_FEE_SOMPI || DEFAULT_PRIORITY_FEE.toString(), "priorityFee");
2700
2709
  const computeBudget = parsePositiveNumber(env.KCC20_FILL_COMPUTE_BUDGET || 800, "computeBudget");
2701
2710
  const wrappedArtifacts = await readWrappedArtifacts();
2702
2711
  const ticketArtifacts = ticketUtxo ? await readFeeTicketArtifacts() : null;
@@ -2980,8 +2989,7 @@ export function createKcc20PsktBuilderEngine(options) {
2980
2989
  const rpcUrl = env.KASPA_WRPC_URL || DEFAULT_WRPC_URL;
2981
2990
  const tokenOutputSompi = parseU64(env.KCC20_FILL_TOKEN_OUTPUT_SOMPI ||
2982
2991
  DEFAULT_TOKEN_OUTPUT_SOMPI.toString(), "tokenOutputSompi");
2983
- const priorityFee = parseU64(env.KCC20_FILL_PRIORITY_FEE_SOMPI ||
2984
- DEFAULT_PRIORITY_FEE.toString(), "priorityFee");
2992
+ const priorityFee = parseU64(env.KCC20_FILL_PRIORITY_FEE_SOMPI || DEFAULT_PRIORITY_FEE.toString(), "priorityFee");
2985
2993
  const computeBudget = parsePositiveNumber(env.KCC20_FILL_COMPUTE_BUDGET || 800, "computeBudget");
2986
2994
  const wrappedArtifacts = await readWrappedArtifacts();
2987
2995
  const ticketArtifacts = ticketUtxo ? await readFeeTicketArtifacts() : null;
@@ -3386,8 +3394,7 @@ export function createKcc20PsktBuilderEngine(options) {
3386
3394
  const rpcUrl = env.KASPA_WRPC_URL || DEFAULT_WRPC_URL;
3387
3395
  const tokenOutputSompi = parseU64(env.KCC20_FILL_TOKEN_OUTPUT_SOMPI ||
3388
3396
  DEFAULT_TOKEN_OUTPUT_SOMPI.toString(), "tokenOutputSompi");
3389
- const priorityFee = parseU64(env.KCC20_FILL_PRIORITY_FEE_SOMPI ||
3390
- DEFAULT_PRIORITY_FEE.toString(), "priorityFee");
3397
+ const priorityFee = parseU64(env.KCC20_FILL_PRIORITY_FEE_SOMPI || DEFAULT_PRIORITY_FEE.toString(), "priorityFee");
3391
3398
  const wrappedArtifacts = await readWrappedArtifacts();
3392
3399
  const ticketArtifacts = params.feeTicketId
3393
3400
  ? await readFeeTicketArtifacts()
@@ -3749,8 +3756,7 @@ export function createKcc20PsktBuilderEngine(options) {
3749
3756
  const rpcUrl = env.KASPA_WRPC_URL || DEFAULT_WRPC_URL;
3750
3757
  const tokenOutputSompi = parseU64(env.KCC20_FILL_TOKEN_OUTPUT_SOMPI ||
3751
3758
  DEFAULT_TOKEN_OUTPUT_SOMPI.toString(), "tokenOutputSompi");
3752
- const priorityFee = parseU64(env.KCC20_FILL_PRIORITY_FEE_SOMPI ||
3753
- DEFAULT_PRIORITY_FEE.toString(), "priorityFee");
3759
+ const priorityFee = parseU64(env.KCC20_FILL_PRIORITY_FEE_SOMPI || DEFAULT_PRIORITY_FEE.toString(), "priorityFee");
3754
3760
  const wrappedArtifacts = await readWrappedArtifacts();
3755
3761
  const wrappedArtifact = wrappedArtifacts[0].artifact;
3756
3762
  const ticketArtifacts = params.feeTicketId
@@ -4246,8 +4252,7 @@ export function createKcc20PsktBuilderEngine(options) {
4246
4252
  const rpcUrl = env.KASPA_WRPC_URL || DEFAULT_WRPC_URL;
4247
4253
  const configuredTokenOutputSompi = parseU64(env.KCC20_FILL_TOKEN_OUTPUT_SOMPI ||
4248
4254
  DEFAULT_TOKEN_OUTPUT_SOMPI.toString(), "tokenOutputSompi");
4249
- const priorityFee = parseU64(env.KCC20_FILL_PRIORITY_FEE_SOMPI ||
4250
- DEFAULT_PRIORITY_FEE.toString(), "priorityFee");
4255
+ const priorityFee = parseU64(env.KCC20_FILL_PRIORITY_FEE_SOMPI || DEFAULT_PRIORITY_FEE.toString(), "priorityFee");
4251
4256
  const wrappedArtifacts = await readWrappedArtifacts();
4252
4257
  const ticketArtifacts = params.feeTicketId
4253
4258
  ? await readFeeTicketArtifacts()
@@ -4981,9 +4986,7 @@ export function createKcc20PsktBuilderEngine(options) {
4981
4986
  DEFAULT_MATCHER_PRIORITY_FEE.toString(), "priorityFee");
4982
4987
  const networkFeeReserve = parseU64(env.KCC20_MATCHER_NETWORK_FEE_RESERVE_SOMPI || "5000000", "networkFeeReserve");
4983
4988
  const transactionFeeReserve = priorityFee + networkFeeReserve;
4984
- const computeBudget = parsePositiveNumber(env.KCC20_MATCHER_COMPUTE_BUDGET ||
4985
- env.KCC20_FILL_COMPUTE_BUDGET ||
4986
- 800, "computeBudget");
4989
+ const computeBudget = parsePositiveNumber(env.KCC20_MATCHER_COMPUTE_BUDGET || env.KCC20_FILL_COMPUTE_BUDGET || 800, "computeBudget");
4987
4990
  const privateKeyHex = String(env.KCC20_WRAPPER_OPERATOR_PRIVATE_KEY || "")
4988
4991
  .trim()
4989
4992
  .replace(/^0x/i, "");
@@ -5433,8 +5436,7 @@ export function createKcc20PsktBuilderEngine(options) {
5433
5436
  const network = request.network || env.KASPA_NETWORK || "testnet-10";
5434
5437
  const walletAddress = requireKaspaAddress(request.owner?.walletAddress);
5435
5438
  const rpcUrl = env.KASPA_WRPC_URL || DEFAULT_WRPC_URL;
5436
- const priorityFee = parseU64(env.KCC20_CANCEL_PRIORITY_FEE_SOMPI ||
5437
- DEFAULT_PRIORITY_FEE.toString(), "priorityFee");
5439
+ const priorityFee = parseU64(env.KCC20_CANCEL_PRIORITY_FEE_SOMPI || DEFAULT_PRIORITY_FEE.toString(), "priorityFee");
5438
5440
  const computeBudget = parsePositiveNumber(env.KCC20_CANCEL_COMPUTE_BUDGET || 800, "computeBudget");
5439
5441
  const wrappedArtifacts = await readWrappedArtifacts();
5440
5442
  const orderState = kcc20V3WrappedStateFromUtxo(orderUtxo, canonicalTokenId, request.owner);
@@ -5652,8 +5654,7 @@ export function createKcc20PsktBuilderEngine(options) {
5652
5654
  const rpcUrl = env.KASPA_WRPC_URL || DEFAULT_WRPC_URL;
5653
5655
  const tokenOutputSompi = assertKcc20TokenOutputSompi(parseU64(env.KCC20_MINT_TOKEN_OUTPUT_SOMPI ||
5654
5656
  DEFAULT_TOKEN_OUTPUT_SOMPI.toString(), "tokenOutputSompi"), "mint");
5655
- const priorityFee = parseU64(env.KCC20_MINT_PRIORITY_FEE_SOMPI ||
5656
- DEFAULT_PRIORITY_FEE.toString(), "priorityFee");
5657
+ const priorityFee = parseU64(env.KCC20_MINT_PRIORITY_FEE_SOMPI || DEFAULT_PRIORITY_FEE.toString(), "priorityFee");
5657
5658
  const computeBudget = parsePositiveNumber(env.KCC20_MINT_COMPUTE_BUDGET || DEFAULT_COMPUTE_BUDGET, "computeBudget");
5658
5659
  const inputState = {
5659
5660
  amount: 0n,
@@ -5983,8 +5984,7 @@ export function createKcc20PsktBuilderEngine(options) {
5983
5984
  }
5984
5985
  const priorityFee = parseU64(env.KCC20_MINT_AVAILABILITY_PRIORITY_FEE_SOMPI ||
5985
5986
  DEFAULT_PRIORITY_FEE.toString(), "priorityFee");
5986
- const computeBudget = parsePositiveNumber(env.KCC20_MINT_AVAILABILITY_COMPUTE_BUDGET ||
5987
- DEFAULT_COMPUTE_BUDGET, "computeBudget");
5987
+ const computeBudget = parsePositiveNumber(env.KCC20_MINT_AVAILABILITY_COMPUTE_BUDGET || DEFAULT_COMPUTE_BUDGET, "computeBudget");
5988
5988
  const rpc = new kaspaWasm.RpcClient({
5989
5989
  url: env.KASPA_WRPC_URL || DEFAULT_WRPC_URL,
5990
5990
  encoding: kaspaWasm.Encoding.Borsh,
@@ -6333,8 +6333,7 @@ export function createKcc20PsktBuilderEngine(options) {
6333
6333
  const network = request.network || env.KASPA_NETWORK || "testnet-10";
6334
6334
  const walletAddress = requireKaspaAddress(request.owner?.walletAddress);
6335
6335
  const rpcUrl = env.KASPA_WRPC_URL || DEFAULT_WRPC_URL;
6336
- const priorityFee = parseU64(env.KCC20_REVEAL_PRIORITY_FEE_SOMPI ||
6337
- DEFAULT_PRIORITY_FEE.toString(), "priorityFee");
6336
+ const priorityFee = parseU64(env.KCC20_REVEAL_PRIORITY_FEE_SOMPI || DEFAULT_PRIORITY_FEE.toString(), "priorityFee");
6338
6337
  const computeBudget = parsePositiveNumber(env.KCC20_REVEAL_COMPUTE_BUDGET || DEFAULT_COMPUTE_BUDGET, "computeBudget");
6339
6338
  const inputState = kcc20StateFromUtxo(activeTokenUtxo, request.owner);
6340
6339
  if (inputState.isMintAuthority) {
@@ -6475,8 +6474,7 @@ export function createKcc20PsktBuilderEngine(options) {
6475
6474
  const rpcUrl = env.KASPA_WRPC_URL || DEFAULT_WRPC_URL;
6476
6475
  const tokenOutputSompi = assertKcc20TokenOutputSompi(parseU64(env.KCC20_TRANSFER_TOKEN_OUTPUT_SOMPI ||
6477
6476
  DEFAULT_TOKEN_OUTPUT_SOMPI.toString(), "tokenOutputSompi"), "transfer");
6478
- const priorityFee = parseU64(env.KCC20_TRANSFER_PRIORITY_FEE_SOMPI ||
6479
- DEFAULT_PRIORITY_FEE.toString(), "priorityFee");
6477
+ const priorityFee = parseU64(env.KCC20_TRANSFER_PRIORITY_FEE_SOMPI || DEFAULT_PRIORITY_FEE.toString(), "priorityFee");
6480
6478
  const computeBudget = parsePositiveNumber(env.KCC20_TRANSFER_COMPUTE_BUDGET || DEFAULT_COMPUTE_BUDGET, "computeBudget");
6481
6479
  const inputState = kcc20StateFromUtxo(activeHolderUtxo, request.owner);
6482
6480
  if (inputState.isMintAuthority || inputState.amount <= 0n) {
@@ -6526,7 +6524,18 @@ export function createKcc20PsktBuilderEngine(options) {
6526
6524
  if (!tokenEntry) {
6527
6525
  throw new Error(`active holder UTXO ${tokenTxid}:${tokenVout} not found`);
6528
6526
  }
6529
- const spendCovenantId = covenantIdFromUtxoEntry(tokenEntry) ?? covenantId;
6527
+ const rpcScript = tokenEntry.scriptPublicKey ??
6528
+ tokenEntry.entry?.scriptPublicKey ?? tokenEntry.utxoEntry?.scriptPublicKey;
6529
+ if (!rpcScript || kw.addressFromScriptPublicKey(rpcScript, network)?.toString() !== tokenAddress) {
6530
+ throw new Error("active holder RPC script does not match rebuilt covenant state");
6531
+ }
6532
+ if (activeHolderUtxo.amountSompi != null &&
6533
+ BigInt(activeHolderUtxo.amountSompi) !== utxoAmountSompi(tokenEntry)) {
6534
+ throw new Error("active holder KAS amount does not match RPC");
6535
+ }
6536
+ const spendCovenantId = params.activeHolderNativeCovenantId
6537
+ ? requireMatchingCovenantId(tokenEntry, covenantId, "active holder")
6538
+ : covenantIdFromUtxoEntry(tokenEntry) ?? covenantId;
6530
6539
  let outputSompi = 0n;
6531
6540
  const recipientOutputIndex = 0;
6532
6541
  const outputs = [
@@ -6653,9 +6662,13 @@ export function createKcc20PsktBuilderEngine(options) {
6653
6662
  const network = request.network || env.KASPA_NETWORK || "testnet-10";
6654
6663
  const walletAddress = requireKaspaAddress(request.owner?.walletAddress);
6655
6664
  const rpcUrl = env.KASPA_WRPC_URL || DEFAULT_WRPC_URL;
6656
- const amountTkas = parseAmountTkas(env.KCC20_DEPLOY_OUTPUT_TKAS || DEFAULT_DEPLOY_TKAS);
6657
- const priorityFee = parseU64(env.KCC20_DEPLOY_PRIORITY_FEE_SOMPI ||
6658
- DEFAULT_PRIORITY_FEE.toString(), "priorityFee");
6665
+ const requestedOutputSompi = params.outputSompi === undefined || params.outputSompi === null
6666
+ ? undefined
6667
+ : assertKcc20TokenOutputSompi(parseU64(params.outputSompi, "outputSompi"), "deploy");
6668
+ const amountTkas = requestedOutputSompi === undefined
6669
+ ? parseAmountTkas(env.KCC20_DEPLOY_OUTPUT_TKAS || DEFAULT_DEPLOY_TKAS)
6670
+ : undefined;
6671
+ const priorityFee = parseU64(env.KCC20_DEPLOY_PRIORITY_FEE_SOMPI || DEFAULT_PRIORITY_FEE.toString(), "priorityFee");
6659
6672
  const metadata = {
6660
6673
  ticker: normalizeTicker(params.ticker || ""),
6661
6674
  name: normalizeTokenName(params.tokenName || ""),
@@ -6754,7 +6767,8 @@ export function createKcc20PsktBuilderEngine(options) {
6754
6767
  });
6755
6768
  const contractAddress = covenantOutputs[0].address;
6756
6769
  const canonicalCovenantId = p2shScriptHashHex(kw, covenantOutputs[0].script);
6757
- const deploySompi = BigInt(Math.round(amountTkas * Number(SOMPI_PER_TKAS)));
6770
+ const deploySompi = requestedOutputSompi ??
6771
+ BigInt(Math.round(amountTkas * Number(SOMPI_PER_TKAS)));
6758
6772
  const premintOutputIndex = premintState ? covenantOutputs.length - 1 : null;
6759
6773
  const rpc = new RpcClient({
6760
6774
  url: rpcUrl,
@@ -6765,7 +6779,7 @@ export function createKcc20PsktBuilderEngine(options) {
6765
6779
  try {
6766
6780
  const utxos = await getUtxosByAddresses(rpc, [walletAddress]);
6767
6781
  const outputSompi = deploySompi * BigInt(covenantOutputs.length);
6768
- const fundingEntry = selectFundingEntry(utxos.entries, outputSompi + priorityFee + 10000000n);
6782
+ const fundingEntry = selectFundingEntry(utxos.entries, outputSompi + priorityFee + 10000000n, [], params.fundingOutpoint);
6769
6783
  const fundingChangeOutputIndex = covenantOutputs.length;
6770
6784
  const change = utxoAmountSompi(fundingEntry) - outputSompi - priorityFee;
6771
6785
  if (change <= 10000n) {