/// <summary>
 /// Buy an account currently listed for sale (public or private)
 /// </summary>
 /// <param name="buyer_account">Account number of buyer who is purchasing the account</param>
 /// <param name="account_to_purchase">Account number being purchased</param>
 /// <param name="price">Settlement price of account being purchased</param>
 /// <param name="seller_account">Account of seller, receiving payment</param>
 /// <param name="new_b58_pubkey">Post-settlement public key in base58 encoded format.</param>
 /// <param name="new_enc_pubkey">Post-settlement public key in hexadecimal encoded format.</param>
 /// <param name="amount">Amount being transferred from buyer_account to seller_account (the settlement). This is a PASCURRENCY value.</param>
 /// <param name="fee">Fee of the operation. This is a PASCURRENCY value.</param>
 /// <param name="payload">Payload "item" that will be included in this operation</param>
 /// <param name="payloadMethod">Encode type of the item payload</param>
 /// <param name="pwd">Used to encrypt payload with aes as a payload_method. If none equals to empty password</param>
 /// <returns>If operation is successfull will return a JSON Object in "Operation Object" format.</returns>
 public static Task <Operation> BuyAccountAsync(this IPascalCoinClient client, uint buyer_account, uint account_to_purchase, decimal price, uint seller_account, string new_b58_pubkey, string new_enc_pubkey, decimal amount, decimal fee, byte[] payload = null, PayloadEncryptionMethod?payloadMethod = null, string pwd = null)
 {
     return(Task.Run(() => client.BuyAccount(buyer_account, account_to_purchase, price, seller_account, new_b58_pubkey, new_enc_pubkey, amount, fee, payload, payloadMethod, pwd)));
 }