wan-ton-sdk 0.0.7 → 0.0.9
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/Bridge.compile.d.ts +2 -0
- package/dist/Bridge.compile.js +9 -0
- package/dist/Bridge.d.ts +208 -0
- package/dist/Bridge.js +468 -0
- package/dist/Fake.compile.d.ts +2 -0
- package/dist/Fake.compile.js +9 -0
- package/dist/GroupApprove.compile.d.ts +2 -0
- package/dist/GroupApprove.compile.js +7 -0
- package/dist/GroupApprove.d.ts +124 -0
- package/dist/GroupApprove.js +181 -0
- package/dist/JettonMinter.compile.d.ts +2 -0
- package/dist/JettonMinter.compile.js +6 -0
- package/dist/JettonMinter.d.ts +45 -0
- package/dist/JettonMinter.js +124 -0
- package/dist/JettonWallet.compile.d.ts +2 -0
- package/dist/JettonWallet.compile.js +6 -0
- package/dist/JettonWallet.d.ts +26 -0
- package/dist/JettonWallet.js +103 -0
- package/dist/Signature.compile.d.ts +2 -0
- package/dist/Signature.compile.js +7 -0
- package/dist/Signature.d.ts +44 -0
- package/dist/Signature.js +106 -0
- package/dist/address.compile.d.ts +2 -0
- package/dist/address.compile.js +9 -0
- package/dist/client/client-interface.d.ts +35 -0
- package/dist/client/client-interface.js +9 -0
- package/dist/client/client.d.ts +22 -0
- package/dist/client/client.js +86 -0
- package/dist/client/tonapi-client.d.ts +4630 -0
- package/dist/client/tonapi-client.js +5376 -0
- package/dist/code/encode-decode.d.ts +132 -0
- package/dist/code/encode-decode.js +645 -0
- package/dist/code/userLock.d.ts +39 -0
- package/dist/code/userLock.js +284 -0
- package/dist/common.d.ts +9 -0
- package/dist/common.js +45 -0
- package/dist/config/config-ex.d.ts +7 -0
- package/dist/config/config-ex.js +73 -0
- package/dist/const/const-value.d.ts +21 -0
- package/dist/const/const-value.js +26 -0
- package/dist/contractAccess/bridgeAccess.d.ts +10 -0
- package/dist/contractAccess/bridgeAccess.js +55 -0
- package/dist/contractAccess/groupApproveAccess.d.ts +10 -0
- package/dist/contractAccess/groupApproveAccess.js +54 -0
- package/dist/db/Db.d.ts +24 -0
- package/dist/db/Db.js +739 -0
- package/dist/db/DbAccess.d.ts +24 -0
- package/dist/db/DbAccess.js +211 -0
- package/dist/db/common.d.ts +5 -0
- package/dist/db/common.js +114 -0
- package/dist/event/getEvents.d.ts +17 -0
- package/dist/event/getEvents.js +387 -0
- package/dist/example/db/createDb-ex.d.ts +1 -0
- package/{example/createDb-ex.ts → dist/example/db/createDb-ex.js} +3 -4
- package/dist/example/db/dbFeedTrans-ex.d.ts +1 -0
- package/{example/dbFeedTrans-ex.ts → dist/example/db/dbFeedTrans-ex.js} +9 -11
- package/dist/example/event/getAllEvents-ex.d.ts +1 -0
- package/dist/example/event/getAllEvents-ex.js +70 -0
- package/dist/example/event/getEventByHash-ex.d.ts +1 -0
- package/{example/getEventByHash-ex.ts → dist/example/event/getEventByHash-ex.js} +21 -25
- package/dist/example/event/getEventsByRange-ex.d.ts +1 -0
- package/dist/example/event/getEventsByRange-ex.js +58 -0
- package/dist/example/getAllTrans.d.ts +1 -0
- package/dist/example/getAllTrans.js +30 -0
- package/dist/example/jetton/getJettonInfo-ex.d.ts +1 -0
- package/dist/example/jetton/getJettonInfo-ex.js +32 -0
- package/dist/example/lock-release/smgRelease-ex.d.ts +1 -0
- package/dist/example/lock-release/smgRelease-ex.js +134 -0
- package/dist/example/lock-release/userLock-ex.d.ts +1 -0
- package/dist/example/lock-release/userLock-ex.js +69 -0
- package/dist/example/manage/addSmg-ex.d.ts +1 -0
- package/dist/example/manage/addSmg-ex.js +59 -0
- package/dist/example/manage/compileContract-ex.d.ts +1 -0
- package/dist/example/manage/compileContract-ex.js +11 -0
- package/dist/example/manage/deploy-ex.d.ts +1 -0
- package/dist/example/manage/deploy-ex.js +58 -0
- package/dist/example/manage/setFee-ex.d.ts +1 -0
- package/dist/example/manage/setFee-ex.js +61 -0
- package/dist/example/manage/setFeeProxy.d.ts +1 -0
- package/dist/example/manage/setFeeProxy.js +47 -0
- package/dist/example/manage/upgradeBridgeSc-ex.d.ts +1 -0
- package/dist/example/manage/upgradeBridgeSc-ex.js +44 -0
- package/dist/example/token/AddToken-ex.d.ts +1 -0
- package/dist/example/token/AddToken-ex.js +113 -0
- package/dist/example/token/addTokenPair-ex.d.ts +1 -0
- package/dist/example/token/addTokenPair-ex.js +59 -0
- package/dist/example/token/delTokenPair-ex.d.ts +1 -0
- package/dist/example/token/delTokenPair-ex.js +49 -0
- package/dist/example/token/getTokenPair-ex.d.ts +1 -0
- package/dist/example/token/getTokenPair-ex.js +39 -0
- package/dist/example/token/mintToken-ex.d.ts +1 -0
- package/dist/example/token/mintToken-ex.js +56 -0
- package/dist/example/tran/converTranToTonTran.d.ts +1 -0
- package/dist/example/tran/converTranToTonTran.js +32 -0
- package/dist/example/tran/getTransByRange-ex.d.ts +1 -0
- package/{example/getTransByRange-ex.ts → dist/example/tran/getTransByRange-ex.js} +26 -40
- package/dist/example/tran/getTransaction-ex.d.ts +1 -0
- package/dist/example/tran/getTransaction-ex.js +47 -0
- package/dist/example/tran/isTranSuccess-ex.d.ts +1 -0
- package/dist/example/tran/isTranSuccess-ex.js +27 -0
- package/dist/fee/fee.d.ts +12 -0
- package/dist/fee/fee.js +21 -0
- package/dist/index.d.ts +15 -0
- package/dist/index.js +95 -0
- package/dist/jest.config.d.ts +3 -0
- package/dist/jest.config.js +8 -0
- package/dist/opcodes.d.ts +55 -0
- package/dist/opcodes.js +59 -0
- package/dist/sign/buildHash.d.ts +6 -0
- package/dist/sign/buildHash.js +39 -0
- package/dist/sign/rawTrans.d.ts +36 -0
- package/dist/sign/rawTrans.js +89 -0
- package/dist/sign/tools-secp256k1.d.ts +21 -0
- package/{sign → dist/sign}/tools-secp256k1.js +18 -44
- package/dist/testData/JettonMinter.compile.func.d.ts +2 -0
- package/dist/testData/JettonMinter.compile.func.js +13 -0
- package/dist/testData/JettonWallet.compile.func.d.ts +2 -0
- package/dist/testData/JettonWallet.compile.func.js +13 -0
- package/dist/testData/bridge.compile.func.d.ts +2 -0
- package/dist/testData/bridge.compile.func.js +13 -0
- package/dist/transResult/transResult.d.ts +29 -0
- package/dist/transResult/transResult.js +528 -0
- package/dist/utils/compileContract.d.ts +13 -0
- package/dist/utils/compileContract.js +54 -0
- package/dist/utils/logger.d.ts +16 -0
- package/dist/utils/logger.js +94 -0
- package/dist/utils/utils.d.ts +26 -0
- package/dist/utils/utils.js +330 -0
- package/dist/wallet/balance.d.ts +5 -0
- package/dist/wallet/balance.js +29 -0
- package/dist/wallet/jetton.d.ts +16 -0
- package/dist/wallet/jetton.js +171 -0
- package/dist/wallet/walletContract.d.ts +31 -0
- package/dist/wallet/walletContract.js +106 -0
- package/package.json +8 -6
- package/Bridge.compile.ts +0 -8
- package/Bridge.ts +0 -645
- package/Bridge.ts.org +0 -647
- package/Fake.compile.ts +0 -8
- package/GroupApprove.compile.ts +0 -6
- package/GroupApprove.ts +0 -274
- package/JettonMinter.compile.ts +0 -5
- package/JettonMinter.ts +0 -135
- package/JettonWallet.compile.ts +0 -5
- package/JettonWallet.ts +0 -127
- package/Signature.compile.ts +0 -6
- package/Signature.ts +0 -105
- package/address.compile.ts +0 -8
- package/client/1.json +0 -1730
- package/client/client.ts +0 -73
- package/client/log/.ba8901062aebb86bf525b42c65ff84f9485419e4-audit.json +0 -15
- package/code/decode.spec.ts +0 -81
- package/code/encode-decode.ts +0 -622
- package/code/log/.ba8901062aebb86bf525b42c65ff84f9485419e4-audit.json +0 -20
- package/code/log/wan-ton-sdk.out.2025-01-20 +0 -0
- package/code/userLock.ts +0 -291
- package/common.ts +0 -62
- package/config/config-ex.ts +0 -25
- package/config/config.ts +0 -1
- package/const/const-value.ts +0 -33
- package/contractAccess/bridgeAccess.ts +0 -60
- package/contractAccess/groupApproveAccess.ts +0 -59
- package/data/EQCxE6mUtQJKFnGfaROTKOt1lZbDiiX1kCixRv7Nw2Id_sDs.json +0 -7348
- package/db/Db.spec.ts +0 -193
- package/db/Db.ts +0 -736
- package/db/DbAccess.spec.ts +0 -23
- package/db/DbAccess.ts +0 -186
- package/db/common.ts +0 -94
- package/db/log/.ba8901062aebb86bf525b42c65ff84f9485419e4-audit.json +0 -15
- package/db/log/wan-ton-sdk.out.2025-04-21 +0 -0
- package/event/getEvents.ts +0 -441
- package/event/log/.ba8901062aebb86bf525b42c65ff84f9485419e4-audit.json +0 -15
- package/event/log/wan-ton-sdk.out.2024-12-19 +0 -0
- package/example/0:1.txt +0 -1
- package/example/AddToken-ex.ts +0 -148
- package/example/README.md +0 -21
- package/example/addSmg-ex.ts +0 -78
- package/example/addTokenPair-ex.ts +0 -73
- package/example/compileContract-ex.ts +0 -10
- package/example/converTranToTonTran.ts +0 -43
- package/example/delTokenPair-ex.ts +0 -63
- package/example/deploy-ex.ts +0 -68
- package/example/getAllEvents-ex.ts +0 -61
- package/example/getAllTrans.ts +0 -32
- package/example/getContractState-ex.ts +0 -33
- package/example/getEvents-ex.ts +0 -55
- package/example/getJettonInfo-ex.ts +0 -44
- package/example/getTokenPair-ex.ts +0 -47
- package/example/getTransaction-ex.ts +0 -62
- package/example/isTranSuccess-ex.ts +0 -33
- package/example/locateTx-ex.ts +0 -44
- package/example/log/.ba8901062aebb86bf525b42c65ff84f9485419e4-audit.json +0 -55
- package/example/log/wan-ton-sdk.out.2025-04-21 +0 -447
- package/example/log/wan-ton-sdk.out.2025-04-22 +0 -1918
- package/example/log/wan-ton-sdk.out.2025-04-23 +0 -4216
- package/example/log/wan-ton-sdk.out.2025-04-24.gz +0 -0
- package/example/log/wan-ton-sdk.out.2025-04-25 +0 -46814
- package/example/log/wan-ton-sdk.out.2025-04-27.gz +0 -0
- package/example/log/wan-ton-sdk.out.2025-04-28 +0 -4966
- package/example/log/wan-ton-sdk.out.2025-04-29 +0 -1328
- package/example/log/wan-ton-sdk.out.2025-04-30 +0 -9
- package/example/mintToken-ex.ts +0 -82
- package/example/setFee-ex.ts +0 -82
- package/example/setFeeProxy.ts +0 -70
- package/example/smgRelease-ex.ts +0 -173
- package/example/upgradeBridgeSc-ex.ts +0 -49
- package/example/userLock-ex.ts +0 -78
- package/fee/fee.ts +0 -23
- package/index.ts +0 -76
- package/jest.config.ts +0 -9
- package/log/.ba8901062aebb86bf525b42c65ff84f9485419e4-audit.json +0 -20
- package/log/wan-ton-sdk.out.2025-04-21 +0 -0
- package/log/wan-ton-sdk.out.2025-04-30 +0 -10
- package/opcodes.ts +0 -58
- package/publish.sh +0 -78
- package/sign/buildHash.ts +0 -47
- package/sign/log/.ba8901062aebb86bf525b42c65ff84f9485419e4-audit.json +0 -15
- package/sign/log/wan-ton-sdk.out.2025-04-14 +0 -3
- package/sign/rawTrans.spec.ts +0 -117
- package/sign/rawTrans.ts +0 -122
- package/testData/JettonMinter.compile.func.ts +0 -8
- package/testData/JettonWallet.compile.func.ts +0 -8
- package/testData/addressList.json +0 -6
- package/testData/bridge.compile.func.ts +0 -8
- package/testData/bridge.compiled.json +0 -1
- package/testData/contractAddress.json +0 -7
- package/testData/jettonTokenInfo.json +0 -14
- package/testData/prvlist.json +0 -6
- package/testData/smg.json +0 -5
- package/testData/tokenInfo.json +0 -23
- package/transResult/transResult.ts +0 -608
- package/tsconfig.json +0 -19
- package/utils/.compiled.json +0 -1
- package/utils/compileContract.ts +0 -60
- package/utils/log/.ba8901062aebb86bf525b42c65ff84f9485419e4-audit.json +0 -15
- package/utils/log/wan-ton-sdk.out.2025-01-08 +0 -0
- package/utils/logger.spec.ts +0 -14
- package/utils/logger.ts +0 -96
- package/utils/utils.spec.ts +0 -21
- package/utils/utils.ts +0 -295
- package/wallet/balance.ts +0 -29
- package/wallet/jetton.spec.ts +0 -27
- package/wallet/jetton.ts +0 -159
- package/wallet/walletContract.spec.ts +0 -111
- package/wallet/walletContract.ts +0 -105
- /package/{client/log/wan-ton-sdk.out.2024-12-19 → dist/config/config.d.ts} +0 -0
- /package/{code/log/wan-ton-sdk.out.2025-01-15 → dist/config/config.js} +0 -0
@@ -0,0 +1,387 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
3
|
+
if (k2 === undefined) k2 = k;
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
7
|
+
}
|
8
|
+
Object.defineProperty(o, k2, desc);
|
9
|
+
}) : (function(o, m, k, k2) {
|
10
|
+
if (k2 === undefined) k2 = k;
|
11
|
+
o[k2] = m[k];
|
12
|
+
}));
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
15
|
+
}) : function(o, v) {
|
16
|
+
o["default"] = v;
|
17
|
+
});
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
19
|
+
var ownKeys = function(o) {
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
21
|
+
var ar = [];
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
23
|
+
return ar;
|
24
|
+
};
|
25
|
+
return ownKeys(o);
|
26
|
+
};
|
27
|
+
return function (mod) {
|
28
|
+
if (mod && mod.__esModule) return mod;
|
29
|
+
var result = {};
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
31
|
+
__setModuleDefault(result, mod);
|
32
|
+
return result;
|
33
|
+
};
|
34
|
+
})();
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
36
|
+
exports.getEvents = getEvents;
|
37
|
+
exports.getTransactions = getTransactions;
|
38
|
+
exports.getAllTransactions = getAllTransactions;
|
39
|
+
exports.getEventFromTran = getEventFromTran;
|
40
|
+
exports.getTransaction = getTransaction;
|
41
|
+
exports.getTransactionFromDb = getTransactionFromDb;
|
42
|
+
exports.getEventByTranHash = getEventByTranHash;
|
43
|
+
exports.getOpCodeFromCell = getOpCodeFromCell;
|
44
|
+
const core_1 = require("@ton/core");
|
45
|
+
const encode_decode_1 = require("../code/encode-decode");
|
46
|
+
const logger_1 = require("../utils/logger");
|
47
|
+
const transResult_1 = require("../transResult/transResult");
|
48
|
+
const formatUtil = require('util');
|
49
|
+
const opcodes = __importStar(require("../opcodes"));
|
50
|
+
const utils_1 = require("../utils/utils");
|
51
|
+
const const_value_1 = require("../const/const-value");
|
52
|
+
const DbAccess_1 = require("../db/DbAccess");
|
53
|
+
const client_interface_1 = require("../client/client-interface");
|
54
|
+
async function getEvents(client, scAddress, limit, lt, to_lt, eventName, hash) {
|
55
|
+
logger_1.logger.info("scAddress:%s,limit:%s,lt:%s,to_lt:%s,eventName:%s", scAddress, limit, lt, to_lt, eventName);
|
56
|
+
if (!client) {
|
57
|
+
throw new Error("client does not exist");
|
58
|
+
}
|
59
|
+
if (!core_1.Address.isAddress(core_1.Address.parse(scAddress))) {
|
60
|
+
throw new Error("scAddress is invalid");
|
61
|
+
}
|
62
|
+
if (limit > const_value_1.MAX_LIMIT) {
|
63
|
+
throw new Error("limit is more than MAX_LIMIT(1000)");
|
64
|
+
}
|
65
|
+
let events = [];
|
66
|
+
let trans = [];
|
67
|
+
trans = await getTransactions(client, scAddress, { limit, lt, to_lt, archival: true });
|
68
|
+
for (let tran of trans) {
|
69
|
+
logger_1.logger.info(formatUtil.format("tran=>", tran.hash().toString('base64')));
|
70
|
+
let event = await getEventFromTran(client, tran, scAddress);
|
71
|
+
if (event != null) {
|
72
|
+
logger_1.logger.info("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!==found event==!!!!!!!!!!!!!!!!!!!!!!!!!!!", event);
|
73
|
+
if (eventName && event.eventName.toLowerCase() != eventName.toLowerCase()) {
|
74
|
+
continue;
|
75
|
+
}
|
76
|
+
events.push(event);
|
77
|
+
}
|
78
|
+
}
|
79
|
+
return events;
|
80
|
+
}
|
81
|
+
async function getTransactions(client, scAddress, opts) {
|
82
|
+
logger_1.logger.info("getTransactions opts = %s", opts);
|
83
|
+
let ret = await getTransactionsFromDb(client, scAddress, opts);
|
84
|
+
if (ret && ret.length != 0) {
|
85
|
+
return ret;
|
86
|
+
}
|
87
|
+
logger_1.logger.info("getTransactions from RPC server opts = %s", opts);
|
88
|
+
let scAddr = core_1.Address.parse(scAddress);
|
89
|
+
logger_1.logger.info(formatUtil.format("contractAddr=>", scAddress));
|
90
|
+
try {
|
91
|
+
ret = await client.getTransactions(scAddr, opts);
|
92
|
+
}
|
93
|
+
catch (err) {
|
94
|
+
logger_1.logger.error((0, utils_1.formatError)(err));
|
95
|
+
}
|
96
|
+
return ret;
|
97
|
+
}
|
98
|
+
async function getTransactionsFromDb(client, scAddress, opts) {
|
99
|
+
logger_1.logger.info("getTransactionsFromDb opts = %s", opts);
|
100
|
+
let scAddr = core_1.Address.parse(scAddress);
|
101
|
+
logger_1.logger.info(formatUtil.format("contractAddr=>", scAddress));
|
102
|
+
let dbAccess = await DbAccess_1.DBAccess.getDBAccess();
|
103
|
+
if (!dbAccess) {
|
104
|
+
logger_1.logger.error("not using db cache");
|
105
|
+
return null;
|
106
|
+
}
|
107
|
+
let retTx = null;
|
108
|
+
let retry = const_value_1.MAX_RETRY;
|
109
|
+
while (retry-- > 0 && !retTx) {
|
110
|
+
try {
|
111
|
+
if (!dbAccess?.has(scAddress)) {
|
112
|
+
await dbAccess.addDbByName(scAddress);
|
113
|
+
}
|
114
|
+
retTx = await dbAccess?.getTxsByLtRange(scAddress, opts.lt ? BigInt(opts.lt) : BigInt(0), opts.to_lt ? BigInt(opts.to_lt) : BigInt(0));
|
115
|
+
}
|
116
|
+
catch (err) {
|
117
|
+
logger_1.logger.error("getTxsByLtRange err", (0, utils_1.formatError)(err), "retry", retry, "dbName", "scAddress", scAddress, "opts", opts);
|
118
|
+
}
|
119
|
+
await (0, utils_1.sleep)(10000);
|
120
|
+
}
|
121
|
+
logger_1.logger.info("getTransactionsFromDb success", "scAddress", scAddress, "lt", opts.lt, "tranHash", opts.hash, "retTx", retTx);
|
122
|
+
return retTx;
|
123
|
+
}
|
124
|
+
async function getAllTransactions(client, scAddress, limit, retry) {
|
125
|
+
let trans = [];
|
126
|
+
let transCount = limit;
|
127
|
+
let opts = {
|
128
|
+
limit,
|
129
|
+
archival: true,
|
130
|
+
};
|
131
|
+
let maxRetry = retry;
|
132
|
+
while (transCount) {
|
133
|
+
let getSuccess = false;
|
134
|
+
while (maxRetry-- > 0 && (!getSuccess)) {
|
135
|
+
try {
|
136
|
+
logger_1.logger.info("maxRetry = %s, getSuccess = %s, transCount = %s, scAddress = %s opts = %s", maxRetry, getSuccess, transCount, scAddress, JSON.stringify(opts, utils_1.bigIntReplacer));
|
137
|
+
let ret = await client.getTransactions(core_1.Address.parse(scAddress), opts);
|
138
|
+
transCount = ret.length;
|
139
|
+
logger_1.logger.info("getAllTransactions getTransactions success from rpc", "opts", JSON.stringify(opts, utils_1.bigIntReplacer), "len of getTransactions", transCount, "scAddress", scAddress);
|
140
|
+
for (let tran of ret) {
|
141
|
+
logger_1.logger.info("=====> tranHash = %s lt = %s", tran.hash().toString('base64'), tran.lt.toString(10));
|
142
|
+
trans.push(tran);
|
143
|
+
}
|
144
|
+
if (ret.length) {
|
145
|
+
opts.lt = ret[ret.length - 1].lt.toString(10);
|
146
|
+
opts.hash = ret[ret.length - 1].hash().toString('base64');
|
147
|
+
}
|
148
|
+
getSuccess = true;
|
149
|
+
maxRetry = retry;
|
150
|
+
}
|
151
|
+
catch (e) {
|
152
|
+
logger_1.logger.error("err ", (0, utils_1.formatError)(e));
|
153
|
+
await (0, utils_1.sleep)(2000);
|
154
|
+
}
|
155
|
+
}
|
156
|
+
if (maxRetry == 0) {
|
157
|
+
throw (new Error(formatUtil("getTransactions failed after %d retry. opts is %s", retry, JSON.stringify(opts))));
|
158
|
+
}
|
159
|
+
await (0, utils_1.sleep)(2000);
|
160
|
+
}
|
161
|
+
logger_1.logger.info("getAllTransactions success");
|
162
|
+
return trans;
|
163
|
+
}
|
164
|
+
async function getEventFromTran(client, tran, scAddress) {
|
165
|
+
logger_1.logger.info("getEventFromTran entering", "client is WanTonClient", (0, client_interface_1.IsWanTonClient)(client));
|
166
|
+
let bodyCell = tran.inMessage?.body;
|
167
|
+
if (!bodyCell) {
|
168
|
+
logger_1.logger.error("body is empty", "tran", tran.hash().toString("base64"));
|
169
|
+
return null;
|
170
|
+
}
|
171
|
+
try {
|
172
|
+
let opCode = await getOpCodeFromCell(bodyCell);
|
173
|
+
logger_1.logger.info(formatUtil.format("opCode=>", opCode.toString(16)));
|
174
|
+
logger_1.logger.info(formatUtil.format("codeTable[opCode]=>", encode_decode_1.codeTable[opCode]));
|
175
|
+
if (!encode_decode_1.codeTable[opCode]) {
|
176
|
+
logger_1.logger.error("opCode is empty", "tran", "opCode", opCode.toString(16));
|
177
|
+
return null;
|
178
|
+
}
|
179
|
+
logger_1.logger.info("before decode bodyCell");
|
180
|
+
let decoded = await encode_decode_1.codeTable[opCode]["deCode"](bodyCell);
|
181
|
+
logger_1.logger.info("after decode bodyCell");
|
182
|
+
decoded.txHashBase64 = tran.hash().toString("base64");
|
183
|
+
decoded.txHash = tran.hash().toString("hex");
|
184
|
+
decoded.lt = tran.lt;
|
185
|
+
decoded.prevTransactionHash = tran.prevTransactionHash;
|
186
|
+
decoded.prevTransactionLt = tran.prevTransactionLt;
|
187
|
+
// handle userLock
|
188
|
+
if (opCode == opcodes.OP_CROSS_UserLock) {
|
189
|
+
logger_1.logger.info(formatUtil.format("getEventFromTran OP_CROSS_UserLock"));
|
190
|
+
logger_1.logger.info("getEventFromTran before handleUserLockEvent", "client is WanTonClient", (0, client_interface_1.IsWanTonClient)(client));
|
191
|
+
let handleResult = await handleUserLockEvent(client, core_1.Address.parse(scAddress), tran);
|
192
|
+
if (!handleResult.valid) {
|
193
|
+
logger_1.logger.error(formatUtil.format("handleResult OP_CROSS_UserLock is not valid"));
|
194
|
+
return null;
|
195
|
+
}
|
196
|
+
decoded.origin = handleResult.origin;
|
197
|
+
}
|
198
|
+
else {
|
199
|
+
let handleResult = await handleCommonEvent(client, core_1.Address.parse(scAddress), tran);
|
200
|
+
if (!handleResult.valid) {
|
201
|
+
logger_1.logger.error(formatUtil.format("handleResult handleCommonEvent is not valid"));
|
202
|
+
return null;
|
203
|
+
}
|
204
|
+
decoded.origin = handleResult.origin;
|
205
|
+
}
|
206
|
+
return await encode_decode_1.codeTable[opCode]["emitEvent"](decoded);
|
207
|
+
}
|
208
|
+
catch (err) {
|
209
|
+
logger_1.logger.error(formatUtil.format("getEventFromTran err", (0, utils_1.formatError)(err)));
|
210
|
+
return null;
|
211
|
+
}
|
212
|
+
}
|
213
|
+
async function getTransaction(client, scAddress, lt, tranHash) {
|
214
|
+
logger_1.logger.info("Entering getTransaction", "scAddress", scAddress, "lt", lt, "hash", tranHash, "hash(base64)", (0, utils_1.toBase64)(tranHash));
|
215
|
+
let retTranFromDb = await getTransactionFromDb(client, scAddress, lt, (0, utils_1.toBase64)(tranHash));
|
216
|
+
if (retTranFromDb) {
|
217
|
+
logger_1.logger.info("getTransaction success", "getTransactionFromDb", "retTranFromDb", retTranFromDb.hash().toString("base64"));
|
218
|
+
return retTranFromDb;
|
219
|
+
}
|
220
|
+
logger_1.logger.info("getTransaction", "getTransaction from rpc", "scAddress", scAddress, "lt", lt, "hash", tranHash, "hash(base64)", (0, utils_1.toBase64)(tranHash));
|
221
|
+
let tran;
|
222
|
+
let trans = [];
|
223
|
+
let retry = 2;
|
224
|
+
let status = false;
|
225
|
+
let foundTran = false;
|
226
|
+
let maxTrans = 1000;
|
227
|
+
let transChecked = 0;
|
228
|
+
while (retry-- > 0) {
|
229
|
+
try {
|
230
|
+
logger_1.logger.info("before client.getTransaction", "scAddress", scAddress, "lt", lt, "hash", tranHash, "hash(base64)", (0, utils_1.toBase64)(tranHash));
|
231
|
+
tran = await client.getTransaction(core_1.Address.parse(scAddress), lt, (0, utils_1.toBase64)(tranHash)); // cannot compute block with specified transaction: cannot find block (0,e56031f43e6493da) lt=33028010000003: lt not in db'
|
232
|
+
logger_1.logger.info("client.getTransaction success", "scAddress", scAddress, "lt", lt, "hash", tranHash, "hash(base64)", (0, utils_1.toBase64)(tranHash), "tran = > ", tran);
|
233
|
+
return tran;
|
234
|
+
}
|
235
|
+
catch (err) {
|
236
|
+
logger_1.logger.error("getTransaction", "client.getTransaction error", (0, utils_1.formatError)(err), "scAddress", scAddress, "lt", lt, "hash", tranHash, "hash(base64)", (0, utils_1.toBase64)(tranHash));
|
237
|
+
await (0, utils_1.sleep)(2000);
|
238
|
+
}
|
239
|
+
}
|
240
|
+
retry = const_value_1.MAX_RETRY;
|
241
|
+
let opts = {
|
242
|
+
limit: const_value_1.MAX_LIMIT,
|
243
|
+
archival: true,
|
244
|
+
};
|
245
|
+
while (transChecked < maxTrans && !foundTran) {
|
246
|
+
status = false;
|
247
|
+
while (--retry > 0 && !status) {
|
248
|
+
try {
|
249
|
+
logger_1.logger.info("getTransactions", "scAddress", scAddress, "opts", opts);
|
250
|
+
trans = await client.getTransactions(core_1.Address.parse(scAddress), opts);
|
251
|
+
status = true;
|
252
|
+
retry = const_value_1.MAX_RETRY;
|
253
|
+
}
|
254
|
+
catch (err) {
|
255
|
+
//logger.error(err.message,err.response?.data?.error,err);
|
256
|
+
logger_1.logger.error((0, utils_1.formatError)(err));
|
257
|
+
await (0, utils_1.sleep)(2000);
|
258
|
+
}
|
259
|
+
}
|
260
|
+
if (retry == 0) {
|
261
|
+
throw (new Error(formatUtil.format("getTransactions ", "scAddress", scAddress, "opts", opts)));
|
262
|
+
}
|
263
|
+
if (trans.length == 0) {
|
264
|
+
break;
|
265
|
+
}
|
266
|
+
for (let i = 0; i < trans.length; i++) {
|
267
|
+
let tx = trans[i];
|
268
|
+
if (i == trans.length - 1) {
|
269
|
+
opts.lt = tx.lt.toString(10);
|
270
|
+
opts.hash = tx.hash().toString('base64');
|
271
|
+
}
|
272
|
+
logger_1.logger.info("getTransactions from rpc", "i", i, "txHash", tx.hash().toString("base64"));
|
273
|
+
if (tx.hash().toString('base64') == (0, utils_1.toBase64)(tranHash)) {
|
274
|
+
tran = tx;
|
275
|
+
foundTran = true;
|
276
|
+
break;
|
277
|
+
}
|
278
|
+
}
|
279
|
+
await (0, utils_1.sleep)(2000);
|
280
|
+
transChecked += trans.length;
|
281
|
+
}
|
282
|
+
if (foundTran) {
|
283
|
+
return tran;
|
284
|
+
}
|
285
|
+
throw (new Error(formatUtil.format("can not getTransactions ", "scAddress", scAddress, "opts", opts)), "hash", tranHash, "hash(bse64)", (0, utils_1.toBase64)(tranHash));
|
286
|
+
}
|
287
|
+
// tranHash: base64
|
288
|
+
async function getTransactionFromDb(client, scAddress, lt, tranHash) {
|
289
|
+
logger_1.logger.info("Entering getTransactionFromDb", "scAddress", scAddress, "lt", lt, "tranHash", tranHash);
|
290
|
+
let dbAccess = await DbAccess_1.DBAccess.getDBAccess();
|
291
|
+
if (!dbAccess) {
|
292
|
+
logger_1.logger.error("not using db cache");
|
293
|
+
return null;
|
294
|
+
}
|
295
|
+
let retTx = null;
|
296
|
+
let retry = const_value_1.MAX_RETRY;
|
297
|
+
while (retry-- > 0 && !retTx) {
|
298
|
+
try {
|
299
|
+
if (!dbAccess?.has(scAddress)) {
|
300
|
+
await dbAccess.addDbByName(scAddress);
|
301
|
+
}
|
302
|
+
retTx = await dbAccess?.getTxByHashLt(scAddress, tranHash, lt);
|
303
|
+
}
|
304
|
+
catch (err) {
|
305
|
+
logger_1.logger.error("getTxByHashLt err", (0, utils_1.formatError)(err), "retry", retry, "dbName", "scAddress", scAddress, "hash", tranHash);
|
306
|
+
}
|
307
|
+
await (0, utils_1.sleep)(10000);
|
308
|
+
}
|
309
|
+
logger_1.logger.info("getTransactionFromDb success", "scAddress", scAddress, "lt", lt, "tranHash", tranHash, "retTx", retTx);
|
310
|
+
return retTx;
|
311
|
+
}
|
312
|
+
async function getEventByTranHash(client, scAddress, lt, tranHash) {
|
313
|
+
logger_1.logger.info("entering getEventByTranHash getTransaction success", "tranHash ", tranHash, "lt", lt, "dbName", scAddress);
|
314
|
+
let tran = await getTransaction(client, scAddress, lt, tranHash);
|
315
|
+
logger_1.logger.info("getEventByTranHash getTransaction success", tran, "tranHash ", tran.hash().toString('hex'));
|
316
|
+
logger_1.logger.info("getEventByTranHash before getEventFromTran", "client is WanTonClient", (0, client_interface_1.IsWanTonClient)(client));
|
317
|
+
return await getEventFromTran(client, tran, scAddress);
|
318
|
+
}
|
319
|
+
async function getOpCodeFromCell(cell) {
|
320
|
+
if (cell.equals(core_1.Cell.EMPTY)) {
|
321
|
+
throw new Error("empty cell");
|
322
|
+
}
|
323
|
+
let slice = cell.beginParse();
|
324
|
+
try {
|
325
|
+
return slice.preloadUint(32);
|
326
|
+
}
|
327
|
+
catch (err) {
|
328
|
+
logger_1.logger.error(formatUtil.format("getOpCodeFromCell(err)=>", (0, utils_1.formatError)(err)));
|
329
|
+
throw new Error("no opCode find");
|
330
|
+
}
|
331
|
+
}
|
332
|
+
/*
|
333
|
+
{
|
334
|
+
valid: true|false, // used the trans tree is valid
|
335
|
+
origin: Address, // from address, who trigger the lock event.
|
336
|
+
}
|
337
|
+
*/
|
338
|
+
async function handleUserLockEvent(client, scAddr, tran) {
|
339
|
+
return handleCommonEvent(client, scAddr, tran);
|
340
|
+
}
|
341
|
+
async function handleCommonEvent(client, scAddr, tran) {
|
342
|
+
logger_1.logger.info(formatUtil.format("Entering handleCommonEvent"));
|
343
|
+
let transResult = await getTransResult(client, scAddr, tran);
|
344
|
+
if (!transResult.success) {
|
345
|
+
logger_1.logger.error("the trans tree is not success");
|
346
|
+
return {
|
347
|
+
valid: false,
|
348
|
+
origin: transResult.originAddr.toString()
|
349
|
+
};
|
350
|
+
}
|
351
|
+
logger_1.logger.info(formatUtil.format("Ending handleCommonEvent"));
|
352
|
+
return {
|
353
|
+
valid: true,
|
354
|
+
origin: transResult.originAddr.toString()
|
355
|
+
};
|
356
|
+
}
|
357
|
+
async function decodeUserLock(bodyCell) {
|
358
|
+
let bodySlice = bodyCell.asSlice();
|
359
|
+
let queryId, dstUserAccount, addrTokenAccount, jwAddrSrc, jwAddrBridgeSc, opCode, smgID, tokenPairID, crossValue;
|
360
|
+
opCode = bodySlice.loadUint(32);
|
361
|
+
queryId = bodySlice.loadUint(64);
|
362
|
+
smgID = bodySlice.loadUintBig(256);
|
363
|
+
tokenPairID = bodySlice.loadUint(32);
|
364
|
+
crossValue = bodySlice.loadUintBig(256);
|
365
|
+
let dstUserAccountBufferLen = bodySlice.loadUint(8);
|
366
|
+
let dstUserAccountBuffer = bodySlice.loadBuffer(dstUserAccountBufferLen);
|
367
|
+
let extraSlice = bodySlice.loadRef().beginParse();
|
368
|
+
addrTokenAccount = extraSlice.loadAddress();
|
369
|
+
jwAddrSrc = extraSlice.loadAddress();
|
370
|
+
jwAddrBridgeSc = extraSlice.loadAddress();
|
371
|
+
extraSlice.endParse();
|
372
|
+
dstUserAccount = "0x" + dstUserAccountBuffer.toString('hex');
|
373
|
+
return {
|
374
|
+
opCode,
|
375
|
+
queryId,
|
376
|
+
smgID,
|
377
|
+
tokenPairID,
|
378
|
+
crossValue,
|
379
|
+
dstUserAccount,
|
380
|
+
addrTokenAccount,
|
381
|
+
jwAddrSrc,
|
382
|
+
jwAddrBridgeSc
|
383
|
+
};
|
384
|
+
}
|
385
|
+
async function getTransResult(client, scAddr, tran) {
|
386
|
+
return await (0, transResult_1.getTranResultByTran)(client, scAddr, tran);
|
387
|
+
}
|
@@ -0,0 +1 @@
|
|
1
|
+
declare function main(): Promise<void>;
|
@@ -0,0 +1 @@
|
|
1
|
+
export {};
|
@@ -1,20 +1,18 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
const DBAccess = require("
|
4
|
-
const scAddress = require('
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
const DBAccess = require("../../db/DbAccess").DBAccess;
|
4
|
+
const scAddress = require('../../testData/contractAddress.json');
|
5
5
|
let scBridgeAddr = scAddress.bridgeAddress;
|
6
|
-
|
7
|
-
async function main(){
|
6
|
+
async function main() {
|
8
7
|
console.log("Entering main function");
|
9
8
|
let dbAccess = await DBAccess.getDBAccess();
|
10
|
-
if(!dbAccess){
|
11
|
-
console.error("not using db cache.")
|
9
|
+
if (!dbAccess) {
|
10
|
+
console.error("not using db cache.");
|
12
11
|
return;
|
13
12
|
}
|
14
13
|
await dbAccess.addDbByName(scBridgeAddr);
|
15
14
|
await dbAccess.addDbByName("EQCABVjsQnmRELMK6vjwGbYNRzHXoTd2hvSX6v_VmVrrJNjW");
|
16
|
-
}
|
17
|
-
|
15
|
+
}
|
16
|
+
;
|
18
17
|
main();
|
19
|
-
|
20
18
|
// ts-node dbFeedTrans-ex.ts
|
@@ -0,0 +1 @@
|
|
1
|
+
export {};
|
@@ -0,0 +1,70 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
const utils_1 = require("../../utils/utils");
|
4
|
+
const config_ex_1 = require("../../config/config-ex");
|
5
|
+
const client_1 = require("../../client/client");
|
6
|
+
const getEvents_1 = require("../../event/getEvents");
|
7
|
+
const DbAccess_1 = require("../../db/DbAccess");
|
8
|
+
const core_1 = require("@ton/core");
|
9
|
+
const common_1 = require("../../db/common");
|
10
|
+
const args = process.argv.slice(2);
|
11
|
+
async function main() {
|
12
|
+
//await wanTonSdkInit(configMainnet);
|
13
|
+
//await wanTonSdkInit(configTestnet);
|
14
|
+
await (0, client_1.wanTonSdkInit)(config_ex_1.configTestTonApi);
|
15
|
+
//await wanTonSdkInit(configTestTonApiNoDb);
|
16
|
+
let scBridgeAddr = args[0];
|
17
|
+
let dbAcces = await DbAccess_1.DBAccess.getDBAccess();
|
18
|
+
if (!dbAcces) {
|
19
|
+
console.error("not using db cache");
|
20
|
+
return;
|
21
|
+
}
|
22
|
+
console.log("scBridgeAddr", scBridgeAddr);
|
23
|
+
console.log("scBridgeAddr final address", core_1.Address.parse(scBridgeAddr).toString());
|
24
|
+
let client = await (0, client_1.getClient)();
|
25
|
+
let scanEvent = async () => {
|
26
|
+
console.log("\n\n\n===================================getAllEvents===================================\n");
|
27
|
+
console.log("\n===================================getAllEvents===================================\n\n\n");
|
28
|
+
let tonTrans = [];
|
29
|
+
if (!dbAcces?.has(scBridgeAddr)) {
|
30
|
+
await dbAcces.addDbByName(scBridgeAddr);
|
31
|
+
await (0, utils_1.sleep)(2000);
|
32
|
+
}
|
33
|
+
try {
|
34
|
+
tonTrans = await dbAcces.getAllTransNotHandled(args[0]);
|
35
|
+
console.log("getAllTransNotHandled tonTrans.length", tonTrans.length);
|
36
|
+
}
|
37
|
+
catch (err) {
|
38
|
+
console.error(err.code, err.response?.data?.error);
|
39
|
+
}
|
40
|
+
if (!tonTrans) {
|
41
|
+
return;
|
42
|
+
}
|
43
|
+
for (let tonTran of tonTrans) {
|
44
|
+
try {
|
45
|
+
console.log("begin getEventByTranHash", "scBridgeAddr", scBridgeAddr, "lt", tonTran.lt.toString(10), "tranHash", tonTran.hash().toString('hex'));
|
46
|
+
let ret = await (0, getEvents_1.getEventByTranHash)(client, scBridgeAddr, tonTran.lt.toString(10), tonTran.hash().toString('hex'));
|
47
|
+
console.log("end getEventByTranHash JacobEvent ret = ", ret);
|
48
|
+
let tranTonTemp = (0, common_1.convertTranToTonTrans)([tonTran]);
|
49
|
+
console.log("begin setTranHandleFlag", "scBridgeAddr", scBridgeAddr, "lt", tonTran.lt.toString(10), "tranHash", tonTran.hash().toString('hex'));
|
50
|
+
await dbAcces.setTranHandleFlag(scBridgeAddr, tranTonTemp[0], true);
|
51
|
+
}
|
52
|
+
catch (err) {
|
53
|
+
console.error(err.code, err.response?.data?.error);
|
54
|
+
}
|
55
|
+
await (0, utils_1.sleep)(1000);
|
56
|
+
}
|
57
|
+
};
|
58
|
+
let round = 1;
|
59
|
+
let busy = false;
|
60
|
+
setInterval(async () => {
|
61
|
+
if (!busy) {
|
62
|
+
busy = true;
|
63
|
+
console.log("round = ", round++);
|
64
|
+
await scanEvent();
|
65
|
+
busy = false;
|
66
|
+
}
|
67
|
+
}, 100000);
|
68
|
+
}
|
69
|
+
main();
|
70
|
+
// ts-node getAllEvents-ex.ts kQDlYDH0PmST2okwTluXJ2mUDMDCzPzXF1gGz24U6H2tE9Wr
|
@@ -0,0 +1 @@
|
|
1
|
+
export {};
|
@@ -1,39 +1,35 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
const config_ex_1 = require("../../config/config-ex");
|
4
|
+
const client_1 = require("../../client/client");
|
5
|
+
const getEvents_1 = require("../../event/getEvents");
|
6
|
+
const client_interface_1 = require("../../client/client-interface");
|
8
7
|
const args = process.argv.slice(2);
|
9
|
-
|
10
|
-
|
11
|
-
await wanTonSdkInit(
|
12
|
-
await wanTonSdkInit(
|
13
|
-
try{
|
14
|
-
let client = await getClient();
|
8
|
+
async function main() {
|
9
|
+
//await wanTonSdkInit(configMainnet);
|
10
|
+
//await wanTonSdkInit(configTestnet);
|
11
|
+
await (0, client_1.wanTonSdkInit)(config_ex_1.configTestTonApi);
|
12
|
+
try {
|
13
|
+
let client = await (0, client_1.getClient)();
|
15
14
|
let scBridgeAddr = args[0];
|
16
15
|
let lt = args[1];
|
17
|
-
let tranHash = Buffer.from(args[2],'hex').toString('base64');
|
18
|
-
|
19
|
-
console.log("
|
20
|
-
let ret = await getEventByTranHash(client,scBridgeAddr,lt,tranHash);
|
21
|
-
|
22
|
-
console.log("ret = ",ret);
|
16
|
+
let tranHash = Buffer.from(args[2], 'hex').toString('base64');
|
17
|
+
console.log("scBridgeAddr", scBridgeAddr, "lt", lt, "tranHash", tranHash);
|
18
|
+
console.log("before getEventByTranHash", "client is WanTonClient", (0, client_interface_1.IsWanTonClient)(client));
|
19
|
+
let ret = await (0, getEvents_1.getEventByTranHash)(client, scBridgeAddr, lt, tranHash);
|
20
|
+
console.log("ret = ", ret);
|
23
21
|
client = null;
|
24
|
-
}catch(err){
|
25
|
-
console.error(err.code,err.response?.data?.error)
|
26
22
|
}
|
27
|
-
|
23
|
+
catch (err) {
|
24
|
+
console.error(err.code, err.response?.data?.error);
|
25
|
+
}
|
28
26
|
}
|
29
|
-
|
30
27
|
main();
|
31
28
|
// userLock
|
32
29
|
// ts-node getEventByHash-ex.ts kQDlYDH0PmST2okwTluXJ2mUDMDCzPzXF1gGz24U6H2tE9Wr 33313072000003 5c6cbcef28ef2514ea0b7594a0dda35e4ce08416312d3c5629388ae21ad54e83
|
33
30
|
// ts-node getEventByHash-ex.ts kQDlYDH0PmST2okwTluXJ2mUDMDCzPzXF1gGz24U6H2tE9Wr 33313091000003 095015c23c8323af4b7c20b9bd35b2864aa2a4fbaa85335828fa63bccbfdaeff
|
34
31
|
// ts-node getEventByHash-ex.ts kQDlYDH0PmST2okwTluXJ2mUDMDCzPzXF1gGz24U6H2tE9Wr 33313098000001 391972a7343d4b644e279575ae1e7b4c92fcf4deda69f3fbe5cb5b7b9ea67f2a
|
35
|
-
|
36
32
|
// smgRelease
|
37
33
|
// ts-node getEventByHash-ex.ts kQDlYDH0PmST2okwTluXJ2mUDMDCzPzXF1gGz24U6H2tE9Wr 33315421000001 5e654b1798cca9b63adcb8091b0962b364581538bc4431449f9e9c674bb0d5f6
|
38
34
|
// ts-node getEventByHash-ex.ts kQDlYDH0PmST2okwTluXJ2mUDMDCzPzXF1gGz24U6H2tE9Wr 33315410000001 dd22c46a31a348d5ff0b77bb0191b915549af7c450ab905390b3e7d8e6981c32
|
39
|
-
// ts-node getEventByHash-ex.ts kQDlYDH0PmST2okwTluXJ2mUDMDCzPzXF1gGz24U6H2tE9Wr 33315399000001 458f7592928e02d22584a71b290abbf82def08c618ee26acbf2da3ea2eccb7a2
|
35
|
+
// ts-node getEventByHash-ex.ts kQDlYDH0PmST2okwTluXJ2mUDMDCzPzXF1gGz24U6H2tE9Wr 33315399000001 458f7592928e02d22584a71b290abbf82def08c618ee26acbf2da3ea2eccb7a2
|
@@ -0,0 +1 @@
|
|
1
|
+
export {};
|
@@ -0,0 +1,58 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
const utils_1 = require("../../utils/utils");
|
4
|
+
const config_ex_1 = require("../../config/config-ex");
|
5
|
+
const client_1 = require("../../client/client");
|
6
|
+
const getEvents_1 = require("../../event/getEvents");
|
7
|
+
const DbAccess_1 = require("../../db/DbAccess");
|
8
|
+
const core_1 = require("@ton/core");
|
9
|
+
const common_1 = require("../../db/common");
|
10
|
+
const args = process.argv.slice(2);
|
11
|
+
async function main() {
|
12
|
+
//await wanTonSdkInit(configMainnet);
|
13
|
+
//await wanTonSdkInit(configTestnet);
|
14
|
+
await (0, client_1.wanTonSdkInit)(config_ex_1.configTestTonApi);
|
15
|
+
//await wanTonSdkInit(configTestTonApiNoDb);
|
16
|
+
let scBridgeAddr = args[0];
|
17
|
+
let lt = BigInt(args[1]);
|
18
|
+
let to_lt = BigInt(args[2]);
|
19
|
+
let dbAcces = await DbAccess_1.DBAccess.getDBAccess();
|
20
|
+
if (!dbAcces) {
|
21
|
+
console.error("not using db cache");
|
22
|
+
return;
|
23
|
+
}
|
24
|
+
console.log("scBridgeAddr", scBridgeAddr);
|
25
|
+
console.log("scBridgeAddr final address", core_1.Address.parse(scBridgeAddr).toString());
|
26
|
+
let client = await (0, client_1.getClient)();
|
27
|
+
setInterval(async () => {
|
28
|
+
console.log("\n\n\n===================================getEventsByRange===================================\n");
|
29
|
+
console.log("\n===================================getEventsByRange===================================\n\n\n");
|
30
|
+
let tonTrans = [];
|
31
|
+
if (!dbAcces?.has(scBridgeAddr)) {
|
32
|
+
await dbAcces.addDbByName(scBridgeAddr);
|
33
|
+
await (0, utils_1.sleep)(2000);
|
34
|
+
}
|
35
|
+
try {
|
36
|
+
tonTrans = await dbAcces.getAllTransNotHandledByRange(args[0], lt, to_lt);
|
37
|
+
console.log("getAllTransNotHandledByRange tonTrans.length", tonTrans.length);
|
38
|
+
}
|
39
|
+
catch (err) {
|
40
|
+
console.error(err.code, err.response?.data?.error);
|
41
|
+
}
|
42
|
+
for (let tonTran of tonTrans) {
|
43
|
+
try {
|
44
|
+
console.log("scBridgeAddr", scBridgeAddr, "lt", tonTran.lt.toString(10), "tranHash", tonTran.hash().toString('hex'));
|
45
|
+
let ret = await (0, getEvents_1.getEventByTranHash)(client, scBridgeAddr, tonTran.lt.toString(10), tonTran.hash().toString('hex'));
|
46
|
+
console.log("JacobEvent ret = ", ret);
|
47
|
+
let tranTonTemp = (0, common_1.convertTranToTonTrans)([tonTran]);
|
48
|
+
await dbAcces.setTranHandleFlag(scBridgeAddr, tranTonTemp[0], true);
|
49
|
+
}
|
50
|
+
catch (err) {
|
51
|
+
console.error(err.code, err.response?.data?.error);
|
52
|
+
}
|
53
|
+
await (0, utils_1.sleep)(1000);
|
54
|
+
}
|
55
|
+
}, 100000);
|
56
|
+
}
|
57
|
+
main();
|
58
|
+
// ts-node getAllEvents-ex.ts kQDlYDH0PmST2okwTluXJ2mUDMDCzPzXF1gGz24U6H2tE9Wr 35100832000001 33781871000003
|
@@ -0,0 +1 @@
|
|
1
|
+
export {};
|