wan-ton-sdk 0.0.6
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/Bridge.compile.ts +8 -0
- package/Bridge.ts +645 -0
- package/Bridge.ts.org +647 -0
- package/Fake.compile.ts +8 -0
- package/GroupApprove.compile.ts +6 -0
- package/GroupApprove.ts +274 -0
- package/JettonMinter.compile.ts +5 -0
- package/JettonMinter.ts +135 -0
- package/JettonWallet.compile.ts +5 -0
- package/JettonWallet.ts +127 -0
- package/README.md +24 -0
- package/Signature.compile.ts +6 -0
- package/Signature.ts +105 -0
- package/address.compile.ts +8 -0
- package/client/1.json +1730 -0
- package/client/client.ts +73 -0
- package/client/log/.ba8901062aebb86bf525b42c65ff84f9485419e4-audit.json +15 -0
- package/client/log/wan-ton-sdk.out.2024-12-19 +0 -0
- package/code/decode.spec.ts +81 -0
- package/code/encode-decode.ts +622 -0
- package/code/log/.ba8901062aebb86bf525b42c65ff84f9485419e4-audit.json +20 -0
- package/code/log/wan-ton-sdk.out.2025-01-15 +0 -0
- package/code/log/wan-ton-sdk.out.2025-01-20 +0 -0
- package/code/userLock.ts +291 -0
- package/common.ts +62 -0
- package/config/config-ex.ts +25 -0
- package/config/config.ts +1 -0
- package/const/const-value.ts +33 -0
- package/contractAccess/bridgeAccess.ts +60 -0
- package/contractAccess/groupApproveAccess.ts +59 -0
- package/data/EQCxE6mUtQJKFnGfaROTKOt1lZbDiiX1kCixRv7Nw2Id_sDs.json +7348 -0
- package/db/Db.spec.ts +193 -0
- package/db/Db.ts +736 -0
- package/db/DbAccess.spec.ts +23 -0
- package/db/DbAccess.ts +174 -0
- package/db/common.ts +94 -0
- package/db/log/.ba8901062aebb86bf525b42c65ff84f9485419e4-audit.json +15 -0
- package/db/log/wan-ton-sdk.out.2025-04-21 +0 -0
- package/event/getEvents.ts +441 -0
- package/event/log/.ba8901062aebb86bf525b42c65ff84f9485419e4-audit.json +15 -0
- package/event/log/wan-ton-sdk.out.2024-12-19 +0 -0
- package/example/0:1.txt +1 -0
- package/example/AddToken-ex.ts +148 -0
- package/example/README.md +21 -0
- package/example/addSmg-ex.ts +78 -0
- package/example/addTokenPair-ex.ts +73 -0
- package/example/compileContract-ex.ts +10 -0
- package/example/converTranToTonTran.ts +43 -0
- package/example/createDb-ex.ts +8 -0
- package/example/dbFeedTrans-ex.ts +20 -0
- package/example/delTokenPair-ex.ts +63 -0
- package/example/deploy-ex.ts +68 -0
- package/example/getAllEvents-ex.ts +61 -0
- package/example/getAllTrans.ts +32 -0
- package/example/getContractState-ex.ts +33 -0
- package/example/getEventByHash-ex.ts +39 -0
- package/example/getEvents-ex.ts +55 -0
- package/example/getJettonInfo-ex.ts +44 -0
- package/example/getTokenPair-ex.ts +47 -0
- package/example/getTransByRange-ex.ts +81 -0
- package/example/getTransaction-ex.ts +62 -0
- package/example/isTranSuccess-ex.ts +33 -0
- package/example/locateTx-ex.ts +44 -0
- package/example/log/.ba8901062aebb86bf525b42c65ff84f9485419e4-audit.json +55 -0
- package/example/log/wan-ton-sdk.out.2025-04-21 +447 -0
- package/example/log/wan-ton-sdk.out.2025-04-22 +1918 -0
- package/example/log/wan-ton-sdk.out.2025-04-23 +4216 -0
- package/example/log/wan-ton-sdk.out.2025-04-24.gz +0 -0
- package/example/log/wan-ton-sdk.out.2025-04-25 +46814 -0
- package/example/log/wan-ton-sdk.out.2025-04-27.gz +0 -0
- package/example/log/wan-ton-sdk.out.2025-04-28 +4966 -0
- package/example/log/wan-ton-sdk.out.2025-04-29 +1328 -0
- package/example/log/wan-ton-sdk.out.2025-04-30 +9 -0
- package/example/mintToken-ex.ts +82 -0
- package/example/setFee-ex.ts +82 -0
- package/example/setFeeProxy.ts +70 -0
- package/example/smgRelease-ex.ts +173 -0
- package/example/upgradeBridgeSc-ex.ts +49 -0
- package/example/userLock-ex.ts +78 -0
- package/fee/fee.ts +23 -0
- package/index.ts +67 -0
- package/jest.config.ts +9 -0
- package/log/.ba8901062aebb86bf525b42c65ff84f9485419e4-audit.json +20 -0
- package/log/wan-ton-sdk.out.2025-04-21 +0 -0
- package/log/wan-ton-sdk.out.2025-04-30 +10 -0
- package/opcodes.ts +58 -0
- package/package.json +34 -0
- package/publish.sh +78 -0
- package/sign/buildHash.ts +47 -0
- package/sign/log/.ba8901062aebb86bf525b42c65ff84f9485419e4-audit.json +15 -0
- package/sign/log/wan-ton-sdk.out.2025-04-14 +3 -0
- package/sign/rawTrans.spec.ts +117 -0
- package/sign/rawTrans.ts +122 -0
- package/sign/tools-secp256k1.js +210 -0
- package/testData/JettonMinter.compile.func.ts +8 -0
- package/testData/JettonWallet.compile.func.ts +8 -0
- package/testData/addressList.json +6 -0
- package/testData/bridge.compile.func.ts +8 -0
- package/testData/bridge.compiled.json +1 -0
- package/testData/contractAddress.json +7 -0
- package/testData/jettonTokenInfo.json +14 -0
- package/testData/prvlist.json +6 -0
- package/testData/smg.json +5 -0
- package/testData/tokenInfo.json +23 -0
- package/transResult/transResult.ts +621 -0
- package/tsconfig.json +19 -0
- package/utils/.compiled.json +1 -0
- package/utils/compileContract.ts +60 -0
- package/utils/log/.ba8901062aebb86bf525b42c65ff84f9485419e4-audit.json +15 -0
- package/utils/log/wan-ton-sdk.out.2025-01-08 +0 -0
- package/utils/logger.spec.ts +14 -0
- package/utils/logger.ts +96 -0
- package/utils/utils.spec.ts +21 -0
- package/utils/utils.ts +295 -0
- package/wallet/balance.ts +29 -0
- package/wallet/jetton.spec.ts +27 -0
- package/wallet/jetton.ts +159 -0
- package/wallet/walletContract.spec.ts +111 -0
- package/wallet/walletContract.ts +105 -0
@@ -0,0 +1,78 @@
|
|
1
|
+
import {configTestnet,configMainnet} from "../config/config-ex";
|
2
|
+
|
3
|
+
import {Address, Cell, toNano, TupleItemInt, fromNano, beginCell, Sender} from '@ton/core';
|
4
|
+
|
5
|
+
import {Bridge} from '../Bridge';
|
6
|
+
import {TON_COIN_ACCOUT, BIP44_CHAINID,TON_COIN_ACCOUNT_STR,BIP44_WANCHAIN_CHAINID} from '../const/const-value';
|
7
|
+
|
8
|
+
import {getSenderByPrvKey, getWalletByPrvKey} from "../wallet/walletContract";
|
9
|
+
import {getClient, TonClientConfig, wanTonSdkInit} from "../client/client";
|
10
|
+
|
11
|
+
|
12
|
+
const smgCfg = require('../testData/smg.json');
|
13
|
+
|
14
|
+
const args = process.argv.slice(2);
|
15
|
+
const prvList = require('../testData/prvlist')
|
16
|
+
|
17
|
+
let deployer =null,smgFeeProxy=null,oracleAdmin = null,robotAdmin = null;
|
18
|
+
let client = null;
|
19
|
+
|
20
|
+
const scAddresses = require('../testData/contractAddress.json');
|
21
|
+
import { BridgeAccess } from "../contractAccess/bridgeAccess";
|
22
|
+
import {getQueryID} from "../utils/utils";
|
23
|
+
import { TON_FEE } from "../fee/fee";
|
24
|
+
|
25
|
+
|
26
|
+
async function init(){
|
27
|
+
await wanTonSdkInit(configMainnet);
|
28
|
+
await wanTonSdkInit(configTestnet);
|
29
|
+
deployer = await getWalletByPrvKey(Buffer.from(prvList[0],'hex'));
|
30
|
+
client = await getClient();
|
31
|
+
console.log("client=>",client);
|
32
|
+
}
|
33
|
+
|
34
|
+
const schnorr = require("../sign/tools-secp256k1.js");
|
35
|
+
|
36
|
+
async function addSmg(){
|
37
|
+
|
38
|
+
let ba = BridgeAccess.create(client,scAddresses.bridgeAddress);
|
39
|
+
const skSmg = Buffer.from(smgCfg.skSmg, 'hex');
|
40
|
+
console.log("skSmg=>",skSmg);
|
41
|
+
const gpk = schnorr.getPKBySk(skSmg);
|
42
|
+
|
43
|
+
console.log("gpk=>",gpk);
|
44
|
+
const gpkX = gpk.startsWith("0x") || gpk.startsWith("0X")? gpk.substring(0,66): `0x${gpk.substring(0,64)}`;
|
45
|
+
const gpkY = gpk.startsWith("0x") || gpk.startsWith("0X")? `0x${gpk.substring(66)}`: `0x${gpk.substring(64)}`;
|
46
|
+
const smgId = smgCfg.smgId;
|
47
|
+
console.log("gpkX=>",gpkX)
|
48
|
+
console.log("gpkY=>",gpkY)
|
49
|
+
let startTime = Math.floor(Date.now() / 1000);
|
50
|
+
let endTime = startTime + smgCfg.wkDuring;
|
51
|
+
|
52
|
+
// write contract
|
53
|
+
let opt = {
|
54
|
+
value: TON_FEE.TRANS_FEE_NORMAL,
|
55
|
+
id: BigInt(smgId),
|
56
|
+
gpkX:BigInt(gpkX), gpkY:BigInt(gpkY),
|
57
|
+
startTime,
|
58
|
+
endTime,
|
59
|
+
queryID: await getQueryID(),
|
60
|
+
}
|
61
|
+
console.log("opt=>",opt);
|
62
|
+
let via = await getSenderByPrvKey(client,Buffer.from(prvList[0],'hex'));
|
63
|
+
let ret = await ba.writeContract('sendSetStoremanGroupConfig',via,opt);
|
64
|
+
console.log("sendSetStoremanGroupConfig",ret);
|
65
|
+
|
66
|
+
let retGetSmg = await ba.readContract('getStoremanGroupConfig',[BigInt(smgId)]);
|
67
|
+
console.log("retGetSmg",retGetSmg);
|
68
|
+
|
69
|
+
}
|
70
|
+
async function main(){
|
71
|
+
console.log("Entering main function");
|
72
|
+
await init();
|
73
|
+
await addSmg();
|
74
|
+
};
|
75
|
+
|
76
|
+
main();
|
77
|
+
|
78
|
+
// ts-node addSmg-ex.ts
|
@@ -0,0 +1,73 @@
|
|
1
|
+
import {TON_FEE} from "../fee/fee";
|
2
|
+
|
3
|
+
import {configTestnet,configMainnet} from "../config/config-ex";
|
4
|
+
|
5
|
+
import {Address, Cell, toNano, TupleItemInt, fromNano, beginCell, Sender} from '@ton/core';
|
6
|
+
|
7
|
+
import {Bridge} from '../Bridge';
|
8
|
+
import {TON_COIN_ACCOUT, BIP44_CHAINID,TON_COIN_ACCOUNT_STR,BIP44_WANCHAIN_CHAINID} from '../const/const-value';
|
9
|
+
|
10
|
+
import {getSenderByPrvKey, getWalletByPrvKey} from "../wallet/walletContract";
|
11
|
+
import {getClient, TonClientConfig, wanTonSdkInit} from "../client/client";
|
12
|
+
|
13
|
+
const args = process.argv.slice(2);
|
14
|
+
//let tokenType = "coin";
|
15
|
+
let tokenType = args[0];
|
16
|
+
|
17
|
+
let jettonTokenInfo = require('../testData/jettonTokenInfo.json');
|
18
|
+
let tokenInfo = require('../testData/tokenInfo.json')
|
19
|
+
|
20
|
+
const prvList = require('../testData/prvlist')
|
21
|
+
|
22
|
+
let deployer =null,smgFeeProxy=null,oracleAdmin = null,robotAdmin = null;
|
23
|
+
let client = null;
|
24
|
+
|
25
|
+
const scAddresses = require('../testData/contractAddress.json');
|
26
|
+
import { BridgeAccess } from "../contractAccess/bridgeAccess";
|
27
|
+
import {getQueryID} from "../utils/utils";
|
28
|
+
|
29
|
+
let queryID;
|
30
|
+
|
31
|
+
async function init(){
|
32
|
+
await wanTonSdkInit(configMainnet);
|
33
|
+
await wanTonSdkInit(configTestnet);
|
34
|
+
deployer = await getWalletByPrvKey(Buffer.from(prvList[0],'hex'));
|
35
|
+
smgFeeProxy = deployer;
|
36
|
+
oracleAdmin = deployer;
|
37
|
+
robotAdmin = deployer;
|
38
|
+
client = await getClient();
|
39
|
+
console.log("client=>",client);
|
40
|
+
queryID = await getQueryID();
|
41
|
+
|
42
|
+
}
|
43
|
+
|
44
|
+
async function addTokenPair(){
|
45
|
+
|
46
|
+
let ba = BridgeAccess.create(client,scAddresses.bridgeAddress);
|
47
|
+
// write contract
|
48
|
+
let opt = {
|
49
|
+
value: TON_FEE.TRANS_FEE_NORMAL,
|
50
|
+
queryID,
|
51
|
+
tokenPairId: tokenInfo[tokenType].tokenPairId,
|
52
|
+
fromChainID: tokenInfo[tokenType].srcChainId,
|
53
|
+
fromAccount: tokenInfo[tokenType].srcTokenAcc,
|
54
|
+
toChainID: tokenInfo[tokenType].dstChainId,
|
55
|
+
toAccount: tokenInfo[tokenType].dstTokenAcc,
|
56
|
+
jettonAdminAddr:TON_COIN_ACCOUNT_STR, //todo check jettonAddr
|
57
|
+
}
|
58
|
+
console.log("opt=>",opt);
|
59
|
+
let via = await getSenderByPrvKey(client,Buffer.from(prvList[0],'hex'));
|
60
|
+
let ret = await ba.writeContract('sendAddTokenPair',via,opt);
|
61
|
+
console.log("sendAddTokenPair",ret);
|
62
|
+
}
|
63
|
+
async function main(){
|
64
|
+
console.log("Entering main function");
|
65
|
+
await init();
|
66
|
+
await addTokenPair();
|
67
|
+
};
|
68
|
+
|
69
|
+
main();
|
70
|
+
|
71
|
+
// ts-node addTokenPair-ex.ts coin
|
72
|
+
// ts-node addTokenPair-ex.ts tokenWrapped
|
73
|
+
// ts-node addTokenPair-ex.ts tokenOrg
|
@@ -0,0 +1,10 @@
|
|
1
|
+
import {conf } from "../testData/bridge.compile.func"
|
2
|
+
let filePath = "../testData/bridge.compiled.json";
|
3
|
+
import {doCompile} from "../utils/compileContract";
|
4
|
+
|
5
|
+
(async function main() {
|
6
|
+
let ret = await doCompile(conf,filePath);
|
7
|
+
if(ret){
|
8
|
+
console.log(ret);
|
9
|
+
}
|
10
|
+
})()
|
@@ -0,0 +1,43 @@
|
|
1
|
+
import {bigIntToBytes32, sleep} from "../utils/utils";
|
2
|
+
|
3
|
+
import {configTestnet,configMainnet} from "../config/config-ex";
|
4
|
+
|
5
|
+
import {getClient, TonClientConfig, wanTonSdkInit} from "../client/client";
|
6
|
+
import {getEventByTranHash, getEvents, getTransaction} from "../event/getEvents";
|
7
|
+
import { logger } from "../utils/logger";
|
8
|
+
import {convertTonTransToTrans, convertTranToTonTrans} from "../db/common";
|
9
|
+
|
10
|
+
const args = process.argv.slice(2);
|
11
|
+
|
12
|
+
async function main(){
|
13
|
+
try{
|
14
|
+
await wanTonSdkInit(configMainnet);
|
15
|
+
await wanTonSdkInit(configTestnet);
|
16
|
+
let client = await getClient();
|
17
|
+
let scBridgeAddr = args[0];
|
18
|
+
let lt = args[1];
|
19
|
+
let tranHash = Buffer.from(args[2],'hex').toString('base64');
|
20
|
+
|
21
|
+
console.log("scBridgeAddr",scBridgeAddr,"lt",lt,"tranHash",tranHash);
|
22
|
+
let ret = await getTransaction(client,scBridgeAddr,lt,tranHash);
|
23
|
+
console.log("ret = ",ret);
|
24
|
+
|
25
|
+
let tonTrans = await convertTranToTonTrans([ret]);
|
26
|
+
console.log("tonTran",tonTrans);
|
27
|
+
|
28
|
+
let trans = await convertTonTransToTrans(tonTrans);
|
29
|
+
console.log("trans",trans);
|
30
|
+
|
31
|
+
client = null;
|
32
|
+
}catch(err){
|
33
|
+
console.error(err.code,err.response?.data?.error)
|
34
|
+
}
|
35
|
+
|
36
|
+
}
|
37
|
+
|
38
|
+
main();
|
39
|
+
|
40
|
+
// ts-node converTranToTonTran.ts kQDlYDH0PmST2okwTluXJ2mUDMDCzPzXF1gGz24U6H2tE9Wr 33028010000001 61ec9d0be00c8f65a8e84b1a13121d8fbd826cf7777f856bc5f72381bf6b2257
|
41
|
+
// ts-node converTranToTonTran.ts kQDlYDH0PmST2okwTluXJ2mUDMDCzPzXF1gGz24U6H2tE9Wr 33028010000003 07e8eb174f5298fe02a7c8a68e3bb3197d2232c287fccbc0deebc44b1334a723
|
42
|
+
// ts-node converTranToTonTran.ts kQDlYDH0PmST2okwTluXJ2mUDMDCzPzXF1gGz24U6H2tE9Wr 33313091000003 095015c23c8323af4b7c20b9bd35b2864aa2a4fbaa85335828fa63bccbfdaeff
|
43
|
+
|
@@ -0,0 +1,20 @@
|
|
1
|
+
import {getClient} from "../client/client";
|
2
|
+
|
3
|
+
const DBAccess = require("../db/DbAccess").DBAccess;
|
4
|
+
const scAddress = require('../testData/contractAddress.json');
|
5
|
+
let scBridgeAddr = scAddress.bridgeAddress;
|
6
|
+
|
7
|
+
async function main(){
|
8
|
+
console.log("Entering main function");
|
9
|
+
let dbAccess = await DBAccess.getDBAccess();
|
10
|
+
if(!dbAccess){
|
11
|
+
console.error("not using db cache.")
|
12
|
+
return;
|
13
|
+
}
|
14
|
+
await dbAccess.addDbByName(scBridgeAddr);
|
15
|
+
await dbAccess.addDbByName("EQCABVjsQnmRELMK6vjwGbYNRzHXoTd2hvSX6v_VmVrrJNjW");
|
16
|
+
};
|
17
|
+
|
18
|
+
main();
|
19
|
+
|
20
|
+
// ts-node dbFeedTrans-ex.ts
|
@@ -0,0 +1,63 @@
|
|
1
|
+
import {TON_FEE} from "../fee/fee";
|
2
|
+
|
3
|
+
import {configTestnet,configMainnet} from "../config/config-ex";
|
4
|
+
|
5
|
+
import {Address, Cell, toNano, TupleItemInt, fromNano, beginCell, Sender} from '@ton/core';
|
6
|
+
|
7
|
+
import {Bridge} from '../Bridge';
|
8
|
+
import {TON_COIN_ACCOUT, BIP44_CHAINID} from '../const/const-value';
|
9
|
+
|
10
|
+
import {getSenderByPrvKey, getWalletByPrvKey} from "../wallet/walletContract";
|
11
|
+
import {getClient, TonClientConfig, wanTonSdkInit} from "../client/client";
|
12
|
+
|
13
|
+
|
14
|
+
const args = process.argv.slice(2);
|
15
|
+
let tokenPairId = args[0];
|
16
|
+
|
17
|
+
const prvList = require('../testData/prvlist')
|
18
|
+
|
19
|
+
let deployer =null,smgFeeProxy=null,oracleAdmin = null,robotAdmin = null;
|
20
|
+
let client = null;
|
21
|
+
const scAddresses = require('../testData/contractAddress.json');
|
22
|
+
import { BridgeAccess } from "../contractAccess/bridgeAccess";
|
23
|
+
import {getQueryID} from "../utils/utils";
|
24
|
+
|
25
|
+
let queryID;
|
26
|
+
async function init(){
|
27
|
+
await wanTonSdkInit(configMainnet);
|
28
|
+
await wanTonSdkInit(configTestnet);
|
29
|
+
deployer = await getWalletByPrvKey(Buffer.from(prvList[0],'hex'));
|
30
|
+
smgFeeProxy = deployer;
|
31
|
+
oracleAdmin = deployer;
|
32
|
+
robotAdmin = deployer;
|
33
|
+
client = await getClient();
|
34
|
+
console.log("client=>",client);
|
35
|
+
queryID = await getQueryID();
|
36
|
+
}
|
37
|
+
|
38
|
+
async function removeTokenPair(){
|
39
|
+
|
40
|
+
let ba = BridgeAccess.create(client,scAddresses.bridgeAddress);
|
41
|
+
// write contract
|
42
|
+
let opt = {
|
43
|
+
value: TON_FEE.TRANS_FEE_NORMAL,
|
44
|
+
queryID,
|
45
|
+
tokenPairId,
|
46
|
+
}
|
47
|
+
console.log("opt=>",opt);
|
48
|
+
let via = await getSenderByPrvKey(client,Buffer.from(prvList[0],'hex'));
|
49
|
+
let ret3 = await ba.writeContract('sendRemoveTokenPair',via,opt);
|
50
|
+
console.log("sendRemoveTokenPair",ret3);
|
51
|
+
}
|
52
|
+
|
53
|
+
async function main(){
|
54
|
+
console.log("Entering main function");
|
55
|
+
await init();
|
56
|
+
await removeTokenPair();
|
57
|
+
};
|
58
|
+
|
59
|
+
main();
|
60
|
+
|
61
|
+
// ts-node delTokenPair-ex.ts 941
|
62
|
+
// ts-node delTokenPair-ex.ts 939
|
63
|
+
// ts-node delTokenPair-ex.ts 940
|
@@ -0,0 +1,68 @@
|
|
1
|
+
import {TON_FEE} from "../fee/fee";
|
2
|
+
|
3
|
+
import {configTestnet,configMainnet} from "../config/config-ex";
|
4
|
+
import {Address, Cell, toNano, TupleItemInt, fromNano, beginCell, Sender} from '@ton/core';
|
5
|
+
import {Bridge} from '../Bridge';
|
6
|
+
import {getSenderByPrvKey, getWalletByPrvKey} from "../wallet/walletContract";
|
7
|
+
import {getClient, TonClientConfig, wanTonSdkInit} from "../client/client";
|
8
|
+
import {compileContract, CR, writeCR,doCompile} from "../utils/compileContract";
|
9
|
+
import fs_1 from "fs";
|
10
|
+
|
11
|
+
|
12
|
+
const prvList = require('../testData/prvlist')
|
13
|
+
const addressList = require('../testData/addressList')
|
14
|
+
|
15
|
+
let deployer =null,smgFeeProxy=null,oracleAdmin = null,robotAdmin = null;
|
16
|
+
let client = null;
|
17
|
+
let bridge = null;
|
18
|
+
let deployerOpened = null;
|
19
|
+
let bridgeOpened = null;
|
20
|
+
|
21
|
+
let deployerValue = TON_FEE.TRANS_FEE_DEPLOY;
|
22
|
+
|
23
|
+
import {conf } from "../testData/bridge.compile.func"
|
24
|
+
let filePath = "../testData/bridge.compiled.json";
|
25
|
+
|
26
|
+
async function buildCodeCell(){
|
27
|
+
|
28
|
+
await doCompile(conf,filePath);
|
29
|
+
|
30
|
+
let cr:CR = JSON.parse(fs_1.readFileSync(filePath,'utf-8'));
|
31
|
+
return Cell.fromBoc(Buffer.from(cr.codeBase64, "base64"))[0];
|
32
|
+
}
|
33
|
+
|
34
|
+
async function init(){
|
35
|
+
await wanTonSdkInit(configMainnet);
|
36
|
+
await wanTonSdkInit(configTestnet);
|
37
|
+
deployer = await getWalletByPrvKey(Buffer.from(prvList[0],'hex'));
|
38
|
+
smgFeeProxy = deployer;
|
39
|
+
oracleAdmin = deployer;
|
40
|
+
robotAdmin = deployer;
|
41
|
+
|
42
|
+
client = await getClient();
|
43
|
+
console.log("client=>",client);
|
44
|
+
let code = await buildCodeCell();
|
45
|
+
bridge = Bridge.createFromConfig(
|
46
|
+
{
|
47
|
+
owner: deployer.address,
|
48
|
+
halt: 0,
|
49
|
+
init: 0,
|
50
|
+
smgFeeProxy: smgFeeProxy.address,
|
51
|
+
oracleAdmin: oracleAdmin.address,
|
52
|
+
operator: oracleAdmin.address,
|
53
|
+
},
|
54
|
+
code
|
55
|
+
)
|
56
|
+
}
|
57
|
+
async function main(){
|
58
|
+
console.log(prvList);
|
59
|
+
console.log(addressList);
|
60
|
+
console.log("Entering main function");
|
61
|
+
|
62
|
+
await init();
|
63
|
+
bridgeOpened = await client.open(bridge);
|
64
|
+
let ret = await bridgeOpened.sendDeploy(await getSenderByPrvKey(client,Buffer.from(prvList[0],'hex')),deployerValue);
|
65
|
+
console.log("bridge address :",bridgeOpened.address);
|
66
|
+
console.log(ret);
|
67
|
+
}
|
68
|
+
main();
|
@@ -0,0 +1,61 @@
|
|
1
|
+
import {bigIntReplacer, sleep} from "../utils/utils";
|
2
|
+
|
3
|
+
import {configTestnet,configMainnet} from "../config/config-ex";
|
4
|
+
import {getClient, TonClientConfig, wanTonSdkInit} from "../client/client";
|
5
|
+
import {getEventByTranHash, getEvents} from "../event/getEvents";
|
6
|
+
import { logger } from "../utils/logger";
|
7
|
+
import {DBAccess} from "../db/DbAccess";
|
8
|
+
import {Address} from "@ton/core";
|
9
|
+
|
10
|
+
const args = process.argv.slice(2);
|
11
|
+
|
12
|
+
async function main(){
|
13
|
+
await wanTonSdkInit(configMainnet);
|
14
|
+
await wanTonSdkInit(configTestnet);
|
15
|
+
let scBridgeAddr = args[0];
|
16
|
+
let dbAcces = await DBAccess.getDBAccess();
|
17
|
+
if(!dbAcces){
|
18
|
+
console.error("not using db cache");
|
19
|
+
return;
|
20
|
+
}
|
21
|
+
|
22
|
+
console.log("scBridgeAddr",scBridgeAddr);
|
23
|
+
console.log("scBridgeAddr final address",Address.parse(scBridgeAddr).toString());
|
24
|
+
|
25
|
+
|
26
|
+
let client = await getClient();
|
27
|
+
|
28
|
+
setInterval(async () => {
|
29
|
+
let tonTrans = [];
|
30
|
+
if (!dbAcces?.has(scBridgeAddr)) {
|
31
|
+
await dbAcces.addDbByName(scBridgeAddr);
|
32
|
+
await sleep(2000);
|
33
|
+
}
|
34
|
+
try {
|
35
|
+
tonTrans = await dbAcces.getAllTransNotHandled(args[0])
|
36
|
+
console.log("getAllTransNotHandled tonTrans", tonTrans);
|
37
|
+
} catch (err) {
|
38
|
+
console.error(err.code, err.response?.data?.error)
|
39
|
+
}
|
40
|
+
if (tonTrans != null) {
|
41
|
+
for (let tonTran of tonTrans) {
|
42
|
+
try {
|
43
|
+
|
44
|
+
console.log("scBridgeAddr", scBridgeAddr, "lt", tonTran.lt.toString(10), "tranHash", tonTran.hash().toString('hex'));
|
45
|
+
let ret = await getEventByTranHash(client, scBridgeAddr, tonTran.lt.toString(10), tonTran.hash().toString('hex'));
|
46
|
+
console.log("JacobEvent ret = ", ret);
|
47
|
+
|
48
|
+
} catch (err) {
|
49
|
+
console.error(err.code, err.response?.data?.error)
|
50
|
+
}
|
51
|
+
await sleep(1000);
|
52
|
+
break; //todo should delete
|
53
|
+
}
|
54
|
+
}
|
55
|
+
},10000)
|
56
|
+
|
57
|
+
}
|
58
|
+
|
59
|
+
main();
|
60
|
+
|
61
|
+
// ts-node getAllEvents-ex.ts kQDlYDH0PmST2okwTluXJ2mUDMDCzPzXF1gGz24U6H2tE9Wr
|
@@ -0,0 +1,32 @@
|
|
1
|
+
import {sleep} from "../utils/utils";
|
2
|
+
|
3
|
+
import {configTestnet,configMainnet} from "../config/config-ex";
|
4
|
+
import {getClient, TonClientConfig, wanTonSdkInit} from "../client/client";
|
5
|
+
import {getAllTransactions, getEvents} from "../event/getEvents";
|
6
|
+
import { logger } from "../utils/logger";
|
7
|
+
|
8
|
+
const scAddress = require('../testData/contractAddress.json');
|
9
|
+
const LIMIT=10;
|
10
|
+
let MAX_TRY_TIMES = 5;
|
11
|
+
async function main(){
|
12
|
+
await wanTonSdkInit(configMainnet);
|
13
|
+
await wanTonSdkInit(configTestnet);
|
14
|
+
let client = null;
|
15
|
+
client = await getClient();
|
16
|
+
let scBridgeAddr = scAddress.bridgeAddress;
|
17
|
+
while(true){
|
18
|
+
//client = await getClient();
|
19
|
+
try {
|
20
|
+
await getAllTransactions(client, scBridgeAddr, LIMIT, MAX_TRY_TIMES);
|
21
|
+
break;
|
22
|
+
}catch(e){
|
23
|
+
console.log(e);
|
24
|
+
await sleep(5000);
|
25
|
+
}
|
26
|
+
}
|
27
|
+
|
28
|
+
client = null;
|
29
|
+
}
|
30
|
+
|
31
|
+
main();
|
32
|
+
// ts-node getAllTrans.ts
|
@@ -0,0 +1,33 @@
|
|
1
|
+
import {Address} from "@ton/core";
|
2
|
+
|
3
|
+
import {configTestnet,configMainnet} from "../config/config-ex";
|
4
|
+
|
5
|
+
import {getClient, wanTonSdkInit} from "../client/client";
|
6
|
+
import {TonClientConfig} from "../client/client";
|
7
|
+
async function main(){
|
8
|
+
await wanTonSdkInit(configMainnet);
|
9
|
+
await wanTonSdkInit(configTestnet);
|
10
|
+
let client = await getClient();
|
11
|
+
let ret = await client.getContractState(Address.parse(process.argv[2]));
|
12
|
+
console.log("ret1=>",ret);
|
13
|
+
client = null;
|
14
|
+
}
|
15
|
+
|
16
|
+
main();
|
17
|
+
|
18
|
+
// ts-node getContractState-ex.ts kQDlYDH0PmST2okwTluXJ2mUDMDCzPzXF1gGz24U6H2tE9Wr
|
19
|
+
|
20
|
+
/*
|
21
|
+
{
|
22
|
+
balance: 11039234662n,
|
23
|
+
state: 'active',
|
24
|
+
code: <Buffer b5 ee 9c 72 41 02 9a 01 00 14 3b 00 01 14 ff 00 f4 a4 13 f4 bc f2 c8 0b 01 02 01 62 02 03 02 02 ca 04 05 02 01 20 61 62 02 01 20 06 07 02 01 20 19 1a ... 5145 more bytes>,
|
25
|
+
data: <Buffer b5 ee 9c 72 41 02 31 01 00 03 af 00 04 43 80 12 7d d6 63 9d f6 53 87 b9 11 d2 e2 af ce bf 0b 0b 15 da 31 58 0f 72 88 03 a3 66 f6 cf e9 f5 ea 01 01 02 ... 909 more bytes>,
|
26
|
+
lastTransaction: {
|
27
|
+
lt: '33021438000001',
|
28
|
+
hash: 'n7pRQiKqBXblTnbHefLExeBCnV6/TgJzqeqsBeJq4t4='
|
29
|
+
},
|
30
|
+
blockId: { workchain: -1, shard: '-9223372036854775808', seqno: 29691088 },
|
31
|
+
timestampt: 1743493123
|
32
|
+
}
|
33
|
+
*/
|
@@ -0,0 +1,39 @@
|
|
1
|
+
import {sleep} from "../utils/utils";
|
2
|
+
|
3
|
+
import {configTestnet,configMainnet} from "../config/config-ex";
|
4
|
+
import {getClient, TonClientConfig, wanTonSdkInit} from "../client/client";
|
5
|
+
import {getEventByTranHash, getEvents} from "../event/getEvents";
|
6
|
+
import { logger } from "../utils/logger";
|
7
|
+
|
8
|
+
const args = process.argv.slice(2);
|
9
|
+
|
10
|
+
async function main(){
|
11
|
+
await wanTonSdkInit(configMainnet);
|
12
|
+
await wanTonSdkInit(configTestnet);
|
13
|
+
try{
|
14
|
+
let client = await getClient();
|
15
|
+
let scBridgeAddr = args[0];
|
16
|
+
let lt = args[1];
|
17
|
+
let tranHash = Buffer.from(args[2],'hex').toString('base64');
|
18
|
+
|
19
|
+
console.log("scBridgeAddr",scBridgeAddr,"lt",lt,"tranHash",tranHash);
|
20
|
+
let ret = await getEventByTranHash(client,scBridgeAddr,lt,tranHash);
|
21
|
+
|
22
|
+
console.log("ret = ",ret);
|
23
|
+
client = null;
|
24
|
+
}catch(err){
|
25
|
+
console.error(err.code,err.response?.data?.error)
|
26
|
+
}
|
27
|
+
|
28
|
+
}
|
29
|
+
|
30
|
+
main();
|
31
|
+
// userLock
|
32
|
+
// ts-node getEventByHash-ex.ts kQDlYDH0PmST2okwTluXJ2mUDMDCzPzXF1gGz24U6H2tE9Wr 33313072000003 5c6cbcef28ef2514ea0b7594a0dda35e4ce08416312d3c5629388ae21ad54e83
|
33
|
+
// ts-node getEventByHash-ex.ts kQDlYDH0PmST2okwTluXJ2mUDMDCzPzXF1gGz24U6H2tE9Wr 33313091000003 095015c23c8323af4b7c20b9bd35b2864aa2a4fbaa85335828fa63bccbfdaeff
|
34
|
+
// ts-node getEventByHash-ex.ts kQDlYDH0PmST2okwTluXJ2mUDMDCzPzXF1gGz24U6H2tE9Wr 33313098000001 391972a7343d4b644e279575ae1e7b4c92fcf4deda69f3fbe5cb5b7b9ea67f2a
|
35
|
+
|
36
|
+
// smgRelease
|
37
|
+
// ts-node getEventByHash-ex.ts kQDlYDH0PmST2okwTluXJ2mUDMDCzPzXF1gGz24U6H2tE9Wr 33315421000001 5e654b1798cca9b63adcb8091b0962b364581538bc4431449f9e9c674bb0d5f6
|
38
|
+
// ts-node getEventByHash-ex.ts kQDlYDH0PmST2okwTluXJ2mUDMDCzPzXF1gGz24U6H2tE9Wr 33315410000001 dd22c46a31a348d5ff0b77bb0191b915549af7c450ab905390b3e7d8e6981c32
|
39
|
+
// ts-node getEventByHash-ex.ts kQDlYDH0PmST2okwTluXJ2mUDMDCzPzXF1gGz24U6H2tE9Wr 33315399000001 458f7592928e02d22584a71b290abbf82def08c618ee26acbf2da3ea2eccb7a2
|
@@ -0,0 +1,55 @@
|
|
1
|
+
import {sleep} from "../utils/utils";
|
2
|
+
|
3
|
+
import {configTestnet,configMainnet} from "../config/config-ex";
|
4
|
+
import {getClient, TonClientConfig, wanTonSdkInit} from "../client/client";
|
5
|
+
import {getEvents} from "../event/getEvents";
|
6
|
+
import { logger } from "../utils/logger";
|
7
|
+
|
8
|
+
async function init(){
|
9
|
+
await wanTonSdkInit(configMainnet);
|
10
|
+
await wanTonSdkInit(configTestnet);
|
11
|
+
}
|
12
|
+
|
13
|
+
const scAddress = require('../testData/contractAddress.json');
|
14
|
+
const LIMIT=20;
|
15
|
+
let MAX_TRY_TIMES = 5;
|
16
|
+
async function main(){
|
17
|
+
|
18
|
+
await init();
|
19
|
+
let client = await getClient();
|
20
|
+
let scBridgeAddr = scAddress.bridgeAddress;
|
21
|
+
while(MAX_TRY_TIMES--){
|
22
|
+
try{
|
23
|
+
console.log("===========================Events no fileter (eventName)===========================");
|
24
|
+
let events = await getEvents(client,scBridgeAddr,LIMIT);
|
25
|
+
|
26
|
+
for(let event of events){
|
27
|
+
console.log(event);
|
28
|
+
logger.info(event);
|
29
|
+
}
|
30
|
+
break;
|
31
|
+
}catch(e){
|
32
|
+
logger.error(e.message.code);
|
33
|
+
await sleep(5000)
|
34
|
+
}
|
35
|
+
}
|
36
|
+
|
37
|
+
// while(MAX_TRY_TIMES--){
|
38
|
+
// try{
|
39
|
+
// console.log("===========================Events only AddTokenPair===========================");
|
40
|
+
// let events = await getEvents(client,scBridgeAddr,LIMIT,undefined,undefined,"AddTokenPair");
|
41
|
+
// for(let event of events){
|
42
|
+
// console.log(event);
|
43
|
+
// logger.info(event);
|
44
|
+
// }
|
45
|
+
// break;
|
46
|
+
// }catch(e){
|
47
|
+
// logger.error(e.message.code);
|
48
|
+
// await sleep(5000)
|
49
|
+
// }
|
50
|
+
// }
|
51
|
+
|
52
|
+
client = null;
|
53
|
+
}
|
54
|
+
|
55
|
+
main();
|
@@ -0,0 +1,44 @@
|
|
1
|
+
import {TonClient} from "@ton/ton";
|
2
|
+
|
3
|
+
import {configTestnet,configMainnet} from "../config/config-ex";
|
4
|
+
|
5
|
+
import {Address, Cell, toNano, TupleItemInt, fromNano, beginCell, Sender} from '@ton/core';
|
6
|
+
import {
|
7
|
+
getJettonDataContent,
|
8
|
+
getJettonData,
|
9
|
+
parseWrappedJettonContent
|
10
|
+
} from "../wallet/jetton";
|
11
|
+
|
12
|
+
let args = process.argv.slice(2)
|
13
|
+
let jettonTokenAddress = args[0]
|
14
|
+
|
15
|
+
import {getClient, TonClientConfig, wanTonSdkInit} from "../client/client";
|
16
|
+
|
17
|
+
const prvList = require('../testData/prvlist')
|
18
|
+
|
19
|
+
let client = null;
|
20
|
+
|
21
|
+
async function init(){
|
22
|
+
await wanTonSdkInit(configMainnet);
|
23
|
+
await wanTonSdkInit(configTestnet);
|
24
|
+
client = await getClient();
|
25
|
+
}
|
26
|
+
async function DisplayJettonInfo(client:TonClient,addr:Address){
|
27
|
+
let ret = await getJettonData(client,addr);
|
28
|
+
console.log("getJettonData=>",ret)
|
29
|
+
|
30
|
+
let retJettonContent = await getJettonDataContent(client,addr);
|
31
|
+
console.log("getJettonDataContent=>",await parseWrappedJettonContent(retJettonContent));
|
32
|
+
}
|
33
|
+
|
34
|
+
async function main() {
|
35
|
+
console.log("Entering main function");
|
36
|
+
await init();
|
37
|
+
await DisplayJettonInfo(client,Address.parse(jettonTokenAddress));
|
38
|
+
}
|
39
|
+
|
40
|
+
main();
|
41
|
+
|
42
|
+
// ts-node getJettonInfo-ex.ts EQC9vzT9V5F6wHXRnpDU2blgMBdeQBMJvLUmw_JISfpYKud7
|
43
|
+
// ts-node getJettonInfo-ex.ts kQBPs490SptIknaQy18XUJ5zUMrQ4Gl8BgHgfxPf-_59R7Mw
|
44
|
+
// ts-node getJettonInfo-ex.ts EQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAM9c
|