示例#1
0
        /// <summary>
        /// The GAS is claimed when doing NEO transfer
        /// This function will transfer NEO balance from account to itself
        /// </summary>
        /// <param name="keyPair">keyPair</param>
        /// <returns>The transaction sended</returns>
        public async Task <Transaction> ClaimGasAsync(KeyPair keyPair)
        {
            UInt160    toHash  = Contract.CreateSignatureRedeemScript(keyPair.PublicKey).ToScriptHash();
            BigInteger balance = await nep5API.BalanceOfAsync(NativeContract.NEO.Hash, toHash).ConfigureAwait(false);

            Transaction transaction = await nep5API.CreateTransferTxAsync(NativeContract.NEO.Hash, keyPair, toHash, balance).ConfigureAwait(false);

            await rpcClient.SendRawTransactionAsync(transaction).ConfigureAwait(false);

            return(transaction);
        }