@galaxy-kj/core-stellar-sdk 2.0.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 (179) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +576 -0
  3. package/dist/claimable-balances/claimable-balance-manager.d.ts +99 -0
  4. package/dist/claimable-balances/claimable-balance-manager.d.ts.map +1 -0
  5. package/dist/claimable-balances/claimable-balance-manager.js +352 -0
  6. package/dist/claimable-balances/claimable-balance-manager.js.map +1 -0
  7. package/dist/claimable-balances/helpers.d.ts +66 -0
  8. package/dist/claimable-balances/helpers.d.ts.map +1 -0
  9. package/dist/claimable-balances/helpers.js +179 -0
  10. package/dist/claimable-balances/helpers.js.map +1 -0
  11. package/dist/claimable-balances/index.d.ts +12 -0
  12. package/dist/claimable-balances/index.d.ts.map +1 -0
  13. package/dist/claimable-balances/index.js +14 -0
  14. package/dist/claimable-balances/index.js.map +1 -0
  15. package/dist/claimable-balances/predicate-builder.d.ts +66 -0
  16. package/dist/claimable-balances/predicate-builder.d.ts.map +1 -0
  17. package/dist/claimable-balances/predicate-builder.js +169 -0
  18. package/dist/claimable-balances/predicate-builder.js.map +1 -0
  19. package/dist/claimable-balances/types.d.ts +123 -0
  20. package/dist/claimable-balances/types.d.ts.map +1 -0
  21. package/dist/claimable-balances/types.js +9 -0
  22. package/dist/claimable-balances/types.js.map +1 -0
  23. package/dist/hooks/use-stellar.d.ts +48 -0
  24. package/dist/hooks/use-stellar.d.ts.map +1 -0
  25. package/dist/hooks/use-stellar.js +510 -0
  26. package/dist/hooks/use-stellar.js.map +1 -0
  27. package/dist/index.d.ts +19 -0
  28. package/dist/index.d.ts.map +1 -0
  29. package/dist/index.js +28 -0
  30. package/dist/index.js.map +1 -0
  31. package/dist/liquidity-pools/calculations.d.ts +113 -0
  32. package/dist/liquidity-pools/calculations.d.ts.map +1 -0
  33. package/dist/liquidity-pools/calculations.js +291 -0
  34. package/dist/liquidity-pools/calculations.js.map +1 -0
  35. package/dist/liquidity-pools/helpers.d.ts +102 -0
  36. package/dist/liquidity-pools/helpers.d.ts.map +1 -0
  37. package/dist/liquidity-pools/helpers.js +219 -0
  38. package/dist/liquidity-pools/helpers.js.map +1 -0
  39. package/dist/liquidity-pools/index.d.ts +13 -0
  40. package/dist/liquidity-pools/index.d.ts.map +1 -0
  41. package/dist/liquidity-pools/index.js +18 -0
  42. package/dist/liquidity-pools/index.js.map +1 -0
  43. package/dist/liquidity-pools/liquidity-pool-manager.d.ts +106 -0
  44. package/dist/liquidity-pools/liquidity-pool-manager.d.ts.map +1 -0
  45. package/dist/liquidity-pools/liquidity-pool-manager.js +387 -0
  46. package/dist/liquidity-pools/liquidity-pool-manager.js.map +1 -0
  47. package/dist/liquidity-pools/types.d.ts +135 -0
  48. package/dist/liquidity-pools/types.d.ts.map +1 -0
  49. package/dist/liquidity-pools/types.js +6 -0
  50. package/dist/liquidity-pools/types.js.map +1 -0
  51. package/dist/liquidity-pools/validation.d.ts +75 -0
  52. package/dist/liquidity-pools/validation.d.ts.map +1 -0
  53. package/dist/liquidity-pools/validation.js +218 -0
  54. package/dist/liquidity-pools/validation.js.map +1 -0
  55. package/dist/services/stellar-service.d.ts +231 -0
  56. package/dist/services/stellar-service.d.ts.map +1 -0
  57. package/dist/services/stellar-service.js +674 -0
  58. package/dist/services/stellar-service.js.map +1 -0
  59. package/dist/soroban/helpers/contract-factory.d.ts +45 -0
  60. package/dist/soroban/helpers/contract-factory.d.ts.map +1 -0
  61. package/dist/soroban/helpers/contract-factory.js +84 -0
  62. package/dist/soroban/helpers/contract-factory.js.map +1 -0
  63. package/dist/soroban/helpers/token-contract-wrapper.d.ts +104 -0
  64. package/dist/soroban/helpers/token-contract-wrapper.d.ts.map +1 -0
  65. package/dist/soroban/helpers/token-contract-wrapper.js +286 -0
  66. package/dist/soroban/helpers/token-contract-wrapper.js.map +1 -0
  67. package/dist/soroban/index.d.ts +19 -0
  68. package/dist/soroban/index.d.ts.map +1 -0
  69. package/dist/soroban/index.js +19 -0
  70. package/dist/soroban/index.js.map +1 -0
  71. package/dist/soroban/soroban-contract-manager.d.ts +71 -0
  72. package/dist/soroban/soroban-contract-manager.d.ts.map +1 -0
  73. package/dist/soroban/soroban-contract-manager.js +376 -0
  74. package/dist/soroban/soroban-contract-manager.js.map +1 -0
  75. package/dist/soroban/types/contract-types.d.ts +156 -0
  76. package/dist/soroban/types/contract-types.d.ts.map +1 -0
  77. package/dist/soroban/types/contract-types.js +3 -0
  78. package/dist/soroban/types/contract-types.js.map +1 -0
  79. package/dist/soroban/utils/abi-parser.d.ts +90 -0
  80. package/dist/soroban/utils/abi-parser.d.ts.map +1 -0
  81. package/dist/soroban/utils/abi-parser.js +308 -0
  82. package/dist/soroban/utils/abi-parser.js.map +1 -0
  83. package/dist/soroban/utils/error-parser.d.ts +70 -0
  84. package/dist/soroban/utils/error-parser.d.ts.map +1 -0
  85. package/dist/soroban/utils/error-parser.js +302 -0
  86. package/dist/soroban/utils/error-parser.js.map +1 -0
  87. package/dist/soroban/utils/event-decoder.d.ts +91 -0
  88. package/dist/soroban/utils/event-decoder.d.ts.map +1 -0
  89. package/dist/soroban/utils/event-decoder.js +307 -0
  90. package/dist/soroban/utils/event-decoder.js.map +1 -0
  91. package/dist/soroban/utils/event-monitor.d.ts +93 -0
  92. package/dist/soroban/utils/event-monitor.d.ts.map +1 -0
  93. package/dist/soroban/utils/event-monitor.js +282 -0
  94. package/dist/soroban/utils/event-monitor.js.map +1 -0
  95. package/dist/soroban/utils/function-signature-builder.d.ts +98 -0
  96. package/dist/soroban/utils/function-signature-builder.d.ts.map +1 -0
  97. package/dist/soroban/utils/function-signature-builder.js +272 -0
  98. package/dist/soroban/utils/function-signature-builder.js.map +1 -0
  99. package/dist/soroban/utils/scval-converter.d.ts +48 -0
  100. package/dist/soroban/utils/scval-converter.d.ts.map +1 -0
  101. package/dist/soroban/utils/scval-converter.js +320 -0
  102. package/dist/soroban/utils/scval-converter.js.map +1 -0
  103. package/dist/sponsored-reserves/builders/sponsored-account-builder.d.ts +58 -0
  104. package/dist/sponsored-reserves/builders/sponsored-account-builder.d.ts.map +1 -0
  105. package/dist/sponsored-reserves/builders/sponsored-account-builder.js +159 -0
  106. package/dist/sponsored-reserves/builders/sponsored-account-builder.js.map +1 -0
  107. package/dist/sponsored-reserves/builders/sponsored-claimable-balance-builder.d.ts +104 -0
  108. package/dist/sponsored-reserves/builders/sponsored-claimable-balance-builder.d.ts.map +1 -0
  109. package/dist/sponsored-reserves/builders/sponsored-claimable-balance-builder.js +258 -0
  110. package/dist/sponsored-reserves/builders/sponsored-claimable-balance-builder.js.map +1 -0
  111. package/dist/sponsored-reserves/builders/sponsored-data-entry-builder.d.ts +96 -0
  112. package/dist/sponsored-reserves/builders/sponsored-data-entry-builder.d.ts.map +1 -0
  113. package/dist/sponsored-reserves/builders/sponsored-data-entry-builder.js +320 -0
  114. package/dist/sponsored-reserves/builders/sponsored-data-entry-builder.js.map +1 -0
  115. package/dist/sponsored-reserves/builders/sponsored-signer-builder.d.ts +100 -0
  116. package/dist/sponsored-reserves/builders/sponsored-signer-builder.d.ts.map +1 -0
  117. package/dist/sponsored-reserves/builders/sponsored-signer-builder.js +271 -0
  118. package/dist/sponsored-reserves/builders/sponsored-signer-builder.js.map +1 -0
  119. package/dist/sponsored-reserves/builders/sponsored-trustline-builder.d.ts +87 -0
  120. package/dist/sponsored-reserves/builders/sponsored-trustline-builder.d.ts.map +1 -0
  121. package/dist/sponsored-reserves/builders/sponsored-trustline-builder.js +281 -0
  122. package/dist/sponsored-reserves/builders/sponsored-trustline-builder.js.map +1 -0
  123. package/dist/sponsored-reserves/index.d.ts +20 -0
  124. package/dist/sponsored-reserves/index.d.ts.map +1 -0
  125. package/dist/sponsored-reserves/index.js +24 -0
  126. package/dist/sponsored-reserves/index.js.map +1 -0
  127. package/dist/sponsored-reserves/services/sponsored-reserves-manager.d.ts +144 -0
  128. package/dist/sponsored-reserves/services/sponsored-reserves-manager.d.ts.map +1 -0
  129. package/dist/sponsored-reserves/services/sponsored-reserves-manager.js +536 -0
  130. package/dist/sponsored-reserves/services/sponsored-reserves-manager.js.map +1 -0
  131. package/dist/sponsored-reserves/templates/claimable-balance-template.d.ts +96 -0
  132. package/dist/sponsored-reserves/templates/claimable-balance-template.d.ts.map +1 -0
  133. package/dist/sponsored-reserves/templates/claimable-balance-template.js +306 -0
  134. package/dist/sponsored-reserves/templates/claimable-balance-template.js.map +1 -0
  135. package/dist/sponsored-reserves/templates/multi-operation-template.d.ts +99 -0
  136. package/dist/sponsored-reserves/templates/multi-operation-template.d.ts.map +1 -0
  137. package/dist/sponsored-reserves/templates/multi-operation-template.js +313 -0
  138. package/dist/sponsored-reserves/templates/multi-operation-template.js.map +1 -0
  139. package/dist/sponsored-reserves/templates/user-onboarding-template.d.ts +79 -0
  140. package/dist/sponsored-reserves/templates/user-onboarding-template.d.ts.map +1 -0
  141. package/dist/sponsored-reserves/templates/user-onboarding-template.js +262 -0
  142. package/dist/sponsored-reserves/templates/user-onboarding-template.js.map +1 -0
  143. package/dist/sponsored-reserves/types/sponsored-reserves-types.d.ts +364 -0
  144. package/dist/sponsored-reserves/types/sponsored-reserves-types.d.ts.map +1 -0
  145. package/dist/sponsored-reserves/types/sponsored-reserves-types.js +9 -0
  146. package/dist/sponsored-reserves/types/sponsored-reserves-types.js.map +1 -0
  147. package/dist/sponsored-reserves/utils/cost-calculator.d.ts +98 -0
  148. package/dist/sponsored-reserves/utils/cost-calculator.d.ts.map +1 -0
  149. package/dist/sponsored-reserves/utils/cost-calculator.js +238 -0
  150. package/dist/sponsored-reserves/utils/cost-calculator.js.map +1 -0
  151. package/dist/sponsored-reserves/utils/sponsorship-validation.d.ts +112 -0
  152. package/dist/sponsored-reserves/utils/sponsorship-validation.d.ts.map +1 -0
  153. package/dist/sponsored-reserves/utils/sponsorship-validation.js +394 -0
  154. package/dist/sponsored-reserves/utils/sponsorship-validation.js.map +1 -0
  155. package/dist/types/stellar-sdk-compat.d.ts +25 -0
  156. package/dist/types/stellar-sdk-compat.d.ts.map +1 -0
  157. package/dist/types/stellar-sdk-compat.js +44 -0
  158. package/dist/types/stellar-sdk-compat.js.map +1 -0
  159. package/dist/types/stellar-types.d.ts +160 -0
  160. package/dist/types/stellar-types.d.ts.map +1 -0
  161. package/dist/types/stellar-types.js +9 -0
  162. package/dist/types/stellar-types.js.map +1 -0
  163. package/dist/utils/encryption.utils.d.ts +9 -0
  164. package/dist/utils/encryption.utils.d.ts.map +1 -0
  165. package/dist/utils/encryption.utils.js +44 -0
  166. package/dist/utils/encryption.utils.js.map +1 -0
  167. package/dist/utils/network-utils.d.ts +138 -0
  168. package/dist/utils/network-utils.d.ts.map +1 -0
  169. package/dist/utils/network-utils.js +240 -0
  170. package/dist/utils/network-utils.js.map +1 -0
  171. package/dist/utils/stellar-utils.d.ts +114 -0
  172. package/dist/utils/stellar-utils.d.ts.map +1 -0
  173. package/dist/utils/stellar-utils.js +186 -0
  174. package/dist/utils/stellar-utils.js.map +1 -0
  175. package/dist/utils/supabase-client.d.ts +2 -0
  176. package/dist/utils/supabase-client.d.ts.map +1 -0
  177. package/dist/utils/supabase-client.js +9 -0
  178. package/dist/utils/supabase-client.js.map +1 -0
  179. package/package.json +60 -0
@@ -0,0 +1,302 @@
1
+ // @ts-nocheck
2
+ /**
3
+ * @fileoverview Error Parser
4
+ * @description Parse and handle Soroban contract errors
5
+ * @author Galaxy DevKit Team
6
+ * @version 1.0.0
7
+ * @since 2024-12-01
8
+ */
9
+ import { xdr } from '@stellar/stellar-sdk';
10
+ export class SorobanError extends Error {
11
+ constructor(message, code = 0, type = 'Unknown') {
12
+ super(message);
13
+ this.name = 'SorobanError';
14
+ this.code = code;
15
+ this.type = type;
16
+ }
17
+ static withContext(message, code, type, context) {
18
+ const error = new SorobanError(message, code, type);
19
+ if (context) {
20
+ Object.defineProperty(error, 'contractId', {
21
+ value: context.contractId,
22
+ writable: true,
23
+ configurable: true,
24
+ });
25
+ Object.defineProperty(error, 'method', {
26
+ value: context.method,
27
+ writable: true,
28
+ configurable: true,
29
+ });
30
+ }
31
+ return error;
32
+ }
33
+ }
34
+ export class ErrorParser {
35
+ /**
36
+ * Parse Soroban error from result
37
+ */
38
+ static parseError(result) {
39
+ if (!result) {
40
+ return new SorobanError('Unknown error occurred', -1, 'Unknown');
41
+ }
42
+ try {
43
+ // Try to parse as error struct
44
+ const errorValue = this.extractErrorValue(result);
45
+ if (errorValue instanceof Map) {
46
+ return this.parseErrorStruct(errorValue);
47
+ }
48
+ // Try to parse as error code
49
+ if (typeof errorValue === 'number') {
50
+ return this.parseErrorCode(errorValue);
51
+ }
52
+ // Try to parse as error string
53
+ if (typeof errorValue === 'string') {
54
+ return new SorobanError(errorValue, 0, 'Custom');
55
+ }
56
+ return new SorobanError(`Unrecognized error format: ${errorValue}`, -1, 'InvalidFormat');
57
+ }
58
+ catch (error) {
59
+ return new SorobanError(`Failed to parse error: ${error.message}`, -2, 'ParseError');
60
+ }
61
+ }
62
+ /**
63
+ * Parse transaction error
64
+ */
65
+ static parseTransactionError(resultXdr, metaXdr) {
66
+ try {
67
+ if (resultXdr) {
68
+ const result = xdr.TransactionResult.fromXDR(resultXdr, 'base64');
69
+ if (result.result().switch() === xdr.TransactionResultCode.txFailed()) {
70
+ const operations = result.result().results() || [];
71
+ for (const op of operations) {
72
+ if (op.tr()?.switch() ===
73
+ xdr.TransactionResultResultCode.txInternalError()) {
74
+ return this.parseError(op.tr().value());
75
+ }
76
+ }
77
+ }
78
+ }
79
+ // Parse meta for additional error information
80
+ if (metaXdr) {
81
+ const meta = xdr.TransactionMeta.fromXDR(metaXdr, 'base64');
82
+ return this.parseMetaError(meta);
83
+ }
84
+ return new SorobanError('Transaction failed but no specific error found', -1, 'TransactionFailed');
85
+ }
86
+ catch (error) {
87
+ return new SorobanError(`Failed to parse transaction error: ${error.message}`, -2, 'ParseError');
88
+ }
89
+ }
90
+ /**
91
+ * Parse simulation error
92
+ */
93
+ static parseSimulationError(error, result) {
94
+ if (error) {
95
+ // Try to extract error details from error string
96
+ if (error.includes('insufficient fee')) {
97
+ return new SorobanError('Insufficient fee for transaction', 4001, 'InsufficientFee');
98
+ }
99
+ if (error.includes('insufficient balance')) {
100
+ return new SorobanError('Insufficient balance', 4002, 'InsufficientBalance');
101
+ }
102
+ if (error.includes('contract not found')) {
103
+ return new SorobanError('Contract not found', 4003, 'ContractNotFound');
104
+ }
105
+ if (error.includes('method not found')) {
106
+ return new SorobanError('Method not found', 4004, 'MethodNotFound');
107
+ }
108
+ if (error.includes('invalid argument')) {
109
+ return new SorobanError('Invalid argument', 4005, 'InvalidArgument');
110
+ }
111
+ return new SorobanError(error, 4000, 'SimulationError');
112
+ }
113
+ if (result) {
114
+ return this.parseError(result);
115
+ }
116
+ return new SorobanError('Simulation failed', 4000, 'SimulationError');
117
+ }
118
+ /**
119
+ * Parse common error codes
120
+ */
121
+ static parseErrorCode(code) {
122
+ switch (code) {
123
+ case 1:
124
+ return new SorobanError('Contract panicked', 1, 'ContractPanic');
125
+ case 2:
126
+ return new SorobanError('Arithmetic overflow', 2, 'ArithmeticOverflow');
127
+ case 3:
128
+ return new SorobanError('Division by zero', 3, 'DivisionByZero');
129
+ case 4:
130
+ return new SorobanError('Invalid arithmetic', 4, 'InvalidArithmetic');
131
+ case 5:
132
+ return new SorobanError('Invalid input', 5, 'InvalidInput');
133
+ case 6:
134
+ return new SorobanError('Index out of bounds', 6, 'IndexOutOfBounds');
135
+ case 7:
136
+ return new SorobanError('Memory access violation', 7, 'MemoryAccessViolation');
137
+ case 8:
138
+ return new SorobanError('Invalid conversion', 8, 'InvalidConversion');
139
+ case 9:
140
+ return new SorobanError('Missing value in optional', 9, 'MissingValue');
141
+ case 10:
142
+ return new SorobanError('Expected error in result', 10, 'ExpectedError');
143
+ case 11:
144
+ return new SorobanError('Host context error', 11, 'HostContextError');
145
+ default:
146
+ return new SorobanError(`Unknown error code: ${code}`, code, 'UnknownCode');
147
+ }
148
+ }
149
+ /**
150
+ * Parse error struct from Map
151
+ */
152
+ static parseErrorStruct(errorMap) {
153
+ const code = errorMap.get('code');
154
+ const message = errorMap.get('message');
155
+ const type = errorMap.get('type');
156
+ if (typeof code === 'number') {
157
+ return new SorobanError(typeof message === 'string' ? message : 'Contract error', code, typeof type === 'string' ? type : 'ContractError');
158
+ }
159
+ return new SorobanError(typeof message === 'string' ? message : 'Unknown contract error', 0, typeof type === 'string' ? type : 'ContractError');
160
+ }
161
+ /**
162
+ * Extract error value from ScVal
163
+ */
164
+ static extractErrorValue(result) {
165
+ switch (result.switch()) {
166
+ case xdr.ScValType.scvError():
167
+ // Error is encoded as a ScVal containing error information
168
+ return result.error();
169
+ case xdr.ScValType.scvU32():
170
+ return result.u32();
171
+ case xdr.ScValType.scvI32():
172
+ return result.i32();
173
+ case xdr.ScValType.scvString():
174
+ return result.str().toString();
175
+ case xdr.ScValType.scvSymbol():
176
+ return result.symbol().toString();
177
+ case xdr.ScValType.scvMap():
178
+ const map = new Map();
179
+ for (const entry of result.map()) {
180
+ const key = this.extractScValValue(entry.key());
181
+ const value = this.extractScValValue(entry.val());
182
+ map.set(key, value);
183
+ }
184
+ return map;
185
+ default:
186
+ return result;
187
+ }
188
+ }
189
+ /**
190
+ * Extract primitive value from ScVal
191
+ */
192
+ static extractScValValue(scVal) {
193
+ switch (scVal.switch()) {
194
+ case xdr.ScValType.scvVoid():
195
+ return null;
196
+ case xdr.ScValType.scvBool():
197
+ return scVal.bool();
198
+ case xdr.ScValType.scvU32():
199
+ return scVal.u32();
200
+ case xdr.ScValType.scvI32():
201
+ return scVal.i32();
202
+ case xdr.ScValType.scvString():
203
+ return scVal.str().toString();
204
+ case xdr.ScValType.scvSymbol():
205
+ return scVal.symbol().toString();
206
+ default:
207
+ return scVal;
208
+ }
209
+ }
210
+ /**
211
+ * Parse error from transaction meta
212
+ */
213
+ static parseMetaError(meta) {
214
+ const v3 = meta.v3();
215
+ if (!v3) {
216
+ return new SorobanError('Transaction meta version not supported', -1, 'UnsupportedVersion');
217
+ }
218
+ const sorobanMeta = v3.sorobanMeta();
219
+ if (!sorobanMeta) {
220
+ return new SorobanError('No Soroban meta found', -1, 'MissingSorobanMeta');
221
+ }
222
+ // Check for diagnostic events that might contain error information
223
+ for (const event of sorobanMeta.events()) {
224
+ if (event.type().equals(xdr.ContractEventType.contractError())) {
225
+ return this.parseError(event.data());
226
+ }
227
+ }
228
+ // Check for exceptions
229
+ const ext = v3.ext();
230
+ if (ext.switch() === xdr.TransactionMetaExtension.v1()) {
231
+ const v1Ext = ext.v1();
232
+ if (v1Ext.sorobanMeta()) {
233
+ // Additional error parsing logic could go here
234
+ }
235
+ }
236
+ return new SorobanError('Transaction failed but specific error not found', -1, 'TransactionError');
237
+ }
238
+ /**
239
+ * Check if error is recoverable
240
+ */
241
+ static isRecoverableError(error) {
242
+ const recoverableTypes = [
243
+ 'InsufficientFee',
244
+ 'InsufficientBalance',
245
+ 'NetworkError',
246
+ 'Timeout',
247
+ ];
248
+ return recoverableTypes.includes(error.type);
249
+ }
250
+ /**
251
+ * Check if error should be retried
252
+ */
253
+ static shouldRetry(error, attemptCount) {
254
+ if (!this.isRecoverableError(error)) {
255
+ return false;
256
+ }
257
+ // Don't retry too many times
258
+ if (attemptCount >= 3) {
259
+ return false;
260
+ }
261
+ // Don't retry certain errors even if they're recoverable
262
+ const nonRetryableTypes = ['InsufficientBalance', 'ContractNotFound'];
263
+ return !nonRetryableTypes.includes(error.type);
264
+ }
265
+ /**
266
+ * Get retry delay for error
267
+ */
268
+ static getRetryDelay(error, attemptCount) {
269
+ // Base delay with exponential backoff
270
+ let baseDelay = 1000; // 1 second
271
+ switch (error.type) {
272
+ case 'InsufficientFee':
273
+ baseDelay = 2000; // 2 seconds
274
+ break;
275
+ case 'NetworkError':
276
+ baseDelay = 5000; // 5 seconds
277
+ break;
278
+ case 'Timeout':
279
+ baseDelay = 3000; // 3 seconds
280
+ break;
281
+ }
282
+ return baseDelay * Math.pow(2, attemptCount - 1);
283
+ }
284
+ /**
285
+ * Format error for display
286
+ */
287
+ static formatError(error) {
288
+ let message = error.message;
289
+ if (error.contractId) {
290
+ message += ` (Contract: ${error.contractId})`;
291
+ }
292
+ if (error.method) {
293
+ message += ` (Method: ${error.method})`;
294
+ }
295
+ if (error.code !== 0) {
296
+ message += ` (Code: ${error.code})`;
297
+ }
298
+ message += ` (Type: ${error.type})`;
299
+ return message;
300
+ }
301
+ }
302
+ //# sourceMappingURL=error-parser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error-parser.js","sourceRoot":"","sources":["../../../src/soroban/utils/error-parser.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,91 @@
1
+ import { ContractEvent, ScType } from '../types/contract-types';
2
+ import { ContractEventDetail } from '../types/contract-types';
3
+ export declare class EventDecoder {
4
+ /**
5
+ * Decode contract event from raw event data
6
+ */
7
+ static decodeEvent(rawEvent: SorobanRpc.Api.GetEventsResponseEvent, eventDefinition?: ContractEvent): ContractEventDetail;
8
+ /**
9
+ * Decode event with known event schema
10
+ */
11
+ static decodeEventWithSchema(rawEvent: SorobanRpc.Api.GetEventsResponseEvent, schema: {
12
+ name: string;
13
+ topicTypes: ScType[];
14
+ dataTypes: ScType[];
15
+ }): ContractEventDetail & {
16
+ decodedTopics: any[];
17
+ decodedData: any;
18
+ parsedEvent: any;
19
+ };
20
+ /**
21
+ * Decode token transfer event
22
+ */
23
+ static decodeTransferEvent(event: ContractEventDetail): {
24
+ from: string;
25
+ to: string;
26
+ amount: string;
27
+ } | null;
28
+ /**
29
+ * Decode token approval event
30
+ */
31
+ static decodeApprovalEvent(event: ContractEventDetail): {
32
+ owner: string;
33
+ spender: string;
34
+ amount: string;
35
+ } | null;
36
+ /**
37
+ * Decode contract error event
38
+ */
39
+ static decodeErrorEvent(event: ContractEventDetail): {
40
+ error: string;
41
+ code?: number;
42
+ context?: any;
43
+ } | null;
44
+ /**
45
+ * Decode custom event
46
+ */
47
+ static decodeCustomEvent(event: ContractEventDetail, fieldMapping: Record<string, {
48
+ topic: number;
49
+ type: ScType;
50
+ } | {
51
+ data: string;
52
+ type: ScType;
53
+ }>): Record<string, any>;
54
+ /**
55
+ * Create event decoder for specific contract
56
+ */
57
+ static createEventDecoder(eventSchemas: Array<{
58
+ name: string;
59
+ topicTypes: ScType[];
60
+ dataTypes: ScType[];
61
+ }>): (event: ContractEventDetail) => any;
62
+ /**
63
+ * Filter events by type
64
+ */
65
+ static filterEventsByType(events: ContractEventDetail[], eventType: string): ContractEventDetail[];
66
+ /**
67
+ * Group events by transaction
68
+ */
69
+ static groupEventsByTransaction(events: ContractEventDetail[]): Map<string, ContractEventDetail[]>;
70
+ /**
71
+ * Extract event statistics
72
+ */
73
+ static extractEventStats(events: ContractEventDetail[]): {
74
+ totalEvents: number;
75
+ eventTypes: Map<string, number>;
76
+ contracts: Map<string, number>;
77
+ timeRange: {
78
+ min: number;
79
+ max: number;
80
+ };
81
+ };
82
+ /**
83
+ * Format event for display
84
+ */
85
+ static formatEvent(event: ContractEventDetail): string;
86
+ /**
87
+ * Export events to CSV
88
+ */
89
+ static exportToCSV(events: ContractEventDetail[]): string;
90
+ }
91
+ //# sourceMappingURL=event-decoder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-decoder.d.ts","sourceRoot":"","sources":["../../../src/soroban/utils/event-decoder.ts"],"names":[],"mappings":"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"}