/// <summary> /// Update an account to witness.Requires 250,000 vested SPHTX before updating. /// </summary> /// <param name="accountName">Input string accountName</param> /// <param name="descriptionUrl">A URL containing some information about the witness. The empty string makes it remain the same.</param> /// <param name="blockSigningKey">The new block signing public key. The empty string disables block production.</param> /// <param name="accountCreationPrice"></param> /// <param name="maxBlockSizeLimit"></param> /// <param name="priceFeed"></param> /// <param name="privateKey"></param> /// <returns>Returns true if success or false for failed try</returns> public TransactionResponse UpdateWitness(string accountName, string descriptionUrl, string blockSigningKey, string accountCreationPrice, int maxBlockSizeLimit, List <List <PrizeFeedQuoteMessage> > priceFeed, string privateKey) { try { var pros = new ChainProperties { AccountCreationFee = accountCreationPrice, MaximumBlockSize = maxBlockSizeLimit, PriceFeeds = priceFeed }; var reqname = CSharpToCpp.GetValue(MethodBase.GetCurrentMethod().Name); var @params = new ArrayList { accountName, descriptionUrl, blockSigningKey, pros }; var result = SendRequest(reqname, @params, typeof(PrizeFeedQuoteMessage)); var contentdata = JsonConvert.DeserializeObject <AccountResponse>(result); var response = StartBroadcasting(contentdata.Result, privateKey); return(response); } catch (Exception ex) { throw; } }
public WitnessUpdateOperation(string owner, string url, PublicKeyType blockSigningKey, ChainProperties props, Asset fee) { Owner = owner; Url = url; BlockSigningKey = blockSigningKey; Props = props; Fee = fee; }