Skip to content

Commit

Permalink
Merge pull request #342 from radixdlt/feature/extend-validator-list-w…
Browse files Browse the repository at this point in the history
…ith-vaults

include pending_xrd_withdraw_vault, locked_owner_stake_unit_vault, pe…
  • Loading branch information
PawelPawelec-RDX authored Jul 13, 2023
2 parents fd72f8d + 1c55b35 commit f3b8969
Show file tree
Hide file tree
Showing 5 changed files with 417 additions and 30 deletions.
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ _Release Date: Unreleased_
- Added `affected_global_entities` to `/transaction/committed-details` and `/stream/transactions` endpoints. To include them in response make sure to include `affected_global_entities` optin.
- New `affected_global_entities_filter` filter in `/stream/transactions`.
- Use strongly-typed metadata models.
- return `pending_xrd_withdraw_vault`, `locked_owner_stake_unit_vault`, `pending_owner_stake_unit_unlock_vault`, `stake_vault` from `/state/validators/list` endpoint.
- Changed `access_rule_chain` to partially strongly typed `access_rules`.
- Added package details to `/satus/entity/details` endpoint.

Expand Down
30 changes: 27 additions & 3 deletions src/RadixDlt.NetworkGateway.GatewayApi/gateway-api-schema.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -716,6 +716,21 @@ components:
# Common Response Types
#

ValidatorVaultItem:
type: object
required:
- balance
- last_changed_at_state_version
- address
properties:
balance:
$ref: "#/components/schemas/BigDecimal"
last_changed_at_state_version:
type: integer
format: int64
address:
$ref: "#/components/schemas/Address"

LedgerStateMixin:
type: object
required:
Expand Down Expand Up @@ -1134,15 +1149,24 @@ components:
required:
- address
- metadata
- current_stake
- stake_vault
- pending_xrd_withdraw_vault
- locked_owner_stake_unit_vault
- pending_owner_stake_unit_unlock_vault
properties:
address:
$ref: "#/components/schemas/Address"
stake_vault:
$ref: "#/components/schemas/ValidatorVaultItem"
pending_xrd_withdraw_vault:
$ref: "#/components/schemas/ValidatorVaultItem"
locked_owner_stake_unit_vault:
$ref: "#/components/schemas/ValidatorVaultItem"
pending_owner_stake_unit_unlock_vault:
$ref: "#/components/schemas/ValidatorVaultItem"
state:
type: object
nullable: true
current_stake:
$ref: "#/components/schemas/BigDecimal"
active_in_epoch:
$ref: "#/components/schemas/ValidatorCollectionItemActiveInEpoch"
metadata:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -104,24 +104,45 @@ protected ValidatorCollectionItem() { }
/// Initializes a new instance of the <see cref="ValidatorCollectionItem" /> class.
/// </summary>
/// <param name="address">Bech32m-encoded human readable version of the address. (required).</param>
/// <param name="stakeVault">stakeVault (required).</param>
/// <param name="pendingXrdWithdrawVault">pendingXrdWithdrawVault (required).</param>
/// <param name="lockedOwnerStakeUnitVault">lockedOwnerStakeUnitVault (required).</param>
/// <param name="pendingOwnerStakeUnitUnlockVault">pendingOwnerStakeUnitUnlockVault (required).</param>
/// <param name="state">state.</param>
/// <param name="currentStake">String-encoded decimal representing the amount of a related fungible resource. (required).</param>
/// <param name="activeInEpoch">activeInEpoch.</param>
/// <param name="metadata">metadata (required).</param>
public ValidatorCollectionItem(string address = default(string), Object state = default(Object), string currentStake = default(string), ValidatorCollectionItemActiveInEpoch activeInEpoch = default(ValidatorCollectionItemActiveInEpoch), EntityMetadataCollection metadata = default(EntityMetadataCollection))
public ValidatorCollectionItem(string address = default(string), ValidatorVaultItem stakeVault = default(ValidatorVaultItem), ValidatorVaultItem pendingXrdWithdrawVault = default(ValidatorVaultItem), ValidatorVaultItem lockedOwnerStakeUnitVault = default(ValidatorVaultItem), ValidatorVaultItem pendingOwnerStakeUnitUnlockVault = default(ValidatorVaultItem), Object state = default(Object), ValidatorCollectionItemActiveInEpoch activeInEpoch = default(ValidatorCollectionItemActiveInEpoch), EntityMetadataCollection metadata = default(EntityMetadataCollection))
{
// to ensure "address" is required (not null)
if (address == null)
{
throw new ArgumentNullException("address is a required property for ValidatorCollectionItem and cannot be null");
}
this.Address = address;
// to ensure "currentStake" is required (not null)
if (currentStake == null)
// to ensure "stakeVault" is required (not null)
if (stakeVault == null)
{
throw new ArgumentNullException("currentStake is a required property for ValidatorCollectionItem and cannot be null");
throw new ArgumentNullException("stakeVault is a required property for ValidatorCollectionItem and cannot be null");
}
this.CurrentStake = currentStake;
this.StakeVault = stakeVault;
// to ensure "pendingXrdWithdrawVault" is required (not null)
if (pendingXrdWithdrawVault == null)
{
throw new ArgumentNullException("pendingXrdWithdrawVault is a required property for ValidatorCollectionItem and cannot be null");
}
this.PendingXrdWithdrawVault = pendingXrdWithdrawVault;
// to ensure "lockedOwnerStakeUnitVault" is required (not null)
if (lockedOwnerStakeUnitVault == null)
{
throw new ArgumentNullException("lockedOwnerStakeUnitVault is a required property for ValidatorCollectionItem and cannot be null");
}
this.LockedOwnerStakeUnitVault = lockedOwnerStakeUnitVault;
// to ensure "pendingOwnerStakeUnitUnlockVault" is required (not null)
if (pendingOwnerStakeUnitUnlockVault == null)
{
throw new ArgumentNullException("pendingOwnerStakeUnitUnlockVault is a required property for ValidatorCollectionItem and cannot be null");
}
this.PendingOwnerStakeUnitUnlockVault = pendingOwnerStakeUnitUnlockVault;
// to ensure "metadata" is required (not null)
if (metadata == null)
{
Expand All @@ -140,17 +161,34 @@ protected ValidatorCollectionItem() { }
public string Address { get; set; }

/// <summary>
/// Gets or Sets State
/// Gets or Sets StakeVault
/// </summary>
[DataMember(Name = "state", EmitDefaultValue = true)]
public Object State { get; set; }
[DataMember(Name = "stake_vault", IsRequired = true, EmitDefaultValue = true)]
public ValidatorVaultItem StakeVault { get; set; }

/// <summary>
/// String-encoded decimal representing the amount of a related fungible resource.
/// Gets or Sets PendingXrdWithdrawVault
/// </summary>
/// <value>String-encoded decimal representing the amount of a related fungible resource.</value>
[DataMember(Name = "current_stake", IsRequired = true, EmitDefaultValue = true)]
public string CurrentStake { get; set; }
[DataMember(Name = "pending_xrd_withdraw_vault", IsRequired = true, EmitDefaultValue = true)]
public ValidatorVaultItem PendingXrdWithdrawVault { get; set; }

/// <summary>
/// Gets or Sets LockedOwnerStakeUnitVault
/// </summary>
[DataMember(Name = "locked_owner_stake_unit_vault", IsRequired = true, EmitDefaultValue = true)]
public ValidatorVaultItem LockedOwnerStakeUnitVault { get; set; }

/// <summary>
/// Gets or Sets PendingOwnerStakeUnitUnlockVault
/// </summary>
[DataMember(Name = "pending_owner_stake_unit_unlock_vault", IsRequired = true, EmitDefaultValue = true)]
public ValidatorVaultItem PendingOwnerStakeUnitUnlockVault { get; set; }

/// <summary>
/// Gets or Sets State
/// </summary>
[DataMember(Name = "state", EmitDefaultValue = true)]
public Object State { get; set; }

/// <summary>
/// Gets or Sets ActiveInEpoch
Expand All @@ -173,8 +211,11 @@ public override string ToString()
StringBuilder sb = new StringBuilder();
sb.Append("class ValidatorCollectionItem {\n");
sb.Append(" Address: ").Append(Address).Append("\n");
sb.Append(" StakeVault: ").Append(StakeVault).Append("\n");
sb.Append(" PendingXrdWithdrawVault: ").Append(PendingXrdWithdrawVault).Append("\n");
sb.Append(" LockedOwnerStakeUnitVault: ").Append(LockedOwnerStakeUnitVault).Append("\n");
sb.Append(" PendingOwnerStakeUnitUnlockVault: ").Append(PendingOwnerStakeUnitUnlockVault).Append("\n");
sb.Append(" State: ").Append(State).Append("\n");
sb.Append(" CurrentStake: ").Append(CurrentStake).Append("\n");
sb.Append(" ActiveInEpoch: ").Append(ActiveInEpoch).Append("\n");
sb.Append(" Metadata: ").Append(Metadata).Append("\n");
sb.Append("}\n");
Expand Down Expand Up @@ -217,16 +258,31 @@ public bool Equals(ValidatorCollectionItem input)
(this.Address != null &&
this.Address.Equals(input.Address))
) &&
(
this.StakeVault == input.StakeVault ||
(this.StakeVault != null &&
this.StakeVault.Equals(input.StakeVault))
) &&
(
this.PendingXrdWithdrawVault == input.PendingXrdWithdrawVault ||
(this.PendingXrdWithdrawVault != null &&
this.PendingXrdWithdrawVault.Equals(input.PendingXrdWithdrawVault))
) &&
(
this.LockedOwnerStakeUnitVault == input.LockedOwnerStakeUnitVault ||
(this.LockedOwnerStakeUnitVault != null &&
this.LockedOwnerStakeUnitVault.Equals(input.LockedOwnerStakeUnitVault))
) &&
(
this.PendingOwnerStakeUnitUnlockVault == input.PendingOwnerStakeUnitUnlockVault ||
(this.PendingOwnerStakeUnitUnlockVault != null &&
this.PendingOwnerStakeUnitUnlockVault.Equals(input.PendingOwnerStakeUnitUnlockVault))
) &&
(
this.State == input.State ||
(this.State != null &&
this.State.Equals(input.State))
) &&
(
this.CurrentStake == input.CurrentStake ||
(this.CurrentStake != null &&
this.CurrentStake.Equals(input.CurrentStake))
) &&
(
this.ActiveInEpoch == input.ActiveInEpoch ||
(this.ActiveInEpoch != null &&
Expand All @@ -252,13 +308,25 @@ public override int GetHashCode()
{
hashCode = (hashCode * 59) + this.Address.GetHashCode();
}
if (this.State != null)
if (this.StakeVault != null)
{
hashCode = (hashCode * 59) + this.State.GetHashCode();
hashCode = (hashCode * 59) + this.StakeVault.GetHashCode();
}
if (this.PendingXrdWithdrawVault != null)
{
hashCode = (hashCode * 59) + this.PendingXrdWithdrawVault.GetHashCode();
}
if (this.LockedOwnerStakeUnitVault != null)
{
hashCode = (hashCode * 59) + this.LockedOwnerStakeUnitVault.GetHashCode();
}
if (this.CurrentStake != null)
if (this.PendingOwnerStakeUnitUnlockVault != null)
{
hashCode = (hashCode * 59) + this.CurrentStake.GetHashCode();
hashCode = (hashCode * 59) + this.PendingOwnerStakeUnitUnlockVault.GetHashCode();
}
if (this.State != null)
{
hashCode = (hashCode * 59) + this.State.GetHashCode();
}
if (this.ActiveInEpoch != null)
{
Expand Down
Loading

0 comments on commit f3b8969

Please sign in to comment.