-
Notifications
You must be signed in to change notification settings - Fork 1
API Overview
VladyslavLapin edited this page May 6, 2024
·
5 revisions
Account and interaction with it:
- View the balance in your cash account
public static string AccountParams(Substrate.Vara.NET.NetApiExt.Generated.Model.sp_core.crypto.AccountId32 key)
{
return RequestGenerator.GetStorage("Balances", "Account", Substrate.NetApi.Model.Meta.Storage.Type.Map, new Substrate.NetApi.Model.Meta.Storage.Hasher[] {
Substrate.NetApi.Model.Meta.Storage.Hasher.BlakeTwo128Concat}, new Substrate.NetApi.Model.Types.IType[] {
key});
}
- Ability to send monetary assets between users
public static Method Transfer(Substrate.Vara.NET.NetApiExt.Generated.Model.sp_runtime.multiaddress.EnumMultiAddress dest, Substrate.NetApi.Model.Types.Base.BaseCom<Substrate.NetApi.Model.Types.Primitive.U128> value)
{
System.Collections.Generic.List<byte> byteArray = new List<byte>();
byteArray.AddRange(dest.Encode());
byteArray.AddRange(value.Encode());
return new Method(5, "Balances", 7, "transfer", byteArray.ToArray());
}
- Ability to transfer and track data
public GearMessengerStorage(SubstrateClientExt client)
{
this._client = client;
_client.StorageKeyDict.Add(new System.Tuple<string, string>("GearMessenger", "Dequeued"), new System.Tuple<Substrate.NetApi.Model.Meta.Storage.Hasher[], System.Type, System.Type>(null, null, typeof(Substrate.NetApi.Model.Types.Primitive.U32)));
_client.StorageKeyDict.Add(new System.Tuple<string, string>("GearMessenger", "Dispatches"), new System.Tuple<Substrate.NetApi.Model.Meta.Storage.Hasher[], System.Type, System.Type>(new Substrate.NetApi.Model.Meta.Storage.Hasher[] {
Substrate.NetApi.Model.Meta.Storage.Hasher.Identity}, typeof(Substrate.Vara.NET.NetApiExt.Generated.Model.gear_core.ids.MessageId), typeof(Substrate.Vara.NET.NetApiExt.Generated.Model.gear_common.storage.complicated.dequeue.LinkedNode)));
_client.StorageKeyDict.Add(new System.Tuple<string, string>("GearMessenger", "CounterForDispatches"), new System.Tuple<Substrate.NetApi.Model.Meta.Storage.Hasher[], System.Type, System.Type>(null, null, typeof(Substrate.NetApi.Model.Types.Primitive.U32)));
_client.StorageKeyDict.Add(new System.Tuple<string, string>("GearMessenger", "Head"), new System.Tuple<Substrate.NetApi.Model.Meta.Storage.Hasher[], System.Type, System.Type>(null, null, typeof(Substrate.Vara.NET.NetApiExt.Generated.Model.gear_core.ids.MessageId)));
_client.StorageKeyDict.Add(new System.Tuple<string, string>("GearMessenger", "Mailbox"), new System.Tuple<Substrate.NetApi.Model.Meta.Storage.Hasher[], System.Type, System.Type>(new Substrate.NetApi.Model.Meta.Storage.Hasher[] {
Substrate.NetApi.Model.Meta.Storage.Hasher.Identity,
Substrate.NetApi.Model.Meta.Storage.Hasher.Identity}, typeof(Substrate.NetApi.Model.Types.Base.BaseTuple<Substrate.Vara.NET.NetApiExt.Generated.Model.sp_core.crypto.AccountId32, Substrate.Vara.NET.NetApiExt.Generated.Model.gear_core.ids.MessageId>), typeof(Substrate.NetApi.Model.Types.Base.BaseTuple<Substrate.Vara.NET.NetApiExt.Generated.Model.gear_core.message.user.UserStoredMessage, Substrate.Vara.NET.NetApiExt.Generated.Model.gear_common.storage.primitives.Interval>)));
_client.StorageKeyDict.Add(new System.Tuple<string, string>("GearMessenger", "QueueProcessing"), new System.Tuple<Substrate.NetApi.Model.Meta.Storage.Hasher[], System.Type, System.Type>(null, null, typeof(Substrate.NetApi.Model.Types.Primitive.Bool)));
_client.StorageKeyDict.Add(new System.Tuple<string, string>("GearMessenger", "Sent"), new System.Tuple<Substrate.NetApi.Model.Meta.Storage.Hasher[], System.Type, System.Type>(null, null, typeof(Substrate.NetApi.Model.Types.Primitive.U32)));
_client.StorageKeyDict.Add(new System.Tuple<string, string>("GearMessenger", "Tail"), new System.Tuple<Substrate.NetApi.Model.Meta.Storage.Hasher[], System.Type, System.Type>(null, null, typeof(Substrate.Vara.NET.NetApiExt.Generated.Model.gear_core.ids.MessageId)));
_client.StorageKeyDict.Add(new System.Tuple<string, string>("GearMessenger", "Waitlist"), new System.Tuple<Substrate.NetApi.Model.Meta.Storage.Hasher[], System.Type, System.Type>(new Substrate.NetApi.Model.Meta.Storage.Hasher[] {
Substrate.NetApi.Model.Meta.Storage.Hasher.Identity,
Substrate.NetApi.Model.Meta.Storage.Hasher.Identity}, typeof(Substrate.NetApi.Model.Types.Base.BaseTuple<Substrate.Vara.NET.NetApiExt.Generated.Model.gear_core.ids.ProgramId, Substrate.Vara.NET.NetApiExt.Generated.Model.gear_core.ids.MessageId>), typeof(Substrate.NetApi.Model.Types.Base.BaseTuple<Substrate.Vara.NET.NetApiExt.Generated.Model.gear_core.message.stored.StoredDispatch, Substrate.Vara.NET.NetApiExt.Generated.Model.gear_common.storage.primitives.Interval>)));
_client.StorageKeyDict.Add(new System.Tuple<string, string>("GearMessenger", "DispatchStash"), new System.Tuple<Substrate.NetApi.Model.Meta.Storage.Hasher[], System.Type, System.Type>(new Substrate.NetApi.Model.Meta.Storage.Hasher[] {
Substrate.NetApi.Model.Meta.Storage.Hasher.Identity}, typeof(Substrate.Vara.NET.NetApiExt.Generated.Model.gear_core.ids.MessageId), typeof(Substrate.NetApi.Model.Types.Base.BaseTuple<Substrate.Vara.NET.NetApiExt.Generated.Model.gear_core.message.stored.StoredDispatch, Substrate.Vara.NET.NetApiExt.Generated.Model.gear_common.storage.primitives.Interval>)));
}
Allows you to send and track data in real time using status features
Staking
public StakingStorage(SubstrateClientExt client)
{
this._client = client;
_client.StorageKeyDict.Add(new System.Tuple<string, string>("Staking", "ValidatorCount"), new System.Tuple<Substrate.NetApi.Model.Meta.Storage.Hasher[], System.Type, System.Type>(null, null, typeof(Substrate.NetApi.Model.Types.Primitive.U32)));
_client.StorageKeyDict.Add(new System.Tuple<string, string>("Staking", "MinimumValidatorCount"), new System.Tuple<Substrate.NetApi.Model.Meta.Storage.Hasher[], System.Type, System.Type>(null, null, typeof(Substrate.NetApi.Model.Types.Primitive.U32)));
_client.StorageKeyDict.Add(new System.Tuple<string, string>("Staking", "Invulnerables"), new System.Tuple<Substrate.NetApi.Model.Meta.Storage.Hasher[], System.Type, System.Type>(null, null, typeof(Substrate.NetApi.Model.Types.Base.BaseVec<Substrate.Vara.NET.NetApiExt.Generated.Model.sp_core.crypto.AccountId32>)));
_client.StorageKeyDict.Add(new System.Tuple<string, string>("Staking", "Bonded"), new System.Tuple<Substrate.NetApi.Model.Meta.Storage.Hasher[], System.Type, System.Type>(new Substrate.NetApi.Model.Meta.Storage.Hasher[] {
Substrate.NetApi.Model.Meta.Storage.Hasher.Twox64Concat}, typeof(Substrate.Vara.NET.NetApiExt.Generated.Model.sp_core.crypto.AccountId32), typeof(Substrate.Vara.NET.NetApiExt.Generated.Model.sp_core.crypto.AccountId32)));
_client.StorageKeyDict.Add(new System.Tuple<string, string>("Staking", "MinNominatorBond"), new System.Tuple<Substrate.NetApi.Model.Meta.Storage.Hasher[], System.Type, System.Type>(null, null, typeof(Substrate.NetApi.Model.Types.Primitive.U128)));
_client.StorageKeyDict.Add(new System.Tuple<string, string>("Staking", "MinValidatorBond"), new System.Tuple<Substrate.NetApi.Model.Meta.Storage.Hasher[], System.Type, System.Type>(null, null, typeof(Substrate.NetApi.Model.Types.Primitive.U128)));
_client.StorageKeyDict.Add(new System.Tuple<string, string>("Staking", "MinimumActiveStake"), new System.Tuple<Substrate.NetApi.Model.Meta.Storage.Hasher[], System.Type, System.Type>(null, null, typeof(Substrate.NetApi.Model.Types.Primitive.U128)));
_client.StorageKeyDict.Add(new System.Tuple<string, string>("Staking", "MinCommission"), new System.Tuple<Substrate.NetApi.Model.Meta.Storage.Hasher[], System.Type, System.Type>(null, null, typeof(Substrate.Vara.NET.NetApiExt.Generated.Model.sp_arithmetic.per_things.Perbill)));
_client.StorageKeyDict.Add(new System.Tuple<string, string>("Staking", "Ledger"), new System.Tuple<Substrate.NetApi.Model.Meta.Storage.Hasher[], System.Type, System.Type>(new Substrate.NetApi.Model.Meta.Storage.Hasher[] {
Substrate.NetApi.Model.Meta.Storage.Hasher.BlakeTwo128Concat}, typeof(Substrate.Vara.NET.NetApiExt.Generated.Model.sp_core.crypto.AccountId32), typeof(Substrate.Vara.NET.NetApiExt.Generated.Model.pallet_staking.StakingLedger)));
_client.StorageKeyDict.Add(new System.Tuple<string, string>("Staking", "Payee"), new System.Tuple<Substrate.NetApi.Model.Meta.Storage.Hasher[], System.Type, System.Type>(new Substrate.NetApi.Model.Meta.Storage.Hasher[] {
Substrate.NetApi.Model.Meta.Storage.Hasher.Twox64Concat}, typeof(Substrate.Vara.NET.NetApiExt.Generated.Model.sp_core.crypto.AccountId32), typeof(Substrate.Vara.NET.NetApiExt.Generated.Model.pallet_staking.EnumRewardDestination)));
_client.StorageKeyDict.Add(new System.Tuple<string, string>("Staking", "Validators"), new System.Tuple<Substrate.NetApi.Model.Meta.Storage.Hasher[], System.Type, System.Type>(new Substrate.NetApi.Model.Meta.Storage.Hasher[] {
Substrate.NetApi.Model.Meta.Storage.Hasher.Twox64Concat}, typeof(Substrate.Vara.NET.NetApiExt.Generated.Model.sp_core.crypto.AccountId32), typeof(Substrate.Vara.NET.NetApiExt.Generated.Model.pallet_staking.ValidatorPrefs)));
_client.StorageKeyDict.Add(new System.Tuple<string, string>("Staking", "CounterForValidators"), new System.Tuple<Substrate.NetApi.Model.Meta.Storage.Hasher[], System.Type, System.Type>(null, null, typeof(Substrate.NetApi.Model.Types.Primitive.U32)));
_client.StorageKeyDict.Add(new System.Tuple<string, string>("Staking", "MaxValidatorsCount"), new System.Tuple<Substrate.NetApi.Model.Meta.Storage.Hasher[], System.Type, System.Type>(null, null, typeof(Substrate.NetApi.Model.Types.Primitive.U32)));
_client.StorageKeyDict.Add(new System.Tuple<string, string>("Staking", "Nominators"), new System.Tuple<Substrate.NetApi.Model.Meta.Storage.Hasher[], System.Type, System.Type>(new Substrate.NetApi.Model.Meta.Storage.Hasher[] {
Substrate.NetApi.Model.Meta.Storage.Hasher.Twox64Concat}, typeof(Substrate.Vara.NET.NetApiExt.Generated.Model.sp_core.crypto.AccountId32), typeof(Substrate.Vara.NET.NetApiExt.Generated.Model.pallet_staking.Nominations)));
_client.StorageKeyDict.Add(new System.Tuple<string, string>("Staking", "CounterForNominators"), new System.Tuple<Substrate.NetApi.Model.Meta.Storage.Hasher[], System.Type, System.Type>(null, null, typeof(Substrate.NetApi.Model.Types.Primitive.U32)));
_client.StorageKeyDict.Add(new System.Tuple<string, string>("Staking", "MaxNominatorsCount"), new System.Tuple<Substrate.NetApi.Model.Meta.Storage.Hasher[], System.Type, System.Type>(null, null, typeof(Substrate.NetApi.Model.Types.Primitive.U32)));
_client.StorageKeyDict.Add(new System.Tuple<string, string>("Staking", "CurrentEra"), new System.Tuple<Substrate.NetApi.Model.Meta.Storage.Hasher[], System.Type, System.Type>(null, null, typeof(Substrate.NetApi.Model.Types.Primitive.U32)));
_client.StorageKeyDict.Add(new System.Tuple<string, string>("Staking", "ActiveEra"), new System.Tuple<Substrate.NetApi.Model.Meta.Storage.Hasher[], System.Type, System.Type>(null, null, typeof(Substrate.Vara.NET.NetApiExt.Generated.Model.pallet_staking.ActiveEraInfo)));
_client.StorageKeyDict.Add(new System.Tuple<string, string>("Staking", "ErasStartSessionIndex"), new System.Tuple<Substrate.NetApi.Model.Meta.Storage.Hasher[], System.Type, System.Type>(new Substrate.NetApi.Model.Meta.Storage.Hasher[] {
Substrate.NetApi.Model.Meta.Storage.Hasher.Twox64Concat}, typeof(Substrate.NetApi.Model.Types.Primitive.U32), typeof(Substrate.NetApi.Model.Types.Primitive.U32)));
_client.StorageKeyDict.Add(new System.Tuple<string, string>("Staking", "ErasStakers"), new System.Tuple<Substrate.NetApi.Model.Meta.Storage.Hasher[], System.Type, System.Type>(new Substrate.NetApi.Model.Meta.Storage.Hasher[] {
Substrate.NetApi.Model.Meta.Storage.Hasher.Twox64Concat,
Substrate.NetApi.Model.Meta.Storage.Hasher.Twox64Concat}, typeof(Substrate.NetApi.Model.Types.Base.BaseTuple<Substrate.NetApi.Model.Types.Primitive.U32, Substrate.Vara.NET.NetApiExt.Generated.Model.sp_core.crypto.AccountId32>), typeof(Substrate.Vara.NET.NetApiExt.Generated.Model.pallet_staking.Exposure)));
_client.StorageKeyDict.Add(new System.Tuple<string, string>("Staking", "ErasStakersClipped"), new System.Tuple<Substrate.NetApi.Model.Meta.Storage.Hasher[], System.Type, System.Type>(new Substrate.NetApi.Model.Meta.Storage.Hasher[] {
Substrate.NetApi.Model.Meta.Storage.Hasher.Twox64Concat,
Substrate.NetApi.Model.Meta.Storage.Hasher.Twox64Concat}, typeof(Substrate.NetApi.Model.Types.Base.BaseTuple<Substrate.NetApi.Model.Types.Primitive.U32, Substrate.Vara.NET.NetApiExt.Generated.Model.sp_core.crypto.AccountId32>), typeof(Substrate.Vara.NET.NetApiExt.Generated.Model.pallet_staking.Exposure)));
_client.StorageKeyDict.Add(new System.Tuple<string, string>("Staking", "ErasValidatorPrefs"), new System.Tuple<Substrate.NetApi.Model.Meta.Storage.Hasher[], System.Type, System.Type>(new Substrate.NetApi.Model.Meta.Storage.Hasher[] {
Substrate.NetApi.Model.Meta.Storage.Hasher.Twox64Concat,
Substrate.NetApi.Model.Meta.Storage.Hasher.Twox64Concat}, typeof(Substrate.NetApi.Model.Types.Base.BaseTuple<Substrate.NetApi.Model.Types.Primitive.U32, Substrate.Vara.NET.NetApiExt.Generated.Model.sp_core.crypto.AccountId32>), typeof(Substrate.Vara.NET.NetApiExt.Generated.Model.pallet_staking.ValidatorPrefs)));
_client.StorageKeyDict.Add(new System.Tuple<string, string>("Staking", "ErasValidatorReward"), new System.Tuple<Substrate.NetApi.Model.Meta.Storage.Hasher[], System.Type, System.Type>(new Substrate.NetApi.Model.Meta.Storage.Hasher[] {
Substrate.NetApi.Model.Meta.Storage.Hasher.Twox64Concat}, typeof(Substrate.NetApi.Model.Types.Primitive.U32), typeof(Substrate.NetApi.Model.Types.Primitive.U128)));
_client.StorageKeyDict.Add(new System.Tuple<string, string>("Staking", "ErasRewardPoints"), new System.Tuple<Substrate.NetApi.Model.Meta.Storage.Hasher[], System.Type, System.Type>(new Substrate.NetApi.Model.Meta.Storage.Hasher[] {
Substrate.NetApi.Model.Meta.Storage.Hasher.Twox64Concat}, typeof(Substrate.NetApi.Model.Types.Primitive.U32), typeof(Substrate.Vara.NET.NetApiExt.Generated.Model.pallet_staking.EraRewardPoints)));
_client.StorageKeyDict.Add(new System.Tuple<string, string>("Staking", "ErasTotalStake"), new System.Tuple<Substrate.NetApi.Model.Meta.Storage.Hasher[], System.Type, System.Type>(new Substrate.NetApi.Model.Meta.Storage.Hasher[] {
Substrate.NetApi.Model.Meta.Storage.Hasher.Twox64Concat}, typeof(Substrate.NetApi.Model.Types.Primitive.U32), typeof(Substrate.NetApi.Model.Types.Primitive.U128)));
_client.StorageKeyDict.Add(new System.Tuple<string, string>("Staking", "ForceEra"), new System.Tuple<Substrate.NetApi.Model.Meta.Storage.Hasher[], System.Type, System.Type>(null, null, typeof(Substrate.Vara.NET.NetApiExt.Generated.Model.pallet_staking.EnumForcing)));
_client.StorageKeyDict.Add(new System.Tuple<string, string>("Staking", "SlashRewardFraction"), new System.Tuple<Substrate.NetApi.Model.Meta.Storage.Hasher[], System.Type, System.Type>(null, null, typeof(Substrate.Vara.NET.NetApiExt.Generated.Model.sp_arithmetic.per_things.Perbill)));
_client.StorageKeyDict.Add(new System.Tuple<string, string>("Staking", "CanceledSlashPayout"), new System.Tuple<Substrate.NetApi.Model.Meta.Storage.Hasher[], System.Type, System.Type>(null, null, typeof(Substrate.NetApi.Model.Types.Primitive.U128)));
_client.StorageKeyDict.Add(new System.Tuple<string, string>("Staking", "UnappliedSlashes"), new System.Tuple<Substrate.NetApi.Model.Meta.Storage.Hasher[], System.Type, System.Type>(new Substrate.NetApi.Model.Meta.Storage.Hasher[] {
Substrate.NetApi.Model.Meta.Storage.Hasher.Twox64Concat}, typeof(Substrate.NetApi.Model.Types.Primitive.U32), typeof(Substrate.NetApi.Model.Types.Base.BaseVec<Substrate.Vara.NET.NetApiExt.Generated.Model.pallet_staking.UnappliedSlash>)));
_client.StorageKeyDict.Add(new System.Tuple<string, string>("Staking", "BondedEras"), new System.Tuple<Substrate.NetApi.Model.Meta.Storage.Hasher[], System.Type, System.Type>(null, null, typeof(Substrate.NetApi.Model.Types.Base.BaseVec<Substrate.NetApi.Model.Types.Base.BaseTuple<Substrate.NetApi.Model.Types.Primitive.U32, Substrate.NetApi.Model.Types.Primitive.U32>>)));
_client.StorageKeyDict.Add(new System.Tuple<string, string>("Staking", "ValidatorSlashInEra"), new System.Tuple<Substrate.NetApi.Model.Meta.Storage.Hasher[], System.Type, System.Type>(new Substrate.NetApi.Model.Meta.Storage.Hasher[] {
Substrate.NetApi.Model.Meta.Storage.Hasher.Twox64Concat,
Substrate.NetApi.Model.Meta.Storage.Hasher.Twox64Concat}, typeof(Substrate.NetApi.Model.Types.Base.BaseTuple<Substrate.NetApi.Model.Types.Primitive.U32, Substrate.Vara.NET.NetApiExt.Generated.Model.sp_core.crypto.AccountId32>), typeof(Substrate.NetApi.Model.Types.Base.BaseTuple<Substrate.Vara.NET.NetApiExt.Generated.Model.sp_arithmetic.per_things.Perbill, Substrate.NetApi.Model.Types.Primitive.U128>)));
_client.StorageKeyDict.Add(new System.Tuple<string, string>("Staking", "NominatorSlashInEra"), new System.Tuple<Substrate.NetApi.Model.Meta.Storage.Hasher[], System.Type, System.Type>(new Substrate.NetApi.Model.Meta.Storage.Hasher[] {
Substrate.NetApi.Model.Meta.Storage.Hasher.Twox64Concat,
Substrate.NetApi.Model.Meta.Storage.Hasher.Twox64Concat}, typeof(Substrate.NetApi.Model.Types.Base.BaseTuple<Substrate.NetApi.Model.Types.Primitive.U32, Substrate.Vara.NET.NetApiExt.Generated.Model.sp_core.crypto.AccountId32>), typeof(Substrate.NetApi.Model.Types.Primitive.U128)));
_client.StorageKeyDict.Add(new System.Tuple<string, string>("Staking", "SlashingSpans"), new System.Tuple<Substrate.NetApi.Model.Meta.Storage.Hasher[], System.Type, System.Type>(new Substrate.NetApi.Model.Meta.Storage.Hasher[] {
Substrate.NetApi.Model.Meta.Storage.Hasher.Twox64Concat}, typeof(Substrate.Vara.NET.NetApiExt.Generated.Model.sp_core.crypto.AccountId32), typeof(Substrate.Vara.NET.NetApiExt.Generated.Model.pallet_staking.slashing.SlashingSpans)));
_client.StorageKeyDict.Add(new System.Tuple<string, string>("Staking", "SpanSlash"), new System.Tuple<Substrate.NetApi.Model.Meta.Storage.Hasher[], System.Type, System.Type>(new Substrate.NetApi.Model.Meta.Storage.Hasher[] {
Substrate.NetApi.Model.Meta.Storage.Hasher.Twox64Concat}, typeof(Substrate.NetApi.Model.Types.Base.BaseTuple<Substrate.Vara.NET.NetApiExt.Generated.Model.sp_core.crypto.AccountId32, Substrate.NetApi.Model.Types.Primitive.U32>), typeof(Substrate.Vara.NET.NetApiExt.Generated.Model.pallet_staking.slashing.SpanRecord)));
_client.StorageKeyDict.Add(new System.Tuple<string, string>("Staking", "CurrentPlannedSession"), new System.Tuple<Substrate.NetApi.Model.Meta.Storage.Hasher[], System.Type, System.Type>(null, null, typeof(Substrate.NetApi.Model.Types.Primitive.U32)));
_client.StorageKeyDict.Add(new System.Tuple<string, string>("Staking", "OffendingValidators"), new System.Tuple<Substrate.NetApi.Model.Meta.Storage.Hasher[], System.Type, System.Type>(null, null, typeof(Substrate.NetApi.Model.Types.Base.BaseVec<Substrate.NetApi.Model.Types.Base.BaseTuple<Substrate.NetApi.Model.Types.Primitive.U32, Substrate.NetApi.Model.Types.Primitive.Bool>>)));
_client.StorageKeyDict.Add(new System.Tuple<string, string>("Staking", "ChillThreshold"), new System.Tuple<Substrate.NetApi.Model.Meta.Storage.Hasher[], System.Type, System.Type>(null, null, typeof(Substrate.Vara.NET.NetApiExt.Generated.Model.sp_arithmetic.per_things.Percent)));
}
Staking is an important process on the Vara Network that helps to secure and decentralize the network. Users have the opportunity to become validators and take an active part in the life of the network
- Staking Rewards Functions
public StakingRewardsStorage(SubstrateClientExt client)
{
this._client = client;
_client.StorageKeyDict.Add(new System.Tuple<string, string>("StakingRewards", "TargetInflation"), new System.Tuple<Substrate.NetApi.Model.Meta.Storage.Hasher[], System.Type, System.Type>(null, null, typeof(Substrate.Vara.NET.NetApiExt.Generated.Model.sp_arithmetic.per_things.Perquintill)));
_client.StorageKeyDict.Add(new System.Tuple<string, string>("StakingRewards", "IdealStakingRatio"), new System.Tuple<Substrate.NetApi.Model.Meta.Storage.Hasher[], System.Type, System.Type>(null, null, typeof(Substrate.Vara.NET.NetApiExt.Generated.Model.sp_arithmetic.per_things.Perquintill)));
_client.StorageKeyDict.Add(new System.Tuple<string, string>("StakingRewards", "NonStakeableShare"), new System.Tuple<Substrate.NetApi.Model.Meta.Storage.Hasher[], System.Type, System.Type>(null, null, typeof(Substrate.Vara.NET.NetApiExt.Generated.Model.sp_arithmetic.per_things.Perquintill)));
_client.StorageKeyDict.Add(new System.Tuple<string, string>("StakingRewards", "FilteredAccounts"), new System.Tuple<Substrate.NetApi.Model.Meta.Storage.Hasher[], System.Type, System.Type>(null, null, typeof(Substrate.Vara.NET.NetApiExt.Generated.Types.Base.BTreeSetT6)));
}
Staking on the Vara Network brings benefits to its users, you can familiarize yourself with the functions of interaction with it