@kaspacom/kcc20-tx-builder 0.2.5 → 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.
- package/CHANGELOG.md +21 -0
- package/README.md +54 -8
- package/RELEASING.md +93 -0
- package/SECURITY.md +16 -0
- package/artifacts/KCC20SnapshotBootstrap.placeholder.json +101677 -0
- package/artifacts/KCC20SnapshotController.placeholder.json +46547 -0
- package/artifacts/kcc20-snapshot-bootstrap/KCC20SnapshotBootstrap.placeholder.json +101677 -0
- package/artifacts/kcc20-snapshot-controller/KCC20SnapshotController.placeholder.json +46547 -0
- package/artifacts/snapshot-standards.lock.json +56 -0
- package/dist/artifacts.d.ts +31 -0
- package/dist/artifacts.d.ts.map +1 -1
- package/dist/artifacts.js +31 -0
- package/dist/artifacts.js.map +1 -1
- package/dist/cjs/artifacts.d.ts +31 -0
- package/dist/cjs/artifacts.js +32 -1
- package/dist/cjs/artifacts.js.map +1 -1
- package/dist/cjs/engine.js +58 -44
- package/dist/cjs/engine.js.map +1 -1
- package/dist/cjs/index.d.ts +7 -0
- package/dist/cjs/index.js +8 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/operations.d.ts +1 -1
- package/dist/cjs/operations.js +4 -0
- package/dist/cjs/operations.js.map +1 -1
- package/dist/cjs/sale-common.d.ts +1 -1
- package/dist/cjs/sale-common.js +39 -4
- package/dist/cjs/sale-common.js.map +1 -1
- package/dist/cjs/snapshot-deployment.d.ts +82 -0
- package/dist/cjs/snapshot-deployment.js +82 -0
- package/dist/cjs/snapshot-deployment.js.map +1 -0
- package/dist/cjs/snapshot-operation.d.ts +27 -0
- package/dist/cjs/snapshot-operation.js +2433 -0
- package/dist/cjs/snapshot-operation.js.map +1 -0
- package/dist/cjs/snapshot-signerless-transactions.d.ts +132 -0
- package/dist/cjs/snapshot-signerless-transactions.js +746 -0
- package/dist/cjs/snapshot-signerless-transactions.js.map +1 -0
- package/dist/cjs/snapshot-signerless.d.ts +226 -0
- package/dist/cjs/snapshot-signerless.js +1022 -0
- package/dist/cjs/snapshot-signerless.js.map +1 -0
- package/dist/cjs/snapshot-verification.d.ts +57 -0
- package/dist/cjs/snapshot-verification.js +96 -0
- package/dist/cjs/snapshot-verification.js.map +1 -0
- package/dist/cjs/token-operation.js +3 -3
- package/dist/cjs/token-operation.js.map +1 -1
- package/dist/engine.d.ts.map +1 -1
- package/dist/engine.js +58 -44
- package/dist/engine.js.map +1 -1
- package/dist/index.d.ts +7 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -0
- package/dist/index.js.map +1 -1
- package/dist/operations.d.ts +1 -1
- package/dist/operations.d.ts.map +1 -1
- package/dist/operations.js +4 -0
- package/dist/operations.js.map +1 -1
- package/dist/sale-common.d.ts +1 -1
- package/dist/sale-common.d.ts.map +1 -1
- package/dist/sale-common.js +39 -4
- package/dist/sale-common.js.map +1 -1
- package/dist/snapshot-deployment.d.ts +83 -0
- package/dist/snapshot-deployment.d.ts.map +1 -0
- package/dist/snapshot-deployment.js +78 -0
- package/dist/snapshot-deployment.js.map +1 -0
- package/dist/snapshot-operation.d.ts +28 -0
- package/dist/snapshot-operation.d.ts.map +1 -0
- package/dist/snapshot-operation.js +2428 -0
- package/dist/snapshot-operation.js.map +1 -0
- package/dist/snapshot-signerless-transactions.d.ts +133 -0
- package/dist/snapshot-signerless-transactions.d.ts.map +1 -0
- package/dist/snapshot-signerless-transactions.js +735 -0
- package/dist/snapshot-signerless-transactions.js.map +1 -0
- package/dist/snapshot-signerless.d.ts +227 -0
- package/dist/snapshot-signerless.d.ts.map +1 -0
- package/dist/snapshot-signerless.js +993 -0
- package/dist/snapshot-signerless.js.map +1 -0
- package/dist/snapshot-verification.d.ts +58 -0
- package/dist/snapshot-verification.d.ts.map +1 -0
- package/dist/snapshot-verification.js +92 -0
- package/dist/snapshot-verification.js.map +1 -0
- package/dist/token-operation.js +3 -3
- package/dist/token-operation.js.map +1 -1
- package/docs/API.md +67 -0
- package/docs/COMPATIBILITY.json +84 -0
- package/docs/INTEGRATION.md +215 -0
- package/docs/LIVE_TRANSFER.md +106 -0
- package/docs/RECIPES.md +175 -0
- package/docs/TRANSACTION_GUIDE.md +163 -0
- package/docs/snapshot-start.md +27 -0
- package/examples/README.md +81 -0
- package/examples/backend/cli.ts +55 -0
- package/examples/backend/recipe.ts +39 -0
- package/examples/backend/runtime.ts +13 -0
- package/examples/frontend/index.html +48 -0
- package/examples/frontend/main.ts +213 -0
- package/examples/frontend/runtime.ts +14 -0
- package/examples/package-lock.json +1287 -0
- package/examples/package.json +23 -0
- package/examples/shared/build.ts +179 -0
- package/examples/shared/fixture.ts +24 -0
- package/examples/shared/live-transfer.ts +155 -0
- package/examples/shared/recipe-fixtures.ts +543 -0
- package/examples/shared/recipes.ts +55 -0
- package/examples/shared/signing.ts +110 -0
- package/examples/shared/timeout.ts +8 -0
- package/examples/test/browser.ts +116 -0
- package/examples/test/build.test.ts +197 -0
- package/examples/test/recipes.test.ts +59 -0
- package/examples/test/sources.test.ts +73 -0
- package/examples/tsconfig.json +26 -0
- package/examples/vendor/NOTICE.md +15 -0
- package/examples/vendor/kaspa/LICENSE +15 -0
- package/examples/vendor/kaspa/kaspa.d.ts +8908 -0
- package/examples/vendor/kaspa/kaspa.js +15202 -0
- package/examples/vendor/kaspa/kaspa_bg.wasm +0 -0
- package/examples/vendor/kaspa/package.json +24 -0
- package/package.json +21 -4
- package/src/artifacts.ts +35 -0
- package/src/engine.ts +91 -97
- package/src/index.ts +8 -0
- package/src/operations.ts +4 -0
- package/src/sale-common.ts +44 -3
- package/src/snapshot-deployment.ts +108 -0
- package/src/snapshot-operation.ts +3592 -0
- package/src/snapshot-signerless-transactions.ts +1272 -0
- package/src/snapshot-signerless.ts +1525 -0
- package/src/snapshot-verification.ts +86 -0
- 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":"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"}
|
|
@@ -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
|
|
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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"}
|
package/dist/engine.d.ts.map
CHANGED
|
@@ -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;
|
|
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
|
-
|
|
41
|
-
|
|
42
|
-
|
|
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 = "
|
|
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
|
|
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
|
|
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
|
|
6657
|
-
|
|
6658
|
-
|
|
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 =
|
|
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) {
|