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 callfinalize()on thehasherinstance 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.