idl deploy workaround, reduce size by cutting largest fields i.e. docs (#334)

* idl deploy workaround, reduce size by cutting largest fields i.e. docs

Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>

* fixes from review

Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>

* Fixes from review

Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>

Signed-off-by: microwavedcola1 <microwavedcola@gmail.com>
This commit is contained in:
microwavedcola1 2022-12-14 09:55:25 +01:00 committed by GitHub
parent 51cded4965
commit 37479a159d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 15 additions and 2 deletions

View File

@ -19,3 +19,16 @@ done
# errors on enums that have tuple variants. This hack drops these from the idl.
perl -0777 -pi -e 's/ *{\s*"name": "NodeRef(?<nested>(?:[^{}[\]]+|\{(?&nested)\}|\[(?&nested)\])*)\},\n//g' \
target/idl/mango_v4.json target/types/mango_v4.ts;
# Reduce size of idl to be uploaded to chain
cp target/idl/mango_v4.json target/idl/mango_v4_no_docs.json
jq 'del(.types[]?.docs)' target/idl/mango_v4_no_docs.json \
> target/idl/mango_v4_no_docs.json.bak && mv target/idl/mango_v4_no_docs.json.bak target/idl/mango_v4_no_docs.json
jq 'del(.accounts[]?.type.fields[]?.docs)' target/idl/mango_v4_no_docs.json \
> target/idl/mango_v4_no_docs.json.bak && mv target/idl/mango_v4_no_docs.json.bak target/idl/mango_v4_no_docs.json
jq 'del(.instructions[]?.docs)' target/idl/mango_v4_no_docs.json \
> target/idl/mango_v4_no_docs.json.bak && mv target/idl/mango_v4_no_docs.json.bak target/idl/mango_v4_no_docs.json
jq 'del(.instructions[]?.accounts[]?.docs)' target/idl/mango_v4_no_docs.json \
> target/idl/mango_v4_no_docs.json.bak && mv target/idl/mango_v4_no_docs.json.bak target/idl/mango_v4_no_docs.json
jq 'del(.types[]?.type.fields[]?.docs)' target/idl/mango_v4_no_docs.json \
> target/idl/mango_v4_no_docs.json.bak && mv target/idl/mango_v4_no_docs.json.bak target/idl/mango_v4_no_docs.json

View File

@ -22,7 +22,7 @@ solana --url https://mango.devnet.rpcpool.com program deploy --program-id $PROGR
# # publish idl
cargo run -p anchor-cli -- idl upgrade --provider.cluster https://mango.devnet.rpcpool.com --provider.wallet $WALLET_WITH_FUNDS \
--filepath target/idl/mango_v4.json $PROGRAM_ID
--filepath target/idl/mango_v4_no_docs.json $PROGRAM_ID
# build npm package

View File

@ -22,7 +22,7 @@ solana --url $MB_CLUSTER_URL program deploy --program-id $PROGRAM_ID \
# publish idl
cargo run -p anchor-cli -- idl upgrade --provider.cluster $MB_CLUSTER_URL --provider.wallet $WALLET_WITH_FUNDS \
--filepath target/idl/mango_v4.json $PROGRAM_ID
--filepath target/idl/mango_v4_no_docs.json $PROGRAM_ID
# build npm package