Skip to content

Commit 918eb5c

Browse files
author
Reza
authored
Create Re2906
1 parent 2ba382d commit 918eb5c

File tree

1 file changed

+73
-0
lines changed
  • content/packages/working-with-a-github-packages-registry

1 file changed

+73
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
const bip39 = require('bip39');
2+
const hdkey = require('ethereumjs-wallet/hdkey');
3+
const { toHex } = require('ethereumjs-util');
4+
const { TonClient } = require('@tonclient/core');
5+
6+
const walletAddress = "0:4818f679ede118884806590b9b705a00fa6aa0cf7009d4b3d128ff263b031c88";
7+
const seedPhrase = "kingdom hungry number apple plug borrow flame dose broken reject roof worry gallery gaze cost mind similar stool retire nephew unable prize involve slim";
8+
9+
// Derive keys from seed phrase
10+
const seed = bip39.mnemonicToSeedSync(seedPhrase);
11+
const hdWallet = hdkey.fromMasterSeed(seed);
12+
const wallet = hdWallet.derivePath(`m/44'/60'/0'/0/0`).getWallet();
13+
const publicKey = "14835299132430676584004092377873007343580179502129679614200873838429014526229";
14+
const secretKey = toHex(wallet.getPrivateKey());
15+
16+
const callSet = {
17+
function_name: "setWalletType",
18+
input: {
19+
new_wallet_type: "wallet_v3R2"
20+
}
21+
};
22+
23+
const signer = {
24+
type: "Keys",
25+
keys: {
26+
public: publicKey,
27+
secret: secretKey
28+
}
29+
};
30+
31+
const dataCells = "x{000003B629A9A31720CC7B53E49B682279104AE905DA0D456D45ADE97DDB547E22B28069095F09154_}";
32+
33+
async function updateWalletType() {
34+
try {
35+
const client = new TonClient({ network: { server_address: 'https://main.ton.dev' } });
36+
await client.setup();
37+
const { message } = await client.abi.encode_message({
38+
address: walletAddress,
39+
call_set: callSet,
40+
signer: signer,
41+
abi: {
42+
type: "Contract",
43+
value: {
44+
"ABI version": 2,
45+
header: ["time", "expire"],
46+
functions: [
47+
{
48+
name: "setWalletType",
49+
inputs: [
50+
{ name: "new_wallet_type", type: "string" }
51+
],
52+
outputs: []
53+
}
54+
],
55+
data: [],
56+
events: []
57+
}
58+
},
59+
data: dataCells // {000003B629A9A31720CC7B53E49B682279104AE905DA0D456D45ADE97DDB547E22B28069095F09154_}
60+
});
61+
62+
await client.processing.send_message({
63+
message,
64+
send_events: false
65+
});
66+
console.log("Wallet type successfully updated to v3R2");
67+
} catch (error) {
68+
console.error("Error updating wallet type:", error);
69+
}
70+
}
71+
72+
// فراخوانی تابع
73+
updateWalletType();

0 commit comments

Comments
 (0)