Search in sources :

Example 11 with Script

use of io.nuls.kernel.script.Script in project nuls by nuls-io.

the class UtxoAccountsStorageServiceImpl method getUtxoAccountsBalanceByAddress.

@Override
public Result<UtxoAccountsBalancePo> getUtxoAccountsBalanceByAddress(byte[] addressBytes) throws NulsException {
    // 获取账号信息
    if (addressBytes == null) {
        return Result.getFailed(KernelErrorCode.NULL_PARAMETER);
    }
    byte[] bytes = null;
    if (addressBytes[2] == 3) {
        Script scriptPubkey = SignatureUtil.createOutputScript(addressBytes);
        bytes = scriptPubkey.getProgram();
    } else {
        bytes = addressBytes;
    }
    byte[] balance = dbService.get(UtxoAccountsStorageConstant.DB_NAME_UTXO_ACCOUNTS_CONFIRMED_BALANCE, bytes);
    UtxoAccountsBalancePo b = new UtxoAccountsBalancePo();
    b.parse(balance, 0);
    if (b.getOwner() == null) {
        return Result.getSuccess().setData(null);
    }
    return Result.getSuccess().setData(b);
}
Also used : Script(io.nuls.kernel.script.Script) UtxoAccountsBalancePo(io.nuls.utxo.accounts.storage.po.UtxoAccountsBalancePo)

Aggregations

Script (io.nuls.kernel.script.Script)11 NulsException (io.nuls.kernel.exception.NulsException)5 IOException (java.io.IOException)5 NulsRuntimeException (io.nuls.kernel.exception.NulsRuntimeException)4 TransferTransaction (io.nuls.protocol.model.tx.TransferTransaction)4 CryptoException (io.nuls.core.tools.crypto.Exception.CryptoException)3 CoinDataResult (io.nuls.account.ledger.model.CoinDataResult)2 ECKey (io.nuls.core.tools.crypto.ECKey)2 Address (io.nuls.kernel.model.Address)2 Coin (io.nuls.kernel.model.Coin)2 CoinData (io.nuls.kernel.model.CoinData)2 Result (io.nuls.kernel.model.Result)2 VarInt (io.nuls.kernel.utils.VarInt)2 UnsupportedEncodingException (java.io.UnsupportedEncodingException)2 BigInteger (java.math.BigInteger)2 ArrayList (java.util.ArrayList)2 AliasTransaction (io.nuls.account.tx.AliasTransaction)1 Deposit (io.nuls.consensus.poc.protocol.entity.Deposit)1 CreateAgentTransaction (io.nuls.consensus.poc.protocol.tx.CreateAgentTransaction)1 DepositTransaction (io.nuls.consensus.poc.protocol.tx.DepositTransaction)1