@amadeus-protocol/sdk 1.0.5 → 1.0.7

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 (108) hide show
  1. package/README.md +2 -2
  2. package/dist/client.js +1 -1
  3. package/dist/client.js.map +1 -1
  4. package/dist/contract-state.d.ts +59 -0
  5. package/dist/contract-state.d.ts.map +1 -0
  6. package/dist/contract-state.js +117 -0
  7. package/dist/contract-state.js.map +1 -0
  8. package/dist/contracts/abi-types.d.ts +87 -0
  9. package/dist/contracts/abi-types.d.ts.map +1 -0
  10. package/dist/contracts/abi-types.js +8 -0
  11. package/dist/contracts/abi-types.js.map +1 -0
  12. package/dist/contracts/coin.d.ts +42 -0
  13. package/dist/contracts/coin.d.ts.map +1 -0
  14. package/dist/contracts/coin.js +42 -0
  15. package/dist/contracts/coin.js.map +1 -0
  16. package/dist/contracts/contract-call.d.ts +49 -0
  17. package/dist/contracts/contract-call.d.ts.map +1 -0
  18. package/dist/contracts/contract-call.js +57 -0
  19. package/dist/contracts/contract-call.js.map +1 -0
  20. package/dist/contracts/contract.d.ts +113 -0
  21. package/dist/contracts/contract.d.ts.map +1 -0
  22. package/dist/contracts/contract.js +107 -0
  23. package/dist/contracts/contract.js.map +1 -0
  24. package/dist/contracts/index.d.ts +7 -0
  25. package/dist/contracts/index.d.ts.map +1 -0
  26. package/dist/contracts/index.js +7 -0
  27. package/dist/contracts/index.js.map +1 -0
  28. package/dist/contracts/lockup/abi.d.ts +62 -0
  29. package/dist/contracts/lockup/abi.d.ts.map +1 -0
  30. package/dist/contracts/lockup/abi.js +77 -0
  31. package/dist/contracts/lockup/abi.js.map +1 -0
  32. package/dist/contracts/lockup/calls.d.ts +23 -0
  33. package/dist/contracts/lockup/calls.d.ts.map +1 -0
  34. package/dist/contracts/lockup/calls.js +25 -0
  35. package/dist/contracts/lockup/calls.js.map +1 -0
  36. package/dist/contracts/lockup/helpers.d.ts +24 -0
  37. package/dist/contracts/lockup/helpers.d.ts.map +1 -0
  38. package/dist/contracts/lockup/helpers.js +49 -0
  39. package/dist/contracts/lockup/helpers.js.map +1 -0
  40. package/dist/contracts/lockup/index.d.ts +6 -0
  41. package/dist/contracts/lockup/index.d.ts.map +1 -0
  42. package/dist/contracts/lockup/index.js +6 -0
  43. package/dist/contracts/lockup/index.js.map +1 -0
  44. package/dist/contracts/lockup/parsers.d.ts +20 -0
  45. package/dist/contracts/lockup/parsers.d.ts.map +1 -0
  46. package/dist/contracts/lockup/parsers.js +60 -0
  47. package/dist/contracts/lockup/parsers.js.map +1 -0
  48. package/dist/contracts/lockup/storage-keys.d.ts +15 -0
  49. package/dist/contracts/lockup/storage-keys.d.ts.map +1 -0
  50. package/dist/contracts/lockup/storage-keys.js +78 -0
  51. package/dist/contracts/lockup/storage-keys.js.map +1 -0
  52. package/dist/contracts/lockup/types.d.ts +90 -0
  53. package/dist/contracts/lockup/types.d.ts.map +1 -0
  54. package/dist/contracts/lockup/types.js +7 -0
  55. package/dist/contracts/lockup/types.js.map +1 -0
  56. package/dist/contracts/lockup-prime/abi.d.ts +348 -0
  57. package/dist/contracts/lockup-prime/abi.d.ts.map +1 -0
  58. package/dist/contracts/lockup-prime/abi.js +420 -0
  59. package/dist/contracts/lockup-prime/abi.js.map +1 -0
  60. package/dist/contracts/lockup-prime/calls.d.ts +53 -0
  61. package/dist/contracts/lockup-prime/calls.d.ts.map +1 -0
  62. package/dist/contracts/lockup-prime/calls.js +60 -0
  63. package/dist/contracts/lockup-prime/calls.js.map +1 -0
  64. package/dist/contracts/lockup-prime/helpers.d.ts +38 -0
  65. package/dist/contracts/lockup-prime/helpers.d.ts.map +1 -0
  66. package/dist/contracts/lockup-prime/helpers.js +147 -0
  67. package/dist/contracts/lockup-prime/helpers.js.map +1 -0
  68. package/dist/contracts/lockup-prime/index.d.ts +6 -0
  69. package/dist/contracts/lockup-prime/index.d.ts.map +1 -0
  70. package/dist/contracts/lockup-prime/index.js +6 -0
  71. package/dist/contracts/lockup-prime/index.js.map +1 -0
  72. package/dist/contracts/lockup-prime/parsers.d.ts +25 -0
  73. package/dist/contracts/lockup-prime/parsers.d.ts.map +1 -0
  74. package/dist/contracts/lockup-prime/parsers.js +68 -0
  75. package/dist/contracts/lockup-prime/parsers.js.map +1 -0
  76. package/dist/contracts/lockup-prime/storage-keys.d.ts +25 -0
  77. package/dist/contracts/lockup-prime/storage-keys.d.ts.map +1 -0
  78. package/dist/contracts/lockup-prime/storage-keys.js +92 -0
  79. package/dist/contracts/lockup-prime/storage-keys.js.map +1 -0
  80. package/dist/contracts/lockup-prime/types.d.ts +116 -0
  81. package/dist/contracts/lockup-prime/types.d.ts.map +1 -0
  82. package/dist/contracts/lockup-prime/types.js +18 -0
  83. package/dist/contracts/lockup-prime/types.js.map +1 -0
  84. package/dist/crypto.js +1 -1
  85. package/dist/crypto.js.map +1 -1
  86. package/dist/formatters.d.ts +1 -1
  87. package/dist/formatters.d.ts.map +1 -1
  88. package/dist/formatters.js +2 -2
  89. package/dist/formatters.js.map +1 -1
  90. package/dist/index.d.ts +2 -0
  91. package/dist/index.d.ts.map +1 -1
  92. package/dist/index.js +2 -0
  93. package/dist/index.js.map +1 -1
  94. package/dist/serialization.d.ts +22 -0
  95. package/dist/serialization.d.ts.map +1 -1
  96. package/dist/serialization.js +39 -2
  97. package/dist/serialization.js.map +1 -1
  98. package/dist/signing.d.ts +39 -0
  99. package/dist/signing.d.ts.map +1 -0
  100. package/dist/signing.js +84 -0
  101. package/dist/signing.js.map +1 -0
  102. package/dist/transaction-builder.d.ts +135 -194
  103. package/dist/transaction-builder.d.ts.map +1 -1
  104. package/dist/transaction-builder.js +237 -288
  105. package/dist/transaction-builder.js.map +1 -1
  106. package/dist/types.d.ts +17 -0
  107. package/dist/types.d.ts.map +1 -1
  108. package/package.json +1 -1
@@ -0,0 +1,147 @@
1
+ import { NetworkType } from '../../networks';
2
+ import { LOCKUP_PRIME_ABI } from './abi';
3
+ /**
4
+ * Network-specific tier configurations
5
+ * Testnet uses shorter durations for testing unlock functionality
6
+ */
7
+ const TIER_CONFIG = {
8
+ [NetworkType.MAINNET]: {
9
+ epochs: {
10
+ '7d': 10,
11
+ '30d': 45,
12
+ '90d': 135,
13
+ '180d': 270,
14
+ '365d': 547
15
+ },
16
+ durationDays: {
17
+ '7d': 7,
18
+ '30d': 30,
19
+ '90d': 90,
20
+ '180d': 180,
21
+ '365d': 365
22
+ },
23
+ labels: {
24
+ '7d': '7 Days',
25
+ '30d': '30 Days',
26
+ '90d': '90 Days',
27
+ '180d': '180 Days',
28
+ '365d': '365 Days'
29
+ }
30
+ },
31
+ [NetworkType.TESTNET]: {
32
+ epochs: {
33
+ '7d': 1,
34
+ '30d': 3,
35
+ '90d': 9,
36
+ '180d': 18,
37
+ '365d': 36
38
+ },
39
+ durationDays: {
40
+ '7d': 1,
41
+ '30d': 3,
42
+ '90d': 9,
43
+ '180d': 18,
44
+ '365d': 36
45
+ },
46
+ labels: {
47
+ '7d': '1 Day',
48
+ '30d': '3 Days',
49
+ '90d': '9 Days',
50
+ '180d': '18 Days',
51
+ '365d': '36 Days'
52
+ }
53
+ }
54
+ };
55
+ /** PP rate per day per 1K AMA (same for both networks) */
56
+ export const RATE_MAP = {
57
+ '7d': 18.6,
58
+ '30d': 21.1,
59
+ '90d': 33.3,
60
+ '180d': 43.2,
61
+ '365d': 66.7
62
+ };
63
+ /**
64
+ * Get tier config for the specified network (defaults to mainnet)
65
+ */
66
+ function getTierConfig(network) {
67
+ if (network === NetworkType.TESTNET) {
68
+ return TIER_CONFIG[NetworkType.TESTNET];
69
+ }
70
+ return TIER_CONFIG[NetworkType.MAINNET];
71
+ }
72
+ /**
73
+ * LockupPrime Contract Interface
74
+ * Provides access to contract ABI, tier configurations, and transaction building utilities
75
+ */
76
+ export class LockupPrime {
77
+ /** Get function ABI by name */
78
+ static getFunction(name) {
79
+ return LOCKUP_PRIME_ABI.abi.find((f) => f.name === name);
80
+ }
81
+ /** Get error by code */
82
+ static getError(code) {
83
+ return LOCKUP_PRIME_ABI.errors.find((e) => e.code === code);
84
+ }
85
+ /** Get storage key by name */
86
+ static getStorageKey(name) {
87
+ return LOCKUP_PRIME_ABI.storage.keys.find((k) => k.name === name);
88
+ }
89
+ /**
90
+ * Get tier configuration from ABI constants
91
+ * @param tierKey - The tier identifier (e.g., '7d', '30d')
92
+ * @param network - Optional network type (defaults to mainnet)
93
+ */
94
+ static getTier(tierKey, network) {
95
+ const tier = LOCKUP_PRIME_ABI.constants.tiers[tierKey];
96
+ if (!tier)
97
+ return undefined;
98
+ const config = getTierConfig(network);
99
+ return {
100
+ tier: tierKey,
101
+ epochs: config.epochs[tierKey] ?? 0,
102
+ multiplier: tier.multiplier,
103
+ label: config.labels[tierKey] ?? tier.label,
104
+ durationDays: config.durationDays[tierKey] ?? 0,
105
+ rate: RATE_MAP[tierKey]
106
+ };
107
+ }
108
+ /**
109
+ * Get all available tiers
110
+ * @param network - Optional network type (defaults to mainnet)
111
+ */
112
+ static getAvailableTiers(network) {
113
+ return Object.entries(LOCKUP_PRIME_ABI.constants.tiers)
114
+ .map(([key]) => this.getTier(key, network))
115
+ .filter((tier) => tier !== undefined);
116
+ }
117
+ /**
118
+ * Build transaction arguments for a function
119
+ * @deprecated Use `buildContractCall(LOCKUP_PRIME_ABI, functionName, params)` or the typed builders
120
+ * (`buildLockupPrimeLock`, `buildLockupPrimeUnlock`, `buildLockupPrimeDailyCheckin`) instead.
121
+ */
122
+ static buildArgs(functionName, params) {
123
+ const func = this.getFunction(functionName);
124
+ if (!func) {
125
+ throw new Error(`Function ${functionName} not found`);
126
+ }
127
+ const args = [];
128
+ for (const input of func.inputs) {
129
+ const value = params[input.name];
130
+ if (value === undefined) {
131
+ throw new Error(`Missing parameter: ${input.name}`);
132
+ }
133
+ args.push(new TextEncoder().encode(String(value)));
134
+ }
135
+ return args;
136
+ }
137
+ /** Get contract name */
138
+ static getContractName() {
139
+ return LOCKUP_PRIME_ABI.contractName;
140
+ }
141
+ /** Get key prefix for a storage key name */
142
+ static getKeyPrefix(keyName) {
143
+ const storageKey = this.getStorageKey(keyName);
144
+ return storageKey?.pattern.split('{')[0];
145
+ }
146
+ }
147
+ //# sourceMappingURL=helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/contracts/lockup-prime/helpers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ export * from './abi';
2
+ export * from './types';
3
+ export * from './helpers';
4
+ export * from './parsers';
5
+ export * from './storage-keys';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/contracts/lockup-prime/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAA;AACrB,cAAc,SAAS,CAAA;AACvB,cAAc,WAAW,CAAA;AACzB,cAAc,WAAW,CAAA;AACzB,cAAc,gBAAgB,CAAA"}
@@ -0,0 +1,6 @@
1
+ export * from './abi';
2
+ export * from './types';
3
+ export * from './helpers';
4
+ export * from './parsers';
5
+ export * from './storage-keys';
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/contracts/lockup-prime/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAA;AACrB,cAAc,SAAS,CAAA;AACvB,cAAc,WAAW,CAAA;AACzB,cAAc,WAAW,CAAA;AACzB,cAAc,gBAAgB,CAAA"}
@@ -0,0 +1,25 @@
1
+ import type { NetworkType } from '../../networks';
2
+ import type { LockupPrimeVault, RawLockupPrimeVaultData } from './types';
3
+ /**
4
+ * Parse raw vault data string into intermediate format
5
+ * Format: {tier}-{multiplier}-{unlock_epoch}-{amount}
6
+ *
7
+ * @param dataStr - Raw vault data string from contract state
8
+ * @returns Parsed data or null if invalid
9
+ */
10
+ export declare function parseRawVaultData(dataStr: string): RawLockupPrimeVaultData | null;
11
+ /**
12
+ * Parse vault data from contract state into a fully resolved vault object
13
+ *
14
+ * @param vaultData - Raw vault data from contract state (string or Uint8Array)
15
+ * @param vaultIndex - The vault index
16
+ * @param network - Optional network type (defaults to mainnet)
17
+ * @returns Parsed vault or null if invalid
18
+ */
19
+ export declare function parseVaultData(vaultData: string | Uint8Array, vaultIndex: number, network?: NetworkType): LockupPrimeVault | null;
20
+ /**
21
+ * Parse contract state value to number
22
+ * Delegates to SDK's parseStateNumber for consistency
23
+ */
24
+ export declare function parseContractStateNumber(value: string | number | Uint8Array | null | undefined): number;
25
+ //# sourceMappingURL=parsers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parsers.d.ts","sourceRoot":"","sources":["../../../src/contracts/lockup-prime/parsers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAKjD,OAAO,KAAK,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAA;AAGxE;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,uBAAuB,GAAG,IAAI,CAejF;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAC7B,SAAS,EAAE,MAAM,GAAG,UAAU,EAC9B,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE,WAAW,GACnB,gBAAgB,GAAG,IAAI,CA0BzB;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CACvC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,UAAU,GAAG,IAAI,GAAG,SAAS,GACpD,MAAM,CAER"}
@@ -0,0 +1,68 @@
1
+ import { parseStateNumber } from '../../contract-state';
2
+ import { fromAtomicAma } from '../../conversion';
3
+ import { LockupPrime } from './helpers';
4
+ import { isValidLockupPrimeTierKey } from './types';
5
+ /**
6
+ * Parse raw vault data string into intermediate format
7
+ * Format: {tier}-{multiplier}-{unlock_epoch}-{amount}
8
+ *
9
+ * @param dataStr - Raw vault data string from contract state
10
+ * @returns Parsed data or null if invalid
11
+ */
12
+ export function parseRawVaultData(dataStr) {
13
+ const match = dataStr.match(/^([^-]+)-(\d+)-(\d+)-(\d+)$/);
14
+ if (!match)
15
+ return null;
16
+ const tier = match[1];
17
+ const multiplier = Number.parseInt(match[2], 10);
18
+ const unlockEpoch = Number.parseInt(match[3], 10);
19
+ const amountFlat = Number.parseInt(match[4], 10);
20
+ if (!isValidLockupPrimeTierKey(tier))
21
+ return null;
22
+ if (Number.isNaN(multiplier) || multiplier <= 0)
23
+ return null;
24
+ if (Number.isNaN(unlockEpoch) || unlockEpoch < 0)
25
+ return null;
26
+ if (Number.isNaN(amountFlat) || amountFlat < 0)
27
+ return null;
28
+ return { tier, multiplier, unlockEpoch, amountFlat };
29
+ }
30
+ /**
31
+ * Parse vault data from contract state into a fully resolved vault object
32
+ *
33
+ * @param vaultData - Raw vault data from contract state (string or Uint8Array)
34
+ * @param vaultIndex - The vault index
35
+ * @param network - Optional network type (defaults to mainnet)
36
+ * @returns Parsed vault or null if invalid
37
+ */
38
+ export function parseVaultData(vaultData, vaultIndex, network) {
39
+ try {
40
+ const dataStr = typeof vaultData === 'string' ? vaultData : new TextDecoder().decode(vaultData);
41
+ const rawData = parseRawVaultData(dataStr);
42
+ if (!rawData)
43
+ return null;
44
+ const { tier, multiplier, unlockEpoch, amountFlat } = rawData;
45
+ const amount = fromAtomicAma(amountFlat);
46
+ const tierDef = LockupPrime.getTier(tier, network);
47
+ const lockEpoch = tierDef ? unlockEpoch - tierDef.epochs : unlockEpoch;
48
+ return {
49
+ tier: tier,
50
+ multiplier,
51
+ unlockEpoch,
52
+ lockEpoch,
53
+ amount,
54
+ vaultIndex
55
+ };
56
+ }
57
+ catch {
58
+ return null;
59
+ }
60
+ }
61
+ /**
62
+ * Parse contract state value to number
63
+ * Delegates to SDK's parseStateNumber for consistency
64
+ */
65
+ export function parseContractStateNumber(value) {
66
+ return parseStateNumber(value);
67
+ }
68
+ //# sourceMappingURL=parsers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parsers.js","sourceRoot":"","sources":["../../../src/contracts/lockup-prime/parsers.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAEhD,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAEvC,OAAO,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAEnD;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAAe;IAChD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAA;IAC1D,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAA;IAEvB,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAE,CAAA;IACtB,MAAM,UAAU,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAE,EAAE,EAAE,CAAC,CAAA;IACjD,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAE,EAAE,EAAE,CAAC,CAAA;IAClD,MAAM,UAAU,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAE,EAAE,EAAE,CAAC,CAAA;IAEjD,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAA;IACjD,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,UAAU,IAAI,CAAC;QAAE,OAAO,IAAI,CAAA;IAC5D,IAAI,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,WAAW,GAAG,CAAC;QAAE,OAAO,IAAI,CAAA;IAC7D,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,UAAU,GAAG,CAAC;QAAE,OAAO,IAAI,CAAA;IAE3D,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,CAAA;AACrD,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,cAAc,CAC7B,SAA8B,EAC9B,UAAkB,EAClB,OAAqB;IAErB,IAAI,CAAC;QACJ,MAAM,OAAO,GACZ,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;QAEhF,MAAM,OAAO,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAA;QAC1C,IAAI,CAAC,OAAO;YAAE,OAAO,IAAI,CAAA;QAEzB,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,OAAO,CAAA;QAE7D,MAAM,MAAM,GAAG,aAAa,CAAC,UAAU,CAAC,CAAA;QAExC,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QAClD,MAAM,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAA;QAEtE,OAAO;YACN,IAAI,EAAE,IAAgC;YACtC,UAAU;YACV,WAAW;YACX,SAAS;YACT,MAAM;YACN,UAAU;SACV,CAAA;IACF,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,IAAI,CAAA;IACZ,CAAC;AACF,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,wBAAwB,CACvC,KAAsD;IAEtD,OAAO,gBAAgB,CAAC,KAAK,CAAC,CAAA;AAC/B,CAAC"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Build vault key prefix for an account
3
+ * Format: bic:lockup_prime:vault:{account_48bytes}:
4
+ */
5
+ export declare function buildLockupPrimeVaultKeyPrefix(accountBinary: Uint8Array): Uint8Array;
6
+ /**
7
+ * Build daily streak key for an account
8
+ * Format: bic:lockup_prime:daily_streak:{account_48bytes}
9
+ */
10
+ export declare function buildDailyStreakKey(accountBinary: Uint8Array): Uint8Array;
11
+ /**
12
+ * Build next check-in epoch key for an account
13
+ * Format: bic:lockup_prime:next_checkin_epoch:{account_48bytes}
14
+ */
15
+ export declare function buildNextCheckinEpochKey(accountBinary: Uint8Array): Uint8Array;
16
+ /**
17
+ * Extract vault index from key
18
+ * Key format: bic:lockup_prime:vault:{account_48bytes}:{vault_index}
19
+ *
20
+ * Note: When using prefix queries, the key might be:
21
+ * - Full key: bic:lockup_prime:vault:{account_48bytes}:{vault_index}
22
+ * - Suffix only: {vault_index} (just the part after the prefix)
23
+ */
24
+ export declare function extractLockupPrimeVaultIndexFromKey(key: string | Uint8Array): number | null;
25
+ //# sourceMappingURL=storage-keys.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storage-keys.d.ts","sourceRoot":"","sources":["../../../src/contracts/lockup-prime/storage-keys.ts"],"names":[],"mappings":"AAkCA;;;GAGG;AACH,wBAAgB,8BAA8B,CAAC,aAAa,EAAE,UAAU,GAAG,UAAU,CAEpF;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,aAAa,EAAE,UAAU,GAAG,UAAU,CAEzE;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,aAAa,EAAE,UAAU,GAAG,UAAU,CAE9E;AAED;;;;;;;GAOG;AACH,wBAAgB,mCAAmC,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,GAAG,MAAM,GAAG,IAAI,CA2C3F"}
@@ -0,0 +1,92 @@
1
+ import { LockupPrime } from './helpers';
2
+ /**
3
+ * Generic function to build a storage key for an account
4
+ */
5
+ function buildStorageKey(keyName, accountBinary, appendColon = false) {
6
+ const storageKey = LockupPrime.getStorageKey(keyName);
7
+ if (!storageKey) {
8
+ throw new Error(`Storage key '${keyName}' not found in ABI`);
9
+ }
10
+ const prefix = LockupPrime.getKeyPrefix(keyName);
11
+ if (!prefix) {
12
+ throw new Error(`Could not extract prefix for storage key '${keyName}'`);
13
+ }
14
+ const prefixBytes = new TextEncoder().encode(prefix);
15
+ const resultLength = prefixBytes.length + accountBinary.length + (appendColon ? 1 : 0);
16
+ const result = new Uint8Array(resultLength);
17
+ result.set(prefixBytes, 0);
18
+ result.set(accountBinary, prefixBytes.length);
19
+ if (appendColon) {
20
+ result[result.length - 1] = 0x3a; // ':'
21
+ }
22
+ return result;
23
+ }
24
+ /**
25
+ * Build vault key prefix for an account
26
+ * Format: bic:lockup_prime:vault:{account_48bytes}:
27
+ */
28
+ export function buildLockupPrimeVaultKeyPrefix(accountBinary) {
29
+ return buildStorageKey('vault', accountBinary, true);
30
+ }
31
+ /**
32
+ * Build daily streak key for an account
33
+ * Format: bic:lockup_prime:daily_streak:{account_48bytes}
34
+ */
35
+ export function buildDailyStreakKey(accountBinary) {
36
+ return buildStorageKey('daily_streak', accountBinary, false);
37
+ }
38
+ /**
39
+ * Build next check-in epoch key for an account
40
+ * Format: bic:lockup_prime:next_checkin_epoch:{account_48bytes}
41
+ */
42
+ export function buildNextCheckinEpochKey(accountBinary) {
43
+ return buildStorageKey('next_checkin_epoch', accountBinary, false);
44
+ }
45
+ /**
46
+ * Extract vault index from key
47
+ * Key format: bic:lockup_prime:vault:{account_48bytes}:{vault_index}
48
+ *
49
+ * Note: When using prefix queries, the key might be:
50
+ * - Full key: bic:lockup_prime:vault:{account_48bytes}:{vault_index}
51
+ * - Suffix only: {vault_index} (just the part after the prefix)
52
+ */
53
+ export function extractLockupPrimeVaultIndexFromKey(key) {
54
+ try {
55
+ const keyBytes = typeof key === 'string' ? new TextEncoder().encode(key) : key;
56
+ const keyStr = typeof key === 'string' ? key : new TextDecoder().decode(key);
57
+ // Check if key is vault data format FIRST
58
+ // If key looks like vault data (e.g., '7d-13-10-100000000000'), don't try to extract index
59
+ const isVaultDataFormat = /^[^-]+-\d+-\d+-\d+$/.test(keyStr);
60
+ if (isVaultDataFormat) {
61
+ return null;
62
+ }
63
+ // If the key is very short (likely just the vault index suffix from prefix query)
64
+ if (keyBytes.length < 10) {
65
+ const directParse = parseInt(keyStr, 10);
66
+ if (!isNaN(directParse) && directParse >= 0) {
67
+ return directParse;
68
+ }
69
+ }
70
+ // Find the last colon (':') byte (0x3A)
71
+ let lastColonIndex = -1;
72
+ for (let i = keyBytes.length - 1; i >= 0; i--) {
73
+ if (keyBytes[i] === 0x3a) {
74
+ lastColonIndex = i;
75
+ break;
76
+ }
77
+ }
78
+ if (lastColonIndex === -1 || lastColonIndex === keyBytes.length - 1) {
79
+ const wholeKeyParse = parseInt(keyStr, 10);
80
+ return isNaN(wholeKeyParse) ? null : wholeKeyParse;
81
+ }
82
+ // Extract vault index from after the last colon
83
+ const indexBytes = keyBytes.slice(lastColonIndex + 1);
84
+ const indexStr = new TextDecoder().decode(indexBytes);
85
+ const vaultIndex = parseInt(indexStr, 10);
86
+ return isNaN(vaultIndex) ? null : vaultIndex;
87
+ }
88
+ catch {
89
+ return null;
90
+ }
91
+ }
92
+ //# sourceMappingURL=storage-keys.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storage-keys.js","sourceRoot":"","sources":["../../../src/contracts/lockup-prime/storage-keys.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,116 @@
1
+ /**
2
+ * Type Definitions for LockupPrime smart contract
3
+ *
4
+ * Replaces Zod schemas with plain TypeScript types and type guards.
5
+ */
6
+ /** Valid lockup prime tier keys */
7
+ export type LockupPrimeTierKey = '7d' | '30d' | '90d' | '180d' | '365d';
8
+ /** Runtime array of all valid tier keys (for validation) */
9
+ export declare const LOCKUP_PRIME_TIER_KEYS: readonly LockupPrimeTierKey[];
10
+ /** Type guard to check if a string is a valid tier key */
11
+ export declare function isValidLockupPrimeTierKey(value: string): value is LockupPrimeTierKey;
12
+ /** Parsed LockupPrime vault */
13
+ export interface LockupPrimeVault {
14
+ tier: LockupPrimeTierKey;
15
+ multiplier: number;
16
+ unlockEpoch: number;
17
+ lockEpoch: number;
18
+ amount: number;
19
+ vaultIndex: number;
20
+ }
21
+ /** Intermediate parse result from raw vault data string */
22
+ export interface RawLockupPrimeVaultData {
23
+ tier: string;
24
+ multiplier: number;
25
+ unlockEpoch: number;
26
+ amountFlat: number;
27
+ }
28
+ /** Extended tier information with UI-specific fields */
29
+ export interface LockupTier {
30
+ tier: string;
31
+ epochs: number;
32
+ multiplier: number;
33
+ label: string;
34
+ durationDays: number;
35
+ rate?: number;
36
+ }
37
+ export interface LockupPrimeAbiFunction {
38
+ type: 'function';
39
+ name: string;
40
+ inputs: LockupPrimeAbiInput[];
41
+ outputs: LockupPrimeAbiOutput[];
42
+ stateMutability: 'nonpayable' | 'payable' | 'view' | 'pure';
43
+ description?: string;
44
+ requirements?: string[];
45
+ storage?: {
46
+ reads?: LockupPrimeAbiStorageRead[];
47
+ writes?: LockupPrimeAbiStorageWrite[];
48
+ };
49
+ }
50
+ export interface LockupPrimeAbiInput {
51
+ name: string;
52
+ type: string;
53
+ description?: string;
54
+ validation?: {
55
+ min?: string;
56
+ max?: string;
57
+ type?: string;
58
+ };
59
+ enum?: string[];
60
+ }
61
+ export interface LockupPrimeAbiOutput {
62
+ name: string;
63
+ type: string;
64
+ description?: string;
65
+ }
66
+ export interface LockupPrimeAbiError {
67
+ name: string;
68
+ code: string;
69
+ description: string;
70
+ }
71
+ export interface LockupPrimeAbiStorage {
72
+ keys: LockupPrimeAbiStorageKey[];
73
+ }
74
+ export interface LockupPrimeAbiStorageKey {
75
+ name: string;
76
+ pattern: string;
77
+ type: 'mapping' | 'value' | 'array';
78
+ description: string;
79
+ valueFormat?: string;
80
+ valueSchema?: Record<string, any>;
81
+ query?: {
82
+ method: string;
83
+ endpoint: string;
84
+ prefix?: string;
85
+ key?: string;
86
+ description: string;
87
+ };
88
+ }
89
+ export interface LockupPrimeAbiStorageRead {
90
+ key: string;
91
+ description?: string;
92
+ value?: string;
93
+ }
94
+ export interface LockupPrimeAbiStorageWrite {
95
+ key: string;
96
+ value?: string;
97
+ operation?: 'increment' | 'decrement' | 'create' | 'delete' | 'mint';
98
+ amount?: string;
99
+ duration?: string;
100
+ description?: string;
101
+ condition?: string;
102
+ writes?: LockupPrimeAbiStorageWrite[];
103
+ }
104
+ export interface LockupPrimeAbiConstant {
105
+ tiers: Record<LockupPrimeTierKey, {
106
+ epochs: number;
107
+ multiplier: number;
108
+ label: string;
109
+ }>;
110
+ values: Record<string, string>;
111
+ }
112
+ /** @deprecated Use `LockupPrimeVault` instead */
113
+ export type LockupPrimeVaultSchema = LockupPrimeVault;
114
+ /** @deprecated Use `LockupPrimeTierKey` instead */
115
+ export type LockupTiersSchema = LockupPrimeTierKey;
116
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/contracts/lockup-prime/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Type Definitions for LockupPrime smart contract
3
+ *
4
+ * Replaces Zod schemas with plain TypeScript types and type guards.
5
+ */
6
+ /** Runtime array of all valid tier keys (for validation) */
7
+ export const LOCKUP_PRIME_TIER_KEYS = [
8
+ '7d',
9
+ '30d',
10
+ '90d',
11
+ '180d',
12
+ '365d'
13
+ ];
14
+ /** Type guard to check if a string is a valid tier key */
15
+ export function isValidLockupPrimeTierKey(value) {
16
+ return LOCKUP_PRIME_TIER_KEYS.includes(value);
17
+ }
18
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/contracts/lockup-prime/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAOH,4DAA4D;AAC5D,MAAM,CAAC,MAAM,sBAAsB,GAAkC;IACpE,IAAI;IACJ,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;CACG,CAAA;AAEV,0DAA0D;AAC1D,MAAM,UAAU,yBAAyB,CAAC,KAAa;IACtD,OAAQ,sBAA4C,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;AACrE,CAAC"}
package/dist/crypto.js CHANGED
@@ -51,7 +51,7 @@ export function reduce512To256LE(bytes64) {
51
51
  */
52
52
  export function seed64ToKeypair(seed64) {
53
53
  const sk = reduce512To256LE(seed64);
54
- const pk = bls.longSignatures.getPublicKey(sk).toBytes();
54
+ const pk = bls.getPublicKey(sk);
55
55
  return [pk, sk];
56
56
  }
57
57
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"crypto.js","sourceRoot":"","sources":["../src/crypto.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"crypto.js","sourceRoot":"","sources":["../src/crypto.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@
7
7
  * Format a number with locale-aware commas and specified decimal places
8
8
  *
9
9
  * @param num - The number to format
10
- * @param digits - Maximum fraction digits (default: 8)
10
+ * @param digits - Maximum fraction digits (default: AMA_TOKEN_DECIMALS)
11
11
  * @returns Formatted number string
12
12
  *
13
13
  * @example
@@ -1 +1 @@
1
- {"version":3,"file":"formatters.d.ts","sourceRoot":"","sources":["../src/formatters.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH;;;;;;;;;;;;GAYG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,SAAI,GAAG,MAAM,CAE5D;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,CAYzE;AAED;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CACvC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,EACnC,YAAY,EAAE,OAAO,GACnB,MAAM,CAGR;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,SAAI,GAAG,MAAM,CAGrE"}
1
+ {"version":3,"file":"formatters.d.ts","sourceRoot":"","sources":["../src/formatters.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH;;;;;;;;;;;;GAYG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,SAAqB,GAAG,MAAM,CAE7E;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,CAYzE;AAED;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CACvC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,EACnC,YAAY,EAAE,OAAO,GACnB,MAAM,CAGR;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,SAAI,GAAG,MAAM,CAGrE"}
@@ -8,7 +8,7 @@ import { AMA_TOKEN_DECIMALS } from './constants';
8
8
  * Format a number with locale-aware commas and specified decimal places
9
9
  *
10
10
  * @param num - The number to format
11
- * @param digits - Maximum fraction digits (default: 8)
11
+ * @param digits - Maximum fraction digits (default: AMA_TOKEN_DECIMALS)
12
12
  * @returns Formatted number string
13
13
  *
14
14
  * @example
@@ -17,7 +17,7 @@ import { AMA_TOKEN_DECIMALS } from './constants';
17
17
  * formatNumber(1.123456789, 4) // "1.1235"
18
18
  * ```
19
19
  */
20
- export function formatNumber(num, digits = 8) {
20
+ export function formatNumber(num, digits = AMA_TOKEN_DECIMALS) {
21
21
  return num.toLocaleString(undefined, { maximumFractionDigits: digits });
22
22
  }
23
23
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"formatters.js","sourceRoot":"","sources":["../src/formatters.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAEhD;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,YAAY,CAAC,GAAW,EAAE,MAAM,GAAG,CAAC;IACnD,OAAO,GAAG,CAAC,cAAc,CAAC,SAAS,EAAE,EAAE,qBAAqB,EAAE,MAAM,EAAE,CAAC,CAAA;AACxE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,MAAc;IAC7C,OAAO,GAAG,YAAY,CAAC,MAAM,CAAC,MAAM,CAAA;AACrC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAAC,MAAmC;IAChE,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,GAAG,CAAA;IAEpC,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,CAAA;IAC1B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QACxB,OAAO,GAAG,CAAC,cAAc,CAAC,SAAS,EAAE;YACpC,qBAAqB,EAAE,CAAC;YACxB,qBAAqB,EAAE,kBAAkB;SACzC,CAAC,CAAA;IACH,CAAC;IAED,OAAO,MAAM,CAAC,MAAM,CAAC,CAAA;AACtB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,wBAAwB,CACvC,MAAmC,EACnC,YAAqB;IAErB,IAAI,YAAY;QAAE,OAAO,QAAQ,CAAA;IACjC,OAAO,aAAa,CAAC,MAAM,CAAC,CAAA;AAC7B,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAAe,EAAE,KAAK,GAAG,CAAC;IAC5D,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,IAAI,KAAK,GAAG,CAAC;QAAE,OAAO,OAAO,IAAI,EAAE,CAAA;IACjE,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,GAAG,KAAK,CAAC,EAAE,CAAA;AACvF,CAAC"}
1
+ {"version":3,"file":"formatters.js","sourceRoot":"","sources":["../src/formatters.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAEhD;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,YAAY,CAAC,GAAW,EAAE,MAAM,GAAG,kBAAkB;IACpE,OAAO,GAAG,CAAC,cAAc,CAAC,SAAS,EAAE,EAAE,qBAAqB,EAAE,MAAM,EAAE,CAAC,CAAA;AACxE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,MAAc;IAC7C,OAAO,GAAG,YAAY,CAAC,MAAM,CAAC,MAAM,CAAA;AACrC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAAC,MAAmC;IAChE,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,GAAG,CAAA;IAEpC,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,CAAA;IAC1B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QACxB,OAAO,GAAG,CAAC,cAAc,CAAC,SAAS,EAAE;YACpC,qBAAqB,EAAE,CAAC;YACxB,qBAAqB,EAAE,kBAAkB;SACzC,CAAC,CAAA;IACH,CAAC;IAED,OAAO,MAAM,CAAC,MAAM,CAAC,CAAA;AACtB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,wBAAwB,CACvC,MAAmC,EACnC,YAAqB;IAErB,IAAI,YAAY;QAAE,OAAO,QAAQ,CAAA;IACjC,OAAO,aAAa,CAAC,MAAM,CAAC,CAAA;AAC7B,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAAe,EAAE,KAAK,GAAG,CAAC;IAC5D,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,IAAI,KAAK,GAAG,CAAC;QAAE,OAAO,OAAO,IAAI,EAAE,CAAA;IACjE,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,GAAG,KAAK,CAAC,EAAE,CAAA;AACvF,CAAC"}
package/dist/index.d.ts CHANGED
@@ -37,6 +37,7 @@ export * from './types';
37
37
  export * from './constants';
38
38
  export * from './networks';
39
39
  export * from './serialization';
40
+ export * from './contract-state';
40
41
  export * from './crypto';
41
42
  export * from './conversion';
42
43
  export * from './encoding';
@@ -49,4 +50,5 @@ export * from './transaction-builder';
49
50
  export * from './client';
50
51
  export * from './api';
51
52
  export * from './sdk';
53
+ export * from './contracts';
52
54
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAEH,cAAc,SAAS,CAAA;AACvB,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,UAAU,CAAA;AACxB,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA;AAC1B,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA;AAC1B,cAAc,sBAAsB,CAAA;AACpC,cAAc,uBAAuB,CAAA;AACrC,cAAc,UAAU,CAAA;AACxB,cAAc,OAAO,CAAA;AACrB,cAAc,OAAO,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAEH,cAAc,SAAS,CAAA;AACvB,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,kBAAkB,CAAA;AAChC,cAAc,UAAU,CAAA;AACxB,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA;AAC1B,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA;AAC1B,cAAc,sBAAsB,CAAA;AACpC,cAAc,uBAAuB,CAAA;AACrC,cAAc,UAAU,CAAA;AACxB,cAAc,OAAO,CAAA;AACrB,cAAc,OAAO,CAAA;AACrB,cAAc,aAAa,CAAA"}