@kaspacom/kcc20-tx-builder 0.4.0 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +12 -1
- package/README.md +2 -2
- package/RELEASING.md +19 -14
- package/artifacts/ArgentKCC20.reference.json +12428 -0
- package/artifacts/ArgentKCC20Wrapper.placeholder.json +12455 -0
- package/artifacts/KCC20.placeholder.json +1447 -1973
- package/artifacts/KCC20FeeTicket.placeholder.json +816 -1447
- package/artifacts/KCC20Orderbook.placeholder.json +1 -2
- package/artifacts/KCC20SnapshotBootstrap.placeholder.json +101 -100
- package/artifacts/KCC20SnapshotController.placeholder.json +101 -100
- package/artifacts/KCC20Vesting.placeholder.json +427 -429
- package/artifacts/KCC20Wrapper.placeholder.json +733 -734
- package/artifacts/kcc20-snapshot-bootstrap/KCC20SnapshotBootstrap.placeholder.json +101 -100
- package/artifacts/kcc20-snapshot-controller/KCC20SnapshotController.placeholder.json +101 -100
- package/artifacts/snapshot-standards.lock.json +6 -3
- package/artifacts/token-profiles.json +109 -0
- package/artifacts/token-profiles.sha256 +1 -0
- package/dist/action-source-resolver.d.ts.map +1 -1
- package/dist/action-source-resolver.js +11 -2
- package/dist/action-source-resolver.js.map +1 -1
- package/dist/artifacts.d.ts +10 -10
- package/dist/artifacts.d.ts.map +1 -1
- package/dist/artifacts.js +10 -10
- package/dist/artifacts.js.map +1 -1
- package/dist/cjs/action-source-resolver.js +11 -2
- package/dist/cjs/action-source-resolver.js.map +1 -1
- package/dist/cjs/artifacts.d.ts +10 -10
- package/dist/cjs/artifacts.js +10 -10
- package/dist/cjs/artifacts.js.map +1 -1
- package/dist/cjs/engine.d.ts +10 -0
- package/dist/cjs/engine.js +124 -77
- package/dist/cjs/engine.js.map +1 -1
- package/dist/cjs/index.d.ts +5 -0
- package/dist/cjs/index.js +5 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/profile-transfer.d.ts +60 -0
- package/dist/cjs/profile-transfer.js +248 -0
- package/dist/cjs/profile-transfer.js.map +1 -0
- package/dist/cjs/snapshot-operation.d.ts +0 -1
- package/dist/cjs/snapshot-operation.js +1 -1126
- package/dist/cjs/snapshot-operation.js.map +1 -1
- package/dist/cjs/snapshot-signerless-transactions.d.ts +1 -1
- package/dist/cjs/snapshot-signerless-transactions.js +3 -6
- package/dist/cjs/snapshot-signerless-transactions.js.map +1 -1
- package/dist/cjs/snapshot-signerless.js +5 -3
- package/dist/cjs/snapshot-signerless.js.map +1 -1
- package/dist/cjs/snapshot-verification.d.ts +1 -1
- package/dist/cjs/snapshot-verification.js +16 -12
- package/dist/cjs/snapshot-verification.js.map +1 -1
- package/dist/cjs/token-authorization.d.ts +42 -0
- package/dist/cjs/token-authorization.js +93 -0
- package/dist/cjs/token-authorization.js.map +1 -0
- package/dist/cjs/token-profiles.d.ts +82 -0
- package/dist/cjs/token-profiles.generated.d.ts +3 -0
- package/dist/cjs/token-profiles.generated.js +114 -0
- package/dist/cjs/token-profiles.generated.js.map +1 -0
- package/dist/cjs/token-profiles.js +257 -0
- package/dist/cjs/token-profiles.js.map +1 -0
- package/dist/cjs/transfer-payload.d.ts +9 -0
- package/dist/cjs/transfer-payload.js +37 -0
- package/dist/cjs/transfer-payload.js.map +1 -0
- package/dist/cjs/wrapper-operation.d.ts +1 -0
- package/dist/cjs/wrapper-operation.js +1 -0
- package/dist/cjs/wrapper-operation.js.map +1 -1
- package/dist/engine.d.ts +10 -0
- package/dist/engine.d.ts.map +1 -1
- package/dist/engine.js +125 -78
- package/dist/engine.js.map +1 -1
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -1
- package/dist/profile-transfer.d.ts +61 -0
- package/dist/profile-transfer.d.ts.map +1 -0
- package/dist/profile-transfer.js +245 -0
- package/dist/profile-transfer.js.map +1 -0
- package/dist/snapshot-operation.d.ts +0 -1
- package/dist/snapshot-operation.d.ts.map +1 -1
- package/dist/snapshot-operation.js +0 -1125
- package/dist/snapshot-operation.js.map +1 -1
- package/dist/snapshot-signerless-transactions.d.ts +1 -1
- package/dist/snapshot-signerless-transactions.d.ts.map +1 -1
- package/dist/snapshot-signerless-transactions.js +3 -6
- package/dist/snapshot-signerless-transactions.js.map +1 -1
- package/dist/snapshot-signerless.d.ts.map +1 -1
- package/dist/snapshot-signerless.js +5 -3
- package/dist/snapshot-signerless.js.map +1 -1
- package/dist/snapshot-verification.d.ts +1 -1
- package/dist/snapshot-verification.d.ts.map +1 -1
- package/dist/snapshot-verification.js +16 -12
- package/dist/snapshot-verification.js.map +1 -1
- package/dist/token-authorization.d.ts +43 -0
- package/dist/token-authorization.d.ts.map +1 -0
- package/dist/token-authorization.js +88 -0
- package/dist/token-authorization.js.map +1 -0
- package/dist/token-profiles.d.ts +83 -0
- package/dist/token-profiles.d.ts.map +1 -0
- package/dist/token-profiles.generated.d.ts +4 -0
- package/dist/token-profiles.generated.d.ts.map +1 -0
- package/dist/token-profiles.generated.js +111 -0
- package/dist/token-profiles.generated.js.map +1 -0
- package/dist/token-profiles.js +245 -0
- package/dist/token-profiles.js.map +1 -0
- package/dist/transfer-payload.d.ts +10 -0
- package/dist/transfer-payload.d.ts.map +1 -0
- package/dist/transfer-payload.js +34 -0
- package/dist/transfer-payload.js.map +1 -0
- package/dist/wrapper-operation.d.ts +1 -0
- package/dist/wrapper-operation.d.ts.map +1 -1
- package/dist/wrapper-operation.js +1 -0
- package/dist/wrapper-operation.js.map +1 -1
- package/docs/API.md +1 -1
- package/docs/COMPATIBILITY.json +24 -33
- package/docs/INTEGRATION.md +2 -2
- package/docs/LAST_CALL.md +50 -0
- package/examples/README.md +5 -2
- package/examples/backend/cli.ts +2 -1
- package/examples/frontend/main.ts +2 -1
- package/examples/shared/build.ts +3 -0
- package/examples/shared/offline-profile.ts +27 -0
- package/examples/shared/recipe-fixtures.ts +3 -2
- package/examples/test/browser.ts +2 -2
- package/examples/test/build.test.ts +21 -8
- package/examples/test/sources.test.ts +3 -2
- package/package.json +2 -2
- package/src/action-source-resolver.ts +22 -4
- package/src/artifacts.ts +12 -10
- package/src/engine.ts +208 -105
- package/src/index.ts +7 -0
- package/src/profile-transfer.ts +425 -0
- package/src/snapshot-operation.ts +59 -1731
- package/src/snapshot-signerless-transactions.ts +8 -17
- package/src/snapshot-signerless.ts +5 -3
- package/src/snapshot-verification.ts +17 -13
- package/src/token-authorization.ts +135 -0
- package/src/token-profiles.generated.ts +112 -0
- package/src/token-profiles.ts +456 -0
- package/src/transfer-payload.ts +45 -0
- package/src/wrapper-operation.ts +2 -0
|
@@ -224,7 +224,9 @@ export function buildSnapshotStartSignatureScripts(kw, { plan, bootstrapArtifact
|
|
|
224
224
|
const reserves = plan.reserves.map(normalizeKcc20State);
|
|
225
225
|
const kcc20Template = templateParts(kcc20Artifact);
|
|
226
226
|
const controllerTemplate = templateParts(controllerArtifact);
|
|
227
|
-
const bootstrapBuilder = new kw.ScriptBuilder(
|
|
227
|
+
const bootstrapBuilder = new kw.ScriptBuilder({
|
|
228
|
+
flags: { covenantsEnabled: true },
|
|
229
|
+
});
|
|
228
230
|
for (const field of encodeControllerStateRecordArrays(controllers))
|
|
229
231
|
bootstrapBuilder.addData(field);
|
|
230
232
|
for (const field of encodeKcc20StateRecordArrays(reserves))
|
|
@@ -235,7 +237,7 @@ export function buildSnapshotStartSignatureScripts(kw, { plan, bootstrapArtifact
|
|
|
235
237
|
bootstrapBuilder.addData(controllerTemplate.suffix);
|
|
236
238
|
bootstrapBuilder.addData(dispatchTagFor(bootstrapArtifact, "start"));
|
|
237
239
|
const controllerSignatureScripts = controllers.map((state, index) => {
|
|
238
|
-
const builder = new kw.ScriptBuilder();
|
|
240
|
+
const builder = new kw.ScriptBuilder({ flags: { covenantsEnabled: true } });
|
|
239
241
|
addControllerState(builder, state);
|
|
240
242
|
builder.addI64(BigInt(bootstrapInputIndex));
|
|
241
243
|
builder.addI64(BigInt(index));
|
|
@@ -376,7 +378,7 @@ export function buildClaimSignatureScripts(kw, { controllerArtifact, kcc20Artifa
|
|
|
376
378
|
requireControllerArtifact(controllerArtifact);
|
|
377
379
|
requireKcc20Artifact(kcc20Artifact);
|
|
378
380
|
requireOwnerWitness(claim.ownerScheme, claim.ownerWitness);
|
|
379
|
-
const builder = new kw.ScriptBuilder();
|
|
381
|
+
const builder = new kw.ScriptBuilder({ flags: { covenantsEnabled: true } });
|
|
380
382
|
builder.addI64(BigInt(claim.globalIndex));
|
|
381
383
|
builder.addI64(BigInt(claim.shardLeafIndex));
|
|
382
384
|
addByte(builder, claim.ownerScheme);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"snapshot-signerless.js","sourceRoot":"","sources":["../src/snapshot-signerless.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"snapshot-signerless.js","sourceRoot":"","sources":["../src/snapshot-signerless.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { prepareSnapshotDeployment, type SnapshotArtifacts, type SnapshotDeploymentDefinition } from './snapshot-deployment.js';
|
|
2
|
-
export declare function snapshotStartPayload(definition: SnapshotDeploymentDefinition, prepared: ReturnType<typeof prepareSnapshotDeployment>):
|
|
2
|
+
export declare function snapshotStartPayload(definition: SnapshotDeploymentDefinition, prepared: ReturnType<typeof prepareSnapshotDeployment>): Uint8Array;
|
|
3
3
|
/** Reconstruct the whole transaction from approved definition and pinned artifacts. */
|
|
4
4
|
export declare function verifySnapshotDeploymentTransaction(kw: any, args: {
|
|
5
5
|
definition: SnapshotDeploymentDefinition;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"snapshot-verification.d.ts","sourceRoot":"","sources":["../src/snapshot-verification.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,KAAK,iBAAiB,EAAE,KAAK,4BAA4B,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"snapshot-verification.d.ts","sourceRoot":"","sources":["../src/snapshot-verification.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,KAAK,iBAAiB,EAAE,KAAK,4BAA4B,EAAE,MAAM,0BAA0B,CAAC;AAGhI,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,4BAA4B,EAAE,QAAQ,EAAE,UAAU,CAAC,OAAO,yBAAyB,CAAC,GAAG,UAAU,CAiBjJ;AAED,uFAAuF;AACvF,wBAAgB,mCAAmC,CAAC,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE;IACjE,UAAU,EAAE,4BAA4B,CAAC;IAAC,SAAS,EAAE,iBAAiB,CAAC;IAAC,eAAe,EAAE,MAAM,CAAC;IAChG,aAAa,EAAE,MAAM,CAAC;IAAC,eAAe,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,mBAAmB,EAAE,MAAM,EAAE,CAAC;CAC9F;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+DA"}
|
|
@@ -1,20 +1,23 @@
|
|
|
1
1
|
import { prepareSnapshotDeployment } from './snapshot-deployment.js';
|
|
2
|
-
import { bytesToHex } from './encoding.js';
|
|
3
2
|
import * as tx from './snapshot-signerless-transactions.js';
|
|
4
3
|
export function snapshotStartPayload(definition, prepared) {
|
|
5
4
|
const plan = prepared.plan;
|
|
6
5
|
if (prepared.stage !== 'snapshot-start')
|
|
7
6
|
throw new Error('snapshot start plan required');
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
7
|
+
return tx.buildSnapshotKcc20DeploymentPayload({
|
|
8
|
+
creator: definition.creator,
|
|
9
|
+
ticker: definition.ticker,
|
|
10
|
+
name: definition.ticker,
|
|
11
|
+
displayScale: definition.displayScale,
|
|
12
|
+
totalSupply: definition.totalSupply,
|
|
13
|
+
holderExtensionCommitment: prepared.holderExtensionCommitment,
|
|
14
|
+
migrationId: definition.migrationId,
|
|
15
|
+
manifestCommitment: definition.manifestCommitment,
|
|
16
|
+
reserves: plan.reserves,
|
|
17
|
+
treasury: definition.creator,
|
|
18
|
+
protocolFeeRecipient: definition.creator,
|
|
19
|
+
protocolFeeBps: 0,
|
|
20
|
+
});
|
|
18
21
|
}
|
|
19
22
|
/** Reconstruct the whole transaction from approved definition and pinned artifacts. */
|
|
20
23
|
export function verifySnapshotDeploymentTransaction(kw, args) {
|
|
@@ -60,7 +63,8 @@ export function verifySnapshotDeploymentTransaction(kw, args) {
|
|
|
60
63
|
throw new Error('snapshot bootstrap input differs from approved genesis');
|
|
61
64
|
}
|
|
62
65
|
expected = tx.buildSnapshotStartUnsignedTransaction(kw, {
|
|
63
|
-
...common,
|
|
66
|
+
...common,
|
|
67
|
+
payload: snapshotStartPayload(args.definition, prepared),
|
|
64
68
|
bootstrapInput,
|
|
65
69
|
controllerInputs: plan.controllers.map((controller, index) => {
|
|
66
70
|
const actual = input(index + 1, tx.buildSnapshotControllerScriptForState(args.artifacts.controllerArtifact, controller.stateBefore));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"snapshot-verification.js","sourceRoot":"","sources":["../src/snapshot-verification.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAA6D,MAAM,0BAA0B,CAAC;AAChI,OAAO,
|
|
1
|
+
{"version":3,"file":"snapshot-verification.js","sourceRoot":"","sources":["../src/snapshot-verification.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { type TokenProfile } from "./token-profiles.js";
|
|
2
|
+
export interface TokenSigningCapabilities {
|
|
3
|
+
schnorr: boolean;
|
|
4
|
+
ecdsa: boolean;
|
|
5
|
+
}
|
|
6
|
+
export type TokenWitnessArgument = {
|
|
7
|
+
type: "data";
|
|
8
|
+
hex: string;
|
|
9
|
+
} | {
|
|
10
|
+
type: "signature";
|
|
11
|
+
prefixHex: string;
|
|
12
|
+
};
|
|
13
|
+
export interface TokenAuthorityInput {
|
|
14
|
+
index: number;
|
|
15
|
+
scriptPublicKeyHex: string;
|
|
16
|
+
covenantId?: string;
|
|
17
|
+
}
|
|
18
|
+
export declare function tokenPublicKeyHash(publicKey: Uint8Array): Uint8Array;
|
|
19
|
+
/** Authority inputs must come from the authenticated transaction UTXOs, never an uploaded artifact. */
|
|
20
|
+
export declare function planTokenOwnerWitness(input: {
|
|
21
|
+
profile: TokenProfile;
|
|
22
|
+
owner: string;
|
|
23
|
+
ownerScheme: number;
|
|
24
|
+
publicKey?: string;
|
|
25
|
+
capabilities: TokenSigningCapabilities;
|
|
26
|
+
authorityInputIndex?: number;
|
|
27
|
+
authorityInputs?: readonly TokenAuthorityInput[];
|
|
28
|
+
role: "leader" | "delegator";
|
|
29
|
+
}): {
|
|
30
|
+
argument: TokenWitnessArgument;
|
|
31
|
+
signatureAlgorithm?: "schnorr" | "ecdsa";
|
|
32
|
+
authorityInputIndex?: number;
|
|
33
|
+
};
|
|
34
|
+
/** Borrowing is an explicit mode. This function never converts an ordinary send into a borrow. */
|
|
35
|
+
export declare function buildTokenBorrowWitness(input: {
|
|
36
|
+
profile: TokenProfile;
|
|
37
|
+
borrowScheme: number;
|
|
38
|
+
currentGuard: string;
|
|
39
|
+
signature?: string;
|
|
40
|
+
nextGuard?: string;
|
|
41
|
+
oneTimePublicKey?: string;
|
|
42
|
+
}): Uint8Array;
|
|
43
|
+
//# sourceMappingURL=token-authorization.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"token-authorization.d.ts","sourceRoot":"","sources":["../src/token-authorization.ts"],"names":[],"mappings":"AACA,OAAO,EAA0B,KAAK,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEhF,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,OAAO,CAAC;CAChB;AACD,MAAM,MAAM,oBAAoB,GAC5B;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAC7B;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC;AAC7C,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,kBAAkB,EAAE,MAAM,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAQD,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,UAAU,GAAG,UAAU,CAIpE;AACD,uGAAuG;AACvG,wBAAgB,qBAAqB,CAAC,KAAK,EAAE;IAC3C,OAAO,EAAE,YAAY,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,wBAAwB,CAAC;IACvC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,eAAe,CAAC,EAAE,SAAS,mBAAmB,EAAE,CAAC;IACjD,IAAI,EAAE,QAAQ,GAAG,WAAW,CAAC;CAC9B,GAAG;IACF,QAAQ,EAAE,oBAAoB,CAAC;IAC/B,kBAAkB,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC;IACzC,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B,CA2DA;AACD,kGAAkG;AAClG,wBAAgB,uBAAuB,CAAC,KAAK,EAAE;IAC7C,OAAO,EAAE,YAAY,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,GAAG,UAAU,CAyBb"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { blake3 } from "@noble/hashes/blake3";
|
|
2
|
+
import { requireTokenCapability } from "./token-profiles.js";
|
|
3
|
+
const hex = (v) => Array.from(v, (b) => b.toString(16).padStart(2, "0")).join("");
|
|
4
|
+
const bytes = (v, size, label) => {
|
|
5
|
+
if (!new RegExp(`^[0-9a-f]{${size * 2}}$`, "i").test(v))
|
|
6
|
+
throw new Error(`invalid ${label}`);
|
|
7
|
+
return Uint8Array.from(v.match(/../g), (b) => parseInt(b, 16));
|
|
8
|
+
};
|
|
9
|
+
export function tokenPublicKeyHash(publicKey) {
|
|
10
|
+
if (![32, 33].includes(publicKey.length))
|
|
11
|
+
throw new Error("invalid token public key length");
|
|
12
|
+
return blake3(publicKey);
|
|
13
|
+
}
|
|
14
|
+
/** Authority inputs must come from the authenticated transaction UTXOs, never an uploaded artifact. */
|
|
15
|
+
export function planTokenOwnerWitness(input) {
|
|
16
|
+
const { profile, ownerScheme } = input;
|
|
17
|
+
requireTokenCapability(profile, "transfer");
|
|
18
|
+
bytes(input.owner, 32, "token owner");
|
|
19
|
+
if (!profile.ownerSchemes.includes(ownerScheme))
|
|
20
|
+
throw new Error("token profile does not support this owner scheme");
|
|
21
|
+
const prefix = input.role === "leader" ? "00" : "";
|
|
22
|
+
if (ownerScheme <= 2) {
|
|
23
|
+
const algorithm = ownerScheme === 2 ? "ecdsa" : "schnorr";
|
|
24
|
+
if (!input.capabilities[algorithm])
|
|
25
|
+
throw new Error(`wallet does not support ${algorithm} token signatures`);
|
|
26
|
+
const key = bytes(input.publicKey ?? "", ownerScheme === 2 ? 33 : 32, "wallet public key");
|
|
27
|
+
if (ownerScheme === 2 && key[0] !== 2 && key[0] !== 3)
|
|
28
|
+
throw new Error("ECDSA key must be compressed");
|
|
29
|
+
const expected = ownerScheme === 0 ? hex(key) : hex(tokenPublicKeyHash(key));
|
|
30
|
+
if (expected !== input.owner.toLowerCase())
|
|
31
|
+
throw new Error("wallet public key does not own the token output");
|
|
32
|
+
return {
|
|
33
|
+
argument: {
|
|
34
|
+
type: "signature",
|
|
35
|
+
prefixHex: prefix + (ownerScheme === 0 ? "" : hex(key)),
|
|
36
|
+
},
|
|
37
|
+
signatureAlgorithm: algorithm,
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
const index = input.authorityInputIndex;
|
|
41
|
+
if (!Number.isSafeInteger(index) || index < 0 || index > 255)
|
|
42
|
+
throw new Error("explicit authority input index is required");
|
|
43
|
+
const matches = (input.authorityInputs ?? []).filter((a) => a.index === index);
|
|
44
|
+
if (matches.length !== 1)
|
|
45
|
+
throw new Error("authority input is missing or ambiguous");
|
|
46
|
+
const authority = matches[0];
|
|
47
|
+
if (ownerScheme === 3 &&
|
|
48
|
+
authority.scriptPublicKeyHex.toLowerCase() !==
|
|
49
|
+
`aa20${input.owner.toLowerCase()}87`)
|
|
50
|
+
throw new Error("authority input does not match token P2SH owner");
|
|
51
|
+
if (ownerScheme === 4 &&
|
|
52
|
+
authority.covenantId?.toLowerCase() !== input.owner.toLowerCase())
|
|
53
|
+
throw new Error("authority input does not match token covenant owner");
|
|
54
|
+
return {
|
|
55
|
+
argument: {
|
|
56
|
+
type: "data",
|
|
57
|
+
hex: prefix +
|
|
58
|
+
(ownerScheme === 3 ? index.toString(16).padStart(2, "0") : ""),
|
|
59
|
+
},
|
|
60
|
+
authorityInputIndex: index,
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
/** Borrowing is an explicit mode. This function never converts an ordinary send into a borrow. */
|
|
64
|
+
export function buildTokenBorrowWitness(input) {
|
|
65
|
+
requireTokenCapability(input.profile, "borrow");
|
|
66
|
+
const current = bytes(input.currentGuard, 32, "borrow guard");
|
|
67
|
+
if (input.borrowScheme === 1) {
|
|
68
|
+
if (input.signature !== undefined ||
|
|
69
|
+
input.nextGuard !== undefined ||
|
|
70
|
+
input.oneTimePublicKey !== undefined)
|
|
71
|
+
throw new Error("threshold borrowing requires an empty authorization");
|
|
72
|
+
return Uint8Array.of(1);
|
|
73
|
+
}
|
|
74
|
+
const sig = bytes(input.signature ?? "", 65, "borrow signature");
|
|
75
|
+
if (input.borrowScheme === 2) {
|
|
76
|
+
if (input.nextGuard !== undefined || input.oneTimePublicKey !== undefined)
|
|
77
|
+
throw new Error("Schnorr borrowing does not rotate its guard");
|
|
78
|
+
return Uint8Array.from([1, ...sig]);
|
|
79
|
+
}
|
|
80
|
+
if (input.borrowScheme !== 3)
|
|
81
|
+
throw new Error("unsupported or disabled borrow scheme");
|
|
82
|
+
const guard = bytes(input.nextGuard ?? "", 32, "next borrow guard");
|
|
83
|
+
const key = bytes(input.oneTimePublicKey ?? "", 32, "one-time public key");
|
|
84
|
+
if (hex(blake3(Uint8Array.from([...guard, ...key]))) !== hex(current))
|
|
85
|
+
throw new Error("hash-chain link does not match current guard");
|
|
86
|
+
return Uint8Array.from([1, ...guard, ...key, ...sig]);
|
|
87
|
+
}
|
|
88
|
+
//# sourceMappingURL=token-authorization.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"token-authorization.js","sourceRoot":"","sources":["../src/token-authorization.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { normalizeSilverScriptArtifact } from "./abi.js";
|
|
2
|
+
export declare const KCC20_STANDARD_REVISION = "3fbec524abfbc20e87652eb938db218f8c17db17";
|
|
3
|
+
export type TokenOperation = "transfer" | "borrow" | "mint" | "burn" | "wrap" | "unwrap" | "trade";
|
|
4
|
+
export interface TokenWrapperProfile {
|
|
5
|
+
fingerprint: string;
|
|
6
|
+
artifactKey: string;
|
|
7
|
+
artifactSha256: string;
|
|
8
|
+
artifactCanonicalSha256: string;
|
|
9
|
+
scriptSha256: string;
|
|
10
|
+
scriptLength: number;
|
|
11
|
+
templateHash: string;
|
|
12
|
+
stateLayout: {
|
|
13
|
+
start: number;
|
|
14
|
+
len: number;
|
|
15
|
+
};
|
|
16
|
+
tokenTemplateHash: string;
|
|
17
|
+
}
|
|
18
|
+
export interface TokenProfile {
|
|
19
|
+
id: string;
|
|
20
|
+
artifactKey: string;
|
|
21
|
+
artifactSha256: string;
|
|
22
|
+
artifactCanonicalSha256: string;
|
|
23
|
+
scriptSha256: string;
|
|
24
|
+
templateHash: string;
|
|
25
|
+
scriptLength: number;
|
|
26
|
+
stateLayout: {
|
|
27
|
+
start: number;
|
|
28
|
+
len: number;
|
|
29
|
+
};
|
|
30
|
+
standardRevision: string;
|
|
31
|
+
transferTag: string;
|
|
32
|
+
delegatorTag: string;
|
|
33
|
+
transferEntrypoint: string;
|
|
34
|
+
delegatorEntrypoint: string;
|
|
35
|
+
ownerSchemes: number[];
|
|
36
|
+
maxTokenInputs: number;
|
|
37
|
+
maxTokenOutputs: number;
|
|
38
|
+
operations: TokenOperation[];
|
|
39
|
+
fungibility: "single-holder-class" | "unverified";
|
|
40
|
+
nativeExtensions: boolean;
|
|
41
|
+
wrapper?: TokenWrapperProfile;
|
|
42
|
+
/** Reviewed fixed display convention for programs without token metadata. */
|
|
43
|
+
displayDecimals?: number;
|
|
44
|
+
}
|
|
45
|
+
export interface TokenProfileRegistry {
|
|
46
|
+
schema: "kcc20-token-profiles/v2";
|
|
47
|
+
standardRevision: string;
|
|
48
|
+
profiles: TokenProfile[];
|
|
49
|
+
}
|
|
50
|
+
export interface AuthenticatedTokenProfileRegistry {
|
|
51
|
+
readonly manifest: TokenProfileRegistry;
|
|
52
|
+
readonly sha256: string;
|
|
53
|
+
}
|
|
54
|
+
/** JSON canonicalization is shared with the registry generator and Rust decoder. */
|
|
55
|
+
export declare function canonicalRegistryJson(value: unknown): string;
|
|
56
|
+
export declare function validateTokenProfileRegistry(value: unknown, expectedDigest: string): TokenProfileRegistry;
|
|
57
|
+
/** Resolve a profile only after authenticating the complete registry manifest. */
|
|
58
|
+
export declare function resolveAuthenticatedTokenProfile(registry: AuthenticatedTokenProfileRegistry, profileId: string): TokenProfile;
|
|
59
|
+
export declare function authenticateTokenArtifact(profile: TokenProfile, raw: unknown): ReturnType<typeof normalizeSilverScriptArtifact>;
|
|
60
|
+
export declare function authenticateTokenWrapper(profile: TokenProfile, raw: unknown): ReturnType<typeof normalizeSilverScriptArtifact>;
|
|
61
|
+
export declare function requireTokenCapability(profile: TokenProfile, operation: TokenOperation): void;
|
|
62
|
+
/** Resolve the trading scale, enforcing profiles with a fixed precision. */
|
|
63
|
+
export declare function resolveTokenProfilePriceScale(profile: TokenProfile, requested: bigint | undefined, fallback: bigint): bigint;
|
|
64
|
+
/** Caller must authenticate the returned script against the source UTXO on chain. */
|
|
65
|
+
export declare function rebuildProfileToken(profile: TokenProfile, artifact: unknown, state: unknown): Uint8Array;
|
|
66
|
+
export interface TokenReadiness {
|
|
67
|
+
status: "needs_verification" | "blocked" | "queued" | "wrapper_indexing" | "imported";
|
|
68
|
+
reasonCode: string | null;
|
|
69
|
+
reason: string | null;
|
|
70
|
+
profileId: string | null;
|
|
71
|
+
standardRevision: string;
|
|
72
|
+
capabilities: Partial<Record<TokenOperation, boolean>>;
|
|
73
|
+
}
|
|
74
|
+
/** One evaluator for import, token pages and wrapper scheduling; never authorizes signing. */
|
|
75
|
+
export declare function evaluateTokenReadiness(input: {
|
|
76
|
+
profile?: TokenProfile | null;
|
|
77
|
+
authenticated: boolean;
|
|
78
|
+
tokenVerified: boolean;
|
|
79
|
+
decimals?: number | null;
|
|
80
|
+
singleHolderClass: boolean;
|
|
81
|
+
wrapper: "missing" | "indexing" | "ready" | "blocked";
|
|
82
|
+
}): TokenReadiness;
|
|
83
|
+
//# sourceMappingURL=token-profiles.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"token-profiles.d.ts","sourceRoot":"","sources":["../src/token-profiles.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { TokenProfileRegistry } from "./token-profiles.js";
|
|
2
|
+
export declare const BUNDLED_TOKEN_PROFILE_DIGEST = "dd4880c1b89564d250fefb09949c07235e23d7fcbca0ff3f061396b515455b01";
|
|
3
|
+
export declare const BUNDLED_TOKEN_PROFILES: TokenProfileRegistry;
|
|
4
|
+
//# sourceMappingURL=token-profiles.generated.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"token-profiles.generated.d.ts","sourceRoot":"","sources":["../src/token-profiles.generated.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAChE,eAAO,MAAM,4BAA4B,qEAAqE,CAAC;AAC/G,eAAO,MAAM,sBAAsB,EAAE,oBA4GpC,CAAC"}
|