📒Contract
Documentation for contract actions

Loot Contract Actions
📝 User Registration (regnewuser)
regnewuser)Purpose: Registers a user on the contract, enabling participation in NFT staking and rewards.
Parameters:
user: Account name to be registered.referrer: (Optional) Account name of the referrer, if any.
💰 Claiming Rewards (claim)
claim)Purpose: Allows users to claim accumulated rewards from staked NFTs.
Parameters:
user: Account name claiming the rewards.collection: Name of the NFT collection from which to claim rewards.
🔄 Unstaking NFTs (unstake)
unstake)Purpose: Enables users to remove their NFTs from staking, halting reward accumulation.
Parameters:
user: Account name performing the unstake action.asset_ids: List of NFT asset IDs to be unstaked.
🔄 Resetting User Data (resetuser)
resetuser)Purpose: Clears a user's staking data and returns any staked NFTs.
Parameters:
user: Account name whose data is to be reset.
💸 Refunding Tokens (refund)
refund)Purpose: Issues a refund of tokens to a user under specific conditions.
Parameters:
user: Recipient of the refund.collection: Collection associated with the refund.refund_amount: Amount of tokens to be refunded.
🌐 Registering NFT Collection (setnftcolrew)
setnftcolrew)Purpose: Sets up a new NFT collection for staking with specific reward parameters.
Parameters:
user: Account initiating the registration.collection: Collection name.token_symbol: Token symbol for rewards.token_contract: Contract managing the reward tokens.time_unit_length: Length of time units for reward calculation.unstake_period: Minimum staking period before NFTs can be unstaked.reward_series_referral: Series for calculating referral rewards.reward_coefficient_referral: Coefficient for referral reward calculation.reward_series_hodl: Series for calculating holding rewards.reward_coefficient_hodl: Coefficient for holding reward calculation.
➕ Adding Eligible NFT Templates (addtemplates)
addtemplates)Purpose: Includes NFT templates in the staking program of a collection.
Parameters:
user: Account adding the templates.template_id: ID of the template to be added.collection: Collection to which the template belongs.timeunit_rate: Reward rate per time unit for the template.
➖ Removing NFT Templates (rmtemplates)
rmtemplates)Purpose: Excludes NFT templates from the staking program of a collection.
Parameters:
user: Account removing the templates.template_id: ID of the template to be removed.collection: Collection from which the template is removed.
🔔 Receiving NFTs (receiveassets)
receiveassets)Purpose: Automatically stakes NFTs sent to the contract and updates user staking data.
Parameters:
Handled through
atomicassets::transfernotifications; no direct user parameters.
📈 Handling Token Transfers (on_transfer)
on_transfer)Purpose: Manages incoming token transfers to fund the contract's reward pool.
Parameters:
Handled through token
transfernotifications; the memo should contain the collection name.
Last updated