IPack
The thirdweb Pack
contract is a lootbox mechanism. An account can bundle up arbitrary ERC20, ERC721 and ERC1155 tokens into a set of packs. A pack can then be opened in return for a selection of the tokens in the pack. The selection of tokens distributed on opening a pack depends on the relative supply of all tokens in the packs.
Methods
createPack
function createPack(ITokenBundle.Token[] contents, uint256[] numOfRewardUnits, string packUri, uint128 openStartTimestamp, uint128 amountDistributedPerOpen, address recipient) external payable returns (uint256 packId, uint256 packTotalSupply)
Parameters
contents
ITokenBundle.Token[]
undefined
numOfRewardUnits
uint256[]
undefined
packUri
string
undefined
openStartTimestamp
uint128
undefined
amountDistributedPerOpen
uint128
undefined
recipient
address
undefined
Returns
packId
uint256
undefined
packTotalSupply
uint256
undefined
openPack
function openPack(uint256 packId, uint256 amountToOpen) external nonpayable returns (struct ITokenBundle.Token[])
Lets a pack owner open a pack and receive the pack's reward unit.
Parameters
packId
uint256
The identifier of the pack to open.
amountToOpen
uint256
The number of packs to open at once.
Returns
_0
ITokenBundle.Token[]
undefined
Events
PackCreated
event PackCreated(uint256 indexed packId, address recipient, uint256 totalPacksCreated)
Emitted when a set of packs is created.
Parameters
packId indexed
uint256
undefined
recipient
address
undefined
totalPacksCreated
uint256
undefined
PackOpened
event PackOpened(uint256 indexed packId, address indexed opener, uint256 numOfPacksOpened, ITokenBundle.Token[] rewardUnitsDistributed)
Emitted when a pack is opened.
Parameters
packId indexed
uint256
undefined
opener indexed
address
undefined
numOfPacksOpened
uint256
undefined
rewardUnitsDistributed
ITokenBundle.Token[]
undefined
PackUpdated
event PackUpdated(uint256 indexed packId, address recipient, uint256 totalPacksCreated)
Emitted when more packs are minted for a packId.
Parameters
packId indexed
uint256
undefined
recipient
address
undefined
totalPacksCreated
uint256
undefined
Last updated