public void RefreshInterface(Fixed8 qrs_val, Fixed8 qrg_val) { // Asset Init foreach (UInt256 asset_id in Constant.CurrentWallet.FindUnspentCoins().Select(p => p.Output.AssetId).Distinct()) { AssetState state = Blockchain.Default.GetAssetState(asset_id); AssetDescriptor item = new AssetDescriptor(state); bool IsAdd = true; for (int i = 0; i < cmb_assets.Items.Count; i++) { if (((AssetDescriptor)cmb_assets.Items[i]).AssetId == item.AssetId) { IsAdd = false; break; } } if (IsAdd) { cmb_assets.Items.Add(item); } } qrs_balance = qrs_val; qrg_balance = qrg_val; if (cmb_assets.SelectedItem == null) { lbl_balance.Hide(); lbl_cmt_balance.Hide(); } else { if (((AssetDescriptor)cmb_assets.SelectedItem).AssetName == "QRS") { lbl_balance.Text = qrs_val.ToString() + " QRS"; } else if (((AssetDescriptor)cmb_assets.SelectedItem).AssetName == "QRG") { lbl_balance.Text = qrs_val.ToString() + " QRG"; } } /* * foreach (string s in Settings.Default.NEP5Watched) * { * UInt160 asset_id = UInt160.Parse(s); * try * { * sendPanControl1.AddAssetCombobox(new AssetDescriptor(asset_id)); * } * catch (ArgumentException) * { * continue; * } * } */ }
public JObject ToJson(ushort index) { JObject json = new JObject(); json["n"] = index; json["asset"] = AssetId.ToString(); json["value"] = Value.ToString(); json["address"] = Wallet.ToAddress(ScriptHash); json["fee"] = Fee.ToString(); return(json); }
public override JObject ToJson() { TR.Enter(); JObject json = base.ToJson(); json["id"] = AssetId.ToString(); json["type"] = AssetType; try { json["name"] = Name == "" ? null : JObject.Parse(Name); } catch (FormatException) { json["name"] = Name; } json["amount"] = Amount.ToString(); json["available"] = Available.ToString(); json["precision"] = Precision; json["owner"] = Owner.ToString(); json["admin"] = Wallet.ToAddress(Admin); json["issuer"] = Wallet.ToAddress(Issuer); json["expiration"] = Expiration; json["frozen"] = IsFrozen; return(TR.Exit(json)); }
public override JObject ToJson() { JObject json = base.ToJson(); json["id"] = AssetId.ToString(); try { json["name"] = Name == "" ? null : JObject.Parse(Name); } catch (FormatException) { json["name"] = Name; } try { json["symbol"] = Symbol == "" ? null : JObject.Parse(Symbol); } catch (FormatException) { json["symbol"] = Symbol; } json["totalsupply"] = TotalSupply.ToString(); json["decimals"] = Decimals; json["owner"] = Owner.ToString(); json["admin"] = Admin.ToAddress(); json["block_index"] = BlockIndex; json["frozen"] = IsFrozen; return(json); }
/// <summary> /// 变成json对象 /// </summary> /// <returns>返回json对象</returns> public override JObject ToJson() { JObject json = base.ToJson(); json["asset"] = new JObject(); json["asset"]["type"] = AssetType; try { json["asset"]["name"] = Name == "" ? null : JObject.Parse(Name); } catch (FormatException) { json["asset"]["name"] = Name; } json["asset"]["amount"] = Amount.ToString(); json["asset"]["precision"] = Precision; json["asset"]["high"] = Amount.GetData() >> 32; json["asset"]["low"] = Amount.GetData() & 0xffffffff; json["asset"]["issuer"] = Issuer.ToString(); json["asset"]["admin"] = Wallet.ToAddress(Admin); if (Version > 0) { json["asset"]["cert"] = CertUrl; } return(json); }
private void ShowCost(Fixed8 fee) { StringBuilder sb = new StringBuilder(32); string content = sb.AppendFormat("{0} {1} {2}", fee.ToString(), "OXC", LanHelper.LocalLanguage("will be consumed, confirm?")).ToString(); this.CostContext.Text = content; }
private void ShowCost(Fixed8 fee) { StringBuilder sb = new StringBuilder(32); string content = sb.AppendFormat("{0} {1} {2}", fee.ToString(), "Gas", Strings.CostTips).ToString(); this.CostContext.Text = content; }
public void ToString_ProvideValidLongValueAndFormat_ReturnSameLongValueAsStringInTheRightFormat() { const string expectedLongValueString = "1000"; var actual = new Fixed8(100000000000); Assert.AreEqual(expectedLongValueString, actual.ToString("#.##")); }
public void ToString_ProvideValidLongValue_ReturnSameLongValueAsString() { var expectedLongValueString = "0.00001"; var actual = new Fixed8(1000); Assert.AreEqual(expectedLongValueString, actual.ToString()); }
public void ToString_ProvideValidLongValue_ReturnSameLongValueAsString() { var expectedLongValueString = "0.00001"; var actual = new Fixed8(1000); actual.ToString().Should().Be(expectedLongValueString); }
public void ToString_ProvideValidLongValueAndFormat_ReturnSameLongValueAsStringInTheRightFormat() { const string expectedLongValueString = "1000"; var actual = new Fixed8(100000000000); actual.ToString("#.##").Should().Be(expectedLongValueString); }
public void ToString_ProvideValidLongValueAndFormatAndInvariantCulture_ReturnSameLongValueAsStringInTheRightFormatUsingTheCulture() { const string expectedLongValueString = "1000"; var actual = new Fixed8(100000000000); actual.ToString("#.##", CultureInfo.InvariantCulture).Should().Be(expectedLongValueString); }
/// <summary> /// 转成json对象 /// </summary> /// <returns>json对象</returns> public override JObject ToJson() { JObject json = base.ToJson(); json["script"] = Script.ToHexString(); json["gas"] = Gas.ToString(); return(json); }
private void timer1_Tick(object sender, EventArgs e) { uint walletHeight = 0; if (Program.CurrentWallet != null) { walletHeight = (Program.CurrentWallet.WalletHeight > 0) ? Program.CurrentWallet.WalletHeight - 1 : 0; } lbl_height.Text = $"{walletHeight}/{Blockchain.Singleton.Height}/{Blockchain.Singleton.HeaderHeight}"; lbl_count_node.Text = LocalNode.Singleton.ConnectedCount.ToString(); TimeSpan persistence_span = DateTime.UtcNow - persistence_time; if (persistence_span < TimeSpan.Zero) { persistence_span = TimeSpan.Zero; } if (persistence_span > Blockchain.TimePerBlock) { toolStripProgressBar1.Style = ProgressBarStyle.Marquee; } else { toolStripProgressBar1.Value = persistence_span.Seconds; toolStripProgressBar1.Style = ProgressBarStyle.Blocks; } if (Program.CurrentWallet != null) { if (Program.CurrentWallet.WalletHeight <= Blockchain.Singleton.Height + 1) { if (balance_changed) { using (Snapshot snapshot = Blockchain.Singleton.GetSnapshot()) { IEnumerable <Coin> coins = Program.CurrentWallet?.GetCoins().Where(p => !p.State.HasFlag(CoinState.Spent)) ?? Enumerable.Empty <Coin>(); Fixed8 bonus_available = snapshot.CalculateBonus(Program.CurrentWallet.GetUnclaimedCoins().Select(p => p.Reference)); Fixed8 bonus_unavailable = snapshot.CalculateBonus(coins.Where(p => p.State.HasFlag(CoinState.Confirmed) && p.Output.AssetId.Equals(Blockchain.GoverningToken.Hash)).Select(p => p.Reference), snapshot.Height + 1); Fixed8 bonus = bonus_available + bonus_unavailable; var assets = coins.GroupBy(p => p.Output.AssetId, (k, g) => new { Asset = snapshot.Assets.TryGet(k), Value = g.Sum(p => p.Output.Value) }).ToDictionary(p => p.Asset.AssetId); var balance_ans = coins.Where(p => p.Output.AssetId.Equals(Blockchain.GoverningToken.Hash)).GroupBy(p => p.Output.ScriptHash).ToDictionary(p => p.Key, p => p.Sum(i => i.Output.Value)); foreach (ListViewItem item in listView1.Items) { UInt160 script_hash = item.Name.ToScriptHash(); Fixed8 ans = balance_ans.ContainsKey(script_hash) ? balance_ans[script_hash] : Fixed8.Zero; item.SubItems["ans"].Text = ans.ToString(); } balance_changed = false; } } } } }
private void timer_blockchain_Tick(object sender, EventArgs e) { overviewPan1.SetBlockchainHeight($"Height : {Blockchain.Default.Height}/{Blockchain.Default.HeaderHeight}"); overviewPan1.SetPeersConnect("Connected : " + Constant.LocalNode.RemoteNodeCount.ToString()); if (Constant.CurrentWallet != null) { if (Constant.CurrentWallet.WalletHeight <= Blockchain.Default.Height + 1) { if (balance_changed) { IEnumerable <Coin> coins = Constant.CurrentWallet?.GetCoins().Where(p => !p.State.HasFlag(CoinState.Spent)) ?? Enumerable.Empty <Coin>(); Fixed8 bonus_available = Blockchain.CalculateBonus(Constant.CurrentWallet.GetUnclaimedCoins().Select(p => p.Reference)); Fixed8 bonus_unavailable = Blockchain.CalculateBonus(coins.Where(p => p.State.HasFlag(CoinState.Confirmed) && p.Output.AssetId.Equals(Blockchain.GoverningToken.Hash)).Select(p => p.Reference), Blockchain.Default.Height + 1); Fixed8 bonus = bonus_available + bonus_unavailable; var assets = coins.GroupBy(p => p.Output.AssetId, (k, g) => new { Asset = Blockchain.Default.GetAssetState(k), Value = g.Sum(p => p.Output.Value), Claim = k.Equals(Blockchain.UtilityToken.Hash) ? bonus : Fixed8.Zero }).ToDictionary(p => p.Asset.AssetId); if (bonus != Fixed8.Zero && !assets.ContainsKey(Blockchain.UtilityToken.Hash)) { assets[Blockchain.UtilityToken.Hash] = new { Asset = Blockchain.Default.GetAssetState(Blockchain.UtilityToken.Hash), Value = Fixed8.Zero, Claim = bonus }; } var balance_qrs = coins.Where(p => p.Output.AssetId.Equals(Blockchain.GoverningToken.Hash)).GroupBy(p => p.Output.ScriptHash).ToDictionary(p => p.Key, p => p.Sum(i => i.Output.Value)); var balance_qrg = coins.Where(p => p.Output.AssetId.Equals(Blockchain.UtilityToken.Hash)).GroupBy(p => p.Output.ScriptHash).ToDictionary(p => p.Key, p => p.Sum(i => i.Output.Value)); Fixed8 qrs_total = Fixed8.Zero; Fixed8 qrg_total = Fixed8.Zero; foreach (Controls.AccountItem item in overviewPan1.addrItem) { UInt160 script_hash = Wallet.ToScriptHash(item.GetAddress()); Fixed8 qrs = balance_qrs.ContainsKey(script_hash) ? balance_qrs[script_hash] : Fixed8.Zero; Fixed8 qrg = balance_qrg.ContainsKey(script_hash) ? balance_qrg[script_hash] : Fixed8.Zero; qrs_total += qrs; qrg_total += qrg; item.SetQRS(qrs.ToString()); item.SetQRG(qrg.ToString()); } overviewPan1.SetQrsTotalBalance(qrs_total.ToString()); overviewPan1.SetQrgTotalBalance(qrg_total.ToString()); sendcoinsPan1.RefreshInterface(qrs_total, qrg_total); balance_changed = false; } } } }
public override JObject ToJson() { TR.Enter(); JObject json = base.ToJson(); json["script"] = Script.ToHexString(); json["gas"] = Gas.ToString(); return(TR.Exit(json)); }
public override object ConvertTo(ITypeDescriptorContext context, CultureInfo culture, object value, Type destinationType) { if (destinationType != typeof(string)) { throw new NotSupportedException(); } Fixed8 f = (Fixed8)value; return(f.ToString()); }
public JObject ToJson(ushort index) { JObject json = new JObject(); json["n"] = index; json["asset"] = AssetId.ToString(); json["value"] = Value.ToString(); json["scripthash"] = ScriptHash.ToString(); return(json); }
private void ClaimForm_Load(object sender, EventArgs e) { Fixed8 amount = Wallet.CalculateClaimAmount(Program.CurrentWallet.GetUnclaimedCoins().Select(p => p.Input)); textBox1.Text = amount.ToString(); if (amount == Fixed8.Zero) { button1.Enabled = false; } }
public override JObject ToJson() { JObject json = base.ToJson(); json["script"] = Script.ToHexString(); json["gas_limit"] = GasLimit.ToString(); json["gas_price"] = GasPrice.ToString(); return(json); }
public JObject ToJson(ushort index) { var json = new JObject { ["n"] = index, ["asset"] = AssetId.ToString(), ["value"] = Value.ToString(), ["address"] = Wallet.ToAddress(ScriptHash) }; return(json); }
public InvokeContractDialog(InvocationTransaction tx = null) { InitializeComponent(); txtFeeNetwork.Validating += TxtFeeNetwork_Validating; this.tx = tx; txtFeeNetwork.Text = net_fee.ToString(); if (tx != null) { tabControl1.SelectedTab = tabPage2; textBox6.Text = tx.Script.ToHexString(); } }
private void ClaimForm_Load(object sender, EventArgs e) { Fixed8 amount_available = Wallet.CalculateClaimAmount(Program.CurrentWallet.GetUnclaimedCoins().Select(p => p.Input)); textBox1.Text = amount_available.ToString(); if (amount_available == Fixed8.Zero) { button1.Enabled = false; } CalculateClaimAmountUnavailable(Blockchain.Default.Height); Blockchain.PersistCompleted += Blockchain_PersistCompleted; }
private void ClaimForm_Load(object sender, EventArgs e) { Fixed8 bonus_available = Blockchain.CalculateBonus(Program.CurrentWallet.GetUnclaimedCoins().Select(p => p.Reference)); textBox1.Text = bonus_available.ToString(); if (bonus_available == Fixed8.Zero) { button1.Enabled = false; } CalculateBonusUnavailable(Blockchain.Default.Height + 1); Blockchain.PersistCompleted += Blockchain_PersistCompleted; }
/// <summary> /// 将交易输出转变为json对象 /// </summary> /// <param name="index">该交易输出在交易中的索引</param> /// <returns>返回json对象</returns> public JObject ToJson(ushort index) { JObject json = new JObject(); json["n"] = index; json["asset"] = AssetId.ToString(); json["value"] = Value.ToString(); json["high"] = Value.GetData() >> 32; json["low"] = Value.GetData() & 0xffffffff; json["address"] = Wallet.ToAddress(ScriptHash); return(json); }
private void ClaimDialog_Load(object sender, EventArgs e) { Fixed8 bonus_available = Blockchain.CalculateBonus(Constant.CurrentWallet.GetUnclaimedCoins().Select(p => p.Reference)); txb_available.Text = bonus_available.ToString(); if (bonus_available == Fixed8.Zero) { btn_claim.Enabled = false; } CalculateBonusUnavailable(Blockchain.Default.Height + 1); Blockchain.PersistCompleted += Blockchain_PersistCompleted; }
private void ClaimForm_Load(object sender, EventArgs e) { using (Snapshot snapshot = Blockchain.Singleton.GetSnapshot()) { Fixed8 bonus_available = snapshot.CalculateBonus(Program.CurrentWallet.GetUnclaimedCoins().Select(p => p.Reference)); textBox1.Text = bonus_available.ToString(); if (bonus_available == Fixed8.Zero) { button1.Enabled = false; } CalculateBonusUnavailable(snapshot.Height + 1); } actor = Program.NeoSystem.ActorSystem.ActorOf(EventWrapper <Blockchain.PersistCompleted> .Props(Blockchain_PersistCompleted)); }
private void cmb_assets_SelectedIndexChanged(object sender, EventArgs e) { lbl_cmt_balance.Show(); lbl_balance.Show(); if (((AssetDescriptor)cmb_assets.SelectedItem).AssetName == "QRS") { lbl_balance.Text = qrs_balance.ToString() + " QRS"; } else if (((AssetDescriptor)cmb_assets.SelectedItem).AssetName == "QRG") { lbl_balance.Text = qrg_balance.ToString() + " QRG"; } }
/// <summary> /// 变成json对象 /// </summary> /// <returns>返回json对象</returns> public override JObject ToJson() { JObject json = base.ToJson(); json["asset"] = new JObject(); json["asset"]["type"] = AssetType; json["asset"]["name"] = Name == "" ? null : JObject.Parse(Name); json["asset"]["amount"] = Amount.ToString(); json["asset"]["high"] = Amount.GetData() >> 32; json["asset"]["low"] = Amount.GetData() & 0xffffffff; json["asset"]["issuer"] = Issuer.ToString(); json["asset"]["admin"] = Wallet.ToAddress(Admin); return(json); }
public JObject ToJson(ushort index) { JObject json = new JObject(); json["n"] = index; json["asset"] = AssetId.ToString(); json["value"] = Value.ToString(); json["address"] = Wallet.ToAnonymousAddress(addr); json["rho"] = rho.ToString(); json["r"] = r.ToString(); json["witness"] = "Witness"; json["witness_height"] = witness_height.ToString(); json["cmtree_height"] = cmtree_height.ToString(); return(json); }