From 6b59d48df3889f3527a461bab97aa53b2ca1ef5d Mon Sep 17 00:00:00 2001 From: microwavedcola1 <89031858+microwavedcola1@users.noreply.github.com> Date: Thu, 13 Jan 2022 11:53:24 +0100 Subject: [PATCH] Mc/release experiments (#20) * fix anchor version Signed-off-by: microwavedcola1 * fix solana version, use the version anchor-lang refers to Signed-off-by: microwavedcola1 * add comment Signed-off-by: microwavedcola1 * uncomment Signed-off-by: microwavedcola1 * rename Signed-off-by: microwavedcola1 * fix test script Signed-off-by: microwavedcola1 * rename + make consistent Signed-off-by: microwavedcola1 * cleanup script and do a proper release Signed-off-by: microwavedcola1 * not required in ts package Signed-off-by: microwavedcola1 * fix-comment Signed-off-by: microwavedcola1 --- Cargo.lock | 63 +- package.json | 2 +- programs/voter-stake-registry/Cargo.toml | 22 +- run-publish.sh | 8 - run-release.sh | 23 + run-test.sh | 2 +- src/client.ts | 5 +- src/voter_stake_registry.json | 1085 ---------------------- src/voter_stake_registry.ts | 4 +- 9 files changed, 80 insertions(+), 1134 deletions(-) delete mode 100755 run-publish.sh create mode 100755 run-release.sh delete mode 100644 src/voter_stake_registry.json diff --git a/Cargo.lock b/Cargo.lock index 537dbe8..0d91896 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -46,8 +46,9 @@ checksum = "250f629c0161ad8107cf89319e990051fae62832fd343083bea452d93e2205fd" [[package]] name = "anchor-attribute-access-control" -version = "0.19.0" -source = "git+https://github.com/microwavedcola1/anchor.git?branch=master-debug#e1006a56180409fa4faf528445c1899ff44a632e" +version = "0.20.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "105c443a613f29212755fb6c5f946fa82dcf94a80528f643e0faa9d9faeb626b" dependencies = [ "anchor-syn", "anyhow", @@ -59,8 +60,9 @@ dependencies = [ [[package]] name = "anchor-attribute-account" -version = "0.19.0" -source = "git+https://github.com/microwavedcola1/anchor.git?branch=master-debug#e1006a56180409fa4faf528445c1899ff44a632e" +version = "0.20.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fdae15851aa41972e9c18c987613c50a916c48c88c97ea3316156a5c772e5faa" dependencies = [ "anchor-syn", "anyhow", @@ -73,8 +75,9 @@ dependencies = [ [[package]] name = "anchor-attribute-constant" -version = "0.19.0" -source = "git+https://github.com/microwavedcola1/anchor.git?branch=master-debug#e1006a56180409fa4faf528445c1899ff44a632e" +version = "0.20.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6356865217881d0bbea8aa70625937bec6d9952610f1ba2a2452a8e427000687" dependencies = [ "anchor-syn", "proc-macro2 1.0.33", @@ -83,8 +86,9 @@ dependencies = [ [[package]] name = "anchor-attribute-error" -version = "0.19.0" -source = "git+https://github.com/microwavedcola1/anchor.git?branch=master-debug#e1006a56180409fa4faf528445c1899ff44a632e" +version = "0.20.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ebe998ce4e6e0cb0e291d1a1626bd30791cdfdd9d05523111bdf4fd053f08636" dependencies = [ "anchor-syn", "proc-macro2 1.0.33", @@ -94,8 +98,9 @@ dependencies = [ [[package]] name = "anchor-attribute-event" -version = "0.19.0" -source = "git+https://github.com/microwavedcola1/anchor.git?branch=master-debug#e1006a56180409fa4faf528445c1899ff44a632e" +version = "0.20.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c5810498a20554c20354f5648b6041172f2035e58d09ad40dc051dc0d1501f80" dependencies = [ "anchor-syn", "anyhow", @@ -106,8 +111,9 @@ dependencies = [ [[package]] name = "anchor-attribute-interface" -version = "0.19.0" -source = "git+https://github.com/microwavedcola1/anchor.git?branch=master-debug#e1006a56180409fa4faf528445c1899ff44a632e" +version = "0.20.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac83f085b2be8b3a3412989cf96cf7f683561db7d357c5aa4aa11d48bbb22213" dependencies = [ "anchor-syn", "anyhow", @@ -119,8 +125,9 @@ dependencies = [ [[package]] name = "anchor-attribute-program" -version = "0.19.0" -source = "git+https://github.com/microwavedcola1/anchor.git?branch=master-debug#e1006a56180409fa4faf528445c1899ff44a632e" +version = "0.20.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73c56be575d89abcb192afa29deb87b2cdb3c39033abc02f2d16e6af999b23b7" dependencies = [ "anchor-syn", "anyhow", @@ -131,8 +138,9 @@ dependencies = [ [[package]] name = "anchor-attribute-state" -version = "0.19.0" -source = "git+https://github.com/microwavedcola1/anchor.git?branch=master-debug#e1006a56180409fa4faf528445c1899ff44a632e" +version = "0.20.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62ab002353b01fcb4f72cca256d5d62db39f9ff39b1d072280deee9798f1f524" dependencies = [ "anchor-syn", "anyhow", @@ -143,8 +151,9 @@ dependencies = [ [[package]] name = "anchor-derive-accounts" -version = "0.19.0" -source = "git+https://github.com/microwavedcola1/anchor.git?branch=master-debug#e1006a56180409fa4faf528445c1899ff44a632e" +version = "0.20.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e9e653cdb322078d95221384c4a527a403560e509ac7cb2b53d3bd664b23c4d6" dependencies = [ "anchor-syn", "anyhow", @@ -155,8 +164,9 @@ dependencies = [ [[package]] name = "anchor-lang" -version = "0.19.0" -source = "git+https://github.com/microwavedcola1/anchor.git?branch=master-debug#e1006a56180409fa4faf528445c1899ff44a632e" +version = "0.20.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4815ad6334fd2f561f7ddcc3cfbeed87ed3003724171bd80ebe6383d5173ee8f" dependencies = [ "anchor-attribute-access-control", "anchor-attribute-account", @@ -167,6 +177,7 @@ dependencies = [ "anchor-attribute-program", "anchor-attribute-state", "anchor-derive-accounts", + "arrayref", "base64 0.13.0", "bincode", "borsh", @@ -177,8 +188,9 @@ dependencies = [ [[package]] name = "anchor-spl" -version = "0.19.0" -source = "git+https://github.com/microwavedcola1/anchor.git?branch=master-debug#e1006a56180409fa4faf528445c1899ff44a632e" +version = "0.20.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ea94b04fc9a0aaae4d4473b0595fb5f55b6c9b38e0d6f596df8c8060f95f096" dependencies = [ "anchor-lang", "solana-program", @@ -188,8 +200,9 @@ dependencies = [ [[package]] name = "anchor-syn" -version = "0.19.0" -source = "git+https://github.com/microwavedcola1/anchor.git?branch=master-debug#e1006a56180409fa4faf528445c1899ff44a632e" +version = "0.20.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3be7bfb6991d79cce3495fb6ce0892f58a5c75a74c8d1c2fc6f62926066eb9f4" dependencies = [ "anyhow", "bs58 0.3.1", @@ -3216,7 +3229,7 @@ checksum = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d" [[package]] name = "voter-stake-registry" -version = "0.1.3" +version = "0.1.4" dependencies = [ "anchor-lang", "anchor-spl", diff --git a/package.json b/package.json index a5e2e64..d90fecc 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@blockworks-foundation/voter-stake-registry-client", - "version": "0.1.3", + "version": "0.1.4", "description": "Client for Voter-stake-registry which is a voter weight addin for Solana's spl-governance program.", "main": "lib/src/index.js", "types": "lib/src/index.d.ts", diff --git a/programs/voter-stake-registry/Cargo.toml b/programs/voter-stake-registry/Cargo.toml index a285a4a..9613498 100644 --- a/programs/voter-stake-registry/Cargo.toml +++ b/programs/voter-stake-registry/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "voter-stake-registry" -version = "0.1.3" +version = "0.1.4" description = "Created with Anchor" edition = "2018" @@ -18,21 +18,25 @@ localnet = [] test-bpf = [] [dependencies] -# todo switch to an official release before launch -anchor-lang = { git = "https://github.com/microwavedcola1/anchor.git", branch = "master-debug" } -# todo switch to an official release before launch -anchor-spl = { git = "https://github.com/microwavedcola1/anchor.git", branch = "master-debug", features = ["governance"]} +# a) for deployment use these +anchor-lang = "0.20.1" +anchor-spl = { version = "0.20.1", features = ["governance"]} +# b) while testing, use below dependencies for debugging instead of above ones +# anchor-lang = { git = "https://github.com/microwavedcola1/anchor.git", branch = "master-debug" } +# anchor-spl = { git = "https://github.com/microwavedcola1/anchor.git", branch = "master-debug", features = ["governance"]} # The rev used for spl-governance must match what the fixture binary # programs/voter-stake-registry/tests/fixtures/spl_governance.so is built from. spl-governance = { git = "https://github.com/solana-labs/solana-program-library", rev = "1a0155e34bf96489db2cd498be79ca417c87c09f", features = ["no-entrypoint"] } -solana-program = "^1.8.1" + +# refer solana to the same version anchor-lang 0.20.1 refers to +solana-program = "1.8.5" static_assertions = "1.1" [dev-dependencies] -solana-sdk = "^1.8.1" -solana-program-test = "^1.8.1" -solana-logger = "^1.8.1" +solana-sdk = "1.8.5" +solana-program-test = "1.8.5" +solana-logger = "1.8.5" spl-token = { version = "^3.0.0", features = ["no-entrypoint"] } spl-associated-token-account = { version = "^1.0.3", features = ["no-entrypoint"] } bytemuck = "^1.7.2" diff --git a/run-publish.sh b/run-publish.sh deleted file mode 100755 index 0033f35..0000000 --- a/run-publish.sh +++ /dev/null @@ -1,8 +0,0 @@ -#!/usr/bin/env bash - -set -e -o pipefail -anchor build -cp ./target/idl/voter_stake_registry.json src/voter_stake_registry.json -cp ./target/types/voter_stake_registry.ts src/voter_stake_registry.ts -#yarn clean && yarn build && cp package.json ./dist/ && yarn publish dist - diff --git a/run-release.sh b/run-release.sh new file mode 100755 index 0000000..3b45869 --- /dev/null +++ b/run-release.sh @@ -0,0 +1,23 @@ +#!/usr/bin/env bash + +set -euo pipefail + +if [[ -z "${PROVIDER_WALLET}" ]]; then + echo "Please provide path to a provider wallet keypair." + exit -1 +fi + +if [[ -z "${VERSION_MANUALLY_BUMPED}" ]]; then + echo "Please bump versions in package.json and in cargo.toml." + exit -1 +fi + +anchor build + +anchor deploy --provider.cluster devnet --provider.wallet ${PROVIDER_WALLET} +anchor idl upgrade --provider.cluster devnet --provider.wallet ${PROVIDER_WALLET}\ + --filepath target/idl/voter_stake_registry.json 4Q6WW2ouZ6V3iaNm56MTd5n2tnTm4C5fiH8miFHnAFHo + +cp ./target/types/voter_stake_registry.ts src/voter_stake_registry.ts +yarn clean && yarn build && cp package.json ./dist/ && yarn publish dist + diff --git a/run-test.sh b/run-test.sh index b59ea9b..a921b32 100755 --- a/run-test.sh +++ b/run-test.sh @@ -2,4 +2,4 @@ set -euo pipefail -./run-format.sh && anchor test -- --features localnet \ No newline at end of file +cargo test-bpf \ No newline at end of file diff --git a/src/client.ts b/src/client.ts index bb9de95..3521738 100644 --- a/src/client.ts +++ b/src/client.ts @@ -1,7 +1,6 @@ import { Program, Provider } from '@project-serum/anchor'; import { PublicKey } from '@solana/web3.js'; -import { VoterStakeRegistry } from './voter_stake_registry'; -import IDL from './voter_stake_registry.json'; +import { VoterStakeRegistry, IDL } from './voter_stake_registry'; export const VSR_ID = new PublicKey( '4Q6WW2ouZ6V3iaNm56MTd5n2tnTm4C5fiH8miFHnAFHo', @@ -17,7 +16,7 @@ export class VsrClient { provider: Provider, devnet?: boolean, ): Promise { - // fixme: when we push idl to mainnet we could use this + // alternatively we could fetch from chain // const idl = await Program.fetchIdl(VSR_ID, provider); const idl = IDL; diff --git a/src/voter_stake_registry.json b/src/voter_stake_registry.json deleted file mode 100644 index 485b47c..0000000 --- a/src/voter_stake_registry.json +++ /dev/null @@ -1,1085 +0,0 @@ -{ - "version": "0.1.3", - "name": "voter_stake_registry", - "instructions": [ - { - "name": "createRegistrar", - "accounts": [ - { - "name": "registrar", - "isMut": true, - "isSigner": false - }, - { - "name": "realm", - "isMut": false, - "isSigner": false - }, - { - "name": "governanceProgramId", - "isMut": false, - "isSigner": false - }, - { - "name": "realmGoverningTokenMint", - "isMut": false, - "isSigner": false - }, - { - "name": "realmAuthority", - "isMut": false, - "isSigner": true - }, - { - "name": "payer", - "isMut": true, - "isSigner": true - }, - { - "name": "systemProgram", - "isMut": false, - "isSigner": false - }, - { - "name": "rent", - "isMut": false, - "isSigner": false - } - ], - "args": [ - { - "name": "registrarBump", - "type": "u8" - } - ] - }, - { - "name": "configureVotingMint", - "accounts": [ - { - "name": "registrar", - "isMut": true, - "isSigner": false - }, - { - "name": "realmAuthority", - "isMut": false, - "isSigner": true - }, - { - "name": "mint", - "isMut": false, - "isSigner": false - } - ], - "args": [ - { - "name": "idx", - "type": "u16" - }, - { - "name": "digitShift", - "type": "i8" - }, - { - "name": "depositScaledFactor", - "type": "u64" - }, - { - "name": "lockupScaledFactor", - "type": "u64" - }, - { - "name": "lockupSaturationSecs", - "type": "u64" - }, - { - "name": "grantAuthority", - "type": { - "option": "publicKey" - } - } - ] - }, - { - "name": "createVoter", - "accounts": [ - { - "name": "registrar", - "isMut": false, - "isSigner": false - }, - { - "name": "voter", - "isMut": true, - "isSigner": false - }, - { - "name": "voterAuthority", - "isMut": false, - "isSigner": true - }, - { - "name": "voterWeightRecord", - "isMut": true, - "isSigner": false - }, - { - "name": "payer", - "isMut": true, - "isSigner": true - }, - { - "name": "systemProgram", - "isMut": false, - "isSigner": false - }, - { - "name": "rent", - "isMut": false, - "isSigner": false - }, - { - "name": "instructions", - "isMut": false, - "isSigner": false - } - ], - "args": [ - { - "name": "voterBump", - "type": "u8" - }, - { - "name": "voterWeightRecordBump", - "type": "u8" - } - ] - }, - { - "name": "createDepositEntry", - "accounts": [ - { - "name": "registrar", - "isMut": false, - "isSigner": false - }, - { - "name": "voter", - "isMut": true, - "isSigner": false - }, - { - "name": "vault", - "isMut": true, - "isSigner": false - }, - { - "name": "voterAuthority", - "isMut": false, - "isSigner": true - }, - { - "name": "payer", - "isMut": true, - "isSigner": true - }, - { - "name": "depositMint", - "isMut": false, - "isSigner": false - }, - { - "name": "systemProgram", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenProgram", - "isMut": false, - "isSigner": false - }, - { - "name": "associatedTokenProgram", - "isMut": false, - "isSigner": false - }, - { - "name": "rent", - "isMut": false, - "isSigner": false - } - ], - "args": [ - { - "name": "depositEntryIndex", - "type": "u8" - }, - { - "name": "kind", - "type": { - "defined": "LockupKind" - } - }, - { - "name": "startTs", - "type": { - "option": "u64" - } - }, - { - "name": "periods", - "type": "u32" - }, - { - "name": "allowClawback", - "type": "bool" - } - ] - }, - { - "name": "deposit", - "accounts": [ - { - "name": "registrar", - "isMut": false, - "isSigner": false - }, - { - "name": "voter", - "isMut": true, - "isSigner": false - }, - { - "name": "vault", - "isMut": true, - "isSigner": false - }, - { - "name": "depositToken", - "isMut": true, - "isSigner": false - }, - { - "name": "depositAuthority", - "isMut": false, - "isSigner": true - }, - { - "name": "tokenProgram", - "isMut": false, - "isSigner": false - } - ], - "args": [ - { - "name": "depositEntryIndex", - "type": "u8" - }, - { - "name": "amount", - "type": "u64" - } - ] - }, - { - "name": "withdraw", - "accounts": [ - { - "name": "registrar", - "isMut": false, - "isSigner": false - }, - { - "name": "voter", - "isMut": true, - "isSigner": false - }, - { - "name": "voterAuthority", - "isMut": false, - "isSigner": true - }, - { - "name": "tokenOwnerRecord", - "isMut": false, - "isSigner": false - }, - { - "name": "voterWeightRecord", - "isMut": true, - "isSigner": false - }, - { - "name": "vault", - "isMut": true, - "isSigner": false - }, - { - "name": "destination", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenProgram", - "isMut": false, - "isSigner": false - } - ], - "args": [ - { - "name": "depositEntryIndex", - "type": "u8" - }, - { - "name": "amount", - "type": "u64" - } - ] - }, - { - "name": "grant", - "accounts": [ - { - "name": "registrar", - "isMut": false, - "isSigner": false - }, - { - "name": "voter", - "isMut": true, - "isSigner": false - }, - { - "name": "voterAuthority", - "isMut": false, - "isSigner": false - }, - { - "name": "voterWeightRecord", - "isMut": true, - "isSigner": false - }, - { - "name": "vault", - "isMut": true, - "isSigner": false - }, - { - "name": "depositToken", - "isMut": true, - "isSigner": false - }, - { - "name": "authority", - "isMut": false, - "isSigner": true - }, - { - "name": "payer", - "isMut": true, - "isSigner": true - }, - { - "name": "depositMint", - "isMut": false, - "isSigner": false - }, - { - "name": "systemProgram", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenProgram", - "isMut": false, - "isSigner": false - }, - { - "name": "associatedTokenProgram", - "isMut": false, - "isSigner": false - }, - { - "name": "rent", - "isMut": false, - "isSigner": false - } - ], - "args": [ - { - "name": "voterBump", - "type": "u8" - }, - { - "name": "voterWeightRecordBump", - "type": "u8" - }, - { - "name": "kind", - "type": { - "defined": "LockupKind" - } - }, - { - "name": "startTs", - "type": { - "option": "u64" - } - }, - { - "name": "periods", - "type": "u32" - }, - { - "name": "allowClawback", - "type": "bool" - }, - { - "name": "amount", - "type": "u64" - } - ] - }, - { - "name": "clawback", - "accounts": [ - { - "name": "registrar", - "isMut": false, - "isSigner": false - }, - { - "name": "realmAuthority", - "isMut": false, - "isSigner": true - }, - { - "name": "voter", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenOwnerRecord", - "isMut": false, - "isSigner": false - }, - { - "name": "vault", - "isMut": true, - "isSigner": false - }, - { - "name": "destination", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenProgram", - "isMut": false, - "isSigner": false - } - ], - "args": [ - { - "name": "depositEntryIndex", - "type": "u8" - } - ] - }, - { - "name": "closeDepositEntry", - "accounts": [ - { - "name": "voter", - "isMut": true, - "isSigner": false - }, - { - "name": "voterAuthority", - "isMut": false, - "isSigner": true - } - ], - "args": [ - { - "name": "depositEntryIndex", - "type": "u8" - } - ] - }, - { - "name": "resetLockup", - "accounts": [ - { - "name": "registrar", - "isMut": false, - "isSigner": false - }, - { - "name": "voter", - "isMut": true, - "isSigner": false - }, - { - "name": "voterAuthority", - "isMut": false, - "isSigner": true - } - ], - "args": [ - { - "name": "depositEntryIndex", - "type": "u8" - }, - { - "name": "kind", - "type": { - "defined": "LockupKind" - } - }, - { - "name": "periods", - "type": "u32" - } - ] - }, - { - "name": "internalTransfer", - "accounts": [ - { - "name": "registrar", - "isMut": false, - "isSigner": false - }, - { - "name": "voter", - "isMut": true, - "isSigner": false - }, - { - "name": "voterAuthority", - "isMut": false, - "isSigner": true - } - ], - "args": [ - { - "name": "sourceDepositEntryIndex", - "type": "u8" - }, - { - "name": "targetDepositEntryIndex", - "type": "u8" - }, - { - "name": "amount", - "type": "u64" - } - ] - }, - { - "name": "updateVoterWeightRecord", - "accounts": [ - { - "name": "registrar", - "isMut": false, - "isSigner": false - }, - { - "name": "voter", - "isMut": false, - "isSigner": false - }, - { - "name": "voterWeightRecord", - "isMut": true, - "isSigner": false - }, - { - "name": "systemProgram", - "isMut": false, - "isSigner": false - } - ], - "args": [] - }, - { - "name": "updateMaxVoteWeight", - "accounts": [ - { - "name": "registrar", - "isMut": false, - "isSigner": false - }, - { - "name": "maxVoteWeightRecord", - "isMut": false, - "isSigner": false - } - ], - "args": [] - }, - { - "name": "closeVoter", - "accounts": [ - { - "name": "voter", - "isMut": true, - "isSigner": false - }, - { - "name": "voterAuthority", - "isMut": false, - "isSigner": true - }, - { - "name": "solDestination", - "isMut": false, - "isSigner": false - } - ], - "args": [] - }, - { - "name": "setTimeOffset", - "accounts": [ - { - "name": "registrar", - "isMut": true, - "isSigner": false - }, - { - "name": "realmAuthority", - "isMut": false, - "isSigner": true - } - ], - "args": [ - { - "name": "timeOffset", - "type": "i64" - } - ] - } - ], - "accounts": [ - { - "name": "Registrar", - "type": { - "kind": "struct", - "fields": [ - { - "name": "governanceProgramId", - "type": "publicKey" - }, - { - "name": "realm", - "type": "publicKey" - }, - { - "name": "realmGoverningTokenMint", - "type": "publicKey" - }, - { - "name": "realmAuthority", - "type": "publicKey" - }, - { - "name": "padding1", - "type": { - "array": [ - "u8", - 32 - ] - } - }, - { - "name": "votingMints", - "type": { - "array": [ - { - "defined": "VotingMintConfig" - }, - 4 - ] - } - }, - { - "name": "timeOffset", - "type": "i64" - }, - { - "name": "bump", - "type": "u8" - }, - { - "name": "padding2", - "type": { - "array": [ - "u8", - 31 - ] - } - } - ] - } - }, - { - "name": "Voter", - "type": { - "kind": "struct", - "fields": [ - { - "name": "voterAuthority", - "type": "publicKey" - }, - { - "name": "registrar", - "type": "publicKey" - }, - { - "name": "deposits", - "type": { - "array": [ - { - "defined": "DepositEntry" - }, - 32 - ] - } - }, - { - "name": "voterBump", - "type": "u8" - }, - { - "name": "voterWeightRecordBump", - "type": "u8" - }, - { - "name": "padding", - "type": { - "array": [ - "u8", - 30 - ] - } - } - ] - } - } - ], - "types": [ - { - "name": "DepositEntry", - "type": { - "kind": "struct", - "fields": [ - { - "name": "lockup", - "type": { - "defined": "Lockup" - } - }, - { - "name": "amountDepositedNative", - "type": "u64" - }, - { - "name": "amountInitiallyLockedNative", - "type": "u64" - }, - { - "name": "isUsed", - "type": "bool" - }, - { - "name": "allowClawback", - "type": "bool" - }, - { - "name": "votingMintConfigIdx", - "type": "u8" - }, - { - "name": "padding", - "type": { - "array": [ - "u8", - 13 - ] - } - } - ] - } - }, - { - "name": "Lockup", - "type": { - "kind": "struct", - "fields": [ - { - "name": "startTs", - "type": "i64" - }, - { - "name": "endTs", - "type": "i64" - }, - { - "name": "kind", - "type": { - "defined": "LockupKind" - } - }, - { - "name": "padding", - "type": { - "array": [ - "u8", - 15 - ] - } - } - ] - } - }, - { - "name": "VotingMintConfig", - "type": { - "kind": "struct", - "fields": [ - { - "name": "mint", - "type": "publicKey" - }, - { - "name": "grantAuthority", - "type": "publicKey" - }, - { - "name": "depositScaledFactor", - "type": "u64" - }, - { - "name": "lockupScaledFactor", - "type": "u64" - }, - { - "name": "lockupSaturationSecs", - "type": "u64" - }, - { - "name": "digitShift", - "type": "i8" - }, - { - "name": "padding", - "type": { - "array": [ - "u8", - 31 - ] - } - } - ] - } - }, - { - "name": "LockupKind", - "type": { - "kind": "enum", - "variants": [ - { - "name": "None" - }, - { - "name": "Daily" - }, - { - "name": "Monthly" - }, - { - "name": "Cliff" - }, - { - "name": "Constant" - } - ] - } - } - ], - "errors": [ - { - "code": 6000, - "name": "InvalidRate", - "msg": "Exchange rate must be greater than zero" - }, - { - "code": 6001, - "name": "RatesFull", - "msg": "" - }, - { - "code": 6002, - "name": "VotingMintNotFound", - "msg": "" - }, - { - "code": 6003, - "name": "DepositEntryNotFound", - "msg": "" - }, - { - "code": 6004, - "name": "DepositEntryFull", - "msg": "" - }, - { - "code": 6005, - "name": "VotingTokenNonZero", - "msg": "" - }, - { - "code": 6006, - "name": "OutOfBoundsDepositEntryIndex", - "msg": "" - }, - { - "code": 6007, - "name": "UnusedDepositEntryIndex", - "msg": "" - }, - { - "code": 6008, - "name": "InsufficientVestedTokens", - "msg": "" - }, - { - "code": 6009, - "name": "UnableToConvert", - "msg": "" - }, - { - "code": 6010, - "name": "InvalidLockupPeriod", - "msg": "" - }, - { - "code": 6011, - "name": "InvalidEndTs", - "msg": "" - }, - { - "code": 6012, - "name": "InvalidDays", - "msg": "" - }, - { - "code": 6013, - "name": "VotingMintConfigIndexAlreadyInUse", - "msg": "" - }, - { - "code": 6014, - "name": "OutOfBoundsVotingMintConfigIndex", - "msg": "" - }, - { - "code": 6015, - "name": "InvalidDecimals", - "msg": "Exchange rate decimals cannot be larger than registrar decimals" - }, - { - "code": 6016, - "name": "InvalidToDepositAndWithdrawInOneSlot", - "msg": "" - }, - { - "code": 6017, - "name": "ShouldBeTheFirstIxInATx", - "msg": "" - }, - { - "code": 6018, - "name": "ForbiddenCpi", - "msg": "" - }, - { - "code": 6019, - "name": "InvalidMint", - "msg": "" - }, - { - "code": 6020, - "name": "DebugInstruction", - "msg": "" - }, - { - "code": 6021, - "name": "ClawbackNotAllowedOnDeposit", - "msg": "" - }, - { - "code": 6022, - "name": "DepositStillLocked", - "msg": "" - }, - { - "code": 6023, - "name": "InvalidAuthority", - "msg": "" - }, - { - "code": 6024, - "name": "InvalidTokenOwnerRecord", - "msg": "" - }, - { - "code": 6025, - "name": "InvalidRealmAuthority", - "msg": "" - }, - { - "code": 6026, - "name": "VoterWeightOverflow", - "msg": "" - }, - { - "code": 6027, - "name": "LockupSaturationMustBePositive", - "msg": "" - }, - { - "code": 6028, - "name": "VotingMintConfiguredWithDifferentIndex", - "msg": "" - }, - { - "code": 6029, - "name": "InternalProgramError", - "msg": "" - }, - { - "code": 6030, - "name": "InsufficientLockedTokens", - "msg": "" - }, - { - "code": 6031, - "name": "MustKeepTokensLocked", - "msg": "" - }, - { - "code": 6032, - "name": "InvalidLockupKind", - "msg": "" - }, - { - "code": 6033, - "name": "InvalidChangeToClawbackDepositEntry", - "msg": "" - } - ] -} \ No newline at end of file diff --git a/src/voter_stake_registry.ts b/src/voter_stake_registry.ts index 195fdd9..2fd53f1 100644 --- a/src/voter_stake_registry.ts +++ b/src/voter_stake_registry.ts @@ -1,5 +1,5 @@ export type VoterStakeRegistry = { - "version": "0.1.3", + "version": "0.1.4", "name": "voter_stake_registry", "instructions": [ { @@ -1085,7 +1085,7 @@ export type VoterStakeRegistry = { }; export const IDL: VoterStakeRegistry = { - "version": "0.1.3", + "version": "0.1.4", "name": "voter_stake_registry", "instructions": [ {