@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
package/dist/api/chain.js CHANGED
@@ -1,147 +1,176 @@
1
- /**
2
- * Chain API
3
- *
4
- * Provides methods for querying blockchain data
5
- */
6
- import { Base58HashSchema, TransactionFiltersSchema } from '../schemas';
7
- import { Schema } from 'effect';
8
- import { validate } from '../validation';
9
- export class ChainAPI {
10
- client;
11
- constructor(client) {
12
- this.client = client;
13
- }
14
- /**
15
- * Get the current chain tip (latest entry)
16
- *
17
- * @returns Promise resolving to the latest chain entry
18
- *
19
- * @example
20
- * ```ts
21
- * const { entry } = await sdk.chain.getTip()
22
- * console.log('Current height:', entry.height)
23
- * ```
24
- */
25
- async getTip() {
26
- return this.client.get('/api/chain/tip');
27
- }
28
- /**
29
- * Get chain statistics
30
- *
31
- * @returns Promise resolving to chain statistics
32
- *
33
- * @example
34
- * ```ts
35
- * const { stats } = await sdk.chain.getStats()
36
- * console.log('Total entries:', stats.total_entries)
37
- * ```
38
- */
39
- async getStats() {
40
- return this.client.get('/api/chain/stats');
41
- }
42
- /**
43
- * Get entry by hash
44
- *
45
- * @param hash - Entry hash (Base58 encoded)
46
- * @param filterOnFunction - Optional function filter
47
- * @returns Promise resolving to chain entry
48
- * @throws {Error} If hash is invalid
49
- *
50
- * @example
51
- * ```ts
52
- * const { entry } = await sdk.chain.getByHash('5Kd3N...')
53
- * ```
54
- */
55
- async getByHash(hash, filterOnFunction) {
56
- validate(Base58HashSchema, hash);
57
- return this.client.get(`/api/chain/hash/${hash}`, {
58
- filter_on_function: filterOnFunction
59
- });
60
- }
61
- /**
62
- * Get entries by height
63
- *
64
- * @param height - Block height (must be >= 0)
65
- * @returns Promise resolving to chain entries at the specified height
66
- * @throws {Error} If height is invalid
67
- *
68
- * @example
69
- * ```ts
70
- * const { entries } = await sdk.chain.getByHeight(1000)
71
- * ```
72
- */
73
- async getByHeight(height) {
74
- validate(Schema.NonNegativeInt, height);
75
- return this.client.get(`/api/chain/height/${height}`);
76
- }
77
- /**
78
- * Get entries by height with transactions
79
- *
80
- * @param height - Block height (must be >= 0)
81
- * @returns Promise resolving to chain entries with transactions at the specified height
82
- * @throws {Error} If height is invalid
83
- *
84
- * @example
85
- * ```ts
86
- * const { entries } = await sdk.chain.getByHeightWithTxs(1000)
87
- * ```
88
- */
89
- async getByHeightWithTxs(height) {
90
- validate(Schema.NonNegativeInt, height);
91
- return this.client.get(`/api/chain/height_with_txs/${height}`);
92
- }
93
- /**
94
- * Get a specific transaction by ID
95
- *
96
- * @param txid - Transaction ID (Base58 encoded)
97
- * @returns Promise resolving to transaction data
98
- * @throws {Error} If transaction ID is invalid
99
- *
100
- * @example
101
- * ```ts
102
- * const tx = await sdk.chain.getTransaction('5Kd3N...')
103
- * ```
104
- */
105
- async getTransaction(txid) {
106
- validate(Base58HashSchema, txid);
107
- return this.client.get(`/api/chain/tx/${txid}`);
108
- }
109
- /**
110
- * Get transactions in a specific entry
111
- *
112
- * @param entryHash - Entry hash (Base58 encoded)
113
- * @returns Promise resolving to transactions in the entry
114
- * @throws {Error} If entry hash is invalid
115
- *
116
- * @example
117
- * ```ts
118
- * const { txs } = await sdk.chain.getTransactionsInEntry('5Kd3N...')
119
- * ```
120
- */
121
- async getTransactionsInEntry(entryHash) {
122
- validate(Base58HashSchema, entryHash);
123
- return this.client.get(`/api/chain/txs_in_entry/${entryHash}`);
124
- }
125
- /**
126
- * Get transaction events by account with filtering
127
- *
128
- * @param account - Account address (Base58 encoded)
129
- * @param filters - Optional filters for transactions
130
- * @returns Promise resolving to transaction events
131
- * @throws {Error} If account address is invalid
132
- *
133
- * @example
134
- * ```ts
135
- * const { txs, cursor } = await sdk.chain.getTransactionEventsByAccount('5Kd3N...', {
136
- * limit: 10,
137
- * sort: 'desc'
138
- * })
139
- * ```
140
- */
141
- async getTransactionEventsByAccount(account, filters = {}) {
142
- validate(Base58HashSchema, account);
143
- validate(TransactionFiltersSchema, filters);
144
- return this.client.get(`/api/chain/tx_events_by_account/${account}`, filters);
145
- }
146
- }
1
+ import { validate } from "../validation.js";
2
+ import { Base58HashSchema, TransactionFiltersSchema } from "../schemas.js";
3
+ import { Schema } from "effect";
4
+ //#region src/api/chain.ts
5
+ var ChainAPI = class {
6
+ client;
7
+ constructor(client) {
8
+ this.client = client;
9
+ }
10
+ /**
11
+ * Get the current chain tip (latest entry)
12
+ *
13
+ * @returns Promise resolving to the latest chain entry
14
+ *
15
+ * @example
16
+ * ```ts
17
+ * const { entry } = await sdk.chain.getTip()
18
+ * console.log('Current height:', entry.height)
19
+ * ```
20
+ */
21
+ async getTip() {
22
+ return this.client.get("/api/chain/tip");
23
+ }
24
+ /**
25
+ * Get chain statistics
26
+ *
27
+ * @returns Promise resolving to chain statistics
28
+ *
29
+ * @example
30
+ * ```ts
31
+ * const { stats } = await sdk.chain.getStats()
32
+ * console.log('Total entries:', stats.total_entries)
33
+ * ```
34
+ */
35
+ async getStats() {
36
+ return this.client.get("/api/chain/stats");
37
+ }
38
+ /**
39
+ * Get entry by hash
40
+ *
41
+ * @param hash - Entry hash (Base58 encoded)
42
+ * @param filterOnFunction - Optional function filter
43
+ * @returns Promise resolving to chain entry
44
+ * @throws {Error} If hash is invalid
45
+ *
46
+ * @example
47
+ * ```ts
48
+ * const { entry } = await sdk.chain.getByHash('5Kd3N...')
49
+ * ```
50
+ */
51
+ async getByHash(hash, filterOnFunction) {
52
+ validate(Base58HashSchema, hash);
53
+ return this.client.get(`/api/chain/hash/${hash}`, { filter_on_function: filterOnFunction });
54
+ }
55
+ /**
56
+ * Get entries by height
57
+ *
58
+ * @param height - Block height (must be >= 0)
59
+ * @returns Promise resolving to chain entries at the specified height
60
+ * @throws {Error} If height is invalid
61
+ *
62
+ * @example
63
+ * ```ts
64
+ * const { entries } = await sdk.chain.getByHeight(1000)
65
+ * ```
66
+ */
67
+ async getByHeight(height) {
68
+ validate(Schema.NonNegativeInt, height);
69
+ return this.client.get(`/api/chain/height/${height}`);
70
+ }
71
+ /**
72
+ * Get entries by height with transactions
73
+ *
74
+ * @param height - Block height (must be >= 0)
75
+ * @returns Promise resolving to chain entries with transactions at the specified height
76
+ * @throws {Error} If height is invalid
77
+ *
78
+ * @example
79
+ * ```ts
80
+ * const { entries } = await sdk.chain.getByHeightWithTxs(1000)
81
+ * ```
82
+ */
83
+ async getByHeightWithTxs(height) {
84
+ validate(Schema.NonNegativeInt, height);
85
+ return this.client.get(`/api/chain/height_with_txs/${height}`);
86
+ }
87
+ /**
88
+ * Get a specific transaction by ID
89
+ *
90
+ * @param txid - Transaction ID (Base58 encoded)
91
+ * @returns Promise resolving to transaction data
92
+ * @throws {Error} If transaction ID is invalid
93
+ *
94
+ * @example
95
+ * ```ts
96
+ * const tx = await sdk.chain.getTransaction('5Kd3N...')
97
+ * ```
98
+ */
99
+ async getTransaction(txid) {
100
+ validate(Base58HashSchema, txid);
101
+ return this.client.get(`/api/chain/tx/${txid}`);
102
+ }
103
+ /**
104
+ * Get transactions in a specific entry
105
+ *
106
+ * @param entryHash - Entry hash (Base58 encoded)
107
+ * @returns Promise resolving to transactions in the entry
108
+ * @throws {Error} If entry hash is invalid
109
+ *
110
+ * @example
111
+ * ```ts
112
+ * const { txs } = await sdk.chain.getTransactionsInEntry('5Kd3N...')
113
+ * ```
114
+ */
115
+ async getTransactionsInEntry(entryHash) {
116
+ validate(Base58HashSchema, entryHash);
117
+ return this.client.get(`/api/chain/txs_in_entry/${entryHash}`);
118
+ }
119
+ /**
120
+ * Get transaction events by account with filtering
121
+ *
122
+ * @param account - Account address (Base58 encoded)
123
+ * @param filters - Optional filters for transactions
124
+ * @returns Promise resolving to transaction events
125
+ * @throws {Error} If account address is invalid
126
+ *
127
+ * @example
128
+ * ```ts
129
+ * const { txs, cursor } = await sdk.chain.getTransactionEventsByAccount('5Kd3N...', {
130
+ * limit: 10,
131
+ * sort: 'desc'
132
+ * })
133
+ * ```
134
+ */
135
+ async getTransactionEventsByAccount(account, filters = {}) {
136
+ validate(Base58HashSchema, account);
137
+ validate(TransactionFiltersSchema, filters);
138
+ return this.client.get(`/api/chain/tx_events_by_account/${account}`, filters);
139
+ }
140
+ /**
141
+ * Query transactions by arbitrary filter (signer, receiver, contract, function).
142
+ *
143
+ * All filter fields are optional; provide only the ones you want to constrain.
144
+ * Returns a cursor for pagination — pass it back as `cursor` in a subsequent call.
145
+ *
146
+ * @example
147
+ * ```ts
148
+ * const { txs, cursor } = await sdk.chain.getByFilter({
149
+ * signer: '5Kd3N...',
150
+ * contract: 'Coin',
151
+ * function: 'transfer',
152
+ * limit: 50,
153
+ * sort: 'desc'
154
+ * })
155
+ * ```
156
+ */
157
+ async getByFilter(filters = {}) {
158
+ return this.client.get("/api/chain/tx_by_filter", filters);
159
+ }
160
+ /**
161
+ * Get protocol-level KPIs (burned, fees, active validators/peers, total tx, UAW, etc.).
162
+ *
163
+ * @example
164
+ * ```ts
165
+ * const { kpi } = await sdk.chain.getKpi()
166
+ * console.log('Total tx:', kpi.total_tx)
167
+ * ```
168
+ */
169
+ async getKpi() {
170
+ return this.client.get("/api/chain/kpi");
171
+ }
172
+ };
173
+ //#endregion
174
+ export { ChainAPI };
175
+
147
176
  //# sourceMappingURL=chain.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chain.js","sourceRoot":"","sources":["../../src/api/chain.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAaH,OAAO,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAA;AACvE,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC/B,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAExC,MAAM,OAAO,QAAQ;IACA;IAApB,YAAoB,MAAqB;QAArB,WAAM,GAAN,MAAM,CAAe;IAAG,CAAC;IAE7C;;;;;;;;;;OAUG;IACH,KAAK,CAAC,MAAM;QACX,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAiB,gBAAgB,CAAC,CAAA;IACzD,CAAC;IAED;;;;;;;;;;OAUG;IACH,KAAK,CAAC,QAAQ;QACb,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAmB,kBAAkB,CAAC,CAAA;IAC7D,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,SAAS,CAAC,IAAY,EAAE,gBAAyB;QACtD,QAAQ,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAA;QAChC,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAoB,mBAAmB,IAAI,EAAE,EAAE;YACpE,kBAAkB,EAAE,gBAAgB;SACpC,CAAC,CAAA;IACH,CAAC;IAED;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,WAAW,CAAC,MAAc;QAC/B,QAAQ,CAAC,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,CAAA;QACvC,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAsB,qBAAqB,MAAM,EAAE,CAAC,CAAA;IAC3E,CAAC;IAED;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,kBAAkB,CAAC,MAAc;QACtC,QAAQ,CAAC,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,CAAA;QACvC,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAsB,8BAA8B,MAAM,EAAE,CAAC,CAAA;IACpF,CAAC;IAED;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,cAAc,CAAC,IAAY;QAChC,QAAQ,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAA;QAChC,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAc,iBAAiB,IAAI,EAAE,CAAC,CAAA;IAC7D,CAAC;IAED;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,sBAAsB,CAAC,SAAiB;QAC7C,QAAQ,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAA;QACrC,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CACrB,2BAA2B,SAAS,EAAE,CACtC,CAAA;IACF,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACH,KAAK,CAAC,6BAA6B,CAClC,OAAe,EACf,UAA8B,EAAE;QAEhC,QAAQ,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAA;QACnC,QAAQ,CAAC,wBAAwB,EAAE,OAAO,CAAC,CAAA;QAE3C,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CACrB,mCAAmC,OAAO,EAAE,EAC5C,OAAkC,CAClC,CAAA;IACF,CAAC;CACD"}
1
+ {"version":3,"file":"chain.js","names":[],"sources":["../../src/api/chain.ts"],"sourcesContent":["/**\n * Chain API\n *\n * Provides methods for querying blockchain data\n */\n\nimport type { AmadeusClient } from '../client'\nimport type {\n\tTransactionFilters,\n\tGetTipResponse,\n\tGetStatsResponse,\n\tGetByHashResponse,\n\tGetByHeightResponse,\n\tGetTransactionsInEntryResponse,\n\tGetTransactionEventsByAccountResponse,\n\tTransaction,\n\tTxByFilterParams,\n\tTxByFilterResponse,\n\tGetKpiResponse\n} from '../types'\nimport { Base58HashSchema, TransactionFiltersSchema } from '../schemas'\nimport { Schema } from 'effect'\nimport { validate } from '../validation'\n\nexport class ChainAPI {\n\tconstructor(private client: AmadeusClient) {}\n\n\t/**\n\t * Get the current chain tip (latest entry)\n\t *\n\t * @returns Promise resolving to the latest chain entry\n\t *\n\t * @example\n\t * ```ts\n\t * const { entry } = await sdk.chain.getTip()\n\t * console.log('Current height:', entry.height)\n\t * ```\n\t */\n\tasync getTip(): Promise<GetTipResponse> {\n\t\treturn this.client.get<GetTipResponse>('/api/chain/tip')\n\t}\n\n\t/**\n\t * Get chain statistics\n\t *\n\t * @returns Promise resolving to chain statistics\n\t *\n\t * @example\n\t * ```ts\n\t * const { stats } = await sdk.chain.getStats()\n\t * console.log('Total entries:', stats.total_entries)\n\t * ```\n\t */\n\tasync getStats(): Promise<GetStatsResponse> {\n\t\treturn this.client.get<GetStatsResponse>('/api/chain/stats')\n\t}\n\n\t/**\n\t * Get entry by hash\n\t *\n\t * @param hash - Entry hash (Base58 encoded)\n\t * @param filterOnFunction - Optional function filter\n\t * @returns Promise resolving to chain entry\n\t * @throws {Error} If hash is invalid\n\t *\n\t * @example\n\t * ```ts\n\t * const { entry } = await sdk.chain.getByHash('5Kd3N...')\n\t * ```\n\t */\n\tasync getByHash(hash: string, filterOnFunction?: string): Promise<GetByHashResponse> {\n\t\tvalidate(Base58HashSchema, hash)\n\t\treturn this.client.get<GetByHashResponse>(`/api/chain/hash/${hash}`, {\n\t\t\tfilter_on_function: filterOnFunction\n\t\t})\n\t}\n\n\t/**\n\t * Get entries by height\n\t *\n\t * @param height - Block height (must be >= 0)\n\t * @returns Promise resolving to chain entries at the specified height\n\t * @throws {Error} If height is invalid\n\t *\n\t * @example\n\t * ```ts\n\t * const { entries } = await sdk.chain.getByHeight(1000)\n\t * ```\n\t */\n\tasync getByHeight(height: number): Promise<GetByHeightResponse> {\n\t\tvalidate(Schema.NonNegativeInt, height)\n\t\treturn this.client.get<GetByHeightResponse>(`/api/chain/height/${height}`)\n\t}\n\n\t/**\n\t * Get entries by height with transactions\n\t *\n\t * @param height - Block height (must be >= 0)\n\t * @returns Promise resolving to chain entries with transactions at the specified height\n\t * @throws {Error} If height is invalid\n\t *\n\t * @example\n\t * ```ts\n\t * const { entries } = await sdk.chain.getByHeightWithTxs(1000)\n\t * ```\n\t */\n\tasync getByHeightWithTxs(height: number): Promise<GetByHeightResponse> {\n\t\tvalidate(Schema.NonNegativeInt, height)\n\t\treturn this.client.get<GetByHeightResponse>(`/api/chain/height_with_txs/${height}`)\n\t}\n\n\t/**\n\t * Get a specific transaction by ID\n\t *\n\t * @param txid - Transaction ID (Base58 encoded)\n\t * @returns Promise resolving to transaction data\n\t * @throws {Error} If transaction ID is invalid\n\t *\n\t * @example\n\t * ```ts\n\t * const tx = await sdk.chain.getTransaction('5Kd3N...')\n\t * ```\n\t */\n\tasync getTransaction(txid: string): Promise<Transaction> {\n\t\tvalidate(Base58HashSchema, txid)\n\t\treturn this.client.get<Transaction>(`/api/chain/tx/${txid}`)\n\t}\n\n\t/**\n\t * Get transactions in a specific entry\n\t *\n\t * @param entryHash - Entry hash (Base58 encoded)\n\t * @returns Promise resolving to transactions in the entry\n\t * @throws {Error} If entry hash is invalid\n\t *\n\t * @example\n\t * ```ts\n\t * const { txs } = await sdk.chain.getTransactionsInEntry('5Kd3N...')\n\t * ```\n\t */\n\tasync getTransactionsInEntry(entryHash: string): Promise<GetTransactionsInEntryResponse> {\n\t\tvalidate(Base58HashSchema, entryHash)\n\t\treturn this.client.get<GetTransactionsInEntryResponse>(\n\t\t\t`/api/chain/txs_in_entry/${entryHash}`\n\t\t)\n\t}\n\n\t/**\n\t * Get transaction events by account with filtering\n\t *\n\t * @param account - Account address (Base58 encoded)\n\t * @param filters - Optional filters for transactions\n\t * @returns Promise resolving to transaction events\n\t * @throws {Error} If account address is invalid\n\t *\n\t * @example\n\t * ```ts\n\t * const { txs, cursor } = await sdk.chain.getTransactionEventsByAccount('5Kd3N...', {\n\t * limit: 10,\n\t * sort: 'desc'\n\t * })\n\t * ```\n\t */\n\tasync getTransactionEventsByAccount(\n\t\taccount: string,\n\t\tfilters: TransactionFilters = {}\n\t): Promise<GetTransactionEventsByAccountResponse> {\n\t\tvalidate(Base58HashSchema, account)\n\t\tvalidate(TransactionFiltersSchema, filters)\n\n\t\treturn this.client.get<GetTransactionEventsByAccountResponse>(\n\t\t\t`/api/chain/tx_events_by_account/${account}`,\n\t\t\tfilters as Record<string, unknown>\n\t\t)\n\t}\n\n\t/**\n\t * Query transactions by arbitrary filter (signer, receiver, contract, function).\n\t *\n\t * All filter fields are optional; provide only the ones you want to constrain.\n\t * Returns a cursor for pagination — pass it back as `cursor` in a subsequent call.\n\t *\n\t * @example\n\t * ```ts\n\t * const { txs, cursor } = await sdk.chain.getByFilter({\n\t * signer: '5Kd3N...',\n\t * contract: 'Coin',\n\t * function: 'transfer',\n\t * limit: 50,\n\t * sort: 'desc'\n\t * })\n\t * ```\n\t */\n\tasync getByFilter(filters: TxByFilterParams = {}): Promise<TxByFilterResponse> {\n\t\treturn this.client.get<TxByFilterResponse>(\n\t\t\t'/api/chain/tx_by_filter',\n\t\t\tfilters as Record<string, unknown>\n\t\t)\n\t}\n\n\t/**\n\t * Get protocol-level KPIs (burned, fees, active validators/peers, total tx, UAW, etc.).\n\t *\n\t * @example\n\t * ```ts\n\t * const { kpi } = await sdk.chain.getKpi()\n\t * console.log('Total tx:', kpi.total_tx)\n\t * ```\n\t */\n\tasync getKpi(): Promise<GetKpiResponse> {\n\t\treturn this.client.get<GetKpiResponse>('/api/chain/kpi')\n\t}\n}\n"],"mappings":";;;;AAwBA,IAAa,WAAb,MAAsB;CACD;CAApB,YAAY,QAA+B;EAAvB,KAAA,SAAA;;;;;;;;;;;;;CAapB,MAAM,SAAkC;EACvC,OAAO,KAAK,OAAO,IAAoB,iBAAiB;;;;;;;;;;;;;CAczD,MAAM,WAAsC;EAC3C,OAAO,KAAK,OAAO,IAAsB,mBAAmB;;;;;;;;;;;;;;;CAgB7D,MAAM,UAAU,MAAc,kBAAuD;EACpF,SAAS,kBAAkB,KAAK;EAChC,OAAO,KAAK,OAAO,IAAuB,mBAAmB,QAAQ,EACpE,oBAAoB,kBACpB,CAAC;;;;;;;;;;;;;;CAeH,MAAM,YAAY,QAA8C;EAC/D,SAAS,OAAO,gBAAgB,OAAO;EACvC,OAAO,KAAK,OAAO,IAAyB,qBAAqB,SAAS;;;;;;;;;;;;;;CAe3E,MAAM,mBAAmB,QAA8C;EACtE,SAAS,OAAO,gBAAgB,OAAO;EACvC,OAAO,KAAK,OAAO,IAAyB,8BAA8B,SAAS;;;;;;;;;;;;;;CAepF,MAAM,eAAe,MAAoC;EACxD,SAAS,kBAAkB,KAAK;EAChC,OAAO,KAAK,OAAO,IAAiB,iBAAiB,OAAO;;;;;;;;;;;;;;CAe7D,MAAM,uBAAuB,WAA4D;EACxF,SAAS,kBAAkB,UAAU;EACrC,OAAO,KAAK,OAAO,IAClB,2BAA2B,YAC3B;;;;;;;;;;;;;;;;;;CAmBF,MAAM,8BACL,SACA,UAA8B,EAAE,EACiB;EACjD,SAAS,kBAAkB,QAAQ;EACnC,SAAS,0BAA0B,QAAQ;EAE3C,OAAO,KAAK,OAAO,IAClB,mCAAmC,WACnC,QACA;;;;;;;;;;;;;;;;;;;CAoBF,MAAM,YAAY,UAA4B,EAAE,EAA+B;EAC9E,OAAO,KAAK,OAAO,IAClB,2BACA,QACA;;;;;;;;;;;CAYF,MAAM,SAAkC;EACvC,OAAO,KAAK,OAAO,IAAoB,iBAAiB"}
@@ -1,62 +1,80 @@
1
- /**
2
- * Contract API
3
- *
4
- * Provides methods for interacting with smart contracts
5
- */
6
- import type { AmadeusClient } from '../client';
7
- import type { ValidateBytecodeResponse, GetRichlistResponse, ContractDataValue } from '../types';
8
- export declare class ContractAPI {
9
- private client;
10
- constructor(client: AmadeusClient);
11
- /**
12
- * Validate contract bytecode
13
- *
14
- * @param bytecode - Contract bytecode as Uint8Array or ArrayBuffer
15
- * @returns Promise resolving to validation result
16
- * @throws {AmadeusSDKError} If bytecode is invalid or empty
17
- *
18
- * @example
19
- * ```ts
20
- * const result = await sdk.contract.validateBytecode(wasmBytecode)
21
- * ```
22
- */
23
- validateBytecode(bytecode: Uint8Array | ArrayBuffer): Promise<ValidateBytecodeResponse>;
24
- /**
25
- * Get contract data by key
26
- *
27
- * @param key - Contract key as Uint8Array or Base58 string
28
- * @returns Promise resolving to contract data value (JSON-serializable)
29
- * @throws {AmadeusSDKError} If key is invalid
30
- *
31
- * @example
32
- * ```ts
33
- * const data = await sdk.contract.get(keyBytes)
34
- * ```
35
- */
36
- get(key: Uint8Array | string): Promise<ContractDataValue>;
37
- /**
38
- * Get contract data by key prefix
39
- *
40
- * @param key - Contract key prefix as Uint8Array or Base58 string
41
- * @returns Promise resolving to contract data matching the prefix (array of key-value pairs)
42
- * @throws {AmadeusSDKError} If key is invalid
43
- *
44
- * @example
45
- * ```ts
46
- * const data = await sdk.contract.getPrefix(keyPrefix)
47
- * ```
48
- */
49
- getPrefix(key: Uint8Array | string): Promise<ContractDataValue[]>;
50
- /**
51
- * Get contract richlist (token holders)
52
- *
53
- * @returns Promise resolving to richlist entries
54
- *
55
- * @example
56
- * ```ts
57
- * const { richlist } = await sdk.contract.getRichlist()
58
- * ```
59
- */
60
- getRichlist(): Promise<GetRichlistResponse>;
1
+ import { ContractDataValue, ContractViewParams, ContractViewResponse, GetRichlistResponse, ValidateBytecodeResponse } from "../types.js";
2
+ import { AmadeusClient } from "../client.js";
3
+
4
+ //#region src/api/contract.d.ts
5
+ declare class ContractAPI {
6
+ private client;
7
+ constructor(client: AmadeusClient);
8
+ /**
9
+ * Validate contract bytecode
10
+ *
11
+ * @param bytecode - Contract bytecode as Uint8Array or ArrayBuffer
12
+ * @returns Promise resolving to validation result
13
+ * @throws {AmadeusSDKError} If bytecode is invalid or empty
14
+ *
15
+ * @example
16
+ * ```ts
17
+ * const result = await sdk.contract.validateBytecode(wasmBytecode)
18
+ * ```
19
+ */
20
+ validateBytecode(bytecode: Uint8Array | ArrayBuffer): Promise<ValidateBytecodeResponse>;
21
+ /**
22
+ * Get contract data by key
23
+ *
24
+ * @param key - Contract key as Uint8Array or Base58 string
25
+ * @returns Promise resolving to contract data value (JSON-serializable)
26
+ * @throws {AmadeusSDKError} If key is invalid
27
+ *
28
+ * @example
29
+ * ```ts
30
+ * const data = await sdk.contract.get(keyBytes)
31
+ * ```
32
+ */
33
+ get(key: Uint8Array | string): Promise<ContractDataValue>;
34
+ /**
35
+ * Get contract data by key prefix
36
+ *
37
+ * @param key - Contract key prefix as Uint8Array or Base58 string
38
+ * @returns Promise resolving to contract data matching the prefix (array of key-value pairs)
39
+ * @throws {AmadeusSDKError} If key is invalid
40
+ *
41
+ * @example
42
+ * ```ts
43
+ * const data = await sdk.contract.getPrefix(keyPrefix)
44
+ * ```
45
+ */
46
+ getPrefix(key: Uint8Array | string): Promise<ContractDataValue[]>;
47
+ /**
48
+ * Get contract richlist (token holders)
49
+ *
50
+ * @returns Promise resolving to richlist entries
51
+ *
52
+ * @example
53
+ * ```ts
54
+ * const { richlist } = await sdk.contract.getRichlist()
55
+ * ```
56
+ */
57
+ getRichlist(): Promise<GetRichlistResponse>;
58
+ /**
59
+ * Execute a contract function in read-only (view) mode against the current chain tip.
60
+ *
61
+ * No transaction is created and no state is mutated. Useful for querying contract
62
+ * state through the contract's own logic (e.g. computed balances, vault status).
63
+ *
64
+ * @param params - Contract, function, args, and optional caller pk
65
+ * @returns Promise resolving to `{ success, result, logs }`
66
+ *
67
+ * @example
68
+ * ```ts
69
+ * const { success, result } = await sdk.contract.view({
70
+ * contract: 'LockupPrime',
71
+ * function: 'view_balance',
72
+ * args: ['my_vault']
73
+ * })
74
+ * ```
75
+ */
76
+ view(params: ContractViewParams): Promise<ContractViewResponse>;
61
77
  }
78
+ //#endregion
79
+ export { ContractAPI };
62
80
  //# sourceMappingURL=contract.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../../src/api/contract.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA;AAC9C,OAAO,KAAK,EAAE,wBAAwB,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAA;AAIhG,qBAAa,WAAW;IACX,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,aAAa;IAEzC;;;;;;;;;;;OAWG;IACG,gBAAgB,CAAC,QAAQ,EAAE,UAAU,GAAG,WAAW,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAM7F;;;;;;;;;;;OAWG;IACG,GAAG,CAAC,GAAG,EAAE,UAAU,GAAG,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAK/D;;;;;;;;;;;OAWG;IACG,SAAS,CAAC,GAAG,EAAE,UAAU,GAAG,MAAM,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAKvE;;;;;;;;;OASG;IACG,WAAW,IAAI,OAAO,CAAC,mBAAmB,CAAC;CAGjD"}
1
+ {"version":3,"file":"contract.d.ts","names":[],"sources":["../../src/api/contract.ts"],"mappings":";;;;cAmBa,WAAA;EAAA,QACQ,MAAA;cAAA,MAAA,EAAQ,aAAA;EAcwC;;;;;;;;;;;;EAA9D,gBAAA,CAAiB,QAAA,EAAU,UAAA,GAAa,WAAA,GAAc,OAAA,CAAQ,wBAAA;EAwErB;;;;;;;;;;;;EAtDzC,GAAA,CAAI,GAAA,EAAK,UAAA,YAAsB,OAAA,CAAQ,iBAAA;EAA9B;;;;;;;;;;;;EAiBT,SAAA,CAAU,GAAA,EAAK,UAAA,YAAsB,OAAA,CAAQ,iBAAA;EAqChC;;;;;;;;;;EAtBb,WAAA,CAAA,GAAe,OAAA,CAAQ,mBAAA;;;;;;;;;;;;;;;;;;;EAsBvB,IAAA,CAAK,MAAA,EAAQ,kBAAA,GAAqB,OAAA,CAAQ,oBAAA;AAAA"}