Skip to main content

ObjectId

ObjectId

class ObjectId

An ObjectId is a 32-byte identifier used to uniquely identify an object on the IOTA blockchain.

Relationship to Address

Addresses and ObjectIds share the same 32-byte addressable space but are derived leveraging different domain-separator values to ensure, cryptographically, that there won't be any overlap, e.g. there can't be a valid Object whose ObjectId is equal to that of the Address of a user account.

BCS

An ObjectId's BCS serialized form is defined by the following:

object-id = address

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.

description

var description: String { get }

A textual representation of this instance.

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

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

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

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

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

deriveDynamicChildId(keyTypeTag:keyBytes:)

func deriveDynamicChildId(keyTypeTag: TypeTag, keyBytes: Data) -> ObjectId

Derive an ObjectId for a Dynamic Child Object.

hash(parent || len(key) || key || key_type_tag)

deriveObjectId(keyTypeTag:keyBytes:)

func deriveObjectId(keyTypeTag: TypeTag, keyBytes: Data) -> ObjectId

Derive the ObjectId of a derived object (0x2::derived_object).

hash(parent || len(key) || key || DerivedObjectKey(key_type_tag))

hash(into:)

func hash(into hasher: inout Hasher)

Hashes the essential components of this value by feeding them into the given hasher.

Implement this method to conform to the Hashable protocol. The components used for hashing must be the same as the components compared in your type's == operator implementation. Call hasher.combine(_:) with each of these components.

  • Important: In your implementation of hash(into:), don't call finalize() on the hasher instance provided, or replace it with a different instance. Doing so may become a compile-time error in the future.

  • Parameter hasher: The hasher to use when combining the components of this instance.

nextLexicographical()

func nextLexicographical() -> ObjectId

Returns the next digest in byte-increasing order.

nextLexicographicalOpt()

func nextLexicographicalOpt() -> ObjectId?

Returns the next digest in byte-increasing order, or None if the result would overflow.

toAddress()

func toAddress() -> Address

toBytes()

func toBytes() -> Data

toCanonicalString(withPrefix:)

func toCanonicalString(withPrefix: Bool) -> String

Returns the string representation of this object ID using the canonical display, with or without a 0x prefix.

toHex()

func toHex() -> String

Returns the string representation of this object id in hex format with 0x prefix.

toRawHex()

func toRawHex() -> String

Returns the string representation of this object id in hex format without 0x prefix.

toRawShortHex()

func toRawShortHex() -> String

Returns the shortest possible string representation of the object id (i.e. with leading zeroes trimmed), without 0x prefix.

toShortHex()

func toShortHex() -> String

Returns the shortest possible string representation of the object ID (i.e. with leading zeroes trimmed).

authenticatorState()

static func authenticatorState() -> ObjectId

clock()

static func clock() -> ObjectId

denyList()

static func denyList() -> ObjectId

deriveId(digest:count:)

static func deriveId(digest: TransactionDigest, count: UInt64) -> ObjectId

Create an ObjectId from a transaction digest and the number of objects that have been created during a transactions.

framework()

static func framework() -> ObjectId

fromBytes(bytes:)

static func fromBytes(bytes: Data) throws -> ObjectId

fromHex(hex:)

static func fromHex(hex: String) throws -> ObjectId

Parses an ObjectId from a full-length hex string (64 hex characters), with or without a 0x prefix. Will return an error if the string is not exactly 64 hex characters long (excluding the 0x prefix).

fromPrefixedHex(hex:)

static func fromPrefixedHex(hex: String) throws -> ObjectId

Parses an ObjectId from a full-length hex string (64 hex characters), with a mandatory 0x prefix. Will return an error if the string is not exactly 64 hex characters long (excluding the 0x prefix).

fromPrefixedShortHex(hex:)

static func fromPrefixedShortHex(hex: String) throws -> ObjectId

Parses an ObjectId from a hex string with a mandatory 0x prefix. The string can be of variable length; if it's shorter than 64 hex characters, it will be left-padded with 0s.

fromShortHex(hex:)

static func fromShortHex(hex: String) throws -> ObjectId

Parses an ObjectId from a hex string, with or without a 0x prefix. The string can be of variable length; if it's shorter than 64 hex characters, it will be left-padded with 0s.

genesisBridge()

static func genesisBridge() -> ObjectId

genesisIotaBridge()

static func genesisIotaBridge() -> ObjectId

max()

static func max() -> ObjectId

randomnessState()

static func randomnessState() -> ObjectId

stardust()

static func stardust() -> ObjectId

std()

static func std() -> ObjectId

system()

static func system() -> ObjectId

systemState()

static func systemState() -> ObjectId

transactionDenyRules()

static func transactionDenyRules() -> ObjectId

zero()

static func zero() -> ObjectId

!=(_:_:)

static func != (lhs: Self, rhs: Self) -> Bool

Returns a Boolean value indicating whether two values are not equal.

Inequality is the inverse of equality. For any values a and b, a != b implies that a == b is false.

This is the default implementation of the not-equal-to operator (!=) for any type that conforms to Equatable.

  • Parameters:
    • lhs: A value to compare.
    • rhs: Another value to compare.

==(_:_:)

static func == (self: ObjectId, other: ObjectId) -> Bool

Returns a Boolean value indicating whether two values are equal.

Equality is the inverse of inequality. For any values a and b, a == b implies that a != b is false.

  • Parameters:
    • lhs: A value to compare.
    • rhs: Another value to compare.