@kaspacom/kcc20-tx-builder 0.5.0 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (119) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/README.md +2 -2
  3. package/RELEASING.md +19 -14
  4. package/artifacts/ArgentKCC20.reference.json +12428 -0
  5. package/artifacts/ArgentKCC20Wrapper.placeholder.json +12455 -0
  6. package/artifacts/KCC20.placeholder.json +1447 -1973
  7. package/artifacts/KCC20FeeTicket.placeholder.json +816 -1447
  8. package/artifacts/KCC20Orderbook.placeholder.json +1 -2
  9. package/artifacts/KCC20SnapshotBootstrap.placeholder.json +101 -100
  10. package/artifacts/KCC20SnapshotController.placeholder.json +101 -100
  11. package/artifacts/KCC20Vesting.placeholder.json +427 -429
  12. package/artifacts/KCC20Wrapper.placeholder.json +733 -734
  13. package/artifacts/kcc20-snapshot-bootstrap/KCC20SnapshotBootstrap.placeholder.json +101 -100
  14. package/artifacts/kcc20-snapshot-controller/KCC20SnapshotController.placeholder.json +101 -100
  15. package/artifacts/snapshot-standards.lock.json +6 -3
  16. package/artifacts/token-profiles.json +109 -0
  17. package/artifacts/token-profiles.sha256 +1 -0
  18. package/dist/action-source-resolver.d.ts.map +1 -1
  19. package/dist/action-source-resolver.js +11 -2
  20. package/dist/action-source-resolver.js.map +1 -1
  21. package/dist/artifacts.d.ts +10 -10
  22. package/dist/artifacts.d.ts.map +1 -1
  23. package/dist/artifacts.js +10 -10
  24. package/dist/artifacts.js.map +1 -1
  25. package/dist/cjs/action-source-resolver.js +11 -2
  26. package/dist/cjs/action-source-resolver.js.map +1 -1
  27. package/dist/cjs/artifacts.d.ts +10 -10
  28. package/dist/cjs/artifacts.js +10 -10
  29. package/dist/cjs/artifacts.js.map +1 -1
  30. package/dist/cjs/engine.d.ts +10 -0
  31. package/dist/cjs/engine.js +124 -77
  32. package/dist/cjs/engine.js.map +1 -1
  33. package/dist/cjs/index.d.ts +5 -0
  34. package/dist/cjs/index.js +5 -0
  35. package/dist/cjs/index.js.map +1 -1
  36. package/dist/cjs/profile-transfer.d.ts +60 -0
  37. package/dist/cjs/profile-transfer.js +248 -0
  38. package/dist/cjs/profile-transfer.js.map +1 -0
  39. package/dist/cjs/snapshot-signerless-transactions.js +2 -5
  40. package/dist/cjs/snapshot-signerless-transactions.js.map +1 -1
  41. package/dist/cjs/snapshot-signerless.js +5 -3
  42. package/dist/cjs/snapshot-signerless.js.map +1 -1
  43. package/dist/cjs/token-authorization.d.ts +42 -0
  44. package/dist/cjs/token-authorization.js +93 -0
  45. package/dist/cjs/token-authorization.js.map +1 -0
  46. package/dist/cjs/token-profiles.d.ts +82 -0
  47. package/dist/cjs/token-profiles.generated.d.ts +3 -0
  48. package/dist/cjs/token-profiles.generated.js +114 -0
  49. package/dist/cjs/token-profiles.generated.js.map +1 -0
  50. package/dist/cjs/token-profiles.js +257 -0
  51. package/dist/cjs/token-profiles.js.map +1 -0
  52. package/dist/cjs/transfer-payload.d.ts +9 -0
  53. package/dist/cjs/transfer-payload.js +37 -0
  54. package/dist/cjs/transfer-payload.js.map +1 -0
  55. package/dist/cjs/wrapper-operation.d.ts +1 -0
  56. package/dist/cjs/wrapper-operation.js +1 -0
  57. package/dist/cjs/wrapper-operation.js.map +1 -1
  58. package/dist/engine.d.ts +10 -0
  59. package/dist/engine.d.ts.map +1 -1
  60. package/dist/engine.js +125 -78
  61. package/dist/engine.js.map +1 -1
  62. package/dist/index.d.ts +5 -0
  63. package/dist/index.d.ts.map +1 -1
  64. package/dist/index.js +5 -0
  65. package/dist/index.js.map +1 -1
  66. package/dist/profile-transfer.d.ts +61 -0
  67. package/dist/profile-transfer.d.ts.map +1 -0
  68. package/dist/profile-transfer.js +245 -0
  69. package/dist/profile-transfer.js.map +1 -0
  70. package/dist/snapshot-signerless-transactions.d.ts.map +1 -1
  71. package/dist/snapshot-signerless-transactions.js +2 -5
  72. package/dist/snapshot-signerless-transactions.js.map +1 -1
  73. package/dist/snapshot-signerless.d.ts.map +1 -1
  74. package/dist/snapshot-signerless.js +5 -3
  75. package/dist/snapshot-signerless.js.map +1 -1
  76. package/dist/token-authorization.d.ts +43 -0
  77. package/dist/token-authorization.d.ts.map +1 -0
  78. package/dist/token-authorization.js +88 -0
  79. package/dist/token-authorization.js.map +1 -0
  80. package/dist/token-profiles.d.ts +83 -0
  81. package/dist/token-profiles.d.ts.map +1 -0
  82. package/dist/token-profiles.generated.d.ts +4 -0
  83. package/dist/token-profiles.generated.d.ts.map +1 -0
  84. package/dist/token-profiles.generated.js +111 -0
  85. package/dist/token-profiles.generated.js.map +1 -0
  86. package/dist/token-profiles.js +245 -0
  87. package/dist/token-profiles.js.map +1 -0
  88. package/dist/transfer-payload.d.ts +10 -0
  89. package/dist/transfer-payload.d.ts.map +1 -0
  90. package/dist/transfer-payload.js +34 -0
  91. package/dist/transfer-payload.js.map +1 -0
  92. package/dist/wrapper-operation.d.ts +1 -0
  93. package/dist/wrapper-operation.d.ts.map +1 -1
  94. package/dist/wrapper-operation.js +1 -0
  95. package/dist/wrapper-operation.js.map +1 -1
  96. package/docs/COMPATIBILITY.json +24 -33
  97. package/docs/LAST_CALL.md +50 -0
  98. package/examples/README.md +3 -0
  99. package/examples/backend/cli.ts +2 -1
  100. package/examples/frontend/main.ts +2 -1
  101. package/examples/shared/build.ts +3 -0
  102. package/examples/shared/offline-profile.ts +27 -0
  103. package/examples/shared/recipe-fixtures.ts +3 -2
  104. package/examples/test/browser.ts +2 -2
  105. package/examples/test/build.test.ts +21 -8
  106. package/examples/test/sources.test.ts +3 -2
  107. package/package.json +2 -2
  108. package/src/action-source-resolver.ts +22 -4
  109. package/src/artifacts.ts +12 -10
  110. package/src/engine.ts +208 -105
  111. package/src/index.ts +7 -0
  112. package/src/profile-transfer.ts +425 -0
  113. package/src/snapshot-signerless-transactions.ts +7 -16
  114. package/src/snapshot-signerless.ts +5 -3
  115. package/src/token-authorization.ts +135 -0
  116. package/src/token-profiles.generated.ts +112 -0
  117. package/src/token-profiles.ts +456 -0
  118. package/src/transfer-payload.ts +45 -0
  119. package/src/wrapper-operation.ts +2 -0
@@ -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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"}
@@ -0,0 +1,42 @@
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;
@@ -0,0 +1,93 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.tokenPublicKeyHash = tokenPublicKeyHash;
4
+ exports.planTokenOwnerWitness = planTokenOwnerWitness;
5
+ exports.buildTokenBorrowWitness = buildTokenBorrowWitness;
6
+ const blake3_1 = require("@noble/hashes/blake3");
7
+ const token_profiles_js_1 = require("./token-profiles.js");
8
+ const hex = (v) => Array.from(v, (b) => b.toString(16).padStart(2, "0")).join("");
9
+ const bytes = (v, size, label) => {
10
+ if (!new RegExp(`^[0-9a-f]{${size * 2}}$`, "i").test(v))
11
+ throw new Error(`invalid ${label}`);
12
+ return Uint8Array.from(v.match(/../g), (b) => parseInt(b, 16));
13
+ };
14
+ function tokenPublicKeyHash(publicKey) {
15
+ if (![32, 33].includes(publicKey.length))
16
+ throw new Error("invalid token public key length");
17
+ return (0, blake3_1.blake3)(publicKey);
18
+ }
19
+ /** Authority inputs must come from the authenticated transaction UTXOs, never an uploaded artifact. */
20
+ function planTokenOwnerWitness(input) {
21
+ const { profile, ownerScheme } = input;
22
+ (0, token_profiles_js_1.requireTokenCapability)(profile, "transfer");
23
+ bytes(input.owner, 32, "token owner");
24
+ if (!profile.ownerSchemes.includes(ownerScheme))
25
+ throw new Error("token profile does not support this owner scheme");
26
+ const prefix = input.role === "leader" ? "00" : "";
27
+ if (ownerScheme <= 2) {
28
+ const algorithm = ownerScheme === 2 ? "ecdsa" : "schnorr";
29
+ if (!input.capabilities[algorithm])
30
+ throw new Error(`wallet does not support ${algorithm} token signatures`);
31
+ const key = bytes(input.publicKey ?? "", ownerScheme === 2 ? 33 : 32, "wallet public key");
32
+ if (ownerScheme === 2 && key[0] !== 2 && key[0] !== 3)
33
+ throw new Error("ECDSA key must be compressed");
34
+ const expected = ownerScheme === 0 ? hex(key) : hex(tokenPublicKeyHash(key));
35
+ if (expected !== input.owner.toLowerCase())
36
+ throw new Error("wallet public key does not own the token output");
37
+ return {
38
+ argument: {
39
+ type: "signature",
40
+ prefixHex: prefix + (ownerScheme === 0 ? "" : hex(key)),
41
+ },
42
+ signatureAlgorithm: algorithm,
43
+ };
44
+ }
45
+ const index = input.authorityInputIndex;
46
+ if (!Number.isSafeInteger(index) || index < 0 || index > 255)
47
+ throw new Error("explicit authority input index is required");
48
+ const matches = (input.authorityInputs ?? []).filter((a) => a.index === index);
49
+ if (matches.length !== 1)
50
+ throw new Error("authority input is missing or ambiguous");
51
+ const authority = matches[0];
52
+ if (ownerScheme === 3 &&
53
+ authority.scriptPublicKeyHex.toLowerCase() !==
54
+ `aa20${input.owner.toLowerCase()}87`)
55
+ throw new Error("authority input does not match token P2SH owner");
56
+ if (ownerScheme === 4 &&
57
+ authority.covenantId?.toLowerCase() !== input.owner.toLowerCase())
58
+ throw new Error("authority input does not match token covenant owner");
59
+ return {
60
+ argument: {
61
+ type: "data",
62
+ hex: prefix +
63
+ (ownerScheme === 3 ? index.toString(16).padStart(2, "0") : ""),
64
+ },
65
+ authorityInputIndex: index,
66
+ };
67
+ }
68
+ /** Borrowing is an explicit mode. This function never converts an ordinary send into a borrow. */
69
+ function buildTokenBorrowWitness(input) {
70
+ (0, token_profiles_js_1.requireTokenCapability)(input.profile, "borrow");
71
+ const current = bytes(input.currentGuard, 32, "borrow guard");
72
+ if (input.borrowScheme === 1) {
73
+ if (input.signature !== undefined ||
74
+ input.nextGuard !== undefined ||
75
+ input.oneTimePublicKey !== undefined)
76
+ throw new Error("threshold borrowing requires an empty authorization");
77
+ return Uint8Array.of(1);
78
+ }
79
+ const sig = bytes(input.signature ?? "", 65, "borrow signature");
80
+ if (input.borrowScheme === 2) {
81
+ if (input.nextGuard !== undefined || input.oneTimePublicKey !== undefined)
82
+ throw new Error("Schnorr borrowing does not rotate its guard");
83
+ return Uint8Array.from([1, ...sig]);
84
+ }
85
+ if (input.borrowScheme !== 3)
86
+ throw new Error("unsupported or disabled borrow scheme");
87
+ const guard = bytes(input.nextGuard ?? "", 32, "next borrow guard");
88
+ const key = bytes(input.oneTimePublicKey ?? "", 32, "one-time public key");
89
+ if (hex((0, blake3_1.blake3)(Uint8Array.from([...guard, ...key]))) !== hex(current))
90
+ throw new Error("hash-chain link does not match current guard");
91
+ return Uint8Array.from([1, ...guard, ...key, ...sig]);
92
+ }
93
+ //# 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,82 @@
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;
@@ -0,0 +1,3 @@
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;
@@ -0,0 +1,114 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BUNDLED_TOKEN_PROFILES = exports.BUNDLED_TOKEN_PROFILE_DIGEST = void 0;
4
+ exports.BUNDLED_TOKEN_PROFILE_DIGEST = "dd4880c1b89564d250fefb09949c07235e23d7fcbca0ff3f061396b515455b01";
5
+ exports.BUNDLED_TOKEN_PROFILES = {
6
+ "schema": "kcc20-token-profiles/v2",
7
+ "standardRevision": "3fbec524abfbc20e87652eb938db218f8c17db17",
8
+ "profiles": [
9
+ {
10
+ "id": "kaspacom-kcc20-last-call-v1",
11
+ "artifactKey": "KCC20.placeholder.json",
12
+ "artifactSha256": "a45d06e8351421dac1ef73f3595c6f34068e4fa1e13d3f8fa1c88be518c6e56f",
13
+ "artifactCanonicalSha256": "2c299e2d354fd3d0e61b0987778d18bd0e5f17ccfdee614eb98a48fcf5779a8b",
14
+ "scriptSha256": "dd9cb334cd9e9220b15644782f271ef3ecdba34fd0762010e3d6bc18176837ae",
15
+ "scriptLength": 25377,
16
+ "templateHash": "5d6cacdf57c734536fcb8a9c833f0318671226727ec77c503a98fc5be59f9e29",
17
+ "stateLayout": {
18
+ "start": 1,
19
+ "len": 112
20
+ },
21
+ "standardRevision": "3fbec524abfbc20e87652eb938db218f8c17db17",
22
+ "transferEntrypoint": "transfer",
23
+ "delegatorEntrypoint": "transfer_delegator",
24
+ "transferTag": "79c71c23",
25
+ "delegatorTag": "fd3ef14a",
26
+ "ownerSchemes": [
27
+ 0,
28
+ 1,
29
+ 2,
30
+ 3,
31
+ 4
32
+ ],
33
+ "maxTokenInputs": 8,
34
+ "maxTokenOutputs": 8,
35
+ "operations": [
36
+ "transfer",
37
+ "borrow",
38
+ "mint",
39
+ "burn",
40
+ "wrap",
41
+ "unwrap",
42
+ "trade"
43
+ ],
44
+ "fungibility": "single-holder-class",
45
+ "nativeExtensions": true,
46
+ "wrapper": {
47
+ "fingerprint": "0634803d0cb750fb555f5eccbd57d18d9638736b675caab290e46a8acdbb25dd",
48
+ "artifactKey": "KCC20Wrapper.placeholder.json",
49
+ "artifactSha256": "2461e39a285d1f135f4891659cb78b3b6e5d2b28b32e153b61e2e336eab02115",
50
+ "artifactCanonicalSha256": "0eba9f91c89c180f3683e61e11bae9ab9b8cfe8674e98e58e9f2b2b1e920be83",
51
+ "scriptSha256": "23cbd5473860cab4e63890d24ae1bd6732fce5beaa34f594dad01e845e3e9b9f",
52
+ "scriptLength": 3895,
53
+ "stateLayout": {
54
+ "start": 1,
55
+ "len": 44
56
+ },
57
+ "templateHash": "c4e08636c63cbd33e3a0703167a480cc4af3a42444f24c4d526df84104280515",
58
+ "tokenTemplateHash": "5d6cacdf57c734536fcb8a9c833f0318671226727ec77c503a98fc5be59f9e29"
59
+ }
60
+ },
61
+ {
62
+ "id": "argent-reference-kcc20-v1",
63
+ "artifactKey": "ArgentKCC20.reference.json",
64
+ "transferEntrypoint": "transfer",
65
+ "delegatorEntrypoint": "transfer_delegator",
66
+ "transferTag": "79c71c23",
67
+ "delegatorTag": "fd3ef14a",
68
+ "ownerSchemes": [
69
+ 0,
70
+ 1,
71
+ 2,
72
+ 3,
73
+ 4
74
+ ],
75
+ "maxTokenInputs": 3,
76
+ "maxTokenOutputs": 3,
77
+ "operations": [
78
+ "transfer",
79
+ "borrow",
80
+ "wrap",
81
+ "unwrap",
82
+ "trade"
83
+ ],
84
+ "fungibility": "single-holder-class",
85
+ "displayDecimals": 0,
86
+ "artifactSha256": "eb95459fdcfd63c3736be623984f49529899fb03288f1363e340eb3acf74e513",
87
+ "artifactCanonicalSha256": "dab8e196dc29fccc10b51a50a48cf45d9253de63822c7fcd703702cc70673ab9",
88
+ "scriptSha256": "f3d52b46bc8994a0b564557ea474cd4f79d2c054dcddbc2b017aaad3b306b1e8",
89
+ "scriptLength": 4031,
90
+ "templateHash": "734850b0af0aeef49f009167bf9ddd238fd8c5cdbe214234f97181ac6f5cc498",
91
+ "stateLayout": {
92
+ "start": 34,
93
+ "len": 112
94
+ },
95
+ "standardRevision": "3fbec524abfbc20e87652eb938db218f8c17db17",
96
+ "nativeExtensions": false,
97
+ "wrapper": {
98
+ "fingerprint": "455772a93ec788b755a832655eee96d14050c3dfb2263a4fd8d7dd19705632d4",
99
+ "artifactKey": "ArgentKCC20Wrapper.placeholder.json",
100
+ "artifactSha256": "fc3b21bdd90cef56d18f4eb2e05b2b0938cb631cfda2a247c99caeec4e505235",
101
+ "artifactCanonicalSha256": "0e1c99e12b53299305317ac663d69e7190e38a8fd33b53355fff86f847c74480",
102
+ "scriptSha256": "4ae0e302539180a2586b22dfe2aeb579bd867e680d3fddf712b724b7d3d41fa8",
103
+ "scriptLength": 3965,
104
+ "stateLayout": {
105
+ "start": 1,
106
+ "len": 44
107
+ },
108
+ "templateHash": "1fbe92003266693d2a527d1fc8a4cb1397773f2922702b921aec723a541a6420",
109
+ "tokenTemplateHash": "734850b0af0aeef49f009167bf9ddd238fd8c5cdbe214234f97181ac6f5cc498"
110
+ }
111
+ }
112
+ ]
113
+ };
114
+ //# sourceMappingURL=token-profiles.generated.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"token-profiles.generated.js","sourceRoot":"","sources":["../../src/token-profiles.generated.ts"],"names":[],"mappings":";;;AAEa,QAAA,4BAA4B,GAAG,kEAAkE,CAAC;AAClG,QAAA,sBAAsB,GAAyB;IAC1D,QAAQ,EAAE,yBAAyB;IACnC,kBAAkB,EAAE,0CAA0C;IAC9D,UAAU,EAAE;QACV;YACE,IAAI,EAAE,6BAA6B;YACnC,aAAa,EAAE,wBAAwB;YACvC,gBAAgB,EAAE,kEAAkE;YACpF,yBAAyB,EAAE,kEAAkE;YAC7F,cAAc,EAAE,kEAAkE;YAClF,cAAc,EAAE,KAAK;YACrB,cAAc,EAAE,kEAAkE;YAClF,aAAa,EAAE;gBACb,OAAO,EAAE,CAAC;gBACV,KAAK,EAAE,GAAG;aACX;YACD,kBAAkB,EAAE,0CAA0C;YAC9D,oBAAoB,EAAE,UAAU;YAChC,qBAAqB,EAAE,oBAAoB;YAC3C,aAAa,EAAE,UAAU;YACzB,cAAc,EAAE,UAAU;YAC1B,cAAc,EAAE;gBACd,CAAC;gBACD,CAAC;gBACD,CAAC;gBACD,CAAC;gBACD,CAAC;aACF;YACD,gBAAgB,EAAE,CAAC;YACnB,iBAAiB,EAAE,CAAC;YACpB,YAAY,EAAE;gBACZ,UAAU;gBACV,QAAQ;gBACR,MAAM;gBACN,MAAM;gBACN,MAAM;gBACN,QAAQ;gBACR,OAAO;aACR;YACD,aAAa,EAAE,qBAAqB;YACpC,kBAAkB,EAAE,IAAI;YACxB,SAAS,EAAE;gBACT,aAAa,EAAE,kEAAkE;gBACjF,aAAa,EAAE,+BAA+B;gBAC9C,gBAAgB,EAAE,kEAAkE;gBACpF,yBAAyB,EAAE,kEAAkE;gBAC7F,cAAc,EAAE,kEAAkE;gBAClF,cAAc,EAAE,IAAI;gBACpB,aAAa,EAAE;oBACb,OAAO,EAAE,CAAC;oBACV,KAAK,EAAE,EAAE;iBACV;gBACD,cAAc,EAAE,kEAAkE;gBAClF,mBAAmB,EAAE,kEAAkE;aACxF;SACF;QACD;YACE,IAAI,EAAE,2BAA2B;YACjC,aAAa,EAAE,4BAA4B;YAC3C,oBAAoB,EAAE,UAAU;YAChC,qBAAqB,EAAE,oBAAoB;YAC3C,aAAa,EAAE,UAAU;YACzB,cAAc,EAAE,UAAU;YAC1B,cAAc,EAAE;gBACd,CAAC;gBACD,CAAC;gBACD,CAAC;gBACD,CAAC;gBACD,CAAC;aACF;YACD,gBAAgB,EAAE,CAAC;YACnB,iBAAiB,EAAE,CAAC;YACpB,YAAY,EAAE;gBACZ,UAAU;gBACV,QAAQ;gBACR,MAAM;gBACN,QAAQ;gBACR,OAAO;aACR;YACD,aAAa,EAAE,qBAAqB;YACpC,iBAAiB,EAAE,CAAC;YACpB,gBAAgB,EAAE,kEAAkE;YACpF,yBAAyB,EAAE,kEAAkE;YAC7F,cAAc,EAAE,kEAAkE;YAClF,cAAc,EAAE,IAAI;YACpB,cAAc,EAAE,kEAAkE;YAClF,aAAa,EAAE;gBACb,OAAO,EAAE,EAAE;gBACX,KAAK,EAAE,GAAG;aACX;YACD,kBAAkB,EAAE,0CAA0C;YAC9D,kBAAkB,EAAE,KAAK;YACzB,SAAS,EAAE;gBACT,aAAa,EAAE,kEAAkE;gBACjF,aAAa,EAAE,qCAAqC;gBACpD,gBAAgB,EAAE,kEAAkE;gBACpF,yBAAyB,EAAE,kEAAkE;gBAC7F,cAAc,EAAE,kEAAkE;gBAClF,cAAc,EAAE,IAAI;gBACpB,aAAa,EAAE;oBACb,OAAO,EAAE,CAAC;oBACV,KAAK,EAAE,EAAE;iBACV;gBACD,cAAc,EAAE,kEAAkE;gBAClF,mBAAmB,EAAE,kEAAkE;aACxF;SACF;KACF;CACF,CAAC"}