@kaspacom/kcc20-tx-builder 0.6.0 → 0.6.2

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.
@@ -100,6 +100,8 @@ export declare function buildKcc20TransferTokenOperation(wallet: Kcc20ActionWall
100
100
  };
101
101
  export declare function buildKcc20NativeConsolidationOperation(wallet: Kcc20ActionWalletInfo, input: {
102
102
  token: Kcc20ActionTokenInfo;
103
+ /** From authenticated token readiness; construction rechecks every source script. */
104
+ tokenProfileId: string;
103
105
  activeUtxos: readonly Kcc20IndexedCovenantUtxo[];
104
106
  sourceOutpoints?: readonly string[];
105
107
  }, options?: Kcc20TokenOperationOptions): {
@@ -1 +1 @@
1
- {"version":3,"file":"token-operation.d.ts","sourceRoot":"","sources":["../src/token-operation.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,wBAAwB,EAC9B,MAAM,6BAA6B,CAAC;AAcrC,MAAM,WAAW,qBAAqB;IACpC,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,oBAAoB;IACnC,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,UAAU,CAAC,EAAE;QACX,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,gBAAgB,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;QAClC,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAChC,sBAAsB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACvC,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAClC,oBAAoB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACrC,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KAChC,CAAC;CACH;AAED,MAAM,WAAW,0BAA0B;IACzC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,qBAAqB,EAC7B,KAAK,EAAE;IACL,KAAK,EAAE,oBAAoB,CAAC;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,SAAS,wBAAwB,EAAE,CAAC;IACjD,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,EACD,OAAO,GAAE,0BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsIzC;AAED,wBAAgB,gCAAgC,CAC9C,MAAM,EAAE,qBAAqB,EAC7B,KAAK,EAAE;IACL,KAAK,EAAE,oBAAoB,CAAC;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,SAAS,wBAAwB,EAAE,CAAC;IACjD,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,EACD,OAAO,GAAE,0BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsFzC;AAED,wBAAgB,sCAAsC,CACpD,MAAM,EAAE,qBAAqB,EAC7B,KAAK,EAAE;IACL,KAAK,EAAE,oBAAoB,CAAC;IAC5B,WAAW,EAAE,SAAS,wBAAwB,EAAE,CAAC;IACjD,eAAe,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACrC,EACD,OAAO,GAAE,0BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2EzC"}
1
+ {"version":3,"file":"token-operation.d.ts","sourceRoot":"","sources":["../src/token-operation.ts"],"names":[],"mappings":"AAKA,OAAO,EAML,KAAK,wBAAwB,EAC9B,MAAM,6BAA6B,CAAC;AAcrC,MAAM,WAAW,qBAAqB;IACpC,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,oBAAoB;IACnC,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,UAAU,CAAC,EAAE;QACX,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,gBAAgB,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;QAClC,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAChC,sBAAsB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACvC,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAClC,oBAAoB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACrC,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KAChC,CAAC;CACH;AAED,MAAM,WAAW,0BAA0B;IACzC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,qBAAqB,EAC7B,KAAK,EAAE;IACL,KAAK,EAAE,oBAAoB,CAAC;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,SAAS,wBAAwB,EAAE,CAAC;IACjD,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,EACD,OAAO,GAAE,0BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsIzC;AAED,wBAAgB,gCAAgC,CAC9C,MAAM,EAAE,qBAAqB,EAC7B,KAAK,EAAE;IACL,KAAK,EAAE,oBAAoB,CAAC;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,SAAS,wBAAwB,EAAE,CAAC;IACjD,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,EACD,OAAO,GAAE,0BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsFzC;AAED,wBAAgB,sCAAsC,CACpD,MAAM,EAAE,qBAAqB,EAC7B,KAAK,EAAE;IACL,KAAK,EAAE,oBAAoB,CAAC;IAC5B,qFAAqF;IACrF,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,SAAS,wBAAwB,EAAE,CAAC;IACjD,eAAe,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACrC,EACD,OAAO,GAAE,0BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiFzC"}
@@ -1,3 +1,5 @@
1
+ import { resolveAuthenticatedTokenProfile } from "./token-profiles.js";
2
+ import { BUNDLED_TOKEN_PROFILES, BUNDLED_TOKEN_PROFILE_DIGEST, } from "./token-profiles.generated.js";
1
3
  import { ownerNativeHolderUtxos, selectActiveMinterUtxo, selectConsolidationBatch, selectOwnerNativeHolderUtxo, summarizeHolderUtxos, } from "./action-source-resolver.js";
2
4
  import { kcc20DisplayScaleForDecimals, normalizeKcc20Decimals, normalizeKcc20OwnerIdentifier, parseKcc20DisplayAmountToBaseUnits, } from "./token-amount.js";
3
5
  import { kcc20ValidatePaidMintAmount } from "./paid-mint-amount.js";
@@ -168,8 +170,11 @@ export function buildKcc20TransferTokenOperation(wallet, input, options = {}) {
168
170
  export function buildKcc20NativeConsolidationOperation(wallet, input, options = {}) {
169
171
  const covenantId = requireHex32(input.token.covenantId, "covenantId");
170
172
  const owner = normalizeKcc20OwnerIdentifier(wallet.kcc20Owner, "wallet owner");
173
+ const profile = resolveAuthenticatedTokenProfile({ manifest: BUNDLED_TOKEN_PROFILES, sha256: BUNDLED_TOKEN_PROFILE_DIGEST }, input.tokenProfileId);
174
+ if (profile.maxTokenInputs < 2 || !profile.operations.includes("transfer"))
175
+ throw new Error("token profile does not support consolidation");
171
176
  const compatible = ownerNativeHolderUtxos(input.activeUtxos, owner);
172
- const selected = selectConsolidationBatch(compatible, input.sourceOutpoints, 8);
177
+ const selected = selectConsolidationBatch(compatible, input.sourceOutpoints, profile.maxTokenInputs);
173
178
  if (selected.length < 2)
174
179
  throw new Error("at least two compatible KCC20 holder UTXOs are required for consolidation");
175
180
  const nativeIds = new Set(selected.map((utxo) => utxo.covenantId ?? covenantId));
@@ -214,7 +219,7 @@ export function buildKcc20NativeConsolidationOperation(wallet, input, options =
214
219
  },
215
220
  ],
216
221
  warnings: [
217
- "Consolidation merges between two and eight wallet-owned holder UTXOs into one larger holder UTXO.",
222
+ `Consolidation merges between two and ${profile.maxTokenInputs} wallet-owned holder UTXOs into one larger holder UTXO.`,
218
223
  "Repeat consolidation when more compatible holder UTXOs remain.",
219
224
  ],
220
225
  }, options);
@@ -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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"}
package/docs/RECIPES.md CHANGED
@@ -79,7 +79,7 @@ them with current decoded state and RPC entries for live use; see the
79
79
  | `transfer` | `buildKcc20TransferTokenOperation` | Token identity/decimals, display amount, recipient owner, current holder UTXOs. |
80
80
  | `mint` | `buildKcc20MintTokenOperation` | Token mint policy, amount, active authority UTXOs, optional recipient. |
81
81
  | `mintAvailability` | `buildKcc20MintAvailabilityOperation` | Token, active mint-authority state, requested enabled state. |
82
- | `consolidate` | `buildKcc20NativeConsolidationOperation` | Token, owner holder UTXOs, optional target amount. |
82
+ | `consolidate` | `buildKcc20NativeConsolidationOperation` | Token, authenticated `tokenProfileId`, owner holder UTXOs, optional source outpoints. |
83
83
  | `reveal` | `buildKcc20VerifyTokenOperation` | Token identity and a spendable holder/authority snapshot. |
84
84
 
85
85
  ```ts
@@ -173,3 +173,5 @@ operator configuration. Never enable it in the frontend, expose operator
173
173
  credentials through a client configuration object, or forward all of `process.env`
174
174
  to the engine. Public minting, transfer, and user order actions do not require
175
175
  this matcher or KaspaCom's backend.
176
+
177
+ Native consolidation uses the bundled profile's `maxTokenInputs`; no universal three-input cap applies. Supply `tokenProfileId` from the backend consolidation status. Unknown profiles fail closed. The transaction engine independently matches source scripts to authenticated artifacts, rejects mixed templates and oversized batches, and keeps the network mass checks.
@@ -402,6 +402,7 @@ export async function recipeFixtures(
402
402
  wallet,
403
403
  {
404
404
  token: { covenantId: tokenId, decimals: 2 },
405
+ tokenProfileId: "kaspacom-kcc20-last-call-v1",
405
406
  activeUtxos: holders,
406
407
  sourceOutpoints: holders.map((x) => x.outpoint!),
407
408
  },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kaspacom/kcc20-tx-builder",
3
- "version": "0.6.0",
3
+ "version": "0.6.2",
4
4
  "description": "Runtime-independent KCC20 covenant transaction and PSKT construction primitives.",
5
5
  "license": "Apache-2.0",
6
6
  "author": "KaspaCom",
@@ -86,11 +86,12 @@
86
86
  "scripts": {
87
87
  "build": "tsc -p tsconfig.json && tsc -p tsconfig.cjs.json && node scripts/write-cjs-package.mjs",
88
88
  "typecheck": "tsc -p tsconfig.json --noEmit",
89
- "test": "npm run typecheck && npm run build && node test/smoke.mjs && node test/cjs-smoke.cjs && node test/snapshot-plan.mjs && node test/token-profiles.mjs && node test/profile-transfer.mjs",
89
+ "test": "npm run typecheck && npm run build && node test/smoke.mjs && node test/cjs-smoke.cjs && node test/snapshot-plan.mjs && node test/token-profiles.mjs && node test/profile-transfer.mjs && node --test test/mint-availability-limit.mjs test/consolidation-profile.mjs test/consolidation-transaction.mjs",
90
90
  "prepack": "npm test",
91
91
  "test:examples": "npm run verify:compatibility && node scripts/test-examples.mjs --browser",
92
92
  "verify:compatibility": "node scripts/verify-compatibility.mjs",
93
- "test:snapshot:transactions": "npm run build && node test/snapshot-transactions.mjs && node test/snapshot-claims.mjs"
93
+ "test:snapshot:transactions": "npm run build && node test/snapshot-transactions.mjs && node test/snapshot-claims.mjs",
94
+ "test:consolidation:consensus": "npm run build && node scripts/test-consolidation-consensus.mjs"
94
95
  },
95
96
  "devDependencies": {
96
97
  "typescript": "^5.9.3"
package/src/engine.ts CHANGED
@@ -9048,6 +9048,13 @@ export function createKcc20PsktBuilderEngine(
9048
9048
  if (requestedMinterUtxos.length === 0) {
9049
9049
  throw new Error("active KCC20 mint-authority UTXO is required");
9050
9050
  }
9051
+ // The caller submits larger updates as sequential batches. Never truncate
9052
+ // this array: every supplied authority must be represented in the result.
9053
+ if (requestedMinterUtxos.length > 5) {
9054
+ throw new Error(
9055
+ "Public mint availability updates support at most 5 authorities per transaction",
9056
+ );
9057
+ }
9051
9058
  if (typeof params.active !== "boolean") {
9052
9059
  throw new Error("active must be a boolean");
9053
9060
  }
@@ -9411,8 +9418,25 @@ export function createKcc20PsktBuilderEngine(
9411
9418
  const holderUtxos = Array.isArray(params.activeHolderUtxos)
9412
9419
  ? params.activeHolderUtxos
9413
9420
  : [];
9414
- if (holderUtxos.length < 2 || holderUtxos.length > 3) {
9415
- throw new Error("between two and three KCC20 holder UTXOs are required");
9421
+ if (holderUtxos.length < 2) {
9422
+ throw new Error("at least two KCC20 holder UTXOs are required");
9423
+ }
9424
+
9425
+ const maximumProfileInputs = Math.max(
9426
+ 0,
9427
+ ...tokenProfiles.profiles.map((p) => p.maxTokenInputs),
9428
+ );
9429
+ if (holderUtxos.length > maximumProfileInputs) {
9430
+ throw new Error(
9431
+ `consolidation exceeds the token profile input bound (${maximumProfileInputs})`,
9432
+ );
9433
+ }
9434
+ const sourceOutpoints = holderUtxos.map(
9435
+ (u) =>
9436
+ `${requireHex32(u.txidHex, "holder txid")}:${parseVout(u.vout, "holder vout")}`,
9437
+ );
9438
+ if (new Set(sourceOutpoints).size !== holderUtxos.length) {
9439
+ throw new Error("consolidation requires distinct holder outpoints");
9416
9440
  }
9417
9441
 
9418
9442
  const covenantId = requireHex32(
@@ -9470,7 +9494,9 @@ export function createKcc20PsktBuilderEngine(
9470
9494
  }
9471
9495
  const profile = resolvedArtifacts[0].profile;
9472
9496
  if (holderUtxos.length > profile.maxTokenInputs) {
9473
- throw new Error("consolidation exceeds the token profile input bound");
9497
+ throw new Error(
9498
+ `consolidation exceeds the token profile input bound (${profile.maxTokenInputs})`,
9499
+ );
9474
9500
  }
9475
9501
  const artifact = resolvedArtifacts[0].artifact;
9476
9502
  for (const peerState of states.slice(1)) {
@@ -9493,10 +9519,8 @@ export function createKcc20PsktBuilderEngine(
9493
9519
  const txid = requireHex32(utxo.txidHex, `holder ${index} txid`);
9494
9520
  const vout = parseVout(utxo.vout, `holder ${index} vout`);
9495
9521
  const address = requireKaspaAddress(utxo.address);
9496
- const script = buildNativeKcc20ScriptForState(
9497
- artifact.script,
9498
- states[index],
9499
- );
9522
+ // Resolution already authenticated this profile's complete state layout.
9523
+ const script = resolvedArtifacts[index].script;
9500
9524
  assertScriptAddress(
9501
9525
  kw,
9502
9526
  script,
@@ -1,3 +1,8 @@
1
+ import { resolveAuthenticatedTokenProfile } from "./token-profiles.js";
2
+ import {
3
+ BUNDLED_TOKEN_PROFILES,
4
+ BUNDLED_TOKEN_PROFILE_DIGEST,
5
+ } from "./token-profiles.generated.js";
1
6
  import {
2
7
  ownerNativeHolderUtxos,
3
8
  selectActiveMinterUtxo,
@@ -293,6 +298,8 @@ export function buildKcc20NativeConsolidationOperation(
293
298
  wallet: Kcc20ActionWalletInfo,
294
299
  input: {
295
300
  token: Kcc20ActionTokenInfo;
301
+ /** From authenticated token readiness; construction rechecks every source script. */
302
+ tokenProfileId: string;
296
303
  activeUtxos: readonly Kcc20IndexedCovenantUtxo[];
297
304
  sourceOutpoints?: readonly string[];
298
305
  },
@@ -303,11 +310,17 @@ export function buildKcc20NativeConsolidationOperation(
303
310
  wallet.kcc20Owner,
304
311
  "wallet owner",
305
312
  );
313
+ const profile = resolveAuthenticatedTokenProfile(
314
+ { manifest: BUNDLED_TOKEN_PROFILES, sha256: BUNDLED_TOKEN_PROFILE_DIGEST },
315
+ input.tokenProfileId,
316
+ );
317
+ if (profile.maxTokenInputs < 2 || !profile.operations.includes("transfer"))
318
+ throw new Error("token profile does not support consolidation");
306
319
  const compatible = ownerNativeHolderUtxos(input.activeUtxos, owner);
307
320
  const selected = selectConsolidationBatch(
308
321
  compatible,
309
322
  input.sourceOutpoints,
310
- 8,
323
+ profile.maxTokenInputs,
311
324
  );
312
325
  if (selected.length < 2)
313
326
  throw new Error(
@@ -365,7 +378,7 @@ export function buildKcc20NativeConsolidationOperation(
365
378
  },
366
379
  ],
367
380
  warnings: [
368
- "Consolidation merges between two and eight wallet-owned holder UTXOs into one larger holder UTXO.",
381
+ `Consolidation merges between two and ${profile.maxTokenInputs} wallet-owned holder UTXOs into one larger holder UTXO.`,
369
382
  "Repeat consolidation when more compatible holder UTXOs remain.",
370
383
  ],
371
384
  },