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

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 (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