Dear Enjineers!
As part of our contracted tasks for the Enjin ecosystem, Atlas Development Services is pleased to announce the preparation of the codename āBugisā Enjin Blockchain runtime upgrade. The Bugis upgrade will advance the runtime of Enjin Relaychain to version 1.5.0, and Enjin Matrixchain to 1.2.0 respectively.
This upgrade increases the speed of Enjin Matrixchain by 100% reducing the block time from 12 seconds to 6 seconds, brings powerful new features to the Marketplace pallet, and various other quality of life improvements.
Summary
- Reduced block time on Enjin Matrixchain from 12s to 6s.
- Lazy migrations: Greatly optimized the process of migrating blockchain storage during runtime upgrades, no longer requiring any extrinsic downtime during upgrades.
- Marketplace pallet: New functionality to the Marketplace pallet - multiple royalty beneficiaries, whitelisted buyer lists, and listing start date.
- See full changelog below.
Upgrade Schedule
The changes will initially be deployed to the Canary Testnet, providing developers and users with a controlled environment to interact with the updates and giving developers sufficient time to update their integrations.
Enjin Relaychain
- Canary Testnet:
- Datetime: January 27, 2025 at approximately 16:00 UTC.
- Start block: 9124726.
- End block: 9124776 (expected).
- Enjin Mainnet:
- Datetime: February 24, 2025 at approximately 16:00 UTC.
- Start block: 9098986.
- End block: 9099036 (expected).
Upgrade is estimated to take 5 minutes. During the upgrade process, the chain may reject extrinsics. Users are advised to wait for the upgrade to complete before attempting to submit new extrinsics.
Enjin Matrixchain
- āCanary Testnet:
- Datetime: February 26, 2025 at approximately 16:00 UTC.
- Start block: 4724701.ā
- End block: 4724776 (expected).
- āEnjin Mainnet:ā
- Datetime: March 24, 2025 at approximately 16:00 UTC.
- Start block: 4017657.
- End block: 4017732 (expected).
Upgrade is estimated to take 15 minutes. During the upgrade process, the chain may reject extrinsics. Users are advised to wait for the upgrade to complete before attempting to submit new extrinsics.
Changes
Both networks
- Multiple Royalty Beneficiaries: Collection & token owners may now set multiple royalty beneficiaries for the sale of tokens via the marketplace pallet. Multiple beneficiaries may be set on the collection level, or on the token level.
- Whitelist token buyers: Users may now whitelist accounts that can purchase a token listed via the marketplace pallet. If a whitelist is set, only whitelisted accounts can fulfill the listing. Additionally, users may specify a maximum quantity for each whitelisted account, controlling the amount each account can fulfill. Currently, whitelists are limited to 10,000 individual whitelisted accounts.
- Start time for marketplace listings: Added an optional start time to marketplace pallet listings, controlling when a listing becomes active for fulfillment by users.
- Lazy Migrations: Ā Runtime upgrades no longer block all extrinsics while storage values are migrated from an old format to a new one. Instead, storage now updates on-demand, and all extrinsics can read both new and old storage formats. For convenience, an off-chain tool gradually completes these migrations until the new format is fully adopted.
- Deprecated the ācurrencyā trait in favor of the new āfungibleā trait in all pallets.
- Now emitting the āInfusedā event when minting tokens with Enjin Coin (ENJ) infusion.
- Fix a bug with the storage value ācollection.totalDepositā sometimes having the wrong amount.
- Update polkadot SDK version to stable2409.
- Removed requirement for fuel tanks to be frozen before performing mutations.
- Add dry-run calls in validation functions of fuel tanks.
Enjin Relaychain
- Maximum Unbonding Event Limit: Increased the maximum limit of simultaneous active nomination pool unbonding eras from 8 to 32. Previously, when unbonding ENJ from nomination pools, you could only have 8 individual active unbonding eras per pool, now increased to 32. This streamlines unbonding for users who wish to perform daily unbondings from nomination pools.
- Added Governance and Staking proxy types, further expanding the capabilities of proxy accounts and security of the network.
- Removed Early Bird/Governance bonus functionality.
- Consolidated transaction versioning between Relaychain Canary and Relaychain Mainnet.
- Optimized client code.
Enjin Matrixchain
- Reduced block time from 12s to 6s: Reduced the time for new block creation from 12 seconds to 6 seconds through Async Backing. Any existing blockchain actions measuring time in block height, such as listing or auction expirations, will automatically be adjusted to inherit their original expected time values to accommodate the increased block speed.
- Token groups: Added Token Groups to the Multi-token pallet, allowing users to better organize tokens within a collection. Token Groups form part of a collection and add another layer of hierarchy. Any token can be assigned to one or more groups in the same collection, and each group can include any token from that collection. Just like collections and tokens, groups can have attributes such as name, description, and media assets. If a token has no defined attributes, it inherits them from its group. In cases where a token is assigned to multiple groups, the group it was added to first takes precedence. Any attributes set at the token level will override any inherited attributes from a group.
Notices
Blockchain Developers
- Increased block production rate (Matrixchain): With the Enjin Matrixchain block times changing from 12s to 6s, ensure any logic tied to block height is adjusted to accommodate for the increased block production rate.
- Storage values impacted by increased block production rate (Matrixchain):
- marketplace.listing.expiration
- marketplace.listing.auctionEndBlock
- multiTokens.collectionAccount.approvals
- multiTokens.tokenAccount.approvals.expiration
- fuelTanks.tanks.ruleSets
- UserFuelBudgetRule.budget.resetPeriod
- TankFuelBudgetRule.budget.resetPeriod
- claims.delayClaimsPeriod
- Storage values migrated through lazy migrations:
- multiTokens.Tokens
- multiTokens.TokenAccounts
- multiTokens.Collections
- Marketplace.listings
Enjin Platform Developers
- Self-hosted: Self-hosted platform users should upgrade their Enjin Platform to v2.3.0. Ā In subsequent versions, the platform chain metadata should automatically update with future blockchain runtime upgrades. The Enjin Platform v2.3.0 update is expected to be released February 11th.
- Cloud: No action required from users of Enjin Platform Cloud.
Enjin Wallet & NFT.io users
- NFT.io: NFT.io will be placed in maintenance mode during the Enjin Matrixchain upgrade to 1.2.0 for Mainnet for a period of approximately 15 minutes. NFT.io will fully support the new changes when deployed to Mainnet.
- Enjin Wallet: Enjin Wallet will disable Enjin Relaychain & Enjin Matrixchain transactions during the mainnet upgrades to Relaychain 1.5.0 and Matrixchain 1.2.0, for an anticipated period of 5 minutes and 15 minutes respectively. Enjin Wallet will remain backwards compatible with the new runtime, meaning older versions of Enjin Wallet will continue to work nominally and no impact is expected during the upgrade. To leverage the new features of the runtime upgrade, users are recommended to keep their Enjin Wallet updated to the newest release.
Node Operators
- Relaychain Nodes: Upgrade to v1.5.0.
- Matrixchain Nodes: Upgrade to v1.2.0 (expected release Feb 10, 2025).
Please refer to our documentation on how to upgrade your Enjin Blockchain nodes for Enjin Relaychain nodes and Enjin Matrixchain nodes respectively.
Exchanges
- Upgrade downtime: During the upgrade process, the Enjin Relaychain and Enjin Matrixchain will not accept extrinsics. We recommend scheduling a maintenance window and suspending on-chain activities (e.g., deposits and withdrawals) during this period, including a 10-minute buffer before the start and after the expected end of the upgrade window (see the āUpgrade Scheduleā section above for specific timings).
- Node clients: Please upgrade any nodes to the latest version of the Relaychain client, v1.5.0. If you are operating Matrixchain nodes, please upgrade to v1.2.0 (expected release Feb 10, 2025).
- User deposits: See "Upgrade downtime"Ā above.
- Address generation: No impact.
- Extrinsic creation: No impact.