rubic-sdk
Version:
Simplify dApp creation
48 lines • 2.22 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.LifiUtilsService = void 0;
const blockchain_name_1 = require("../../../../core/blockchain/models/blockchain-name");
const chain_type_1 = require("../../../../core/blockchain/models/chain-type");
const blockchains_info_1 = require("../../../../core/blockchain/utils/blockchains-info/blockchains-info");
const blockchain_id_1 = require("../../../../core/blockchain/utils/blockchains-info/constants/blockchain-id");
const fake_wallet_address_1 = require("../../constants/fake-wallet-address");
class LifiUtilsService {
static getLifiReceiverAddress(_fromBlockchain, toBlockchain, fromAddress, receiverAddress) {
if (receiverAddress) {
return receiverAddress;
}
const toChainType = blockchains_info_1.BlockchainsInfo.getChainType(toBlockchain);
if (toChainType === chain_type_1.CHAIN_TYPE.EVM) {
return fake_wallet_address_1.FAKE_WALLET_ADDRESS;
}
if (toBlockchain === blockchain_name_1.BLOCKCHAIN_NAME.SOLANA) {
return fake_wallet_address_1.FAKE_SOLANA_WALLET_ADDRESS;
}
// if (toBlockchain === BLOCKCHAIN_NAME.BITCOIN) {
// return FAKE_BITCOIN_ADDRESS;
// }
return fromAddress;
}
static getLifiChainId(blockchain) {
if (blockchain === blockchain_name_1.BLOCKCHAIN_NAME.SOLANA) {
return this.SOLANA_CHAIN_ID;
}
if (blockchain === blockchain_name_1.BLOCKCHAIN_NAME.BITCOIN) {
return '20000000000001';
}
return blockchain_id_1.blockchainId[blockchain];
}
static getLifiTokenAddress(blockchain, isNative, tokenAddress) {
if (blockchain === blockchain_name_1.BLOCKCHAIN_NAME.SOLANA && isNative) {
return this.SOLANA_NATIVE_TOKEN_ADDRESS;
}
if (blockchain === blockchain_name_1.BLOCKCHAIN_NAME.BITCOIN) {
return 'bitcoin';
}
return tokenAddress;
}
}
exports.LifiUtilsService = LifiUtilsService;
LifiUtilsService.SOLANA_CHAIN_ID = 'SOL';
LifiUtilsService.SOLANA_NATIVE_TOKEN_ADDRESS = '11111111111111111111111111111111';
//# sourceMappingURL=lifi-utils-service.js.map