Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

ISet

Git Source

Inherits: IERC165

Core interface for set contracts

Functions

upgrade

Upgrade an object to a new kind or set revision

function upgrade(uint64 id, uint32 krev0, uint32 srev0) external returns (Descriptor memory od);

Parameters

NameTypeDescription
iduint64Object ID
krev0uint32New kind revision (0 = no change)
srev0uint32New set revision (0 = no change)

Returns

NameTypeDescription
odDescriptorDescriptor after upgrade

touch

Touch an object to increment revision without content change

function touch(uint64 id) external returns (Descriptor memory od);

Parameters

NameTypeDescription
iduint64Object ID

Returns

NameTypeDescription
odDescriptorDescriptor after touch

transfer

Transfer ownership of an object

function transfer(uint64 id, address to) external;

Parameters

NameTypeDescription
iduint64Object ID
toaddressAddress of the new owner

owner

Get current owner of an object

function owner(uint64 id) external view returns (address owner_);

Parameters

NameTypeDescription
iduint64Object ID

Returns

NameTypeDescription
owner_addressCurrent owner address

descriptor

Get descriptor at a specific revision

function descriptor(uint64 id, uint32 rev0) external view returns (Descriptor memory od);

Parameters

NameTypeDescription
iduint64Object ID
rev0uint32Revision number (0 = latest)

Returns

NameTypeDescription
odDescriptorDescriptor at that revision

snapshot

Get descriptor and elements at a specific revision

function snapshot(uint64 id, uint32 rev0) external view returns (Descriptor memory od, bytes32[] memory elems);

Parameters

NameTypeDescription
iduint64Object ID
rev0uint32Revision number to query (0 = latest)

Returns

NameTypeDescription
odDescriptorDescriptor at the specified revision
elemsbytes32[]Elements at the specified revision

uri

Get URI template for metadata

Client should replace {id} and {rev} placeholders

function uri() external view returns (string memory uri_);

Returns

NameTypeDescription
uri_stringURI template string

Events

Created

Emitted when a new object is created

event Created(uint64 id, Descriptor od, bytes32[] elems, address owner);

Parameters

NameTypeDescription
iduint64Object ID
odDescriptorObject descriptor
elemsbytes32[]Elements of the object
owneraddressInitial owner

Updated

Emitted when an object is updated

event Updated(uint64 id, Descriptor od, bytes32[] elems);

Parameters

NameTypeDescription
iduint64Object ID
odDescriptorUpdated descriptor
elemsbytes32[]Updated elements

Upgraded

Emitted when an object is upgraded

event Upgraded(uint64 id, Descriptor od);

Parameters

NameTypeDescription
iduint64Object ID
odDescriptorDescriptor after upgrade

Touched

Emitted when an object is touched (bumped without content change)

event Touched(uint64 id, Descriptor od);

Parameters

NameTypeDescription
iduint64Object ID
odDescriptorLatest descriptor

Destroyed

Emitted when an object is destroyed

event Destroyed(uint64 id, Descriptor od);

Parameters

NameTypeDescription
iduint64Object ID
odDescriptorDescriptor before destruction

Transferred

Emitted when ownership is transferred

event Transferred(uint64 id, Descriptor od, address from, address to);

Parameters

NameTypeDescription
iduint64Object ID
odDescriptorDescriptor after the transfer
fromaddressPrevious owner
toaddressNew owner