Glossary

Terms used in Litepaper XEN Smart Contract Public Interface

Terms used in Litepaper

CryptoRank (cRank, cRU) - a unique number assigned to any Ethereum address which submits successful claimRank transaction.

Global CryptoRank (cRG) - current value of the global XEN variable which increases monotonously incrementing by 1 with each successful claimRank transaction - a measure of the power of the XEN network.

Genesis Time (tsG) - timestamp of XEN Smart Contract instantiation on the Ethereum blockchain (derived from block.timestamp in constructor)

Reward Amplifier (AMP) - time-dependent constant, decreasing every 30 days after XEN Genesis Time (day 1 of network launch). AMP is recorded on-chain and is used in the calculation of mint rewards at the time of a pairing claimReward transaction.

Mint Term, or Maturity (T) - a minimum time difference (measured in full days) between the initial claimRank transaction and subsequent claimReward transaction. This parameter is submitted by the user during a claimRank transaction and is recorded in the XEN Smart Contract.

Early Adopter Amplifier (EAA) - an extra incentive rate for the earliest adopters of XEN, which starts at 10% at the XEN Genesis and then decreases by 0.1 percentage points every time the Global Rank reaches another 100,000.

Free Mint Term - a maximum Mint Term (Maturity) value that the user can choose when submitting their claimRank transaction. Free Mint Term starts at 1-100 days and stays constant until Global cRank reaches 5,000. After that, Free Mint Term is calculated as 100 + log2(cRG) * 15.

Reward Claim Window - a maximum amount of time (measured in full days), during which a user is allowed to submit claimReward transaction and mint their XEN tokens. The Reward Claim Window starts at the time of claimRank transaction PLUS Mint Term (or Maturity), as recorded in the XEN Smart Contract. As the Reward Claim Window starts, a Withdrawal Penalty is calculated in a progressive fashion, increasing each full day (Penalty is 0 for the first 24 hours of Reward Claim Window).

APY, Annual Percentage Yield - is a non-compounding annualized return on your XEN stake. APY is set programmatically by the XEN smart contract; it starts with 20% and is decreased by 1 point every 90 days until it reaches the terminal value of 2%.

XEN Smart Contract Public Interface

claimRank (uint256 term) - executes a transaction claiming the user’s cryptoRank (cRank) and creating a mint record, which captures their cRank, Mint Term (T), Maturity timestamp (current timestamp + term in seconds) and current Reward Amplifier. The term is expected to be in the range of 1-1000. The transaction will revert if a mint record already exists for the current user's address.

claimMintReward () - executes the transaction ending the Mint Term and claiming (minting) user Reward (XEN tokens) (possibly decreased by the Penalty amount; see Reward Claim Window). Transaction will revert if: (1) no mint record is found for a user, (2) Mint Term is not yet over.

claimMintRewardAndShare (address other, uint256 pct) - executes transaction ending Mint Term and claiming (minting) user Reward (XEN tokens) (possibly decreased by Penalty amount; see Reward Claim Window). Minting proceeds are split between the owner and a designated other address (The other will receive pct% and owner will receive 100%-pct% of net due reward amount). Transaction will revert if: (1) no mint record is found for a user, (2) Mint Term is not yet over.

claimMintRewardAndStake (uint256 pct, uint256 term) - executes transaction ending Mint Term, staking the pct of the net reward amount (possibly decreased by Penalty amount; see Reward Claim Window) for term, days and claiming (minting) minting the balance as XEN tokens. Transaction will revert if: (1) no mint record is found for a user, (2) Mint Term is not yet over, (3) Active Stake exists for the user.

stake (uint256 amount, uint256 term) - executes transaction staking amount of XEN for term days by creating a Stake record in the Smart Contract, which captures the stake parameters, Maturity timestamp (current timestamp + term in seconds) and current APY. Amount is any number from 1 and up to the total current user's XEN balance. Term (in days) is any number from 1 to 1,000. Transaction will revert if a stake record already exists for current user's address. N.B.: Stake transaction burns amount of XEN tokens until the user withdraws stake.

withdraw () - executes transaction to withdraw amount of XEN previously staked plus calculated rewards. Stake rewards depend on stake amount, stake term and the APY pro-rated by the term against 365 days. Stake could be withdrawn at any time without any penalties. If withdrawn before reaching stake maturity, a user receives the full amount of their stake with zero rewards. If withdrawn at any time upon reaching stake maturity, the user receives the full amount of their stake PLUS the calculated APY reward. Transaction will revert if: (1) no matching stake record is found. N.B.: Withdraw transaction mints the original amount of XEN tokens staked, plus any reward XEN tokens due.

getUserMint () - returns MintInfo record for the current user's address, if any.

getUserStake () - returns StakeInfo record for the current user's address, if any.

Last updated