Evolution SDK
Governance

DRep Registration

Register, update, and deregister as a Delegated Representative

DRep Registration

Delegated Representatives (DReps) vote on governance actions on behalf of ADA holders who delegate to them. Registration requires a deposit and optionally an anchor with metadata.

Register as a DRep

import { , ,  } from "@evolution-sdk/evolution"

const  = .()
  .({
    : "https://cardano-preprod.blockfrost.io/api/v0",
    : ..!
  })
  .({ : ..!, : 0 })

declare const : .

const  = await .().({  }).()

const  = await .()
await .()

The deposit amount is fetched automatically from protocol parameters (drepDeposit).

Register with Metadata

Attach an anchor containing a metadata URL and its hash:

import { , , ,  } from "@evolution-sdk/evolution"

const  = .()
  .({
    : "https://cardano-preprod.blockfrost.io/api/v0",
    : ..!
  })
  .({ : ..!, : 0 })

declare const : .
declare const : .

const  = await 
  .()
  .({
    ,
     // { url, dataHash } — metadata URL and hash
  })
  .()

const  = await .()
await .()

Update DRep Metadata

Change the metadata anchor for an existing DRep registration:

import { , , ,  } from "@evolution-sdk/evolution"

const  = .()
  .({
    : "https://cardano-preprod.blockfrost.io/api/v0",
    : ..!
  })
  .({ : ..!, : 0 })

declare const : .
declare const : .

const  = await 
  .()
  .({
    ,
    : 
  })
  .()

const  = await .()
await .()

Deregister as a DRep

Remove DRep registration and reclaim the deposit:

import { , ,  } from "@evolution-sdk/evolution"

const  = .()
  .({
    : "https://cardano-preprod.blockfrost.io/api/v0",
    : ..!
  })
  .({ : ..!, : 0 })

declare const : .

const  = await .().({  }).()

const  = await .()
await .()

Constitutional Committee Operations

Authorize a Hot Credential

Committee members keep their cold credential offline and authorize a hot credential for day-to-day signing:

import { , ,  } from "@evolution-sdk/evolution"

const  = .()
  .({
    : "https://cardano-preprod.blockfrost.io/api/v0",
    : ..!
  })
  .({ : ..!, : 0 })

declare const : .
declare const : .

const  = await .().({ ,  }).()

const  = await .()
await .()

Resign from Committee

import { , , ,  } from "@evolution-sdk/evolution"

const  = .()
  .({
    : "https://cardano-preprod.blockfrost.io/api/v0",
    : ..!
  })
  .({ : ..!, : 0 })

declare const : .
declare const : .

const  = await 
  .()
  .({
    ,
    :  // Optional rationale
  })
  .()

const  = await .()
await .()

Next Steps