internal async Task <string> GetExtrinsicParametersAsync(GenericExtrinsicCall callArguments, Account account, uint tip, uint lifeTime, CancellationToken token) { Method method = GetMethod(callArguments); uint nonce = await System.AccountNextIndexAsync(account.Address, token); Era era; Hash startEra; if (lifeTime == 0) { era = Era.Create(0, 0); startEra = GenesisHash; } else { startEra = await Chain.GetFinalizedHeadAsync(token); Header finalizedHeader = await Chain.GetHeaderAsync(startEra, token); era = Era.Create(lifeTime, finalizedHeader.Number); } var uncheckedExtrinsic = RequestGenerator.SubmitExtrinsic(true, account, method, era, nonce, tip, GenesisHash, startEra); return(Utils.Bytes2HexString(uncheckedExtrinsic.Encode(), Utils.HexStringFormat.PREFIXED)); }
/// <summary> /// Get an unchecked extrinsic. /// </summary> /// <param name="callArguments"></param> /// <param name="account"></param> /// <param name="tip"></param> /// <param name="lifeTime"></param> /// <param name="signed"></param> /// <param name="token"></param> /// <returns></returns> public async Task <UnCheckedExtrinsic> GetExtrinsicParametersAsync(GenericExtrinsicCall callArguments, Account account, uint tip, uint lifeTime, bool signed, CancellationToken token) { var method = GetMethod(callArguments); var nonce = await System.AccountNextIndexAsync(account.Value, token); Era era; Hash startEra; if (lifeTime == 0) { era = Era.Create(0, 0); startEra = GenesisHash; } else { startEra = await Chain.GetFinalizedHeadAsync(token); var finalizedHeader = await Chain.GetHeaderAsync(startEra, token); era = Era.Create(lifeTime, finalizedHeader.Number.Value); } return(RequestGenerator.SubmitExtrinsic(signed, account, method, era, nonce, tip, GenesisHash, startEra, RuntimeVersion)); }