rubic-sdk 4.4.0-alpha-arb-rbc.1 → 4.4.0-alpha-arb-rbc.5

Sign up to get free protection for your applications and to get access to all the features.
@@ -219988,6 +219988,7 @@ const arbitrum_rbc_bridge_contract_address_1 = __webpack_require__(/*! ./constan
219988
219988
  const l1_erc20_gateway_abi_1 = __webpack_require__(/*! ./constants/l1-erc20-gateway-abi */ "./src/features/cross-chain/calculation-manager/providers/arbitrum-rbc-bridge/constants/l1-erc20-gateway-abi.ts");
219989
219989
  const l2_erc20_gateway_abi_1 = __webpack_require__(/*! ./constants/l2-erc20-gateway-abi */ "./src/features/cross-chain/calculation-manager/providers/arbitrum-rbc-bridge/constants/l2-erc20-gateway-abi.ts");
219990
219990
  const outbox_abi_1 = __webpack_require__(/*! ./constants/outbox-abi */ "./src/features/cross-chain/calculation-manager/providers/arbitrum-rbc-bridge/constants/outbox-abi.ts");
219991
+ const retryable_factory_abi_1 = __webpack_require__(/*! ./constants/retryable-factory-abi */ "./src/features/cross-chain/calculation-manager/providers/arbitrum-rbc-bridge/constants/retryable-factory-abi.ts");
219991
219992
  const evm_cross_chain_trade_1 = __webpack_require__(/*! ../common/emv-cross-chain-trade/evm-cross-chain-trade */ "./src/features/cross-chain/calculation-manager/providers/common/emv-cross-chain-trade/evm-cross-chain-trade.ts");
219992
219993
  const bridge_type_1 = __webpack_require__(/*! ../common/models/bridge-type */ "./src/features/cross-chain/calculation-manager/providers/common/models/bridge-type.ts");
219993
219994
  const decode_method_1 = __webpack_require__(/*! ../../utils/decode-method */ "./src/features/cross-chain/calculation-manager/utils/decode-method.ts");
@@ -220171,6 +220172,32 @@ class ArbitrumRbcBridgeTrade extends evm_cross_chain_trade_1.EvmCrossChainTrade
220171
220172
  gasPriceOptions
220172
220173
  });
220173
220174
  }
220175
+ static async redeemTokens(sourceTransactionHash, options) {
220176
+ const rpcProviders = injector_1.Injector.web3PublicService.rpcProvider;
220177
+ const l1Provider = new providers_1.JsonRpcProvider(rpcProviders[blockchain_name_1.BLOCKCHAIN_NAME.ETHEREUM].rpcList[0], 1);
220178
+ const l2Provider = new providers_1.JsonRpcProvider(rpcProviders[blockchain_name_1.BLOCKCHAIN_NAME.ARBITRUM].rpcList[0], 42161);
220179
+ const receipt = await l1Provider.getTransactionReceipt(sourceTransactionHash);
220180
+ const messages = await new sdk_1.L1TransactionReceipt(receipt).getL1ToL2Messages(l2Provider);
220181
+ const creationIdMessage = messages.find(el => el.retryableCreationId);
220182
+ if (!creationIdMessage) {
220183
+ throw new errors_1.RubicSdkError('Can not find creation id message.');
220184
+ }
220185
+ const { retryableCreationId } = creationIdMessage;
220186
+ const web3Private = injector_1.Injector.web3PrivateService.getWeb3PrivateByBlockchain(blockchain_name_1.BLOCKCHAIN_NAME.ARBITRUM);
220187
+ await web3Private.checkBlockchainCorrect(blockchain_name_1.BLOCKCHAIN_NAME.ARBITRUM);
220188
+ const { onConfirm, gasLimit, gasPrice, gasPriceOptions } = options;
220189
+ const onTransactionHash = (hash) => {
220190
+ if (onConfirm) {
220191
+ onConfirm(hash);
220192
+ }
220193
+ };
220194
+ return web3Private.tryExecuteContractMethod('0x000000000000000000000000000000000000006E', retryable_factory_abi_1.retryableFactoryAbi, 'redeem', [retryableCreationId], {
220195
+ onTransactionHash,
220196
+ gas: gasLimit,
220197
+ gasPrice,
220198
+ gasPriceOptions
220199
+ });
220200
+ }
220174
220201
  }
220175
220202
  exports.ArbitrumRbcBridgeTrade = ArbitrumRbcBridgeTrade;
220176
220203
 
@@ -220322,6 +220349,29 @@ exports.outboxAbi = [
220322
220349
  ];
220323
220350
 
220324
220351
 
220352
+ /***/ }),
220353
+
220354
+ /***/ "./src/features/cross-chain/calculation-manager/providers/arbitrum-rbc-bridge/constants/retryable-factory-abi.ts":
220355
+ /*!***********************************************************************************************************************!*\
220356
+ !*** ./src/features/cross-chain/calculation-manager/providers/arbitrum-rbc-bridge/constants/retryable-factory-abi.ts ***!
220357
+ \***********************************************************************************************************************/
220358
+ /***/ ((__unused_webpack_module, exports) => {
220359
+
220360
+ "use strict";
220361
+
220362
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
220363
+ exports.retryableFactoryAbi = void 0;
220364
+ exports.retryableFactoryAbi = [
220365
+ {
220366
+ inputs: [{ internalType: 'bytes32', name: 'ticketId', type: 'bytes32' }],
220367
+ name: 'redeem',
220368
+ outputs: [{ internalType: 'bytes32', name: '', type: 'bytes32' }],
220369
+ stateMutability: 'nonpayable',
220370
+ type: 'function'
220371
+ }
220372
+ ];
220373
+
220374
+
220325
220375
  /***/ }),
220326
220376
 
220327
220377
  /***/ "./src/features/cross-chain/calculation-manager/providers/arbitrum-rbc-bridge/models/arbitrum-rbc-bridge-supported-blockchain.ts":
@@ -223585,14 +223635,8 @@ class CrossChainTrade {
223585
223635
  if (this.from.isNative) {
223586
223636
  return false;
223587
223637
  }
223588
- try {
223589
- const allowance = await this.fromWeb3Public.getAllowance(this.from.address, this.walletAddress, this.fromContractAddress);
223590
- return this.from.weiAmount.gt(allowance);
223591
- }
223592
- catch (err) {
223593
- console.error(err);
223594
- return false;
223595
- }
223638
+ const allowance = await this.fromWeb3Public.getAllowance(this.from.address, this.walletAddress, this.fromContractAddress);
223639
+ return this.from.weiAmount.gt(allowance);
223596
223640
  }
223597
223641
  async checkTradeErrors() {
223598
223642
  this.checkWalletConnected();
@@ -232777,31 +232821,40 @@ class CrossChainStatusManager {
232777
232821
  const l2Provider = new providers_1.JsonRpcProvider(rpcProviders[blockchain_name_1.BLOCKCHAIN_NAME.ARBITRUM].rpcList[0], 42161);
232778
232822
  // L1 to L2 deposit
232779
232823
  if (data.fromBlockchain === blockchain_name_1.BLOCKCHAIN_NAME.ETHEREUM) {
232780
- const sourceTx = await l1Provider.getTransactionReceipt(data.srcTxHash);
232781
- const l1TxReceipt = new sdk_1.L1TransactionReceipt(sourceTx);
232782
- const [l1ToL2Msg] = await l1TxReceipt.getL1ToL2Messages(l2Provider);
232783
- const response = await l1ToL2Msg.getSuccessfulRedeem();
232784
- switch (response.status) {
232785
- case sdk_1.L1ToL2MessageStatus.EXPIRED:
232786
- case sdk_1.L1ToL2MessageStatus.CREATION_FAILED:
232787
- case sdk_1.L1ToL2MessageStatus.FUNDS_DEPOSITED_ON_L2:
232788
- return { status: tx_status_1.TxStatus.FAIL, hash: null };
232789
- case sdk_1.L1ToL2MessageStatus.REDEEMED:
232790
- return { status: tx_status_1.TxStatus.SUCCESS, hash: response.l2TxReceipt.transactionHash };
232791
- case sdk_1.L1ToL2MessageStatus.NOT_YET_CREATED:
232792
- default:
232793
- return { status: tx_status_1.TxStatus.PENDING, hash: null };
232824
+ try {
232825
+ const sourceTx = await l1Provider.getTransactionReceipt(data.srcTxHash);
232826
+ const l1TxReceipt = new sdk_1.L1TransactionReceipt(sourceTx);
232827
+ const [l1ToL2Msg] = await l1TxReceipt.getL1ToL2Messages(l2Provider);
232828
+ const response = await l1ToL2Msg.getSuccessfulRedeem();
232829
+ switch (response.status) {
232830
+ case sdk_1.L1ToL2MessageStatus.FUNDS_DEPOSITED_ON_L2:
232831
+ return { status: tx_status_1.TxStatus.REVERT, hash: null };
232832
+ case sdk_1.L1ToL2MessageStatus.EXPIRED:
232833
+ case sdk_1.L1ToL2MessageStatus.CREATION_FAILED:
232834
+ return { status: tx_status_1.TxStatus.FAIL, hash: null };
232835
+ case sdk_1.L1ToL2MessageStatus.REDEEMED:
232836
+ return {
232837
+ status: tx_status_1.TxStatus.SUCCESS,
232838
+ hash: response.l2TxReceipt.transactionHash
232839
+ };
232840
+ case sdk_1.L1ToL2MessageStatus.NOT_YET_CREATED:
232841
+ default:
232842
+ return { status: tx_status_1.TxStatus.PENDING, hash: null };
232843
+ }
232844
+ }
232845
+ catch {
232846
+ return { status: tx_status_1.TxStatus.PENDING, hash: null };
232794
232847
  }
232795
232848
  }
232796
232849
  // L2 to L1 withdraw
232797
- const targetReceipt = await l2Provider.getTransactionReceipt(data.srcTxHash);
232798
- const l2TxReceipt = new sdk_1.L2TransactionReceipt(targetReceipt);
232799
- const [event] = l2TxReceipt.getL2ToL1Events();
232800
- if (!event) {
232801
- return { status: tx_status_1.TxStatus.PENDING, hash: null };
232802
- }
232803
- const messageReader = new sdk_1.L2ToL1MessageReader(l1Provider, event);
232804
232850
  try {
232851
+ const targetReceipt = await l2Provider.getTransactionReceipt(data.srcTxHash);
232852
+ const l2TxReceipt = new sdk_1.L2TransactionReceipt(targetReceipt);
232853
+ const [event] = l2TxReceipt.getL2ToL1Events();
232854
+ if (!event) {
232855
+ return { status: tx_status_1.TxStatus.PENDING, hash: null };
232856
+ }
232857
+ const messageReader = new sdk_1.L2ToL1MessageReader(l1Provider, event);
232805
232858
  const status = await messageReader.status(l2Provider);
232806
232859
  switch (status) {
232807
232860
  case sdk_1.L2ToL1MessageStatus.CONFIRMED:
@@ -232814,7 +232867,7 @@ class CrossChainStatusManager {
232814
232867
  }
232815
232868
  }
232816
232869
  catch (error) {
232817
- return { status: tx_status_1.TxStatus.FAIL, hash: null };
232870
+ return { status: tx_status_1.TxStatus.PENDING, hash: null };
232818
232871
  }
232819
232872
  }
232820
232873
  }
@@ -249614,6 +249667,7 @@ __exportStar(__webpack_require__(/*! ./features/cross-chain/calculation-manager/
249614
249667
  __exportStar(__webpack_require__(/*! ./features/cross-chain/calculation-manager/providers/arbitrum-rbc-bridge/constants/l1-erc20-gateway-abi */ "./src/features/cross-chain/calculation-manager/providers/arbitrum-rbc-bridge/constants/l1-erc20-gateway-abi.ts"), exports);
249615
249668
  __exportStar(__webpack_require__(/*! ./features/cross-chain/calculation-manager/providers/arbitrum-rbc-bridge/constants/l2-erc20-gateway-abi */ "./src/features/cross-chain/calculation-manager/providers/arbitrum-rbc-bridge/constants/l2-erc20-gateway-abi.ts"), exports);
249616
249669
  __exportStar(__webpack_require__(/*! ./features/cross-chain/calculation-manager/providers/arbitrum-rbc-bridge/constants/outbox-abi */ "./src/features/cross-chain/calculation-manager/providers/arbitrum-rbc-bridge/constants/outbox-abi.ts"), exports);
249670
+ __exportStar(__webpack_require__(/*! ./features/cross-chain/calculation-manager/providers/arbitrum-rbc-bridge/constants/retryable-factory-abi */ "./src/features/cross-chain/calculation-manager/providers/arbitrum-rbc-bridge/constants/retryable-factory-abi.ts"), exports);
249617
249671
  __exportStar(__webpack_require__(/*! ./features/cross-chain/calculation-manager/providers/arbitrum-rbc-bridge/models/arbitrum-rbc-bridge-supported-blockchain */ "./src/features/cross-chain/calculation-manager/providers/arbitrum-rbc-bridge/models/arbitrum-rbc-bridge-supported-blockchain.ts"), exports);
249618
249672
  __exportStar(__webpack_require__(/*! ./features/cross-chain/calculation-manager/providers/bridgers-provider/bridgers-cross-chain-provider */ "./src/features/cross-chain/calculation-manager/providers/bridgers-provider/bridgers-cross-chain-provider.ts"), exports);
249619
249673
  __exportStar(__webpack_require__(/*! ./features/cross-chain/calculation-manager/providers/bridgers-provider/constants/bridgers-cross-chain-supported-blockchain */ "./src/features/cross-chain/calculation-manager/providers/bridgers-provider/constants/bridgers-cross-chain-supported-blockchain.ts"), exports);