@firefly-dao/sdk 1.0.2 → 1.0.4

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.
@@ -54,7 +54,7 @@ export class FireflyClient {
54
54
  }
55
55
  return { ...res.data.data, request };
56
56
  }
57
- async execute({ quote, wallet, onProgress }) {
57
+ async execute({ quote, wallet, onProgress, options }) {
58
58
  let response = {
59
59
  status: 'idle',
60
60
  message: 'execute function: transaction execution incomplete'
@@ -68,7 +68,7 @@ export class FireflyClient {
68
68
  }
69
69
  const publicClient = createPublicClient({
70
70
  chain: wallet.chain,
71
- transport: http(),
71
+ transport: http(options?.rpcUrl || ''),
72
72
  });
73
73
  for (let i = 0; i < quote.steps.length; i++) {
74
74
  const step = quote.steps[i];
@@ -112,6 +112,18 @@ export class FireflyClient {
112
112
  let tx;
113
113
  try {
114
114
  tx = await wallet.sendTransaction(params);
115
+ const result = await publicClient?.waitForTransactionReceipt({
116
+ hash: tx,
117
+ });
118
+ // if the transaction is reverted, throw an error
119
+ if (result?.status === 'reverted') {
120
+ console.error("transaction reverted", result);
121
+ onProgress?.({ step: 'deposit', status: 'reverted', error: result });
122
+ return {
123
+ status: 'reverted',
124
+ message: `Transaction reverted: ${result.status}`
125
+ };
126
+ }
115
127
  // send action to API
116
128
  postActionApi({
117
129
  chainId: txData.chainId,
@@ -123,15 +135,15 @@ export class FireflyClient {
123
135
  dstToken: quoteRequest.data.toTokenAddress,
124
136
  }, this.baseApiUrl);
125
137
  this.logs(`Deposit tx hash: ${tx}.`);
138
+ // send Transaction success. notification to the user
139
+ onProgress?.({ step: 'deposit', status: 'success', hash: tx });
126
140
  }
127
141
  catch (err) {
128
- // console.log("transaction error", err)
129
- // this.logs(`transaction error: ${err}`)
130
142
  console.error("transaction error", err);
131
143
  onProgress?.({ step: 'deposit', status: 'failed', error: err });
132
144
  return {
133
145
  status: 'failed',
134
- message: `execute function deposit step failed: ${err}`,
146
+ message: err?.message,
135
147
  };
136
148
  }
137
149
  /**
@@ -141,9 +153,8 @@ export class FireflyClient {
141
153
  * 1 = successfully executed on the destination chain
142
154
  * else error
143
155
  */
144
- // try {
145
156
  while (true) {
146
- await new Promise((resolve) => setTimeout(resolve, 1 * 1000));
157
+ await new Promise((resolve) => setTimeout(resolve, 2000));
147
158
  let transaction;
148
159
  try {
149
160
  let statusInfo = await getExecutionStatus({
@@ -152,6 +163,7 @@ export class FireflyClient {
152
163
  baseApiUrl: this.baseApiUrl
153
164
  });
154
165
  transaction = statusInfo.data.data;
166
+ this.logs(`Transaction status: ${transaction.status}`);
155
167
  }
156
168
  catch (err) {
157
169
  // wait 2 seconds to retry
@@ -161,33 +173,40 @@ export class FireflyClient {
161
173
  // transaction status error
162
174
  if (![-99, 0, 1, 2].includes(transaction.status)) {
163
175
  console.error("transaction status error", transaction.status);
164
- onProgress?.({ step: 'deposit', status: 'failed', error: transaction.status });
165
- return {
176
+ onProgress?.({ step: 'transaction_status', status: 'failed', error: transaction.status });
177
+ response = {
166
178
  status: 'failed',
167
- message: `execute function check transaction status failed: ${transaction.status}`,
179
+ message: `execute function check transaction status failed: ${transaction.status}`
168
180
  };
181
+ break;
169
182
  }
170
183
  if (transaction.status !== 1) {
171
184
  continue;
172
185
  }
173
186
  else if (transaction.status === 1) {
174
- this.logs('Deposit successful.');
175
- this.logs(`Cross-chain successful. Tx hash: ${transaction.dstHash}.`);
176
- onProgress?.({ step: 'deposit', status: 'success', hash: transaction.dstHash || '' });
177
- response = {
178
- status: 'success',
179
- message: 'transaction successful'
180
- };
187
+ // Determine whether the target chain has failed
188
+ if (transaction.isRefund === 1) {
189
+ this.logs("Target chain has failed");
190
+ onProgress?.({ step: 'transaction_status', status: 'refund', hash: transaction.dstHash || '' });
191
+ response = {
192
+ status: 'refund',
193
+ message: 'The funds were returned to the USDC of the target chain.',
194
+ hash: tx
195
+ };
196
+ }
197
+ else {
198
+ this.logs('Deposit successful.');
199
+ this.logs(`Cross-chain successful. Tx hash: ${transaction.dstHash}.`);
200
+ onProgress?.({ step: 'transaction_status', status: 'success', hash: transaction.dstHash || '' });
201
+ response = {
202
+ status: 'success',
203
+ message: 'transaction successful',
204
+ hash: tx
205
+ };
206
+ }
181
207
  break;
182
208
  }
183
209
  }
184
- // } catch (err) {
185
- // onProgress?.({ step: 'deposit', status: 'failed', error: err });
186
- // return {
187
- // status: 'failed',
188
- // message: `execute function check transaction status failed: ${err}`,
189
- // }
190
- // }
191
210
  }
192
211
  }
193
212
  return response;
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/client/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/client/client.ts"],"names":[],"mappings":"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"}