@amadeus-protocol/sdk 1.0.8 → 1.1.1

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 (200) hide show
  1. package/README.md +215 -30
  2. package/dist/api/chain.d.ts +144 -117
  3. package/dist/api/chain.d.ts.map +1 -1
  4. package/dist/api/chain.js +175 -146
  5. package/dist/api/chain.js.map +1 -1
  6. package/dist/api/contract.d.ts +78 -60
  7. package/dist/api/contract.d.ts.map +1 -1
  8. package/dist/api/contract.js +102 -75
  9. package/dist/api/contract.js.map +1 -1
  10. package/dist/api/epoch.d.ts +65 -66
  11. package/dist/api/epoch.d.ts.map +1 -1
  12. package/dist/api/epoch.js +90 -98
  13. package/dist/api/epoch.js.map +1 -1
  14. package/dist/api/peer.d.ts +77 -78
  15. package/dist/api/peer.d.ts.map +1 -1
  16. package/dist/api/peer.js +93 -94
  17. package/dist/api/peer.js.map +1 -1
  18. package/dist/api/proof.d.ts +44 -23
  19. package/dist/api/proof.d.ts.map +1 -1
  20. package/dist/api/proof.js +56 -29
  21. package/dist/api/proof.js.map +1 -1
  22. package/dist/api/transaction.d.ts +68 -69
  23. package/dist/api/transaction.d.ts.map +1 -1
  24. package/dist/api/transaction.js +84 -84
  25. package/dist/api/transaction.js.map +1 -1
  26. package/dist/api/wallet.d.ts +36 -37
  27. package/dist/api/wallet.d.ts.map +1 -1
  28. package/dist/api/wallet.js +47 -50
  29. package/dist/api/wallet.js.map +1 -1
  30. package/dist/client.d.ts +66 -68
  31. package/dist/client.d.ts.map +1 -1
  32. package/dist/client.js +231 -276
  33. package/dist/client.js.map +1 -1
  34. package/dist/constants.d.ts +13 -10
  35. package/dist/constants.d.ts.map +1 -1
  36. package/dist/constants.js +49 -45
  37. package/dist/constants.js.map +1 -1
  38. package/dist/contract-state.d.ts +6 -3
  39. package/dist/contract-state.d.ts.map +1 -1
  40. package/dist/contract-state.js +88 -106
  41. package/dist/contract-state.js.map +1 -1
  42. package/dist/contracts/abi-types.d.ts +32 -32
  43. package/dist/contracts/abi-types.d.ts.map +1 -1
  44. package/dist/contracts/coin.d.ts +13 -20
  45. package/dist/contracts/coin.d.ts.map +1 -1
  46. package/dist/contracts/coin.js +42 -38
  47. package/dist/contracts/coin.js.map +1 -1
  48. package/dist/contracts/contract-call.d.ts +14 -16
  49. package/dist/contracts/contract-call.d.ts.map +1 -1
  50. package/dist/contracts/contract-call.js +45 -54
  51. package/dist/contracts/contract-call.js.map +1 -1
  52. package/dist/contracts/contract.d.ts +24 -55
  53. package/dist/contracts/contract.d.ts.map +1 -1
  54. package/dist/contracts/contract.js +63 -101
  55. package/dist/contracts/contract.js.map +1 -1
  56. package/dist/contracts/lockup/abi.d.ts +54 -51
  57. package/dist/contracts/lockup/abi.d.ts.map +1 -1
  58. package/dist/contracts/lockup/abi.js +65 -74
  59. package/dist/contracts/lockup/abi.js.map +1 -1
  60. package/dist/contracts/lockup/helpers.d.ts +22 -18
  61. package/dist/contracts/lockup/helpers.d.ts.map +1 -1
  62. package/dist/contracts/lockup/helpers.js +44 -47
  63. package/dist/contracts/lockup/helpers.js.map +1 -1
  64. package/dist/contracts/lockup/parsers.d.ts +7 -3
  65. package/dist/contracts/lockup/parsers.d.ts.map +1 -1
  66. package/dist/contracts/lockup/parsers.js +51 -55
  67. package/dist/contracts/lockup/parsers.js.map +1 -1
  68. package/dist/contracts/lockup/storage-keys.d.ts +5 -2
  69. package/dist/contracts/lockup/storage-keys.d.ts.map +1 -1
  70. package/dist/contracts/lockup/storage-keys.js +54 -70
  71. package/dist/contracts/lockup/storage-keys.js.map +1 -1
  72. package/dist/contracts/lockup/types.d.ts +73 -70
  73. package/dist/contracts/lockup/types.d.ts.map +1 -1
  74. package/dist/contracts/lockup-prime/abi.d.ts +328 -325
  75. package/dist/contracts/lockup-prime/abi.d.ts.map +1 -1
  76. package/dist/contracts/lockup-prime/abi.js +397 -417
  77. package/dist/contracts/lockup-prime/abi.js.map +1 -1
  78. package/dist/contracts/lockup-prime/helpers.d.ts +35 -31
  79. package/dist/contracts/lockup-prime/helpers.d.ts.map +1 -1
  80. package/dist/contracts/lockup-prime/helpers.js +131 -137
  81. package/dist/contracts/lockup-prime/helpers.js.map +1 -1
  82. package/dist/contracts/lockup-prime/parsers.d.ts +9 -5
  83. package/dist/contracts/lockup-prime/parsers.d.ts.map +1 -1
  84. package/dist/contracts/lockup-prime/parsers.js +61 -61
  85. package/dist/contracts/lockup-prime/parsers.js.map +1 -1
  86. package/dist/contracts/lockup-prime/storage-keys.d.ts +7 -4
  87. package/dist/contracts/lockup-prime/storage-keys.d.ts.map +1 -1
  88. package/dist/contracts/lockup-prime/storage-keys.js +64 -80
  89. package/dist/contracts/lockup-prime/storage-keys.js.map +1 -1
  90. package/dist/contracts/lockup-prime/types.d.ts +92 -89
  91. package/dist/contracts/lockup-prime/types.d.ts.map +1 -1
  92. package/dist/contracts/lockup-prime/types.js +12 -13
  93. package/dist/contracts/lockup-prime/types.js.map +1 -1
  94. package/dist/contracts/nft/abi.d.ts +104 -0
  95. package/dist/contracts/nft/abi.d.ts.map +1 -0
  96. package/dist/contracts/nft/abi.js +135 -0
  97. package/dist/contracts/nft/abi.js.map +1 -0
  98. package/dist/contracts/nft/helpers.d.ts +21 -0
  99. package/dist/contracts/nft/helpers.d.ts.map +1 -0
  100. package/dist/contracts/nft/helpers.js +61 -0
  101. package/dist/contracts/nft/helpers.js.map +1 -0
  102. package/dist/contracts/nft/types.d.ts +47 -0
  103. package/dist/contracts/nft/types.d.ts.map +1 -0
  104. package/dist/conversion.d.ts +5 -2
  105. package/dist/conversion.d.ts.map +1 -1
  106. package/dist/conversion.js +45 -50
  107. package/dist/conversion.js.map +1 -1
  108. package/dist/crypto.d.ts +14 -16
  109. package/dist/crypto.d.ts.map +1 -1
  110. package/dist/crypto.js +121 -140
  111. package/dist/crypto.js.map +1 -1
  112. package/dist/encoding.d.ts +11 -8
  113. package/dist/encoding.d.ts.map +1 -1
  114. package/dist/encoding.js +123 -144
  115. package/dist/encoding.js.map +1 -1
  116. package/dist/encryption.d.ts +15 -12
  117. package/dist/encryption.d.ts.map +1 -1
  118. package/dist/encryption.js +119 -117
  119. package/dist/encryption.js.map +1 -1
  120. package/dist/explorer.d.ts +10 -7
  121. package/dist/explorer.d.ts.map +1 -1
  122. package/dist/explorer.js +51 -48
  123. package/dist/explorer.js.map +1 -1
  124. package/dist/formatters.d.ts +8 -5
  125. package/dist/formatters.d.ts.map +1 -1
  126. package/dist/formatters.js +67 -68
  127. package/dist/formatters.js.map +1 -1
  128. package/dist/index.d.ts +42 -55
  129. package/dist/index.js +39 -55
  130. package/dist/mnemonic.d.ts +12 -9
  131. package/dist/mnemonic.d.ts.map +1 -1
  132. package/dist/mnemonic.js +105 -114
  133. package/dist/mnemonic.js.map +1 -1
  134. package/dist/networks.d.ts +14 -17
  135. package/dist/networks.d.ts.map +1 -1
  136. package/dist/networks.js +40 -36
  137. package/dist/networks.js.map +1 -1
  138. package/dist/schemas.js +75 -79
  139. package/dist/schemas.js.map +1 -1
  140. package/dist/sdk.d.ts +69 -65
  141. package/dist/sdk.d.ts.map +1 -1
  142. package/dist/sdk.js +126 -117
  143. package/dist/sdk.js.map +1 -1
  144. package/dist/serialization.d.ts +8 -18
  145. package/dist/serialization.d.ts.map +1 -1
  146. package/dist/serialization.js +207 -260
  147. package/dist/serialization.js.map +1 -1
  148. package/dist/signing.js +67 -67
  149. package/dist/signing.js.map +1 -1
  150. package/dist/transaction-builder.d.ts +175 -184
  151. package/dist/transaction-builder.d.ts.map +1 -1
  152. package/dist/transaction-builder.js +295 -344
  153. package/dist/transaction-builder.js.map +1 -1
  154. package/dist/transaction-errors.d.ts +10 -12
  155. package/dist/transaction-errors.d.ts.map +1 -1
  156. package/dist/transaction-errors.js +145 -166
  157. package/dist/transaction-errors.js.map +1 -1
  158. package/dist/types.d.ts +530 -450
  159. package/dist/types.d.ts.map +1 -1
  160. package/dist/types.js +169 -183
  161. package/dist/types.js.map +1 -1
  162. package/dist/validation.d.ts +24 -26
  163. package/dist/validation.d.ts.map +1 -1
  164. package/dist/validation.js +194 -192
  165. package/dist/validation.js.map +1 -1
  166. package/package.json +4 -3
  167. package/dist/api/index.d.ts +0 -8
  168. package/dist/api/index.d.ts.map +0 -1
  169. package/dist/api/index.js +0 -8
  170. package/dist/api/index.js.map +0 -1
  171. package/dist/contracts/abi-types.js +0 -8
  172. package/dist/contracts/abi-types.js.map +0 -1
  173. package/dist/contracts/index.d.ts +0 -7
  174. package/dist/contracts/index.d.ts.map +0 -1
  175. package/dist/contracts/index.js +0 -7
  176. package/dist/contracts/index.js.map +0 -1
  177. package/dist/contracts/lockup/calls.d.ts +0 -23
  178. package/dist/contracts/lockup/calls.d.ts.map +0 -1
  179. package/dist/contracts/lockup/calls.js +0 -25
  180. package/dist/contracts/lockup/calls.js.map +0 -1
  181. package/dist/contracts/lockup/index.d.ts +0 -6
  182. package/dist/contracts/lockup/index.d.ts.map +0 -1
  183. package/dist/contracts/lockup/index.js +0 -6
  184. package/dist/contracts/lockup/index.js.map +0 -1
  185. package/dist/contracts/lockup/types.js +0 -7
  186. package/dist/contracts/lockup/types.js.map +0 -1
  187. package/dist/contracts/lockup-prime/calls.d.ts +0 -53
  188. package/dist/contracts/lockup-prime/calls.d.ts.map +0 -1
  189. package/dist/contracts/lockup-prime/calls.js +0 -60
  190. package/dist/contracts/lockup-prime/calls.js.map +0 -1
  191. package/dist/contracts/lockup-prime/index.d.ts +0 -6
  192. package/dist/contracts/lockup-prime/index.d.ts.map +0 -1
  193. package/dist/contracts/lockup-prime/index.js +0 -6
  194. package/dist/contracts/lockup-prime/index.js.map +0 -1
  195. package/dist/index.d.ts.map +0 -1
  196. package/dist/index.js.map +0 -1
  197. package/dist/schemas.d.ts +0 -67
  198. package/dist/schemas.d.ts.map +0 -1
  199. package/dist/signing.d.ts +0 -39
  200. package/dist/signing.d.ts.map +0 -1
@@ -1,68 +1,68 @@
1
- import { parseStateNumber } from '../../contract-state';
2
- import { fromAtomicAma } from '../../conversion';
3
- import { LockupPrime } from './helpers';
4
- import { isValidLockupPrimeTierKey } from './types';
1
+ import { parseStateNumber } from "../../contract-state.js";
2
+ import { fromAtomicAma } from "../../conversion.js";
3
+ import { isValidLockupPrimeTierKey } from "./types.js";
4
+ import { LockupPrime } from "./helpers.js";
5
+ //#region src/contracts/lockup-prime/parsers.ts
5
6
  /**
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 };
7
+ * Parse raw vault data string into intermediate format
8
+ * Format: {tier}-{multiplier}-{unlock_epoch}-{amount}
9
+ *
10
+ * @param dataStr - Raw vault data string from contract state
11
+ * @returns Parsed data or null if invalid
12
+ */
13
+ function parseRawVaultData(dataStr) {
14
+ const match = dataStr.match(/^([^-]+)-(\d+)-(\d+)-(\d+)$/);
15
+ if (!match) 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)) return null;
21
+ if (Number.isNaN(multiplier) || multiplier <= 0) return null;
22
+ if (Number.isNaN(unlockEpoch) || unlockEpoch < 0) return null;
23
+ if (Number.isNaN(amountFlat) || amountFlat < 0) return null;
24
+ return {
25
+ tier,
26
+ multiplier,
27
+ unlockEpoch,
28
+ amountFlat
29
+ };
29
30
  }
30
31
  /**
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
- }
32
+ * Parse vault data from contract state into a fully resolved vault object
33
+ *
34
+ * @param vaultData - Raw vault data from contract state (string or Uint8Array)
35
+ * @param vaultIndex - The vault index
36
+ * @param network - Optional network type (defaults to mainnet)
37
+ * @returns Parsed vault or null if invalid
38
+ */
39
+ function parseVaultData(vaultData, vaultIndex, network) {
40
+ try {
41
+ const rawData = parseRawVaultData(typeof vaultData === "string" ? vaultData : new TextDecoder().decode(vaultData));
42
+ if (!rawData) return null;
43
+ const { tier, multiplier, unlockEpoch, amountFlat } = rawData;
44
+ const amount = fromAtomicAma(amountFlat);
45
+ const tierDef = LockupPrime.getTier(tier, network);
46
+ return {
47
+ tier,
48
+ multiplier,
49
+ unlockEpoch,
50
+ lockEpoch: tierDef ? unlockEpoch - tierDef.epochs : unlockEpoch,
51
+ amount,
52
+ vaultIndex
53
+ };
54
+ } catch {
55
+ return null;
56
+ }
60
57
  }
61
58
  /**
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);
59
+ * Parse contract state value to number
60
+ * Delegates to SDK's parseStateNumber for consistency
61
+ */
62
+ function parseContractStateNumber(value) {
63
+ return parseStateNumber(value);
67
64
  }
65
+ //#endregion
66
+ export { parseContractStateNumber, parseRawVaultData, parseVaultData };
67
+
68
68
  //# sourceMappingURL=parsers.js.map
@@ -1 +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"}
1
+ {"version":3,"file":"parsers.js","names":[],"sources":["../../../src/contracts/lockup-prime/parsers.ts"],"sourcesContent":["import type { NetworkType } from '../../networks'\nimport { parseStateNumber } from '../../contract-state'\nimport { fromAtomicAma } from '../../conversion'\n\nimport { LockupPrime } from './helpers'\nimport type { LockupPrimeVault, RawLockupPrimeVaultData } from './types'\nimport { isValidLockupPrimeTierKey } from './types'\n\n/**\n * Parse raw vault data string into intermediate format\n * Format: {tier}-{multiplier}-{unlock_epoch}-{amount}\n *\n * @param dataStr - Raw vault data string from contract state\n * @returns Parsed data or null if invalid\n */\nexport function parseRawVaultData(dataStr: string): RawLockupPrimeVaultData | null {\n\tconst match = dataStr.match(/^([^-]+)-(\\d+)-(\\d+)-(\\d+)$/)\n\tif (!match) return null\n\n\tconst tier = match[1]!\n\tconst multiplier = Number.parseInt(match[2]!, 10)\n\tconst unlockEpoch = Number.parseInt(match[3]!, 10)\n\tconst amountFlat = Number.parseInt(match[4]!, 10)\n\n\tif (!isValidLockupPrimeTierKey(tier)) return null\n\tif (Number.isNaN(multiplier) || multiplier <= 0) return null\n\tif (Number.isNaN(unlockEpoch) || unlockEpoch < 0) return null\n\tif (Number.isNaN(amountFlat) || amountFlat < 0) return null\n\n\treturn { tier, multiplier, unlockEpoch, amountFlat }\n}\n\n/**\n * Parse vault data from contract state into a fully resolved vault object\n *\n * @param vaultData - Raw vault data from contract state (string or Uint8Array)\n * @param vaultIndex - The vault index\n * @param network - Optional network type (defaults to mainnet)\n * @returns Parsed vault or null if invalid\n */\nexport function parseVaultData(\n\tvaultData: string | Uint8Array,\n\tvaultIndex: number,\n\tnetwork?: NetworkType\n): LockupPrimeVault | null {\n\ttry {\n\t\tconst dataStr =\n\t\t\ttypeof vaultData === 'string' ? vaultData : new TextDecoder().decode(vaultData)\n\n\t\tconst rawData = parseRawVaultData(dataStr)\n\t\tif (!rawData) return null\n\n\t\tconst { tier, multiplier, unlockEpoch, amountFlat } = rawData\n\n\t\tconst amount = fromAtomicAma(amountFlat)\n\n\t\tconst tierDef = LockupPrime.getTier(tier, network)\n\t\tconst lockEpoch = tierDef ? unlockEpoch - tierDef.epochs : unlockEpoch\n\n\t\treturn {\n\t\t\ttier: tier as LockupPrimeVault['tier'],\n\t\t\tmultiplier,\n\t\t\tunlockEpoch,\n\t\t\tlockEpoch,\n\t\t\tamount,\n\t\t\tvaultIndex\n\t\t}\n\t} catch {\n\t\treturn null\n\t}\n}\n\n/**\n * Parse contract state value to number\n * Delegates to SDK's parseStateNumber for consistency\n */\nexport function parseContractStateNumber(\n\tvalue: string | number | Uint8Array | null | undefined\n): number {\n\treturn parseStateNumber(value)\n}\n"],"mappings":";;;;;;;;;;;;AAeA,SAAgB,kBAAkB,SAAiD;CAClF,MAAM,QAAQ,QAAQ,MAAM,8BAA8B;CAC1D,IAAI,CAAC,OAAO,OAAO;CAEnB,MAAM,OAAO,MAAM;CACnB,MAAM,aAAa,OAAO,SAAS,MAAM,IAAK,GAAG;CACjD,MAAM,cAAc,OAAO,SAAS,MAAM,IAAK,GAAG;CAClD,MAAM,aAAa,OAAO,SAAS,MAAM,IAAK,GAAG;CAEjD,IAAI,CAAC,0BAA0B,KAAK,EAAE,OAAO;CAC7C,IAAI,OAAO,MAAM,WAAW,IAAI,cAAc,GAAG,OAAO;CACxD,IAAI,OAAO,MAAM,YAAY,IAAI,cAAc,GAAG,OAAO;CACzD,IAAI,OAAO,MAAM,WAAW,IAAI,aAAa,GAAG,OAAO;CAEvD,OAAO;EAAE;EAAM;EAAY;EAAa;EAAY;;;;;;;;;;AAWrD,SAAgB,eACf,WACA,YACA,SAC0B;CAC1B,IAAI;EAIH,MAAM,UAAU,kBAFf,OAAO,cAAc,WAAW,YAAY,IAAI,aAAa,CAAC,OAAO,UAAU,CAEtC;EAC1C,IAAI,CAAC,SAAS,OAAO;EAErB,MAAM,EAAE,MAAM,YAAY,aAAa,eAAe;EAEtD,MAAM,SAAS,cAAc,WAAW;EAExC,MAAM,UAAU,YAAY,QAAQ,MAAM,QAAQ;EAGlD,OAAO;GACA;GACN;GACA;GACA,WANiB,UAAU,cAAc,QAAQ,SAAS;GAO1D;GACA;GACA;SACM;EACP,OAAO;;;;;;;AAQT,SAAgB,yBACf,OACS;CACT,OAAO,iBAAiB,MAAM"}
@@ -1,18 +1,19 @@
1
+ //#region src/contracts/lockup-prime/storage-keys.d.ts
1
2
  /**
2
3
  * Build vault key prefix for an account
3
4
  * Format: bic:lockup_prime:vault:{account_48bytes}:
4
5
  */
5
- export declare function buildLockupPrimeVaultKeyPrefix(accountBinary: Uint8Array): Uint8Array;
6
+ declare function buildLockupPrimeVaultKeyPrefix(accountBinary: Uint8Array): Uint8Array;
6
7
  /**
7
8
  * Build daily streak key for an account
8
9
  * Format: bic:lockup_prime:daily_streak:{account_48bytes}
9
10
  */
10
- export declare function buildDailyStreakKey(accountBinary: Uint8Array): Uint8Array;
11
+ declare function buildDailyStreakKey(accountBinary: Uint8Array): Uint8Array;
11
12
  /**
12
13
  * Build next check-in epoch key for an account
13
14
  * Format: bic:lockup_prime:next_checkin_epoch:{account_48bytes}
14
15
  */
15
- export declare function buildNextCheckinEpochKey(accountBinary: Uint8Array): Uint8Array;
16
+ declare function buildNextCheckinEpochKey(accountBinary: Uint8Array): Uint8Array;
16
17
  /**
17
18
  * Extract vault index from key
18
19
  * Key format: bic:lockup_prime:vault:{account_48bytes}:{vault_index}
@@ -21,5 +22,7 @@ export declare function buildNextCheckinEpochKey(accountBinary: Uint8Array): Uin
21
22
  * - Full key: bic:lockup_prime:vault:{account_48bytes}:{vault_index}
22
23
  * - Suffix only: {vault_index} (just the part after the prefix)
23
24
  */
24
- export declare function extractLockupPrimeVaultIndexFromKey(key: string | Uint8Array): number | null;
25
+ declare function extractLockupPrimeVaultIndexFromKey(key: string | Uint8Array): number | null;
26
+ //#endregion
27
+ export { buildDailyStreakKey, buildLockupPrimeVaultKeyPrefix, buildNextCheckinEpochKey, extractLockupPrimeVaultIndexFromKey };
25
28
  //# sourceMappingURL=storage-keys.d.ts.map
@@ -1 +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"}
1
+ {"version":3,"file":"storage-keys.d.ts","names":[],"sources":["../../../src/contracts/lockup-prime/storage-keys.ts"],"mappings":";;AAsCA;;;iBAAgB,8BAAA,CAA+B,aAAA,EAAe,UAAA,GAAa,UAAA;;;;;iBAQ3D,mBAAA,CAAoB,aAAA,EAAe,UAAA,GAAa,UAAA;AAAhE;;;;AAAA,iBAQgB,wBAAA,CAAyB,aAAA,EAAe,UAAA,GAAa,UAAA;;;;;AAArE;;;;iBAYgB,mCAAA,CAAoC,GAAA,WAAc,UAAA"}
@@ -1,92 +1,76 @@
1
- import { LockupPrime } from './helpers';
1
+ import { LockupPrime } from "./helpers.js";
2
+ //#region src/contracts/lockup-prime/storage-keys.ts
2
3
  /**
3
- * Generic function to build a storage key for an account
4
- */
4
+ * Generic function to build a storage key for an account
5
+ */
5
6
  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;
7
+ if (!LockupPrime.getStorageKey(keyName)) throw new Error(`Storage key '${keyName}' not found in ABI`);
8
+ const prefix = LockupPrime.getKeyPrefix(keyName);
9
+ if (!prefix) throw new Error(`Could not extract prefix for storage key '${keyName}'`);
10
+ const prefixBytes = new TextEncoder().encode(prefix);
11
+ const resultLength = prefixBytes.length + accountBinary.length + (appendColon ? 1 : 0);
12
+ const result = new Uint8Array(resultLength);
13
+ result.set(prefixBytes, 0);
14
+ result.set(accountBinary, prefixBytes.length);
15
+ if (appendColon) result[result.length - 1] = 58;
16
+ return result;
23
17
  }
24
18
  /**
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);
19
+ * Build vault key prefix for an account
20
+ * Format: bic:lockup_prime:vault:{account_48bytes}:
21
+ */
22
+ function buildLockupPrimeVaultKeyPrefix(accountBinary) {
23
+ return buildStorageKey("vault", accountBinary, true);
30
24
  }
31
25
  /**
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);
26
+ * Build daily streak key for an account
27
+ * Format: bic:lockup_prime:daily_streak:{account_48bytes}
28
+ */
29
+ function buildDailyStreakKey(accountBinary) {
30
+ return buildStorageKey("daily_streak", accountBinary, false);
37
31
  }
38
32
  /**
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);
33
+ * Build next check-in epoch key for an account
34
+ * Format: bic:lockup_prime:next_checkin_epoch:{account_48bytes}
35
+ */
36
+ function buildNextCheckinEpochKey(accountBinary) {
37
+ return buildStorageKey("next_checkin_epoch", accountBinary, false);
44
38
  }
45
39
  /**
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
- }
40
+ * Extract vault index from key
41
+ * Key format: bic:lockup_prime:vault:{account_48bytes}:{vault_index}
42
+ *
43
+ * Note: When using prefix queries, the key might be:
44
+ * - Full key: bic:lockup_prime:vault:{account_48bytes}:{vault_index}
45
+ * - Suffix only: {vault_index} (just the part after the prefix)
46
+ */
47
+ function extractLockupPrimeVaultIndexFromKey(key) {
48
+ try {
49
+ const keyBytes = typeof key === "string" ? new TextEncoder().encode(key) : key;
50
+ const keyStr = typeof key === "string" ? key : new TextDecoder().decode(key);
51
+ if (/^[^-]+-\d+-\d+-\d+$/.test(keyStr)) return null;
52
+ if (keyBytes.length < 10) {
53
+ const directParse = parseInt(keyStr, 10);
54
+ if (!isNaN(directParse) && directParse >= 0) return directParse;
55
+ }
56
+ let lastColonIndex = -1;
57
+ for (let i = keyBytes.length - 1; i >= 0; i--) if (keyBytes[i] === 58) {
58
+ lastColonIndex = i;
59
+ break;
60
+ }
61
+ if (lastColonIndex === -1 || lastColonIndex === keyBytes.length - 1) {
62
+ const wholeKeyParse = parseInt(keyStr, 10);
63
+ return isNaN(wholeKeyParse) ? null : wholeKeyParse;
64
+ }
65
+ const indexBytes = keyBytes.slice(lastColonIndex + 1);
66
+ const indexStr = new TextDecoder().decode(indexBytes);
67
+ const vaultIndex = parseInt(indexStr, 10);
68
+ return isNaN(vaultIndex) ? null : vaultIndex;
69
+ } catch {
70
+ return null;
71
+ }
91
72
  }
73
+ //#endregion
74
+ export { buildDailyStreakKey, buildLockupPrimeVaultKeyPrefix, buildNextCheckinEpochKey, extractLockupPrimeVaultIndexFromKey };
75
+
92
76
  //# sourceMappingURL=storage-keys.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"storage-keys.js","sourceRoot":"","sources":["../../../src/contracts/lockup-prime/storage-keys.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"storage-keys.js","names":[],"sources":["../../../src/contracts/lockup-prime/storage-keys.ts"],"sourcesContent":["import { LockupPrime } from './helpers'\n\n/**\n * Generic function to build a storage key for an account\n */\nfunction buildStorageKey(\n\tkeyName: string,\n\taccountBinary: Uint8Array,\n\tappendColon = false\n): Uint8Array {\n\tconst storageKey = LockupPrime.getStorageKey(keyName)\n\tif (!storageKey) {\n\t\tthrow new Error(`Storage key '${keyName}' not found in ABI`)\n\t}\n\n\tconst prefix = LockupPrime.getKeyPrefix(keyName)\n\tif (!prefix) {\n\t\tthrow new Error(`Could not extract prefix for storage key '${keyName}'`)\n\t}\n\n\tconst prefixBytes = new TextEncoder().encode(prefix)\n\tconst resultLength = prefixBytes.length + accountBinary.length + (appendColon ? 1 : 0)\n\tconst result = new Uint8Array(resultLength)\n\n\tresult.set(prefixBytes, 0)\n\tresult.set(accountBinary, prefixBytes.length)\n\n\tif (appendColon) {\n\t\tresult[result.length - 1] = 0x3a // ':'\n\t}\n\n\treturn result\n}\n\n/**\n * Build vault key prefix for an account\n * Format: bic:lockup_prime:vault:{account_48bytes}:\n */\nexport function buildLockupPrimeVaultKeyPrefix(accountBinary: Uint8Array): Uint8Array {\n\treturn buildStorageKey('vault', accountBinary, true)\n}\n\n/**\n * Build daily streak key for an account\n * Format: bic:lockup_prime:daily_streak:{account_48bytes}\n */\nexport function buildDailyStreakKey(accountBinary: Uint8Array): Uint8Array {\n\treturn buildStorageKey('daily_streak', accountBinary, false)\n}\n\n/**\n * Build next check-in epoch key for an account\n * Format: bic:lockup_prime:next_checkin_epoch:{account_48bytes}\n */\nexport function buildNextCheckinEpochKey(accountBinary: Uint8Array): Uint8Array {\n\treturn buildStorageKey('next_checkin_epoch', accountBinary, false)\n}\n\n/**\n * Extract vault index from key\n * Key format: bic:lockup_prime:vault:{account_48bytes}:{vault_index}\n *\n * Note: When using prefix queries, the key might be:\n * - Full key: bic:lockup_prime:vault:{account_48bytes}:{vault_index}\n * - Suffix only: {vault_index} (just the part after the prefix)\n */\nexport function extractLockupPrimeVaultIndexFromKey(key: string | Uint8Array): number | null {\n\ttry {\n\t\tconst keyBytes = typeof key === 'string' ? new TextEncoder().encode(key) : key\n\t\tconst keyStr = typeof key === 'string' ? key : new TextDecoder().decode(key)\n\n\t\t// Check if key is vault data format FIRST\n\t\t// If key looks like vault data (e.g., '7d-13-10-100000000000'), don't try to extract index\n\t\tconst isVaultDataFormat = /^[^-]+-\\d+-\\d+-\\d+$/.test(keyStr)\n\t\tif (isVaultDataFormat) {\n\t\t\treturn null\n\t\t}\n\n\t\t// If the key is very short (likely just the vault index suffix from prefix query)\n\t\tif (keyBytes.length < 10) {\n\t\t\tconst directParse = parseInt(keyStr, 10)\n\t\t\tif (!isNaN(directParse) && directParse >= 0) {\n\t\t\t\treturn directParse\n\t\t\t}\n\t\t}\n\n\t\t// Find the last colon (':') byte (0x3A)\n\t\tlet lastColonIndex = -1\n\t\tfor (let i = keyBytes.length - 1; i >= 0; i--) {\n\t\t\tif (keyBytes[i] === 0x3a) {\n\t\t\t\tlastColonIndex = i\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\n\t\tif (lastColonIndex === -1 || lastColonIndex === keyBytes.length - 1) {\n\t\t\tconst wholeKeyParse = parseInt(keyStr, 10)\n\t\t\treturn isNaN(wholeKeyParse) ? null : wholeKeyParse\n\t\t}\n\n\t\t// Extract vault index from after the last colon\n\t\tconst indexBytes = keyBytes.slice(lastColonIndex + 1)\n\t\tconst indexStr = new TextDecoder().decode(indexBytes)\n\t\tconst vaultIndex = parseInt(indexStr, 10)\n\n\t\treturn isNaN(vaultIndex) ? null : vaultIndex\n\t} catch {\n\t\treturn null\n\t}\n}\n"],"mappings":";;;;;AAKA,SAAS,gBACR,SACA,eACA,cAAc,OACD;CAEb,IAAI,CADe,YAAY,cAAc,QAC9B,EACd,MAAM,IAAI,MAAM,gBAAgB,QAAQ,oBAAoB;CAG7D,MAAM,SAAS,YAAY,aAAa,QAAQ;CAChD,IAAI,CAAC,QACJ,MAAM,IAAI,MAAM,6CAA6C,QAAQ,GAAG;CAGzE,MAAM,cAAc,IAAI,aAAa,CAAC,OAAO,OAAO;CACpD,MAAM,eAAe,YAAY,SAAS,cAAc,UAAU,cAAc,IAAI;CACpF,MAAM,SAAS,IAAI,WAAW,aAAa;CAE3C,OAAO,IAAI,aAAa,EAAE;CAC1B,OAAO,IAAI,eAAe,YAAY,OAAO;CAE7C,IAAI,aACH,OAAO,OAAO,SAAS,KAAK;CAG7B,OAAO;;;;;;AAOR,SAAgB,+BAA+B,eAAuC;CACrF,OAAO,gBAAgB,SAAS,eAAe,KAAK;;;;;;AAOrD,SAAgB,oBAAoB,eAAuC;CAC1E,OAAO,gBAAgB,gBAAgB,eAAe,MAAM;;;;;;AAO7D,SAAgB,yBAAyB,eAAuC;CAC/E,OAAO,gBAAgB,sBAAsB,eAAe,MAAM;;;;;;;;;;AAWnE,SAAgB,oCAAoC,KAAyC;CAC5F,IAAI;EACH,MAAM,WAAW,OAAO,QAAQ,WAAW,IAAI,aAAa,CAAC,OAAO,IAAI,GAAG;EAC3E,MAAM,SAAS,OAAO,QAAQ,WAAW,MAAM,IAAI,aAAa,CAAC,OAAO,IAAI;EAK5E,IAD0B,sBAAsB,KAAK,OAChC,EACpB,OAAO;EAIR,IAAI,SAAS,SAAS,IAAI;GACzB,MAAM,cAAc,SAAS,QAAQ,GAAG;GACxC,IAAI,CAAC,MAAM,YAAY,IAAI,eAAe,GACzC,OAAO;;EAKT,IAAI,iBAAiB;EACrB,KAAK,IAAI,IAAI,SAAS,SAAS,GAAG,KAAK,GAAG,KACzC,IAAI,SAAS,OAAO,IAAM;GACzB,iBAAiB;GACjB;;EAIF,IAAI,mBAAmB,MAAM,mBAAmB,SAAS,SAAS,GAAG;GACpE,MAAM,gBAAgB,SAAS,QAAQ,GAAG;GAC1C,OAAO,MAAM,cAAc,GAAG,OAAO;;EAItC,MAAM,aAAa,SAAS,MAAM,iBAAiB,EAAE;EACrD,MAAM,WAAW,IAAI,aAAa,CAAC,OAAO,WAAW;EACrD,MAAM,aAAa,SAAS,UAAU,GAAG;EAEzC,OAAO,MAAM,WAAW,GAAG,OAAO;SAC3B;EACP,OAAO"}
@@ -1,116 +1,119 @@
1
+ //#region src/contracts/lockup-prime/types.d.ts
1
2
  /**
2
3
  * Type Definitions for LockupPrime smart contract
3
4
  *
4
5
  * Replaces Zod schemas with plain TypeScript types and type guards.
5
6
  */
6
7
  /** Valid lockup prime tier keys */
7
- export type LockupPrimeTierKey = '7d' | '30d' | '90d' | '180d' | '365d';
8
+ type LockupPrimeTierKey = '7d' | '30d' | '90d' | '180d' | '365d';
8
9
  /** Runtime array of all valid tier keys (for validation) */
9
- export declare const LOCKUP_PRIME_TIER_KEYS: readonly LockupPrimeTierKey[];
10
+ declare const LOCKUP_PRIME_TIER_KEYS: readonly LockupPrimeTierKey[];
10
11
  /** Type guard to check if a string is a valid tier key */
11
- export declare function isValidLockupPrimeTierKey(value: string): value is LockupPrimeTierKey;
12
+ declare function isValidLockupPrimeTierKey(value: string): value is LockupPrimeTierKey;
12
13
  /** 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;
14
+ interface LockupPrimeVault {
15
+ tier: LockupPrimeTierKey;
16
+ multiplier: number;
17
+ unlockEpoch: number;
18
+ lockEpoch: number;
19
+ amount: number;
20
+ vaultIndex: number;
20
21
  }
21
22
  /** Intermediate parse result from raw vault data string */
22
- export interface RawLockupPrimeVaultData {
23
- tier: string;
24
- multiplier: number;
25
- unlockEpoch: number;
26
- amountFlat: number;
23
+ interface RawLockupPrimeVaultData {
24
+ tier: string;
25
+ multiplier: number;
26
+ unlockEpoch: number;
27
+ amountFlat: number;
27
28
  }
28
29
  /** 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;
30
+ interface LockupTier {
31
+ tier: string;
32
+ epochs: number;
33
+ multiplier: number;
34
+ label: string;
35
+ durationDays: number;
36
+ rate?: number;
36
37
  }
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
- };
38
+ interface LockupPrimeAbiFunction {
39
+ type: 'function';
40
+ name: string;
41
+ inputs: LockupPrimeAbiInput[];
42
+ outputs: LockupPrimeAbiOutput[];
43
+ stateMutability: 'nonpayable' | 'payable' | 'view' | 'pure';
44
+ description?: string;
45
+ requirements?: string[];
46
+ storage?: {
47
+ reads?: LockupPrimeAbiStorageRead[];
48
+ writes?: LockupPrimeAbiStorageWrite[];
49
+ };
49
50
  }
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[];
51
+ interface LockupPrimeAbiInput {
52
+ name: string;
53
+ type: string;
54
+ description?: string;
55
+ validation?: {
56
+ min?: string;
57
+ max?: string;
58
+ type?: string;
59
+ };
60
+ enum?: string[];
60
61
  }
61
- export interface LockupPrimeAbiOutput {
62
- name: string;
63
- type: string;
64
- description?: string;
62
+ interface LockupPrimeAbiOutput {
63
+ name: string;
64
+ type: string;
65
+ description?: string;
65
66
  }
66
- export interface LockupPrimeAbiError {
67
- name: string;
68
- code: string;
69
- description: string;
67
+ interface LockupPrimeAbiError {
68
+ name: string;
69
+ code: string;
70
+ description: string;
70
71
  }
71
- export interface LockupPrimeAbiStorage {
72
- keys: LockupPrimeAbiStorageKey[];
72
+ interface LockupPrimeAbiStorage {
73
+ keys: LockupPrimeAbiStorageKey[];
73
74
  }
74
- export interface LockupPrimeAbiStorageKey {
75
- name: string;
76
- pattern: string;
77
- type: 'mapping' | 'value' | 'array';
75
+ interface LockupPrimeAbiStorageKey {
76
+ name: string;
77
+ pattern: string;
78
+ type: 'mapping' | 'value' | 'array';
79
+ description: string;
80
+ valueFormat?: string;
81
+ valueSchema?: Record<string, any>;
82
+ query?: {
83
+ method: string;
84
+ endpoint: string;
85
+ prefix?: string;
86
+ key?: string;
78
87
  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
+ };
88
89
  }
89
- export interface LockupPrimeAbiStorageRead {
90
- key: string;
91
- description?: string;
92
- value?: string;
90
+ interface LockupPrimeAbiStorageRead {
91
+ key: string;
92
+ description?: string;
93
+ value?: string;
93
94
  }
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[];
95
+ interface LockupPrimeAbiStorageWrite {
96
+ key: string;
97
+ value?: string;
98
+ operation?: 'increment' | 'decrement' | 'create' | 'delete' | 'mint';
99
+ amount?: string;
100
+ duration?: string;
101
+ description?: string;
102
+ condition?: string;
103
+ writes?: LockupPrimeAbiStorageWrite[];
103
104
  }
104
- export interface LockupPrimeAbiConstant {
105
- tiers: Record<LockupPrimeTierKey, {
106
- epochs: number;
107
- multiplier: number;
108
- label: string;
109
- }>;
110
- values: Record<string, string>;
105
+ interface LockupPrimeAbiConstant {
106
+ tiers: Record<LockupPrimeTierKey, {
107
+ epochs: number;
108
+ multiplier: number;
109
+ label: string;
110
+ }>;
111
+ values: Record<string, string>;
111
112
  }
112
113
  /** @deprecated Use `LockupPrimeVault` instead */
113
- export type LockupPrimeVaultSchema = LockupPrimeVault;
114
+ type LockupPrimeVaultSchema = LockupPrimeVault;
114
115
  /** @deprecated Use `LockupPrimeTierKey` instead */
115
- export type LockupTiersSchema = LockupPrimeTierKey;
116
+ type LockupTiersSchema = LockupPrimeTierKey;
117
+ //#endregion
118
+ export { LOCKUP_PRIME_TIER_KEYS, LockupPrimeAbiConstant, LockupPrimeAbiError, LockupPrimeAbiFunction, LockupPrimeAbiInput, LockupPrimeAbiOutput, LockupPrimeAbiStorage, LockupPrimeAbiStorageKey, LockupPrimeAbiStorageRead, LockupPrimeAbiStorageWrite, LockupPrimeTierKey, LockupPrimeVault, LockupPrimeVaultSchema, LockupTier, LockupTiersSchema, RawLockupPrimeVaultData, isValidLockupPrimeTierKey };
116
119
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/contracts/lockup-prime/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","names":[],"sources":["../../../src/contracts/lockup-prime/types.ts"],"mappings":";;AASA;;;;;KAAY,kBAAA;;cAGC,sBAAA,WAAiC,kBAAA;;iBAS9B,yBAAA,CAA0B,KAAA,WAAgB,KAAA,IAAS,kBAAA;AAAnE;AAAA,UAOiB,gBAAA;EAChB,IAAA,EAAM,kBAAA;EACN,UAAA;EACA,WAAA;EACA,SAAA;EACA,MAAA;EACA,UAAA;AAAA;AAND;AAAA,UAUiB,uBAAA;EAChB,IAAA;EACA,UAAA;EACA,WAAA;EACA,UAAA;AAAA;;UAIgB,UAAA;EAChB,IAAA;EACA,MAAA;EACA,UAAA;EACA,KAAA;EACA,YAAA;EACA,IAAA;AAAA;AAAA,UAKgB,sBAAA;EAChB,IAAA;EACA,IAAA;EACA,MAAA,EAAQ,mBAAA;EACR,OAAA,EAAS,oBAAA;EACT,eAAA;EACA,WAAA;EACA,YAAA;EACA,OAAA;IACC,KAAA,GAAQ,yBAAA;IACR,MAAA,GAAS,0BAAA;EAAA;AAAA;AAAA,UAIM,mBAAA;EAChB,IAAA;EACA,IAAA;EACA,WAAA;EACA,UAAA;IACC,GAAA;IACA,GAAA;IACA,IAAA;EAAA;EAED,IAAA;AAAA;AAAA,UAGgB,oBAAA;EAChB,IAAA;EACA,IAAA;EACA,WAAA;AAAA;AAAA,UAGgB,mBAAA;EAChB,IAAA;EACA,IAAA;EACA,WAAA;AAAA;AAAA,UAGgB,qBAAA;EAChB,IAAA,EAAM,wBAAA;AAAA;AAAA,UAGU,wBAAA;EAChB,IAAA;EACA,OAAA;EACA,IAAA;EACA,WAAA;EACA,WAAA;EACA,WAAA,GAAc,MAAA;EACd,KAAA;IACC,MAAA;IACA,QAAA;IACA,MAAA;IACA,GAAA;IACA,WAAA;EAAA;AAAA;AAAA,UAIe,yBAAA;EAChB,GAAA;EACA,WAAA;EACA,KAAA;AAAA;AAAA,UAGgB,0BAAA;EAChB,GAAA;EACA,KAAA;EACA,SAAA;EACA,MAAA;EACA,QAAA;EACA,WAAA;EACA,SAAA;EACA,MAAA,GAAS,0BAAA;AAAA;AAAA,UAGO,sBAAA;EAChB,KAAA,EAAO,MAAA,CAAO,kBAAA;IAAsB,MAAA;IAAgB,UAAA;IAAoB,KAAA;EAAA;EACxE,MAAA,EAAQ,MAAA;AAAA;;KAMG,sBAAA,GAAyB,gBAAA;;KAGzB,iBAAA,GAAoB,kBAAA"}