tonweb
Version:
TonWeb - JavaScript API for TON blockchain
57 lines (50 loc) • 3.06 kB
HTML
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<script src="../dist/tonweb.js"></script>
<script>
async function testWalletV3() {
const tonweb = new TonWeb();
const publicKey = TonWeb.utils.hexToBytes('82A0B2543D06FEC0AAC952E9EC738BE56AB1B6027FC0C1AA817AE14B4D1ED2FB');
const secretKey = TonWeb.utils.hexToBytes('F182111193F30D79D517F2339A1BA7C25FDF6C52142F0F2C1D960A1F1D65E1E4');
const keyPair = TonWeb.utils.nacl.sign.keyPair.fromSeed(secretKey);
const wallet = tonweb.wallet.create({publicKey: publicKey, wc: 0});
const msg = await wallet.createTransferMessage(keyPair.secretKey, '0:2cf55953e92efbeadab7ba725c3f93a0b23f842cbba72d7b8e6f510a70e422e3', TonWeb.utils.toNano(1), 0);
const address = msg.address;
const my = `
Source wallet address = ${address.toString(false)}
${address.toString(true, true, true, true)}
Loading private key from file new-wallet.pk
Transferring GR$1. to account 0QAs9VlT6S776tq3unJcP5Ogsj-ELLunLXuOb1EKcOQi4-QO = 0:2cf55953e92efbeadab7ba725c3f93a0b23f842cbba72d7b8e6f510a70e422e3 subwallet_id=0x29a9a317 seqno=0x0 bounce=0
Body of transfer message is x{}
signing message: ${msg.signingMessage.print()}
resulting external message: ${msg.message.print()}
${TonWeb.utils.bytesToHex(await msg.message.toBoc(false)).toUpperCase()}
Query expires in 60 seconds
(Saved to file wallet-query.boc)
`;
// fift -s wallet-v3.fif new-wallet 0:2cf55953e92efbeadab7ba725c3f93a0b23f842cbba72d7b8e6f510a70e422e3 698983191 0 1 -n
const fift = `
Source wallet address = 0:2cf55953e92efbeadab7ba725c3f93a0b23f842cbba72d7b8e6f510a70e422e3
kQAs9VlT6S776tq3unJcP5Ogsj-ELLunLXuOb1EKcOQi47nL
Loading private key from file new-wallet.pk
Transferring GR$1. to account 0QAs9VlT6S776tq3unJcP5Ogsj-ELLunLXuOb1EKcOQi4-QO = 0:2cf55953e92efbeadab7ba725c3f93a0b23f842cbba72d7b8e6f510a70e422e3 subwallet_id=0x29a9a317 seqno=0x0 bounce=0
Body of transfer message is x{}
signing message: x{29A9A317FFFFFFFF0000000003}
x{4200167AACA9F4977DF56D5BDD392E1FC9D0591FC2165DD396BDC737A88538721171A1DCD6500000000000000000000000000000}
resulting external message: x{880059EAB2A7D25DF7D5B56F74E4B87F2741647F0859774E5AF71CDEA214E1C845C60196459F559B3095124ED34F4E5D8B425D718D064A92DFF1176F8267019ABF868D1BA875A65A79E4462AD01C85D3C6052621912CB4DFA72C9C4905B4C217C188614D4D18BFFFFFFFF8000000001C_}
x{4200167AACA9F4977DF56D5BDD392E1FC9D0591FC2165DD396BDC737A88538721171A1DCD6500000000000000000000000000000}
B5EE9C724101020100A90001DF880059EAB2A7D25DF7D5B56F74E4B87F2741647F0859774E5AF71CDEA214E1C845C60196459F559B3095124ED34F4E5D8B425D718D064A92DFF1176F8267019ABF868D1BA875A65A79E4462AD01C85D3C6052621912CB4DFA72C9C4905B4C217C188614D4D18BFFFFFFFF8000000001C0100684200167AACA9F4977DF56D5BDD392E1FC9D0591FC2165DD396BDC737A88538721171A1DCD6500000000000000000000000000000B49A3FAD
Query expires in 60 seconds
(Saved to file wallet-query.boc)
`;
console.assert(fift === my);
}
testWalletV3();
</script>
</body>
</html>