Skip to content
markdown
# Global Table Update
The global table now maintains a concise set of values crucial for system-wide data such as chain-level replay protection and total power accounting. Updates to this table are performed by authorized actions that are designed to keep the data consistent and accurate.

[Source](https://github.com/animuslabs/boid-system-ts/blob/master/assembly/tables/global.ts)
\
Scope: `boid`
\
Index: none (Singleton)

## Overview
```ts
import { EMPTY_NAME, Name, Table } from "proton-tsc"

@table("global", singleton)
export class Global extends Table {
  constructor(
    // unique identifier for transaction replay protection
    public chain_name: Name = EMPTY_NAME,
    // cumulative power across all accounts
    public total_power: u64 = 0,
    // round number when the last inflation adjustment occurred
    public last_inflation_adjust_round: u16 = 0
  ) {
    super()
  }
}

Table Updates

  • chain_name (Name): Introduced as a unique identifier for the transaction to ensure replay protection across different chains.
  • total_power (u64): Updated to represent the total Boid Power of all accounts collectively. Values affecting the total power trigger updates to this field.
  • last_inflation_adjust_round (u16): Added to track the round number of the last auto inflation adjustment. This field is used to determine when to apply the next inflation-related changes.

Note: Fields such as total_accounts, total_liquid_balance, and total_stake, as well as placeholders for unimplemented actions like last_rebalance_round have been removed from the table. The total_power field now concentrates on tracking the power of Boid accounts only.

requires contract authority: These changes to the Global table require privileged access and are usually executed inline by contract actions to maintain system integrity and avoid unauthorized alterations.