@amadeus-protocol/sdk 1.0.8 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (199) hide show
  1. package/dist/api/chain.d.ts +144 -117
  2. package/dist/api/chain.d.ts.map +1 -1
  3. package/dist/api/chain.js +175 -146
  4. package/dist/api/chain.js.map +1 -1
  5. package/dist/api/contract.d.ts +78 -60
  6. package/dist/api/contract.d.ts.map +1 -1
  7. package/dist/api/contract.js +102 -75
  8. package/dist/api/contract.js.map +1 -1
  9. package/dist/api/epoch.d.ts +65 -66
  10. package/dist/api/epoch.d.ts.map +1 -1
  11. package/dist/api/epoch.js +90 -98
  12. package/dist/api/epoch.js.map +1 -1
  13. package/dist/api/peer.d.ts +77 -78
  14. package/dist/api/peer.d.ts.map +1 -1
  15. package/dist/api/peer.js +93 -94
  16. package/dist/api/peer.js.map +1 -1
  17. package/dist/api/proof.d.ts +44 -23
  18. package/dist/api/proof.d.ts.map +1 -1
  19. package/dist/api/proof.js +56 -29
  20. package/dist/api/proof.js.map +1 -1
  21. package/dist/api/transaction.d.ts +68 -69
  22. package/dist/api/transaction.d.ts.map +1 -1
  23. package/dist/api/transaction.js +84 -84
  24. package/dist/api/transaction.js.map +1 -1
  25. package/dist/api/wallet.d.ts +36 -37
  26. package/dist/api/wallet.d.ts.map +1 -1
  27. package/dist/api/wallet.js +47 -50
  28. package/dist/api/wallet.js.map +1 -1
  29. package/dist/client.d.ts +66 -68
  30. package/dist/client.d.ts.map +1 -1
  31. package/dist/client.js +231 -276
  32. package/dist/client.js.map +1 -1
  33. package/dist/constants.d.ts +13 -10
  34. package/dist/constants.d.ts.map +1 -1
  35. package/dist/constants.js +49 -45
  36. package/dist/constants.js.map +1 -1
  37. package/dist/contract-state.d.ts +6 -3
  38. package/dist/contract-state.d.ts.map +1 -1
  39. package/dist/contract-state.js +88 -106
  40. package/dist/contract-state.js.map +1 -1
  41. package/dist/contracts/abi-types.d.ts +32 -32
  42. package/dist/contracts/abi-types.d.ts.map +1 -1
  43. package/dist/contracts/coin.d.ts +13 -20
  44. package/dist/contracts/coin.d.ts.map +1 -1
  45. package/dist/contracts/coin.js +42 -38
  46. package/dist/contracts/coin.js.map +1 -1
  47. package/dist/contracts/contract-call.d.ts +14 -16
  48. package/dist/contracts/contract-call.d.ts.map +1 -1
  49. package/dist/contracts/contract-call.js +45 -54
  50. package/dist/contracts/contract-call.js.map +1 -1
  51. package/dist/contracts/contract.d.ts +24 -55
  52. package/dist/contracts/contract.d.ts.map +1 -1
  53. package/dist/contracts/contract.js +63 -101
  54. package/dist/contracts/contract.js.map +1 -1
  55. package/dist/contracts/lockup/abi.d.ts +54 -51
  56. package/dist/contracts/lockup/abi.d.ts.map +1 -1
  57. package/dist/contracts/lockup/abi.js +65 -74
  58. package/dist/contracts/lockup/abi.js.map +1 -1
  59. package/dist/contracts/lockup/helpers.d.ts +22 -18
  60. package/dist/contracts/lockup/helpers.d.ts.map +1 -1
  61. package/dist/contracts/lockup/helpers.js +44 -47
  62. package/dist/contracts/lockup/helpers.js.map +1 -1
  63. package/dist/contracts/lockup/parsers.d.ts +7 -3
  64. package/dist/contracts/lockup/parsers.d.ts.map +1 -1
  65. package/dist/contracts/lockup/parsers.js +51 -55
  66. package/dist/contracts/lockup/parsers.js.map +1 -1
  67. package/dist/contracts/lockup/storage-keys.d.ts +5 -2
  68. package/dist/contracts/lockup/storage-keys.d.ts.map +1 -1
  69. package/dist/contracts/lockup/storage-keys.js +54 -70
  70. package/dist/contracts/lockup/storage-keys.js.map +1 -1
  71. package/dist/contracts/lockup/types.d.ts +73 -70
  72. package/dist/contracts/lockup/types.d.ts.map +1 -1
  73. package/dist/contracts/lockup-prime/abi.d.ts +328 -325
  74. package/dist/contracts/lockup-prime/abi.d.ts.map +1 -1
  75. package/dist/contracts/lockup-prime/abi.js +397 -417
  76. package/dist/contracts/lockup-prime/abi.js.map +1 -1
  77. package/dist/contracts/lockup-prime/helpers.d.ts +35 -31
  78. package/dist/contracts/lockup-prime/helpers.d.ts.map +1 -1
  79. package/dist/contracts/lockup-prime/helpers.js +131 -137
  80. package/dist/contracts/lockup-prime/helpers.js.map +1 -1
  81. package/dist/contracts/lockup-prime/parsers.d.ts +9 -5
  82. package/dist/contracts/lockup-prime/parsers.d.ts.map +1 -1
  83. package/dist/contracts/lockup-prime/parsers.js +61 -61
  84. package/dist/contracts/lockup-prime/parsers.js.map +1 -1
  85. package/dist/contracts/lockup-prime/storage-keys.d.ts +7 -4
  86. package/dist/contracts/lockup-prime/storage-keys.d.ts.map +1 -1
  87. package/dist/contracts/lockup-prime/storage-keys.js +64 -80
  88. package/dist/contracts/lockup-prime/storage-keys.js.map +1 -1
  89. package/dist/contracts/lockup-prime/types.d.ts +92 -89
  90. package/dist/contracts/lockup-prime/types.d.ts.map +1 -1
  91. package/dist/contracts/lockup-prime/types.js +12 -13
  92. package/dist/contracts/lockup-prime/types.js.map +1 -1
  93. package/dist/contracts/nft/abi.d.ts +104 -0
  94. package/dist/contracts/nft/abi.d.ts.map +1 -0
  95. package/dist/contracts/nft/abi.js +135 -0
  96. package/dist/contracts/nft/abi.js.map +1 -0
  97. package/dist/contracts/nft/helpers.d.ts +21 -0
  98. package/dist/contracts/nft/helpers.d.ts.map +1 -0
  99. package/dist/contracts/nft/helpers.js +61 -0
  100. package/dist/contracts/nft/helpers.js.map +1 -0
  101. package/dist/contracts/nft/types.d.ts +47 -0
  102. package/dist/contracts/nft/types.d.ts.map +1 -0
  103. package/dist/conversion.d.ts +5 -2
  104. package/dist/conversion.d.ts.map +1 -1
  105. package/dist/conversion.js +45 -50
  106. package/dist/conversion.js.map +1 -1
  107. package/dist/crypto.d.ts +14 -16
  108. package/dist/crypto.d.ts.map +1 -1
  109. package/dist/crypto.js +121 -140
  110. package/dist/crypto.js.map +1 -1
  111. package/dist/encoding.d.ts +11 -8
  112. package/dist/encoding.d.ts.map +1 -1
  113. package/dist/encoding.js +123 -144
  114. package/dist/encoding.js.map +1 -1
  115. package/dist/encryption.d.ts +15 -12
  116. package/dist/encryption.d.ts.map +1 -1
  117. package/dist/encryption.js +119 -117
  118. package/dist/encryption.js.map +1 -1
  119. package/dist/explorer.d.ts +10 -7
  120. package/dist/explorer.d.ts.map +1 -1
  121. package/dist/explorer.js +51 -48
  122. package/dist/explorer.js.map +1 -1
  123. package/dist/formatters.d.ts +8 -5
  124. package/dist/formatters.d.ts.map +1 -1
  125. package/dist/formatters.js +67 -68
  126. package/dist/formatters.js.map +1 -1
  127. package/dist/index.d.ts +42 -55
  128. package/dist/index.js +39 -55
  129. package/dist/mnemonic.d.ts +12 -9
  130. package/dist/mnemonic.d.ts.map +1 -1
  131. package/dist/mnemonic.js +105 -114
  132. package/dist/mnemonic.js.map +1 -1
  133. package/dist/networks.d.ts +14 -17
  134. package/dist/networks.d.ts.map +1 -1
  135. package/dist/networks.js +40 -36
  136. package/dist/networks.js.map +1 -1
  137. package/dist/schemas.js +75 -79
  138. package/dist/schemas.js.map +1 -1
  139. package/dist/sdk.d.ts +69 -65
  140. package/dist/sdk.d.ts.map +1 -1
  141. package/dist/sdk.js +126 -117
  142. package/dist/sdk.js.map +1 -1
  143. package/dist/serialization.d.ts +8 -18
  144. package/dist/serialization.d.ts.map +1 -1
  145. package/dist/serialization.js +207 -260
  146. package/dist/serialization.js.map +1 -1
  147. package/dist/signing.js +67 -67
  148. package/dist/signing.js.map +1 -1
  149. package/dist/transaction-builder.d.ts +175 -184
  150. package/dist/transaction-builder.d.ts.map +1 -1
  151. package/dist/transaction-builder.js +295 -344
  152. package/dist/transaction-builder.js.map +1 -1
  153. package/dist/transaction-errors.d.ts +10 -12
  154. package/dist/transaction-errors.d.ts.map +1 -1
  155. package/dist/transaction-errors.js +145 -166
  156. package/dist/transaction-errors.js.map +1 -1
  157. package/dist/types.d.ts +530 -450
  158. package/dist/types.d.ts.map +1 -1
  159. package/dist/types.js +169 -183
  160. package/dist/types.js.map +1 -1
  161. package/dist/validation.d.ts +24 -26
  162. package/dist/validation.d.ts.map +1 -1
  163. package/dist/validation.js +194 -192
  164. package/dist/validation.js.map +1 -1
  165. package/package.json +4 -3
  166. package/dist/api/index.d.ts +0 -8
  167. package/dist/api/index.d.ts.map +0 -1
  168. package/dist/api/index.js +0 -8
  169. package/dist/api/index.js.map +0 -1
  170. package/dist/contracts/abi-types.js +0 -8
  171. package/dist/contracts/abi-types.js.map +0 -1
  172. package/dist/contracts/index.d.ts +0 -7
  173. package/dist/contracts/index.d.ts.map +0 -1
  174. package/dist/contracts/index.js +0 -7
  175. package/dist/contracts/index.js.map +0 -1
  176. package/dist/contracts/lockup/calls.d.ts +0 -23
  177. package/dist/contracts/lockup/calls.d.ts.map +0 -1
  178. package/dist/contracts/lockup/calls.js +0 -25
  179. package/dist/contracts/lockup/calls.js.map +0 -1
  180. package/dist/contracts/lockup/index.d.ts +0 -6
  181. package/dist/contracts/lockup/index.d.ts.map +0 -1
  182. package/dist/contracts/lockup/index.js +0 -6
  183. package/dist/contracts/lockup/index.js.map +0 -1
  184. package/dist/contracts/lockup/types.js +0 -7
  185. package/dist/contracts/lockup/types.js.map +0 -1
  186. package/dist/contracts/lockup-prime/calls.d.ts +0 -53
  187. package/dist/contracts/lockup-prime/calls.d.ts.map +0 -1
  188. package/dist/contracts/lockup-prime/calls.js +0 -60
  189. package/dist/contracts/lockup-prime/calls.js.map +0 -1
  190. package/dist/contracts/lockup-prime/index.d.ts +0 -6
  191. package/dist/contracts/lockup-prime/index.d.ts.map +0 -1
  192. package/dist/contracts/lockup-prime/index.js +0 -6
  193. package/dist/contracts/lockup-prime/index.js.map +0 -1
  194. package/dist/index.d.ts.map +0 -1
  195. package/dist/index.js.map +0 -1
  196. package/dist/schemas.d.ts +0 -67
  197. package/dist/schemas.d.ts.map +0 -1
  198. package/dist/signing.d.ts +0 -39
  199. package/dist/signing.d.ts.map +0 -1
@@ -1,8 +1,9 @@
1
+ //#region src/contracts/lockup/storage-keys.d.ts
1
2
  /**
2
3
  * Build vault key prefix for an account
3
4
  * Format: bic:lockup:vault:{account_48bytes}:
4
5
  */
5
- export declare function buildLockupVaultKeyPrefix(accountBinary: Uint8Array): Uint8Array;
6
+ declare function buildLockupVaultKeyPrefix(accountBinary: Uint8Array): Uint8Array;
6
7
  /**
7
8
  * Extract vault index from key
8
9
  * Key format: bic:lockup:vault:{account_48bytes}:{vault_index}
@@ -11,5 +12,7 @@ export declare function buildLockupVaultKeyPrefix(accountBinary: Uint8Array): Ui
11
12
  * - Full key: bic:lockup:vault:{account_48bytes}:{vault_index}
12
13
  * - Suffix only: {vault_index} (just the part after the prefix)
13
14
  */
14
- export declare function extractLockupVaultIndexFromKey(key: string | Uint8Array): number | null;
15
+ declare function extractLockupVaultIndexFromKey(key: string | Uint8Array): number | null;
16
+ //#endregion
17
+ export { buildLockupVaultKeyPrefix, extractLockupVaultIndexFromKey };
15
18
  //# sourceMappingURL=storage-keys.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"storage-keys.d.ts","sourceRoot":"","sources":["../../../src/contracts/lockup/storage-keys.ts"],"names":[],"mappings":"AAkCA;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,aAAa,EAAE,UAAU,GAAG,UAAU,CAE/E;AAED;;;;;;;GAOG;AACH,wBAAgB,8BAA8B,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,GAAG,MAAM,GAAG,IAAI,CA2CtF"}
1
+ {"version":3,"file":"storage-keys.d.ts","names":[],"sources":["../../../src/contracts/lockup/storage-keys.ts"],"mappings":";;AAsCA;;;iBAAgB,yBAAA,CAA0B,aAAA,EAAe,UAAA,GAAa,UAAA;;;;;;AAYtE;;;iBAAgB,8BAAA,CAA+B,GAAA,WAAc,UAAA"}
@@ -1,78 +1,62 @@
1
- import { Lockup } from './helpers';
1
+ import { Lockup } from "./helpers.js";
2
+ //#region src/contracts/lockup/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 = Lockup.getStorageKey(keyName);
7
- if (!storageKey) {
8
- throw new Error(`Storage key '${keyName}' not found in ABI`);
9
- }
10
- const prefix = Lockup.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 (!Lockup.getStorageKey(keyName)) throw new Error(`Storage key '${keyName}' not found in ABI`);
8
+ const prefix = Lockup.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:vault:{account_48bytes}:
27
- */
28
- export function buildLockupVaultKeyPrefix(accountBinary) {
29
- return buildStorageKey('vault', accountBinary, true);
19
+ * Build vault key prefix for an account
20
+ * Format: bic:lockup:vault:{account_48bytes}:
21
+ */
22
+ function buildLockupVaultKeyPrefix(accountBinary) {
23
+ return buildStorageKey("vault", accountBinary, true);
30
24
  }
31
25
  /**
32
- * Extract vault index from key
33
- * Key format: bic:lockup:vault:{account_48bytes}:{vault_index}
34
- *
35
- * Note: When using prefix queries, the key might be:
36
- * - Full key: bic:lockup:vault:{account_48bytes}:{vault_index}
37
- * - Suffix only: {vault_index} (just the part after the prefix)
38
- */
39
- export function extractLockupVaultIndexFromKey(key) {
40
- try {
41
- const keyBytes = typeof key === 'string' ? new TextEncoder().encode(key) : key;
42
- const keyStr = typeof key === 'string' ? key : new TextDecoder().decode(key);
43
- // Check if key is vault data format FIRST
44
- // If key looks like vault data (e.g., '229427-75000000000000-AMA'), don't try to extract index
45
- const isVaultDataFormat = /^\d+-\d+-[A-Za-z]+$/.test(keyStr);
46
- if (isVaultDataFormat) {
47
- return null;
48
- }
49
- // If the key is very short (likely just the vault index suffix from prefix query)
50
- if (keyBytes.length < 10) {
51
- const directParse = Number.parseInt(keyStr, 10);
52
- if (!Number.isNaN(directParse) && directParse >= 0) {
53
- return directParse;
54
- }
55
- }
56
- // Find the last colon (':') byte (0x3A)
57
- let lastColonIndex = -1;
58
- for (let i = keyBytes.length - 1; i >= 0; i--) {
59
- if (keyBytes[i] === 0x3a) {
60
- lastColonIndex = i;
61
- break;
62
- }
63
- }
64
- if (lastColonIndex === -1 || lastColonIndex === keyBytes.length - 1) {
65
- const wholeKeyParse = Number.parseInt(keyStr, 10);
66
- return Number.isNaN(wholeKeyParse) ? null : wholeKeyParse;
67
- }
68
- // Extract vault index from after the last colon
69
- const indexBytes = keyBytes.slice(lastColonIndex + 1);
70
- const indexStr = new TextDecoder().decode(indexBytes);
71
- const vaultIndex = Number.parseInt(indexStr, 10);
72
- return Number.isNaN(vaultIndex) ? null : vaultIndex;
73
- }
74
- catch {
75
- return null;
76
- }
26
+ * Extract vault index from key
27
+ * Key format: bic:lockup:vault:{account_48bytes}:{vault_index}
28
+ *
29
+ * Note: When using prefix queries, the key might be:
30
+ * - Full key: bic:lockup:vault:{account_48bytes}:{vault_index}
31
+ * - Suffix only: {vault_index} (just the part after the prefix)
32
+ */
33
+ function extractLockupVaultIndexFromKey(key) {
34
+ try {
35
+ const keyBytes = typeof key === "string" ? new TextEncoder().encode(key) : key;
36
+ const keyStr = typeof key === "string" ? key : new TextDecoder().decode(key);
37
+ if (/^\d+-\d+-[A-Za-z]+$/.test(keyStr)) return null;
38
+ if (keyBytes.length < 10) {
39
+ const directParse = Number.parseInt(keyStr, 10);
40
+ if (!Number.isNaN(directParse) && directParse >= 0) return directParse;
41
+ }
42
+ let lastColonIndex = -1;
43
+ for (let i = keyBytes.length - 1; i >= 0; i--) if (keyBytes[i] === 58) {
44
+ lastColonIndex = i;
45
+ break;
46
+ }
47
+ if (lastColonIndex === -1 || lastColonIndex === keyBytes.length - 1) {
48
+ const wholeKeyParse = Number.parseInt(keyStr, 10);
49
+ return Number.isNaN(wholeKeyParse) ? null : wholeKeyParse;
50
+ }
51
+ const indexBytes = keyBytes.slice(lastColonIndex + 1);
52
+ const indexStr = new TextDecoder().decode(indexBytes);
53
+ const vaultIndex = Number.parseInt(indexStr, 10);
54
+ return Number.isNaN(vaultIndex) ? null : vaultIndex;
55
+ } catch {
56
+ return null;
57
+ }
77
58
  }
59
+ //#endregion
60
+ export { buildLockupVaultKeyPrefix, extractLockupVaultIndexFromKey };
61
+
78
62
  //# sourceMappingURL=storage-keys.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"storage-keys.js","sourceRoot":"","sources":["../../../src/contracts/lockup/storage-keys.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"storage-keys.js","names":[],"sources":["../../../src/contracts/lockup/storage-keys.ts"],"sourcesContent":["import { Lockup } 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 = Lockup.getStorageKey(keyName)\n\tif (!storageKey) {\n\t\tthrow new Error(`Storage key '${keyName}' not found in ABI`)\n\t}\n\n\tconst prefix = Lockup.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:vault:{account_48bytes}:\n */\nexport function buildLockupVaultKeyPrefix(accountBinary: Uint8Array): Uint8Array {\n\treturn buildStorageKey('vault', accountBinary, true)\n}\n\n/**\n * Extract vault index from key\n * Key format: bic:lockup:vault:{account_48bytes}:{vault_index}\n *\n * Note: When using prefix queries, the key might be:\n * - Full key: bic:lockup:vault:{account_48bytes}:{vault_index}\n * - Suffix only: {vault_index} (just the part after the prefix)\n */\nexport function extractLockupVaultIndexFromKey(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., '229427-75000000000000-AMA'), don't try to extract index\n\t\tconst isVaultDataFormat = /^\\d+-\\d+-[A-Za-z]+$/.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 = Number.parseInt(keyStr, 10)\n\t\t\tif (!Number.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 = Number.parseInt(keyStr, 10)\n\t\t\treturn Number.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 = Number.parseInt(indexStr, 10)\n\n\t\treturn Number.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,OAAO,cAAc,QACzB,EACd,MAAM,IAAI,MAAM,gBAAgB,QAAQ,oBAAoB;CAG7D,MAAM,SAAS,OAAO,aAAa,QAAQ;CAC3C,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,0BAA0B,eAAuC;CAChF,OAAO,gBAAgB,SAAS,eAAe,KAAK;;;;;;;;;;AAWrD,SAAgB,+BAA+B,KAAyC;CACvF,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,OAAO,SAAS,QAAQ,GAAG;GAC/C,IAAI,CAAC,OAAO,MAAM,YAAY,IAAI,eAAe,GAChD,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,OAAO,SAAS,QAAQ,GAAG;GACjD,OAAO,OAAO,MAAM,cAAc,GAAG,OAAO;;EAI7C,MAAM,aAAa,SAAS,MAAM,iBAAiB,EAAE;EACrD,MAAM,WAAW,IAAI,aAAa,CAAC,OAAO,WAAW;EACrD,MAAM,aAAa,OAAO,SAAS,UAAU,GAAG;EAEhD,OAAO,OAAO,MAAM,WAAW,GAAG,OAAO;SAClC;EACP,OAAO"}
@@ -1,90 +1,93 @@
1
+ //#region src/contracts/lockup/types.d.ts
1
2
  /**
2
3
  * Type Definitions for Lockup smart contract
3
4
  *
4
5
  * Replaces Zod schemas with plain TypeScript types.
5
6
  */
6
7
  /** Parsed Lockup vault (vesting vault) */
7
- export interface LockupVault {
8
- unlockEpoch: number;
9
- lockEpoch: number;
10
- amount: number;
11
- vaultIndex: number;
12
- vaultType: 'vesting';
13
- unlockHeight?: number;
8
+ interface LockupVault {
9
+ unlockEpoch: number;
10
+ lockEpoch: number;
11
+ amount: number;
12
+ vaultIndex: number;
13
+ vaultType: 'vesting';
14
+ unlockHeight?: number;
14
15
  }
15
16
  /** Intermediate parse result from raw vault data string */
16
- export interface RawLockupVaultData {
17
- unlockHeight: number;
18
- amountFlat: number;
19
- symbol: string;
17
+ interface RawLockupVaultData {
18
+ unlockHeight: number;
19
+ amountFlat: number;
20
+ symbol: string;
20
21
  }
21
- export interface LockupAbiFunction {
22
- type: 'function';
23
- name: string;
24
- inputs: LockupAbiInput[];
25
- outputs: LockupAbiOutput[];
26
- stateMutability: 'nonpayable' | 'payable' | 'view' | 'pure';
27
- description?: string;
28
- requirements?: string[];
29
- storage?: {
30
- reads?: LockupAbiStorageRead[];
31
- writes?: LockupAbiStorageWrite[];
32
- };
22
+ interface LockupAbiFunction {
23
+ type: 'function';
24
+ name: string;
25
+ inputs: LockupAbiInput[];
26
+ outputs: LockupAbiOutput[];
27
+ stateMutability: 'nonpayable' | 'payable' | 'view' | 'pure';
28
+ description?: string;
29
+ requirements?: string[];
30
+ storage?: {
31
+ reads?: LockupAbiStorageRead[];
32
+ writes?: LockupAbiStorageWrite[];
33
+ };
33
34
  }
34
- export interface LockupAbiInput {
35
- name: string;
36
- type: string;
37
- description?: string;
38
- validation?: {
39
- min?: string;
40
- max?: string;
41
- type?: string;
42
- };
43
- enum?: string[];
35
+ interface LockupAbiInput {
36
+ name: string;
37
+ type: string;
38
+ description?: string;
39
+ validation?: {
40
+ min?: string;
41
+ max?: string;
42
+ type?: string;
43
+ };
44
+ enum?: string[];
44
45
  }
45
- export interface LockupAbiOutput {
46
- name: string;
47
- type: string;
48
- description?: string;
46
+ interface LockupAbiOutput {
47
+ name: string;
48
+ type: string;
49
+ description?: string;
49
50
  }
50
- export interface LockupAbiError {
51
- name: string;
52
- code: string;
53
- description: string;
51
+ interface LockupAbiError {
52
+ name: string;
53
+ code: string;
54
+ description: string;
54
55
  }
55
- export interface LockupAbiStorage {
56
- keys: LockupAbiStorageKey[];
56
+ interface LockupAbiStorage {
57
+ keys: LockupAbiStorageKey[];
57
58
  }
58
- export interface LockupAbiStorageKey {
59
- name: string;
60
- pattern: string;
61
- type: 'mapping' | 'value' | 'array';
59
+ interface LockupAbiStorageKey {
60
+ name: string;
61
+ pattern: string;
62
+ type: 'mapping' | 'value' | 'array';
63
+ description: string;
64
+ valueFormat?: string;
65
+ valueSchema?: Record<string, any>;
66
+ query?: {
67
+ method: string;
68
+ endpoint: string;
69
+ prefix?: string;
70
+ key?: string;
62
71
  description: string;
63
- valueFormat?: string;
64
- valueSchema?: Record<string, any>;
65
- query?: {
66
- method: string;
67
- endpoint: string;
68
- prefix?: string;
69
- key?: string;
70
- description: string;
71
- };
72
+ };
72
73
  }
73
- export interface LockupAbiStorageRead {
74
- key: string;
75
- description?: string;
76
- value?: string;
74
+ interface LockupAbiStorageRead {
75
+ key: string;
76
+ description?: string;
77
+ value?: string;
77
78
  }
78
- export interface LockupAbiStorageWrite {
79
- key: string;
80
- value?: string;
81
- operation?: 'increment' | 'decrement' | 'create' | 'delete' | 'mint';
82
- amount?: string;
83
- duration?: string;
84
- description?: string;
85
- condition?: string;
86
- writes?: LockupAbiStorageWrite[];
79
+ interface LockupAbiStorageWrite {
80
+ key: string;
81
+ value?: string;
82
+ operation?: 'increment' | 'decrement' | 'create' | 'delete' | 'mint';
83
+ amount?: string;
84
+ duration?: string;
85
+ description?: string;
86
+ condition?: string;
87
+ writes?: LockupAbiStorageWrite[];
87
88
  }
88
89
  /** @deprecated Use `LockupVault` instead */
89
- export type LockupVaultSchema = LockupVault;
90
+ type LockupVaultSchema = LockupVault;
91
+ //#endregion
92
+ export { LockupAbiError, LockupAbiFunction, LockupAbiInput, LockupAbiOutput, LockupAbiStorage, LockupAbiStorageKey, LockupAbiStorageRead, LockupAbiStorageWrite, LockupVault, LockupVaultSchema, RawLockupVaultData };
90
93
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/contracts/lockup/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","names":[],"sources":["../../../src/contracts/lockup/types.ts"],"mappings":";;AASA;;;;;UAAiB,WAAA;EAChB,WAAA;EACA,SAAA;EACA,MAAA;EACA,UAAA;EACA,SAAA;EACA,YAAA;AAAA;;UAIgB,kBAAA;EAChB,YAAA;EACA,UAAA;EACA,MAAA;AAAA;AAAA,UAKgB,iBAAA;EAChB,IAAA;EACA,IAAA;EACA,MAAA,EAAQ,cAAA;EACR,OAAA,EAAS,eAAA;EACT,eAAA;EACA,WAAA;EACA,YAAA;EACA,OAAA;IACC,KAAA,GAAQ,oBAAA;IACR,MAAA,GAAS,qBAAA;EAAA;AAAA;AAAA,UAIM,cAAA;EAChB,IAAA;EACA,IAAA;EACA,WAAA;EACA,UAAA;IACC,GAAA;IACA,GAAA;IACA,IAAA;EAAA;EAED,IAAA;AAAA;AAAA,UAGgB,eAAA;EAChB,IAAA;EACA,IAAA;EACA,WAAA;AAAA;AAAA,UAGgB,cAAA;EAChB,IAAA;EACA,IAAA;EACA,WAAA;AAAA;AAAA,UAGgB,gBAAA;EAChB,IAAA,EAAM,mBAAA;AAAA;AAAA,UAGU,mBAAA;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,oBAAA;EAChB,GAAA;EACA,WAAA;EACA,KAAA;AAAA;AAAA,UAGgB,qBAAA;EAChB,GAAA;EACA,KAAA;EACA,SAAA;EACA,MAAA;EACA,QAAA;EACA,WAAA;EACA,SAAA;EACA,MAAA,GAAS,qBAAA;AAAA;;KAME,iBAAA,GAAoB,WAAA"}