/// <summary>
 /// Lists an account for sale (public or private)
 /// </summary>
 /// <param name="account_target">Account to be listed</param>
 /// <param name="account_signer">Account that signs and pays the fee (must have same public key that listed account, or be the same)</param>
 /// <param name="price">price account can be purchased for</param>
 /// <param name="seller_account">Account that will receive "price" amount on sell</param>
 /// <param name="new_b58_pubkey">Base58 encoded public key (for private sale only)</param>
 /// <param name="new_enc_pubkey">Hex-encoded public key (for private sale only)</param>
 /// <param name="locked_until_block">Block number until this account will be locked (a locked account cannot execute operations while locked)</param>
 /// <param name="fee">PASCURRENCY - Fee of the operation</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>
 /// <remarks>Only one or none of new_b58_pubkey, new_enc_pubkey should be used. Populating both will result in an error.</remarks>
 /// <returns>If operation is successfull will return a JSON Object in "Operation Object" format.</returns>
 public static Task <Operation> ListAccountForSaleAsync(this IPascalCoinClient client, uint account_target, uint account_signer, decimal price, uint seller_account, string new_b58_pubkey, string new_enc_pubkey, uint locked_until_block, decimal fee, byte[] payload = null, PayloadEncryptionMethod?payloadMethod = null, string pwd = null)
 {
     return(Task.Run(() => client.ListAccountForSale(account_target, account_signer, price, seller_account, new_b58_pubkey, new_enc_pubkey, locked_until_block, fee, payload, payloadMethod, pwd)));
 }