@rever22411/amm-commands v0.3.86
Amm (Work In Progress)
Concentrated liquidity market maker (CLMM) program built for the Solana ecosystem.
Concentrated Liquidity Market Maker (CLMM) pools allow liquidity providers to select a specific price range at which liquidity is active for trades within a pool. This is in contrast to constant product Automated Market Maker (AMM) pools, where all liquidity is spread out on a price curve from 0 to ∞. For LPs, CLMM design enables capital to be deployed with higher efficiency and earn increased yield from trading fees. For traders, CLMMs improve liquidity depth around the current price which translates to better prices and lower price impact on swaps. CLMM pools can be configured for pairs with different volatility.
Deploy
prima del deploy su main riaggiustare i padding nei contratti
- cambiare wallet
src/private/admin_wallet.jsone ovunque sia hardcodata la publicKey - creare un nuovo wallet dedicato alle createPoolFee
- cambiare wallet
src/private/create_pool_fee.jsone ovunque sia hardcodata la publicKey - cancellare cartella
target - nel file
Anchor.tomldecommentare il cluster di dev CONTOLLARE SE NECESSARIO - !!!!!! NUOVO !!!!per le build in DEV dove si include raydium-cp-swap, bisogna aggiungere la feature devnet nel cargo.toml tra le feature di raydium-cp-swapanchor buildcompila i programmianchor keys listper recuperare le publicKey dei programmi prima di deployare (dalla cartella target)- aggiornare tutte le publicKey vecchie con quelle nuove (sopprattutto Smart Contract declare_id!)
anchor deploydeploya i contratti- nel file
Anchor.tomlcommentare il cluster di dev e rimettere local - fare backup della cartella
target/deploy - nel file
Anchor.tomldecommentare il cluster local - copiare le cartelle
target/idletarget/typesrispettivamente insrc/program_idleprogram_types - pubblicare la nuova versione del pacchetto
- aggiornare il be
- lanciare lo script con
anchor testavendo prima decommentato solamente l'importdeploynel filesrc/tests/index.ts - lo script crea bla bla bla
- sostituire l'address nella const USDCToken nel file
src/config.ts
Squads
nelle istruzioni che usano l'utente per creare account serve circa 0.002 SOL sulla vault di squad usata come utente
Update dello smart contract con firma multisig
anchor build -- --features devnetaggiorna il programma buildate .so./update_idls.shaggiorna gli idls (json e type)solana program write-buffer target/deploy/amm_bond.soe copiare indirizzo del buffer- andare su squad https://devnet.squads.so/connect-squad -> developer -> programs -> seleziona program -> add upgrade inserire indirizzo del buffer e gli altri dati
- copiare Buffer authority CLI command nel terminale, eseguire e poi cliccare su verify autority
- selezionare il nuovo upgrade e cliccare Upgrade, aggiungere descrizione e cliccare Initiate Upgrade
- firmare la transazione con tutti i wallet
- inviare la transazione
Environment Setup
- Install Rust.
- Install Solana and then run
solana-keygen newto create a keypair at the default location. - install Anchor.
Smart Contracts
Le dimensioni degli account devono essere multiple di 8 Byte se la struct ha dati interni non multipli di 8 Byte (per esempio con un u8 che occupa 1 Byte) la dimensione viene arrotondata per eccesso al primo multiplo
info:
- la dimensione è scritta nel tooltip nell'IDE VsCode quando metti il cursore sopra il nome della struct
- per ricavare la dimensione si può usare:
mem::size_of::<StructName>() - bisogna poi aggiungere 8 Byte di header per l'account
Develop
anchor buildcreate contracts target build- copy to
/tests/src/src/program_types/the/target/types/*files - copy to
/tests/src/src/program_idl/the/target/idl/*files
Description
- FALSO in PROD e sembra vero in LOCAL: una pool appena creata ha bisogna di una deposit (oltre a quello in creazione) per poter fare swap
- quando chiudo un account Wsol il contentuto viene swappato in sol e inviato all'account indicato
Publish
- update package.json version
npm icheck all package install itself correctly and update locknpm publish --access publicpublish package over npmjs.com
Testing
You can launch it with command anchor test that launch file specified in package.json
clear && anchor test -- --features localnetclear && anchor test -- --features devnetclear && anchor testmainnet
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
7 months ago
7 months ago
7 months ago
7 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
9 months ago
9 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
9 months ago
12 months ago
9 months ago
12 months ago
9 months ago
12 months ago
1 year ago
1 year ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
11 months ago
9 months ago
11 months ago
9 months ago
12 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
1 year ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
10 months ago
9 months ago
9 months ago
9 months ago
9 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago