Format du genesis pour les indexeurs

Effectivement, j’ai confondu, et en plus j’ai écrit sur le sujet Gdev runtime 600 qui n’a rien à voir avec les chainspecs.

Ça aurait eu plus sa place sur État des lieux des différentes chaînes.

C’est donc de ce format que je veux parler. Ça pourrait être la même chose que la sortie de build-spec débarrassée des champs inutiles, mais on peut aussi juste les ignorer.

J’ai commencé à expérimenter avec ça côté indexeur en tout cas.

interfaces typescript du genesis
interface Genesis {
  runtime: any
  identity: Identities
  membership: Memberships
  account: Accounts
  cert: Certs
  babe: any
  parameters: any
  balances: any
  authorityMembers: InitialAuthorities
  session: any
  grandpa: any
  imOnline: any
  authorityDiscovery: any
  sudo: any
  technicalCommittee: any
  universalDividend: any
  smithMembership: Memberships
    smithCert: Certs
    treasury: any
}
interface Identities {
  identities: Array<Identity>
}
interface Identity {
  index: number
  name: string
  value: IdtyValue
}
interface IdtyValue {
  data: IdtyData
  next_creatable_identity_on: number
  old_owner_key: string | null
  owner_key: string
  removable_on: number
  status: string
}
interface IdtyData {
  first_eligible_ud: number
}
interface Memberships {
  memberships: Map<number, Membership>
}
interface Membership {
  expire_on: number
}
interface Accounts {
  accounts: Map<string, Account>
}
interface Account {
  random_id: string
  balance: number
  is_identity: boolean
}
interface Certs {
  applyCertPeriodAtGenesis: boolean
  certsByReceiver: Map<number, Map<number, number>>
}
interface InitialAuthorities {
    initial_authorities: Map<number, Array<any>>
}

Et autre question, je vois que pour l’instant tu as conservé les client-specs.json pour la gtest. Il faudrait peut-être aussi harmoniser cette partie ?