FeedProjects
Developers
Settings
🎉 A new chapter begins: Boardroom has joined Agora
Learn more
protocol logo
Explore / Projects
M^0

Proposals

Members

Information

Create Proposal

M^0

ProposalsMembersInformation
ProposalExecutable Code
Back to Proposals
executedEnded 10 months ago Â·  Standard Governor

# Add M0 Labs Engineering Reserved 'SolanaEarnerBeta' Address as a Solana Earner

By 0xDc01...bdE771

M0 Labs Engineering Team would like to add the M Vault PDA calculated for the pre-determined program address listed below to the Solana Earners list. This address will be used in the future for deployment of high priority Solana Earner Extension that requires yield accrual and distribution.

Solana differs from Ethereum in that individual user balances are not stored on the Token ‘Mint’, but in individual Token Accounts. The owner of a Token Account controls the balance and must sign any transaction that moves those tokens. For a Program to sign transactions and control tokens, it must use a Program Derived Account (PDA), which is a sub-address of the Program derived from the hash of the Program address and a seed value. As a result PDA values are deterministic from the Program address (aka ID or PubKey) and the seed. For our purposes, the Extension Program custodies M tokens in a Token Account owned by its M Vault PDA. For the M held in the Program under this PDA to earn yield, it must be added as an Earner.

Similar to Ethereum M earners, Solana M earners must be added to a list on the TTGRegistrar contract by Governance. This list is compiled into a Merkle tree by the new MerkleTreeBuilder contract. The root of this Merkle tree is sent to Solana via the M Portal Bridge. Since Solana addresses are longer (32 bytes) than EVM addresses (20 bytes), we must use the more generic setKey(bytes32 key, bytes32 value) function on the TTGRegistrar. The key is calculated as keccak256(abi.encodePacked(bytes32('solana-earners'),bytes32(<M_VAULT_HEX>))) where <M_VAULT_HEX> is the derived PDA pubkey expressed as a hexadecimal value. The value is just a boolean flag, so we set it to 1 (meaning the address is a member of the list).

The pre-determined program address corresponds to a Solana keypair mined and custodied by the M0 Labs Engineering team for this purpose. No program is currently deployed at the address. The Vault PDA address can be verified using the Solana CLI command solana find-program-derived-address <PROGRAM_ID> string:m_vault where the actual base58 program ID is substituted for <PROGRAM_ID>.

Account NameAddress (base58)Address (hex)
Beta Extension ProgramextMahs9bUFMYcviKCvnSRaXgs5PcqmMzcnHRtTqE850x09b9ae06ca554ba46207aef493bb536096e0ca35b982a7995d86b403918b336e
Beta Extension M Vault4QqDEKoXeD5esxx1UCDXiKyMsmQyhxN3zsaHSxUJZWmR0x32adee7be5378da8850f3187a2b11172420a45f13b9921ea7f6bcb50d2a38a54
Continue Reading
Connect Wallet to Add Note
0
Votes 55
VoterCast PowerVote & Rationale
0x76Df...9D7695
333,584

YES

0x2dE6...ae0624
327,261

YES

0x26AE...19b387
327,261

YES

0x3A65...234F84
283,845

YES

0xAb36...Ee7772
193,032

NO

SHOW MORE
VOTE POWER
0
Zero Token
/
0
Power Token
Connect Wallet
Proposal Status
  • Thu May 08 2025, 02:27 amPublished Onchain 0xDc01...bdE771
  • Fri May 09 2025, 01:00 pmVoting Period Starts
  • Sat May 24 2025, 01:00 pmEnd Voting Period
  • Queue Proposal
  • Tue May 27 2025, 07:10 pmExecute Proposal
Current Results

1-YES

2.315M

89.57%

2-NO

269,645

10.43%
Quorum 2.584M/1
DocumentationBrandingContact Us
Home
This Project is Currently Disabled

If you would like to enable it, please checkout below.

Boardroom Subscription

Sign up for an individual subscription (access all projects on the platform)

Subscribe
Enable Project

Enable the entire project for every user

Enable Project
Contact Us