Skip to main content

IotaSystemState

IotaSystemState

class IotaSystemState

A typed view of the on-chain 0x3::iota_system::IotaSystemState object (the 0x5 singleton).

This is only the versioned wrapper; the actual state lives in a dynamic field holding e.g. an IotaSystemStateV2.

debugDescription

var debugDescription: String { get }

A textual representation of this instance, suitable for debugging.

Calling this property directly is discouraged. Instead, convert an instance of any type to a string by using the String(reflecting:) initializer. This initializer works with any type, and uses the custom debugDescription property for types that conform to CustomDebugStringConvertible:

struct Point: CustomDebugStringConvertible {
let x: Int, y: Int

var debugDescription: String {
return "(\(x), \(y))"
}
}

let p = Point(x: 21, y: 30)
let s = String(reflecting: p)
print(s)
// Prints "(21, 30)"

The conversion of p to a string in the assignment to s uses the Point type's debugDescription property.

id()

func id() -> ObjectId

The object's ID.

version()

func version() -> UInt64

Version selecting which inner state layout the dynamic field holds.

tryFromBcs(bytes:)

static func tryFromBcs(bytes: Data) throws -> IotaSystemState

Decode from BCS bytes, without validating the on-chain type tag.

tryFromObject(object:)

static func tryFromObject(object: Object) throws -> IotaSystemState

Decode from an on-chain object, validating its Move type tag.