Class Delegatee<T, TSelf>
- Namespace
- Nekoyume.Delegation
- Assembly
- Lib9c.dll
public abstract class Delegatee<T, TSelf> : IDelegatee where T : Delegator<TSelf, T> where TSelf : Delegatee<T, TSelf>
Type Parameters
T
TSelf
- Inheritance
-
Delegatee<T, TSelf>
- Implements
-
- Derived
-
- Inherited Members
-
Constructors
Delegatee(Address, Address, Currency, IEnumerable<Currency>, Address, Address, Address, Address, long, int, int, IDelegationRepository)
public Delegatee(Address address, Address accountAddress, Currency delegationCurrency, IEnumerable<Currency> rewardCurrencies, Address delegationPoolAddress, Address rewardPoolAddress, Address rewardRemainderPoolAddress, Address slashedPoolAddress, long unbondingPeriod, int maxUnbondLockInEntries, int maxRebondGraceEntries, IDelegationRepository repository)
Parameters
address Address
accountAddress Address
delegationCurrency Currency
rewardCurrencies IEnumerable<Currency>
delegationPoolAddress Address
rewardPoolAddress Address
rewardRemainderPoolAddress Address
slashedPoolAddress Address
unbondingPeriod long
maxUnbondLockInEntries int
maxRebondGraceEntries int
repository IDelegationRepository
Delegatee(Address, IDelegationRepository)
public Delegatee(Address address, IDelegationRepository repository)
Parameters
address Address
repository IDelegationRepository
Properties
AccountAddress
public Address AccountAddress { get; }
Property Value
- Address
Address
public Address Address { get; }
Property Value
- Address
DelegationCurrency
public Currency DelegationCurrency { get; }
Property Value
- Currency
DelegationPoolAddress
public Address DelegationPoolAddress { get; }
Property Value
- Address
Delegators
public ImmutableSortedSet<Address> Delegators { get; }
Property Value
- ImmutableSortedSet<Address>
Jailed
public bool Jailed { get; }
Property Value
- bool
JailedUntil
public long JailedUntil { get; }
Property Value
- long
MaxRebondGraceEntries
public int MaxRebondGraceEntries { get; }
Property Value
- int
MaxUnbondLockInEntries
public int MaxUnbondLockInEntries { get; }
Property Value
- int
public DelegateeMetadata Metadata { get; }
Property Value
- DelegateeMetadata
public Address MetadataAddress { get; }
Property Value
- Address
public List MetadataBencoded { get; }
Property Value
- List
Repository
public IDelegationRepository Repository { get; }
Property Value
- IDelegationRepository
RewardCurrencies
public ImmutableSortedSet<Currency> RewardCurrencies { get; }
Property Value
- ImmutableSortedSet<Currency>
RewardPoolAddress
public Address RewardPoolAddress { get; }
Property Value
- Address
RewardRemainderPoolAddress
public Address RewardRemainderPoolAddress { get; }
Property Value
- Address
SlashedPoolAddress
public Address SlashedPoolAddress { get; }
Property Value
- Address
Tombstoned
public bool Tombstoned { get; }
Property Value
- bool
TotalDelegated
public FungibleAssetValue TotalDelegated { get; }
Property Value
- FungibleAssetValue
TotalShares
public BigInteger TotalShares { get; }
Property Value
- BigInteger
UnbondingPeriod
public long UnbondingPeriod { get; }
Property Value
- long
Methods
AddUnbondingRef(UnbondingRef)
public void AddUnbondingRef(UnbondingRef reference)
Parameters
reference UnbondingRef
Bond(IDelegator, FungibleAssetValue, long)
public BigInteger Bond(IDelegator delegator, FungibleAssetValue fav, long height)
Parameters
delegator IDelegator
fav FungibleAssetValue
height long
Returns
- BigInteger
Bond(T, FungibleAssetValue, long)
public virtual BigInteger Bond(T delegator, FungibleAssetValue fav, long height)
Parameters
delegator T
fav FungibleAssetValue
height long
Returns
- BigInteger
BondAddress(Address)
public Address BondAddress(Address delegatorAddress)
Parameters
delegatorAddress Address
Returns
- Address
CalculateReward(BigInteger, IEnumerable<LumpSumRewardsRecord>)
public ImmutableDictionary<Currency, FungibleAssetValue> CalculateReward(BigInteger share, IEnumerable<LumpSumRewardsRecord> lumpSumRewardsRecords)
Parameters
share BigInteger
lumpSumRewardsRecords IEnumerable<LumpSumRewardsRecord>
Returns
- ImmutableDictionary<Currency, FungibleAssetValue>
CollectRewards(long)
public void CollectRewards(long height)
Parameters
height long
CurrentLumpSumRewardsRecordAddress()
public Address CurrentLumpSumRewardsRecordAddress()
Returns
- Address
DistributeReward(IDelegator, long)
public void DistributeReward(IDelegator delegator, long height)
Parameters
delegator IDelegator
height long
DistributeReward(T, long)
public void DistributeReward(T delegator, long height)
Parameters
delegator T
height long
FAVFromShare(BigInteger)
public FungibleAssetValue FAVFromShare(BigInteger share)
Parameters
share BigInteger
Returns
- FungibleAssetValue
Jail(long)
public void Jail(long releaseHeight)
Parameters
releaseHeight long
LumpSumRewardsRecordAddress(long)
public Address LumpSumRewardsRecordAddress(long height)
Parameters
height long
Returns
- Address
RebondGraceAddress(Address)
public Address RebondGraceAddress(Address delegatorAddress)
Parameters
delegatorAddress Address
Returns
- Address
RemoveUnbondingRef(UnbondingRef)
public void RemoveUnbondingRef(UnbondingRef reference)
Parameters
reference UnbondingRef
ShareFromFAV(FungibleAssetValue)
public BigInteger ShareFromFAV(FungibleAssetValue fav)
Parameters
fav FungibleAssetValue
Returns
- BigInteger
Slash(BigInteger, long, long)
public void Slash(BigInteger slashFactor, long infractionHeight, long height)
Parameters
slashFactor BigInteger
infractionHeight long
height long
Tombstone()
Unbond(IDelegator, BigInteger, long)
public FungibleAssetValue Unbond(IDelegator delegator, BigInteger share, long height)
Parameters
delegator IDelegator
share BigInteger
height long
Returns
- FungibleAssetValue
Unbond(T, BigInteger, long)
public FungibleAssetValue Unbond(T delegator, BigInteger share, long height)
Parameters
delegator T
share BigInteger
height long
Returns
- FungibleAssetValue
UnbondLockInAddress(Address)
public Address UnbondLockInAddress(Address delegatorAddress)
Parameters
delegatorAddress Address
Returns
- Address
Unjail(long)
public void Unjail(long height)
Parameters
height long
Events
DelegationChanged
public event EventHandler<long>? DelegationChanged
Event Type
- EventHandler<long>
Enjailed
public event EventHandler? Enjailed
Event Type
- EventHandler
Unjailed
public event EventHandler? Unjailed
Event Type
- EventHandler