- ubuntu 22.04 or mac os
- Rust stable 1.75 +
- Solana 1.18.9
- Anchor 0.30.0
- nodejs stable 18+
- Open Anchor.toml from root directory
- Change wallet path in anchor.toml file
- download MMOSH program from github - https://github.com/mmosh-pit/MMOSH-program
- create new token and copy the token address
- update the token address in tests/web3Consts.ts
oposToken: new web3.PublicKey("TOKEN_ADDRESS")
1 Configure amman as root user
npm install -g @metaplex-foundation/amman
- Download metaplex js from github- https://github.com/metaplex-foundation/js
- Run following command to run local solana validator along with metaplex contracts
amman start .ammanrc.js
- Install npm
npm install
- To run test with deployment
anchor test --skip-local-validator
- To run test without deployment
anchor test --skip-local-validator --skip-deploy
| No | Function | Description | Documentation |
|---|---|---|---|
1 | init_main_state | Create new PDA account to manage profile nft | link |
2 | update_main_state | Update cost and share of profile PDA account | link |
3 | update_main_state_owner | Tranfser PDA account ownership | link |
4 | create_collection | Create new collection for profile and pass | link |
5 | mint_gensis_profile | Create new gensis profile nft | link |
6 | mint_profile_by_at | Create new profile nft | link |
7 | update_profile | update profile nft metadata, name and symbol | link |
8 | mint_gensis_pass | mint gensis pass along with new PDA account | link |
9 | mint_pass_by_at | mint pass nft | link |
10 | mint_guest_pass | mint new guest pass nft | link |
11 | init_activation_token | Create new activation token account | link |
12 | mint_activation_token | Mint new activation token from profile nft | link |
13 | init_pass_token | Create new pass activation token account | link |
14 | create_pass_token | Mint new pass activation token nft | link |
15 | initialize_sol_storage_v0 | Create new storage account for bonding curve | link |
16 | create_curve_v0 | Create new curve account | link |
17 | initialize_token_bonding_v0 | Intialize token bonding account | link |
18 | sell_v1 | Burn memecoin to get token back from bonding curve | link |
19 | buy_v1 | Mint memecoin to lock token into bonding curve | link |
20 | init_vault | Intialize new vault account | link |
21 | stake_vault | stake value into vault account | link |
22 | unstake_vault | unstake value from vault account | link |
Copyright 2024 mmosh.app
Licensed under the GNU License, Version 3.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
https://www.gnu.org/licenses/agpl-3.0.en.html
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.