@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.
- package/README.md +2 -2
- package/dist/client.js +1 -1
- package/dist/client.js.map +1 -1
- package/dist/contract-state.d.ts +59 -0
- package/dist/contract-state.d.ts.map +1 -0
- package/dist/contract-state.js +117 -0
- package/dist/contract-state.js.map +1 -0
- package/dist/contracts/abi-types.d.ts +87 -0
- package/dist/contracts/abi-types.d.ts.map +1 -0
- package/dist/contracts/abi-types.js +8 -0
- package/dist/contracts/abi-types.js.map +1 -0
- package/dist/contracts/coin.d.ts +42 -0
- package/dist/contracts/coin.d.ts.map +1 -0
- package/dist/contracts/coin.js +42 -0
- package/dist/contracts/coin.js.map +1 -0
- package/dist/contracts/contract-call.d.ts +49 -0
- package/dist/contracts/contract-call.d.ts.map +1 -0
- package/dist/contracts/contract-call.js +57 -0
- package/dist/contracts/contract-call.js.map +1 -0
- package/dist/contracts/contract.d.ts +113 -0
- package/dist/contracts/contract.d.ts.map +1 -0
- package/dist/contracts/contract.js +107 -0
- package/dist/contracts/contract.js.map +1 -0
- package/dist/contracts/index.d.ts +7 -0
- package/dist/contracts/index.d.ts.map +1 -0
- package/dist/contracts/index.js +7 -0
- package/dist/contracts/index.js.map +1 -0
- package/dist/contracts/lockup/abi.d.ts +62 -0
- package/dist/contracts/lockup/abi.d.ts.map +1 -0
- package/dist/contracts/lockup/abi.js +77 -0
- package/dist/contracts/lockup/abi.js.map +1 -0
- package/dist/contracts/lockup/calls.d.ts +23 -0
- package/dist/contracts/lockup/calls.d.ts.map +1 -0
- package/dist/contracts/lockup/calls.js +25 -0
- package/dist/contracts/lockup/calls.js.map +1 -0
- package/dist/contracts/lockup/helpers.d.ts +24 -0
- package/dist/contracts/lockup/helpers.d.ts.map +1 -0
- package/dist/contracts/lockup/helpers.js +49 -0
- package/dist/contracts/lockup/helpers.js.map +1 -0
- package/dist/contracts/lockup/index.d.ts +6 -0
- package/dist/contracts/lockup/index.d.ts.map +1 -0
- package/dist/contracts/lockup/index.js +6 -0
- package/dist/contracts/lockup/index.js.map +1 -0
- package/dist/contracts/lockup/parsers.d.ts +20 -0
- package/dist/contracts/lockup/parsers.d.ts.map +1 -0
- package/dist/contracts/lockup/parsers.js +60 -0
- package/dist/contracts/lockup/parsers.js.map +1 -0
- package/dist/contracts/lockup/storage-keys.d.ts +15 -0
- package/dist/contracts/lockup/storage-keys.d.ts.map +1 -0
- package/dist/contracts/lockup/storage-keys.js +78 -0
- package/dist/contracts/lockup/storage-keys.js.map +1 -0
- package/dist/contracts/lockup/types.d.ts +90 -0
- package/dist/contracts/lockup/types.d.ts.map +1 -0
- package/dist/contracts/lockup/types.js +7 -0
- package/dist/contracts/lockup/types.js.map +1 -0
- package/dist/contracts/lockup-prime/abi.d.ts +348 -0
- package/dist/contracts/lockup-prime/abi.d.ts.map +1 -0
- package/dist/contracts/lockup-prime/abi.js +420 -0
- package/dist/contracts/lockup-prime/abi.js.map +1 -0
- package/dist/contracts/lockup-prime/calls.d.ts +53 -0
- package/dist/contracts/lockup-prime/calls.d.ts.map +1 -0
- package/dist/contracts/lockup-prime/calls.js +60 -0
- package/dist/contracts/lockup-prime/calls.js.map +1 -0
- package/dist/contracts/lockup-prime/helpers.d.ts +38 -0
- package/dist/contracts/lockup-prime/helpers.d.ts.map +1 -0
- package/dist/contracts/lockup-prime/helpers.js +147 -0
- package/dist/contracts/lockup-prime/helpers.js.map +1 -0
- package/dist/contracts/lockup-prime/index.d.ts +6 -0
- package/dist/contracts/lockup-prime/index.d.ts.map +1 -0
- package/dist/contracts/lockup-prime/index.js +6 -0
- package/dist/contracts/lockup-prime/index.js.map +1 -0
- package/dist/contracts/lockup-prime/parsers.d.ts +25 -0
- package/dist/contracts/lockup-prime/parsers.d.ts.map +1 -0
- package/dist/contracts/lockup-prime/parsers.js +68 -0
- package/dist/contracts/lockup-prime/parsers.js.map +1 -0
- package/dist/contracts/lockup-prime/storage-keys.d.ts +25 -0
- package/dist/contracts/lockup-prime/storage-keys.d.ts.map +1 -0
- package/dist/contracts/lockup-prime/storage-keys.js +92 -0
- package/dist/contracts/lockup-prime/storage-keys.js.map +1 -0
- package/dist/contracts/lockup-prime/types.d.ts +116 -0
- package/dist/contracts/lockup-prime/types.d.ts.map +1 -0
- package/dist/contracts/lockup-prime/types.js +18 -0
- package/dist/contracts/lockup-prime/types.js.map +1 -0
- package/dist/crypto.js +1 -1
- package/dist/crypto.js.map +1 -1
- package/dist/formatters.d.ts +1 -1
- package/dist/formatters.d.ts.map +1 -1
- package/dist/formatters.js +2 -2
- package/dist/formatters.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/serialization.d.ts +22 -0
- package/dist/serialization.d.ts.map +1 -1
- package/dist/serialization.js +39 -2
- package/dist/serialization.js.map +1 -1
- package/dist/signing.d.ts +39 -0
- package/dist/signing.d.ts.map +1 -0
- package/dist/signing.js +84 -0
- package/dist/signing.js.map +1 -0
- package/dist/transaction-builder.d.ts +135 -194
- package/dist/transaction-builder.d.ts.map +1 -1
- package/dist/transaction-builder.js +237 -288
- package/dist/transaction-builder.js.map +1 -1
- package/dist/types.d.ts +17 -0
- package/dist/types.d.ts.map +1 -1
- 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":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAE5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,OAAO,CAAA;AASxC;;;GAGG;AACH,MAAM,WAAW,GAAG;IACnB,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE;QACtB,MAAM,EAAE;YACP,IAAI,EAAE,EAAE;YACR,KAAK,EAAE,EAAE;YACT,KAAK,EAAE,GAAG;YACV,MAAM,EAAE,GAAG;YACX,MAAM,EAAE,GAAG;SACX;QACD,YAAY,EAAE;YACb,IAAI,EAAE,CAAC;YACP,KAAK,EAAE,EAAE;YACT,KAAK,EAAE,EAAE;YACT,MAAM,EAAE,GAAG;YACX,MAAM,EAAE,GAAG;SACX;QACD,MAAM,EAAE;YACP,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,SAAS;YAChB,KAAK,EAAE,SAAS;YAChB,MAAM,EAAE,UAAU;YAClB,MAAM,EAAE,UAAU;SAClB;KACD;IACD,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE;QACtB,MAAM,EAAE;YACP,IAAI,EAAE,CAAC;YACP,KAAK,EAAE,CAAC;YACR,KAAK,EAAE,CAAC;YACR,MAAM,EAAE,EAAE;YACV,MAAM,EAAE,EAAE;SACV;QACD,YAAY,EAAE;YACb,IAAI,EAAE,CAAC;YACP,KAAK,EAAE,CAAC;YACR,KAAK,EAAE,CAAC;YACR,MAAM,EAAE,EAAE;YACV,MAAM,EAAE,EAAE;SACV;QACD,MAAM,EAAE;YACP,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,QAAQ;YACf,KAAK,EAAE,QAAQ;YACf,MAAM,EAAE,SAAS;YACjB,MAAM,EAAE,SAAS;SACjB;KACD;CACQ,CAAA;AAEV,0DAA0D;AAC1D,MAAM,CAAC,MAAM,QAAQ,GAA2B;IAC/C,IAAI,EAAE,IAAI;IACV,KAAK,EAAE,IAAI;IACX,KAAK,EAAE,IAAI;IACX,MAAM,EAAE,IAAI;IACZ,MAAM,EAAE,IAAI;CACZ,CAAA;AAED;;GAEG;AACH,SAAS,aAAa,CAAC,OAAqB;IAC3C,IAAI,OAAO,KAAK,WAAW,CAAC,OAAO,EAAE,CAAC;QACrC,OAAO,WAAW,CAAC,WAAW,CAAC,OAAO,CAAC,CAAA;IACxC,CAAC;IACD,OAAO,WAAW,CAAC,WAAW,CAAC,OAAO,CAAC,CAAA;AACxC,CAAC;AAED;;;GAGG;AACH,MAAM,OAAO,WAAW;IACvB,+BAA+B;IAC/B,MAAM,CAAC,WAAW,CAAC,IAAY;QAC9B,OAAO,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAC/B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CACe,CAAA;IACvC,CAAC;IAED,wBAAwB;IACxB,MAAM,CAAC,QAAQ,CAAC,IAAY;QAC3B,OAAO,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAA;IAC5D,CAAC;IAED,8BAA8B;IAC9B,MAAM,CAAC,aAAa,CAAC,IAAY;QAChC,OAAO,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAA;IAClE,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,OAAO,CACb,OAAoC,EACpC,OAAqB;QAErB,MAAM,IAAI,GAAG,gBAAgB,CAAC,SAAS,CAAC,KAAK,CAAC,OAA6B,CAAC,CAAA;QAC5E,IAAI,CAAC,IAAI;YAAE,OAAO,SAAS,CAAA;QAE3B,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC,CAAA;QAErC,OAAO;YACN,IAAI,EAAE,OAAO;YACb,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,OAAqC,CAAC,IAAI,CAAC;YACjE,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,OAAqC,CAAC,IAAI,IAAI,CAAC,KAAK;YACzE,YAAY,EAAE,MAAM,CAAC,YAAY,CAAC,OAA2C,CAAC,IAAI,CAAC;YACnF,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC;SACvB,CAAA;IACF,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,iBAAiB,CAAC,OAAqB;QAC7C,OAAO,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,SAAS,CAAC,KAAK,CAAC;aACrD,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAE,CAAC;aAC3C,MAAM,CAAC,CAAC,IAAI,EAAsB,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC,CAAA;IAC3D,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,SAAS,CAAC,YAAoB,EAAE,MAA2B;QACjE,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAA;QAC3C,IAAI,CAAC,IAAI,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,YAAY,YAAY,YAAY,CAAC,CAAA;QACtD,CAAC;QAED,MAAM,IAAI,GAAiB,EAAE,CAAA;QAC7B,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACjC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;YAChC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACzB,MAAM,IAAI,KAAK,CAAC,sBAAsB,KAAK,CAAC,IAAI,EAAE,CAAC,CAAA;YACpD,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;QACnD,CAAC;QACD,OAAO,IAAI,CAAA;IACZ,CAAC;IAED,wBAAwB;IACxB,MAAM,CAAC,eAAe;QACrB,OAAO,gBAAgB,CAAC,YAAY,CAAA;IACrC,CAAC;IAED,4CAA4C;IAC5C,MAAM,CAAC,YAAY,CAAC,OAAe;QAClC,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAA;QAC9C,OAAO,UAAU,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;IACzC,CAAC;CACD"}
|
|
@@ -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 @@
|
|
|
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.
|
|
54
|
+
const pk = bls.getPublicKey(sk);
|
|
55
55
|
return [pk, sk];
|
|
56
56
|
}
|
|
57
57
|
/**
|
package/dist/crypto.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crypto.js","sourceRoot":"","sources":["../src/crypto.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,SAAS,IAAI,GAAG,EAAE,MAAM,yBAAyB,CAAA;AAE1D,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAA;AACtD,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAEjD,kCAAkC;AAClC,MAAM,eAAe,GAAG,MAAM,CAAC,oEAAoE,CAAC,CAAA;AAIpG,+EAA+E;AAC/E,2BAA2B;AAC3B,+EAA+E;AAE/E;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAmB;IACnD,IAAI,CAAC,CAAC,OAAO,YAAY,UAAU,CAAC,IAAI,OAAO,CAAC,MAAM,KAAK,wBAAwB,EAAE,CAAC;QACrF,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAA;IAC/C,CAAC;IAED,gCAAgC;IAChC,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;IACjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,wBAAwB,EAAE,CAAC,EAAE,EAAE,CAAC;QACnD,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;IACnD,CAAC;IAED,6BAA6B;IAC7B,CAAC,GAAG,CAAC,GAAG,eAAe,CAAA;IAEvB,gCAAgC;IAChC,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,CAAA;IAC9B,KAAK,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC9B,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAA;QACjC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,CAAA;IAChB,CAAC;IAED,OAAO,GAAG,CAAA;AACX,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,eAAe,CAAC,MAAkB;IACjD,MAAM,EAAE,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAA;IACnC,MAAM,EAAE,GAAG,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"crypto.js","sourceRoot":"","sources":["../src/crypto.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,SAAS,IAAI,GAAG,EAAE,MAAM,yBAAyB,CAAA;AAE1D,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAA;AACtD,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAEjD,kCAAkC;AAClC,MAAM,eAAe,GAAG,MAAM,CAAC,oEAAoE,CAAC,CAAA;AAIpG,+EAA+E;AAC/E,2BAA2B;AAC3B,+EAA+E;AAE/E;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAmB;IACnD,IAAI,CAAC,CAAC,OAAO,YAAY,UAAU,CAAC,IAAI,OAAO,CAAC,MAAM,KAAK,wBAAwB,EAAE,CAAC;QACrF,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAA;IAC/C,CAAC;IAED,gCAAgC;IAChC,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;IACjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,wBAAwB,EAAE,CAAC,EAAE,EAAE,CAAC;QACnD,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;IACnD,CAAC;IAED,6BAA6B;IAC7B,CAAC,GAAG,CAAC,GAAG,eAAe,CAAA;IAEvB,gCAAgC;IAChC,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,CAAA;IAC9B,KAAK,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC9B,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAA;QACjC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,CAAA;IAChB,CAAC;IAED,OAAO,GAAG,CAAA;AACX,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,eAAe,CAAC,MAAkB;IACjD,MAAM,EAAE,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAA;IACnC,MAAM,EAAE,GAAG,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC,CAAA;IAC/B,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;AAChB,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,YAAY,CAAC,MAAkB;IAC9C,MAAM,CAAC,EAAE,CAAC,GAAG,eAAe,CAAC,MAAM,CAAC,CAAA;IACpC,OAAO,EAAE,CAAA;AACV,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,+BAA+B,CAAC,YAAoB;IAInE,MAAM,MAAM,GAAG,UAAU,CAAC,YAAY,CAAC,CAAA;IACvC,IAAI,MAAM,CAAC,MAAM,KAAK,wBAAwB,EAAE,CAAC;QAChD,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAA;IACzE,CAAC;IACD,MAAM,EAAE,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAA;IAEnC,OAAO;QACN,EAAE;QACF,MAAM;KACN,CAAA;AACF,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,6BAA6B,CAAC,UAAkB;IAC/D,IAAI,CAAC,UAAU,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAA;IAC1E,CAAC;IACD,MAAM,MAAM,GAAG,UAAU,CAAC,UAAU,CAAC,CAAA;IACrC,IAAI,MAAM,CAAC,MAAM,KAAK,wBAAwB,EAAE,CAAC;QAChD,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAA;IACzE,CAAC;IACD,MAAM,SAAS,GAAG,YAAY,CAAC,MAAM,CAAC,CAAA;IACtC,OAAO,QAAQ,CAAC,SAAS,CAAC,CAAA;AAC3B,CAAC;AAED,+EAA+E;AAC/E,iBAAiB;AACjB,+EAA+E;AAE/E;;;;;;;;;GASG;AACH,MAAM,UAAU,kBAAkB;IACjC,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,wBAAwB,CAAC,CAAA;IACrD,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,CAAA;IAC5B,OAAO,IAAI,CAAA;AACZ,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,eAAe;IAC9B,MAAM,MAAM,GAAG,kBAAkB,EAAE,CAAA;IACnC,MAAM,CAAC,EAAE,CAAC,GAAG,eAAe,CAAC,MAAM,CAAC,CAAA;IAEpC,OAAO;QACN,SAAS,EAAE,QAAQ,CAAC,EAAE,CAAC;QACvB,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC;KAC5B,CAAA;AACF,CAAC"}
|
package/dist/formatters.d.ts
CHANGED
|
@@ -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:
|
|
10
|
+
* @param digits - Maximum fraction digits (default: AMA_TOKEN_DECIMALS)
|
|
11
11
|
* @returns Formatted number string
|
|
12
12
|
*
|
|
13
13
|
* @example
|
package/dist/formatters.d.ts.map
CHANGED
|
@@ -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,
|
|
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"}
|
package/dist/formatters.js
CHANGED
|
@@ -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:
|
|
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 =
|
|
20
|
+
export function formatNumber(num, digits = AMA_TOKEN_DECIMALS) {
|
|
21
21
|
return num.toLocaleString(undefined, { maximumFractionDigits: digits });
|
|
22
22
|
}
|
|
23
23
|
/**
|
package/dist/formatters.js.map
CHANGED
|
@@ -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,
|
|
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
|
package/dist/index.d.ts.map
CHANGED
|
@@ -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"}
|