Skip to content

Examples: Get Account info

Chun Lam edited this page Feb 21, 2024 · 5 revisions
import { 
    NetworkType, Address, AccountHttp, PublicAccount, Order, 
    Order_v2,
    TransactionQueryParams, TransactionFieldOrder, TransactionSortingField
} from 'tsjs-xpx-chain-sdk';

const API_URL = 'http://localhost:3000';
const NETWORK_TYPE = NetworkType.MIJIN_TEST;

const accountHttp = new AccountHttp(API_URL);

const getAccountInfoForAnAccount = () => {

    const address = Address.createFromRawAddress('SAFSPPRI4MBM3R7USYLJHUODAD5ZEK65YUP35NV6');

    return accountHttp.getAccountInfo(address).subscribe({
        next: accountInfo => {
            console.log(accountInfo);
        }, 
        error: error => {
            console.error(error);
        }, 
        complete: () => {
            console.log('done.');
        }
    });
}

const getAccountsInfoForDifferentAccounts = () => {
    const address1 = Address.createFromPublicKey('73472A2E9DCEA5C2A36EB7F6A34A634010391EC89E883D67360DB16F28B9443C', NETWORK_TYPE);
    const address2 = Address.createFromPublicKey('0EB448D07C7CCB312989AC27AA052738FF589E2F83973F909B506B450DC5C4E2', NETWORK_TYPE);

    return accountHttp.getAccountsInfo([address1, address2]).subscribe({
        next: accountInfo => {
            console.log(accountInfo);
        }, 
        error: error => {
            console.error(error);
        }, 
        complete:() => {
            console.log('done.');
        }
    });
}

const getConfirmedIncomingTransactions = () => {
    const publicAccount = PublicAccount.createFromPublicKey('73472A2E9DCEA5C2A36EB7F6A34A634010391EC89E883D67360DB16F28B9443C', NETWORK_TYPE, 1);

    return accountHttp.incomingTransactions(publicAccount).subscribe({
        next: tx => {
            console.log(tx);
        }, 
        error: error => {
            console.error(error);
        }, 
        complete: () => {
            console.log('done.');
        }
    });
}

const getConfirmedOutgoingTransactions = () => {
    const publicAccount = PublicAccount.createFromPublicKey('73472A2E9DCEA5C2A36EB7F6A34A634010391EC89E883D67360DB16F28B9443C', NETWORK_TYPE, 1);

    return accountHttp.outgoingTransactions(publicAccount).subscribe({
        next: tx => {
            console.log(tx);
        }, 
        error: error => {
            console.error(error);
        }, 
        complete: () => {
            console.log('done.');
        }
    });
}

const getConfirmedAllTransactions = () => {
    const publicAccount = PublicAccount.createFromPublicKey('73472A2E9DCEA5C2A36EB7F6A34A634010391EC89E883D67360DB16F28B9443C', NETWORK_TYPE, 1);

    let txnQP = new TransactionQueryParams();

    txnQP.pageSize = 20;
    txnQP.updateFieldOrder(new TransactionFieldOrder(TransactionSortingField.BLOCK, Order_v2.DESC));

    return accountHttp.transactions(publicAccount, txnQP).subscribe({
        next: tx => {
            console.log(tx);
        }, 
        error: error => {
            console.error(error);
        }, 
        complete: () => {
            console.log('done.');
        }
    });
}

const getUnconfirmedTransactions = () => {
    const publicAccount = PublicAccount.createFromPublicKey('73472A2E9DCEA5C2A36EB7F6A34A634010391EC89E883D67360DB16F28B9443C', NETWORK_TYPE, 1);

    return accountHttp.unconfirmedTransactions(publicAccount).subscribe({
        next: tx => {
            console.log(tx);
        }, 
        error: error => {
            console.error(error);
        }, 
        complete: () => {
            console.log('done.');
        }
    });
}

const getAggregateBondedTransactions = () => {
    const publicAccount = PublicAccount.createFromPublicKey('73472A2E9DCEA5C2A36EB7F6A34A634010391EC89E883D67360DB16F28B9443C', NETWORK_TYPE, 1);

    return accountHttp.aggregateBondedTransactions(publicAccount).subscribe({
        next: tx => {
            console.log(tx);
        }, 
        error: error => {
            console.error(error);
        }, 
        complete: () => {
            console.log('done.');
        }
    });
}

const getMultisigAccountInfo = () => {
    const publicAccount = PublicAccount.createFromPublicKey('73472A2E9DCEA5C2A36EB7F6A34A634010391EC89E883D67360DB16F28B9443C', NETWORK_TYPE, 1);

    return accountHttp.getMultisigAccountInfo(publicAccount.address).subscribe({
        next: info => {
            console.log(info);
        }, 
        error: error => {
            console.error(error);
        }, 
        complete: () => {
            console.log('done.');
        }
    });
}

const getMultisigAccountGraphInfo = () => {
    const publicAccount = PublicAccount.createFromPublicKey('73472A2E9DCEA5C2A36EB7F6A34A634010391EC89E883D67360DB16F28B9443C', NETWORK_TYPE, 1);

    return accountHttp.getMultisigAccountGraphInfo(publicAccount.address).subscribe({
        next: info => {
            console.log(info);
        }, 
        error: error => {
            console.error(error);
        }, 
        complete: () => {
            console.log('done.');
        }
    });
}

getAccountInfoForAnAccount();
getAccountsInfoForDifferentAccounts();
getConfirmedIncomingTransactions();
getConfirmedOutgoingTransactions();
getConfirmedAllTransactions();
getUnconfirmedTransactions();
getAggregateBondedTransactions();
getMultisigAccountInfo();
getMultisigAccountGraphInfo();```