- source code: https://github.com/ComposableFi/distributor
- Num of deployed contracts on mainnet: 12
- angels, advisors, cliff, solvers, seed, single_advisor, polychain, liquidity_round, 6_month_lock_24_month_vest, angular_single
- location of this files that was deployed:
- cli to interact https://github.com/ComposableFi/distributor/tree/master/cli
- example of cli commands that was executed to initalize this 12 vesting contract and https://github.com/ComposableFi/distributor/blob/master/cli/readme.md
- workflow: admin deploy, initialize via new_distributor instruction.
- source code: https://github.com/ComposableFi/mantis-staking-program/tree/main/solana/merkle-distributor
- cli: https://github.com/ComposableFi/mantis-staking-program/blob/main/cli/src/lib.rs
- file with eth/cosmos/polkadot wallets: https://github.com/ComposableFi/mantis-indexer/blob/main/mantis-indexer/ethcosmosclaimprod.csv
- user sibmit signature to claim via this api endpoint: https://github.com/ComposableFi/mantis-staking-program/blob/main/vesting-backend/src/main.rs#L53C14-L53C21
- then vesting contact admin call instruction to give allocation from file ^^^ above: https://github.com/ComposableFi/mantis-staking-program/blob/main/solana/merkle-distributor/src/lib.rs#L105
- User able to claim initial amount via claim_new instruction and then need to stake via staking contract for 3 months to unlock the rest.
- source code: https://github.com/ComposableFi/mantis-staking-program/tree/main/solana/staking
- docs: https://github.com/ComposableFi/mantis-staking-program/blob/main/solana/staking/README.md
- source code: https://github.com/ComposableFi/mantis-indexer/blob/main/mantis-indexer/src/main.rs#L272-L317
- user/FE/UI submit address and allocation name to get proof/unlocked ammount/locked ammount to sent this data into the new_claim instruction in the corresponding vesting contract. here -> https://github.com/ComposableFi/distributor/blob/master/programs/merkle-distributor/src/lib.rs#L81-L88
- after calling ^ method once. user/FE/UI is able to call claim_locked https://github.com/ComposableFi/distributor/blob/master/programs/merkle-distributor/src/lib.rs#L120-L123 to get vested tokens if there are some anlocked tokens.
- source code: https://github.com/ComposableFi/mantis-staking-program/blob/main/vesting-backend/src/main.rs#L53
- User/UI/FE submit signature with a message(solana address string) to link to specific cosmos/eth/polkadot wallet and recieve allocation on the contract (vesting WITH staking) where admin account via API will call admin_new_claim to set allocation for this solana wallet with a corresponding ammount from csv file.
- csv file: https://github.com/ComposableFi/mantis-indexer/blob/main/mantis-indexer/ethcosmosclaimprod.csv
double check via cli
name program id escrow account (program id + distributor) seriesaangular Fcgm5ZKCJX43JbeJa9HZdPhgnSSV8WdBHLWCzprqN5L 3jZJC8ma5hcpjRo4gDfiys2fq71hjss6DC7xnRkWdCd1 merkle_distributor staking A7rDhNV2tVn5gS7g3yWeZAFpsixKXmRdjqHtLXLnYy41 5TD847Crbu4wake1qQRYY4CTKnALdP7PBZkHSHNkCXfa staking FaX6Aqph9zpER3HQ3LRmp67z6uu1QWH7dK3XgbydAeYV angels 92UfwcTMbd1SJVdSFQnWMRLjqpPG3vtbDhcWQ3GkhASj 32rsuGN4rqZGJVXsJPTjiMg3ShDDD6AWFigQjBjFWUdk latest advisors HZgU97aM4kvTehjqqXqnvSZL74jHEJaD6QYafkVPPM7G GkuwfYkXr6bowjezNKDemuugs6fYJfTbZdAhxkqdN525 vesting with staking A7rDhNV2tVn5gS7g3yWeZAFpsixKXmRdjqHtLXLnYy41 5TD847Crbu4wake1qQRYY4CTKnALdP7PBZkHSHNkCXfa cliff 8xt5d3DeVB7HM7LsGzjrkh9ucdVDtrr4EwGNfvDiShqi Eo8PKzo7VDRBCif2dEzx7NsthBjXq5HNXMrJ2yqMuu6V angel actual 57FXFvcgAYxvoWK7TyjtYjNx3sTG6vRFpoEUqs1Tj6Qu solvers HnCv1EJJ2sMN55TUDMLGJgSRf4MKvorQn8s1QGdpTqZy 7AMvDzPzsueog2gjSbrod8GMGs5PJ5jTvYVLxJwfuRwb single_advisor 6GpDXicm2iZC54sebWxsbTDgXNbJYpeDGgG5y81FpuFu 5yTA1p6i5aFfhD9vfDKk3URVXKgjPqrWs1Txb7Z3o7o9 polychain HjqbidrN7JqZ5QmPWKdpsmvFbpzEdmPAdgGYzcsv4wMG 9tdcu6gQVV4iA9fE3XWz9uNGpEyqMyB5KFPdQX1zBcEn liquidity_round CMoUiyecW72BiVZbwJy28n3TfvdHzt7gvYyUctgbgrWv BTXRnk6uXQtTSYFaPJfnz5kpnCUBR3JMPXSteDS22oBf 6_month_lock_24_month_vest 9uidrokj5upY5Mg4xfPHAn4H6iysg7kNm1g1ZrfuAM6P D6RHJMa2NZDEU526qPJyWeqKxS3K3127PJnk8x8nDtom angular_single 2WRYAASVRboqxg9TdpeEZm3NAYQdMz2PX6bgeHoPeA27 78gLGWFPsH656nrgjB9LuBWfWGttHRrUwcQUmbviQbnz
- Do you need to deploy new vesting schedule?
- go to https://github.com/ComposableFi/distributor
- anchor keys sync (make sure that new program id updated in anchor.toml and program_id!("."))
- anchor build
- set an rpc
- solana config set --url https://mainnet.helius-rpc.com/?api-key=123
- solana program deploy merkle_distributor.so --with-compute-unit-price 10000 --max-sign-attempts 100 --use-rpc
- if any erorr then call (solana program close —buffers) to collect the used SOL fee that was taken by prev command.
- cd cli
- set up .env file
- call new-distributor command for corresponding program id.
- example here -> https://github.com/ComposableFi/distributor/blob/master/cli/readme.md
- Need to give allocation to some solana address by Admin?
- go to https://github.com/ComposableFi/distributor or https://github.com/ComposableFi/mantis-staking-program/tree/main/solana/merkle-distributor depends do you need to give to vesting with/without staking. reminder distributor is a just vesting without staking.
- go to cli
- set up an .env file
- call admin-new-clain command to give for specific address