MintContextLib

Git Source

Utility library for packing/unpacking MintContext into a uint256 word

Functions

pack

Packs a MintContext struct into a single uint256

function pack(MintContext memory ctx) internal pure returns (uint256 packed);

Parameters

NameTypeDescription
ctxMintContextThe MintContext struct

Returns

NameTypeDescription
packeduint256The packed uint256 representation

pack

Packs individual context fields into a uint256 (with _reserved = 0)

function pack(uint32 policy, uint32 tag, uint64 idStart, uint64 idEnd) internal pure returns (uint256 packed);

Parameters

NameTypeDescription
policyuint32Policy index
taguint32Custom user tag
idStartuint64Inclusive object ID start
idEnduint64Exclusive object ID end

Returns

NameTypeDescription
packeduint256The packed uint256 representation

unpack

Unpacks a packed uint256 into a MintContext struct

function unpack(uint256 packed) internal pure returns (MintContext memory ctx);

Parameters

NameTypeDescription
packeduint256The packed uint256

Returns

NameTypeDescription
ctxMintContextThe unpacked MintContext struct