@exotic.finance/exotic-sdk
v0.9.3
Published
Exotic SDK
Readme
Exotic
Core
Contract
Development
aggiungere cartella tests/private/ con i wallet di devnet
anchor buildcreate contracts target build (attenzione alla feature per la chain)./update_idls.shaggiorna gli idls (json e type)
Testing
clear && anchor test --skip-buildtest in localeclear && anchor run build -- --features localnettest in localeclear && anchor run testtest in devnet senza rebuild
Init Protocol
- cancellare la cartella
target/deploy anchor clean- nel file
Anchor.tomldecommentare il cluster di dev anchor run buildribuilda in locale per aggiornare gli idlanchor 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 run buildribuilda in locale per aggiornare gli address interni all'idl- tramite git eliminare i cambiamenti di chiave errata
anchor deploydeploya i contratti- fare backup della cartella
target/deploy npm run deployinizializza i contratti con le config- nel file
Anchor.tomldecommentare il cluster local - pubblicare la nuova versione del pacchetto
x ale
- export BROWSER="/mnt/c/Program Files (x86)/Google/Chrome/Application/chrome.exe"
- npm publish --access public
Update Protocol
- nel file
Anchor.tomldecommentare il cluster di dev anchor run buildcompila i programmianchor deploydeploya i contratti- nel file
Anchor.tomldecommentare il cluster local - pubblicare la nuova versione del pacchetto
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 run build-devnetaggiorna il programma buildate .sonpm publish --access publicpubblica il pacchetto aggiornato- IMPORTANTE verificare che solana cli sia in devnet/mainnet con solana config get
- eventualmente solana config set --url https://api.devnet.solana.com e cambiare l'address usato dentro a Keypair Path
solana program write-buffer target/deploy/trade.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
- adesso si può ricambiare l'address dentro a Keypair Path
- selezionare il nuovo upgrade e cliccare Upgrade, aggiungere descrizione e cliccare Initiate Upgrade
- firmare la transazione con tutti i wallet
- inviare la transazione
In caso di fallimento all'ultimo passaggio di squad
se l'errore è ProgramData account not large enough (controlla transazione su solscan o la console), bisogna prima aumentare lo spazio in chain allocato per il programma
wc -c target/deploy/<nome_programma>.sodimensione localesolana program show <PROGRAM_ID>dimensione chainsolana program extend <PROGRAM_ID> <DIFFERENZA>aumenta la dimensione allocata per il programma
Solana cli
solana config getinfo chainsolana config set --url mainnet-betapassare alla mainnetsolana config set --url devnetpassare alla devnetanchor upgrade target/deploy/oracle.so --program-id 3157rMAFswsfAo14CiC3ExDsns9raVkj3tuyvNysshHusolana program close <BUFFER_ADDRESS>chiude il buffer restituendo i soldi al feepayersolana-keygen new -o /home/ale/.config/solana/id.json --forceper creare un nuovo wallet che sostituisce quello vecchiosolana transfer ABSYmqXzV6ggw5u3HwCdiY9jbwtkkpQcdHqgKBTS5adX ALL --allow-unfunded-recipientper traferire tutto ad un wallet
