rubic-sdk 6.0.0-alpha.ton.17 → 6.0.0-alpha.ton.19
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/lib/core/blockchain/services/ton/tonapi-service.d.ts +7 -2
- package/lib/core/blockchain/services/ton/tonapi-service.js +12 -4
- package/lib/core/blockchain/services/ton/tonapi-service.js.map +1 -1
- package/lib/core/blockchain/web3-private-service/web3-private/ton-web3-private/ton-web3-private.js +3 -3
- package/lib/core/blockchain/web3-private-service/web3-private/ton-web3-private/ton-web3-private.js.map +1 -1
- package/lib/core/blockchain/web3-public-service/web3-public/ton-web3-public/ton-web3-public.d.ts +1 -1
- package/lib/core/blockchain/web3-public-service/web3-public/ton-web3-public/ton-web3-public.js +4 -7
- package/lib/core/blockchain/web3-public-service/web3-public/ton-web3-public/ton-web3-public.js.map +1 -1
- package/lib/features/on-chain/calculation-manager/providers/aggregators/tonkeeper/tonkeeper-on-chain-provider.d.ts +1 -1
- package/lib/features/on-chain/calculation-manager/providers/aggregators/tonkeeper/tonkeeper-on-chain-provider.js +6 -9
- package/lib/features/on-chain/calculation-manager/providers/aggregators/tonkeeper/tonkeeper-on-chain-provider.js.map +1 -1
- package/package.json +1 -1
@@ -7,8 +7,13 @@ export declare class TonApiService {
|
|
7
7
|
* @param walletAddress in any format: raw or friendly
|
8
8
|
*/
|
9
9
|
fetchWalletSeqno(walletAddress: string): Promise<number>;
|
10
|
-
fetchTxInfo(
|
11
|
-
|
10
|
+
fetchTxInfo(boc: string): Promise<TonApiTxDataByBocResp>;
|
11
|
+
/**
|
12
|
+
*
|
13
|
+
* @param type base64 is base64 hash string, boc - string converted from cells returned in tonConnectUI.sendTransactioon
|
14
|
+
* @returns
|
15
|
+
*/
|
16
|
+
checkIsTxCompleted(hashOrBoc: string, type: 'boc' | 'base64'): Promise<boolean>;
|
12
17
|
healthcheck(): Promise<boolean>;
|
13
18
|
fetchLastBlockInfo(): Promise<TonCenterBlockInfo>;
|
14
19
|
/**
|
@@ -4,6 +4,7 @@ exports.TonApiService = void 0;
|
|
4
4
|
const errors_1 = require("../../../../common/errors");
|
5
5
|
const injector_1 = require("../../../injector/injector");
|
6
6
|
const ton_constants_1 = require("../constants/ton-constants");
|
7
|
+
const ton_utils_1 = require("./ton-utils");
|
7
8
|
class TonApiService {
|
8
9
|
/**
|
9
10
|
*
|
@@ -16,16 +17,23 @@ class TonApiService {
|
|
16
17
|
}
|
17
18
|
return res.seqno;
|
18
19
|
}
|
19
|
-
async fetchTxInfo(
|
20
|
-
const
|
20
|
+
async fetchTxInfo(boc) {
|
21
|
+
const msgHash = ton_utils_1.TonUtils.fromBocToBase64Hash(boc);
|
22
|
+
const res = await injector_1.Injector.httpClient.get(`${ton_constants_1.TONAPI_API_URL}/blockchain/messages/${msgHash}/transaction`, { headers: { Authorization: ton_constants_1.TONAPI_API_KEY } });
|
21
23
|
if ('error' in res) {
|
22
24
|
throw new errors_1.RubicSdkError(`[TonApiService] Error in fetchTxInfo - ${res.error}`);
|
23
25
|
}
|
24
26
|
return res;
|
25
27
|
}
|
26
|
-
|
28
|
+
/**
|
29
|
+
*
|
30
|
+
* @param type base64 is base64 hash string, boc - string converted from cells returned in tonConnectUI.sendTransactioon
|
31
|
+
* @returns
|
32
|
+
*/
|
33
|
+
async checkIsTxCompleted(hashOrBoc, type) {
|
27
34
|
try {
|
28
|
-
const
|
35
|
+
const msgHash = type === 'boc' ? ton_utils_1.TonUtils.fromBocToBase64Hash(hashOrBoc) : hashOrBoc;
|
36
|
+
const res = await injector_1.Injector.httpClient.get(`${ton_constants_1.TONAPI_API_URL}/events/${msgHash}`, { headers: { Authorization: ton_constants_1.TONAPI_API_KEY } });
|
29
37
|
if ('error' in res) {
|
30
38
|
throw new errors_1.RubicSdkError(`[TonApiService] Error in checkIsTxCompleted - ${res.error}`);
|
31
39
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"tonapi-service.js","sourceRoot":"","sources":["../../../../../src/core/blockchain/services/ton/tonapi-service.ts"],"names":[],"mappings":";;;AAAA,8CAAkD;AAClD,yDAAsD;AAoBtD,8DAAkG;
|
1
|
+
{"version":3,"file":"tonapi-service.js","sourceRoot":"","sources":["../../../../../src/core/blockchain/services/ton/tonapi-service.ts"],"names":[],"mappings":"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"}
|
package/lib/core/blockchain/web3-private-service/web3-private/ton-web3-private/ton-web3-private.js
CHANGED
@@ -21,7 +21,7 @@ class TonWeb3Private extends web3_private_1.Web3Private {
|
|
21
21
|
});
|
22
22
|
const txHash = ton_utils_1.TonUtils.fromBocToBase64Hash(boc);
|
23
23
|
options.onTransactionHash?.(txHash);
|
24
|
-
const isCompleted = await this.waitForTransactionReceipt(
|
24
|
+
const isCompleted = await this.waitForTransactionReceipt(boc);
|
25
25
|
if (!isCompleted) {
|
26
26
|
throw new errors_1.RubicSdkError('[TonWeb3Private] TON transaction timeout expired!');
|
27
27
|
}
|
@@ -32,7 +32,7 @@ class TonWeb3Private extends web3_private_1.Web3Private {
|
|
32
32
|
throw evm_web3_private_1.EvmWeb3Private.parseError(err);
|
33
33
|
}
|
34
34
|
}
|
35
|
-
async waitForTransactionReceipt(
|
35
|
+
async waitForTransactionReceipt(boc) {
|
36
36
|
let isCompleted = false;
|
37
37
|
let durationInSecs = 0;
|
38
38
|
const durationLimitInSecs = 600;
|
@@ -47,7 +47,7 @@ class TonWeb3Private extends web3_private_1.Web3Private {
|
|
47
47
|
return true;
|
48
48
|
}
|
49
49
|
await (0, waitFor_1.waitFor)(30000);
|
50
|
-
isCompleted = await this.tonApi.checkIsTxCompleted(
|
50
|
+
isCompleted = await this.tonApi.checkIsTxCompleted(boc, 'boc');
|
51
51
|
}
|
52
52
|
}
|
53
53
|
constructor(tonProviderCore) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ton-web3-private.js","sourceRoot":"","sources":["../../../../../../src/core/blockchain/web3-private-service/web3-private/ton-web3-private/ton-web3-private.ts"],"names":[],"mappings":";;;AACA,8CAAkD;AAClD,sDAAmD;AACnD,gFAA6F;AAC7F,0EAAsE;AACtE,oFAAgF;AAChF,6GAAwG;AAGxG,2EAAsE;AAEtE,kDAA8C;AAG9C,MAAa,cAAe,SAAQ,0BAAW;IAOpC,KAAK,CAAC,iBAAiB;QAC1B,OAAO,iCAAe,CAAC,GAAG,CAAC;IAC/B,CAAC;IAEM,KAAK,CAAC,eAAe,CAAC,OAA8B;QACvD,IAAI;YACA,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC;gBACpD,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,GAAG;gBAC/C,QAAQ,EAAE,OAAO,CAAC,QAAQ;aAC7B,CAAC,CAAC;YACH,MAAM,MAAM,GAAG,oBAAQ,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;YACjD,OAAO,CAAC,iBAAiB,EAAE,CAAC,MAAM,CAAC,CAAC;YACpC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,yBAAyB,CAAC,
|
1
|
+
{"version":3,"file":"ton-web3-private.js","sourceRoot":"","sources":["../../../../../../src/core/blockchain/web3-private-service/web3-private/ton-web3-private/ton-web3-private.ts"],"names":[],"mappings":";;;AACA,8CAAkD;AAClD,sDAAmD;AACnD,gFAA6F;AAC7F,0EAAsE;AACtE,oFAAgF;AAChF,6GAAwG;AAGxG,2EAAsE;AAEtE,kDAA8C;AAG9C,MAAa,cAAe,SAAQ,0BAAW;IAOpC,KAAK,CAAC,iBAAiB;QAC1B,OAAO,iCAAe,CAAC,GAAG,CAAC;IAC/B,CAAC;IAEM,KAAK,CAAC,eAAe,CAAC,OAA8B;QACvD,IAAI;YACA,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC;gBACpD,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,GAAG;gBAC/C,QAAQ,EAAE,OAAO,CAAC,QAAQ;aAC7B,CAAC,CAAC;YACH,MAAM,MAAM,GAAG,oBAAQ,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;YACjD,OAAO,CAAC,iBAAiB,EAAE,CAAC,MAAM,CAAC,CAAC;YACpC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,CAAC;YAC9D,IAAI,CAAC,WAAW,EAAE;gBACd,MAAM,IAAI,sBAAa,CAAC,mDAAmD,CAAC,CAAC;aAChF;YACD,OAAO,GAAG,CAAC;SACd;QAAC,OAAO,GAAG,EAAE;YACV,OAAO,CAAC,KAAK,CAAC,2BAA2B,GAAG,EAAE,CAAC,CAAC;YAChD,MAAM,iCAAc,CAAC,UAAU,CAAC,GAAgB,CAAC,CAAC;SACrD;IACL,CAAC;IAEO,KAAK,CAAC,yBAAyB,CAAC,GAAW;QAC/C,IAAI,WAAW,GAAG,KAAK,CAAC;QACxB,IAAI,cAAc,GAAG,CAAC,CAAC;QACvB,MAAM,mBAAmB,GAAG,GAAG,CAAC;QAChC,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,cAAc,EAAE,EAAE,IAAK,CAAC,CAAC;QAC9D,OAAO,IAAI,EAAE;YACT,IAAI,cAAc,GAAG,mBAAmB,EAAE;gBACtC,aAAa,CAAC,UAAU,CAAC,CAAC;gBAC1B,OAAO,KAAK,CAAC;aAChB;YACD,IAAI,WAAW,EAAE;gBACb,aAAa,CAAC,UAAU,CAAC,CAAC;gBAC1B,OAAO,IAAI,CAAC;aACf;YACD,MAAM,IAAA,iBAAO,EAAC,KAAM,CAAC,CAAC;YACtB,WAAW,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;SAClE;IACL,CAAC;IAED,YAAY,eAAsC;QAC9C,KAAK,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QAjDhB,aAAQ,GAAG,2BAAW,CAAC;QAEzB,WAAM,GAAkB,IAAI,8BAAa,EAAE,CAAC;QAgDzD,IAAI,CAAC,YAAY,GAAG,eAAe,CAAC,IAAI,CAAC;IAC7C,CAAC;CACJ;AArDD,wCAqDC"}
|
package/lib/core/blockchain/web3-public-service/web3-public/ton-web3-public/ton-web3-public.d.ts
CHANGED
@@ -7,7 +7,7 @@ import { Web3Public } from '../web3-public';
|
|
7
7
|
export declare class TonWeb3Public extends Web3Public {
|
8
8
|
constructor();
|
9
9
|
private readonly tonApi;
|
10
|
-
getTransactionStatus(
|
10
|
+
getTransactionStatus(txHash: string): Promise<TxStatus>;
|
11
11
|
healthCheck(timeoutMs: number): Promise<boolean>;
|
12
12
|
getBalance(userAddress: string, tokenAddress?: string | undefined): Promise<BigNumber>;
|
13
13
|
/**
|
package/lib/core/blockchain/web3-public-service/web3-public/ton-web3-public/ton-web3-public.js
CHANGED
@@ -4,11 +4,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
4
4
|
};
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
6
6
|
exports.TonWeb3Public = void 0;
|
7
|
+
const core_1 = require("@ton/core");
|
7
8
|
const bignumber_js_1 = __importDefault(require("bignumber.js"));
|
8
9
|
const native_tokens_1 = require("../../../../../common/tokens/constants/native-tokens");
|
9
10
|
const p_timeout_1 = __importDefault(require("../../../../../common/utils/p-timeout"));
|
10
11
|
const blockchain_name_1 = require("../../../models/blockchain-name");
|
11
|
-
const ton_utils_1 = require("../../../services/ton/ton-utils");
|
12
12
|
const tonapi_service_1 = require("../../../services/ton/tonapi-service");
|
13
13
|
const ton_web3_pure_1 = require("../../../web3-pure/typed-web3-pure/ton-web3-pure/ton-web3-pure");
|
14
14
|
const tx_status_1 = require("../models/tx-status");
|
@@ -18,8 +18,8 @@ class TonWeb3Public extends web3_public_1.Web3Public {
|
|
18
18
|
super(blockchain_name_1.BLOCKCHAIN_NAME.TON);
|
19
19
|
this.tonApi = new tonapi_service_1.TonApiService();
|
20
20
|
}
|
21
|
-
async getTransactionStatus(
|
22
|
-
const isCompleted = await this.tonApi.checkIsTxCompleted(
|
21
|
+
async getTransactionStatus(txHash) {
|
22
|
+
const isCompleted = await this.tonApi.checkIsTxCompleted(txHash, 'base64');
|
23
23
|
if (isCompleted) {
|
24
24
|
return tx_status_1.TX_STATUS.SUCCESS;
|
25
25
|
}
|
@@ -49,10 +49,7 @@ class TonWeb3Public extends web3_public_1.Web3Public {
|
|
49
49
|
if (!tokens.length || !tokensAddresses.length) {
|
50
50
|
return [];
|
51
51
|
}
|
52
|
-
const rawTokensAddresses =
|
53
|
-
const res = await ton_utils_1.TonUtils.getAllFormatsOfAddress(address);
|
54
|
-
return res.raw_form.toLowerCase();
|
55
|
-
}));
|
52
|
+
const rawTokensAddresses = tokensAddresses.map(address => core_1.Address.parse(address).toRawString().toLowerCase());
|
56
53
|
const balances = tokens
|
57
54
|
.filter(token => rawTokensAddresses.includes(token.jetton.address.toLowerCase()))
|
58
55
|
.map(token => new bignumber_js_1.default(token.balance));
|
package/lib/core/blockchain/web3-public-service/web3-public/ton-web3-public/ton-web3-public.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ton-web3-public.js","sourceRoot":"","sources":["../../../../../../src/core/blockchain/web3-public-service/web3-public/ton-web3-public/ton-web3-public.ts"],"names":[],"mappings":";;;;;;AAAA,gEAAqC;AACrC,6EAA6E;AAC7E,2EAAkD;AAClD,gFAA6E;AAE7E,
|
1
|
+
{"version":3,"file":"ton-web3-public.js","sourceRoot":"","sources":["../../../../../../src/core/blockchain/web3-public-service/web3-public/ton-web3-public/ton-web3-public.ts"],"names":[],"mappings":"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"}
|
@@ -10,6 +10,6 @@ export declare class TonkeeperOnChainProvider extends AggregatorOnChainProvider
|
|
10
10
|
readonly tradeType: "TONKEEPER";
|
11
11
|
isSupportedBlockchain(blockchain: BlockchainName): blockchain is TonBlockchainName;
|
12
12
|
calculate(from: PriceTokenAmount, toToken: PriceToken, options: RequiredOnChainCalculationOptions): Promise<OnChainTrade | OnChainTradeError>;
|
13
|
-
private
|
13
|
+
private getRawAddresses;
|
14
14
|
protected getGasFeeInfo(tradeStruct: TonkeeperOnChainTradeStruct): Promise<GasFeeInfo | null>;
|
15
15
|
}
|
@@ -4,11 +4,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
4
4
|
};
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
6
6
|
exports.TonkeeperOnChainProvider = void 0;
|
7
|
+
const core_1 = require("@ton/core");
|
7
8
|
const bignumber_js_1 = __importDefault(require("bignumber.js"));
|
8
9
|
const tokens_1 = require("../../../../../../common/tokens");
|
9
10
|
const native_tokens_1 = require("../../../../../../common/tokens/constants/native-tokens");
|
10
11
|
const blockchain_name_1 = require("../../../../../../core/blockchain/models/blockchain-name");
|
11
|
-
const ton_utils_1 = require("../../../../../../core/blockchain/services/ton/ton-utils");
|
12
12
|
const web3_pure_1 = require("../../../../../../core/blockchain/web3-pure/web3-pure");
|
13
13
|
const on_chain_trade_type_1 = require("../../common/models/on-chain-trade-type");
|
14
14
|
const aggregator_on_chain_provider_abstract_1 = require("../../common/on-chain-aggregator/aggregator-on-chain-provider-abstract");
|
@@ -24,10 +24,8 @@ class TonkeeperOnChainProvider extends aggregator_on_chain_provider_abstract_1.A
|
|
24
24
|
}
|
25
25
|
async calculate(from, toToken, options) {
|
26
26
|
try {
|
27
|
-
const [
|
28
|
-
|
29
|
-
this.handleProxyContract(from, options)
|
30
|
-
]);
|
27
|
+
const [fromRawAddress, toRawAddress] = this.getRawAddresses(from, toToken);
|
28
|
+
const { fromWithoutFee, proxyFeeInfo } = await this.handleProxyContract(from, options);
|
31
29
|
const bestRoute = await tonkeeper_api_service_1.TonkeeperApiService.makeQuoteReq(fromRawAddress, toRawAddress, fromWithoutFee.stringWeiAmount);
|
32
30
|
const to = new tokens_1.PriceTokenAmount({
|
33
31
|
...toToken.asStruct,
|
@@ -59,17 +57,16 @@ class TonkeeperOnChainProvider extends aggregator_on_chain_provider_abstract_1.A
|
|
59
57
|
};
|
60
58
|
}
|
61
59
|
}
|
62
|
-
|
63
|
-
const
|
60
|
+
getRawAddresses(from, toToken) {
|
61
|
+
const rawAddresses = [from, toToken].map(token => {
|
64
62
|
if (token.address.startsWith('0:') || token.address.startsWith('-1:')) {
|
65
63
|
return token.address;
|
66
64
|
}
|
67
65
|
if (token.isNative) {
|
68
66
|
return 'ton';
|
69
67
|
}
|
70
|
-
return
|
68
|
+
return core_1.Address.parse(token.address).toRawString();
|
71
69
|
});
|
72
|
-
const rawAddresses = (await Promise.all(promises));
|
73
70
|
return rawAddresses;
|
74
71
|
}
|
75
72
|
async getGasFeeInfo(tradeStruct) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"tonkeeper-on-chain-provider.js","sourceRoot":"","sources":["../../../../../../../src/features/on-chain/calculation-manager/providers/aggregators/tonkeeper/tonkeeper-on-chain-provider.ts"],"names":[],"mappings":";;;;;;AAAA,gEAAqC;AACrC,8CAAiE;AACjE,6EAA6E;AAC7E,gFAIoD;AACpD,
|
1
|
+
{"version":3,"file":"tonkeeper-on-chain-provider.js","sourceRoot":"","sources":["../../../../../../../src/features/on-chain/calculation-manager/providers/aggregators/tonkeeper/tonkeeper-on-chain-provider.ts"],"names":[],"mappings":"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"}
|