ValidatorsDecision

Class: ValidatorsDecision

Properties overview

  • chainId: Field = Field;
  • contractAddress: PublicKey = PublicKey;
  • decisionType: Field = Field;
  • expiry: UInt32 = UInt32;
  • message: Field = Field;
  • updateValidatorsList: ValidatorsState = ValidatorsState;
  • upgradeDatabase: UpgradeDatabaseState = UpgradeDatabaseState;
  • validators: ValidatorsState = ValidatorsState;

Methods overview

  • createJsonNullifier()
  • createNullifierMessage()
  • assertEquals()

Defined in: packages/upgradable/src/validators.ts:225

Represents a decision made by the validators.

Extends

Constructors

new ValidatorsDecision()

new ValidatorsDecision(value: {
  chainId: Field;
  contractAddress: PublicKey;
  decisionType: Field;
  expiry: UInt32;
  message: Field;
  updateValidatorsList: ValidatorsState;
  upgradeDatabase: UpgradeDatabaseState;
  validators: ValidatorsState;
 }): ValidatorsDecision

Defined in: node_modules/o1js/dist/node/lib/provable/types/struct.d.ts:103

Parameters

value
chainId

Field = Field

Chain ID

contractAddress

PublicKey = PublicKey

UpgradeAuthority contract address

decisionType

Field = Field

Type of decision (e.g., 'updateDatabase')

expiry

UInt32 = UInt32

Slot when decision expires

message

Field = Field

Message to be signed when producing the nullifier, also serves as the nonce to prevent replay attacks

updateValidatorsList

ValidatorsState = ValidatorsState

Proposed update to validators state

upgradeDatabase

UpgradeDatabaseState = UpgradeDatabaseState

Current upgrade database state

validators

ValidatorsState = ValidatorsState

Current validators state

Returns

ValidatorsDecision

Inherited from

Struct({
  / Message to be signed when producing the nullifier, also serves as the nonce to prevent replay attacks /
  message: Field,
  / Type of decision (e.g., 'updateDatabase') /
  decisionType: Field,
  / UpgradeAuthority contract address /
  contractAddress: PublicKey,
  / Chain ID /
  chainId: Field,
  / Current validators state /
  validators: ValidatorsState,
  / Current upgrade database state /
  upgradeDatabase: UpgradeDatabaseState,
  / Proposed update to validators state /
  updateValidatorsList: ValidatorsState,
  / Slot when decision expires /
  expiry: UInt32,
}).constructor

Properties

chainId

chainId: Field = Field;

Defined in: packages/upgradable/src/validators.ts:233

Chain ID

Inherited from

Struct({
  / Message to be signed when producing the nullifier, also serves as the nonce to prevent replay attacks /
  message: Field,
  / Type of decision (e.g., 'updateDatabase') /
  decisionType: Field,
  / UpgradeAuthority contract address /
  contractAddress: PublicKey,
  / Chain ID /
  chainId: Field,
  / Current validators state /
  validators: ValidatorsState,
  / Current upgrade database state /
  upgradeDatabase: UpgradeDatabaseState,
  / Proposed update to validators state /
  updateValidatorsList: ValidatorsState,
  / Slot when decision expires /
  expiry: UInt32,
}).chainId

contractAddress

contractAddress: PublicKey = PublicKey;

Defined in: packages/upgradable/src/validators.ts:231

UpgradeAuthority contract address

Inherited from

Struct({
  / Message to be signed when producing the nullifier, also serves as the nonce to prevent replay attacks /
  message: Field,
  / Type of decision (e.g., 'updateDatabase') /
  decisionType: Field,
  / UpgradeAuthority contract address /
  contractAddress: PublicKey,
  / Chain ID /
  chainId: Field,
  / Current validators state /
  validators: ValidatorsState,
  / Current upgrade database state /
  upgradeDatabase: UpgradeDatabaseState,
  / Proposed update to validators state /
  updateValidatorsList: ValidatorsState,
  / Slot when decision expires /
  expiry: UInt32,
}).contractAddress

decisionType

decisionType: Field = Field;

Defined in: packages/upgradable/src/validators.ts:229

Type of decision (e.g., 'updateDatabase')

Inherited from

Struct({
  / Message to be signed when producing the nullifier, also serves as the nonce to prevent replay attacks /
  message: Field,
  / Type of decision (e.g., 'updateDatabase') /
  decisionType: Field,
  / UpgradeAuthority contract address /
  contractAddress: PublicKey,
  / Chain ID /
  chainId: Field,
  / Current validators state /
  validators: ValidatorsState,
  / Current upgrade database state /
  upgradeDatabase: UpgradeDatabaseState,
  / Proposed update to validators state /
  updateValidatorsList: ValidatorsState,
  / Slot when decision expires /
  expiry: UInt32,
}).decisionType

expiry

expiry: UInt32 = UInt32;

Defined in: packages/upgradable/src/validators.ts:241

Slot when decision expires

Inherited from

Struct({
  / Message to be signed when producing the nullifier, also serves as the nonce to prevent replay attacks /
  message: Field,
  / Type of decision (e.g., 'updateDatabase') /
  decisionType: Field,
  / UpgradeAuthority contract address /
  contractAddress: PublicKey,
  / Chain ID /
  chainId: Field,
  / Current validators state /
  validators: ValidatorsState,
  / Current upgrade database state /
  upgradeDatabase: UpgradeDatabaseState,
  / Proposed update to validators state /
  updateValidatorsList: ValidatorsState,
  / Slot when decision expires /
  expiry: UInt32,
}).expiry

message

message: Field = Field;

Defined in: packages/upgradable/src/validators.ts:227

Message to be signed when producing the nullifier, also serves as the nonce to prevent replay attacks

Inherited from

Struct({
  / Message to be signed when producing the nullifier, also serves as the nonce to prevent replay attacks /
  message: Field,
  / Type of decision (e.g., 'updateDatabase') /
  decisionType: Field,
  / UpgradeAuthority contract address /
  contractAddress: PublicKey,
  / Chain ID /
  chainId: Field,
  / Current validators state /
  validators: ValidatorsState,
  / Current upgrade database state /
  upgradeDatabase: UpgradeDatabaseState,
  / Proposed update to validators state /
  updateValidatorsList: ValidatorsState,
  / Slot when decision expires /
  expiry: UInt32,
}).message

updateValidatorsList

updateValidatorsList: ValidatorsState = ValidatorsState;

Defined in: packages/upgradable/src/validators.ts:239

Proposed update to validators state

Inherited from

Struct({
  / Message to be signed when producing the nullifier, also serves as the nonce to prevent replay attacks /
  message: Field,
  / Type of decision (e.g., 'updateDatabase') /
  decisionType: Field,
  / UpgradeAuthority contract address /
  contractAddress: PublicKey,
  / Chain ID /
  chainId: Field,
  / Current validators state /
  validators: ValidatorsState,
  / Current upgrade database state /
  upgradeDatabase: UpgradeDatabaseState,
  / Proposed update to validators state /
  updateValidatorsList: ValidatorsState,
  / Slot when decision expires /
  expiry: UInt32,
}).updateValidatorsList

upgradeDatabase

upgradeDatabase: UpgradeDatabaseState = UpgradeDatabaseState;

Defined in: packages/upgradable/src/validators.ts:237

Current upgrade database state

Inherited from

Struct({
  / Message to be signed when producing the nullifier, also serves as the nonce to prevent replay attacks /
  message: Field,
  / Type of decision (e.g., 'updateDatabase') /
  decisionType: Field,
  / UpgradeAuthority contract address /
  contractAddress: PublicKey,
  / Chain ID /
  chainId: Field,
  / Current validators state /
  validators: ValidatorsState,
  / Current upgrade database state /
  upgradeDatabase: UpgradeDatabaseState,
  / Proposed update to validators state /
  updateValidatorsList: ValidatorsState,
  / Slot when decision expires /
  expiry: UInt32,
}).upgradeDatabase

validators

validators: ValidatorsState = ValidatorsState;

Defined in: packages/upgradable/src/validators.ts:235

Current validators state

Inherited from

Struct({
  / Message to be signed when producing the nullifier, also serves as the nonce to prevent replay attacks /
  message: Field,
  / Type of decision (e.g., 'updateDatabase') /
  decisionType: Field,
  / UpgradeAuthority contract address /
  contractAddress: PublicKey,
  / Chain ID /
  chainId: Field,
  / Current validators state /
  validators: ValidatorsState,
  / Current upgrade database state /
  upgradeDatabase: UpgradeDatabaseState,
  / Proposed update to validators state /
  updateValidatorsList: ValidatorsState,
  / Slot when decision expires /
  expiry: UInt32,
}).validators

Methods

createJsonNullifier()

createJsonNullifier(params: {
  network: "mainnet" | "testnet";
  privateKey: PrivateKey;
 }): Nullifier

Defined in: packages/upgradable/src/validators.ts:262

Parameters

params
network

"mainnet" | "testnet"

privateKey

PrivateKey

Returns

Nullifier


createNullifierMessage()

createNullifierMessage(): Field[]

Defined in: packages/upgradable/src/validators.ts:258

Returns

Field[]


assertEquals()

static assertEquals(a: ValidatorsDecision, b: ValidatorsDecision): void

Defined in: packages/upgradable/src/validators.ts:248

Asserts that two ValidatorsDecision instances are equal.

Parameters

a

ValidatorsDecision

First ValidatorsDecision instance.

b

ValidatorsDecision

Second ValidatorsDecision instance.

Returns

void