@instadapp/interop-x 0.0.0-dev.fd7fd6f → 0.0.0-dev.fded533

Sign up to get free protection for your applications and to get access to all the features.
Files changed (52) hide show
  1. package/dist/package.json +4 -3
  2. package/dist/src/abi/interopBridgeToken.json +21 -9
  3. package/dist/src/abi/interopXGateway.json +11 -11
  4. package/dist/src/api/index.js +3 -3
  5. package/dist/src/config/index.js +10 -1
  6. package/dist/src/constants/addresses.js +1 -1
  7. package/dist/src/constants/itokens.js +1 -1
  8. package/dist/src/index.js +33 -6
  9. package/dist/src/net/peer/index.js +2 -1
  10. package/dist/src/net/pool/index.js +7 -2
  11. package/dist/src/net/protocol/dial/TransactionStatusDialProtocol.js +28 -0
  12. package/dist/src/net/protocol/index.js +15 -4
  13. package/dist/src/tasks/AutoUpdateTask.js +42 -16
  14. package/dist/src/tasks/BaseTask.js +11 -3
  15. package/dist/src/tasks/InteropBridge/ProcessWithdrawEvents.js +0 -1
  16. package/dist/src/tasks/InteropBridge/{SyncWithdrawEvents.js → SyncBurnEvents.js} +10 -9
  17. package/dist/src/tasks/InteropBridge/SyncMintEvents.js +67 -0
  18. package/dist/src/tasks/InteropXGateway/ProcessDepositEvents.js +14 -2
  19. package/dist/src/tasks/InteropXGateway/SyncDepositEvents.js +2 -3
  20. package/dist/src/tasks/InteropXGateway/SyncWithdrawtEvents.js +72 -0
  21. package/dist/src/tasks/Transactions/SyncTransactionStatusTask.js +53 -0
  22. package/dist/src/tasks/index.js +17 -4
  23. package/dist/src/typechain/factories/InteropBridgeToken__factory.js +23 -11
  24. package/dist/src/typechain/factories/InteropXGateway__factory.js +14 -14
  25. package/dist/src/utils/index.js +20 -10
  26. package/package.json +4 -3
  27. package/src/abi/interopBridgeToken.json +21 -9
  28. package/src/abi/interopXGateway.json +11 -11
  29. package/src/api/index.ts +2 -2
  30. package/src/config/index.ts +9 -1
  31. package/src/constants/addresses.ts +1 -1
  32. package/src/constants/itokens.ts +1 -1
  33. package/src/index.ts +46 -8
  34. package/src/net/peer/index.ts +2 -1
  35. package/src/net/pool/index.ts +7 -3
  36. package/src/net/protocol/dial/TransactionStatusDialProtocol.ts +31 -0
  37. package/src/net/protocol/index.ts +16 -4
  38. package/src/tasks/AutoUpdateTask.ts +48 -19
  39. package/src/tasks/BaseTask.ts +13 -3
  40. package/src/tasks/InteropBridge/ProcessWithdrawEvents.ts +0 -2
  41. package/src/tasks/InteropBridge/{SyncWithdrawEvents.ts → SyncBurnEvents.ts} +10 -10
  42. package/src/tasks/InteropBridge/SyncMintEvents.ts +99 -0
  43. package/src/tasks/InteropXGateway/ProcessDepositEvents.ts +18 -6
  44. package/src/tasks/InteropXGateway/SyncDepositEvents.ts +2 -4
  45. package/src/tasks/InteropXGateway/SyncWithdrawtEvents.ts +105 -0
  46. package/src/tasks/Transactions/SyncTransactionStatusTask.ts +65 -0
  47. package/src/tasks/index.ts +25 -4
  48. package/src/typechain/InteropBridgeToken.ts +23 -17
  49. package/src/typechain/InteropXGateway.ts +13 -13
  50. package/src/typechain/factories/InteropBridgeToken__factory.ts +23 -11
  51. package/src/typechain/factories/InteropXGateway__factory.ts +14 -14
  52. package/src/utils/index.ts +21 -9
@@ -17,6 +17,18 @@ export const http = axios.create();
17
17
  axiosRetry(http, { retries: 3, retryDelay: axiosRetry.exponentialDelay });
18
18
 
19
19
 
20
+ export function shortenHash(hash: string, length: number = 4) {
21
+ if (!hash) return;
22
+
23
+ if (hash.length < 12) return hash;
24
+
25
+ const beginningChars = hash.startsWith("0x") ? length + 2 : length;
26
+
27
+ const shortened = hash.substr(0, beginningChars) + "…" + hash.substr(-length);
28
+
29
+ return shortened;
30
+ }
31
+
20
32
  export function short(buffer: Buffer): string {
21
33
  return buffer.toString('hex').slice(0, 8) + '...'
22
34
  }
@@ -76,11 +88,11 @@ export const signGnosisSafeTx = async ({
76
88
  export const getRpcProviderUrl = (chainId: ChainId) => {
77
89
  switch (chainId) {
78
90
  case 1:
79
- return 'https://rpc.instadapp.io/mainnet';
91
+ return 'https://rpc.ankr.com/eth';
80
92
  case 137:
81
- return 'https://rpc.instadapp.io/polygon';
93
+ return 'https://rpc.ankr.com/polygon';
82
94
  case 43114:
83
- return 'https://rpc.instadapp.io/avalanche';
95
+ return 'https://rpc.ankr.com/avalanche';
84
96
  default:
85
97
  throw new Error(`Unknown chainId: ${chainId}`);
86
98
  }
@@ -210,30 +222,30 @@ export const buildWithdrawDataForTransaction = async (transaction: Transaction,
210
222
  throw Error('Cannot build data for transaction without submitEvent');
211
223
  }
212
224
 
213
- const { to, amount, chainId, itoken: itokenAddress } = transaction.submitEvent;
225
+ const { to, amount, sourceChainId, targetChainId, itoken: itokenAddress } = transaction.submitEvent;
214
226
 
215
- const itoken = itokens[transaction.sourceChainId].find(token => token.address.toLowerCase() === itokenAddress.toLowerCase());
227
+ const itoken = itokens[sourceChainId].find(token => token.address.toLowerCase() === itokenAddress.toLowerCase());
216
228
 
217
229
  if (!itoken) {
218
230
  throw Error('Cannot build data for transaction without itoken');
219
231
  }
220
232
 
221
- const token = tokens[chainId].find(t => t.symbol.toLowerCase() === itoken.symbol.toLowerCase());
233
+ const token = tokens[targetChainId].find(t => t.symbol.toLowerCase() === itoken.symbol.toLowerCase());
222
234
 
223
235
  if (!token) {
224
236
  throw Error('Cannot build data for transaction without token');
225
237
  }
226
238
 
227
- const targetChainProvider = new ethers.providers.JsonRpcProvider(getRpcProviderUrl(transaction.targetChainId as ChainId));
239
+ const targetChainProvider = new ethers.providers.JsonRpcProvider(getRpcProviderUrl(targetChainId as ChainId));
228
240
  const targetWallet = new ethers.Wallet(config.privateKey, targetChainProvider);
229
- const gatewayAddress = addresses[chainId].interopXGateway;
241
+ const gatewayAddress = addresses[targetChainId].interopXGateway;
230
242
  const interopBridgeContract = getContract<InteropXGateway>(gatewayAddress, abi.interopXGateway, targetWallet);
231
243
 
232
244
  const { data } = await interopBridgeContract.populateTransaction.systemWithdraw(
233
245
  ethers.BigNumber.from(amount.toString()),
234
246
  to,
235
247
  token.address,
236
- ethers.BigNumber.from(transaction.sourceChainId.toString()),
248
+ ethers.BigNumber.from(sourceChainId.toString()),
237
249
  transaction.submitTransactionHash,
238
250
  );
239
251