@amadeus-protocol/sdk 1.0.7 → 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 -54
  128. package/dist/index.js +39 -54
  129. package/dist/mnemonic.d.ts +99 -0
  130. package/dist/mnemonic.d.ts.map +1 -0
  131. package/dist/mnemonic.js +119 -0
  132. package/dist/mnemonic.js.map +1 -0
  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 +5 -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,62 +1,65 @@
1
+ //#region src/contracts/lockup/abi.d.ts
1
2
  /**
2
3
  * Lockup Smart Contract ABI
3
4
  *
4
5
  * Standard ABI format
5
6
  * Based on: /root/node/ex/native/rdb/src/consensus/bic/lockup.rs
6
7
  */
7
- export declare const LOCKUP_ABI: {
8
- readonly contractName: "Lockup";
9
- readonly contractVersion: "1.0.0";
10
- readonly abi: readonly [{
11
- readonly type: "function";
12
- readonly name: "unlock";
13
- readonly inputs: readonly [{
14
- readonly name: "vaultIndex";
15
- readonly type: "string";
16
- readonly description: "Vault index to unlock (as string, e.g., \"0\", \"1\", \"2\")";
17
- }];
18
- readonly outputs: readonly [];
19
- readonly stateMutability: "nonpayable";
20
- readonly description: "Unlock a vault and receive locked tokens";
21
- readonly requirements: readonly ["vault must exist", "vault must belong to caller", "entry_height >= unlock_height"];
22
- readonly storage: {
23
- readonly reads: readonly [{
24
- readonly key: "bic:lockup:vault:{caller}:{vault_index}";
25
- readonly value: "{unlock_height}-{amount}-{symbol}";
26
- readonly description: "Reads vault data";
27
- }];
28
- readonly writes: readonly [{
29
- readonly key: "bic:lockup:vault:{caller}:{vault_index}";
30
- readonly operation: "delete";
31
- readonly description: "Deletes vault after unlock";
32
- }, {
33
- readonly key: "bic:coin:balance:{caller}:AMA";
34
- readonly operation: "increment";
35
- readonly amount: "amount";
36
- readonly description: "Returns locked AMA tokens";
37
- }];
38
- };
8
+ declare const LOCKUP_ABI: {
9
+ readonly contractName: "Lockup";
10
+ readonly contractVersion: "1.0.0";
11
+ readonly abi: readonly [{
12
+ readonly type: "function";
13
+ readonly name: "unlock";
14
+ readonly inputs: readonly [{
15
+ readonly name: "vaultIndex";
16
+ readonly type: "string";
17
+ readonly description: "Vault index to unlock (as string, e.g., \"0\", \"1\", \"2\")";
39
18
  }];
19
+ readonly outputs: readonly [];
20
+ readonly stateMutability: "nonpayable";
21
+ readonly description: "Unlock a vault and receive locked tokens";
22
+ readonly requirements: readonly ["vault must exist", "vault must belong to caller", "entry_height >= unlock_height"];
40
23
  readonly storage: {
41
- readonly keys: readonly [{
42
- readonly name: "vault";
43
- readonly pattern: "bic:lockup:vault:{account}:{index}";
44
- readonly type: "mapping";
45
- readonly description: "Lockup vault storage key";
46
- readonly valueFormat: "string";
47
- readonly valueSchema: {
48
- readonly type: "string";
49
- readonly format: "{unlock_height}-{amount}-{symbol}";
50
- readonly description: "Vault data format: unlock_height-amount-symbol";
51
- };
52
- readonly query: {
53
- readonly method: "POST";
54
- readonly endpoint: "/contract/get_prefix";
55
- readonly prefix: "bic:lockup:vault:{account_binary}:";
56
- readonly description: "Get all vaults for an account";
57
- };
58
- }];
24
+ readonly reads: readonly [{
25
+ readonly key: "bic:lockup:vault:{caller}:{vault_index}";
26
+ readonly value: "{unlock_height}-{amount}-{symbol}";
27
+ readonly description: "Reads vault data";
28
+ }];
29
+ readonly writes: readonly [{
30
+ readonly key: "bic:lockup:vault:{caller}:{vault_index}";
31
+ readonly operation: "delete";
32
+ readonly description: "Deletes vault after unlock";
33
+ }, {
34
+ readonly key: "bic:coin:balance:{caller}:AMA";
35
+ readonly operation: "increment";
36
+ readonly amount: "amount";
37
+ readonly description: "Returns locked AMA tokens";
38
+ }];
59
39
  };
60
- readonly errors: readonly [];
40
+ }];
41
+ readonly storage: {
42
+ readonly keys: readonly [{
43
+ readonly name: "vault";
44
+ readonly pattern: "bic:lockup:vault:{account}:{index}";
45
+ readonly type: "mapping";
46
+ readonly description: "Lockup vault storage key";
47
+ readonly valueFormat: "string";
48
+ readonly valueSchema: {
49
+ readonly type: "string";
50
+ readonly format: "{unlock_height}-{amount}-{symbol}";
51
+ readonly description: "Vault data format: unlock_height-amount-symbol";
52
+ };
53
+ readonly query: {
54
+ readonly method: "POST";
55
+ readonly endpoint: "/contract/get_prefix";
56
+ readonly prefix: "bic:lockup:vault:{account_binary}:";
57
+ readonly description: "Get all vaults for an account";
58
+ };
59
+ }];
60
+ };
61
+ readonly errors: readonly [];
61
62
  };
63
+ //#endregion
64
+ export { LOCKUP_ABI };
62
65
  //# sourceMappingURL=abi.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"abi.d.ts","sourceRoot":"","sources":["../../../src/contracts/lockup/abi.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqEb,CAAA"}
1
+ {"version":3,"file":"abi.d.ts","names":[],"sources":["../../../src/contracts/lockup/abi.ts"],"mappings":";;AAMA;;;;;cAAa,UAAA;EAAA"}
@@ -1,77 +1,68 @@
1
+ //#region src/contracts/lockup/abi.ts
1
2
  /**
2
- * Lockup Smart Contract ABI
3
- *
4
- * Standard ABI format
5
- * Based on: /root/node/ex/native/rdb/src/consensus/bic/lockup.rs
6
- */
7
- export const LOCKUP_ABI = {
8
- contractName: 'Lockup',
9
- contractVersion: '1.0.0',
10
- abi: [
11
- {
12
- type: 'function',
13
- name: 'unlock',
14
- inputs: [
15
- {
16
- name: 'vaultIndex',
17
- type: 'string',
18
- description: 'Vault index to unlock (as string, e.g., "0", "1", "2")'
19
- }
20
- ],
21
- outputs: [],
22
- stateMutability: 'nonpayable',
23
- description: 'Unlock a vault and receive locked tokens',
24
- requirements: [
25
- 'vault must exist',
26
- 'vault must belong to caller',
27
- 'entry_height >= unlock_height'
28
- ],
29
- storage: {
30
- reads: [
31
- {
32
- key: 'bic:lockup:vault:{caller}:{vault_index}',
33
- value: '{unlock_height}-{amount}-{symbol}',
34
- description: 'Reads vault data'
35
- }
36
- ],
37
- writes: [
38
- {
39
- key: 'bic:lockup:vault:{caller}:{vault_index}',
40
- operation: 'delete',
41
- description: 'Deletes vault after unlock'
42
- },
43
- {
44
- key: 'bic:coin:balance:{caller}:AMA',
45
- operation: 'increment',
46
- amount: 'amount',
47
- description: 'Returns locked AMA tokens'
48
- }
49
- ]
50
- }
51
- }
52
- ],
53
- storage: {
54
- keys: [
55
- {
56
- name: 'vault',
57
- pattern: 'bic:lockup:vault:{account}:{index}',
58
- type: 'mapping',
59
- description: 'Lockup vault storage key',
60
- valueFormat: 'string',
61
- valueSchema: {
62
- type: 'string',
63
- format: '{unlock_height}-{amount}-{symbol}',
64
- description: 'Vault data format: unlock_height-amount-symbol'
65
- },
66
- query: {
67
- method: 'POST',
68
- endpoint: '/contract/get_prefix',
69
- prefix: 'bic:lockup:vault:{account_binary}:',
70
- description: 'Get all vaults for an account'
71
- }
72
- }
73
- ]
74
- },
75
- errors: []
3
+ * Lockup Smart Contract ABI
4
+ *
5
+ * Standard ABI format
6
+ * Based on: /root/node/ex/native/rdb/src/consensus/bic/lockup.rs
7
+ */
8
+ const LOCKUP_ABI = {
9
+ contractName: "Lockup",
10
+ contractVersion: "1.0.0",
11
+ abi: [{
12
+ type: "function",
13
+ name: "unlock",
14
+ inputs: [{
15
+ name: "vaultIndex",
16
+ type: "string",
17
+ description: "Vault index to unlock (as string, e.g., \"0\", \"1\", \"2\")"
18
+ }],
19
+ outputs: [],
20
+ stateMutability: "nonpayable",
21
+ description: "Unlock a vault and receive locked tokens",
22
+ requirements: [
23
+ "vault must exist",
24
+ "vault must belong to caller",
25
+ "entry_height >= unlock_height"
26
+ ],
27
+ storage: {
28
+ reads: [{
29
+ key: "bic:lockup:vault:{caller}:{vault_index}",
30
+ value: "{unlock_height}-{amount}-{symbol}",
31
+ description: "Reads vault data"
32
+ }],
33
+ writes: [{
34
+ key: "bic:lockup:vault:{caller}:{vault_index}",
35
+ operation: "delete",
36
+ description: "Deletes vault after unlock"
37
+ }, {
38
+ key: "bic:coin:balance:{caller}:AMA",
39
+ operation: "increment",
40
+ amount: "amount",
41
+ description: "Returns locked AMA tokens"
42
+ }]
43
+ }
44
+ }],
45
+ storage: { keys: [{
46
+ name: "vault",
47
+ pattern: "bic:lockup:vault:{account}:{index}",
48
+ type: "mapping",
49
+ description: "Lockup vault storage key",
50
+ valueFormat: "string",
51
+ valueSchema: {
52
+ type: "string",
53
+ format: "{unlock_height}-{amount}-{symbol}",
54
+ description: "Vault data format: unlock_height-amount-symbol"
55
+ },
56
+ query: {
57
+ method: "POST",
58
+ endpoint: "/contract/get_prefix",
59
+ prefix: "bic:lockup:vault:{account_binary}:",
60
+ description: "Get all vaults for an account"
61
+ }
62
+ }] },
63
+ errors: []
76
64
  };
65
+ //#endregion
66
+ export { LOCKUP_ABI };
67
+
77
68
  //# sourceMappingURL=abi.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"abi.js","sourceRoot":"","sources":["../../../src/contracts/lockup/abi.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG;IACzB,YAAY,EAAE,QAAQ;IACtB,eAAe,EAAE,OAAO;IACxB,GAAG,EAAE;QACJ;YACC,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE;gBACP;oBACC,IAAI,EAAE,YAAY;oBAClB,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,wDAAwD;iBACrE;aACD;YACD,OAAO,EAAE,EAAE;YACX,eAAe,EAAE,YAAY;YAC7B,WAAW,EAAE,0CAA0C;YACvD,YAAY,EAAE;gBACb,kBAAkB;gBAClB,6BAA6B;gBAC7B,+BAA+B;aAC/B;YACD,OAAO,EAAE;gBACR,KAAK,EAAE;oBACN;wBACC,GAAG,EAAE,yCAAyC;wBAC9C,KAAK,EAAE,mCAAmC;wBAC1C,WAAW,EAAE,kBAAkB;qBAC/B;iBACD;gBACD,MAAM,EAAE;oBACP;wBACC,GAAG,EAAE,yCAAyC;wBAC9C,SAAS,EAAE,QAAQ;wBACnB,WAAW,EAAE,4BAA4B;qBACzC;oBACD;wBACC,GAAG,EAAE,+BAA+B;wBACpC,SAAS,EAAE,WAAW;wBACtB,MAAM,EAAE,QAAQ;wBAChB,WAAW,EAAE,2BAA2B;qBACxC;iBACD;aACD;SACD;KACD;IACD,OAAO,EAAE;QACR,IAAI,EAAE;YACL;gBACC,IAAI,EAAE,OAAO;gBACb,OAAO,EAAE,oCAAoC;gBAC7C,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,0BAA0B;gBACvC,WAAW,EAAE,QAAQ;gBACrB,WAAW,EAAE;oBACZ,IAAI,EAAE,QAAQ;oBACd,MAAM,EAAE,mCAAmC;oBAC3C,WAAW,EAAE,gDAAgD;iBAC7D;gBACD,KAAK,EAAE;oBACN,MAAM,EAAE,MAAM;oBACd,QAAQ,EAAE,sBAAsB;oBAChC,MAAM,EAAE,oCAAoC;oBAC5C,WAAW,EAAE,+BAA+B;iBAC5C;aACD;SACD;KACD;IACD,MAAM,EAAE,EAAE;CACD,CAAA"}
1
+ {"version":3,"file":"abi.js","names":[],"sources":["../../../src/contracts/lockup/abi.ts"],"sourcesContent":["/**\n * Lockup Smart Contract ABI\n *\n * Standard ABI format\n * Based on: /root/node/ex/native/rdb/src/consensus/bic/lockup.rs\n */\nexport const LOCKUP_ABI = {\n\tcontractName: 'Lockup',\n\tcontractVersion: '1.0.0',\n\tabi: [\n\t\t{\n\t\t\ttype: 'function',\n\t\t\tname: 'unlock',\n\t\t\tinputs: [\n\t\t\t\t{\n\t\t\t\t\tname: 'vaultIndex',\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tdescription: 'Vault index to unlock (as string, e.g., \"0\", \"1\", \"2\")'\n\t\t\t\t}\n\t\t\t],\n\t\t\toutputs: [],\n\t\t\tstateMutability: 'nonpayable',\n\t\t\tdescription: 'Unlock a vault and receive locked tokens',\n\t\t\trequirements: [\n\t\t\t\t'vault must exist',\n\t\t\t\t'vault must belong to caller',\n\t\t\t\t'entry_height >= unlock_height'\n\t\t\t],\n\t\t\tstorage: {\n\t\t\t\treads: [\n\t\t\t\t\t{\n\t\t\t\t\t\tkey: 'bic:lockup:vault:{caller}:{vault_index}',\n\t\t\t\t\t\tvalue: '{unlock_height}-{amount}-{symbol}',\n\t\t\t\t\t\tdescription: 'Reads vault data'\n\t\t\t\t\t}\n\t\t\t\t],\n\t\t\t\twrites: [\n\t\t\t\t\t{\n\t\t\t\t\t\tkey: 'bic:lockup:vault:{caller}:{vault_index}',\n\t\t\t\t\t\toperation: 'delete',\n\t\t\t\t\t\tdescription: 'Deletes vault after unlock'\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tkey: 'bic:coin:balance:{caller}:AMA',\n\t\t\t\t\t\toperation: 'increment',\n\t\t\t\t\t\tamount: 'amount',\n\t\t\t\t\t\tdescription: 'Returns locked AMA tokens'\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t}\n\t\t}\n\t],\n\tstorage: {\n\t\tkeys: [\n\t\t\t{\n\t\t\t\tname: 'vault',\n\t\t\t\tpattern: 'bic:lockup:vault:{account}:{index}',\n\t\t\t\ttype: 'mapping',\n\t\t\t\tdescription: 'Lockup vault storage key',\n\t\t\t\tvalueFormat: 'string',\n\t\t\t\tvalueSchema: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tformat: '{unlock_height}-{amount}-{symbol}',\n\t\t\t\t\tdescription: 'Vault data format: unlock_height-amount-symbol'\n\t\t\t\t},\n\t\t\t\tquery: {\n\t\t\t\t\tmethod: 'POST',\n\t\t\t\t\tendpoint: '/contract/get_prefix',\n\t\t\t\t\tprefix: 'bic:lockup:vault:{account_binary}:',\n\t\t\t\t\tdescription: 'Get all vaults for an account'\n\t\t\t\t}\n\t\t\t}\n\t\t]\n\t},\n\terrors: []\n} as const\n"],"mappings":";;;;;;;AAMA,MAAa,aAAa;CACzB,cAAc;CACd,iBAAiB;CACjB,KAAK,CACJ;EACC,MAAM;EACN,MAAM;EACN,QAAQ,CACP;GACC,MAAM;GACN,MAAM;GACN,aAAa;GACb,CACD;EACD,SAAS,EAAE;EACX,iBAAiB;EACjB,aAAa;EACb,cAAc;GACb;GACA;GACA;GACA;EACD,SAAS;GACR,OAAO,CACN;IACC,KAAK;IACL,OAAO;IACP,aAAa;IACb,CACD;GACD,QAAQ,CACP;IACC,KAAK;IACL,WAAW;IACX,aAAa;IACb,EACD;IACC,KAAK;IACL,WAAW;IACX,QAAQ;IACR,aAAa;IACb,CACD;GACD;EACD,CACD;CACD,SAAS,EACR,MAAM,CACL;EACC,MAAM;EACN,SAAS;EACT,MAAM;EACN,aAAa;EACb,aAAa;EACb,aAAa;GACZ,MAAM;GACN,QAAQ;GACR,aAAa;GACb;EACD,OAAO;GACN,QAAQ;GACR,UAAU;GACV,QAAQ;GACR,aAAa;GACb;EACD,CACD,EACD;CACD,QAAQ,EAAE;CACV"}
@@ -1,24 +1,28 @@
1
- import type { LockupAbiError, LockupAbiFunction, LockupAbiStorageKey } from './types';
1
+ import { LockupAbiError, LockupAbiFunction, LockupAbiStorageKey } from "./types.js";
2
+
3
+ //#region src/contracts/lockup/helpers.d.ts
2
4
  /**
3
5
  * Lockup Contract Interface
4
6
  * Provides access to contract ABI and transaction building utilities
5
7
  */
6
- export declare class Lockup {
7
- /** Get function ABI by name */
8
- static getFunction(name: string): LockupAbiFunction | undefined;
9
- /** Get error by code */
10
- static getError(_code: string): LockupAbiError | undefined;
11
- /** Get storage key by name */
12
- static getStorageKey(name: string): LockupAbiStorageKey | undefined;
13
- /**
14
- * Build transaction arguments for a function
15
- * @deprecated Use `buildContractCall(LOCKUP_ABI, functionName, params)` or
16
- * the typed builder `buildLockupUnlock({ vaultIndex })` instead.
17
- */
18
- static buildArgs(functionName: string, params: Record<string, any>): Uint8Array[];
19
- /** Get contract name */
20
- static getContractName(): string;
21
- /** Get key prefix for a storage key name */
22
- static getKeyPrefix(keyName: string): string | undefined;
8
+ declare class Lockup {
9
+ /** Get function ABI by name */
10
+ static getFunction(name: string): LockupAbiFunction | undefined;
11
+ /** Get error by code */
12
+ static getError(_code: string): LockupAbiError | undefined;
13
+ /** Get storage key by name */
14
+ static getStorageKey(name: string): LockupAbiStorageKey | undefined;
15
+ /**
16
+ * Build transaction arguments for a function
17
+ * @deprecated Use `buildContractCall(LOCKUP_ABI, functionName, params)` or
18
+ * the typed builder `buildLockupUnlock({ vaultIndex })` instead.
19
+ */
20
+ static buildArgs(functionName: string, params: Record<string, any>): Uint8Array[];
21
+ /** Get contract name */
22
+ static getContractName(): string;
23
+ /** Get key prefix for a storage key name */
24
+ static getKeyPrefix(keyName: string): string | undefined;
23
25
  }
26
+ //#endregion
27
+ export { Lockup };
24
28
  //# sourceMappingURL=helpers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/contracts/lockup/helpers.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAA;AAErF;;;GAGG;AACH,qBAAa,MAAM;IAClB,+BAA+B;IAC/B,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS;IAI/D,wBAAwB;IACxB,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IAI1D,8BAA8B;IAC9B,MAAM,CAAC,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,mBAAmB,GAAG,SAAS;IAInE;;;;OAIG;IACH,MAAM,CAAC,SAAS,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,UAAU,EAAE;IAiBjF,wBAAwB;IACxB,MAAM,CAAC,eAAe,IAAI,MAAM;IAIhC,4CAA4C;IAC5C,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;CAIxD"}
1
+ {"version":3,"file":"helpers.d.ts","names":[],"sources":["../../../src/contracts/lockup/helpers.ts"],"mappings":";;;;;AAOA;;cAAa,MAAA;EAEsB;EAAA,OAA3B,WAAA,CAAY,IAAA,WAAe,iBAAA;EAUE;EAAA,OAL7B,QAAA,CAAS,KAAA,WAAgB,cAAA;EAcqC;EAAA,OAT9D,aAAA,CAAc,IAAA,WAAe,mBAAA;EAS2C;;;;;EAAA,OAAxE,SAAA,CAAU,YAAA,UAAsB,MAAA,EAAQ,MAAA,gBAAsB,UAAA;EAdrC;EAAA,OAgCzB,eAAA,CAAA;EA3Bc;EAAA,OAgCd,YAAA,CAAa,OAAA;AAAA"}
@@ -1,49 +1,46 @@
1
- import { LOCKUP_ABI } from './abi';
1
+ import { LOCKUP_ABI } from "./abi.js";
2
+ //#region src/contracts/lockup/helpers.ts
2
3
  /**
3
- * Lockup Contract Interface
4
- * Provides access to contract ABI and transaction building utilities
5
- */
6
- export class Lockup {
7
- /** Get function ABI by name */
8
- static getFunction(name) {
9
- return LOCKUP_ABI.abi.find((f) => f.name === name);
10
- }
11
- /** Get error by code */
12
- static getError(_code) {
13
- return undefined;
14
- }
15
- /** Get storage key by name */
16
- static getStorageKey(name) {
17
- return LOCKUP_ABI.storage.keys.find((k) => k.name === name);
18
- }
19
- /**
20
- * Build transaction arguments for a function
21
- * @deprecated Use `buildContractCall(LOCKUP_ABI, functionName, params)` or
22
- * the typed builder `buildLockupUnlock({ vaultIndex })` instead.
23
- */
24
- static buildArgs(functionName, params) {
25
- const func = this.getFunction(functionName);
26
- if (!func) {
27
- throw new Error(`Function ${functionName} not found`);
28
- }
29
- const args = [];
30
- for (const input of func.inputs) {
31
- const value = params[input.name];
32
- if (value === undefined) {
33
- throw new Error(`Missing parameter: ${input.name}`);
34
- }
35
- args.push(new TextEncoder().encode(String(value)));
36
- }
37
- return args;
38
- }
39
- /** Get contract name */
40
- static getContractName() {
41
- return LOCKUP_ABI.contractName;
42
- }
43
- /** Get key prefix for a storage key name */
44
- static getKeyPrefix(keyName) {
45
- const storageKey = this.getStorageKey(keyName);
46
- return storageKey?.pattern.split('{')[0];
47
- }
48
- }
4
+ * Lockup Contract Interface
5
+ * Provides access to contract ABI and transaction building utilities
6
+ */
7
+ var Lockup = class {
8
+ /** Get function ABI by name */
9
+ static getFunction(name) {
10
+ return LOCKUP_ABI.abi.find((f) => f.name === name);
11
+ }
12
+ /** Get error by code */
13
+ static getError(_code) {}
14
+ /** Get storage key by name */
15
+ static getStorageKey(name) {
16
+ return LOCKUP_ABI.storage.keys.find((k) => k.name === name);
17
+ }
18
+ /**
19
+ * Build transaction arguments for a function
20
+ * @deprecated Use `buildContractCall(LOCKUP_ABI, functionName, params)` or
21
+ * the typed builder `buildLockupUnlock({ vaultIndex })` instead.
22
+ */
23
+ static buildArgs(functionName, params) {
24
+ const func = this.getFunction(functionName);
25
+ if (!func) throw new Error(`Function ${functionName} not found`);
26
+ const args = [];
27
+ for (const input of func.inputs) {
28
+ const value = params[input.name];
29
+ if (value === void 0) throw new Error(`Missing parameter: ${input.name}`);
30
+ args.push(new TextEncoder().encode(String(value)));
31
+ }
32
+ return args;
33
+ }
34
+ /** Get contract name */
35
+ static getContractName() {
36
+ return LOCKUP_ABI.contractName;
37
+ }
38
+ /** Get key prefix for a storage key name */
39
+ static getKeyPrefix(keyName) {
40
+ return this.getStorageKey(keyName)?.pattern.split("{")[0];
41
+ }
42
+ };
43
+ //#endregion
44
+ export { Lockup };
45
+
49
46
  //# sourceMappingURL=helpers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/contracts/lockup/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAGlC;;;GAGG;AACH,MAAM,OAAO,MAAM;IAClB,+BAA+B;IAC/B,MAAM,CAAC,WAAW,CAAC,IAAY;QAC9B,OAAO,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAiC,CAAA;IACnF,CAAC;IAED,wBAAwB;IACxB,MAAM,CAAC,QAAQ,CAAC,KAAa;QAC5B,OAAO,SAAS,CAAA;IACjB,CAAC;IAED,8BAA8B;IAC9B,MAAM,CAAC,aAAa,CAAC,IAAY;QAChC,OAAO,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAA;IAC5D,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,UAAU,CAAC,YAAY,CAAA;IAC/B,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"}
1
+ {"version":3,"file":"helpers.js","names":[],"sources":["../../../src/contracts/lockup/helpers.ts"],"sourcesContent":["import { LOCKUP_ABI } from './abi'\nimport type { LockupAbiError, LockupAbiFunction, LockupAbiStorageKey } from './types'\n\n/**\n * Lockup Contract Interface\n * Provides access to contract ABI and transaction building utilities\n */\nexport class Lockup {\n\t/** Get function ABI by name */\n\tstatic getFunction(name: string): LockupAbiFunction | undefined {\n\t\treturn LOCKUP_ABI.abi.find((f) => f.name === name) as unknown as LockupAbiFunction\n\t}\n\n\t/** Get error by code */\n\tstatic getError(_code: string): LockupAbiError | undefined {\n\t\treturn undefined\n\t}\n\n\t/** Get storage key by name */\n\tstatic getStorageKey(name: string): LockupAbiStorageKey | undefined {\n\t\treturn LOCKUP_ABI.storage.keys.find((k) => k.name === name)\n\t}\n\n\t/**\n\t * Build transaction arguments for a function\n\t * @deprecated Use `buildContractCall(LOCKUP_ABI, functionName, params)` or\n\t * the typed builder `buildLockupUnlock({ vaultIndex })` instead.\n\t */\n\tstatic buildArgs(functionName: string, params: Record<string, any>): Uint8Array[] {\n\t\tconst func = this.getFunction(functionName)\n\t\tif (!func) {\n\t\t\tthrow new Error(`Function ${functionName} not found`)\n\t\t}\n\n\t\tconst args: Uint8Array[] = []\n\t\tfor (const input of func.inputs) {\n\t\t\tconst value = params[input.name]\n\t\t\tif (value === undefined) {\n\t\t\t\tthrow new Error(`Missing parameter: ${input.name}`)\n\t\t\t}\n\t\t\targs.push(new TextEncoder().encode(String(value)))\n\t\t}\n\t\treturn args\n\t}\n\n\t/** Get contract name */\n\tstatic getContractName(): string {\n\t\treturn LOCKUP_ABI.contractName\n\t}\n\n\t/** Get key prefix for a storage key name */\n\tstatic getKeyPrefix(keyName: string): string | undefined {\n\t\tconst storageKey = this.getStorageKey(keyName)\n\t\treturn storageKey?.pattern.split('{')[0]\n\t}\n}\n"],"mappings":";;;;;;AAOA,IAAa,SAAb,MAAoB;;CAEnB,OAAO,YAAY,MAA6C;EAC/D,OAAO,WAAW,IAAI,MAAM,MAAM,EAAE,SAAS,KAAK;;;CAInD,OAAO,SAAS,OAA2C;;CAK3D,OAAO,cAAc,MAA+C;EACnE,OAAO,WAAW,QAAQ,KAAK,MAAM,MAAM,EAAE,SAAS,KAAK;;;;;;;CAQ5D,OAAO,UAAU,cAAsB,QAA2C;EACjF,MAAM,OAAO,KAAK,YAAY,aAAa;EAC3C,IAAI,CAAC,MACJ,MAAM,IAAI,MAAM,YAAY,aAAa,YAAY;EAGtD,MAAM,OAAqB,EAAE;EAC7B,KAAK,MAAM,SAAS,KAAK,QAAQ;GAChC,MAAM,QAAQ,OAAO,MAAM;GAC3B,IAAI,UAAU,KAAA,GACb,MAAM,IAAI,MAAM,sBAAsB,MAAM,OAAO;GAEpD,KAAK,KAAK,IAAI,aAAa,CAAC,OAAO,OAAO,MAAM,CAAC,CAAC;;EAEnD,OAAO;;;CAIR,OAAO,kBAA0B;EAChC,OAAO,WAAW;;;CAInB,OAAO,aAAa,SAAqC;EAExD,OADmB,KAAK,cAAc,QACrB,EAAE,QAAQ,MAAM,IAAI,CAAC"}
@@ -1,4 +1,6 @@
1
- import type { LockupVault, RawLockupVaultData } from './types';
1
+ import { LockupVault, RawLockupVaultData } from "./types.js";
2
+
3
+ //#region src/contracts/lockup/parsers.d.ts
2
4
  /**
3
5
  * Parse raw lockup vault data string into intermediate format
4
6
  * Format: {unlock_height}-{amount}-{symbol}
@@ -6,7 +8,7 @@ import type { LockupVault, RawLockupVaultData } from './types';
6
8
  * @param dataStr - Raw vault data string from contract state
7
9
  * @returns Parsed data or null if invalid
8
10
  */
9
- export declare function parseRawLockupVaultData(dataStr: string): RawLockupVaultData | null;
11
+ declare function parseRawLockupVaultData(dataStr: string): RawLockupVaultData | null;
10
12
  /**
11
13
  * Parse lockup vault data from contract state
12
14
  * Format: {unlock_height}-{amount}-{symbol}
@@ -16,5 +18,7 @@ export declare function parseRawLockupVaultData(dataStr: string): RawLockupVault
16
18
  * @param vaultIndex - The vault index
17
19
  * @returns Parsed vault or null if invalid
18
20
  */
19
- export declare function parseLockupVaultData(vaultData: string | Uint8Array, vaultIndex: number): LockupVault | null;
21
+ declare function parseLockupVaultData(vaultData: string | Uint8Array, vaultIndex: number): LockupVault | null;
22
+ //#endregion
23
+ export { parseLockupVaultData, parseRawLockupVaultData };
20
24
  //# sourceMappingURL=parsers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"parsers.d.ts","sourceRoot":"","sources":["../../../src/contracts/lockup/parsers.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AAE9D;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,kBAAkB,GAAG,IAAI,CAalF;AAED;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CACnC,SAAS,EAAE,MAAM,GAAG,UAAU,EAC9B,UAAU,EAAE,MAAM,GAChB,WAAW,GAAG,IAAI,CA+BpB"}
1
+ {"version":3,"file":"parsers.d.ts","names":[],"sources":["../../../src/contracts/lockup/parsers.ts"],"mappings":";;;;;AAWA;;;;;iBAAgB,uBAAA,CAAwB,OAAA,WAAkB,kBAAA;;;;;;;;;;iBAwB1C,oBAAA,CACf,SAAA,WAAoB,UAAA,EACpB,UAAA,WACE,WAAA"}
@@ -1,60 +1,56 @@
1
- import { fromAtomicAma } from '../../conversion';
1
+ import { fromAtomicAma } from "../../conversion.js";
2
+ //#region src/contracts/lockup/parsers.ts
2
3
  /**
3
- * Parse raw lockup vault data string into intermediate format
4
- * Format: {unlock_height}-{amount}-{symbol}
5
- *
6
- * @param dataStr - Raw vault data string from contract state
7
- * @returns Parsed data or null if invalid
8
- */
9
- export function parseRawLockupVaultData(dataStr) {
10
- const match = dataStr.match(/^(\d+)-(\d+)-([A-Za-z]+)$/);
11
- if (!match)
12
- return null;
13
- const unlockHeight = Number.parseInt(match[1], 10);
14
- const amountFlat = Number.parseInt(match[2], 10);
15
- const symbol = match[3];
16
- if (Number.isNaN(unlockHeight) || unlockHeight < 0)
17
- return null;
18
- if (Number.isNaN(amountFlat) || amountFlat < 0)
19
- return null;
20
- if (symbol !== 'AMA')
21
- return null;
22
- return { unlockHeight, amountFlat, symbol };
4
+ * Parse raw lockup vault data string into intermediate format
5
+ * Format: {unlock_height}-{amount}-{symbol}
6
+ *
7
+ * @param dataStr - Raw vault data string from contract state
8
+ * @returns Parsed data or null if invalid
9
+ */
10
+ function parseRawLockupVaultData(dataStr) {
11
+ const match = dataStr.match(/^(\d+)-(\d+)-([A-Za-z]+)$/);
12
+ if (!match) return null;
13
+ const unlockHeight = Number.parseInt(match[1], 10);
14
+ const amountFlat = Number.parseInt(match[2], 10);
15
+ const symbol = match[3];
16
+ if (Number.isNaN(unlockHeight) || unlockHeight < 0) return null;
17
+ if (Number.isNaN(amountFlat) || amountFlat < 0) return null;
18
+ if (symbol !== "AMA") return null;
19
+ return {
20
+ unlockHeight,
21
+ amountFlat,
22
+ symbol
23
+ };
23
24
  }
24
25
  /**
25
- * Parse lockup vault data from contract state
26
- * Format: {unlock_height}-{amount}-{symbol}
27
- * These vaults are locked for 5 epochs (100,000 * 5 = 500,000 heights)
28
- *
29
- * @param vaultData - Raw vault data from contract state (string or Uint8Array)
30
- * @param vaultIndex - The vault index
31
- * @returns Parsed vault or null if invalid
32
- */
33
- export function parseLockupVaultData(vaultData, vaultIndex) {
34
- try {
35
- const dataStr = typeof vaultData === 'string' ? vaultData : new TextDecoder().decode(vaultData);
36
- const rawData = parseRawLockupVaultData(dataStr);
37
- if (!rawData)
38
- return null;
39
- const { unlockHeight, amountFlat } = rawData;
40
- const amount = fromAtomicAma(amountFlat);
41
- // Regular lockup vaults created from early unlock are locked for 5 epochs
42
- // 5 epochs = 100,000 * 5 = 500,000 heights
43
- const lockHeight = Math.max(0, unlockHeight - 500_000);
44
- // Approximate epochs: 1 epoch ~ 100,000 heights
45
- const unlockEpoch = Math.floor(unlockHeight / 100_000);
46
- const lockEpoch = Math.floor(lockHeight / 100_000);
47
- return {
48
- unlockEpoch,
49
- lockEpoch,
50
- amount,
51
- vaultIndex,
52
- vaultType: 'vesting',
53
- unlockHeight
54
- };
55
- }
56
- catch {
57
- return null;
58
- }
26
+ * Parse lockup vault data from contract state
27
+ * Format: {unlock_height}-{amount}-{symbol}
28
+ * These vaults are locked for 5 epochs (100,000 * 5 = 500,000 heights)
29
+ *
30
+ * @param vaultData - Raw vault data from contract state (string or Uint8Array)
31
+ * @param vaultIndex - The vault index
32
+ * @returns Parsed vault or null if invalid
33
+ */
34
+ function parseLockupVaultData(vaultData, vaultIndex) {
35
+ try {
36
+ const rawData = parseRawLockupVaultData(typeof vaultData === "string" ? vaultData : new TextDecoder().decode(vaultData));
37
+ if (!rawData) return null;
38
+ const { unlockHeight, amountFlat } = rawData;
39
+ const amount = fromAtomicAma(amountFlat);
40
+ const lockHeight = Math.max(0, unlockHeight - 5e5);
41
+ return {
42
+ unlockEpoch: Math.floor(unlockHeight / 1e5),
43
+ lockEpoch: Math.floor(lockHeight / 1e5),
44
+ amount,
45
+ vaultIndex,
46
+ vaultType: "vesting",
47
+ unlockHeight
48
+ };
49
+ } catch {
50
+ return null;
51
+ }
59
52
  }
53
+ //#endregion
54
+ export { parseLockupVaultData, parseRawLockupVaultData };
55
+
60
56
  //# sourceMappingURL=parsers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"parsers.js","sourceRoot":"","sources":["../../../src/contracts/lockup/parsers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAIhD;;;;;;GAMG;AACH,MAAM,UAAU,uBAAuB,CAAC,OAAe;IACtD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAA;IACxD,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAA;IAEvB,MAAM,YAAY,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAE,EAAE,EAAE,CAAC,CAAA;IACnD,MAAM,UAAU,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAE,EAAE,EAAE,CAAC,CAAA;IACjD,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAE,CAAA;IAExB,IAAI,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,YAAY,GAAG,CAAC;QAAE,OAAO,IAAI,CAAA;IAC/D,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,UAAU,GAAG,CAAC;QAAE,OAAO,IAAI,CAAA;IAC3D,IAAI,MAAM,KAAK,KAAK;QAAE,OAAO,IAAI,CAAA;IAEjC,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,EAAE,CAAA;AAC5C,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,oBAAoB,CACnC,SAA8B,EAC9B,UAAkB;IAElB,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,uBAAuB,CAAC,OAAO,CAAC,CAAA;QAChD,IAAI,CAAC,OAAO;YAAE,OAAO,IAAI,CAAA;QAEzB,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,GAAG,OAAO,CAAA;QAE5C,MAAM,MAAM,GAAG,aAAa,CAAC,UAAU,CAAC,CAAA;QAExC,0EAA0E;QAC1E,2CAA2C;QAC3C,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,CAAA;QAEtD,gDAAgD;QAChD,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,OAAO,CAAC,CAAA;QACtD,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,OAAO,CAAC,CAAA;QAElD,OAAO;YACN,WAAW;YACX,SAAS;YACT,MAAM;YACN,UAAU;YACV,SAAS,EAAE,SAAS;YACpB,YAAY;SACZ,CAAA;IACF,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,IAAI,CAAA;IACZ,CAAC;AACF,CAAC"}
1
+ {"version":3,"file":"parsers.js","names":[],"sources":["../../../src/contracts/lockup/parsers.ts"],"sourcesContent":["import { fromAtomicAma } from '../../conversion'\n\nimport type { LockupVault, RawLockupVaultData } from './types'\n\n/**\n * Parse raw lockup vault data string into intermediate format\n * Format: {unlock_height}-{amount}-{symbol}\n *\n * @param dataStr - Raw vault data string from contract state\n * @returns Parsed data or null if invalid\n */\nexport function parseRawLockupVaultData(dataStr: string): RawLockupVaultData | null {\n\tconst match = dataStr.match(/^(\\d+)-(\\d+)-([A-Za-z]+)$/)\n\tif (!match) return null\n\n\tconst unlockHeight = Number.parseInt(match[1]!, 10)\n\tconst amountFlat = Number.parseInt(match[2]!, 10)\n\tconst symbol = match[3]!\n\n\tif (Number.isNaN(unlockHeight) || unlockHeight < 0) return null\n\tif (Number.isNaN(amountFlat) || amountFlat < 0) return null\n\tif (symbol !== 'AMA') return null\n\n\treturn { unlockHeight, amountFlat, symbol }\n}\n\n/**\n * Parse lockup vault data from contract state\n * Format: {unlock_height}-{amount}-{symbol}\n * These vaults are locked for 5 epochs (100,000 * 5 = 500,000 heights)\n *\n * @param vaultData - Raw vault data from contract state (string or Uint8Array)\n * @param vaultIndex - The vault index\n * @returns Parsed vault or null if invalid\n */\nexport function parseLockupVaultData(\n\tvaultData: string | Uint8Array,\n\tvaultIndex: number\n): LockupVault | null {\n\ttry {\n\t\tconst dataStr =\n\t\t\ttypeof vaultData === 'string' ? vaultData : new TextDecoder().decode(vaultData)\n\n\t\tconst rawData = parseRawLockupVaultData(dataStr)\n\t\tif (!rawData) return null\n\n\t\tconst { unlockHeight, amountFlat } = rawData\n\n\t\tconst amount = fromAtomicAma(amountFlat)\n\n\t\t// Regular lockup vaults created from early unlock are locked for 5 epochs\n\t\t// 5 epochs = 100,000 * 5 = 500,000 heights\n\t\tconst lockHeight = Math.max(0, unlockHeight - 500_000)\n\n\t\t// Approximate epochs: 1 epoch ~ 100,000 heights\n\t\tconst unlockEpoch = Math.floor(unlockHeight / 100_000)\n\t\tconst lockEpoch = Math.floor(lockHeight / 100_000)\n\n\t\treturn {\n\t\t\tunlockEpoch,\n\t\t\tlockEpoch,\n\t\t\tamount,\n\t\t\tvaultIndex,\n\t\t\tvaultType: 'vesting',\n\t\t\tunlockHeight\n\t\t}\n\t} catch {\n\t\treturn null\n\t}\n}\n"],"mappings":";;;;;;;;;AAWA,SAAgB,wBAAwB,SAA4C;CACnF,MAAM,QAAQ,QAAQ,MAAM,4BAA4B;CACxD,IAAI,CAAC,OAAO,OAAO;CAEnB,MAAM,eAAe,OAAO,SAAS,MAAM,IAAK,GAAG;CACnD,MAAM,aAAa,OAAO,SAAS,MAAM,IAAK,GAAG;CACjD,MAAM,SAAS,MAAM;CAErB,IAAI,OAAO,MAAM,aAAa,IAAI,eAAe,GAAG,OAAO;CAC3D,IAAI,OAAO,MAAM,WAAW,IAAI,aAAa,GAAG,OAAO;CACvD,IAAI,WAAW,OAAO,OAAO;CAE7B,OAAO;EAAE;EAAc;EAAY;EAAQ;;;;;;;;;;;AAY5C,SAAgB,qBACf,WACA,YACqB;CACrB,IAAI;EAIH,MAAM,UAAU,wBAFf,OAAO,cAAc,WAAW,YAAY,IAAI,aAAa,CAAC,OAAO,UAAU,CAEhC;EAChD,IAAI,CAAC,SAAS,OAAO;EAErB,MAAM,EAAE,cAAc,eAAe;EAErC,MAAM,SAAS,cAAc,WAAW;EAIxC,MAAM,aAAa,KAAK,IAAI,GAAG,eAAe,IAAQ;EAMtD,OAAO;GACN,aAJmB,KAAK,MAAM,eAAe,IAIlC;GACX,WAJiB,KAAK,MAAM,aAAa,IAIhC;GACT;GACA;GACA,WAAW;GACX;GACA;SACM;EACP,OAAO"}