Skip to main content

Types

The following definitions expand on parameters seen elsewhere within the SDK standard and are provided for clarity and completeness.

Account

Structure representing a user's Account, stored in global state.

Required Parameters:

AccountHash

Hex-encoded Account hash.

ActionThresholds

Thresholds that have to be met when executing an action of a certain type.

Required Parameters:

  • deployment

  • key_management

ActivationPoint

The first era to which the associated protocol version applies.

Approval

A struct containing a signature and the public key of the signer.

Required Parameters:

AssociatedKey

A key granted limited permissions to an Account, for purposes such as multisig.

Required Parameters:

AuctionState

Data structure summarizing auction contract data.

Required Parameters:

Bid

An entry in the validator map.

Required Parameters:

  • bonding_purse The purse that was used for bonding.

  • delegation_rate The delegation rate.

  • delegators The validator's delegators, indexed by their public keys.

  • inactive true if validator has been "evicted".

  • staked_amount The amount of tokens staked by a validator (not including delegators).

  • validator_public_key Validator's public key.

Additional Parameters:

  • vesting_schedule Vesting schedule for a genesis validator. None if non-genesis validator.

BlockHash

A cryptographic hash identifying a Block.

BlockIdentifier

Identifier for possible ways to retrieve a Block.

  • Hash Identify and retrieve the Block with its hash.

  • Height Identify and retrieve the Block with its height.

Contract

A contract struct that can be serialized as a JSON object.

Required Parameters:

contract_package_hash

contract_wasm_hash

entry_points

named_keys

protocol_version

ContractHash

The hash address of the contract.

ContractPackage

Contract definition, metadata and security container.

Required Parameters:

ContractPackageHash

The hash address of the contract package.

ContractVersion

The version of the contract.

Required Parameters:

ContractWasmHash

The hash address of the contract Wasm.

Delegator

Represents a party delegating their stake to a validator (or "delegatee").

Required Parameters:

Additional Parameters:

Deploy

A Deploy; an item containing a smart contract along with the requester's signature(s).

Required properties:

DeployHash

Hex-encoded Deploy hash.

DeployHeader

The header portion of a Deploy.

Required Parameters:

DeployInfo

Information relating to the given Deploy.

Required Parameters:

  • deploy_hash The relevant Deploy.

  • from Account identifier of the creator of the Deploy.

  • gas Gas cost of executing the Deploy.

  • source Source purse used for payment of the Deploy.

  • transfers Transfers performed by the Deploy.

DictionaryIdentifier

Options for dictionary item lookups.

  • AccountNamedKey Lookup a dictionary item via an Account's named keys.

    Required Parameters:

    key The Account key as a formatted string whose named keys contain dictionary_name.

    dictionary_name The named key under which the dictionary seed URef is stored.

    dictionary_item_key The dictionary item key formatted as a string.

  • ContractNamedKey Lookup a dictionary item via a Contract's named keys.

    key The contract key as a formatted string whose named keys contains dictionary_name.

    dictionary_name The named key under which the dictionary seed URef is stored.

    dictionary_item_key The dictionary item key formatted as a string.

  • URef Lookup a dictionary item via its seed URef.

    seed_uref The dictionary's seed URef.

    dictionary_item_key The dictionary item key formatted as a string.

  • Dictionary Lookup a dictionary item via its unique key.

Digest

Hex-encoded hash digest.

DisabledVersions

Required Parameters:

  • contract_version

  • protocol_version_major

EntryPoint

Type signature of a method. Order of arguments matter since this can be referenced by index as well as name.

Required Parameters:

EntryPointAccess

Enum describing the possible access control options for a contract entry point (method).

  • Public

  • Groups Only users from the listed groups may call this method. Note: If this list is empty then this method is not callable from outside the contract.

EntryPointType

Context of a method execution.

  • session

  • contract

EraID

Era ID newtype.

EraInfo

Auction metadata. Intended to be recorded at each era.

EraSummary

The summary of an era.

Required Parameters:

ExecutableDeployItem

Represents possible variants of an executable Deploy.

ModuleBytes

Executable specified as raw bytes that represent Wasm code and an instance of RuntimeArgs.

Required Parameters:

  • module_bytes Hex-encoded raw Wasm bytes. There are some special cases around passing module_bytes for payment code.

Additional Parameters:

  • args Runtime arguments.

StoredContractByHash

Stored contract referenced by its ContractHash, entry point and an instance of RuntimeArgs.

Required Parameters:

  • args Runtime arguments.

  • entry_point The name of an entry point.

  • hash A hex-encoded hash.

StoredContractByName

Stored contract referenced by a named key existing in the signer's Account context, entry point and an instance of RuntimeArgs.

Required Parameters:

  • args Runtime arguments.

  • entry_point The name of an entry point.

  • name A named key.

StoredVersionContractByHash

Stored versioned contract referenced by its ContractPackageHash, entry point and an instance of RuntimeArgs.

Required Parameters:

  • args Runtime arguments.

  • entry_point The name of an entry point.

  • hash A hex-encoded hash.

Additional Parameters:

  • version An optional version of the contract to call. It will default to the highest enabled version if no value is specified.

StoredVersionContractByName

Stored versioned contract referenced by a named key existing in the signer's Account context, entry point and an instance of RuntimeArgs.

Required Parameters:

  • args Runtime arguments.

  • entry_point The name of an entry point.

  • name A named key.

Additional Parameters:

  • version An optional version of the contract to call. It will default to the highest enabled version if no value is specified.

Transfer

A native transfer which does not contain or reference a Wasm code.

Required Parameters:

ExecutionEffect

The journal of execution transforms from a single Deploy.

Required Parameters:

ExecutionResult

The result of executing a single Deploy.

  • Failure The result of a failed execution`

    Required Parameters:

    effect

    transfers

    cost

    error_message The error message associated with executing the Deploy.

  • Success The result of a successful execution.

    Required Parameters:

    effect

    transfers

    cost

GlobalStateIdentifier

Identifier for possible ways to query global state.

Group

A (labelled) "user group". Each method of a versioned contract may be associated with one or more user groups which are allowed to call it.

Groups

Required Parameters:

JsonBid

An entry in a founding validator map representing a bid.

Required Parameters:

  • bonding_purse The purse that was used for bonding.

  • delegation_rate The delegation rate.

  • delegators The delegators.

  • inactive Is this an inactive validator.

  • staked_amount The amount of tokens staked by a validator (not including delegators).

JsonBids

A Json representation of a single bid.

Required Parameters:

JsonBlock

A JSON-friendly representation of Block.

Required Parameters:

  • body JSON-friendly Block body.

  • hash BlockHash.

  • header JSON-friendly Block header.

  • proofs JSON-friendly list of proofs for this Block.

JsonBlockBody

A JSON-friendly representation of Body.

Required Parameters:

JsonBlockHeader

JSON representation of a Block header.

Additional Parameters:

JsonDelegator

A delegator associated with the given validator.

Required Parameters:

JsonEraEnd

Required Parameters:

JsonEraReport

Equivocation and reward information to be included in the terminal Block.

Required Parameters:

JsonEraValidators

The validators for the given era.

Required Parameters:

JsonExecutionResult

The execution result of a single Deploy.

JsonProof

A JSON-friendly representation of a proof, i.e. a Block's finality signature.

Required Parameters:

JsonValidatorChanges

The changes in a validator's status.

Required Parameters:

JsonValidatorStatusChange

A single change to a validator's status in the given era.

Required Parameters:

JsonValidatorsWeights

A validator's weight.

Required Parameters:

Merkle_Proof

A merkle proof is a construction created using a merkle trie that allows verification of the associated hashes.

MinimalBlockInfo

Minimal info of a Block.

Required Parameters:

NamedArg

Named arguments to a contract.

NamedKey

A named key.

Required Parameters:

  • key The value of the entry: a casper Key type.

  • name The name of the entry.

NextUpgrade

Information about the next protocol upgrade.

Required Parameters:

Operation

An operation performed while executing a Deploy.

Required Parameters:

  • key The formatted string of the Key.

  • kind

OpKind

The type of operation performed while executing a Deploy.

Parameter

Parameter to a method.

Required Parameters:

PeerEntry

Required Parameters:

  • address

  • node_id

PeersMap

Map of peer IDs to network addresses.

ProtocolVersion

Casper Platform protocol version.

PublicKey

Hex-encoded cryptographic public key, including the algorithm tag prefix.

Reward

Required Parameters:

RuntimeArgs

Represents a collection of arguments passed to a smart contract.

SeigniorageAllocation

Information about a seignorage allocation.

Signature

Hex-encoded cryptographic signature, including the algorithm tag prefix.

StoredValue

Representation of a value stored in global state. Account, Contract and ContractPackage have their own json_compatibility representation (see their docs for further info).

TimeDiff

Human-readable duration.

Timestamp

Timestamp formatted as per RFC 3339.

Transfer

Represents a transfer from one purse to another.

Required Parameters:

Additional Parameters:

  • id User-defined ID.

  • to Account to which funds are transferred.

TransferAddr

Hex-encoded transfer address.

Transform

The actual transformation performed while executing a Deploy.

  • WriteCLValue Write the given CLValue to global state.

  • WriteAccount Writes the given Account to global state.

  • WriteDeployInfo Writes the given DeployInfo to global state.

  • WriteEraInfo Writes the given EraInfo to global state.

  • WriteTransfer Writes the given Transfer to global state.

  • WriteBid Writes the given Bid to global state.

  • WriteWithdraw Writes the given Withdraw to global state.

  • AddInt32 Adds the given i32.

  • AddUInt64 Adds the given u64.

  • AddUInt128 Adds the given U128.

  • AddUInt256 Adds the given U256.

  • AddUInt512 Adds the given U512.

  • AddKeys Adds the given collection of named keys.

  • Failure A failed transformation, containing an error message.

TransformEntry

A transformation performed while executing a Deploy.

Required Parameters:

  • key The formatted string of the Key.

  • transforms The transformation.

U128

Decimal representation of a 128-bit integer.

U256

Decimal representation of a 256-bit integer.

U512

Decimal representation of a 512-bit integer.

UnbondingPurse

Unbonding purse.

Required Parameters:

URef

Hex-encoded, formatted URef.

ValidatorChange

A change to a validator's status between two eras.

  • Added

  • Removed

  • Banned

  • CannotPropose

  • SeenAsFaulty

ValidatorWeight

Required Parameters:

VestingSchedule

Vesting schedule for a genesis validator.