/// <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); }