rubic-sdk 6.0.0-alpha.ton.17 → 6.0.0-alpha.ton.18
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 +2 -2
- package/lib/core/blockchain/web3-public-service/web3-public/ton-web3-public/ton-web3-public.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":";;;AAAA,8CAAkD;AAClD,yDAAsD;AAoBtD,8DAAkG;AAClG,2CAAuC;AAEvC,MAAa,aAAa;IACtB;;;OAGG;IACI,KAAK,CAAC,gBAAgB,CAAC,aAAqB;QAC/C,MAAM,GAAG,GAAG,MAAM,mBAAQ,CAAC,UAAU,CAAC,GAAG,CACrC,GAAG,8BAAc,WAAW,aAAa,QAAQ,EACjD,EAAE,OAAO,EAAE,EAAE,aAAa,EAAE,8BAAc,EAAE,EAAE,CACjD,CAAC;QACF,IAAI,OAAO,IAAI,GAAG,EAAE;YAChB,MAAM,IAAI,sBAAa,CAAC,+CAA+C,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;SACvF;QAED,OAAO,GAAG,CAAC,KAAK,CAAC;IACrB,CAAC;IAEM,KAAK,CAAC,WAAW,CAAC,GAAW;QAChC,MAAM,OAAO,GAAG,oBAAQ,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;QAClD,MAAM,GAAG,GAAG,MAAM,mBAAQ,CAAC,UAAU,CAAC,GAAG,CACrC,GAAG,8BAAc,wBAAwB,OAAO,cAAc,EAC9D,EAAE,OAAO,EAAE,EAAE,aAAa,EAAE,8BAAc,EAAE,EAAE,CACjD,CAAC;QACF,IAAI,OAAO,IAAI,GAAG,EAAE;YAChB,MAAM,IAAI,sBAAa,CAAC,0CAA0C,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;SAClF;QAED,OAAO,GAAG,CAAC;IACf,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,kBAAkB,CAAC,SAAiB,EAAE,IAAsB;QACrE,IAAI;YACA,MAAM,OAAO,GAAG,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,oBAAQ,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACrF,MAAM,GAAG,GAAG,MAAM,mBAAQ,CAAC,UAAU,CAAC,GAAG,CACrC,GAAG,8BAAc,WAAW,OAAO,EAAE,EACrC,EAAE,OAAO,EAAE,EAAE,aAAa,EAAE,8BAAc,EAAE,EAAE,CACjD,CAAC;YACF,IAAI,OAAO,IAAI,GAAG,EAAE;gBAChB,MAAM,IAAI,sBAAa,CACnB,iDAAiD,GAAG,CAAC,KAAK,EAAE,CAC/D,CAAC;aACL;YAED,OAAO,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC;SAChE;QAAC,MAAM;YACJ,OAAO,KAAK,CAAC;SAChB;IACL,CAAC;IAEM,KAAK,CAAC,WAAW;QACpB,MAAM,GAAG,GAAG,MAAM,mBAAQ,CAAC,UAAU,CAAC,GAAG,CACrC,GAAG,8BAAc,SAAS,EAC1B,EAAE,OAAO,EAAE,EAAE,aAAa,EAAE,8BAAc,EAAE,EAAE,CACjD,CAAC;QACF,IAAI,OAAO,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE;YACpC,OAAO,KAAK,CAAC;SAChB;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,KAAK,CAAC,kBAAkB;QAC3B,MAAM,GAAG,GAAG,MAAM,mBAAQ,CAAC,UAAU,CAAC,GAAG,CACrC,GAAG,oCAAoB,SAAS,EAChC;YACI,MAAM,EAAE;gBACJ,IAAI,EAAE,MAAM;gBACZ,KAAK,EAAE,CAAC;gBACR,MAAM,EAAE,CAAC;aACZ;SACJ,CACJ,CAAC;QACF,IAAI,QAAQ,IAAI,GAAG,EAAE;YACjB,MAAM,IAAI,sBAAa,CACnB,+CAA+C,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CACtE,CAAC;SACL;QAED,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC;IAC1B,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,kBAAkB,CAC3B,aAAqB,EACrB,UAAkB,EAClB,UAA+B;QAE/B,IAAI,SAAS,GAAG,EAAE,CAAC;QACnB,IAAI,UAAU,CAAC,MAAM,EAAE;YACnB,SAAS,IAAI,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SACzE;QACD,MAAM,GAAG,GAAG,MAAM,mBAAQ,CAAC,UAAU,CAAC,GAAG,CACrC,GAAG,8BAAc,wBAAwB,aAAa,YAAY,UAAU,GAAG,SAAS,EAAE,EAC1F,EAAE,OAAO,EAAE,EAAE,aAAa,EAAE,8BAAc,EAAE,EAAE,CACjD,CAAC;QACF,IAAI,OAAO,IAAI,GAAG,EAAE;YAChB,MAAM,IAAI,sBAAa,CAAC,iDAAiD,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;SACzF;QAED,OAAO,GAAG,CAAC,OAAO,CAAC;IACvB,CAAC;IAEM,KAAK,CAAC,cAAc,CAAC,YAAoB;QAC5C,MAAM,GAAG,GAAG,MAAM,mBAAQ,CAAC,UAAU,CAAC,GAAG,CACrC,GAAG,8BAAc,YAAY,YAAY,EAAE,EAC3C,EAAE,OAAO,EAAE,EAAE,aAAa,EAAE,8BAAc,EAAE,EAAE,CACjD,CAAC;QACF,IAAI,OAAO,IAAI,GAAG,EAAE;YAChB,MAAM,IAAI,sBAAa,CAAC,6CAA6C,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;SACrF;QAED,OAAO,GAAG,CAAC,QAAQ,CAAC;IACxB,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,uBAAuB,CAChC,aAAqB,EACrB,YAAoB;QAEpB,MAAM,GAAG,GAAG,MAAM,mBAAQ,CAAC,UAAU,CAAC,GAAG,CACrC,GAAG,8BAAc,aAAa,aAAa,YAAY,YAAY,EAAE,EACrE,EAAE,OAAO,EAAE,EAAE,aAAa,EAAE,8BAAc,EAAE,EAAE,CACjD,CAAC;QACF,IAAI,OAAO,IAAI,GAAG,EAAE;YAChB,MAAM,IAAI,sBAAa,CACnB,sDAAsD,GAAG,CAAC,KAAK,EAAE,CACpE,CAAC;SACL;QAED,OAAO,GAAG,CAAC;IACf,CAAC;IAEM,KAAK,CAAC,sCAAsC,CAC/C,aAAqB;QAErB,MAAM,GAAG,GAAG,MAAM,mBAAQ,CAAC,UAAU,CAAC,GAAG,CAEvC,GAAG,8BAAc,aAAa,aAAa,UAAU,EAAE;YACrD,OAAO,EAAE,EAAE,aAAa,EAAE,8BAAc,EAAE;SAC7C,CAAC,CAAC;QACH,IAAI,OAAO,IAAI,GAAG,EAAE;YAChB,MAAM,IAAI,sBAAa,CACnB,qEAAqE,GAAG,CAAC,KAAK,EAAE,CACnF,CAAC;SACL;QAED,OAAO,GAAG,CAAC,QAAQ,CAAC;IACxB,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,gBAAgB,CAAC,aAAqB;QAC/C,MAAM,GAAG,GAAG,MAAM,mBAAQ,CAAC,UAAU,CAAC,GAAG,CACrC,GAAG,8BAAc,aAAa,aAAa,EAAE,EAC7C,EAAE,OAAO,EAAE,EAAE,aAAa,EAAE,8BAAc,EAAE,EAAE,CACjD,CAAC;QACF,IAAI,OAAO,IAAI,GAAG,EAAE;YAChB,MAAM,IAAI,sBAAa,CAAC,+CAA+C,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;SACvF;QAED,OAAO,GAAG,CAAC;IACf,CAAC;CACJ;AA7KD,sCA6KC"}
|
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
@@ -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
|
}
|
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,0EAAsE;AACtE,oFAAgF;AAChF,6GAAwG;AAIxG,mDAA0D;AAC1D,gDAA4C;AAE5C,MAAa,aAAc,SAAQ,wBAAU;IACzC;QACI,KAAK,CAAC,iCAAe,CAAC,GAAG,CAAC,CAAC;QAGd,WAAM,GAAkB,IAAI,8BAAa,EAAE,CAAC;IAF7D,CAAC;IAIM,KAAK,CAAC,oBAAoB,CAAC,
|
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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"}
|