@allbridge/bridge-core-sdk 3.18.0-beta.1 → 3.18.0-beta.2
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.
- package/dist/browser/index.js +5 -5
- package/dist/browser/index.js.map +4 -4
- package/dist/cjs/index.js +4 -4
- package/dist/cjs/index.js.map +4 -4
- package/dist/esm/index.js +3 -3
- package/dist/esm/index.js.map +4 -4
- package/dist/src/chains/chain.enums.d.ts +56 -0
- package/dist/src/chains/chain.enums.js +62 -0
- package/dist/src/chains/chain.enums.js.map +1 -0
- package/dist/src/chains/index.d.ts +7 -82
- package/dist/src/chains/index.js +62 -162
- package/dist/src/chains/index.js.map +1 -1
- package/dist/src/chains/models.d.ts +4 -4
- package/dist/src/client/core-api/api-client-caching.d.ts +2 -3
- package/dist/src/client/core-api/api-client-caching.js.map +1 -1
- package/dist/src/client/core-api/api-client.d.ts +7 -8
- package/dist/src/client/core-api/api-client.js +1 -1
- package/dist/src/client/core-api/api-client.js.map +1 -1
- package/dist/src/client/core-api/core-api-mapper.d.ts +2 -2
- package/dist/src/client/core-api/core-api-mapper.js +1 -1
- package/dist/src/client/core-api/core-api-mapper.js.map +1 -1
- package/dist/src/client/core-api/core-api.model.d.ts +9 -12
- package/dist/src/client/core-api/core-api.model.js.map +1 -1
- package/dist/src/client/core-api/core-client-base.d.ts +40 -0
- package/dist/src/client/core-api/{index.js → core-client-base.js} +1 -1
- package/dist/src/client/core-api/core-client-base.js.map +1 -0
- package/dist/src/client/core-api/core-client-filtered.d.ts +23 -0
- package/dist/src/client/core-api/core-client-filtered.js +57 -0
- package/dist/src/client/core-api/core-client-filtered.js.map +1 -0
- package/dist/src/client/core-api/core-client-pool-info-caching.d.ts +13 -9
- package/dist/src/client/core-api/core-client-pool-info-caching.js +6 -1
- package/dist/src/client/core-api/core-client-pool-info-caching.js.map +1 -1
- package/dist/src/configs/index.d.ts +0 -1
- package/dist/src/configs/index.js +0 -1
- package/dist/src/configs/index.js.map +1 -1
- package/dist/src/exceptions/exceptions.d.ts +1 -2
- package/dist/src/exceptions/exceptions.js.map +1 -1
- package/dist/src/index.d.ts +34 -13
- package/dist/src/index.js +22 -9
- package/dist/src/index.js.map +1 -1
- package/dist/src/models/index.d.ts +2 -1
- package/dist/src/models/index.js +3 -3
- package/dist/src/models/index.js.map +1 -1
- package/dist/src/services/bridge/evm/index.d.ts +2 -3
- package/dist/src/services/bridge/evm/index.js +10 -7
- package/dist/src/services/bridge/evm/index.js.map +1 -1
- package/dist/src/services/bridge/index.d.ts +2 -3
- package/dist/src/services/bridge/index.js +7 -6
- package/dist/src/services/bridge/index.js.map +1 -1
- package/dist/src/services/bridge/models/bridge.d.ts +2 -2
- package/dist/src/services/bridge/models/bridge.model.d.ts +5 -3
- package/dist/src/services/bridge/raw-bridge-transaction-builder.d.ts +1 -1
- package/dist/src/services/bridge/sol/index.d.ts +11 -7
- package/dist/src/services/bridge/sol/index.js +3 -3
- package/dist/src/services/bridge/sol/index.js.map +1 -1
- package/dist/src/services/bridge/sol/jupiter.js +6 -1
- package/dist/src/services/bridge/sol/jupiter.js.map +1 -1
- package/dist/src/services/bridge/srb/index.d.ts +2 -3
- package/dist/src/services/bridge/srb/index.js +4 -3
- package/dist/src/services/bridge/srb/index.js.map +1 -1
- package/dist/src/services/bridge/trx/index.d.ts +2 -2
- package/dist/src/services/bridge/trx/index.js +2 -2
- package/dist/src/services/bridge/trx/index.js.map +1 -1
- package/dist/src/services/bridge/utils.d.ts +3 -4
- package/dist/src/services/bridge/utils.js +23 -19
- package/dist/src/services/bridge/utils.js.map +1 -1
- package/dist/src/services/index.d.ts +6 -7
- package/dist/src/services/index.js +23 -12
- package/dist/src/services/index.js.map +1 -1
- package/dist/src/services/liquidity-pool/evm/index.d.ts +2 -2
- package/dist/src/services/liquidity-pool/evm/index.js +2 -2
- package/dist/src/services/liquidity-pool/evm/index.js.map +1 -1
- package/dist/src/services/liquidity-pool/index.d.ts +4 -5
- package/dist/src/services/liquidity-pool/index.js +6 -5
- package/dist/src/services/liquidity-pool/index.js.map +1 -1
- package/dist/src/services/liquidity-pool/models/pool.d.ts +2 -2
- package/dist/src/services/liquidity-pool/raw-pool-transaction-builder.d.ts +1 -1
- package/dist/src/services/liquidity-pool/sol/index.d.ts +2 -2
- package/dist/src/services/liquidity-pool/sol/index.js +2 -2
- package/dist/src/services/liquidity-pool/sol/index.js.map +1 -1
- package/dist/src/services/liquidity-pool/srb/index.d.ts +2 -3
- package/dist/src/services/liquidity-pool/srb/index.js +3 -3
- package/dist/src/services/liquidity-pool/srb/index.js.map +1 -1
- package/dist/src/services/liquidity-pool/trx/index.d.ts +2 -2
- package/dist/src/services/liquidity-pool/trx/index.js +2 -2
- package/dist/src/services/liquidity-pool/trx/index.js.map +1 -1
- package/dist/src/services/token/evm/index.d.ts +2 -2
- package/dist/src/services/token/evm/index.js +3 -3
- package/dist/src/services/token/evm/index.js.map +1 -1
- package/dist/src/services/token/index.d.ts +1 -1
- package/dist/src/services/token/index.js +7 -6
- package/dist/src/services/token/index.js.map +1 -1
- package/dist/src/services/token/models/token.d.ts +2 -2
- package/dist/src/services/token/models/token.model.d.ts +1 -2
- package/dist/src/services/token/sol/index.d.ts +2 -2
- package/dist/src/services/token/sol/index.js +2 -2
- package/dist/src/services/token/sol/index.js.map +1 -1
- package/dist/src/services/token/srb/index.d.ts +2 -3
- package/dist/src/services/token/srb/index.js +6 -5
- package/dist/src/services/token/srb/index.js.map +1 -1
- package/dist/src/services/token/trx/index.d.ts +2 -3
- package/dist/src/services/token/trx/index.js +2 -2
- package/dist/src/services/token/trx/index.js.map +1 -1
- package/dist/src/tokens-info/index.d.ts +1 -2
- package/dist/src/tokens-info/index.js +6 -1
- package/dist/src/tokens-info/index.js.map +1 -1
- package/dist/src/tokens-info/tokens-info.model.d.ts +29 -7
- package/dist/src/utils/sol/index.js +7 -2
- package/dist/src/utils/sol/index.js.map +1 -1
- package/dist/src/utils/srb/index.js +20 -9
- package/dist/src/utils/srb/index.js.map +1 -1
- package/dist/src/utils/utils.d.ts +2 -2
- package/dist/src/utils/utils.js +14 -7
- package/dist/src/utils/utils.js.map +1 -1
- package/dist/src/version.d.ts +1 -1
- package/dist/src/version.js +1 -1
- package/package.json +2 -9
- package/dist/src/client/core-api/index.d.ts +0 -32
- package/dist/src/client/core-api/index.js.map +0 -1
- package/dist/src/configs/testnet.d.ts +0 -7
- package/dist/src/configs/testnet.js +0 -33
- package/dist/src/configs/testnet.js.map +0 -1
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.DefaultSrbUtils = void 0;
|
|
4
4
|
const stellar_sdk_1 = require("@stellar/stellar-sdk");
|
|
5
|
+
const chain_enums_1 = require("../../chains/chain.enums");
|
|
5
6
|
const index_1 = require("../../index");
|
|
6
7
|
const token_contract_1 = require("../../services/models/srb/token-contract");
|
|
7
8
|
const utils_1 = require("../utils");
|
|
@@ -13,11 +14,14 @@ class DefaultSrbUtils {
|
|
|
13
14
|
this.params = params;
|
|
14
15
|
}
|
|
15
16
|
async buildChangeTrustLineXdrTx(params) {
|
|
16
|
-
const stellar = new stellar_sdk_1.Horizon.Server(this.nodeRpcUrlsConfig.getNodeRpcUrl(
|
|
17
|
+
const stellar = new stellar_sdk_1.Horizon.Server(this.nodeRpcUrlsConfig.getNodeRpcUrl(chain_enums_1.ChainSymbol.STLR));
|
|
17
18
|
const stellarAccount = await stellar.loadAccount(params.sender);
|
|
18
19
|
const tokenContract = this.getContract(token_contract_1.TokenContract, params.tokenAddress);
|
|
19
20
|
const tokenName = (await tokenContract.name()).result;
|
|
20
21
|
const [symbol, srbTokenAddress] = tokenName.split(":");
|
|
22
|
+
if (symbol === undefined || srbTokenAddress === undefined) {
|
|
23
|
+
throw new index_1.SdkError(`Invalid token name format. Expected format 'symbol:srbTokenAddress'`);
|
|
24
|
+
}
|
|
21
25
|
const asset = new stellar_sdk_1.Asset(symbol, srbTokenAddress);
|
|
22
26
|
const changeTrust = stellar_sdk_1.Operation.changeTrust({
|
|
23
27
|
asset: asset,
|
|
@@ -36,7 +40,7 @@ class DefaultSrbUtils {
|
|
|
36
40
|
const tokenContract = this.getContract(token_contract_1.TokenContract, tokenAddress);
|
|
37
41
|
const tokenName = (await tokenContract.name()).result;
|
|
38
42
|
const [symbol, srbTokenAddress] = tokenName.split(":");
|
|
39
|
-
const nodeRpcUrl = this.nodeRpcUrlsConfig.getNodeRpcUrl(
|
|
43
|
+
const nodeRpcUrl = this.nodeRpcUrlsConfig.getNodeRpcUrl(chain_enums_1.ChainSymbol.STLR);
|
|
40
44
|
const stellar = new stellar_sdk_1.Horizon.Server(nodeRpcUrl);
|
|
41
45
|
const stellarAccount = await stellar.loadAccount(sender);
|
|
42
46
|
const balanceInfo = stellarAccount.balances;
|
|
@@ -45,12 +49,12 @@ class DefaultSrbUtils {
|
|
|
45
49
|
balance.asset_issuer == srbTokenAddress);
|
|
46
50
|
}
|
|
47
51
|
async submitTransactionStellar(xdrTx) {
|
|
48
|
-
const stellar = new stellar_sdk_1.Horizon.Server(this.nodeRpcUrlsConfig.getNodeRpcUrl(
|
|
49
|
-
const transaction = stellar_sdk_1.TransactionBuilder.fromXDR(xdrTx, this.nodeRpcUrlsConfig.getNodeRpcUrl(
|
|
52
|
+
const stellar = new stellar_sdk_1.Horizon.Server(this.nodeRpcUrlsConfig.getNodeRpcUrl(chain_enums_1.ChainSymbol.STLR));
|
|
53
|
+
const transaction = stellar_sdk_1.TransactionBuilder.fromXDR(xdrTx, this.nodeRpcUrlsConfig.getNodeRpcUrl(chain_enums_1.ChainSymbol.STLR));
|
|
50
54
|
return await stellar.submitTransaction(transaction);
|
|
51
55
|
}
|
|
52
56
|
async simulateAndCheckRestoreTxRequiredSoroban(xdrTx, sourceAccount) {
|
|
53
|
-
const server = new stellar_sdk_1.SorobanRpc.Server(this.nodeRpcUrlsConfig.getNodeRpcUrl(
|
|
57
|
+
const server = new stellar_sdk_1.SorobanRpc.Server(this.nodeRpcUrlsConfig.getNodeRpcUrl(chain_enums_1.ChainSymbol.SRB));
|
|
54
58
|
const account = await server.getAccount(sourceAccount);
|
|
55
59
|
const transaction = stellar_sdk_1.TransactionBuilder.fromXDR(xdrTx, this.params.sorobanNetworkPassphrase);
|
|
56
60
|
const simulation = await server.simulateTransaction(transaction);
|
|
@@ -68,20 +72,27 @@ class DefaultSrbUtils {
|
|
|
68
72
|
return undefined;
|
|
69
73
|
}
|
|
70
74
|
async sendTransactionSoroban(xdrTx) {
|
|
71
|
-
const server = new stellar_sdk_1.SorobanRpc.Server(this.nodeRpcUrlsConfig.getNodeRpcUrl(
|
|
75
|
+
const server = new stellar_sdk_1.SorobanRpc.Server(this.nodeRpcUrlsConfig.getNodeRpcUrl(chain_enums_1.ChainSymbol.SRB));
|
|
72
76
|
const transaction = stellar_sdk_1.TransactionBuilder.fromXDR(xdrTx, this.params.sorobanNetworkPassphrase);
|
|
73
77
|
return server.sendTransaction(transaction);
|
|
74
78
|
}
|
|
75
79
|
async confirmTx(hash, secondsToWait = 15) {
|
|
76
|
-
const server = new stellar_sdk_1.SorobanRpc.Server(this.nodeRpcUrlsConfig.getNodeRpcUrl(
|
|
80
|
+
const server = new stellar_sdk_1.SorobanRpc.Server(this.nodeRpcUrlsConfig.getNodeRpcUrl(chain_enums_1.ChainSymbol.SRB));
|
|
77
81
|
const getTransactionResponseAll = await (0, utils_1.withExponentialBackoff)(() => server.getTransaction(hash), (resp) => resp.status === stellar_sdk_1.SorobanRpc.Api.GetTransactionStatus.NOT_FOUND, secondsToWait);
|
|
78
|
-
|
|
82
|
+
if (getTransactionResponseAll.length === 0) {
|
|
83
|
+
throw new index_1.SdkError("No transaction responses found.");
|
|
84
|
+
}
|
|
85
|
+
const lastResponse = getTransactionResponseAll[getTransactionResponseAll.length - 1];
|
|
86
|
+
if (!lastResponse) {
|
|
87
|
+
throw new index_1.SdkError("Unexpected error: last response is undefined.");
|
|
88
|
+
}
|
|
89
|
+
return lastResponse;
|
|
79
90
|
}
|
|
80
91
|
getContract(contract, address) {
|
|
81
92
|
const config = {
|
|
82
93
|
contractId: address,
|
|
83
94
|
networkPassphrase: this.params.sorobanNetworkPassphrase,
|
|
84
|
-
rpcUrl: this.nodeRpcUrlsConfig.getNodeRpcUrl(
|
|
95
|
+
rpcUrl: this.nodeRpcUrlsConfig.getNodeRpcUrl(chain_enums_1.ChainSymbol.SRB),
|
|
85
96
|
};
|
|
86
97
|
return new contract(config);
|
|
87
98
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/utils/srb/index.ts"],"names":[],"mappings":";;;AAAA,sDAY8B;AAC9B,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/utils/srb/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Big, BigSource } from "big.js";
|
|
2
|
-
import {
|
|
2
|
+
import { AllbridgeCoreClientPoolsExt } from "../client/core-api/core-client-pool-info-caching";
|
|
3
3
|
import { PoolInfo, TokenWithChainDetails } from "../tokens-info";
|
|
4
|
-
export declare function getPoolInfoByToken(api:
|
|
4
|
+
export declare function getPoolInfoByToken(api: AllbridgeCoreClientPoolsExt, sourceChainToken: TokenWithChainDetails): Promise<PoolInfo>;
|
|
5
5
|
export declare function validateAmountGtZero(amount: BigSource): void;
|
|
6
6
|
export declare function validateAmountDecimals(argName: string, amountFloat: number | string | Big, decimalRequired: number): void;
|
|
7
7
|
export declare function promiseWithTimeout<T>(promise: Promise<T>, msg: string, timeoutMs: number): Promise<T>;
|
package/dist/src/utils/utils.js
CHANGED
|
@@ -18,8 +18,10 @@ function validateAmountGtZero(amount) {
|
|
|
18
18
|
exports.validateAmountGtZero = validateAmountGtZero;
|
|
19
19
|
function validateAmountDecimals(argName, amountFloat, decimalRequired) {
|
|
20
20
|
const amount = (0, big_js_1.Big)(amountFloat).toFixed();
|
|
21
|
-
|
|
22
|
-
|
|
21
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
22
|
+
const [integerPart, fractionalPart] = amount.split(".");
|
|
23
|
+
if (fractionalPart && fractionalPart.length > decimalRequired) {
|
|
24
|
+
throw new exceptions_1.ArgumentInvalidDecimalsError(argName, fractionalPart.length, decimalRequired);
|
|
23
25
|
}
|
|
24
26
|
}
|
|
25
27
|
exports.validateAmountDecimals = validateAmountDecimals;
|
|
@@ -55,13 +57,17 @@ exports.promiseWithTimeoutAndRetries = promiseWithTimeoutAndRetries;
|
|
|
55
57
|
async function withExponentialBackoff(fn, keepWaitingIf, secondsToWait, exponentialFactor = 1.5, verbose = false) {
|
|
56
58
|
const attempts = [];
|
|
57
59
|
let count = 0;
|
|
58
|
-
|
|
59
|
-
|
|
60
|
+
const initialAttempt = await fn();
|
|
61
|
+
attempts.push(initialAttempt);
|
|
62
|
+
if (!keepWaitingIf(initialAttempt))
|
|
60
63
|
return attempts;
|
|
61
64
|
const waitUntil = new Date(Date.now() + secondsToWait * 1000).valueOf();
|
|
62
65
|
let waitTime = 1000;
|
|
63
66
|
let totalWaitTime = waitTime;
|
|
64
|
-
while (Date.now() < waitUntil
|
|
67
|
+
while (Date.now() < waitUntil) {
|
|
68
|
+
const lastAttempt = attempts[attempts.length - 1];
|
|
69
|
+
if (lastAttempt === undefined || !keepWaitingIf(lastAttempt))
|
|
70
|
+
break;
|
|
65
71
|
count++;
|
|
66
72
|
// Wait a beat
|
|
67
73
|
if (verbose) {
|
|
@@ -78,8 +84,9 @@ async function withExponentialBackoff(fn, keepWaitingIf, secondsToWait, exponent
|
|
|
78
84
|
}
|
|
79
85
|
totalWaitTime = waitTime + totalWaitTime;
|
|
80
86
|
// Try again
|
|
81
|
-
|
|
82
|
-
|
|
87
|
+
const nextAttempt = await fn(lastAttempt);
|
|
88
|
+
attempts.push(nextAttempt);
|
|
89
|
+
if (verbose && keepWaitingIf(nextAttempt)) {
|
|
83
90
|
console.info(`${count}. Called ${fn.name}; ${attempts.length} prev attempts. Most recent: ${JSON.stringify(attempts[attempts.length - 1], null, 2)}`);
|
|
84
91
|
}
|
|
85
92
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/utils/utils.ts"],"names":[],"mappings":";;;AAAA,mCAAwC;AAExC,8CAA+F;AAGxF,KAAK,UAAU,kBAAkB,CACtC,
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/utils/utils.ts"],"names":[],"mappings":"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"}
|
package/dist/src/version.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const VERSION = "3.18.0-beta.
|
|
1
|
+
export declare const VERSION = "3.18.0-beta.2";
|
package/dist/src/version.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@allbridge/bridge-core-sdk",
|
|
3
|
-
"version": "3.18.0-beta.
|
|
3
|
+
"version": "3.18.0-beta.2",
|
|
4
4
|
"main": "./dist/cjs/index.js",
|
|
5
5
|
"module": "./dist/esm/index.js",
|
|
6
6
|
"types": "./dist/src/index.d.ts",
|
|
@@ -99,7 +99,7 @@
|
|
|
99
99
|
"@solana/web3.js": "^1.78.5",
|
|
100
100
|
"@types/big.js": "^6.2.0",
|
|
101
101
|
"assert": "^2.1.0",
|
|
102
|
-
"axios": "^1.
|
|
102
|
+
"axios": "^1.7.2",
|
|
103
103
|
"big.js": "^6.2.1",
|
|
104
104
|
"bn.js": "^5.2.1",
|
|
105
105
|
"erc-20-abi": "^1.0.0",
|
|
@@ -112,13 +112,6 @@
|
|
|
112
112
|
"web3-eth-contract": "1.9.0",
|
|
113
113
|
"web3-utils": "1.9.0"
|
|
114
114
|
},
|
|
115
|
-
"pnpm": {
|
|
116
|
-
"auditConfig": {
|
|
117
|
-
"ignoreCves": [
|
|
118
|
-
"CVE-2023-28155"
|
|
119
|
-
]
|
|
120
|
-
}
|
|
121
|
-
},
|
|
122
115
|
"jest": {
|
|
123
116
|
"transform": {
|
|
124
117
|
"^.+\\.(t|j)s$": "ts-jest"
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { ChainSymbol } from "../../chains";
|
|
2
|
-
import { ChainDetailsMap, PoolInfoMap, PoolKeyObject, TokenWithChainDetails } from "../../tokens-info";
|
|
3
|
-
import { ApiClient } from "./api-client";
|
|
4
|
-
import { GasBalanceResponse, PendingInfoResponse, ReceiveTransactionCostRequest, ReceiveTransactionCostResponse, TransferStatusResponse } from "./core-api.model";
|
|
5
|
-
export interface AllbridgeCoreClientParams {
|
|
6
|
-
coreApiUrl: string;
|
|
7
|
-
coreApiHeaders?: Record<string, string>;
|
|
8
|
-
coreApiQueryParams?: Record<string, string>;
|
|
9
|
-
}
|
|
10
|
-
export interface AllbridgeCoreClient {
|
|
11
|
-
getChainDetailsMap(): Promise<ChainDetailsMap>;
|
|
12
|
-
tokens(): Promise<TokenWithChainDetails[]>;
|
|
13
|
-
getPendingInfo(): Promise<PendingInfoResponse>;
|
|
14
|
-
getTransferStatus(chainSymbol: ChainSymbol, txId: string): Promise<TransferStatusResponse>;
|
|
15
|
-
getReceiveTransactionCost(args: ReceiveTransactionCostRequest): Promise<ReceiveTransactionCostResponse>;
|
|
16
|
-
getGasBalance(chainSymbol: ChainSymbol, address: string): Promise<GasBalanceResponse>;
|
|
17
|
-
}
|
|
18
|
-
export declare class AllbridgeCoreClientImpl implements AllbridgeCoreClient {
|
|
19
|
-
private apiClient;
|
|
20
|
-
constructor(apiClient: ApiClient);
|
|
21
|
-
getChainDetailsMap(): Promise<ChainDetailsMap>;
|
|
22
|
-
tokens(): Promise<TokenWithChainDetails[]>;
|
|
23
|
-
getPendingInfo(): Promise<PendingInfoResponse>;
|
|
24
|
-
getGasBalance(chainSymbol: ChainSymbol, address: string): Promise<GasBalanceResponse>;
|
|
25
|
-
getChainDetailsMapAndPoolInfoMap(): Promise<{
|
|
26
|
-
chainDetailsMap: ChainDetailsMap;
|
|
27
|
-
poolInfoMap: PoolInfoMap;
|
|
28
|
-
}>;
|
|
29
|
-
getTransferStatus(chainSymbol: ChainSymbol, txId: string): Promise<TransferStatusResponse>;
|
|
30
|
-
getReceiveTransactionCost(args: ReceiveTransactionCostRequest): Promise<ReceiveTransactionCostResponse>;
|
|
31
|
-
getPoolInfoMap(pools: PoolKeyObject[] | PoolKeyObject): Promise<PoolInfoMap>;
|
|
32
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/client/core-api/index.ts"],"names":[],"mappings":";;;AA8BA,MAAa,uBAAuB;IAClC,YAAoB,SAAoB;QAApB,cAAS,GAAT,SAAS,CAAW;IAAG,CAAC;IAE5C,KAAK,CAAC,kBAAkB;QACtB,OAAO,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC,CAAC,eAAe,CAAC;IAC/D,CAAC;IAED,KAAK,CAAC,MAAM;QACV,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC5C,OAAO,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IAC3E,CAAC;IAED,KAAK,CAAC,cAAc;QAClB,OAAO,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,WAAwB,EAAE,OAAe;QAC3D,OAAO,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAC5D,CAAC;IAED,KAAK,CAAC,gCAAgC;QAIpC,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,WAAwB,EAAE,IAAY;QAC5D,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;IACnE,CAAC;IAED,KAAK,CAAC,yBAAyB,CAAC,IAAmC;QACjE,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC;IAC9D,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,KAAsC;QACzD,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IACpD,CAAC;CACF;AAtCD,0DAsCC"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { AllbridgeCoreSdkOptions, NodeRpcUrls, NodeUrlsConfig } from "../index";
|
|
2
|
-
export declare const testnet: AllbridgeCoreSdkOptions;
|
|
3
|
-
/**
|
|
4
|
-
* @Deprecated use {@link testnetNodeRpcUrlsDefault}
|
|
5
|
-
*/
|
|
6
|
-
export declare const testnetNodeUrlsDefault: NodeUrlsConfig;
|
|
7
|
-
export declare const testnetNodeRpcUrlsDefault: NodeRpcUrls;
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.testnetNodeRpcUrlsDefault = exports.testnetNodeUrlsDefault = exports.testnet = void 0;
|
|
4
|
-
exports.testnet = {
|
|
5
|
-
coreApiUrl: "https://core-dev.a11bd.net",
|
|
6
|
-
coreApiQueryParams: {},
|
|
7
|
-
coreApiHeaders: {},
|
|
8
|
-
jupiterUrl: "",
|
|
9
|
-
wormholeMessengerProgramId: "3u8hJUVTA4jH1wYAyUur7FFZVQ8H635K3tSHHF4ssjQ5",
|
|
10
|
-
solanaLookUpTable: "C3jAxHRTZjM2Bs7EqPir4nvrT8zKtpcW7RvGR9R2qKtN",
|
|
11
|
-
sorobanNetworkPassphrase: "Test SDF Network ; September 2015",
|
|
12
|
-
tronJsonRpc: "https://nile.trongrid.io/jsonrpc",
|
|
13
|
-
cctpParams: {
|
|
14
|
-
cctpTransmitterProgramId: "CCTPmbSD7gX1bxKPAmg77w8oFzNFpaQiQUWD43TKaecd",
|
|
15
|
-
cctpTokenMessengerMinter: "CCTPiPYPc6AsJuwueEnWgSgucamXDZwBd53dQ11YiKX3",
|
|
16
|
-
cctpDomains: { SPL: 0, ARB: 3, AMO: 7 },
|
|
17
|
-
},
|
|
18
|
-
cachePoolInfoChainSec: 20,
|
|
19
|
-
};
|
|
20
|
-
/**
|
|
21
|
-
* @Deprecated use {@link testnetNodeRpcUrlsDefault}
|
|
22
|
-
*/
|
|
23
|
-
exports.testnetNodeUrlsDefault = {
|
|
24
|
-
solanaRpcUrl: "https://api.devnet.solana.com",
|
|
25
|
-
tronRpcUrl: "https://nile.trongrid.io",
|
|
26
|
-
};
|
|
27
|
-
exports.testnetNodeRpcUrlsDefault = {
|
|
28
|
-
SOL: "https://api.devnet.solana.com",
|
|
29
|
-
TRX: "https://nile.trongrid.io",
|
|
30
|
-
SRB: "https://soroban-testnet.stellar.org",
|
|
31
|
-
STLR: "https://horizon-testnet.stellar.org",
|
|
32
|
-
};
|
|
33
|
-
//# sourceMappingURL=testnet.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"testnet.js","sourceRoot":"","sources":["../../../src/configs/testnet.ts"],"names":[],"mappings":";;;AAEa,QAAA,OAAO,GAA4B;IAC9C,UAAU,EAAE,4BAA4B;IACxC,kBAAkB,EAAE,EAAE;IACtB,cAAc,EAAE,EAAE;IAClB,UAAU,EAAE,EAAE;IACd,0BAA0B,EAAE,8CAA8C;IAC1E,iBAAiB,EAAE,8CAA8C;IACjE,wBAAwB,EAAE,mCAAmC;IAC7D,WAAW,EAAE,kCAAkC;IAC/C,UAAU,EAAE;QACV,wBAAwB,EAAE,8CAA8C;QACxE,wBAAwB,EAAE,8CAA8C;QACxE,WAAW,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE;KACxC;IACD,qBAAqB,EAAE,EAAE;CAC1B,CAAC;AAEF;;GAEG;AACU,QAAA,sBAAsB,GAAmB;IACpD,YAAY,EAAE,+BAA+B;IAC7C,UAAU,EAAE,0BAA0B;CACvC,CAAC;AAEW,QAAA,yBAAyB,GAAgB;IACpD,GAAG,EAAE,+BAA+B;IACpC,GAAG,EAAE,0BAA0B;IAC/B,GAAG,EAAE,qCAAqC;IAC1C,IAAI,EAAE,qCAAqC;CAC5C,CAAC"}
|