Skip to content

Testnet · HyperCore steps are simulated · $SYMB is not launched

Contracts

Every Symbolon contract deployed on the Elysium testnet, with explorer links, and the main functions and events of each. Addresses are read from the deployment manifest, deployments/99801.json.

Deployed addresses

ContractRoleAddress
PotsEscrow: Pots, pledges, bounties, First Crossing, claims0x6b495688E2d4b8325c5cCaDc99f9d26286384823
RiteManagerClaims, verifies, settles and fails Rites0x97Fb1Bb143B3eB1731C91bA6989d3f38C15628f1
OfficiantsBonds, unbonding, slashing0x293D169091f1dB59E9ab4c74bb216EB6Ab94720A
TreasuryReceives the 2% protocol fee and slashed bonds0x1EEF45270b3F092affE77Ba4580F0fce0DaB198B
MockTickerAuctionSimulated HyperCore ticker auction0x066AD378A17Cb1cFdb0DB514FA0A52B42D8148d7
MockCoreStateSimulated HyperCore spot-deploy state0xAadB4b53595073Fec3F91b8b874184729c3463e5
MockDepositWalletFactorySimulated HyperCore deposit-wallet factory0xF763d1D87F3253223e2bFc6855277fb74E6f4066
DemoPriceSourceTestnet reference prices for the start-price check0xA05A36807F2BA77C6a1e79322AE20216676A251e
DemoTokenFactoryCreates Specimen demo tokens0xccEb7Fe7FfC551B8C26fdF42D9400A246a83949D
OLIVEDemo token0x962D8C6152aA22362bA908C8a1e182A04263F528
LYREDemo token0xE0082c7A481B0F8D0Ac061Ef54a266E7e6C3F589
EMBERDemo token0xE6D40a97D9feb9294DE7c8A75d3D147Fc56e4014
Chain 99801, deployed from block 24,395,868. Source verified on Blockscout.

All contracts are written in Solidity 0.8.28. They have no upgradeability, no pause and no owner-only parameter setters. Parameters are fixed at deployment. Every function that moves HYPE or tokens has a reentrancy guard, and value leaves through pull-based claims where possible.

Pots

The escrow. Holds pledges, bounties and crossing deposits.

FunctionWhoWhen
openPot(token, ticker)AnyoneToken has no live Pot, ticker valid and free
pledge(potId) payableAnyoneOpen
withdraw(potId, amount)SponsorOpen
addBounty(potId, amount), withdrawBounty(potId, amount)Anyone, contributorOpen
joinCrossing(potId, amount)HolderIn Rite
withdrawCrossing(potId)HolderOpen, after a failed Rite
claimCrossing(potId)HolderListed
claimRefund(potId), claimBounty(potId)SponsorListed
claimOfficiantPayment()OfficiantAfter settlement
flushTreasury()AnyoneFees owed
closePot(potId)Opener, or anyone after the idle delayOpen and empty

Views: getPot, statusOf, pledgeOf, bountyOf, crossingOf, claimableOf, eligiblePot, openPotIds, tickerStatus, computeSpec, coreSupplyOf, potCount.

Events: PotOpened, PotClosed, Pledged, Withdrawn, BountyAdded, BountyWithdrawn, CrossingJoined, CrossingWithdrawn, Crossed, RiteStarted, RiteReverted, Settled, RefundClaimed, BountyClaimed, OfficiantPaid, TreasuryFlushed.

Accounting invariant, tested with Foundry invariant tests: the HYPE balance of Pots equals live pledges, plus unclaimed refunds, plus amounts owed to Officiants and to the Treasury.

RiteManager

Starts, settles and fails Rites.

FunctionWhoEffect
claimRite(potId)Bonded OfficiantAssigns the Rite of the eligible Pot, sets the deadline
settle(potId)AnyoneRuns the seven checks, credits Officiant and Treasury, opens claims
fail(potId)Anyone, after the deadlineSlashes the bond, returns the Pot to Open
verify(potId)ViewBit mask of the seven checks, token index, price paid
riteOf(potId), activePot()ViewRite data, active Pot

Events: RiteClaimed, RiteSettled, RiteFailed. Errors include CheckFailed(n), NotEligiblePot, DeadlineNotPassed, TickerNotBought.

Officiants

Bond registry.

FunctionEffect
bond() payablePosts or tops up a bond
requestUnbond(), cancelUnbond(), unbond()Cooldown, then withdrawal
officiantOf(address), isEligible(address), list()Views: bond, Rites completed, Rites failed, active Pot

Events: Bonded, UnbondRequested, UnbondCancelled, Unbonded, Assigned, Released, Slashed. Only the RiteManager can assign, release and slash.

Treasury

Receives the protocol fee (receiveFee) and slashed bonds (receiveSlash). Exposes totalFees and totalSlashed. No owner and no withdrawal on testnet.

Simulated HyperCore

ContractMain functions
MockTickerAuctionbuyTicker(ticker, szDecimals, weiDecimals, maxPrice), currentPrice(), windowEnd(), available(), isTickerFree(ticker), saleOf(tokenIndex)
MockCoreStateuserGenesis, genesis, linkEvmContract, setDeployerFeeShare, enableFreezePrivilege, revokeFreezePrivilege, freezeUser, listSpot, setTokenAnnotation, getToken, indexOfTicker, balanceOf, systemAddress
MockDepositWalletFactorypredictWallet, walletFor, createWallet

Events used for the Rite timeline: TickerBought, WalletCreated, Genesis, EvmContractLinked, DeployerFeeShareSet, FreezePrivilegeRevoked, SpotListed.

Demo contracts

ContractPurpose
DemoToken (OLIVE, LYRE, EMBER)Plain ERC-20, fixed supply, faucet() once per address
DemoTokenFactorycreateSpecimen() deploys a fresh demo token and gives the creator 1,000,000 of it
DemoPriceSourcepriceOf(token): fixed demo reference prices