solana-web3-on-steroids 1.0.2 → 1.0.5

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 (42) hide show
  1. package/README.md +43 -0
  2. package/dist/client/SteroidClient.d.ts +1 -1
  3. package/dist/client/SteroidClient.js +5 -25
  4. package/dist/client/SteroidClient.js.map +1 -1
  5. package/dist/connection/SteroidConnection.d.ts +1 -2
  6. package/dist/connection/SteroidConnection.js +27 -43
  7. package/dist/connection/SteroidConnection.js.map +1 -1
  8. package/dist/transaction/SteroidTransaction.d.ts +1 -16
  9. package/dist/transaction/SteroidTransaction.js +61 -101
  10. package/dist/transaction/SteroidTransaction.js.map +1 -1
  11. package/dist/types/SteroidWalletTypes.d.ts +0 -5
  12. package/dist/types/SteroidWalletTypes.js +0 -9
  13. package/dist/types/SteroidWalletTypes.js.map +1 -1
  14. package/dist/utils/idUtils.d.ts +10 -0
  15. package/dist/utils/idUtils.js +15 -0
  16. package/dist/utils/idUtils.js.map +1 -0
  17. package/dist/utils/index.d.ts +7 -0
  18. package/dist/utils/index.js +8 -0
  19. package/dist/utils/index.js.map +1 -0
  20. package/dist/utils/logger.d.ts +13 -0
  21. package/dist/utils/logger.js +47 -0
  22. package/dist/utils/logger.js.map +1 -0
  23. package/dist/utils/mathUtils.d.ts +13 -0
  24. package/dist/utils/mathUtils.js +18 -0
  25. package/dist/utils/mathUtils.js.map +1 -0
  26. package/dist/utils/solanaUtils.d.ts +21 -0
  27. package/dist/utils/solanaUtils.js +50 -0
  28. package/dist/utils/solanaUtils.js.map +1 -0
  29. package/dist/utils/stateUtils.d.ts +13 -0
  30. package/dist/utils/stateUtils.js +19 -0
  31. package/dist/utils/stateUtils.js.map +1 -0
  32. package/dist/utils/timeUtils.d.ts +5 -0
  33. package/dist/utils/timeUtils.js +8 -0
  34. package/dist/utils/timeUtils.js.map +1 -0
  35. package/dist/utils/walletUtils.d.ts +11 -0
  36. package/dist/utils/walletUtils.js +47 -0
  37. package/dist/utils/walletUtils.js.map +1 -0
  38. package/dist/wallet/SteroidWallet.d.ts +1 -4
  39. package/dist/wallet/SteroidWallet.js +18 -58
  40. package/dist/wallet/SteroidWallet.js.map +1 -1
  41. package/docs/assets/architecture.png +0 -0
  42. package/package.json +6 -1
package/README.md CHANGED
@@ -35,6 +35,49 @@ Intercepts simulation logs and translates raw program errors into human-readable
35
35
 
36
36
  ---
37
37
 
38
+ ## 🗺 Architecture Overview
39
+
40
+ ![Architecture Diagram](docs/assets/architecture.png)
41
+
42
+ ### Technical Resilience Flow (Mermaid)
43
+
44
+ ```mermaid
45
+ graph TD
46
+ subgraph "Application Layer"
47
+ App[Your dApp]
48
+ end
49
+
50
+ subgraph "Steroids Resilience Layer"
51
+ Client[SteroidClient]
52
+ Conn[SteroidConnection Proxy]
53
+ Tx[SteroidTransaction Engine]
54
+ Wallet[SteroidWallet Wrapper]
55
+
56
+ Client --> Conn
57
+ Client --> Tx
58
+ Client --> Wallet
59
+
60
+ Tx -.-> Conn
61
+ Wallet -.-> Tx
62
+ end
63
+
64
+ subgraph "Infrastucture Layer (RPC)"
65
+ Primary[Primary RPC Node]
66
+ F1[Fallback Node 1]
67
+ F2[Fallback Node 2]
68
+ CNodes[Confirmation Nodes]
69
+ end
70
+
71
+ App --> Client
72
+ Conn -- "Health Checks & Failover" --> Primary
73
+ Conn -- "Automatic Swap" --> F1
74
+ Conn -- "Automatic Swap" --> F2
75
+ Tx -- "Re-broadcasting" --> Primary
76
+ Tx -- "Multi-node Polling" --> CNodes
77
+ ```
78
+
79
+ ---
80
+
38
81
  ## 🚀 Installation
39
82
 
40
83
  ```bash
@@ -14,6 +14,7 @@ export declare class SteroidClient {
14
14
  private connection;
15
15
  private transactionEngine;
16
16
  private config;
17
+ private logger;
17
18
  private isDestroyed;
18
19
  /**
19
20
  * Initialize a new SteroidClient.
@@ -47,7 +48,6 @@ export declare class SteroidClient {
47
48
  */
48
49
  destroy(): void;
49
50
  private ensureNotDestroyed;
50
- private log;
51
51
  }
52
52
  /**
53
53
  * Convenience factory function to create a SteroidClient.
@@ -2,6 +2,7 @@ import { SteroidConnection } from '../connection/SteroidConnection.js';
2
2
  import { SteroidWallet } from '../wallet/SteroidWallet.js';
3
3
  import { SteroidTransaction } from '../transaction/SteroidTransaction.js';
4
4
  import { DEFAULT_CONFIG } from '../types/SteroidWalletTypes.js';
5
+ import { Logger } from '../utils/index.js';
5
6
  /**
6
7
  * SteroidClient is the main entry point for the Wallet UX Reliability Layer.
7
8
  *
@@ -15,6 +16,7 @@ export class SteroidClient {
15
16
  connection;
16
17
  transactionEngine;
17
18
  config;
19
+ logger;
18
20
  isDestroyed = false;
19
21
  /**
20
22
  * Initialize a new SteroidClient.
@@ -36,9 +38,10 @@ export class SteroidClient {
36
38
  ],
37
39
  enableLogging: config.enableLogging ?? config.connection?.enableLogging ?? DEFAULT_CONFIG.CONNECTION.enableLogging,
38
40
  };
41
+ this.logger = new Logger('SteroidClient', config.enableLogging ?? false);
39
42
  this.connection = new SteroidConnection(primary, connectionConfig);
40
43
  this.transactionEngine = new SteroidTransaction(this.connection);
41
- this.log('info', 'Initialized with endpoint(s):', endpoint);
44
+ this.logger.info('Initialized with endpoint(s):', endpoint);
42
45
  }
43
46
  /**
44
47
  * Connect a wallet to the Steroid reliability layer.
@@ -91,36 +94,13 @@ export class SteroidClient {
91
94
  return;
92
95
  this.connection.destroy();
93
96
  this.isDestroyed = true;
94
- this.log('info', 'Destroyed');
97
+ this.logger.info('Destroyed');
95
98
  }
96
99
  ensureNotDestroyed() {
97
100
  if (this.isDestroyed) {
98
101
  throw new Error('[SteroidClient] Cannot execute operation: instance is already destroyed');
99
102
  }
100
103
  }
101
- log(level, ...args) {
102
- if (!this.config.enableLogging)
103
- return;
104
- const prefix = '[SteroidClient]';
105
- const finalArgs = [...args];
106
- if (typeof finalArgs[0] === 'string') {
107
- finalArgs[0] = `${prefix} ${finalArgs[0]}`;
108
- }
109
- else {
110
- finalArgs.unshift(prefix);
111
- }
112
- switch (level) {
113
- case 'info':
114
- console.log(...finalArgs);
115
- break;
116
- case 'warn':
117
- console.warn(...finalArgs);
118
- break;
119
- case 'error':
120
- console.error(...finalArgs);
121
- break;
122
- }
123
- }
124
104
  }
125
105
  /**
126
106
  * Convenience factory function to create a SteroidClient.
@@ -1 +1 @@
1
- {"version":3,"file":"SteroidClient.js","sourceRoot":"","sources":["../../src/client/SteroidClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SteroidClient.js","sourceRoot":"","sources":["../../src/client/SteroidClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAC1E,OAAO,EAOL,cAAc,EACf,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C;;;;;;;;GAQG;AACH,MAAM,OAAO,aAAa;IAChB,UAAU,CAAoB;IAC9B,iBAAiB,CAAqB;IACtC,MAAM,CAAsB;IAC5B,MAAM,CAAS;IACf,WAAW,GAAY,KAAK,CAAC;IAErC;;;;;OAKG;IACH,YAAY,QAA2B,EAAE,SAA8B,EAAE;QACvE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB,kCAAkC;QAClC,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QAClE,MAAM,CAAC,OAAO,EAAE,GAAG,mBAAmB,CAAC,GAAG,SAAS,CAAC;QAEpD,MAAM,gBAAgB,GAA4B;YAChD,GAAG,cAAc,CAAC,UAAU;YAC5B,GAAG,MAAM,CAAC,UAAU;YACpB,SAAS,EAAE;gBACT,GAAG,CAAC,MAAM,CAAC,UAAU,EAAE,SAAS,IAAI,EAAE,CAAC;gBACvC,GAAG,mBAAmB;aACvB;YACD,aAAa,EAAE,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,UAAU,EAAE,aAAa,IAAI,cAAc,CAAC,UAAU,CAAC,aAAa;SACnH,CAAC;QAEF,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,CAAC,eAAe,EAAE,MAAM,CAAC,aAAa,IAAI,KAAK,CAAC,CAAC;QACzE,IAAI,CAAC,UAAU,GAAG,IAAI,iBAAiB,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;QACnE,IAAI,CAAC,iBAAiB,GAAG,IAAI,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAEjE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,+BAA+B,EAAE,QAAQ,CAAC,CAAC;IAC9D,CAAC;IAED;;;;;;OAMG;IACI,aAAa,CAClB,MAAuB,EACvB,eAAoC,EAAE;QAEtC,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAE1B,MAAM,YAAY,GAAwB;YACxC,GAAG,cAAc,CAAC,MAAM;YACxB,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM;YACrB,GAAG,YAAY;YACf,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa,IAAI,YAAY,CAAC,aAAa,IAAI,cAAc,CAAC,MAAM,CAAC,aAAa;SAC9G,CAAC;QAEF,OAAO,IAAI,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;IAClE,CAAC;IAED;;OAEG;IACI,oBAAoB;QACzB,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAChC,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,cAAc;QACzB,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;IAC7C,CAAC;IAED;;OAEG;IACI,QAAQ;QACb,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,OAAO;YACL,cAAc,EAAE,IAAI,CAAC,UAAU,CAAC,iBAAiB,EAAE;YACnD,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE;YAC5C,aAAa,EAAE,IAAI,CAAC,UAAU,CAAC,gBAAgB,EAAE;YACjD,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,eAAe,EAAE;SAChD,CAAC;IACJ,CAAC;IAED;;OAEG;IACI,OAAO;QACZ,IAAI,IAAI,CAAC,WAAW;YAAE,OAAO;QAE7B,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;QAC1B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QAExB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAChC,CAAC;IAEO,kBAAkB;QACxB,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,yEAAyE,CAAC,CAAC;QAC7F,CAAC;IACH,CAAC;CACF;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CACjC,QAA2B,EAC3B,MAA4B;IAE5B,OAAO,IAAI,aAAa,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;AAC7C,CAAC"}
@@ -17,6 +17,7 @@ export declare class SteroidConnection {
17
17
  private healthCheckTimer?;
18
18
  private failoverCount;
19
19
  private lastFailoverTime;
20
+ private logger;
20
21
  constructor(endpoint: string, config?: SteroidConnectionConfig);
21
22
  /**
22
23
  * Executes a connection method with intelligent retries and failover.
@@ -53,8 +54,6 @@ export declare class SteroidConnection {
53
54
  * Finds the index of the next healthy RPC, or the very next one if all are unhealthy.
54
55
  */
55
56
  private findNextAvailableRpcIndex;
56
- private calculateBackoff;
57
- private sleep;
58
57
  private enhanceError;
59
58
  private log;
60
59
  /**
@@ -1,4 +1,5 @@
1
1
  import { Connection } from '@solana/web3.js';
2
+ import { sleep, Logger, calculateBackoff } from '../utils/index.js';
2
3
  /**
3
4
  * SteroidConnection uses a Proxy pattern to wrap a real @solana/web3.js Connection.
4
5
  * This allows swapping the underlying connection (and its internal state/websockets)
@@ -6,7 +7,7 @@ import { Connection } from '@solana/web3.js';
6
7
  */
7
8
  export class SteroidConnection {
8
9
  static DEFAULT_HEALTH_CHECK_TIMEOUT_MS = 5000;
9
- static MAX_BACKOFF_DELAY_MS = 10000;
10
+ static MAX_BACKOFF_DELAY_MS = 30000;
10
11
  static JITTER_MS = 100;
11
12
  activeConnection;
12
13
  urls;
@@ -17,6 +18,7 @@ export class SteroidConnection {
17
18
  healthCheckTimer;
18
19
  failoverCount = 0;
19
20
  lastFailoverTime = 0;
21
+ logger;
20
22
  constructor(endpoint, config = {}) {
21
23
  this.urls = [endpoint, ...(config.fallbacks || [])];
22
24
  this.config = config;
@@ -27,6 +29,7 @@ export class SteroidConnection {
27
29
  requestTimeout: config.requestTimeout ?? 30000,
28
30
  enableLogging: config.enableLogging ?? false,
29
31
  };
32
+ this.logger = new Logger('SteroidConnection', this.steroidConfig.enableLogging);
30
33
  // Initialize health status
31
34
  this.urls.forEach((url) => {
32
35
  this.healthStatus.set(url, {
@@ -51,7 +54,14 @@ export class SteroidConnection {
51
54
  const value = Reflect.get(target.activeConnection, prop, target.activeConnection);
52
55
  // 3. If it's a function, wrap it with retry/failover logic.
53
56
  if (typeof value === 'function') {
54
- return (...args) => target.executeWithResilience(prop, value, args);
57
+ const methodName = prop;
58
+ return (...args) => {
59
+ // Optimization: skip resilience for methods we know don't need it or are standard
60
+ if (['rpcEndpoint', 'commitment'].includes(methodName)) {
61
+ return value.apply(target.activeConnection, args);
62
+ }
63
+ return target.executeWithResilience(methodName, value, args);
64
+ };
55
65
  }
56
66
  return value;
57
67
  },
@@ -73,7 +83,7 @@ export class SteroidConnection {
73
83
  // Map AbortError from our controller to a "Request timeout" message for consistency
74
84
  lastError = error.name === 'AbortError' ? new Error('Request timeout') : error;
75
85
  attemptedUrls.add(this.currentUrlIndex);
76
- this.log('warn', `Method ${methodName} failed (attempt ${attempt + 1}/${this.steroidConfig.maxRetries}):`, lastError.message);
86
+ this.logger.warn(`Method ${methodName} failed (attempt ${attempt + 1}/${this.steroidConfig.maxRetries}):`, lastError.message);
77
87
  const shouldRetry = await this.handleExecutionError(lastError, methodName, attempt, attemptedUrls);
78
88
  if (!shouldRetry) {
79
89
  throw this.enhanceError(lastError, methodName, attempt + 1);
@@ -121,16 +131,17 @@ export class SteroidConnection {
121
131
  async handleExecutionError(error, methodName, attempt, attemptedUrls) {
122
132
  // 1. Transient Error (Rate limit, etc.) -> Just retry
123
133
  if (this.isTransientError(error)) {
124
- const delay = this.calculateBackoff(attempt + 1);
125
- this.log('info', `Retrying after ${delay}ms due to transient error`);
126
- await this.sleep(delay);
134
+ const delay = calculateBackoff(attempt + 1, 1000, SteroidConnection.MAX_BACKOFF_DELAY_MS);
135
+ this.logger.info(`Retrying after ${delay.toFixed(0)}ms due to transient error`);
136
+ await sleep(delay);
127
137
  return true;
128
138
  }
129
139
  // 2. Node Failure -> Mark unhealthy and try next if available
130
140
  if (this.isNodeFailure(error)) {
141
+ this.logger.error(`Node failure detected at ${this.getActiveEndpoint()}:`, error.message);
131
142
  this.updateHealthStatus(this.urls[this.currentUrlIndex], false);
132
143
  if (this.urls.length > 1 && attemptedUrls.size < this.urls.length) {
133
- this.switchToNextRpc();
144
+ await this.switchToNextRpc(attemptedUrls);
134
145
  return true;
135
146
  }
136
147
  }
@@ -178,41 +189,34 @@ export class SteroidConnection {
178
189
  /**
179
190
  * Switches to the next available RPC node.
180
191
  */
181
- switchToNextRpc() {
182
- const nextIndex = this.findNextAvailableRpcIndex();
192
+ async switchToNextRpc(attemptedUrls) {
193
+ const nextIndex = this.findNextAvailableRpcIndex(attemptedUrls);
183
194
  const previousUrl = this.urls[this.currentUrlIndex];
184
195
  const nextUrl = this.urls[nextIndex];
185
196
  this.currentUrlIndex = nextIndex;
186
197
  this.failoverCount++;
187
198
  this.lastFailoverTime = Date.now();
188
- this.log('warn', `Failover triggered (#${this.failoverCount}). Switching from ${previousUrl} to ${nextUrl}`);
199
+ this.logger.warn(`Failover triggered (#${this.failoverCount}). Switching from ${previousUrl} to ${nextUrl}`);
189
200
  // Recreate the connection to clear internal state/websockets
190
201
  this.activeConnection = new Connection(nextUrl, this.config);
191
202
  }
192
203
  /**
193
204
  * Finds the index of the next healthy RPC, or the very next one if all are unhealthy.
194
205
  */
195
- findNextAvailableRpcIndex() {
206
+ findNextAvailableRpcIndex(attemptedUrls) {
196
207
  const startIndex = (this.currentUrlIndex + 1) % this.urls.length;
197
208
  // 1. Try to find the next healthy RPC starting from the next in line
198
209
  for (let i = 0; i < this.urls.length; i++) {
199
210
  const index = (startIndex + i) % this.urls.length;
200
- if (this.healthStatus.get(this.urls[index])?.healthy) {
211
+ // Only consider URLs not yet attempted in the current resilience loop
212
+ if (!attemptedUrls.has(index) && this.healthStatus.get(this.urls[index])?.healthy) {
201
213
  return index;
202
214
  }
203
215
  }
204
- // 2. Fallback: if all are unhealthy, just try the very next one in the list
216
+ // 2. Fallback: if all healthy nodes have been attempted or none are healthy,
217
+ // just try the very next one in the list (round-robin)
205
218
  return startIndex;
206
219
  }
207
- calculateBackoff(attempt) {
208
- const baseDelay = this.steroidConfig.retryDelay;
209
- const exponentialDelay = baseDelay * Math.pow(2, attempt - 1);
210
- const jitter = Math.random() * SteroidConnection.JITTER_MS;
211
- return Math.min(exponentialDelay + jitter, SteroidConnection.MAX_BACKOFF_DELAY_MS);
212
- }
213
- sleep(ms) {
214
- return new Promise((resolve) => setTimeout(resolve, ms));
215
- }
216
220
  enhanceError(error, methodName, attempts) {
217
221
  const enhancedError = new Error(`[SteroidConnection] ${methodName} failed after ${attempts} attempts. Last error: ${error.message}`);
218
222
  enhancedError.originalError = error;
@@ -222,27 +226,7 @@ export class SteroidConnection {
222
226
  return enhancedError;
223
227
  }
224
228
  log(level, ...args) {
225
- if (!this.steroidConfig.enableLogging)
226
- return;
227
- const prefix = '[SteroidConnection]';
228
- const finalArgs = [...args];
229
- if (typeof finalArgs[0] === 'string') {
230
- finalArgs[0] = `${prefix} ${finalArgs[0]}`;
231
- }
232
- else {
233
- finalArgs.unshift(prefix);
234
- }
235
- switch (level) {
236
- case 'info':
237
- console.log(...finalArgs);
238
- break;
239
- case 'warn':
240
- console.warn(...finalArgs);
241
- break;
242
- case 'error':
243
- console.error(...finalArgs);
244
- break;
245
- }
229
+ this.logger.log(level, ...args);
246
230
  }
247
231
  /**
248
232
  * Perform health checks on all RPC endpoints.
@@ -1 +1 @@
1
- {"version":3,"file":"SteroidConnection.js","sourceRoot":"","sources":["../../src/connection/SteroidConnection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SteroidConnection.js","sourceRoot":"","sources":["../../src/connection/SteroidConnection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAEpE;;;;GAIG;AACH,MAAM,OAAO,iBAAiB;IACpB,MAAM,CAAU,+BAA+B,GAAG,IAAI,CAAC;IACvD,MAAM,CAAU,oBAAoB,GAAG,KAAK,CAAC;IAC7C,MAAM,CAAU,SAAS,GAAG,GAAG,CAAC;IAEhC,gBAAgB,CAAa;IAC7B,IAAI,CAAW;IACf,eAAe,GAAW,CAAC,CAAC;IAC5B,MAAM,CAA0B;IAChC,aAAa,CAEnB;IACM,YAAY,GAA2B,IAAI,GAAG,EAAE,CAAC;IACjD,gBAAgB,CAAkB;IAClC,aAAa,GAAW,CAAC,CAAC;IAC1B,gBAAgB,GAAW,CAAC,CAAC;IAC7B,MAAM,CAAS;IAEvB,YAAY,QAAgB,EAAE,SAAkC,EAAE;QAChE,IAAI,CAAC,IAAI,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,CAAC;QACpD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,aAAa,GAAG;YACnB,UAAU,EAAE,MAAM,CAAC,UAAU,IAAI,CAAC;YAClC,UAAU,EAAE,MAAM,CAAC,UAAU,IAAI,GAAG;YACpC,mBAAmB,EAAE,MAAM,CAAC,mBAAmB,IAAI,KAAK;YACxD,cAAc,EAAE,MAAM,CAAC,cAAc,IAAI,KAAK;YAC9C,aAAa,EAAE,MAAM,CAAC,aAAa,IAAI,KAAK;SAC7C,CAAC;QACF,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,CAAC,mBAAmB,EAAE,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;QAEhF,2BAA2B;QAC3B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YACxB,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE;gBACzB,GAAG;gBACH,OAAO,EAAE,IAAI;gBACb,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE;aACxB,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,gBAAgB,GAAG,IAAI,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAEzD,iCAAiC;QACjC,IAAI,IAAI,CAAC,aAAa,CAAC,mBAAmB,GAAG,CAAC,EAAE,CAAC;YAC/C,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC3B,CAAC;QAED,0EAA0E;QAC1E,OAAO,IAAI,KAAK,CAAC,IAAI,EAAE;YACrB,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ;gBACxB,oDAAoD;gBACpD,IAAI,IAAI,IAAI,MAAM,EAAE,CAAC;oBACnB,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;gBAC7C,CAAC;gBAED,2DAA2D;gBAC3D,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,gBAAgB,EAAE,IAAI,EAAE,MAAM,CAAC,gBAAgB,CAAC,CAAC;gBAElF,4DAA4D;gBAC5D,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;oBAChC,MAAM,UAAU,GAAG,IAAc,CAAC;oBAElC,OAAO,CAAC,GAAG,IAAW,EAAE,EAAE;wBACxB,kFAAkF;wBAClF,IAAI,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;4BACvD,OAAO,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC;wBACpD,CAAC;wBAED,OAAO,MAAM,CAAC,qBAAqB,CAAC,UAAU,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;oBAC/D,CAAC,CAAC;gBACJ,CAAC;gBAED,OAAO,KAAK,CAAC;YACf,CAAC;SACF,CAA0C,CAAC;IAC9C,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,qBAAqB,CAAC,UAAkB,EAAE,MAAgB,EAAE,IAAW;QACnF,MAAM,aAAa,GAAG,IAAI,GAAG,EAAU,CAAC;QACxC,IAAI,SAAc,CAAC;QAEnB,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,OAAO,EAAE,EAAE,CAAC;YACzE,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,CACvC,MAAM,EACN,IAAI,EACJ,IAAI,CAAC,gBAAgB,EACrB,IAAI,CAAC,aAAa,CAAC,cAAc,CAClC,CAAC;gBACF,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,IAAI,CAAC,CAAC;gBACxD,OAAO,MAAM,CAAC;YAChB,CAAC;YAAC,OAAO,KAAU,EAAE,CAAC;gBACpB,oFAAoF;gBACpF,SAAS,GAAG,KAAK,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;gBAC/E,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;gBAExC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,UAAU,oBAAoB,OAAO,GAAG,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,UAAU,IAAI,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;gBAE9H,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;gBACnG,IAAI,CAAC,WAAW,EAAE,CAAC;oBACjB,MAAM,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,UAAU,EAAE,OAAO,GAAG,CAAC,CAAC,CAAC;gBAC9D,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;IAChF,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,eAAe,CAC3B,MAAgB,EAChB,IAAW,EACX,MAAW,EACX,SAAiB;QAEjB,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,SAAS,CAAC,CAAC;QAElE,IAAI,CAAC;YACH,4EAA4E;YAC5E,oEAAoE;YACpE,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACtC,MAAM,gBAAgB,GAAG,CAAC,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBACnG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;gBACzF,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YAEnE,OAAO,MAAM,gBAAgB,CAAC;QAChC,CAAC;gBAAS,CAAC;YACT,YAAY,CAAC,SAAS,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IAED;;OAEG;IACK,kBAAkB,CAAC,GAAW,EAAE,OAAgB,EAAE,OAAgB;QACxE,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC1C,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC;YACzB,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAChC,IAAI,OAAO,KAAK,SAAS;gBAAE,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC;QACtD,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,oBAAoB,CAAC,KAAU,EAAE,UAAkB,EAAE,OAAe,EAAE,aAA0B;QAC5G,sDAAsD;QACtD,IAAI,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC;YACjC,MAAM,KAAK,GAAG,gBAAgB,CAAC,OAAO,GAAG,CAAC,EAAE,IAAI,EAAE,iBAAiB,CAAC,oBAAoB,CAAC,CAAC;YAC1F,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC;YAChF,MAAM,KAAK,CAAC,KAAK,CAAC,CAAC;YACnB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,8DAA8D;QAC9D,IAAI,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,4BAA4B,IAAI,CAAC,iBAAiB,EAAE,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;YAC1F,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,KAAK,CAAC,CAAC;YAEhE,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,aAAa,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;gBAClE,MAAM,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;gBAC1C,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,iBAAiB,CAAC,KAAU;QAClC,OAAO;YACL,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE;YAC3C,UAAU,EAAE,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC;SAClD,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,gBAAgB,CAAC,KAAU;QACjC,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAE9D,MAAM,kBAAkB,GAAG,CAAC,OAAO,EAAE,KAAK,EAAE,mBAAmB,EAAE,YAAY,CAAC,CAAC;QAC/E,MAAM,sBAAsB,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAE1C,MAAM,cAAc,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;QAC/E,MAAM,WAAW,GAAG,sBAAsB,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAChE,MAAM,YAAY,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QAErF,OAAO,cAAc,IAAI,WAAW,IAAI,YAAY,CAAC;IACvD,CAAC;IAED;;OAEG;IACK,aAAa,CAAC,KAAU;QAC9B,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAE9D,MAAM,gBAAgB,GAAG;YACvB,cAAc;YACd,eAAe;YACf,cAAc;YACd,WAAW;YACX,WAAW;YACX,KAAK;YACL,KAAK;YACL,KAAK;YACL,kBAAkB;SACnB,CAAC;QACF,MAAM,oBAAoB,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QAE7C,MAAM,cAAc,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;QAC7E,MAAM,WAAW,GAAG,oBAAoB,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAE9D,OAAO,cAAc,IAAI,WAAW,CAAC;IACvC,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,eAAe,CAAC,aAA0B;QACtD,MAAM,SAAS,GAAG,IAAI,CAAC,yBAAyB,CAAC,aAAa,CAAC,CAAC;QAChE,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACpD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAErC,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;QACjC,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAEnC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,wBAAwB,IAAI,CAAC,aAAa,qBAAqB,WAAW,OAAO,OAAO,EAAE,CAAC,CAAC;QAE7G,6DAA6D;QAC7D,IAAI,CAAC,gBAAgB,GAAG,IAAI,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAC/D,CAAC;IAED;;OAEG;IACK,yBAAyB,CAAC,aAA0B;QAC1D,MAAM,UAAU,GAAG,CAAC,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;QAEjE,qEAAqE;QACrE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC1C,MAAM,KAAK,GAAG,CAAC,UAAU,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;YAClD,sEAAsE;YACtE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC;gBAClF,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QAED,6EAA6E;QAC7E,uDAAuD;QACvD,OAAO,UAAU,CAAC;IACpB,CAAC;IAEO,YAAY,CAAC,KAAU,EAAE,UAAkB,EAAE,QAAgB;QACnE,MAAM,aAAa,GAAG,IAAI,KAAK,CAC7B,uBAAuB,UAAU,iBAAiB,QAAQ,0BAA0B,KAAK,CAAC,OAAO,EAAE,CACpG,CAAC;QACD,aAAqB,CAAC,aAAa,GAAG,KAAK,CAAC;QAC5C,aAAqB,CAAC,UAAU,GAAG,UAAU,CAAC;QAC9C,aAAqB,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAC1C,aAAqB,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACpE,OAAO,aAAa,CAAC;IACvB,CAAC;IAEO,GAAG,CAAC,KAAgC,EAAE,GAAG,IAAW;QAC1D,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,CAAC;IAClC,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,kBAAkB;QAC9B,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC;QACjE,MAAM,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,eAAe,CAAC,GAAW;QACvC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,IAAI,UAAU,CAAC,GAAG,EAAE,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC,CAAC;YAElE,yCAAyC;YACzC,MAAM,IAAI,CAAC,eAAe,CACxB,QAAQ,CAAC,OAAO,EAChB,EAAE,EACF,QAAQ,EACR,iBAAiB,CAAC,+BAA+B,CAClD,CAAC;YAEF,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YACvC,IAAI,CAAC,kBAAkB,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;YAC5C,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,2BAA2B,GAAG,KAAK,OAAO,KAAK,CAAC,CAAC;QACpE,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,IAAI,CAAC,kBAAkB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YACpC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,2BAA2B,GAAG,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QACrE,CAAC;IACH,CAAC;IAEO,iBAAiB;QACvB,IAAI,CAAC,gBAAgB,GAAG,WAAW,CAAC,GAAG,EAAE;YACvC,IAAI,CAAC,kBAAkB,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;gBACtC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,qBAAqB,EAAE,GAAG,CAAC,CAAC;YAChD,CAAC,CAAC,CAAC;QACL,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC;IAC7C,CAAC;IAED;;OAEG;IACI,OAAO;QACZ,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC1B,aAAa,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YACrC,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAC;QACpC,CAAC;IACH,CAAC;IAED;;OAEG;IACI,YAAY;QACjB,OAAO,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IAED;;OAEG;IACI,iBAAiB;QACtB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IACzC,CAAC;IAED;;OAEG;IACI,eAAe;QACpB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC;IAChD,CAAC;IAED;;OAEG;IACI,gBAAgB;QACrB,OAAO;YACL,KAAK,EAAE,IAAI,CAAC,aAAa;YACzB,QAAQ,EAAE,IAAI,CAAC,gBAAgB;SAChC,CAAC;IACJ,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,WAAW;QACtB,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAChC,OAAO,IAAI,CAAC,eAAe,EAAE,CAAC;IAChC,CAAC"}
@@ -8,6 +8,7 @@ import { SteroidSendOptions, TransactionStateInfo } from '../types/SteroidWallet
8
8
  export declare class SteroidTransaction {
9
9
  private connection;
10
10
  private transactionStates;
11
+ private logger;
11
12
  constructor(connection: SteroidConnection);
12
13
  /**
13
14
  * Sends a transaction with continuous re-broadcasting and multi-node monitoring.
@@ -26,23 +27,7 @@ export declare class SteroidTransaction {
26
27
  * Get fresh blockhash with retry logic.
27
28
  */
28
29
  private getFreshBlockhash;
29
- /**
30
- * Parse simulation errors into human-readable format.
31
- */
32
- private parseSimulationError;
33
- private isBlockhashExpiredError;
34
- /**
35
- * Type guard for legacy transactions.
36
- */
37
- private isLegacyTransaction;
38
- /**
39
- * Serialize transaction to bytes.
40
- */
41
- private serializeTransaction;
42
- private generateStateId;
43
30
  private updateState;
44
- private log;
45
- private sleep;
46
31
  /**
47
32
  * Get the current state of a transaction.
48
33
  */