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.
- package/dist/rubic-sdk.min.js +84 -30
- package/dist/rubic-sdk.min.js.map +1 -1
- package/lib/core/blockchain/web3-public-service/web3-public/web3-public.d.ts +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/arbitrum-rbc-bridge/arbitrum-rbc-bridge-trade.d.ts +1 -0
- package/lib/features/cross-chain/calculation-manager/providers/arbitrum-rbc-bridge/arbitrum-rbc-bridge-trade.js +27 -0
- package/lib/features/cross-chain/calculation-manager/providers/arbitrum-rbc-bridge/arbitrum-rbc-bridge-trade.js.map +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/arbitrum-rbc-bridge/constants/retryable-factory-abi.d.ts +2 -0
- package/lib/features/cross-chain/calculation-manager/providers/arbitrum-rbc-bridge/constants/retryable-factory-abi.js +13 -0
- package/lib/features/cross-chain/calculation-manager/providers/arbitrum-rbc-bridge/constants/retryable-factory-abi.js.map +1 -0
- package/lib/features/cross-chain/calculation-manager/providers/common/cross-chain-trade.js +2 -8
- package/lib/features/cross-chain/calculation-manager/providers/common/cross-chain-trade.js.map +1 -1
- package/lib/features/cross-chain/status-manager/cross-chain-status-manager.js +31 -22
- package/lib/features/cross-chain/status-manager/cross-chain-status-manager.js.map +1 -1
- package/lib/index.d.ts +1 -0
- package/lib/index.js +1 -0
- package/lib/index.js.map +1 -1
- package/package.json +1 -1
package/dist/rubic-sdk.min.js
CHANGED
@@ -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
|
-
|
223589
|
-
|
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
|
-
|
232781
|
-
|
232782
|
-
|
232783
|
-
|
232784
|
-
|
232785
|
-
|
232786
|
-
|
232787
|
-
|
232788
|
-
|
232789
|
-
|
232790
|
-
|
232791
|
-
|
232792
|
-
|
232793
|
-
|
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.
|
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);
|