PHP WebShell
Текущая директория: /opt/BitGoJS/examples/ts/trx
Просмотр файла: consolidate-smc-account-balance.ts
import axios from 'axios';
// TODO: set your local external signer url
const LOCAL_EXTERNAL_SIGNER_URL = 'http://localhost:3080';
// TODO: set your access token here
// You can get this from User Settings > Developer Options > Add Access Token
const accessToken = '';
// TODO: set your wallet id
const walletId = '';
const options = {
headers: {
Authorization: `Bearer ${accessToken}`,
'Content-Type': 'application/json',
},
};
async function consolidateReceiveAddresses(coin: string, receiveAddresses?: string[]) {
const consolidateUrl = `${LOCAL_EXTERNAL_SIGNER_URL}/api/v2/${coin}/wallet/${walletId}/consolidateAccount`;
const response = receiveAddresses
? await axios.post(
consolidateUrl,
{
consolidateAddresses: receiveAddresses,
},
options
)
: await axios.post(consolidateUrl, {}, options);
const txids = response.data.success.map((item) => item.txid);
console.info(`Succeeded to consolidate receive addresses. Txids: ${txids}`);
}
async function main() {
try {
const unlockUrl = `${LOCAL_EXTERNAL_SIGNER_URL}/api/v2/user/unlock`;
const unlockData = {
duration: 3600,
otp: '000000',
};
await axios.post(unlockUrl, unlockData, options);
console.info(`Succeeded to unlock with OTP`);
// Consolidate native token at specific receive addresses
await consolidateReceiveAddresses('ttrx', ['receiveAddress1']);
// Consolidate TRC20 token at specific receive addresses
await consolidateReceiveAddresses('ttrx:usdt', ['receiveAddress1', 'receiveAddress2']);
// Consolidate native token at all receive addresses
await consolidateReceiveAddresses('ttrx');
// Consolidate TRC20 token at all receive addresses
await consolidateReceiveAddresses('ttrx:usdt');
} catch (e) {
console.error(`Failed to consolidate receive addresses error: ${e.message}`);
}
}
main().catch((e) => console.error(e));
Выполнить команду
Для локальной разработки. Не используйте в интернете!