@coolwallet/ton
Version:
84 lines (79 loc) • 8.15 kB
text/typescript
import { getArgument, getTransferTokenArgument, saveBitAsByte } from '../scriptUtils';
describe('Test TON SDK', () => {
describe('Test saveBitAsByte', () => {
it.each`
hex | result
${''} | ${''}
${'00'} | ${'0000000000000000'}
${'01'} | ${'0000000000000001'}
${'10'} | ${'0000000100000000'}
${'11'} | ${'0000000100000001'}
${'0f'} | ${'0000000001010101'}
${'f0'} | ${'0101010100000000'}
${'ff'} | ${'0101010101010101'}
${'00ff'} | ${'00000000000000000101010101010101'}
${'01ff'} | ${'00000000000000010101010101010101'}
${'02ff'} | ${'00000000000001000101010101010101'}
${'04ff'} | ${'00000000000100000101010101010101'}
${'08ff'} | ${'00000000010000000101010101010101'}
${'08ff'} | ${'00000000010000000101010101010101'}
${'0'} | ${'0000000000000000'}
${'1'} | ${'0000000000000001'}
${'2'} | ${'0000000000000100'}
${'3'} | ${'0000000000000101'}
${'e'} | ${'0000000001010100'}
${'f'} | ${'0000000001010101'}
`('reslut=$result if hex=$hex', ({ hex, result }) => {
expect(saveBitAsByte(hex)).toBe(result);
});
});
it('Test getArgument', () => {
const addressIndex = 0;
expect(
getArgument(
{
toAddress: 'EQAW5QLk3XvW3HMbLqkE9wXkL9NdGpE1555tUxhdea8pVIbJ',
amount: '123000000',
seqno: 20,
payload: 'Hello CoolWallet!',
expireAt: 1716886177,
sendMode: 3,
},
addressIndex
)
).toBe(
'0D108000002c8000025f800000000000001466559aa103010000010000010001000000010001010001010100000100010000000000000100010101000001000001010001010100010001010101000101010100010001010001010001010100000001010100000101000000010100010100000100010101000100010001000001000000000001000001010101000101010000000000010001010101000001000000000100010101010101000100000101000100010101000100000001010001000100000100000001000001010001000101010100000101010100000101010100000101000101000100010001000001010000000101000000000100010101000100010101010000010100010001010101000001000100000100010001000100000001000000000000000101010001000100010000010100010001000001010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a80000000000000000000000000000000000000000000000000000000000000000000100000100000000010100000100010001010001010000000101000101000000010100010101010000010000000000000100000000010100010100010101010001010001010101000101000101000000010001000101010001010000000001000101000101000000010100010100000001010000010001000101010001000000000100000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
);
});
it('Test getTransferTokenArgument', () => {
const addressIndex = 0;
expect(
getTransferTokenArgument(
{
toAddress: 'EQBgGEdG_Uj-c1hcy2zBT6e7ADNpE2KBoXQTKAWSeeLBKHcu',
amount: '50000000',
seqno: 19,
expireAt: 1716886177,
sendMode: 3,
payload: {
jettonAmount: '1234',
toAddress: 'EQAW5QLk3XvW3HMbLqkE9wXkL9NdGpE1555tUxhdea8pVIbJ',
forwardAmount: '1',
forwardPayload: 'Hello',
responseAddress: 'EQAlWnyf_OmGFyJ3wHkP930RGPDtokkcYhphAjId05OOI3Up',
},
tokenInfo: {
symbol: 'USDT',
decimals: '6',
address: 'EQCxE6mUtQJKFnGfaROTKOt1lZbDiiX1kCixRv7Nw2Id_sDs',
signature:
'3046022100c7468bffe48a52395b2180c9e15bd32d20164ac50e2b9b135b02587c45201e20022100a06249f84783796d31b96c508da23680add7f7ddd7b5d68e9ae1489a9407f9bc',
},
},
addressIndex
)
).toBe(
'0D108000002c8000025f800000000100010101000000000001000000000000010000010100010000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100010100010101000001000100000000000001000101010000010000010100010101000100010101010001010101000100010100010100010101000000010101000001010000000101000101000001000101010001000100010000010000000000010000010101010001010100000000000100010101010000010000000001000101010101010001000001010001000101010001000000010100010001000001000000010000010100010001010101000001010101000001010101000001010001010001000100010000010100000001010000000001000101010001000101010100000101000100010101010000010001000001000100010001000000000000000000000000010000010001000100010100010000010101010100000100000101010101010101010101000001010100010000010100000000010100000000010001010100000100000001000001010100010101010100000000000000010101010000010000000001010101010101010001010100010101010100010000000100000001000000010100000001010101000000000101010001010001010001000000010000010000010000010000000101010000000101000000010000000001010001000001010000000001000000000000010000000101000001000000000101010001010100010000010101000001000001010100000001010100000001000000010100000000000000000000000100000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000480000000000000000000000000000000000000000000000000000000000000000000100000100000000010100000100010001010001010000000101000101000000010100010101010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101000100000000010100000000000000000101000000000100000001010100010000000101000101010101010001000100000100000001010101010101000001010100000101000100010100000000010001010100000101000001000101000101000101000001010000000000010001000001010101010001000001010101000101010001010000000000000000000001010000010100010100010000010000000100000101000101000000010001000000000000010100010000000001000101010001000000000001000001010000010001000000000000000001000101000001000001000001010101000001010101000000010001010000000000010000010001000000010000000000000000000100000000000000000100010101010100010001010101000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001366559aa1030604555344540000001100b113a994b5024a16719f69139328eb759596c38a25f59028b146fecdc3621dfec0ec3046022100c7468bffe48a52395b2180c9e15bd32d20164ac50e2b9b135b02587c45201e20022100a06249f84783796d31b96c508da23680add7f7ddd7b5d68e9ae1489a9407f9bc'
);
});
});