From f90a7875ea7b1b81655a52ef6d864f703ae9bcd6 Mon Sep 17 00:00:00 2001 From: Bryan Date: Mon, 6 Nov 2023 11:25:26 -0600 Subject: [PATCH 01/25] Feature/bump deps (#10) * bump deps * fix clippy * fix tests * remove commented out test block * add back project-serum for tests * add bootstrap script * fix bootstrap * test * test nft-voter * fix tests --- .github/workflows/tests.yaml | 63 +------ Anchor.toml | 2 +- package.json | 4 +- packages/docsite/src/data/navigation.js | 2 - .../src/pages/docs/api/nft-voter-sdk.md | 6 +- .../src/pages/docs/api/organization-sdk.md | 24 +++ .../src/pages/docs/api/proposal-sdk.md | 14 +- .../pages/docs/api/state-controller-sdk.md | 4 +- .../modular-governance-hooks/package.json | 10 +- packages/modular-governance-idls/package.json | 2 +- .../tsconfig.esm.tsbuildinfo | 2 +- packages/nft-voter-sdk/package.json | 2 +- packages/organization-sdk/package.json | 2 +- packages/organization-wallet-sdk/package.json | 2 +- packages/proposal-sdk/package.json | 2 +- packages/state-controller-sdk/package.json | 2 +- packages/token-voter-sdk/package.json | 2 +- .../src/instructions/relinquish_vote_v0.rs | 2 +- programs/proposal/src/instructions/vote_v0.rs | 5 +- .../src/instructions/on_vote_v0.rs | 5 +- .../src/instructions/resolve_v0.rs | 5 +- .../src/instructions/update_state_v0.rs | 6 +- programs/state_controller/src/state.rs | 2 +- .../src/instructions/relinquish_vote_v0.rs | 2 +- scripts/bootstrap.sh | 16 ++ tests/nft-voter.ts | 3 +- tests/organization-wallet.ts | 9 +- tests/organization.ts | 7 +- tests/proposal.ts | 3 +- tests/state-controller.ts | 3 +- tests/token-voter.ts | 6 +- yarn.lock | 175 ++++++++++++------ 32 files changed, 208 insertions(+), 186 deletions(-) create mode 100755 scripts/bootstrap.sh diff --git a/.github/workflows/tests.yaml b/.github/workflows/tests.yaml index 580e748..0994560 100644 --- a/.github/workflows/tests.yaml +++ b/.github/workflows/tests.yaml @@ -80,53 +80,6 @@ jobs: - name: Run bootstrap script run: ./scripts/bootstrap.sh - test-docker-builds: - needs: build - name: Test Docker Builds - runs-on: ubuntu-latest - strategy: - fail-fast: false - matrix: - test: - - utils/ecc-sig-verifier - - packages/monitor-service - - packages/faucet-service - - packages/metadata-service - - packages/distributor-oracle - - packages/account-postgres-sink-service - - packages/active-device-oracle - - packages/fanout-metadata-service - - packages/tokens-to-rent-service - - packages/rewards-oracle-faucet-service - - packages/vsr-metadata-service - steps: - - uses: actions/checkout@v3 - - run: cd $DOCKER_PATH && docker build . - env: - DOCKER_PATH: ${{ matrix.test }} - - test-rust-builds: - needs: build - name: Test Rust Builds - runs-on: ubuntu-latest - strategy: - fail-fast: false - matrix: - test: - - utils/ecc-sig-verifier - - utils/bulk-claim-rewards - - utils/hpl-utils - - utils/migration-tx-executor - - utils/vehnt - steps: - - uses: actions/checkout@v3 - - uses: ./.github/actions/build-anchor/ - with: - testing: true - - run: cd $RUST_PATH && cargo build - env: - RUST_PATH: ${{ matrix.test }} - test-contracts: needs: build name: Test Anchor Contracts @@ -135,16 +88,12 @@ jobs: fail-fast: false matrix: test: - - tests/circuit-breaker.ts - - tests/data-credits.ts - - tests/distributor-oracle.ts - - tests/helium-entity-manager.ts - - tests/mobile-entity-manager.ts - - tests/lazy-distributor.ts - - tests/lazy-transactions.ts - - tests/treasury-management.ts - - tests/voter-stake-registry.ts - - tests/fanout.ts + - tests/nft-voter.ts + - tests/organization-wallet.ts + - tests/organization.ts + - tests/proposal.ts + - tests/state-controller.ts + - tests/token-voter.ts steps: - uses: actions/checkout@v3 - uses: ./.github/actions/build-anchor/ diff --git a/Anchor.toml b/Anchor.toml index 7cd0c72..26f57d9 100644 --- a/Anchor.toml +++ b/Anchor.toml @@ -14,7 +14,7 @@ organization_wallet = "orgwPMqJs9xft8UefUdKfyBwg6GDnN6oLhpMaKa6nJg" url = "https://api.apr.dev" [provider] -cluster = "Localnet" +cluster = "localnet" wallet = "~/.config/solana/id.json" [scripts] diff --git a/package.json b/package.json index 5a855b0..1445a82 100644 --- a/package.json +++ b/package.json @@ -20,12 +20,12 @@ "dependencies": { "@coral-xyz/anchor": "^0.28.0", "@helium/anchor-resolvers": "^0.2.", + "@helium/spl-utils": "^0.4.3", + "@metaplex-foundation/js": "^0.19.4", "@project-serum/anchor": "^0.26.0", "@solana/web3.js": "^1.78.0" }, "devDependencies": { - "@helium/spl-utils": "^0.2.17", - "@metaplex-foundation/js": "^0.19.4", "@types/bn.js": "^5.1.0", "@types/chai": "^4.3.0", "@types/chai-as-promised": "^7.1.5", diff --git a/packages/docsite/src/data/navigation.js b/packages/docsite/src/data/navigation.js index 1f656f6..2f58ddc 100644 --- a/packages/docsite/src/data/navigation.js +++ b/packages/docsite/src/data/navigation.js @@ -84,8 +84,6 @@ export const navigation = [ { title: "Proposal", href: "/docs/api/proposal-sdk" }, - { title: "Organizations", href: "/docs/api/organizations-sdk" }, - { title: "Organization wallet", href: "/docs/api/organization-wallet-sdk", diff --git a/packages/docsite/src/pages/docs/api/nft-voter-sdk.md b/packages/docsite/src/pages/docs/api/nft-voter-sdk.md index 47d0b8e..ca3b76f 100644 --- a/packages/docsite/src/pages/docs/api/nft-voter-sdk.md +++ b/packages/docsite/src/pages/docs/api/nft-voter-sdk.md @@ -144,9 +144,9 @@ If you are looking for a quick start guide, check out the [Getting Started](/doc ### ProgrammableConfig -| Variant | Fields | -| ------- | ------------------------- | -| V1 | rule_set: [object Object] | +| Variant | Fields | +| ------- | ------------------------ | +| V1 | ruleSet: [object Object] | ### UseMethod diff --git a/packages/docsite/src/pages/docs/api/organization-sdk.md b/packages/docsite/src/pages/docs/api/organization-sdk.md index 7146c04..227488a 100644 --- a/packages/docsite/src/pages/docs/api/organization-sdk.md +++ b/packages/docsite/src/pages/docs/api/organization-sdk.md @@ -43,6 +43,21 @@ If you are looking for a quick start guide, check out the [Getting Started](/doc | ---- | ------------------------ | ---- | | args | InitializeProposalArgsV0 | | +### updateOrganizationV0 + +#### Accounts + +| Name | Mutability | Signer | Docs | +| ------------ | ---------- | ------ | ---- | +| organization | mut | no | | +| authority | immut | yes | | + +#### Args + +| Name | Type | Docs | +| ---- | ------------------------ | ---- | +| args | UpdateOrganizationArgsV0 | | + ## Accounts ### OrganizationV0 @@ -85,3 +100,12 @@ If you are looking for a quick start guide, check out the [Getting Started](/doc | maxChoicesPerVoter | u16 | | choices | ChoiceArg | | tags | string | + +### UpdateOrganizationArgsV0 + +| Field | Type | +| --------------------- | --------- | +| authority | publicKey | +| defaultProposalConfig | publicKey | +| proposalProgram | publicKey | +| uri | string | diff --git a/packages/docsite/src/pages/docs/api/proposal-sdk.md b/packages/docsite/src/pages/docs/api/proposal-sdk.md index 47f9d4c..e3a4914 100644 --- a/packages/docsite/src/pages/docs/api/proposal-sdk.md +++ b/packages/docsite/src/pages/docs/api/proposal-sdk.md @@ -159,10 +159,10 @@ If you are looking for a quick start guide, check out the [Getting Started](/doc ### ProposalState -| Variant | Fields | -| --------- | ------------------------------------- | -| Draft | | -| Cancelled | | -| Voting | start_ts: i64 | -| Resolved | choices: [object Object], end_ts: i64 | -| Custom | name: string, bin: bytes | +| Variant | Fields | +| --------- | ------------------------------------ | +| Draft | | +| Cancelled | | +| Voting | startTs: i64 | +| Resolved | choices: [object Object], endTs: i64 | +| Custom | name: string, bin: bytes | diff --git a/packages/docsite/src/pages/docs/api/state-controller-sdk.md b/packages/docsite/src/pages/docs/api/state-controller-sdk.md index e10045d..e8e13d4 100644 --- a/packages/docsite/src/pages/docs/api/state-controller-sdk.md +++ b/packages/docsite/src/pages/docs/api/state-controller-sdk.md @@ -127,9 +127,9 @@ If you are looking for a quick start guide, check out the [Getting Started](/doc | Variant | Fields | | ----------------- | ------------------------ | | Resolved | choices: [object Object] | -| EndTimestamp | end_ts: i64 | +| EndTimestamp | endTs: i64 | | OffsetFromStartTs | offset: i64 | -| ChoiceVoteWeight | weight_threshold: u128 | +| ChoiceVoteWeight | weightThreshold: u128 | | ChoicePercentage | percentage: i32 | | Top | n: u16 | | NumResolved | n: u16 | diff --git a/packages/modular-governance-hooks/package.json b/packages/modular-governance-hooks/package.json index 4e91eb5..e4b733c 100644 --- a/packages/modular-governance-hooks/package.json +++ b/packages/modular-governance-hooks/package.json @@ -32,13 +32,13 @@ "prebuild": "npm run clean && npm run package" }, "dependencies": { - "@coral-xyz/anchor": "^0.26.0", - "@helium/account-fetch-cache": "^0.2.17", - "@helium/account-fetch-cache-hooks": "^0.2.17", - "@helium/helium-react-hooks": "^0.2.17", + "@coral-xyz/anchor": "^0.28.0", + "@helium/account-fetch-cache": "^0.4.3", + "@helium/account-fetch-cache-hooks": "^0.4.3", + "@helium/helium-react-hooks": "^0.4.3", "@helium/modular-governance-idls": "^0.0.5", "@helium/organization-sdk": "^0.0.5", - "@solana/web3.js": "^1.66.2" + "@solana/web3.js": "^1.78.4" }, "devDependencies": { "git-format-staged": "^2.1.3", diff --git a/packages/modular-governance-idls/package.json b/packages/modular-governance-idls/package.json index c72f111..afb8716 100644 --- a/packages/modular-governance-idls/package.json +++ b/packages/modular-governance-idls/package.json @@ -27,7 +27,7 @@ }, "dependencies": { "@coral-xyz/anchor": "^0.28.0", - "@solana/web3.js": "^1.43.4" + "@solana/web3.js": "^1.78.4" }, "devDependencies": { "ts-loader": "^9.2.3", diff --git a/packages/modular-governance-idls/packages/modular-governance-idls/tsconfig.esm.tsbuildinfo b/packages/modular-governance-idls/packages/modular-governance-idls/tsconfig.esm.tsbuildinfo index fb3260f..0e4409e 100644 --- a/packages/modular-governance-idls/packages/modular-governance-idls/tsconfig.esm.tsbuildinfo +++ b/packages/modular-governance-idls/packages/modular-governance-idls/tsconfig.esm.tsbuildinfo @@ -1 +1 @@ -{"program":{"fileNames":["../../../../node_modules/typescript/lib/lib.es5.d.ts","../../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../../target/types/nft_voter.ts","../../../../target/types/organization.ts","../../../../target/types/organization_wallet.ts","../../../../target/types/organizations.ts","../../../../target/types/proposal.ts","../../../../target/types/state_controller.ts","../../../../target/types/token_voter.ts","../../../../target/types/vote_hook_interface.ts","../../../../node_modules/@types/node/assert.d.ts","../../../../node_modules/@types/node/assert/strict.d.ts","../../../../node_modules/@types/node/globals.d.ts","../../../../node_modules/@types/node/async_hooks.d.ts","../../../../node_modules/@types/node/buffer.d.ts","../../../../node_modules/@types/node/child_process.d.ts","../../../../node_modules/@types/node/cluster.d.ts","../../../../node_modules/@types/node/console.d.ts","../../../../node_modules/@types/node/constants.d.ts","../../../../node_modules/@types/node/crypto.d.ts","../../../../node_modules/@types/node/dgram.d.ts","../../../../node_modules/@types/node/diagnostics_channel.d.ts","../../../../node_modules/@types/node/dns.d.ts","../../../../node_modules/@types/node/dns/promises.d.ts","../../../../node_modules/@types/node/domain.d.ts","../../../../node_modules/@types/node/dom-events.d.ts","../../../../node_modules/@types/node/events.d.ts","../../../../node_modules/@types/node/fs.d.ts","../../../../node_modules/@types/node/fs/promises.d.ts","../../../../node_modules/@types/node/http.d.ts","../../../../node_modules/@types/node/http2.d.ts","../../../../node_modules/@types/node/https.d.ts","../../../../node_modules/@types/node/inspector.d.ts","../../../../node_modules/@types/node/module.d.ts","../../../../node_modules/@types/node/net.d.ts","../../../../node_modules/@types/node/os.d.ts","../../../../node_modules/@types/node/path.d.ts","../../../../node_modules/@types/node/perf_hooks.d.ts","../../../../node_modules/@types/node/process.d.ts","../../../../node_modules/@types/node/punycode.d.ts","../../../../node_modules/@types/node/querystring.d.ts","../../../../node_modules/@types/node/readline.d.ts","../../../../node_modules/@types/node/readline/promises.d.ts","../../../../node_modules/@types/node/repl.d.ts","../../../../node_modules/@types/node/stream.d.ts","../../../../node_modules/@types/node/stream/promises.d.ts","../../../../node_modules/@types/node/stream/consumers.d.ts","../../../../node_modules/@types/node/stream/web.d.ts","../../../../node_modules/@types/node/string_decoder.d.ts","../../../../node_modules/@types/node/test.d.ts","../../../../node_modules/@types/node/timers.d.ts","../../../../node_modules/@types/node/timers/promises.d.ts","../../../../node_modules/@types/node/tls.d.ts","../../../../node_modules/@types/node/trace_events.d.ts","../../../../node_modules/@types/node/tty.d.ts","../../../../node_modules/@types/node/url.d.ts","../../../../node_modules/@types/node/util.d.ts","../../../../node_modules/@types/node/v8.d.ts","../../../../node_modules/@types/node/vm.d.ts","../../../../node_modules/@types/node/wasi.d.ts","../../../../node_modules/@types/node/worker_threads.d.ts","../../../../node_modules/@types/node/zlib.d.ts","../../../../node_modules/@types/node/globals.global.d.ts","../../../../node_modules/@types/node/index.d.ts","../../../../node_modules/@types/bn.js/index.d.ts","../../../../node_modules/@types/chai/index.d.ts","../../../../node_modules/@types/chai-as-promised/index.d.ts","../../../../node_modules/@types/connect/index.d.ts","../../../../node_modules/@types/json5/index.d.ts","../../../../node_modules/@types/minimatch/index.d.ts","../../../../node_modules/@types/minimist/index.d.ts","../../../../node_modules/@types/mocha/index.d.ts","../../../../node_modules/@types/normalize-package-data/index.d.ts","../../../../node_modules/@types/parse-json/index.d.ts","../../../../node_modules/@types/pbkdf2/index.d.ts","../../../../node_modules/@types/secp256k1/index.d.ts","../../../../node_modules/@types/ws/index.d.ts"],"fileInfos":[{"version":"8730f4bf322026ff5229336391a18bcaa1f94d4f82416c8b2f3954e2ccaae2ba","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","4b421cbfb3a38a27c279dec1e9112c3d1da296f77a1a85ddadf7e7a425d45d18","1fc5ab7a764205c68fa10d381b08417795fc73111d6dd16b5b1ed36badb743d9",{"version":"adb996790133eb33b33aadb9c09f15c2c575e71fb57a62de8bf74dbf59ec7dfb","affectsGlobalScope":true},{"version":"8cc8c5a3bac513368b0157f3d8b31cfdcfe78b56d3724f30f80ed9715e404af8","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"c5c05907c02476e4bde6b7e76a79ffcd948aedd14b6a8f56e4674221b0417398","affectsGlobalScope":true},{"version":"5f406584aef28a331c36523df688ca3650288d14f39c5d2e555c95f0d2ff8f6f","affectsGlobalScope":true},{"version":"22f230e544b35349cfb3bd9110b6ef37b41c6d6c43c3314a31bd0d9652fcec72","affectsGlobalScope":true},{"version":"7ea0b55f6b315cf9ac2ad622b0a7813315bb6e97bf4bb3fbf8f8affbca7dc695","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"eb26de841c52236d8222f87e9e6a235332e0788af8c87a71e9e210314300410a","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"81cac4cbc92c0c839c70f8ffb94eb61e2d32dc1c3cf6d95844ca099463cf37ea","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true},{"version":"6e7997ef61de3132e4d4b2250e75343f487903ddf5370e7ce33cf1b9db9a63ed","affectsGlobalScope":true},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true},{"version":"5e5e095c4470c8bab227dbbc61374878ecead104c74ab9960d3adcccfee23205","affectsGlobalScope":true},{"version":"09aa50414b80c023553090e2f53827f007a301bc34b0495bfb2c3c08ab9ad1eb","affectsGlobalScope":true},{"version":"d7f680a43f8cd12a6b6122c07c54ba40952b0c8aa140dcfcf32eb9e6cb028596","affectsGlobalScope":true},{"version":"3787b83e297de7c315d55d4a7c546ae28e5f6c0a361b7a1dcec1f1f50a54ef11","affectsGlobalScope":true},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true},{"version":"2768ef564cfc0689a1b76106c421a2909bdff0acbe87da010785adab80efdd5c","affectsGlobalScope":true},{"version":"b248e32ca52e8f5571390a4142558ae4f203ae2f94d5bac38a3084d529ef4e58","affectsGlobalScope":true},{"version":"fb4416144c1bf0323ccbc9afb0ab289c07312214e8820ad17d709498c865a3fe","affectsGlobalScope":true},{"version":"52d1bb7ab7a3306fd0375c8bff560feed26ed676a5b0457fa8027b563aecb9a4","affectsGlobalScope":true},{"version":"fcaf8aa0519e8f84890291f62110ff1a51e9b7b685e9c01cf0793b058206ba7f","signature":"f19f0fd467b90b5f1175a58165bac5fd65eee3d88c314499c378707e57b25007"},{"version":"b815a8e672f670ceb86ce89d068b5a746381c913079e71fe199e4894a81ea72b","signature":"d74e10db4d92a40ea018aee99fcf9996b34fdca03ab44458d87398ec0d7210c2"},{"version":"00613005f67d3895066a94016932e1cbb9f901a3be5f90077a7b3270f0f96b73","signature":"0564cee093efce698703257032564c51226b36290cdcb0e399508b400ef7e891"},{"version":"f8728a760f1a9ab46e620af4fea50a90256f641dce53e7202437dca4f94e84cb","signature":"cdc8fbc227e9a65d75dc8b007b86b1490dde5199660f6574ac9ab3367649e767"},{"version":"9ea991b07593562715cee431930b59567bebab8118a6e3a3febad1a4c81c9a93","signature":"7c886d11ade34ab54ed6a53e390b414ef46b48fd37ae4cfd2c87591401ec62c2"},{"version":"a0619a82fcf198f60fb7e3aa8e740942ec126a021996ac61981c4c8f5e33bca0","signature":"631636a8d03f325f5dde993375cdd5296e60ca23d61bdea9a8de4ed3f7d10f2b"},{"version":"2eb961423bb717b36ae6c89167574dc0a36a7469bd999bd088c854c11f481108","signature":"7e7d62fa024ea32b3e9bb2f0e97e200654e52b6a01513d06489d876ee0064c2c"},{"version":"d3fc1a478c7ee31a2c0900394e6531c6b0df5aa9395bdc601c83697a0c78b0f5","signature":"4ecc1ccb0bb5e43a48a6bae3314e125ca4a043424d2729982a71cdb943a66156"},"587f13f1e8157bd8cec0adda0de4ef558bb8573daa9d518d1e2af38e87ecc91f","a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a",{"version":"bce910d9164785c9f0d4dcea4be359f5f92130c7c7833dea6138ab1db310a1f9","affectsGlobalScope":true},"7a435e0c814f58f23e9a0979045ec0ef5909aac95a70986e8bcce30c27dff228",{"version":"c81c51f43e343b6d89114b17341fb9d381c4ccbb25e0ee77532376052c801ba7","affectsGlobalScope":true},"db71be322f07f769200108aa19b79a75dd19a187c9dca2a30c4537b233aa2863","57135ce61976a8b1dadd01bb412406d1805b90db6e8ecb726d0d78e0b5f76050",{"version":"49479e21a040c0177d1b1bc05a124c0383df7a08a0726ad4d9457619642e875a","affectsGlobalScope":true},"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","f302f3a47d7758f67f2afc753b9375d6504dde05d2e6ecdb1df50abbb131fc89","3690133deae19c8127c5505fcb67b04bdc9eb053796008538a9b9abbb70d85aa","5b1c0a23f464f894e7c2b2b6c56df7b9afa60ed48c5345f8618d389a636b2108","be2b092f2765222757c6441b86c53a5ea8dfed47bbc43eab4c5fe37942c866b3","8e6b05abc98adba15e1ac78e137c64576c74002e301d682e66feb77a23907ab8","1ca735bb3d407b2af4fbee7665f3a0a83be52168c728cc209755060ba7ed67bd",{"version":"6b526a5ec4a401ca7c26cfe6a48e641d8f30af76673bad3b06a1b4504594a960","affectsGlobalScope":true},{"version":"b85c02e14ecb2a873dad5a1de72319b265160ba48f1b83661aeb3bba1366c1bc","affectsGlobalScope":true},"7a2ba0c9af860ac3e77b35ed01fd96d15986f17aa22fe40f188ae556fb1070df","fc3764040518a1008dd04bdc80964591b566b896283e00df85c95851c1f46237","55709608060f77965c270ac10ac646286589f1bd1cb174fff1778a2dd9a7ef31","790623a47c5eda62910098884ecb154dc0e5f3a23fc36c1bfb3b5b9ed44e2c2d","42b40e40f2a358cda332456214fad311e1806a6abf3cebaaac72496e07556642","354612fe1d49ecc9551ea3a27d94eef2887b64ef4a71f72ca444efe0f2f0ba80",{"version":"ac0c77cd7db52b3c278bdd1452ce754014835493d05b84535f46854fdc2063b2","affectsGlobalScope":true},"b9f36877501f2ce0e276e993c93cd2cf325e78d0409ec4612b1eb9d6a537e60b","5e2b91328a540a0933ab5c2203f4358918e6f0fe7505d22840a891a6117735f1","3abc3512fa04aa0230f59ea1019311fd8667bd935d28306311dccc8b17e79d5d",{"version":"14a50dafe3f45713f7f27cb6320dff07c6ac31678f07959c2134260061bf91ff","affectsGlobalScope":true},{"version":"19da7150ca062323b1db6311a6ef058c9b0a39cc64d836b5e9b75d301869653b","affectsGlobalScope":true},"1349077576abb41f0e9c78ec30762ff75b710208aff77f5fdcc6a8c8ce6289dd","e2ce82603102b5c0563f59fb40314cc1ff95a4d521a66ad14146e130ea80d89c","a3e0395220255a350aa9c6d56f882bfcb5b85c19fddf5419ec822cf22246a26d","c27b01e8ddff5cd280711af5e13aecd9a3228d1c256ea797dd64f8fdec5f7df5","898840e876dfd21843db9f2aa6ae38ba2eab550eb780ff62b894b9fbfebfae6b","0cab4d7d4edc40cd3af9eea7c3ed6d1016910c0954c49c4297e479bf3822a625","1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff","785e5be57d4f20f290a20e7b0c6263f6c57fd6e51283050756cef07d6d651c68","44b8b584a338b190a59f4f6929d072431950c7bd92ec2694821c11bce180c8a5","164deb2409ac5f4da3cd139dbcee7f7d66753d90363a4d7e2db8d8874f272270",{"version":"ffc62d73b4fa10ca8c59f8802df88efefe447025730a24ee977b60adedc5bf37","affectsGlobalScope":true},{"version":"ab294c4b7279318ee2a8fdf681305457ecc05970c94108d304933f18823eeac1","affectsGlobalScope":true},"ad08154d9602429522cac965a715fde27d421d69b24756c5d291877dda75353e","5bc85813bfcb6907cc3a960fec8734a29d7884e0e372515147720c5991b8bc22","812b25f798033c202baedf386a1ccc41f9191b122f089bffd10fdccce99fba11","993325544790073f77e945bee046d53988c0bc3ac5695c9cf8098166feb82661",{"version":"75dd741ca6a6c8d2437a6ca8349b64b816421dbf9fe82dd026afaba965576962","affectsGlobalScope":true},{"version":"0e08c360c9b5961ecb0537b703e253842b3ded53151ee07024148219b61a8baf","affectsGlobalScope":true},"2ce2210032ccaff7710e2abf6a722e62c54960458e73e356b6a365c93ab6ca66","92db194ef7d208d5e4b6242a3434573fd142a621ff996d84cc9dbba3553277d0","16a3080e885ed52d4017c902227a8d0d8daf723d062bec9e45627c6fdcd6699b",{"version":"0bd9543cd8fc0959c76fb8f4f5a26626c2ed62ef4be98fd857bce268066db0a2","affectsGlobalScope":true},"1ca6858a0cbcd74d7db72d7b14c5360a928d1d16748a55ecfa6bfaff8b83071b",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"ebf3434b09c527078aa74139ff367fffa64fea32a01d6c06fb0a69b0ecadf43e","01f7828047b5c6703d3c601473618b448f5506a88fcac852638b0715c3abf4eb",{"version":"c3bc5d095c3c22fd20b5a6550b9c9a6d56c3ffbb87ef057ccce7764b6bed4428","affectsGlobalScope":true},{"version":"63e2182615c513e89bb8a3e749d08f7c379e86490fcdbf6d35f2c14b3507a6e8","affectsGlobalScope":true},"6d829824ead8999f87b6df21200df3c6150391b894b4e80662caa462bd48d073","96d14f21b7652903852eef49379d04dbda28c16ed36468f8c9fa08f7c14c9538","8841e2aa774b89bd23302dede20663306dc1b9902431ac64b24be8b8d0e3f649","209e814e8e71aec74f69686a9506dd7610b97ab59dcee9446266446f72a76d05",{"version":"3f6d6465811321abc30a1e5f667feed63e5b3917b3d6c8d6645daf96c75f97ba","affectsGlobalScope":true},"6fa0008bf91a4cc9c8963bace4bba0bd6865cbfa29c3e3ccc461155660fb113a","2b8264b2fefd7367e0f20e2c04eed5d3038831fe00f5efbc110ff0131aab899b","a73a445c1e0a6d0f8b48e8eb22dc9d647896783a7f8991cbbc31c0d94bf1f5a2","3dce33e7eb25594863b8e615f14a45ab98190d85953436750644212d8a18c066","bc81aff061c53a7140270555f4b22da4ecfe8601e8027cf5aa175fbdc7927c31"],"options":{"allowSyntheticDefaultImports":true,"composite":true,"declaration":true,"declarationDir":"../../lib/types","declarationMap":true,"esModuleInterop":true,"module":99,"noEmitOnError":true,"outDir":"../../lib/esm","rootDir":"../../../../target/types","skipLibCheck":true,"sourceMap":true,"strict":false,"stripInternal":true,"target":99},"fileIdsList":[[97,104],[97,106],[97],[70,97,104],[51,97],[54,97],[55,60,88,97],[56,67,68,75,85,96,97],[56,57,67,75,97],[58,97],[59,60,68,76,97],[60,85,93,97],[61,63,67,75,97],[62,97],[63,64,97],[67,97],[65,67,97],[67,68,69,85,96,97],[67,68,69,82,85,88,97],[97,101],[63,67,70,75,85,96,97],[67,68,70,71,75,85,93,96,97],[70,72,85,93,96,97],[51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103],[67,73,97],[74,96,97],[63,67,75,85,97],[76,97],[77,97],[54,78,97],[79,95,97,101],[80,97],[81,97],[67,82,83,97],[82,84,97,99],[55,67,85,86,87,88,97],[55,85,87,97],[85,86,97],[88,97],[89,97],[85,97],[67,91,92,97],[91,92,97],[60,75,85,93,97],[94,97],[75,95,97],[55,70,81,96,97],[60,97],[85,97,98],[97,99],[97,100],[55,60,67,69,78,85,96,97,99,101],[85,97,102],[67,70,72,75,85,93,96,97,102,104]],"referencedMap":[[105,1],[107,2],[106,3],[108,4],[109,3],[110,3],[111,3],[112,3],[51,5],[52,5],[54,6],[55,7],[56,8],[57,9],[58,10],[59,11],[60,12],[61,13],[62,14],[63,15],[64,15],[66,16],[65,17],[67,16],[68,18],[69,19],[53,20],[103,3],[70,21],[71,22],[72,23],[104,24],[73,25],[74,26],[75,27],[76,28],[77,29],[78,30],[79,31],[80,32],[81,33],[82,34],[83,34],[84,35],[85,36],[87,37],[86,38],[88,39],[89,40],[90,41],[91,42],[92,43],[93,44],[94,45],[95,46],[96,47],[97,48],[98,49],[99,50],[100,51],[101,52],[102,53],[113,3],[114,3],[115,1],[116,1],[117,54],[9,3],[8,3],[2,3],[10,3],[11,3],[12,3],[13,3],[14,3],[15,3],[16,3],[17,3],[3,3],[4,3],[21,3],[18,3],[19,3],[20,3],[22,3],[23,3],[24,3],[5,3],[25,3],[26,3],[27,3],[28,3],[6,3],[32,3],[29,3],[30,3],[31,3],[33,3],[7,3],[34,3],[39,3],[40,3],[35,3],[36,3],[37,3],[38,3],[41,3],[1,3],[42,3],[43,3],[44,3],[45,3],[46,3],[47,3],[48,3],[49,3],[50,3]],"exportedModulesMap":[[105,1],[107,2],[106,3],[108,4],[109,3],[110,3],[111,3],[112,3],[51,5],[52,5],[54,6],[55,7],[56,8],[57,9],[58,10],[59,11],[60,12],[61,13],[62,14],[63,15],[64,15],[66,16],[65,17],[67,16],[68,18],[69,19],[53,20],[103,3],[70,21],[71,22],[72,23],[104,24],[73,25],[74,26],[75,27],[76,28],[77,29],[78,30],[79,31],[80,32],[81,33],[82,34],[83,34],[84,35],[85,36],[87,37],[86,38],[88,39],[89,40],[90,41],[91,42],[92,43],[93,44],[94,45],[95,46],[96,47],[97,48],[98,49],[99,50],[100,51],[101,52],[102,53],[113,3],[114,3],[115,1],[116,1],[117,54],[9,3],[8,3],[2,3],[10,3],[11,3],[12,3],[13,3],[14,3],[15,3],[16,3],[17,3],[3,3],[4,3],[21,3],[18,3],[19,3],[20,3],[22,3],[23,3],[24,3],[5,3],[25,3],[26,3],[27,3],[28,3],[6,3],[32,3],[29,3],[30,3],[31,3],[33,3],[7,3],[34,3],[39,3],[40,3],[35,3],[36,3],[37,3],[38,3],[41,3],[1,3],[42,3]],"semanticDiagnosticsPerFile":[105,107,106,108,109,110,111,112,51,52,54,55,56,57,58,59,60,61,62,63,64,66,65,67,68,69,53,103,70,71,72,104,73,74,75,76,77,78,79,80,81,82,83,84,85,87,86,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,113,114,115,116,117,9,8,2,10,11,12,13,14,15,16,17,3,4,21,18,19,20,22,23,24,5,25,26,27,28,6,32,29,30,31,33,7,34,39,40,35,36,37,38,41,1,42,43,44,45,46,47,48,49,50],"latestChangedDtsFile":"../../lib/types/organization.d.ts"},"version":"4.9.5"} \ No newline at end of file +{"program":{"fileNames":["../../../../node_modules/typescript/lib/lib.es5.d.ts","../../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../../target/types/nft_voter.ts","../../../../target/types/organization.ts","../../../../target/types/organization_wallet.ts","../../../../target/types/proposal.ts","../../../../target/types/state_controller.ts","../../../../target/types/token_voter.ts","../../../../target/types/vote_hook_interface.ts","../../../../node_modules/@types/node/assert.d.ts","../../../../node_modules/@types/node/assert/strict.d.ts","../../../../node_modules/@types/node/globals.d.ts","../../../../node_modules/@types/node/async_hooks.d.ts","../../../../node_modules/@types/node/buffer.d.ts","../../../../node_modules/@types/node/child_process.d.ts","../../../../node_modules/@types/node/cluster.d.ts","../../../../node_modules/@types/node/console.d.ts","../../../../node_modules/@types/node/constants.d.ts","../../../../node_modules/@types/node/crypto.d.ts","../../../../node_modules/@types/node/dgram.d.ts","../../../../node_modules/@types/node/diagnostics_channel.d.ts","../../../../node_modules/@types/node/dns.d.ts","../../../../node_modules/@types/node/dns/promises.d.ts","../../../../node_modules/@types/node/domain.d.ts","../../../../node_modules/@types/node/dom-events.d.ts","../../../../node_modules/@types/node/events.d.ts","../../../../node_modules/@types/node/fs.d.ts","../../../../node_modules/@types/node/fs/promises.d.ts","../../../../node_modules/@types/node/http.d.ts","../../../../node_modules/@types/node/http2.d.ts","../../../../node_modules/@types/node/https.d.ts","../../../../node_modules/@types/node/inspector.d.ts","../../../../node_modules/@types/node/module.d.ts","../../../../node_modules/@types/node/net.d.ts","../../../../node_modules/@types/node/os.d.ts","../../../../node_modules/@types/node/path.d.ts","../../../../node_modules/@types/node/perf_hooks.d.ts","../../../../node_modules/@types/node/process.d.ts","../../../../node_modules/@types/node/punycode.d.ts","../../../../node_modules/@types/node/querystring.d.ts","../../../../node_modules/@types/node/readline.d.ts","../../../../node_modules/@types/node/readline/promises.d.ts","../../../../node_modules/@types/node/repl.d.ts","../../../../node_modules/@types/node/stream.d.ts","../../../../node_modules/@types/node/stream/promises.d.ts","../../../../node_modules/@types/node/stream/consumers.d.ts","../../../../node_modules/@types/node/stream/web.d.ts","../../../../node_modules/@types/node/string_decoder.d.ts","../../../../node_modules/@types/node/test.d.ts","../../../../node_modules/@types/node/timers.d.ts","../../../../node_modules/@types/node/timers/promises.d.ts","../../../../node_modules/@types/node/tls.d.ts","../../../../node_modules/@types/node/trace_events.d.ts","../../../../node_modules/@types/node/tty.d.ts","../../../../node_modules/@types/node/url.d.ts","../../../../node_modules/@types/node/util.d.ts","../../../../node_modules/@types/node/v8.d.ts","../../../../node_modules/@types/node/vm.d.ts","../../../../node_modules/@types/node/wasi.d.ts","../../../../node_modules/@types/node/worker_threads.d.ts","../../../../node_modules/@types/node/zlib.d.ts","../../../../node_modules/@types/node/globals.global.d.ts","../../../../node_modules/@types/node/index.d.ts","../../../../node_modules/@types/bn.js/index.d.ts","../../../../node_modules/@types/chai/index.d.ts","../../../../node_modules/@types/chai-as-promised/index.d.ts","../../../../node_modules/@types/connect/index.d.ts","../../../../node_modules/@types/json5/index.d.ts","../../../../node_modules/@types/minimatch/index.d.ts","../../../../node_modules/@types/minimist/index.d.ts","../../../../node_modules/@types/mocha/index.d.ts","../../../../node_modules/@types/normalize-package-data/index.d.ts","../../../../node_modules/@types/parse-json/index.d.ts","../../../../node_modules/@types/pbkdf2/index.d.ts","../../../../node_modules/@types/secp256k1/index.d.ts","../../../../node_modules/@types/ws/index.d.ts"],"fileInfos":[{"version":"8730f4bf322026ff5229336391a18bcaa1f94d4f82416c8b2f3954e2ccaae2ba","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","4b421cbfb3a38a27c279dec1e9112c3d1da296f77a1a85ddadf7e7a425d45d18","1fc5ab7a764205c68fa10d381b08417795fc73111d6dd16b5b1ed36badb743d9",{"version":"adb996790133eb33b33aadb9c09f15c2c575e71fb57a62de8bf74dbf59ec7dfb","affectsGlobalScope":true},{"version":"8cc8c5a3bac513368b0157f3d8b31cfdcfe78b56d3724f30f80ed9715e404af8","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"c5c05907c02476e4bde6b7e76a79ffcd948aedd14b6a8f56e4674221b0417398","affectsGlobalScope":true},{"version":"5f406584aef28a331c36523df688ca3650288d14f39c5d2e555c95f0d2ff8f6f","affectsGlobalScope":true},{"version":"22f230e544b35349cfb3bd9110b6ef37b41c6d6c43c3314a31bd0d9652fcec72","affectsGlobalScope":true},{"version":"7ea0b55f6b315cf9ac2ad622b0a7813315bb6e97bf4bb3fbf8f8affbca7dc695","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"eb26de841c52236d8222f87e9e6a235332e0788af8c87a71e9e210314300410a","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"81cac4cbc92c0c839c70f8ffb94eb61e2d32dc1c3cf6d95844ca099463cf37ea","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true},{"version":"6e7997ef61de3132e4d4b2250e75343f487903ddf5370e7ce33cf1b9db9a63ed","affectsGlobalScope":true},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true},{"version":"5e5e095c4470c8bab227dbbc61374878ecead104c74ab9960d3adcccfee23205","affectsGlobalScope":true},{"version":"09aa50414b80c023553090e2f53827f007a301bc34b0495bfb2c3c08ab9ad1eb","affectsGlobalScope":true},{"version":"d7f680a43f8cd12a6b6122c07c54ba40952b0c8aa140dcfcf32eb9e6cb028596","affectsGlobalScope":true},{"version":"3787b83e297de7c315d55d4a7c546ae28e5f6c0a361b7a1dcec1f1f50a54ef11","affectsGlobalScope":true},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true},{"version":"2768ef564cfc0689a1b76106c421a2909bdff0acbe87da010785adab80efdd5c","affectsGlobalScope":true},{"version":"b248e32ca52e8f5571390a4142558ae4f203ae2f94d5bac38a3084d529ef4e58","affectsGlobalScope":true},{"version":"fb4416144c1bf0323ccbc9afb0ab289c07312214e8820ad17d709498c865a3fe","affectsGlobalScope":true},{"version":"52d1bb7ab7a3306fd0375c8bff560feed26ed676a5b0457fa8027b563aecb9a4","affectsGlobalScope":true},{"version":"d27062d9109c78e12116aa5c17692d85826fb436fc71643fae005a4d694cd6a9","signature":"4bd3e84c7b363ac126be23017bb90a9b448af795a98f8610b66492fc68426bfd"},{"version":"b815a8e672f670ceb86ce89d068b5a746381c913079e71fe199e4894a81ea72b","signature":"d74e10db4d92a40ea018aee99fcf9996b34fdca03ab44458d87398ec0d7210c2"},{"version":"00613005f67d3895066a94016932e1cbb9f901a3be5f90077a7b3270f0f96b73","signature":"0564cee093efce698703257032564c51226b36290cdcb0e399508b400ef7e891"},{"version":"9d7cdb251285ebc077168a363984a36dce28886f0a3d92b64d0af02418707596","signature":"c77263a41d345a6b563ab6d628d5a1e0b85bb14ed8f27a1742202ba9f181f797"},{"version":"daed015311fecdbd621e2c56fd2bda5357541603771cec1a612844b7cd8be1a9","signature":"779df504fc81dc990bf4081ac7f4b4d212473fa369e7d77312450f40d97f88f6"},{"version":"2eb961423bb717b36ae6c89167574dc0a36a7469bd999bd088c854c11f481108","signature":"7e7d62fa024ea32b3e9bb2f0e97e200654e52b6a01513d06489d876ee0064c2c"},{"version":"d3fc1a478c7ee31a2c0900394e6531c6b0df5aa9395bdc601c83697a0c78b0f5","signature":"4ecc1ccb0bb5e43a48a6bae3314e125ca4a043424d2729982a71cdb943a66156"},"587f13f1e8157bd8cec0adda0de4ef558bb8573daa9d518d1e2af38e87ecc91f","a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a",{"version":"bce910d9164785c9f0d4dcea4be359f5f92130c7c7833dea6138ab1db310a1f9","affectsGlobalScope":true},"7a435e0c814f58f23e9a0979045ec0ef5909aac95a70986e8bcce30c27dff228",{"version":"c81c51f43e343b6d89114b17341fb9d381c4ccbb25e0ee77532376052c801ba7","affectsGlobalScope":true},"db71be322f07f769200108aa19b79a75dd19a187c9dca2a30c4537b233aa2863","57135ce61976a8b1dadd01bb412406d1805b90db6e8ecb726d0d78e0b5f76050",{"version":"49479e21a040c0177d1b1bc05a124c0383df7a08a0726ad4d9457619642e875a","affectsGlobalScope":true},"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","f302f3a47d7758f67f2afc753b9375d6504dde05d2e6ecdb1df50abbb131fc89","3690133deae19c8127c5505fcb67b04bdc9eb053796008538a9b9abbb70d85aa","5b1c0a23f464f894e7c2b2b6c56df7b9afa60ed48c5345f8618d389a636b2108","be2b092f2765222757c6441b86c53a5ea8dfed47bbc43eab4c5fe37942c866b3","8e6b05abc98adba15e1ac78e137c64576c74002e301d682e66feb77a23907ab8","1ca735bb3d407b2af4fbee7665f3a0a83be52168c728cc209755060ba7ed67bd",{"version":"6b526a5ec4a401ca7c26cfe6a48e641d8f30af76673bad3b06a1b4504594a960","affectsGlobalScope":true},{"version":"b85c02e14ecb2a873dad5a1de72319b265160ba48f1b83661aeb3bba1366c1bc","affectsGlobalScope":true},"7a2ba0c9af860ac3e77b35ed01fd96d15986f17aa22fe40f188ae556fb1070df","fc3764040518a1008dd04bdc80964591b566b896283e00df85c95851c1f46237","55709608060f77965c270ac10ac646286589f1bd1cb174fff1778a2dd9a7ef31","790623a47c5eda62910098884ecb154dc0e5f3a23fc36c1bfb3b5b9ed44e2c2d","42b40e40f2a358cda332456214fad311e1806a6abf3cebaaac72496e07556642","354612fe1d49ecc9551ea3a27d94eef2887b64ef4a71f72ca444efe0f2f0ba80",{"version":"ac0c77cd7db52b3c278bdd1452ce754014835493d05b84535f46854fdc2063b2","affectsGlobalScope":true},"b9f36877501f2ce0e276e993c93cd2cf325e78d0409ec4612b1eb9d6a537e60b","5e2b91328a540a0933ab5c2203f4358918e6f0fe7505d22840a891a6117735f1","3abc3512fa04aa0230f59ea1019311fd8667bd935d28306311dccc8b17e79d5d",{"version":"14a50dafe3f45713f7f27cb6320dff07c6ac31678f07959c2134260061bf91ff","affectsGlobalScope":true},{"version":"19da7150ca062323b1db6311a6ef058c9b0a39cc64d836b5e9b75d301869653b","affectsGlobalScope":true},"1349077576abb41f0e9c78ec30762ff75b710208aff77f5fdcc6a8c8ce6289dd","e2ce82603102b5c0563f59fb40314cc1ff95a4d521a66ad14146e130ea80d89c","a3e0395220255a350aa9c6d56f882bfcb5b85c19fddf5419ec822cf22246a26d","c27b01e8ddff5cd280711af5e13aecd9a3228d1c256ea797dd64f8fdec5f7df5","898840e876dfd21843db9f2aa6ae38ba2eab550eb780ff62b894b9fbfebfae6b","0cab4d7d4edc40cd3af9eea7c3ed6d1016910c0954c49c4297e479bf3822a625","1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff","785e5be57d4f20f290a20e7b0c6263f6c57fd6e51283050756cef07d6d651c68","44b8b584a338b190a59f4f6929d072431950c7bd92ec2694821c11bce180c8a5","164deb2409ac5f4da3cd139dbcee7f7d66753d90363a4d7e2db8d8874f272270",{"version":"ffc62d73b4fa10ca8c59f8802df88efefe447025730a24ee977b60adedc5bf37","affectsGlobalScope":true},{"version":"ab294c4b7279318ee2a8fdf681305457ecc05970c94108d304933f18823eeac1","affectsGlobalScope":true},"ad08154d9602429522cac965a715fde27d421d69b24756c5d291877dda75353e","5bc85813bfcb6907cc3a960fec8734a29d7884e0e372515147720c5991b8bc22","812b25f798033c202baedf386a1ccc41f9191b122f089bffd10fdccce99fba11","993325544790073f77e945bee046d53988c0bc3ac5695c9cf8098166feb82661",{"version":"75dd741ca6a6c8d2437a6ca8349b64b816421dbf9fe82dd026afaba965576962","affectsGlobalScope":true},{"version":"0e08c360c9b5961ecb0537b703e253842b3ded53151ee07024148219b61a8baf","affectsGlobalScope":true},"2ce2210032ccaff7710e2abf6a722e62c54960458e73e356b6a365c93ab6ca66","92db194ef7d208d5e4b6242a3434573fd142a621ff996d84cc9dbba3553277d0","16a3080e885ed52d4017c902227a8d0d8daf723d062bec9e45627c6fdcd6699b",{"version":"0bd9543cd8fc0959c76fb8f4f5a26626c2ed62ef4be98fd857bce268066db0a2","affectsGlobalScope":true},"1ca6858a0cbcd74d7db72d7b14c5360a928d1d16748a55ecfa6bfaff8b83071b",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"ebf3434b09c527078aa74139ff367fffa64fea32a01d6c06fb0a69b0ecadf43e","01f7828047b5c6703d3c601473618b448f5506a88fcac852638b0715c3abf4eb",{"version":"c3bc5d095c3c22fd20b5a6550b9c9a6d56c3ffbb87ef057ccce7764b6bed4428","affectsGlobalScope":true},{"version":"63e2182615c513e89bb8a3e749d08f7c379e86490fcdbf6d35f2c14b3507a6e8","affectsGlobalScope":true},"6d829824ead8999f87b6df21200df3c6150391b894b4e80662caa462bd48d073","96d14f21b7652903852eef49379d04dbda28c16ed36468f8c9fa08f7c14c9538","8841e2aa774b89bd23302dede20663306dc1b9902431ac64b24be8b8d0e3f649","209e814e8e71aec74f69686a9506dd7610b97ab59dcee9446266446f72a76d05",{"version":"3f6d6465811321abc30a1e5f667feed63e5b3917b3d6c8d6645daf96c75f97ba","affectsGlobalScope":true},"6fa0008bf91a4cc9c8963bace4bba0bd6865cbfa29c3e3ccc461155660fb113a","2b8264b2fefd7367e0f20e2c04eed5d3038831fe00f5efbc110ff0131aab899b","a73a445c1e0a6d0f8b48e8eb22dc9d647896783a7f8991cbbc31c0d94bf1f5a2","3dce33e7eb25594863b8e615f14a45ab98190d85953436750644212d8a18c066","bc81aff061c53a7140270555f4b22da4ecfe8601e8027cf5aa175fbdc7927c31"],"options":{"allowSyntheticDefaultImports":true,"composite":true,"declaration":true,"declarationDir":"../../lib/types","declarationMap":true,"esModuleInterop":true,"module":99,"noEmitOnError":true,"outDir":"../../lib/esm","rootDir":"../../../../target/types","skipLibCheck":true,"sourceMap":true,"strict":false,"stripInternal":true,"target":99},"fileIdsList":[[96,103],[96,105],[96],[69,96,103],[50,96],[53,96],[54,59,87,96],[55,66,67,74,84,95,96],[55,56,66,74,96],[57,96],[58,59,67,75,96],[59,84,92,96],[60,62,66,74,96],[61,96],[62,63,96],[66,96],[64,66,96],[66,67,68,84,95,96],[66,67,68,81,84,87,96],[96,100],[62,66,69,74,84,95,96],[66,67,69,70,74,84,92,95,96],[69,71,84,92,95,96],[50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102],[66,72,96],[73,95,96],[62,66,74,84,96],[75,96],[76,96],[53,77,96],[78,94,96,100],[79,96],[80,96],[66,81,82,96],[81,83,96,98],[54,66,84,85,86,87,96],[54,84,86,96],[84,85,96],[87,96],[88,96],[84,96],[66,90,91,96],[90,91,96],[59,74,84,92,96],[93,96],[74,94,96],[54,69,80,95,96],[59,96],[84,96,97],[96,98],[96,99],[54,59,66,68,77,84,95,96,98,100],[84,96,101],[66,69,71,74,84,92,95,96,101,103]],"referencedMap":[[104,1],[106,2],[105,3],[107,4],[108,3],[109,3],[110,3],[111,3],[50,5],[51,5],[53,6],[54,7],[55,8],[56,9],[57,10],[58,11],[59,12],[60,13],[61,14],[62,15],[63,15],[65,16],[64,17],[66,16],[67,18],[68,19],[52,20],[102,3],[69,21],[70,22],[71,23],[103,24],[72,25],[73,26],[74,27],[75,28],[76,29],[77,30],[78,31],[79,32],[80,33],[81,34],[82,34],[83,35],[84,36],[86,37],[85,38],[87,39],[88,40],[89,41],[90,42],[91,43],[92,44],[93,45],[94,46],[95,47],[96,48],[97,49],[98,50],[99,51],[100,52],[101,53],[112,3],[113,3],[114,1],[115,1],[116,54],[9,3],[8,3],[2,3],[10,3],[11,3],[12,3],[13,3],[14,3],[15,3],[16,3],[17,3],[3,3],[4,3],[21,3],[18,3],[19,3],[20,3],[22,3],[23,3],[24,3],[5,3],[25,3],[26,3],[27,3],[28,3],[6,3],[32,3],[29,3],[30,3],[31,3],[33,3],[7,3],[34,3],[39,3],[40,3],[35,3],[36,3],[37,3],[38,3],[41,3],[1,3],[42,3],[43,3],[44,3],[45,3],[46,3],[47,3],[48,3],[49,3]],"exportedModulesMap":[[104,1],[106,2],[105,3],[107,4],[108,3],[109,3],[110,3],[111,3],[50,5],[51,5],[53,6],[54,7],[55,8],[56,9],[57,10],[58,11],[59,12],[60,13],[61,14],[62,15],[63,15],[65,16],[64,17],[66,16],[67,18],[68,19],[52,20],[102,3],[69,21],[70,22],[71,23],[103,24],[72,25],[73,26],[74,27],[75,28],[76,29],[77,30],[78,31],[79,32],[80,33],[81,34],[82,34],[83,35],[84,36],[86,37],[85,38],[87,39],[88,40],[89,41],[90,42],[91,43],[92,44],[93,45],[94,46],[95,47],[96,48],[97,49],[98,50],[99,51],[100,52],[101,53],[112,3],[113,3],[114,1],[115,1],[116,54],[9,3],[8,3],[2,3],[10,3],[11,3],[12,3],[13,3],[14,3],[15,3],[16,3],[17,3],[3,3],[4,3],[21,3],[18,3],[19,3],[20,3],[22,3],[23,3],[24,3],[5,3],[25,3],[26,3],[27,3],[28,3],[6,3],[32,3],[29,3],[30,3],[31,3],[33,3],[7,3],[34,3],[39,3],[40,3],[35,3],[36,3],[37,3],[38,3],[41,3],[1,3],[42,3]],"semanticDiagnosticsPerFile":[104,106,105,107,108,109,110,111,50,51,53,54,55,56,57,58,59,60,61,62,63,65,64,66,67,68,52,102,69,70,71,103,72,73,74,75,76,77,78,79,80,81,82,83,84,86,85,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,112,113,114,115,116,9,8,2,10,11,12,13,14,15,16,17,3,4,21,18,19,20,22,23,24,5,25,26,27,28,6,32,29,30,31,33,7,34,39,40,35,36,37,38,41,1,42,43,44,45,46,47,48,49],"latestChangedDtsFile":"../../lib/types/vote_hook_interface.d.ts"},"version":"4.9.5"} \ No newline at end of file diff --git a/packages/nft-voter-sdk/package.json b/packages/nft-voter-sdk/package.json index 0ce3c19..ef92e09 100644 --- a/packages/nft-voter-sdk/package.json +++ b/packages/nft-voter-sdk/package.json @@ -32,7 +32,7 @@ }, "dependencies": { "@coral-xyz/anchor": "^0.28.0", - "@helium/anchor-resolvers": "^0.2.17", + "@helium/anchor-resolvers": "^0.4.3", "@helium/modular-governance-idls": "^0.0.5", "@solana/spl-token": "^0.3.8" }, diff --git a/packages/organization-sdk/package.json b/packages/organization-sdk/package.json index 4a2daf9..c5e5501 100644 --- a/packages/organization-sdk/package.json +++ b/packages/organization-sdk/package.json @@ -32,7 +32,7 @@ }, "dependencies": { "@coral-xyz/anchor": "^0.28.0", - "@helium/anchor-resolvers": "^0.2.17", + "@helium/anchor-resolvers": "^0.4.3", "@helium/modular-governance-idls": "^0.0.5", "@helium/proposal-sdk": "^0.0.5" }, diff --git a/packages/organization-wallet-sdk/package.json b/packages/organization-wallet-sdk/package.json index d7aa71a..bb3fe16 100644 --- a/packages/organization-wallet-sdk/package.json +++ b/packages/organization-wallet-sdk/package.json @@ -32,7 +32,7 @@ }, "dependencies": { "@coral-xyz/anchor": "^0.28.0", - "@helium/anchor-resolvers": "^0.2.17", + "@helium/anchor-resolvers": "^0.4.3", "@helium/modular-governance-idls": "^0.0.5", "@helium/proposal-sdk": "^0.0.5" }, diff --git a/packages/proposal-sdk/package.json b/packages/proposal-sdk/package.json index 9e18e53..90d199d 100644 --- a/packages/proposal-sdk/package.json +++ b/packages/proposal-sdk/package.json @@ -32,7 +32,7 @@ }, "dependencies": { "@coral-xyz/anchor": "^0.28.0", - "@helium/anchor-resolvers": "^0.2.17", + "@helium/anchor-resolvers": "^0.4.3", "@helium/modular-governance-idls": "^0.0.5" }, "devDependencies": { diff --git a/packages/state-controller-sdk/package.json b/packages/state-controller-sdk/package.json index ef245d0..e250517 100644 --- a/packages/state-controller-sdk/package.json +++ b/packages/state-controller-sdk/package.json @@ -32,7 +32,7 @@ }, "dependencies": { "@coral-xyz/anchor": "^0.28.0", - "@helium/anchor-resolvers": "^0.2.17", + "@helium/anchor-resolvers": "^0.4.3", "@helium/modular-governance-idls": "^0.0.5" }, "devDependencies": { diff --git a/packages/token-voter-sdk/package.json b/packages/token-voter-sdk/package.json index da4a420..a4391bf 100644 --- a/packages/token-voter-sdk/package.json +++ b/packages/token-voter-sdk/package.json @@ -32,7 +32,7 @@ }, "dependencies": { "@coral-xyz/anchor": "^0.28.0", - "@helium/anchor-resolvers": "^0.2.17", + "@helium/anchor-resolvers": "^0.4.3", "@helium/modular-governance-idls": "^0.0.5", "@solana/spl-token": "^0.3.8" }, diff --git a/programs/nft_voter/src/instructions/relinquish_vote_v0.rs b/programs/nft_voter/src/instructions/relinquish_vote_v0.rs index 001ca9a..ebfed91 100644 --- a/programs/nft_voter/src/instructions/relinquish_vote_v0.rs +++ b/programs/nft_voter/src/instructions/relinquish_vote_v0.rs @@ -101,7 +101,7 @@ pub fn handler(ctx: Context, args: RelinquishVoteArgsV0) -> Re }, )?; - if marker.choices.len() == 0 { + if marker.choices.is_empty() { marker.close(ctx.accounts.refund.to_account_info())?; } diff --git a/programs/proposal/src/instructions/vote_v0.rs b/programs/proposal/src/instructions/vote_v0.rs index e2840c6..4653bbb 100644 --- a/programs/proposal/src/instructions/vote_v0.rs +++ b/programs/proposal/src/instructions/vote_v0.rs @@ -28,10 +28,7 @@ pub struct VoteV0<'info> { #[account( mut, has_one = proposal_config, - constraint = match proposal.state { - ProposalState::Voting { .. } => true, - _ => false, - } + constraint = matches!(proposal.state, ProposalState::Voting { .. }) )] pub proposal: Account<'info, ProposalV0>, /// CHECK: Checked via has_one diff --git a/programs/state_controller/src/instructions/on_vote_v0.rs b/programs/state_controller/src/instructions/on_vote_v0.rs index 66a4504..6665f5a 100644 --- a/programs/state_controller/src/instructions/on_vote_v0.rs +++ b/programs/state_controller/src/instructions/on_vote_v0.rs @@ -39,10 +39,7 @@ pub struct OnVoteV0<'info> { owner = *proposal.to_account_info().owner, has_one = proposal_config, constraint = proposal.to_account_info().is_signer, - constraint = match proposal.state { - ProposalState::Voting { .. } => true, - _ => false - } + constraint = matches!(proposal.state, ProposalState::Voting { .. }) )] pub proposal: Account<'info, ProposalV0>, #[account( diff --git a/programs/state_controller/src/instructions/resolve_v0.rs b/programs/state_controller/src/instructions/resolve_v0.rs index a21eebe..caa3da4 100644 --- a/programs/state_controller/src/instructions/resolve_v0.rs +++ b/programs/state_controller/src/instructions/resolve_v0.rs @@ -17,10 +17,7 @@ pub struct ResolveV0<'info> { mut, owner = proposal_program.key(), has_one = proposal_config, - constraint = match proposal.state { - ProposalState::Voting { .. } => true, - _ => false - } + constraint = matches!(proposal.state, ProposalState::Voting { .. }) )] pub proposal: Account<'info, ProposalV0>, #[account( diff --git a/programs/state_controller/src/instructions/update_state_v0.rs b/programs/state_controller/src/instructions/update_state_v0.rs index d4a32b0..a9872f6 100644 --- a/programs/state_controller/src/instructions/update_state_v0.rs +++ b/programs/state_controller/src/instructions/update_state_v0.rs @@ -55,11 +55,7 @@ pub struct UpdateStateV0<'info> { owner = proposal_program.key(), has_one = owner, has_one = proposal_config, - constraint = match proposal.state { - CpiProposalState::Voting { .. } => false, - CpiProposalState::Resolved { .. } => false, - _ => true - } + constraint = !matches!(proposal.state, CpiProposalState::Voting { .. } | CpiProposalState::Resolved { .. }) )] pub proposal: Account<'info, ProposalV0>, #[account( diff --git a/programs/state_controller/src/state.rs b/programs/state_controller/src/state.rs index b12b95c..dfc161a 100644 --- a/programs/state_controller/src/state.rs +++ b/programs/state_controller/src/state.rs @@ -170,7 +170,7 @@ impl ResolutionStrategy { .enumerate() .flat_map(|(index, choice)| { if threshold == 0 { - return None; + None } else if choice.weight >= threshold { Some(index as u16) } else { diff --git a/programs/token_voter/src/instructions/relinquish_vote_v0.rs b/programs/token_voter/src/instructions/relinquish_vote_v0.rs index 7fdf7e8..10dbcb6 100644 --- a/programs/token_voter/src/instructions/relinquish_vote_v0.rs +++ b/programs/token_voter/src/instructions/relinquish_vote_v0.rs @@ -102,7 +102,7 @@ pub fn handler(ctx: Context, args: RelinquishVoteArgsV0) -> Re }, )?; - if marker.choices.len() == 0 { + if marker.choices.is_empty() { marker.close(ctx.accounts.refund.to_account_info())?; } diff --git a/scripts/bootstrap.sh b/scripts/bootstrap.sh new file mode 100755 index 0000000..05fa483 --- /dev/null +++ b/scripts/bootstrap.sh @@ -0,0 +1,16 @@ +#!/bin/bash + +CLUSTER=$1 + +if [ "$CLUSTER" == "mainnet" ]; then + CLUSTER_URL='https://api.mainnet-beta.solana.com' +elif [ "$CLUSTER" == "devnet" ]; then + CLUSTER_URL='https://api.devnet.solana.com' +else + CLUSTER_URL='http://127.0.0.1:8899' + ./scripts/init-idls.sh +fi + +wait + +set -e diff --git a/tests/nft-voter.ts b/tests/nft-voter.ts index afbbbac..b3aae1e 100644 --- a/tests/nft-voter.ts +++ b/tests/nft-voter.ts @@ -14,8 +14,7 @@ import { Proposal } from "../target/types/proposal"; import { ensureIdls, makeid } from "./utils"; describe("nft-voter", () => { - // Configure the client to use the local cluster. - anchor.setProvider(anchor.AnchorProvider.env()); + anchor.setProvider(anchor.AnchorProvider.local("http://127.0.0.1:8899")); const provider = anchor.getProvider() as anchor.AnchorProvider; const me = provider.wallet.publicKey; let proposalProgram: Program; diff --git a/tests/organization-wallet.ts b/tests/organization-wallet.ts index 088fc77..c1d3cf6 100644 --- a/tests/organization-wallet.ts +++ b/tests/organization-wallet.ts @@ -37,8 +37,7 @@ import { } from "@helium/spl-utils"; describe("organization wallet", () => { - // Configure the client to use the local cluster. - anchor.setProvider(anchor.AnchorProvider.env()); + anchor.setProvider(anchor.AnchorProvider.local("http://127.0.0.1:8899")); const provider = anchor.getProvider() as anchor.AnchorProvider; const me = provider.wallet.publicKey; let proposalProgram: Program; @@ -213,13 +212,15 @@ describe("organization wallet", () => { organizationWallet, }) .rpcAndKeys({ skipPreflight: true }); - + await proposalProgram.methods .updateStateV0({ newState: { resolved: { choices: [0], - endTs: new anchor.BN(Math.floor(new Date().valueOf() / 1000) - 100), + endTs: new anchor.BN( + Math.floor(new Date().valueOf() / 1000) - 100 + ), }, }, }) diff --git a/tests/organization.ts b/tests/organization.ts index 200c0de..faa8d4f 100644 --- a/tests/organization.ts +++ b/tests/organization.ts @@ -12,8 +12,7 @@ import { expect } from "chai"; import { ensureIdls, makeid } from "./utils"; describe("organization", () => { - // Configure the client to use the local cluster. - anchor.setProvider(anchor.AnchorProvider.env()); + anchor.setProvider(anchor.AnchorProvider.local("http://127.0.0.1:8899")); const provider = anchor.getProvider() as anchor.AnchorProvider; const me = provider.wallet.publicKey; let proposalProgram: Program; @@ -101,9 +100,7 @@ describe("organization", () => { .rpc({ skipPreflight: true }); const acct = await program.account.organizationV0.fetch(organization!); - expect(acct.defaultProposalConfig.toBase58()).to.eq( - me.toBase58() - ); + expect(acct.defaultProposalConfig.toBase58()).to.eq(me.toBase58()); expect(acct.authority.toBase58()).to.eq(PublicKey.default.toBase58()); expect(acct.name).to.eq(name); expect(acct.uri).to.eq("https://foo.com"); diff --git a/tests/proposal.ts b/tests/proposal.ts index 0c58755..2ac9e21 100644 --- a/tests/proposal.ts +++ b/tests/proposal.ts @@ -7,8 +7,7 @@ import { expect } from "chai"; import { makeid } from "./utils"; describe("proposal", () => { - // Configure the client to use the local cluster. - anchor.setProvider(anchor.AnchorProvider.env()); + anchor.setProvider(anchor.AnchorProvider.local("http://127.0.0.1:8899")); const provider = anchor.getProvider() as anchor.AnchorProvider; const me = provider.wallet.publicKey; let program: Program; diff --git a/tests/state-controller.ts b/tests/state-controller.ts index 3b394ea..a81dc07 100644 --- a/tests/state-controller.ts +++ b/tests/state-controller.ts @@ -17,8 +17,7 @@ import { expect } from "chai"; import { ensureIdls, makeid } from "./utils"; describe("state-controller", () => { - // Configure the client to use the local cluster. - anchor.setProvider(anchor.AnchorProvider.env()); + anchor.setProvider(anchor.AnchorProvider.local("http://127.0.0.1:8899")); const provider = anchor.getProvider() as anchor.AnchorProvider; const me = provider.wallet.publicKey; let proposalProgram: Program; diff --git a/tests/token-voter.ts b/tests/token-voter.ts index 29bd5e0..5dc2678 100644 --- a/tests/token-voter.ts +++ b/tests/token-voter.ts @@ -19,8 +19,7 @@ import { ensureIdls, makeid } from "./utils"; import { BN } from "bn.js"; describe("token-voter", () => { - // Configure the client to use the local cluster. - anchor.setProvider(anchor.AnchorProvider.env()); + anchor.setProvider(anchor.AnchorProvider.local("http://127.0.0.1:8899")); const provider = anchor.getProvider() as anchor.AnchorProvider; const me = provider.wallet.publicKey; let proposalProgram: Program; @@ -146,7 +145,8 @@ describe("token-voter", () => { .accounts({ receipt, refund: me }) .rpc({ skipPreflight: true }); - expect(await program.account.receiptV0.fetchNullable(receipt!)).to.be.null + expect(await program.account.receiptV0.fetchNullable(receipt!)).to.be + .null; }); it("allows voting on and relinquishing votes on the proposal", async () => { diff --git a/yarn.lock b/yarn.lock index be2784f..21dcf7a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -60,6 +60,13 @@ dependencies: regenerator-runtime "^0.13.11" +"@babel/runtime@^7.23.2": + version "7.23.2" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.23.2.tgz#062b0ac103261d68a966c4c7baf2ae3e62ec3885" + integrity sha512-mM8eg4yl5D6i3lu2QKPuPH4FArvJ8KhTofbE7jwMUv9KX5mBvwPAqnV3MlyBNqdp9RyRKP6Yck8TrfYrPvX3bg== + dependencies: + regenerator-runtime "^0.14.0" + "@bundlr-network/client@^0.8.8": version "0.8.9" resolved "https://registry.yarnpkg.com/@bundlr-network/client/-/client-0.8.9.tgz#58e969a5d80f8d25d212d46bb7a060730a3c1736" @@ -106,27 +113,6 @@ superstruct "^0.15.4" toml "^3.0.0" -"@coral-xyz/anchor@^0.26.0": - version "0.26.0" - resolved "https://registry.yarnpkg.com/@coral-xyz/anchor/-/anchor-0.26.0.tgz#c8e4f7177e93441afd030f22d777d54d0194d7d1" - integrity sha512-PxRl+wu5YyptWiR9F2MBHOLLibm87Z4IMUBPreX+DYBtPM+xggvcPi0KAN7+kIL4IrIhXI8ma5V0MCXxSN1pHg== - dependencies: - "@coral-xyz/borsh" "^0.26.0" - "@solana/web3.js" "^1.68.0" - base64-js "^1.5.1" - bn.js "^5.1.2" - bs58 "^4.0.1" - buffer-layout "^1.2.2" - camelcase "^6.3.0" - cross-fetch "^3.1.5" - crypto-hash "^1.3.0" - eventemitter3 "^4.0.7" - js-sha256 "^0.9.0" - pako "^2.0.3" - snake-case "^3.0.4" - superstruct "^0.15.4" - toml "^3.0.0" - "@coral-xyz/borsh@^0.26.0": version "0.26.0" resolved "https://registry.yarnpkg.com/@coral-xyz/borsh/-/borsh-0.26.0.tgz#d054f64536d824634969e74138f9f7c52bbbc0d5" @@ -512,21 +498,21 @@ dependencies: client-only "^0.0.1" -"@helium/account-fetch-cache-hooks@^0.2.17": - version "0.2.17" - resolved "https://registry.yarnpkg.com/@helium/account-fetch-cache-hooks/-/account-fetch-cache-hooks-0.2.17.tgz#78076508bc2d825022db1b6befd43de378f32bb6" - integrity sha512-A0DHHFLlF1B5EyWLHzLs6hZtax7V5LD48XM0xEYDIIJHkPkUs+gFQCGZyki3NjJpQ/t3RfEpLpmXchP0Yr/OLQ== +"@helium/account-fetch-cache-hooks@^0.4.3": + version "0.4.3" + resolved "https://registry.yarnpkg.com/@helium/account-fetch-cache-hooks/-/account-fetch-cache-hooks-0.4.3.tgz#792b34acaf3a79a5705aa035a0839925300de409" + integrity sha512-dL/nKiUZQCnPdTW2qwIdNLr664UARA4Rz8mGfrdDcS5NHP+3tyms0GCCwwSR/sZuGD/FGT89TsZRoxSZlRDe9g== dependencies: - "@helium/account-fetch-cache" "^0.2.17" - "@solana/web3.js" "^1.66.2" + "@helium/account-fetch-cache" "^0.4.3" + "@solana/web3.js" "^1.78.4" react-async-hook "^4.0.0" -"@helium/account-fetch-cache@^0.2.17": - version "0.2.17" - resolved "https://registry.yarnpkg.com/@helium/account-fetch-cache/-/account-fetch-cache-0.2.17.tgz#e016ab0447666bab68fa6669101a34bf89b6feb2" - integrity sha512-N7iyyTMounGLsMaLkxxgc7UWEnwy7Ja9CiAhebF4QDB3DWzO+0YVSM5hCYaPexzgFfewqRiJvmczt3YMXxWERA== +"@helium/account-fetch-cache@^0.4.3": + version "0.4.3" + resolved "https://registry.yarnpkg.com/@helium/account-fetch-cache/-/account-fetch-cache-0.4.3.tgz#279d50ebf8a0d0d677017d487e7d6e28d9fb5af4" + integrity sha512-Oywq02vNCeP44c5gwrIw5I6MqMRqX4p+gi8UYsx7tQiqrp1LxxQcZItg6rjJUM7fMFU38o1Qz2BeZkQYU/kybA== dependencies: - "@solana/web3.js" "^1.43.4" + "@solana/web3.js" "^1.78.4" "@helium/address@^4.10.2": version "4.10.2" @@ -545,44 +531,45 @@ "@solana/spl-token" "^0.3.6" "@solana/web3.js" "^1.43.4" -"@helium/anchor-resolvers@^0.2.17": - version "0.2.17" - resolved "https://registry.yarnpkg.com/@helium/anchor-resolvers/-/anchor-resolvers-0.2.17.tgz#662fe995d2c9112f214698bfff2bdd0cf3510b75" - integrity sha512-Fd9WzdEbpRBiYc9uBUNlLu/BS2rNCn2qCdEC1bpZTq8tNAzkOM6KU3mBt4GvY3t1A5NVJjpW2H4sLHz9Uu0JiA== +"@helium/anchor-resolvers@^0.4.3": + version "0.4.3" + resolved "https://registry.yarnpkg.com/@helium/anchor-resolvers/-/anchor-resolvers-0.4.3.tgz#6d7afba53b5e58d265e3f2d482521f2eef664c5e" + integrity sha512-VUEWucAdRyBgQ2XhnCQNn8L1fAp/dk8dOlrz8RudVFruEvJaUvmLwLKAKQJkt8dVoapcOBh3ywO7c9avop58TQ== dependencies: - "@solana/spl-token" "^0.3.6" - "@solana/web3.js" "^1.43.4" + "@solana/spl-token" "^0.3.8" + "@solana/web3.js" "^1.78.4" -"@helium/helium-react-hooks@^0.2.17": - version "0.2.17" - resolved "https://registry.yarnpkg.com/@helium/helium-react-hooks/-/helium-react-hooks-0.2.17.tgz#19b9c13daa57f5c9486fdd1b34e6e9cce26e8ce2" - integrity sha512-x7af6grDch8khPuZc+kLfGWKF9rhYjaRazyRoueFK2qbdezF70Y6SdW0EtF5acS5DubKZjCz/51DBD8CSUXKBQ== +"@helium/helium-react-hooks@^0.4.3": + version "0.4.3" + resolved "https://registry.yarnpkg.com/@helium/helium-react-hooks/-/helium-react-hooks-0.4.3.tgz#17c63eaf6f16198cc93b019882b1b4ce30bdfbb1" + integrity sha512-L84yxlFSWeocMdjQqUA9Cs7QIfEBaZeqQLlJ/w/hZcH8njg4OKX5Foa4eDMxdT2akPxGW3BghgLRcb0F77GBpA== dependencies: - "@coral-xyz/anchor" "^0.26.0" - "@helium/account-fetch-cache" "^0.2.17" - "@helium/account-fetch-cache-hooks" "^0.2.17" - "@solana/spl-token" "^0.3.6" - "@solana/web3.js" "^1.66.2" - bs58 "^5.0.0" + "@coral-xyz/anchor" "^0.28.0" + "@helium/account-fetch-cache" "^0.4.3" + "@helium/account-fetch-cache-hooks" "^0.4.3" + "@solana/spl-token" "^0.3.8" + "@solana/web3.js" "^1.78.4" + bs58 "^4.0.1" pako "^2.0.3" react-async-hook "^4.0.0" -"@helium/spl-utils@^0.2.17": - version "0.2.17" - resolved "https://registry.yarnpkg.com/@helium/spl-utils/-/spl-utils-0.2.17.tgz#150a7942039a844a3c11368fc5f93002db7dd708" - integrity sha512-m+IGp4Un9p6XDu/4tgox7guoVbiiyj0LJ9qSPsDaAF1LAVq8N+uzgkacElotHF1d0ePjN8Ku+Q9IEM9+xyCjeg== +"@helium/spl-utils@^0.4.3": + version "0.4.3" + resolved "https://registry.yarnpkg.com/@helium/spl-utils/-/spl-utils-0.4.3.tgz#9da76c006182e1e8a356234e6c583b1b09a733ed" + integrity sha512-LID4Irvco/J0f+WcR7aF2BfSGpCMM09SfL+XLDYF7PHE15h3AoUsPHSELRZ7XXWUW95EQhuiOO6SxgIBCZbmJQ== dependencies: - "@coral-xyz/anchor" "^0.26.0" - "@helium/account-fetch-cache" "^0.2.17" + "@coral-xyz/anchor" "^0.28.0" + "@helium/account-fetch-cache" "^0.4.3" "@helium/address" "^4.10.2" - "@helium/anchor-resolvers" "^0.2.17" - "@metaplex-foundation/mpl-token-metadata" "^2.5.2" + "@helium/anchor-resolvers" "^0.4.3" + "@metaplex-foundation/mpl-token-metadata" "^2.10.0" "@solana/spl-account-compression" "^0.1.7" - "@solana/spl-token" "^0.3.6" - "@solana/web3.js" "^1.43.4" + "@solana/spl-token" "^0.3.8" + "@solana/web3.js" "^1.78.4" + axios "^1.5.0" bn.js "^5.2.0" borsh "^0.7.0" - bs58 "^5.0.0" + bs58 "^4.0.1" "@humanwhocodes/config-array@^0.11.6": version "0.11.10" @@ -1500,7 +1487,7 @@ "@solana/spl-token" "^0.3.6" "@solana/web3.js" "^1.66.2" -"@metaplex-foundation/mpl-token-metadata@^2.11.0", "@metaplex-foundation/mpl-token-metadata@^2.5.2": +"@metaplex-foundation/mpl-token-metadata@^2.10.0", "@metaplex-foundation/mpl-token-metadata@^2.11.0", "@metaplex-foundation/mpl-token-metadata@^2.5.2": version "2.13.0" resolved "https://registry.yarnpkg.com/@metaplex-foundation/mpl-token-metadata/-/mpl-token-metadata-2.13.0.tgz#ea498190ad4ed1d4c0b8218a72d03bd17a883d11" integrity sha512-Fl/8I0L9rv4bKTV/RAl5YIbJe9SnQPInKvLz+xR1fEc4/VQkuCn3RPgypfUMEKWmCznzaw4sApDxy6CFS4qmJw== @@ -1577,6 +1564,13 @@ dependencies: "@noble/hashes" "1.3.1" +"@noble/curves@^1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.2.0.tgz#92d7e12e4e49b23105a2555c6984d41733d65c35" + integrity sha512-oYclrNgRaM9SsBUBVbb8M6DTV7ZHRTKugureoYEncY5c65HOmRzvSiTE3y5CYaPYJA/GVkrhXEoF0M3Ya9PMnw== + dependencies: + "@noble/hashes" "1.3.2" + "@noble/ed25519@^1.6.1", "@noble/ed25519@^1.7.1": version "1.7.3" resolved "https://registry.yarnpkg.com/@noble/ed25519/-/ed25519-1.7.3.tgz#57e1677bf6885354b466c38e2b620c62f45a7123" @@ -1587,6 +1581,11 @@ resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.3.1.tgz#8831ef002114670c603c458ab8b11328406953a9" integrity sha512-EbqwksQwz9xDRGfDST86whPBgM65E0OH/pCgqW0GBVzO22bNE+NuIbeTb714+IfSjU3aRk47EUvXIb5bTsenKA== +"@noble/hashes@1.3.2", "@noble/hashes@^1.3.1": + version "1.3.2" + resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.3.2.tgz#6f26dbc8fbc7205873ce3cee2f690eba0d421b39" + integrity sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ== + "@nodelib/fs.scandir@2.1.5": version "2.1.5" resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" @@ -2018,7 +2017,7 @@ dependencies: buffer "~6.0.3" -"@solana/spl-account-compression@^0.1.4", "@solana/spl-account-compression@^0.1.7", "@solana/spl-account-compression@^0.1.8": +"@solana/spl-account-compression@^0.1.4", "@solana/spl-account-compression@^0.1.8": version "0.1.9" resolved "https://registry.yarnpkg.com/@solana/spl-account-compression/-/spl-account-compression-0.1.9.tgz#5aeb5cd3416ca6e3a7257bec33e8c31f5ec52aaf" integrity sha512-g/YGafUZihhK837DMCSJQGwgj9RV7sTj/bhHb6lOEmSkA0hJTAGOX8ECbv5dDwuFqyUzakno6SZ2gr4q+B0kDg== @@ -2030,6 +2029,18 @@ js-sha3 "^0.8.0" typescript-collections "^1.3.3" +"@solana/spl-account-compression@^0.1.7": + version "0.1.10" + resolved "https://registry.yarnpkg.com/@solana/spl-account-compression/-/spl-account-compression-0.1.10.tgz#b3135ce89349d6090832b3b1d89095badd57e969" + integrity sha512-IQAOJrVOUo6LCgeWW9lHuXo6JDbi4g3/RkQtvY0SyalvSWk9BIkHHe4IkAzaQw8q/BxEVBIjz8e9bNYWIAESNw== + dependencies: + "@metaplex-foundation/beet" "^0.7.1" + "@metaplex-foundation/beet-solana" "^0.4.0" + bn.js "^5.2.1" + borsh "^0.7.0" + js-sha3 "^0.8.0" + typescript-collections "^1.3.3" + "@solana/spl-token@^0.1.8": version "0.1.8" resolved "https://registry.yarnpkg.com/@solana/spl-token/-/spl-token-0.1.8.tgz#f06e746341ef8d04165e21fc7f555492a2a0faa6" @@ -2111,6 +2122,27 @@ rpc-websockets "^7.5.1" superstruct "^0.14.2" +"@solana/web3.js@^1.78.4": + version "1.87.3" + resolved "https://registry.yarnpkg.com/@solana/web3.js/-/web3.js-1.87.3.tgz#36871af8d41221d34bfefcf897f158e1793b3356" + integrity sha512-WGLzTZpi00vP443qGK3gL+LZXQJwaWkh6bzNXYpMTCAH2Z102y3YbPWOoQzJUeRSZWSXKh7MFkA3vDMFlMvGZQ== + dependencies: + "@babel/runtime" "^7.23.2" + "@noble/curves" "^1.2.0" + "@noble/hashes" "^1.3.1" + "@solana/buffer-layout" "^4.0.0" + agentkeepalive "^4.3.0" + bigint-buffer "^1.1.5" + bn.js "^5.2.1" + borsh "^0.7.0" + bs58 "^4.0.1" + buffer "6.0.3" + fast-stable-stringify "^1.0.0" + jayson "^4.1.0" + node-fetch "^2.6.12" + rpc-websockets "^7.5.1" + superstruct "^0.14.2" + "@supercharge/promise-pool@^2.1.0": version "2.4.0" resolved "https://registry.yarnpkg.com/@supercharge/promise-pool/-/promise-pool-2.4.0.tgz#6050eea8c2d7f92ddd4ddc582ee328b15c034ad3" @@ -2370,6 +2402,13 @@ agentkeepalive@^4.2.1: depd "^2.0.0" humanize-ms "^1.2.1" +agentkeepalive@^4.3.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/agentkeepalive/-/agentkeepalive-4.5.0.tgz#2673ad1389b3c418c5a20c5d7364f93ca04be923" + integrity sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew== + dependencies: + humanize-ms "^1.2.1" + aggregate-error@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a" @@ -2752,6 +2791,15 @@ axios@^1.0.0: form-data "^4.0.0" proxy-from-env "^1.1.0" +axios@^1.5.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/axios/-/axios-1.6.0.tgz#f1e5292f26b2fd5c2e66876adc5b06cdbd7d2102" + integrity sha512-EZ1DYihju9pwVB+jg67ogm+Tmqc6JmhamRN6I4Zt8DfZu5lbcQGw3ozH9lFejSJgs/ibaef3A9PMXPLeefFGJg== + dependencies: + follow-redirects "^1.15.0" + form-data "^4.0.0" + proxy-from-env "^1.1.0" + axobject-query@^3.1.1: version "3.2.1" resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-3.2.1.tgz#39c378a6e3b06ca679f29138151e45b2b32da62a" @@ -7570,6 +7618,11 @@ regenerator-runtime@^0.13.11: resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz#f6dca3e7ceec20590d07ada785636a90cdca17f9" integrity sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg== +regenerator-runtime@^0.14.0: + version "0.14.0" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz#5e19d68eb12d486f797e15a3c6a918f7cec5eb45" + integrity sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA== + regexp.prototype.flags@^1.4.3, regexp.prototype.flags@^1.5.0: version "1.5.0" resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz#fe7ce25e7e4cca8db37b6634c8a2c7009199b9cb" From efcf883320312a6202a7b74169565b325814266a Mon Sep 17 00:00:00 2001 From: bry Date: Mon, 6 Nov 2023 11:28:39 -0600 Subject: [PATCH 02/25] add scripts to package.json --- package.json | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/package.json b/package.json index 1445a82..b082a24 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,16 @@ { "scripts": { + "versionup": "lerna version --force-publish--conventional-commits --no-git-tag-version", + "versionup:patch": "lerna version patch --force-publish --conventional-commits --no-git-tag-version", + "versionup:minor": "lerna version minor --force-publish --conventional-commits --no-git-tag-version", + "versionup:major": "lerna version major --force-publish --conventional-commits --no-git-tag-version", + "postversionup": "npm run commit-version", + "postversionup:patch": "npm run commit-version", + "postversionup:minor": "npm run commit-version", + "postversionup:major": "npm run commit-version", + "commit-version": "git add . && git commit -m \"chore(release): publish `node -p 'require(\"./lerna.json\").version'`\"", + "release": "lerna publish from-package --no-verify-access --force-publish='*' --no-push --no-git-tag-version --no-verify-access --yes", + "release:canary": "lerna publish --canary --preid next --dist-tag next --force-publish='*' --no-push --no-git-tag-version --no-verify-access --yes", "lint:fix": "prettier */*.js \"*/**/*{.js,.ts}\" -w", "lint": "prettier */*.js \"*/**/*{.js,.ts}\" --check", "build": "lerna run --parallel prebuild && tsc --build && yarn generate-idl-docs", From a7facc223363b8075289522102cd4395aee7c09a Mon Sep 17 00:00:00 2001 From: bry Date: Mon, 6 Nov 2023 11:29:03 -0600 Subject: [PATCH 03/25] chore(release): publish 0.0.6 --- CHANGELOG.md | 8 ++++++++ lerna.json | 6 ++++-- packages/docsite/CHANGELOG.md | 8 ++++++++ packages/docsite/package.json | 2 +- packages/modular-governance-hooks/CHANGELOG.md | 8 ++++++++ packages/modular-governance-hooks/package.json | 6 +++--- packages/modular-governance-idls/CHANGELOG.md | 8 ++++++++ packages/modular-governance-idls/package.json | 2 +- packages/nft-voter-sdk/CHANGELOG.md | 8 ++++++++ packages/nft-voter-sdk/package.json | 4 ++-- packages/organization-sdk/CHANGELOG.md | 8 ++++++++ packages/organization-sdk/package.json | 6 +++--- packages/organization-wallet-sdk/CHANGELOG.md | 8 ++++++++ packages/organization-wallet-sdk/package.json | 6 +++--- packages/proposal-sdk/CHANGELOG.md | 8 ++++++++ packages/proposal-sdk/package.json | 4 ++-- packages/state-controller-sdk/CHANGELOG.md | 8 ++++++++ packages/state-controller-sdk/package.json | 4 ++-- packages/token-voter-sdk/CHANGELOG.md | 8 ++++++++ packages/token-voter-sdk/package.json | 4 ++-- 20 files changed, 103 insertions(+), 21 deletions(-) create mode 100644 CHANGELOG.md create mode 100644 packages/docsite/CHANGELOG.md create mode 100644 packages/modular-governance-hooks/CHANGELOG.md create mode 100644 packages/modular-governance-idls/CHANGELOG.md create mode 100644 packages/nft-voter-sdk/CHANGELOG.md create mode 100644 packages/organization-sdk/CHANGELOG.md create mode 100644 packages/organization-wallet-sdk/CHANGELOG.md create mode 100644 packages/proposal-sdk/CHANGELOG.md create mode 100644 packages/state-controller-sdk/CHANGELOG.md create mode 100644 packages/token-voter-sdk/CHANGELOG.md diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..a8c0262 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,8 @@ +# Change Log + +All notable changes to this project will be documented in this file. +See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. + +## [0.0.6](https://github.com/helium/modular-governance/compare/v0.0.4...v0.0.6) (2023-11-06) + +**Note:** Version bump only for package modular-governance diff --git a/lerna.json b/lerna.json index f51ec3e..51b7e23 100644 --- a/lerna.json +++ b/lerna.json @@ -1,6 +1,8 @@ { "npmClient": "yarn", - "packages": ["packages/*"], + "packages": [ + "packages/*" + ], "useWorkspaces": true, - "version": "0.0.5" + "version": "0.0.6" } diff --git a/packages/docsite/CHANGELOG.md b/packages/docsite/CHANGELOG.md new file mode 100644 index 0000000..70cad77 --- /dev/null +++ b/packages/docsite/CHANGELOG.md @@ -0,0 +1,8 @@ +# Change Log + +All notable changes to this project will be documented in this file. +See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. + +## [0.0.6](https://github.com/helium/modular-governance/compare/v0.0.4...v0.0.6) (2023-11-06) + +**Note:** Version bump only for package governance-docs diff --git a/packages/docsite/package.json b/packages/docsite/package.json index 6c82fd6..4578df1 100644 --- a/packages/docsite/package.json +++ b/packages/docsite/package.json @@ -1,6 +1,6 @@ { "name": "governance-docs", - "version": "0.0.5", + "version": "0.0.6", "private": true, "scripts": { "dev": "next dev", diff --git a/packages/modular-governance-hooks/CHANGELOG.md b/packages/modular-governance-hooks/CHANGELOG.md new file mode 100644 index 0000000..ab1affa --- /dev/null +++ b/packages/modular-governance-hooks/CHANGELOG.md @@ -0,0 +1,8 @@ +# Change Log + +All notable changes to this project will be documented in this file. +See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. + +## [0.0.6](https://github.com/helium/modular-governance/compare/v0.0.4...v0.0.6) (2023-11-06) + +**Note:** Version bump only for package @helium/modular-governance-hooks diff --git a/packages/modular-governance-hooks/package.json b/packages/modular-governance-hooks/package.json index e4b733c..f373513 100644 --- a/packages/modular-governance-hooks/package.json +++ b/packages/modular-governance-hooks/package.json @@ -6,7 +6,7 @@ "registry": "https://registry.npmjs.org/" }, "license": "Apache-2.0", - "version": "0.0.5", + "version": "0.0.6", "description": "React hooks for modular governance", "repository": { "type": "git", @@ -36,8 +36,8 @@ "@helium/account-fetch-cache": "^0.4.3", "@helium/account-fetch-cache-hooks": "^0.4.3", "@helium/helium-react-hooks": "^0.4.3", - "@helium/modular-governance-idls": "^0.0.5", - "@helium/organization-sdk": "^0.0.5", + "@helium/modular-governance-idls": "^0.0.6", + "@helium/organization-sdk": "^0.0.6", "@solana/web3.js": "^1.78.4" }, "devDependencies": { diff --git a/packages/modular-governance-idls/CHANGELOG.md b/packages/modular-governance-idls/CHANGELOG.md new file mode 100644 index 0000000..a31a887 --- /dev/null +++ b/packages/modular-governance-idls/CHANGELOG.md @@ -0,0 +1,8 @@ +# Change Log + +All notable changes to this project will be documented in this file. +See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. + +## [0.0.6](https://github.com/helium/modular-governance/compare/v0.0.4...v0.0.6) (2023-11-06) + +**Note:** Version bump only for package @helium/modular-governance-idls diff --git a/packages/modular-governance-idls/package.json b/packages/modular-governance-idls/package.json index afb8716..7422398 100644 --- a/packages/modular-governance-idls/package.json +++ b/packages/modular-governance-idls/package.json @@ -1,6 +1,6 @@ { "name": "@helium/modular-governance-idls", - "version": "0.0.5", + "version": "0.0.6", "description": "Exported idls", "publishConfig": { "access": "public", diff --git a/packages/nft-voter-sdk/CHANGELOG.md b/packages/nft-voter-sdk/CHANGELOG.md new file mode 100644 index 0000000..f8be82e --- /dev/null +++ b/packages/nft-voter-sdk/CHANGELOG.md @@ -0,0 +1,8 @@ +# Change Log + +All notable changes to this project will be documented in this file. +See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. + +## [0.0.6](https://github.com/helium/modular-governance/compare/v0.0.4...v0.0.6) (2023-11-06) + +**Note:** Version bump only for package @helium/nft-voter-sdk diff --git a/packages/nft-voter-sdk/package.json b/packages/nft-voter-sdk/package.json index ef92e09..468d67e 100644 --- a/packages/nft-voter-sdk/package.json +++ b/packages/nft-voter-sdk/package.json @@ -5,7 +5,7 @@ "registry": "https://registry.npmjs.org/" }, "license": "Apache-2.0", - "version": "0.0.5", + "version": "0.0.6", "description": "Interface to the nft voter smart contract", "repository": { "type": "git", @@ -33,7 +33,7 @@ "dependencies": { "@coral-xyz/anchor": "^0.28.0", "@helium/anchor-resolvers": "^0.4.3", - "@helium/modular-governance-idls": "^0.0.5", + "@helium/modular-governance-idls": "^0.0.6", "@solana/spl-token": "^0.3.8" }, "devDependencies": { diff --git a/packages/organization-sdk/CHANGELOG.md b/packages/organization-sdk/CHANGELOG.md new file mode 100644 index 0000000..2d0227d --- /dev/null +++ b/packages/organization-sdk/CHANGELOG.md @@ -0,0 +1,8 @@ +# Change Log + +All notable changes to this project will be documented in this file. +See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. + +## [0.0.6](https://github.com/helium/modular-governance/compare/v0.0.4...v0.0.6) (2023-11-06) + +**Note:** Version bump only for package @helium/organization-sdk diff --git a/packages/organization-sdk/package.json b/packages/organization-sdk/package.json index c5e5501..285f3d0 100644 --- a/packages/organization-sdk/package.json +++ b/packages/organization-sdk/package.json @@ -5,7 +5,7 @@ "registry": "https://registry.npmjs.org/" }, "license": "Apache-2.0", - "version": "0.0.5", + "version": "0.0.6", "description": "Interface to the organization smart contract", "repository": { "type": "git", @@ -33,8 +33,8 @@ "dependencies": { "@coral-xyz/anchor": "^0.28.0", "@helium/anchor-resolvers": "^0.4.3", - "@helium/modular-governance-idls": "^0.0.5", - "@helium/proposal-sdk": "^0.0.5" + "@helium/modular-governance-idls": "^0.0.6", + "@helium/proposal-sdk": "^0.0.6" }, "devDependencies": { "git-format-staged": "^2.1.3", diff --git a/packages/organization-wallet-sdk/CHANGELOG.md b/packages/organization-wallet-sdk/CHANGELOG.md new file mode 100644 index 0000000..c589866 --- /dev/null +++ b/packages/organization-wallet-sdk/CHANGELOG.md @@ -0,0 +1,8 @@ +# Change Log + +All notable changes to this project will be documented in this file. +See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. + +## [0.0.6](https://github.com/helium/modular-governance/compare/v0.0.4...v0.0.6) (2023-11-06) + +**Note:** Version bump only for package @helium/organization-wallet-sdk diff --git a/packages/organization-wallet-sdk/package.json b/packages/organization-wallet-sdk/package.json index bb3fe16..57760fe 100644 --- a/packages/organization-wallet-sdk/package.json +++ b/packages/organization-wallet-sdk/package.json @@ -5,7 +5,7 @@ "registry": "https://registry.npmjs.org/" }, "license": "Apache-2.0", - "version": "0.0.5", + "version": "0.0.6", "description": "Interface to the organization wallet smart contract", "repository": { "type": "git", @@ -33,8 +33,8 @@ "dependencies": { "@coral-xyz/anchor": "^0.28.0", "@helium/anchor-resolvers": "^0.4.3", - "@helium/modular-governance-idls": "^0.0.5", - "@helium/proposal-sdk": "^0.0.5" + "@helium/modular-governance-idls": "^0.0.6", + "@helium/proposal-sdk": "^0.0.6" }, "devDependencies": { "git-format-staged": "^2.1.3", diff --git a/packages/proposal-sdk/CHANGELOG.md b/packages/proposal-sdk/CHANGELOG.md new file mode 100644 index 0000000..b5044f7 --- /dev/null +++ b/packages/proposal-sdk/CHANGELOG.md @@ -0,0 +1,8 @@ +# Change Log + +All notable changes to this project will be documented in this file. +See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. + +## [0.0.6](https://github.com/helium/modular-governance/compare/v0.0.4...v0.0.6) (2023-11-06) + +**Note:** Version bump only for package @helium/proposal-sdk diff --git a/packages/proposal-sdk/package.json b/packages/proposal-sdk/package.json index 90d199d..a471f30 100644 --- a/packages/proposal-sdk/package.json +++ b/packages/proposal-sdk/package.json @@ -5,7 +5,7 @@ "registry": "https://registry.npmjs.org/" }, "license": "Apache-2.0", - "version": "0.0.5", + "version": "0.0.6", "description": "Interface to the proposal smart contract", "repository": { "type": "git", @@ -33,7 +33,7 @@ "dependencies": { "@coral-xyz/anchor": "^0.28.0", "@helium/anchor-resolvers": "^0.4.3", - "@helium/modular-governance-idls": "^0.0.5" + "@helium/modular-governance-idls": "^0.0.6" }, "devDependencies": { "git-format-staged": "^2.1.3", diff --git a/packages/state-controller-sdk/CHANGELOG.md b/packages/state-controller-sdk/CHANGELOG.md new file mode 100644 index 0000000..eeb40cf --- /dev/null +++ b/packages/state-controller-sdk/CHANGELOG.md @@ -0,0 +1,8 @@ +# Change Log + +All notable changes to this project will be documented in this file. +See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. + +## [0.0.6](https://github.com/helium/modular-governance/compare/v0.0.4...v0.0.6) (2023-11-06) + +**Note:** Version bump only for package @helium/state-controller-sdk diff --git a/packages/state-controller-sdk/package.json b/packages/state-controller-sdk/package.json index e250517..e859dbb 100644 --- a/packages/state-controller-sdk/package.json +++ b/packages/state-controller-sdk/package.json @@ -5,7 +5,7 @@ "registry": "https://registry.npmjs.org/" }, "license": "Apache-2.0", - "version": "0.0.5", + "version": "0.0.6", "description": "Interface to the state controller smart contract", "repository": { "type": "git", @@ -33,7 +33,7 @@ "dependencies": { "@coral-xyz/anchor": "^0.28.0", "@helium/anchor-resolvers": "^0.4.3", - "@helium/modular-governance-idls": "^0.0.5" + "@helium/modular-governance-idls": "^0.0.6" }, "devDependencies": { "git-format-staged": "^2.1.3", diff --git a/packages/token-voter-sdk/CHANGELOG.md b/packages/token-voter-sdk/CHANGELOG.md new file mode 100644 index 0000000..280c762 --- /dev/null +++ b/packages/token-voter-sdk/CHANGELOG.md @@ -0,0 +1,8 @@ +# Change Log + +All notable changes to this project will be documented in this file. +See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. + +## [0.0.6](https://github.com/helium/modular-governance/compare/v0.0.4...v0.0.6) (2023-11-06) + +**Note:** Version bump only for package @helium/token-voter-sdk diff --git a/packages/token-voter-sdk/package.json b/packages/token-voter-sdk/package.json index a4391bf..3db72db 100644 --- a/packages/token-voter-sdk/package.json +++ b/packages/token-voter-sdk/package.json @@ -5,7 +5,7 @@ "registry": "https://registry.npmjs.org/" }, "license": "Apache-2.0", - "version": "0.0.5", + "version": "0.0.6", "description": "Interface to the token voter smart contract", "repository": { "type": "git", @@ -33,7 +33,7 @@ "dependencies": { "@coral-xyz/anchor": "^0.28.0", "@helium/anchor-resolvers": "^0.4.3", - "@helium/modular-governance-idls": "^0.0.5", + "@helium/modular-governance-idls": "^0.0.6", "@solana/spl-token": "^0.3.8" }, "devDependencies": { From 1c39345a70d59dd27cd1b427fa34b6f779f6568f Mon Sep 17 00:00:00 2001 From: bry Date: Tue, 7 Nov 2023 14:56:21 -0600 Subject: [PATCH 04/25] bump deps --- .../modular-governance-hooks/package.json | 8 ++-- packages/nft-voter-sdk/package.json | 2 +- packages/organization-sdk/package.json | 2 +- packages/organization-wallet-sdk/package.json | 2 +- packages/proposal-sdk/package.json | 2 +- packages/state-controller-sdk/package.json | 2 +- packages/token-voter-sdk/package.json | 2 +- yarn.lock | 39 +++++++++++++------ 8 files changed, 37 insertions(+), 22 deletions(-) diff --git a/packages/modular-governance-hooks/package.json b/packages/modular-governance-hooks/package.json index f373513..1843b67 100644 --- a/packages/modular-governance-hooks/package.json +++ b/packages/modular-governance-hooks/package.json @@ -33,9 +33,9 @@ }, "dependencies": { "@coral-xyz/anchor": "^0.28.0", - "@helium/account-fetch-cache": "^0.4.3", - "@helium/account-fetch-cache-hooks": "^0.4.3", - "@helium/helium-react-hooks": "^0.4.3", + "@helium/account-fetch-cache": "^0.4.5", + "@helium/account-fetch-cache-hooks": "^0.4.5", + "@helium/helium-react-hooks": "^0.4.5", "@helium/modular-governance-idls": "^0.0.6", "@helium/organization-sdk": "^0.0.6", "@solana/web3.js": "^1.78.4" @@ -44,7 +44,7 @@ "git-format-staged": "^2.1.3", "react": "^18", "ts-loader": "^9.2.3", - "typescript": "^4.3.4", + "typescript": "^4.3.5", "yarn": "^1.22.18" }, "peerDependencies": { diff --git a/packages/nft-voter-sdk/package.json b/packages/nft-voter-sdk/package.json index 468d67e..f314298 100644 --- a/packages/nft-voter-sdk/package.json +++ b/packages/nft-voter-sdk/package.json @@ -32,7 +32,7 @@ }, "dependencies": { "@coral-xyz/anchor": "^0.28.0", - "@helium/anchor-resolvers": "^0.4.3", + "@helium/anchor-resolvers": "^0.4.5", "@helium/modular-governance-idls": "^0.0.6", "@solana/spl-token": "^0.3.8" }, diff --git a/packages/organization-sdk/package.json b/packages/organization-sdk/package.json index 285f3d0..2f9f578 100644 --- a/packages/organization-sdk/package.json +++ b/packages/organization-sdk/package.json @@ -32,7 +32,7 @@ }, "dependencies": { "@coral-xyz/anchor": "^0.28.0", - "@helium/anchor-resolvers": "^0.4.3", + "@helium/anchor-resolvers": "^0.4.5", "@helium/modular-governance-idls": "^0.0.6", "@helium/proposal-sdk": "^0.0.6" }, diff --git a/packages/organization-wallet-sdk/package.json b/packages/organization-wallet-sdk/package.json index 57760fe..8966509 100644 --- a/packages/organization-wallet-sdk/package.json +++ b/packages/organization-wallet-sdk/package.json @@ -32,7 +32,7 @@ }, "dependencies": { "@coral-xyz/anchor": "^0.28.0", - "@helium/anchor-resolvers": "^0.4.3", + "@helium/anchor-resolvers": "^0.4.5", "@helium/modular-governance-idls": "^0.0.6", "@helium/proposal-sdk": "^0.0.6" }, diff --git a/packages/proposal-sdk/package.json b/packages/proposal-sdk/package.json index a471f30..f689a80 100644 --- a/packages/proposal-sdk/package.json +++ b/packages/proposal-sdk/package.json @@ -32,7 +32,7 @@ }, "dependencies": { "@coral-xyz/anchor": "^0.28.0", - "@helium/anchor-resolvers": "^0.4.3", + "@helium/anchor-resolvers": "^0.4.5", "@helium/modular-governance-idls": "^0.0.6" }, "devDependencies": { diff --git a/packages/state-controller-sdk/package.json b/packages/state-controller-sdk/package.json index e859dbb..a8382cc 100644 --- a/packages/state-controller-sdk/package.json +++ b/packages/state-controller-sdk/package.json @@ -32,7 +32,7 @@ }, "dependencies": { "@coral-xyz/anchor": "^0.28.0", - "@helium/anchor-resolvers": "^0.4.3", + "@helium/anchor-resolvers": "^0.4.5", "@helium/modular-governance-idls": "^0.0.6" }, "devDependencies": { diff --git a/packages/token-voter-sdk/package.json b/packages/token-voter-sdk/package.json index 3db72db..a159468 100644 --- a/packages/token-voter-sdk/package.json +++ b/packages/token-voter-sdk/package.json @@ -32,7 +32,7 @@ }, "dependencies": { "@coral-xyz/anchor": "^0.28.0", - "@helium/anchor-resolvers": "^0.4.3", + "@helium/anchor-resolvers": "^0.4.5", "@helium/modular-governance-idls": "^0.0.6", "@solana/spl-token": "^0.3.8" }, diff --git a/yarn.lock b/yarn.lock index 21dcf7a..3dec859 100644 --- a/yarn.lock +++ b/yarn.lock @@ -498,12 +498,12 @@ dependencies: client-only "^0.0.1" -"@helium/account-fetch-cache-hooks@^0.4.3": - version "0.4.3" - resolved "https://registry.yarnpkg.com/@helium/account-fetch-cache-hooks/-/account-fetch-cache-hooks-0.4.3.tgz#792b34acaf3a79a5705aa035a0839925300de409" - integrity sha512-dL/nKiUZQCnPdTW2qwIdNLr664UARA4Rz8mGfrdDcS5NHP+3tyms0GCCwwSR/sZuGD/FGT89TsZRoxSZlRDe9g== +"@helium/account-fetch-cache-hooks@^0.4.5": + version "0.4.5" + resolved "https://registry.yarnpkg.com/@helium/account-fetch-cache-hooks/-/account-fetch-cache-hooks-0.4.5.tgz#45ef5a0cd99e270f0b7442d85f78a7c0186771e5" + integrity sha512-fZtWppLdE+WUn1hqnOS+diIyGeaZrb2Hk49KbGgrv2C1A29WY6PoXwjLzKsDTpQO2s8iQ5UzTnoRCCqMmZnvxQ== dependencies: - "@helium/account-fetch-cache" "^0.4.3" + "@helium/account-fetch-cache" "^0.4.5" "@solana/web3.js" "^1.78.4" react-async-hook "^4.0.0" @@ -514,6 +514,13 @@ dependencies: "@solana/web3.js" "^1.78.4" +"@helium/account-fetch-cache@^0.4.5": + version "0.4.5" + resolved "https://registry.yarnpkg.com/@helium/account-fetch-cache/-/account-fetch-cache-0.4.5.tgz#f5eaea05ba8f38041eab015374ab3aa624fee545" + integrity sha512-zxIMXiL5O+uu7fpysqCwtIwE+NSbUQyKryYAbBpQMADQKLzCiZKksPDjpRfBpgZ97tkbZBBt7UDGZc11gcBwtg== + dependencies: + "@solana/web3.js" "^1.78.4" + "@helium/address@^4.10.2": version "4.10.2" resolved "https://registry.yarnpkg.com/@helium/address/-/address-4.10.2.tgz#56960b118fceb6b6ddabe3e4ecec467d9ae50e26" @@ -539,14 +546,22 @@ "@solana/spl-token" "^0.3.8" "@solana/web3.js" "^1.78.4" -"@helium/helium-react-hooks@^0.4.3": - version "0.4.3" - resolved "https://registry.yarnpkg.com/@helium/helium-react-hooks/-/helium-react-hooks-0.4.3.tgz#17c63eaf6f16198cc93b019882b1b4ce30bdfbb1" - integrity sha512-L84yxlFSWeocMdjQqUA9Cs7QIfEBaZeqQLlJ/w/hZcH8njg4OKX5Foa4eDMxdT2akPxGW3BghgLRcb0F77GBpA== +"@helium/anchor-resolvers@^0.4.5": + version "0.4.5" + resolved "https://registry.yarnpkg.com/@helium/anchor-resolvers/-/anchor-resolvers-0.4.5.tgz#d2d9f7c8fc6bbf3e08ccc17c6d1c368665e573ad" + integrity sha512-CFfOASnmxCTswB0uaMRY9oNhNTzDZ1HFlJfnZ6tdae/k1f/Pu2b42z1zbp21d2boE5p02bYfELMXogzt742XqA== + dependencies: + "@solana/spl-token" "^0.3.8" + "@solana/web3.js" "^1.78.4" + +"@helium/helium-react-hooks@^0.4.5": + version "0.4.5" + resolved "https://registry.yarnpkg.com/@helium/helium-react-hooks/-/helium-react-hooks-0.4.5.tgz#6b6692f19db4cfa68b2e2299d144363d23068738" + integrity sha512-23i4du838S6RWK/DjzFsf5OnNnjyY3P1OtoAr1FJ9a7RQBuDa2E2kjFeRjVEko0uWjycT/DRCMV/7rQzrde+pQ== dependencies: "@coral-xyz/anchor" "^0.28.0" - "@helium/account-fetch-cache" "^0.4.3" - "@helium/account-fetch-cache-hooks" "^0.4.3" + "@helium/account-fetch-cache" "^0.4.5" + "@helium/account-fetch-cache-hooks" "^0.4.5" "@solana/spl-token" "^0.3.8" "@solana/web3.js" "^1.78.4" bs58 "^4.0.1" @@ -8679,7 +8694,7 @@ typescript-collections@^1.3.3: resolved "https://registry.yarnpkg.com/typescript-collections/-/typescript-collections-1.3.3.tgz#62d50d93c018c094d425eabee649f00ec5cc0fea" integrity sha512-7sI4e/bZijOzyURng88oOFZCISQPTHozfE2sUu5AviFYk5QV7fYGb6YiDl+vKjF/pICA354JImBImL9XJWUvdQ== -"typescript@^3 || ^4", typescript@^4.3.4, typescript@^4.3.5: +"typescript@^3 || ^4", typescript@^4.3.5: version "4.9.5" resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.5.tgz#095979f9bcc0d09da324d58d03ce8f8374cbe65a" integrity sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g== From 5ee87b29a2d8627a8c6f8cfe8349f20a6bce69fa Mon Sep 17 00:00:00 2001 From: bry Date: Tue, 7 Nov 2023 14:56:31 -0600 Subject: [PATCH 05/25] chore(release): publish 0.0.7 --- CHANGELOG.md | 8 ++++++++ lerna.json | 2 +- packages/docsite/CHANGELOG.md | 8 ++++++++ packages/docsite/package.json | 2 +- packages/modular-governance-hooks/CHANGELOG.md | 8 ++++++++ packages/modular-governance-hooks/package.json | 6 +++--- packages/modular-governance-idls/CHANGELOG.md | 8 ++++++++ packages/modular-governance-idls/package.json | 2 +- packages/nft-voter-sdk/CHANGELOG.md | 8 ++++++++ packages/nft-voter-sdk/package.json | 4 ++-- packages/organization-sdk/CHANGELOG.md | 8 ++++++++ packages/organization-sdk/package.json | 6 +++--- packages/organization-wallet-sdk/CHANGELOG.md | 8 ++++++++ packages/organization-wallet-sdk/package.json | 6 +++--- packages/proposal-sdk/CHANGELOG.md | 8 ++++++++ packages/proposal-sdk/package.json | 4 ++-- packages/state-controller-sdk/CHANGELOG.md | 8 ++++++++ packages/state-controller-sdk/package.json | 4 ++-- packages/token-voter-sdk/CHANGELOG.md | 8 ++++++++ packages/token-voter-sdk/package.json | 4 ++-- 20 files changed, 100 insertions(+), 20 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a8c0262..ddd28b1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.0.7](https://github.com/helium/modular-governance/compare/v0.0.6...v0.0.7) (2023-11-07) + +**Note:** Version bump only for package modular-governance + + + + + ## [0.0.6](https://github.com/helium/modular-governance/compare/v0.0.4...v0.0.6) (2023-11-06) **Note:** Version bump only for package modular-governance diff --git a/lerna.json b/lerna.json index 51b7e23..6872fd4 100644 --- a/lerna.json +++ b/lerna.json @@ -4,5 +4,5 @@ "packages/*" ], "useWorkspaces": true, - "version": "0.0.6" + "version": "0.0.7" } diff --git a/packages/docsite/CHANGELOG.md b/packages/docsite/CHANGELOG.md index 70cad77..52baa74 100644 --- a/packages/docsite/CHANGELOG.md +++ b/packages/docsite/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.0.7](https://github.com/helium/modular-governance/compare/v0.0.6...v0.0.7) (2023-11-07) + +**Note:** Version bump only for package governance-docs + + + + + ## [0.0.6](https://github.com/helium/modular-governance/compare/v0.0.4...v0.0.6) (2023-11-06) **Note:** Version bump only for package governance-docs diff --git a/packages/docsite/package.json b/packages/docsite/package.json index 4578df1..bac6201 100644 --- a/packages/docsite/package.json +++ b/packages/docsite/package.json @@ -1,6 +1,6 @@ { "name": "governance-docs", - "version": "0.0.6", + "version": "0.0.7", "private": true, "scripts": { "dev": "next dev", diff --git a/packages/modular-governance-hooks/CHANGELOG.md b/packages/modular-governance-hooks/CHANGELOG.md index ab1affa..87b835f 100644 --- a/packages/modular-governance-hooks/CHANGELOG.md +++ b/packages/modular-governance-hooks/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.0.7](https://github.com/helium/modular-governance/compare/v0.0.6...v0.0.7) (2023-11-07) + +**Note:** Version bump only for package @helium/modular-governance-hooks + + + + + ## [0.0.6](https://github.com/helium/modular-governance/compare/v0.0.4...v0.0.6) (2023-11-06) **Note:** Version bump only for package @helium/modular-governance-hooks diff --git a/packages/modular-governance-hooks/package.json b/packages/modular-governance-hooks/package.json index 1843b67..d675fba 100644 --- a/packages/modular-governance-hooks/package.json +++ b/packages/modular-governance-hooks/package.json @@ -6,7 +6,7 @@ "registry": "https://registry.npmjs.org/" }, "license": "Apache-2.0", - "version": "0.0.6", + "version": "0.0.7", "description": "React hooks for modular governance", "repository": { "type": "git", @@ -36,8 +36,8 @@ "@helium/account-fetch-cache": "^0.4.5", "@helium/account-fetch-cache-hooks": "^0.4.5", "@helium/helium-react-hooks": "^0.4.5", - "@helium/modular-governance-idls": "^0.0.6", - "@helium/organization-sdk": "^0.0.6", + "@helium/modular-governance-idls": "^0.0.7", + "@helium/organization-sdk": "^0.0.7", "@solana/web3.js": "^1.78.4" }, "devDependencies": { diff --git a/packages/modular-governance-idls/CHANGELOG.md b/packages/modular-governance-idls/CHANGELOG.md index a31a887..8a97f03 100644 --- a/packages/modular-governance-idls/CHANGELOG.md +++ b/packages/modular-governance-idls/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.0.7](https://github.com/helium/modular-governance/compare/v0.0.6...v0.0.7) (2023-11-07) + +**Note:** Version bump only for package @helium/modular-governance-idls + + + + + ## [0.0.6](https://github.com/helium/modular-governance/compare/v0.0.4...v0.0.6) (2023-11-06) **Note:** Version bump only for package @helium/modular-governance-idls diff --git a/packages/modular-governance-idls/package.json b/packages/modular-governance-idls/package.json index 7422398..faaf287 100644 --- a/packages/modular-governance-idls/package.json +++ b/packages/modular-governance-idls/package.json @@ -1,6 +1,6 @@ { "name": "@helium/modular-governance-idls", - "version": "0.0.6", + "version": "0.0.7", "description": "Exported idls", "publishConfig": { "access": "public", diff --git a/packages/nft-voter-sdk/CHANGELOG.md b/packages/nft-voter-sdk/CHANGELOG.md index f8be82e..9a1dd78 100644 --- a/packages/nft-voter-sdk/CHANGELOG.md +++ b/packages/nft-voter-sdk/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.0.7](https://github.com/helium/modular-governance/compare/v0.0.6...v0.0.7) (2023-11-07) + +**Note:** Version bump only for package @helium/nft-voter-sdk + + + + + ## [0.0.6](https://github.com/helium/modular-governance/compare/v0.0.4...v0.0.6) (2023-11-06) **Note:** Version bump only for package @helium/nft-voter-sdk diff --git a/packages/nft-voter-sdk/package.json b/packages/nft-voter-sdk/package.json index f314298..70fb6d9 100644 --- a/packages/nft-voter-sdk/package.json +++ b/packages/nft-voter-sdk/package.json @@ -5,7 +5,7 @@ "registry": "https://registry.npmjs.org/" }, "license": "Apache-2.0", - "version": "0.0.6", + "version": "0.0.7", "description": "Interface to the nft voter smart contract", "repository": { "type": "git", @@ -33,7 +33,7 @@ "dependencies": { "@coral-xyz/anchor": "^0.28.0", "@helium/anchor-resolvers": "^0.4.5", - "@helium/modular-governance-idls": "^0.0.6", + "@helium/modular-governance-idls": "^0.0.7", "@solana/spl-token": "^0.3.8" }, "devDependencies": { diff --git a/packages/organization-sdk/CHANGELOG.md b/packages/organization-sdk/CHANGELOG.md index 2d0227d..26e0b6d 100644 --- a/packages/organization-sdk/CHANGELOG.md +++ b/packages/organization-sdk/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.0.7](https://github.com/helium/modular-governance/compare/v0.0.6...v0.0.7) (2023-11-07) + +**Note:** Version bump only for package @helium/organization-sdk + + + + + ## [0.0.6](https://github.com/helium/modular-governance/compare/v0.0.4...v0.0.6) (2023-11-06) **Note:** Version bump only for package @helium/organization-sdk diff --git a/packages/organization-sdk/package.json b/packages/organization-sdk/package.json index 2f9f578..61f43a3 100644 --- a/packages/organization-sdk/package.json +++ b/packages/organization-sdk/package.json @@ -5,7 +5,7 @@ "registry": "https://registry.npmjs.org/" }, "license": "Apache-2.0", - "version": "0.0.6", + "version": "0.0.7", "description": "Interface to the organization smart contract", "repository": { "type": "git", @@ -33,8 +33,8 @@ "dependencies": { "@coral-xyz/anchor": "^0.28.0", "@helium/anchor-resolvers": "^0.4.5", - "@helium/modular-governance-idls": "^0.0.6", - "@helium/proposal-sdk": "^0.0.6" + "@helium/modular-governance-idls": "^0.0.7", + "@helium/proposal-sdk": "^0.0.7" }, "devDependencies": { "git-format-staged": "^2.1.3", diff --git a/packages/organization-wallet-sdk/CHANGELOG.md b/packages/organization-wallet-sdk/CHANGELOG.md index c589866..5298f5f 100644 --- a/packages/organization-wallet-sdk/CHANGELOG.md +++ b/packages/organization-wallet-sdk/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.0.7](https://github.com/helium/modular-governance/compare/v0.0.6...v0.0.7) (2023-11-07) + +**Note:** Version bump only for package @helium/organization-wallet-sdk + + + + + ## [0.0.6](https://github.com/helium/modular-governance/compare/v0.0.4...v0.0.6) (2023-11-06) **Note:** Version bump only for package @helium/organization-wallet-sdk diff --git a/packages/organization-wallet-sdk/package.json b/packages/organization-wallet-sdk/package.json index 8966509..55f08f0 100644 --- a/packages/organization-wallet-sdk/package.json +++ b/packages/organization-wallet-sdk/package.json @@ -5,7 +5,7 @@ "registry": "https://registry.npmjs.org/" }, "license": "Apache-2.0", - "version": "0.0.6", + "version": "0.0.7", "description": "Interface to the organization wallet smart contract", "repository": { "type": "git", @@ -33,8 +33,8 @@ "dependencies": { "@coral-xyz/anchor": "^0.28.0", "@helium/anchor-resolvers": "^0.4.5", - "@helium/modular-governance-idls": "^0.0.6", - "@helium/proposal-sdk": "^0.0.6" + "@helium/modular-governance-idls": "^0.0.7", + "@helium/proposal-sdk": "^0.0.7" }, "devDependencies": { "git-format-staged": "^2.1.3", diff --git a/packages/proposal-sdk/CHANGELOG.md b/packages/proposal-sdk/CHANGELOG.md index b5044f7..0f0fdc0 100644 --- a/packages/proposal-sdk/CHANGELOG.md +++ b/packages/proposal-sdk/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.0.7](https://github.com/helium/modular-governance/compare/v0.0.6...v0.0.7) (2023-11-07) + +**Note:** Version bump only for package @helium/proposal-sdk + + + + + ## [0.0.6](https://github.com/helium/modular-governance/compare/v0.0.4...v0.0.6) (2023-11-06) **Note:** Version bump only for package @helium/proposal-sdk diff --git a/packages/proposal-sdk/package.json b/packages/proposal-sdk/package.json index f689a80..eeff239 100644 --- a/packages/proposal-sdk/package.json +++ b/packages/proposal-sdk/package.json @@ -5,7 +5,7 @@ "registry": "https://registry.npmjs.org/" }, "license": "Apache-2.0", - "version": "0.0.6", + "version": "0.0.7", "description": "Interface to the proposal smart contract", "repository": { "type": "git", @@ -33,7 +33,7 @@ "dependencies": { "@coral-xyz/anchor": "^0.28.0", "@helium/anchor-resolvers": "^0.4.5", - "@helium/modular-governance-idls": "^0.0.6" + "@helium/modular-governance-idls": "^0.0.7" }, "devDependencies": { "git-format-staged": "^2.1.3", diff --git a/packages/state-controller-sdk/CHANGELOG.md b/packages/state-controller-sdk/CHANGELOG.md index eeb40cf..c6f4b64 100644 --- a/packages/state-controller-sdk/CHANGELOG.md +++ b/packages/state-controller-sdk/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.0.7](https://github.com/helium/modular-governance/compare/v0.0.6...v0.0.7) (2023-11-07) + +**Note:** Version bump only for package @helium/state-controller-sdk + + + + + ## [0.0.6](https://github.com/helium/modular-governance/compare/v0.0.4...v0.0.6) (2023-11-06) **Note:** Version bump only for package @helium/state-controller-sdk diff --git a/packages/state-controller-sdk/package.json b/packages/state-controller-sdk/package.json index a8382cc..b8b9a69 100644 --- a/packages/state-controller-sdk/package.json +++ b/packages/state-controller-sdk/package.json @@ -5,7 +5,7 @@ "registry": "https://registry.npmjs.org/" }, "license": "Apache-2.0", - "version": "0.0.6", + "version": "0.0.7", "description": "Interface to the state controller smart contract", "repository": { "type": "git", @@ -33,7 +33,7 @@ "dependencies": { "@coral-xyz/anchor": "^0.28.0", "@helium/anchor-resolvers": "^0.4.5", - "@helium/modular-governance-idls": "^0.0.6" + "@helium/modular-governance-idls": "^0.0.7" }, "devDependencies": { "git-format-staged": "^2.1.3", diff --git a/packages/token-voter-sdk/CHANGELOG.md b/packages/token-voter-sdk/CHANGELOG.md index 280c762..6ba9cf8 100644 --- a/packages/token-voter-sdk/CHANGELOG.md +++ b/packages/token-voter-sdk/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.0.7](https://github.com/helium/modular-governance/compare/v0.0.6...v0.0.7) (2023-11-07) + +**Note:** Version bump only for package @helium/token-voter-sdk + + + + + ## [0.0.6](https://github.com/helium/modular-governance/compare/v0.0.4...v0.0.6) (2023-11-06) **Note:** Version bump only for package @helium/token-voter-sdk diff --git a/packages/token-voter-sdk/package.json b/packages/token-voter-sdk/package.json index a159468..a8ca1b7 100644 --- a/packages/token-voter-sdk/package.json +++ b/packages/token-voter-sdk/package.json @@ -5,7 +5,7 @@ "registry": "https://registry.npmjs.org/" }, "license": "Apache-2.0", - "version": "0.0.6", + "version": "0.0.7", "description": "Interface to the token voter smart contract", "repository": { "type": "git", @@ -33,7 +33,7 @@ "dependencies": { "@coral-xyz/anchor": "^0.28.0", "@helium/anchor-resolvers": "^0.4.5", - "@helium/modular-governance-idls": "^0.0.6", + "@helium/modular-governance-idls": "^0.0.7", "@solana/spl-token": "^0.3.8" }, "devDependencies": { From 896a80858eef7634fa91464305ae82de51f1aa89 Mon Sep 17 00:00:00 2001 From: bry Date: Fri, 10 Nov 2023 12:53:41 -0600 Subject: [PATCH 06/25] bump deps --- .../modular-governance-hooks/package.json | 6 +-- packages/nft-voter-sdk/package.json | 2 +- packages/organization-sdk/package.json | 2 +- packages/organization-wallet-sdk/package.json | 2 +- packages/proposal-sdk/package.json | 2 +- packages/state-controller-sdk/package.json | 2 +- packages/token-voter-sdk/package.json | 2 +- yarn.lock | 38 +++++++++---------- 8 files changed, 28 insertions(+), 28 deletions(-) diff --git a/packages/modular-governance-hooks/package.json b/packages/modular-governance-hooks/package.json index d675fba..895fda7 100644 --- a/packages/modular-governance-hooks/package.json +++ b/packages/modular-governance-hooks/package.json @@ -33,9 +33,9 @@ }, "dependencies": { "@coral-xyz/anchor": "^0.28.0", - "@helium/account-fetch-cache": "^0.4.5", - "@helium/account-fetch-cache-hooks": "^0.4.5", - "@helium/helium-react-hooks": "^0.4.5", + "@helium/account-fetch-cache": "^0.5.0", + "@helium/account-fetch-cache-hooks": "^0.5.0", + "@helium/helium-react-hooks": "^0.5.0", "@helium/modular-governance-idls": "^0.0.7", "@helium/organization-sdk": "^0.0.7", "@solana/web3.js": "^1.78.4" diff --git a/packages/nft-voter-sdk/package.json b/packages/nft-voter-sdk/package.json index 70fb6d9..eb06504 100644 --- a/packages/nft-voter-sdk/package.json +++ b/packages/nft-voter-sdk/package.json @@ -32,7 +32,7 @@ }, "dependencies": { "@coral-xyz/anchor": "^0.28.0", - "@helium/anchor-resolvers": "^0.4.5", + "@helium/anchor-resolvers": "^0.5.0", "@helium/modular-governance-idls": "^0.0.7", "@solana/spl-token": "^0.3.8" }, diff --git a/packages/organization-sdk/package.json b/packages/organization-sdk/package.json index 61f43a3..47877ec 100644 --- a/packages/organization-sdk/package.json +++ b/packages/organization-sdk/package.json @@ -32,7 +32,7 @@ }, "dependencies": { "@coral-xyz/anchor": "^0.28.0", - "@helium/anchor-resolvers": "^0.4.5", + "@helium/anchor-resolvers": "^0.5.0", "@helium/modular-governance-idls": "^0.0.7", "@helium/proposal-sdk": "^0.0.7" }, diff --git a/packages/organization-wallet-sdk/package.json b/packages/organization-wallet-sdk/package.json index 55f08f0..1bedea2 100644 --- a/packages/organization-wallet-sdk/package.json +++ b/packages/organization-wallet-sdk/package.json @@ -32,7 +32,7 @@ }, "dependencies": { "@coral-xyz/anchor": "^0.28.0", - "@helium/anchor-resolvers": "^0.4.5", + "@helium/anchor-resolvers": "^0.5.0", "@helium/modular-governance-idls": "^0.0.7", "@helium/proposal-sdk": "^0.0.7" }, diff --git a/packages/proposal-sdk/package.json b/packages/proposal-sdk/package.json index eeff239..95f365c 100644 --- a/packages/proposal-sdk/package.json +++ b/packages/proposal-sdk/package.json @@ -32,7 +32,7 @@ }, "dependencies": { "@coral-xyz/anchor": "^0.28.0", - "@helium/anchor-resolvers": "^0.4.5", + "@helium/anchor-resolvers": "^0.5.0", "@helium/modular-governance-idls": "^0.0.7" }, "devDependencies": { diff --git a/packages/state-controller-sdk/package.json b/packages/state-controller-sdk/package.json index b8b9a69..5cd3ecb 100644 --- a/packages/state-controller-sdk/package.json +++ b/packages/state-controller-sdk/package.json @@ -32,7 +32,7 @@ }, "dependencies": { "@coral-xyz/anchor": "^0.28.0", - "@helium/anchor-resolvers": "^0.4.5", + "@helium/anchor-resolvers": "^0.5.0", "@helium/modular-governance-idls": "^0.0.7" }, "devDependencies": { diff --git a/packages/token-voter-sdk/package.json b/packages/token-voter-sdk/package.json index a8ca1b7..00fdfa1 100644 --- a/packages/token-voter-sdk/package.json +++ b/packages/token-voter-sdk/package.json @@ -32,7 +32,7 @@ }, "dependencies": { "@coral-xyz/anchor": "^0.28.0", - "@helium/anchor-resolvers": "^0.4.5", + "@helium/anchor-resolvers": "^0.5.0", "@helium/modular-governance-idls": "^0.0.7", "@solana/spl-token": "^0.3.8" }, diff --git a/yarn.lock b/yarn.lock index 3dec859..6a4a989 100644 --- a/yarn.lock +++ b/yarn.lock @@ -498,12 +498,12 @@ dependencies: client-only "^0.0.1" -"@helium/account-fetch-cache-hooks@^0.4.5": - version "0.4.5" - resolved "https://registry.yarnpkg.com/@helium/account-fetch-cache-hooks/-/account-fetch-cache-hooks-0.4.5.tgz#45ef5a0cd99e270f0b7442d85f78a7c0186771e5" - integrity sha512-fZtWppLdE+WUn1hqnOS+diIyGeaZrb2Hk49KbGgrv2C1A29WY6PoXwjLzKsDTpQO2s8iQ5UzTnoRCCqMmZnvxQ== +"@helium/account-fetch-cache-hooks@^0.5.0": + version "0.5.0" + resolved "https://registry.yarnpkg.com/@helium/account-fetch-cache-hooks/-/account-fetch-cache-hooks-0.5.0.tgz#8b2bbb8fce696eebe59f30812dd0ffb56b895aad" + integrity sha512-5+KyDHtWLzw2CknwD7UBPufryoQepigA8ta21nk6G4l8nXq0nvu6EnPOPMwHR89PJxw+hDY+cm2kfzgnapnLQw== dependencies: - "@helium/account-fetch-cache" "^0.4.5" + "@helium/account-fetch-cache" "^0.5.0" "@solana/web3.js" "^1.78.4" react-async-hook "^4.0.0" @@ -514,10 +514,10 @@ dependencies: "@solana/web3.js" "^1.78.4" -"@helium/account-fetch-cache@^0.4.5": - version "0.4.5" - resolved "https://registry.yarnpkg.com/@helium/account-fetch-cache/-/account-fetch-cache-0.4.5.tgz#f5eaea05ba8f38041eab015374ab3aa624fee545" - integrity sha512-zxIMXiL5O+uu7fpysqCwtIwE+NSbUQyKryYAbBpQMADQKLzCiZKksPDjpRfBpgZ97tkbZBBt7UDGZc11gcBwtg== +"@helium/account-fetch-cache@^0.5.0": + version "0.5.0" + resolved "https://registry.yarnpkg.com/@helium/account-fetch-cache/-/account-fetch-cache-0.5.0.tgz#b0951fd5c44d242197daa3a1ce9bdb02945bc6ac" + integrity sha512-fvPJq+nwzn8O37ASaWmPQKQX3IdaMIPFo+tIG4xLipyD6IFiGyySDB/VBnSk0DM4EYaUEOa3c0iAbl4KUKH+Og== dependencies: "@solana/web3.js" "^1.78.4" @@ -546,22 +546,22 @@ "@solana/spl-token" "^0.3.8" "@solana/web3.js" "^1.78.4" -"@helium/anchor-resolvers@^0.4.5": - version "0.4.5" - resolved "https://registry.yarnpkg.com/@helium/anchor-resolvers/-/anchor-resolvers-0.4.5.tgz#d2d9f7c8fc6bbf3e08ccc17c6d1c368665e573ad" - integrity sha512-CFfOASnmxCTswB0uaMRY9oNhNTzDZ1HFlJfnZ6tdae/k1f/Pu2b42z1zbp21d2boE5p02bYfELMXogzt742XqA== +"@helium/anchor-resolvers@^0.5.0": + version "0.5.0" + resolved "https://registry.yarnpkg.com/@helium/anchor-resolvers/-/anchor-resolvers-0.5.0.tgz#499fbcd82411d07b148d7015a1e6432020a3f82d" + integrity sha512-qJeTh4KfRCWn3uKd1hQqa/CqAep6BUnJBvMxlu39rlOfeD+W6EymJX6E9qxTggfzd6CLxI//BTlL2pPm/HqmSg== dependencies: "@solana/spl-token" "^0.3.8" "@solana/web3.js" "^1.78.4" -"@helium/helium-react-hooks@^0.4.5": - version "0.4.5" - resolved "https://registry.yarnpkg.com/@helium/helium-react-hooks/-/helium-react-hooks-0.4.5.tgz#6b6692f19db4cfa68b2e2299d144363d23068738" - integrity sha512-23i4du838S6RWK/DjzFsf5OnNnjyY3P1OtoAr1FJ9a7RQBuDa2E2kjFeRjVEko0uWjycT/DRCMV/7rQzrde+pQ== +"@helium/helium-react-hooks@^0.5.0": + version "0.5.0" + resolved "https://registry.yarnpkg.com/@helium/helium-react-hooks/-/helium-react-hooks-0.5.0.tgz#92c114e31ae5eb592554c49dd7709612273af367" + integrity sha512-bo9HhYj+qS9ML4J74xptco2JYp2SGy2tmCQFMKr0ywZYlnghr6oUry5rHrEYRgr9krzVKfRESfpAC3zy++RqMg== dependencies: "@coral-xyz/anchor" "^0.28.0" - "@helium/account-fetch-cache" "^0.4.5" - "@helium/account-fetch-cache-hooks" "^0.4.5" + "@helium/account-fetch-cache" "^0.5.0" + "@helium/account-fetch-cache-hooks" "^0.5.0" "@solana/spl-token" "^0.3.8" "@solana/web3.js" "^1.78.4" bs58 "^4.0.1" From 1208f115e074cb20580a187fe5a2f1141737c50f Mon Sep 17 00:00:00 2001 From: bry Date: Fri, 10 Nov 2023 12:53:58 -0600 Subject: [PATCH 07/25] chore(release): publish 0.0.8 --- CHANGELOG.md | 8 ++++++++ lerna.json | 2 +- packages/docsite/CHANGELOG.md | 8 ++++++++ packages/docsite/package.json | 2 +- packages/modular-governance-hooks/CHANGELOG.md | 8 ++++++++ packages/modular-governance-hooks/package.json | 6 +++--- packages/modular-governance-idls/CHANGELOG.md | 8 ++++++++ packages/modular-governance-idls/package.json | 2 +- packages/nft-voter-sdk/CHANGELOG.md | 8 ++++++++ packages/nft-voter-sdk/package.json | 4 ++-- packages/organization-sdk/CHANGELOG.md | 8 ++++++++ packages/organization-sdk/package.json | 6 +++--- packages/organization-wallet-sdk/CHANGELOG.md | 8 ++++++++ packages/organization-wallet-sdk/package.json | 6 +++--- packages/proposal-sdk/CHANGELOG.md | 8 ++++++++ packages/proposal-sdk/package.json | 4 ++-- packages/state-controller-sdk/CHANGELOG.md | 8 ++++++++ packages/state-controller-sdk/package.json | 4 ++-- packages/token-voter-sdk/CHANGELOG.md | 8 ++++++++ packages/token-voter-sdk/package.json | 4 ++-- 20 files changed, 100 insertions(+), 20 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ddd28b1..8f8ad45 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.0.8](https://github.com/helium/modular-governance/compare/v0.0.7...v0.0.8) (2023-11-10) + +**Note:** Version bump only for package modular-governance + + + + + ## [0.0.7](https://github.com/helium/modular-governance/compare/v0.0.6...v0.0.7) (2023-11-07) **Note:** Version bump only for package modular-governance diff --git a/lerna.json b/lerna.json index 6872fd4..abbd516 100644 --- a/lerna.json +++ b/lerna.json @@ -4,5 +4,5 @@ "packages/*" ], "useWorkspaces": true, - "version": "0.0.7" + "version": "0.0.8" } diff --git a/packages/docsite/CHANGELOG.md b/packages/docsite/CHANGELOG.md index 52baa74..7e9dac6 100644 --- a/packages/docsite/CHANGELOG.md +++ b/packages/docsite/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.0.8](https://github.com/helium/modular-governance/compare/v0.0.7...v0.0.8) (2023-11-10) + +**Note:** Version bump only for package governance-docs + + + + + ## [0.0.7](https://github.com/helium/modular-governance/compare/v0.0.6...v0.0.7) (2023-11-07) **Note:** Version bump only for package governance-docs diff --git a/packages/docsite/package.json b/packages/docsite/package.json index bac6201..8521a86 100644 --- a/packages/docsite/package.json +++ b/packages/docsite/package.json @@ -1,6 +1,6 @@ { "name": "governance-docs", - "version": "0.0.7", + "version": "0.0.8", "private": true, "scripts": { "dev": "next dev", diff --git a/packages/modular-governance-hooks/CHANGELOG.md b/packages/modular-governance-hooks/CHANGELOG.md index 87b835f..287e95a 100644 --- a/packages/modular-governance-hooks/CHANGELOG.md +++ b/packages/modular-governance-hooks/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.0.8](https://github.com/helium/modular-governance/compare/v0.0.7...v0.0.8) (2023-11-10) + +**Note:** Version bump only for package @helium/modular-governance-hooks + + + + + ## [0.0.7](https://github.com/helium/modular-governance/compare/v0.0.6...v0.0.7) (2023-11-07) **Note:** Version bump only for package @helium/modular-governance-hooks diff --git a/packages/modular-governance-hooks/package.json b/packages/modular-governance-hooks/package.json index 895fda7..ef34f29 100644 --- a/packages/modular-governance-hooks/package.json +++ b/packages/modular-governance-hooks/package.json @@ -6,7 +6,7 @@ "registry": "https://registry.npmjs.org/" }, "license": "Apache-2.0", - "version": "0.0.7", + "version": "0.0.8", "description": "React hooks for modular governance", "repository": { "type": "git", @@ -36,8 +36,8 @@ "@helium/account-fetch-cache": "^0.5.0", "@helium/account-fetch-cache-hooks": "^0.5.0", "@helium/helium-react-hooks": "^0.5.0", - "@helium/modular-governance-idls": "^0.0.7", - "@helium/organization-sdk": "^0.0.7", + "@helium/modular-governance-idls": "^0.0.8", + "@helium/organization-sdk": "^0.0.8", "@solana/web3.js": "^1.78.4" }, "devDependencies": { diff --git a/packages/modular-governance-idls/CHANGELOG.md b/packages/modular-governance-idls/CHANGELOG.md index 8a97f03..36f222b 100644 --- a/packages/modular-governance-idls/CHANGELOG.md +++ b/packages/modular-governance-idls/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.0.8](https://github.com/helium/modular-governance/compare/v0.0.7...v0.0.8) (2023-11-10) + +**Note:** Version bump only for package @helium/modular-governance-idls + + + + + ## [0.0.7](https://github.com/helium/modular-governance/compare/v0.0.6...v0.0.7) (2023-11-07) **Note:** Version bump only for package @helium/modular-governance-idls diff --git a/packages/modular-governance-idls/package.json b/packages/modular-governance-idls/package.json index faaf287..2703488 100644 --- a/packages/modular-governance-idls/package.json +++ b/packages/modular-governance-idls/package.json @@ -1,6 +1,6 @@ { "name": "@helium/modular-governance-idls", - "version": "0.0.7", + "version": "0.0.8", "description": "Exported idls", "publishConfig": { "access": "public", diff --git a/packages/nft-voter-sdk/CHANGELOG.md b/packages/nft-voter-sdk/CHANGELOG.md index 9a1dd78..747454b 100644 --- a/packages/nft-voter-sdk/CHANGELOG.md +++ b/packages/nft-voter-sdk/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.0.8](https://github.com/helium/modular-governance/compare/v0.0.7...v0.0.8) (2023-11-10) + +**Note:** Version bump only for package @helium/nft-voter-sdk + + + + + ## [0.0.7](https://github.com/helium/modular-governance/compare/v0.0.6...v0.0.7) (2023-11-07) **Note:** Version bump only for package @helium/nft-voter-sdk diff --git a/packages/nft-voter-sdk/package.json b/packages/nft-voter-sdk/package.json index eb06504..135bc1d 100644 --- a/packages/nft-voter-sdk/package.json +++ b/packages/nft-voter-sdk/package.json @@ -5,7 +5,7 @@ "registry": "https://registry.npmjs.org/" }, "license": "Apache-2.0", - "version": "0.0.7", + "version": "0.0.8", "description": "Interface to the nft voter smart contract", "repository": { "type": "git", @@ -33,7 +33,7 @@ "dependencies": { "@coral-xyz/anchor": "^0.28.0", "@helium/anchor-resolvers": "^0.5.0", - "@helium/modular-governance-idls": "^0.0.7", + "@helium/modular-governance-idls": "^0.0.8", "@solana/spl-token": "^0.3.8" }, "devDependencies": { diff --git a/packages/organization-sdk/CHANGELOG.md b/packages/organization-sdk/CHANGELOG.md index 26e0b6d..ac683b8 100644 --- a/packages/organization-sdk/CHANGELOG.md +++ b/packages/organization-sdk/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.0.8](https://github.com/helium/modular-governance/compare/v0.0.7...v0.0.8) (2023-11-10) + +**Note:** Version bump only for package @helium/organization-sdk + + + + + ## [0.0.7](https://github.com/helium/modular-governance/compare/v0.0.6...v0.0.7) (2023-11-07) **Note:** Version bump only for package @helium/organization-sdk diff --git a/packages/organization-sdk/package.json b/packages/organization-sdk/package.json index 47877ec..c22718b 100644 --- a/packages/organization-sdk/package.json +++ b/packages/organization-sdk/package.json @@ -5,7 +5,7 @@ "registry": "https://registry.npmjs.org/" }, "license": "Apache-2.0", - "version": "0.0.7", + "version": "0.0.8", "description": "Interface to the organization smart contract", "repository": { "type": "git", @@ -33,8 +33,8 @@ "dependencies": { "@coral-xyz/anchor": "^0.28.0", "@helium/anchor-resolvers": "^0.5.0", - "@helium/modular-governance-idls": "^0.0.7", - "@helium/proposal-sdk": "^0.0.7" + "@helium/modular-governance-idls": "^0.0.8", + "@helium/proposal-sdk": "^0.0.8" }, "devDependencies": { "git-format-staged": "^2.1.3", diff --git a/packages/organization-wallet-sdk/CHANGELOG.md b/packages/organization-wallet-sdk/CHANGELOG.md index 5298f5f..aba052a 100644 --- a/packages/organization-wallet-sdk/CHANGELOG.md +++ b/packages/organization-wallet-sdk/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.0.8](https://github.com/helium/modular-governance/compare/v0.0.7...v0.0.8) (2023-11-10) + +**Note:** Version bump only for package @helium/organization-wallet-sdk + + + + + ## [0.0.7](https://github.com/helium/modular-governance/compare/v0.0.6...v0.0.7) (2023-11-07) **Note:** Version bump only for package @helium/organization-wallet-sdk diff --git a/packages/organization-wallet-sdk/package.json b/packages/organization-wallet-sdk/package.json index 1bedea2..e6b0f10 100644 --- a/packages/organization-wallet-sdk/package.json +++ b/packages/organization-wallet-sdk/package.json @@ -5,7 +5,7 @@ "registry": "https://registry.npmjs.org/" }, "license": "Apache-2.0", - "version": "0.0.7", + "version": "0.0.8", "description": "Interface to the organization wallet smart contract", "repository": { "type": "git", @@ -33,8 +33,8 @@ "dependencies": { "@coral-xyz/anchor": "^0.28.0", "@helium/anchor-resolvers": "^0.5.0", - "@helium/modular-governance-idls": "^0.0.7", - "@helium/proposal-sdk": "^0.0.7" + "@helium/modular-governance-idls": "^0.0.8", + "@helium/proposal-sdk": "^0.0.8" }, "devDependencies": { "git-format-staged": "^2.1.3", diff --git a/packages/proposal-sdk/CHANGELOG.md b/packages/proposal-sdk/CHANGELOG.md index 0f0fdc0..247b2fc 100644 --- a/packages/proposal-sdk/CHANGELOG.md +++ b/packages/proposal-sdk/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.0.8](https://github.com/helium/modular-governance/compare/v0.0.7...v0.0.8) (2023-11-10) + +**Note:** Version bump only for package @helium/proposal-sdk + + + + + ## [0.0.7](https://github.com/helium/modular-governance/compare/v0.0.6...v0.0.7) (2023-11-07) **Note:** Version bump only for package @helium/proposal-sdk diff --git a/packages/proposal-sdk/package.json b/packages/proposal-sdk/package.json index 95f365c..fd58ab8 100644 --- a/packages/proposal-sdk/package.json +++ b/packages/proposal-sdk/package.json @@ -5,7 +5,7 @@ "registry": "https://registry.npmjs.org/" }, "license": "Apache-2.0", - "version": "0.0.7", + "version": "0.0.8", "description": "Interface to the proposal smart contract", "repository": { "type": "git", @@ -33,7 +33,7 @@ "dependencies": { "@coral-xyz/anchor": "^0.28.0", "@helium/anchor-resolvers": "^0.5.0", - "@helium/modular-governance-idls": "^0.0.7" + "@helium/modular-governance-idls": "^0.0.8" }, "devDependencies": { "git-format-staged": "^2.1.3", diff --git a/packages/state-controller-sdk/CHANGELOG.md b/packages/state-controller-sdk/CHANGELOG.md index c6f4b64..b05a0c8 100644 --- a/packages/state-controller-sdk/CHANGELOG.md +++ b/packages/state-controller-sdk/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.0.8](https://github.com/helium/modular-governance/compare/v0.0.7...v0.0.8) (2023-11-10) + +**Note:** Version bump only for package @helium/state-controller-sdk + + + + + ## [0.0.7](https://github.com/helium/modular-governance/compare/v0.0.6...v0.0.7) (2023-11-07) **Note:** Version bump only for package @helium/state-controller-sdk diff --git a/packages/state-controller-sdk/package.json b/packages/state-controller-sdk/package.json index 5cd3ecb..1728eb3 100644 --- a/packages/state-controller-sdk/package.json +++ b/packages/state-controller-sdk/package.json @@ -5,7 +5,7 @@ "registry": "https://registry.npmjs.org/" }, "license": "Apache-2.0", - "version": "0.0.7", + "version": "0.0.8", "description": "Interface to the state controller smart contract", "repository": { "type": "git", @@ -33,7 +33,7 @@ "dependencies": { "@coral-xyz/anchor": "^0.28.0", "@helium/anchor-resolvers": "^0.5.0", - "@helium/modular-governance-idls": "^0.0.7" + "@helium/modular-governance-idls": "^0.0.8" }, "devDependencies": { "git-format-staged": "^2.1.3", diff --git a/packages/token-voter-sdk/CHANGELOG.md b/packages/token-voter-sdk/CHANGELOG.md index 6ba9cf8..bccf305 100644 --- a/packages/token-voter-sdk/CHANGELOG.md +++ b/packages/token-voter-sdk/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.0.8](https://github.com/helium/modular-governance/compare/v0.0.7...v0.0.8) (2023-11-10) + +**Note:** Version bump only for package @helium/token-voter-sdk + + + + + ## [0.0.7](https://github.com/helium/modular-governance/compare/v0.0.6...v0.0.7) (2023-11-07) **Note:** Version bump only for package @helium/token-voter-sdk diff --git a/packages/token-voter-sdk/package.json b/packages/token-voter-sdk/package.json index 00fdfa1..ec3bec1 100644 --- a/packages/token-voter-sdk/package.json +++ b/packages/token-voter-sdk/package.json @@ -5,7 +5,7 @@ "registry": "https://registry.npmjs.org/" }, "license": "Apache-2.0", - "version": "0.0.7", + "version": "0.0.8", "description": "Interface to the token voter smart contract", "repository": { "type": "git", @@ -33,7 +33,7 @@ "dependencies": { "@coral-xyz/anchor": "^0.28.0", "@helium/anchor-resolvers": "^0.5.0", - "@helium/modular-governance-idls": "^0.0.7", + "@helium/modular-governance-idls": "^0.0.8", "@solana/spl-token": "^0.3.8" }, "devDependencies": { From bdc8e6965d8accc2d5adc548fe31fe3baf0728e7 Mon Sep 17 00:00:00 2001 From: Chewing Glass Date: Wed, 31 Jan 2024 15:07:48 -0600 Subject: [PATCH 08/25] Add devnet feature --- programs/nft_voter/Cargo.toml | 1 + programs/organization/Cargo.toml | 1 + programs/organization_wallet/Cargo.toml | 1 + programs/proposal/Cargo.toml | 1 + programs/state_controller/Cargo.toml | 1 + programs/token_voter/Cargo.toml | 1 + programs/vote_hook_interface/Cargo.toml | 1 + 7 files changed, 7 insertions(+) diff --git a/programs/nft_voter/Cargo.toml b/programs/nft_voter/Cargo.toml index 3225d60..c217330 100644 --- a/programs/nft_voter/Cargo.toml +++ b/programs/nft_voter/Cargo.toml @@ -14,6 +14,7 @@ no-idl = [] no-log-ix-name = [] cpi = ["no-entrypoint"] default = [] +devnet = [] [dependencies] anchor-lang = { git = "https://github.com/ChewingGlass/anchor", branch = "bugfix/cpi-polymorphism", features = ["init-if-needed"] } diff --git a/programs/organization/Cargo.toml b/programs/organization/Cargo.toml index 38814cb..a4393b8 100644 --- a/programs/organization/Cargo.toml +++ b/programs/organization/Cargo.toml @@ -14,6 +14,7 @@ no-idl = [] no-log-ix-name = [] cpi = ["no-entrypoint"] default = [] +devnet = [] [dependencies] anchor-lang = { git = "https://github.com/ChewingGlass/anchor", branch = "bugfix/cpi-polymorphism" } diff --git a/programs/organization_wallet/Cargo.toml b/programs/organization_wallet/Cargo.toml index 1f555d0..bd275cf 100644 --- a/programs/organization_wallet/Cargo.toml +++ b/programs/organization_wallet/Cargo.toml @@ -14,6 +14,7 @@ no-idl = [] no-log-ix-name = [] cpi = ["no-entrypoint"] default = [] +devnet = [] [dependencies] anchor-lang = { git = "https://github.com/ChewingGlass/anchor", branch = "bugfix/cpi-polymorphism", features = ["init-if-needed"] } diff --git a/programs/proposal/Cargo.toml b/programs/proposal/Cargo.toml index 1d93802..4257f8c 100644 --- a/programs/proposal/Cargo.toml +++ b/programs/proposal/Cargo.toml @@ -14,6 +14,7 @@ no-idl = [] no-log-ix-name = [] cpi = ["no-entrypoint"] default = [] +devnet = [] [dependencies] anchor-lang = { git = "https://github.com/ChewingGlass/anchor", branch = "bugfix/cpi-polymorphism" } diff --git a/programs/state_controller/Cargo.toml b/programs/state_controller/Cargo.toml index a07f932..586db01 100644 --- a/programs/state_controller/Cargo.toml +++ b/programs/state_controller/Cargo.toml @@ -14,6 +14,7 @@ no-idl = [] no-log-ix-name = [] cpi = ["no-entrypoint"] default = [] +devnet = [] [dependencies] anchor-lang = { git = "https://github.com/ChewingGlass/anchor", branch = "bugfix/cpi-polymorphism" } diff --git a/programs/token_voter/Cargo.toml b/programs/token_voter/Cargo.toml index 4d03aa7..9d366f4 100644 --- a/programs/token_voter/Cargo.toml +++ b/programs/token_voter/Cargo.toml @@ -14,6 +14,7 @@ no-idl = [] no-log-ix-name = [] cpi = ["no-entrypoint"] default = [] +devnet = [] [dependencies] anchor-lang = { git = "https://github.com/ChewingGlass/anchor", branch = "bugfix/cpi-polymorphism", features = ["init-if-needed"] } diff --git a/programs/vote_hook_interface/Cargo.toml b/programs/vote_hook_interface/Cargo.toml index cd4fd7e..37486d8 100644 --- a/programs/vote_hook_interface/Cargo.toml +++ b/programs/vote_hook_interface/Cargo.toml @@ -14,6 +14,7 @@ no-idl = [] no-log-ix-name = [] cpi = ["no-entrypoint"] default = [] +devnet = [] [dependencies] anchor-lang = { git = "https://github.com/ChewingGlass/anchor", branch = "bugfix/cpi-polymorphism" } From eaa16fbd0c38a57ac491cfbd55568e5db394332e Mon Sep 17 00:00:00 2001 From: Noah Prince Date: Wed, 13 Mar 2024 13:25:57 -0700 Subject: [PATCH 09/25] chore(release): publish 0.0.9 --- CHANGELOG.md | 8 ++++++++ lerna.json | 2 +- packages/docsite/CHANGELOG.md | 8 ++++++++ packages/docsite/package.json | 2 +- packages/modular-governance-hooks/CHANGELOG.md | 8 ++++++++ packages/modular-governance-hooks/package.json | 6 +++--- packages/modular-governance-idls/CHANGELOG.md | 8 ++++++++ packages/modular-governance-idls/package.json | 2 +- packages/nft-voter-sdk/CHANGELOG.md | 8 ++++++++ packages/nft-voter-sdk/package.json | 4 ++-- packages/organization-sdk/CHANGELOG.md | 8 ++++++++ packages/organization-sdk/package.json | 6 +++--- packages/organization-wallet-sdk/CHANGELOG.md | 8 ++++++++ packages/organization-wallet-sdk/package.json | 6 +++--- packages/proposal-sdk/CHANGELOG.md | 8 ++++++++ packages/proposal-sdk/package.json | 4 ++-- packages/state-controller-sdk/CHANGELOG.md | 8 ++++++++ packages/state-controller-sdk/package.json | 4 ++-- packages/token-voter-sdk/CHANGELOG.md | 8 ++++++++ packages/token-voter-sdk/package.json | 4 ++-- 20 files changed, 100 insertions(+), 20 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8f8ad45..40ff151 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.0.9](https://github.com/helium/modular-governance/compare/v0.0.8...v0.0.9) (2024-03-13) + +**Note:** Version bump only for package modular-governance + + + + + ## [0.0.8](https://github.com/helium/modular-governance/compare/v0.0.7...v0.0.8) (2023-11-10) **Note:** Version bump only for package modular-governance diff --git a/lerna.json b/lerna.json index abbd516..fb1bf20 100644 --- a/lerna.json +++ b/lerna.json @@ -4,5 +4,5 @@ "packages/*" ], "useWorkspaces": true, - "version": "0.0.8" + "version": "0.0.9" } diff --git a/packages/docsite/CHANGELOG.md b/packages/docsite/CHANGELOG.md index 7e9dac6..8e3ca2b 100644 --- a/packages/docsite/CHANGELOG.md +++ b/packages/docsite/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.0.9](https://github.com/helium/modular-governance/compare/v0.0.8...v0.0.9) (2024-03-13) + +**Note:** Version bump only for package governance-docs + + + + + ## [0.0.8](https://github.com/helium/modular-governance/compare/v0.0.7...v0.0.8) (2023-11-10) **Note:** Version bump only for package governance-docs diff --git a/packages/docsite/package.json b/packages/docsite/package.json index 8521a86..913a685 100644 --- a/packages/docsite/package.json +++ b/packages/docsite/package.json @@ -1,6 +1,6 @@ { "name": "governance-docs", - "version": "0.0.8", + "version": "0.0.9", "private": true, "scripts": { "dev": "next dev", diff --git a/packages/modular-governance-hooks/CHANGELOG.md b/packages/modular-governance-hooks/CHANGELOG.md index 287e95a..f67f86b 100644 --- a/packages/modular-governance-hooks/CHANGELOG.md +++ b/packages/modular-governance-hooks/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.0.9](https://github.com/helium/modular-governance/compare/v0.0.8...v0.0.9) (2024-03-13) + +**Note:** Version bump only for package @helium/modular-governance-hooks + + + + + ## [0.0.8](https://github.com/helium/modular-governance/compare/v0.0.7...v0.0.8) (2023-11-10) **Note:** Version bump only for package @helium/modular-governance-hooks diff --git a/packages/modular-governance-hooks/package.json b/packages/modular-governance-hooks/package.json index ef34f29..0de0495 100644 --- a/packages/modular-governance-hooks/package.json +++ b/packages/modular-governance-hooks/package.json @@ -6,7 +6,7 @@ "registry": "https://registry.npmjs.org/" }, "license": "Apache-2.0", - "version": "0.0.8", + "version": "0.0.9", "description": "React hooks for modular governance", "repository": { "type": "git", @@ -36,8 +36,8 @@ "@helium/account-fetch-cache": "^0.5.0", "@helium/account-fetch-cache-hooks": "^0.5.0", "@helium/helium-react-hooks": "^0.5.0", - "@helium/modular-governance-idls": "^0.0.8", - "@helium/organization-sdk": "^0.0.8", + "@helium/modular-governance-idls": "^0.0.9", + "@helium/organization-sdk": "^0.0.9", "@solana/web3.js": "^1.78.4" }, "devDependencies": { diff --git a/packages/modular-governance-idls/CHANGELOG.md b/packages/modular-governance-idls/CHANGELOG.md index 36f222b..4fb66b6 100644 --- a/packages/modular-governance-idls/CHANGELOG.md +++ b/packages/modular-governance-idls/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.0.9](https://github.com/helium/modular-governance/compare/v0.0.8...v0.0.9) (2024-03-13) + +**Note:** Version bump only for package @helium/modular-governance-idls + + + + + ## [0.0.8](https://github.com/helium/modular-governance/compare/v0.0.7...v0.0.8) (2023-11-10) **Note:** Version bump only for package @helium/modular-governance-idls diff --git a/packages/modular-governance-idls/package.json b/packages/modular-governance-idls/package.json index 2703488..7709955 100644 --- a/packages/modular-governance-idls/package.json +++ b/packages/modular-governance-idls/package.json @@ -1,6 +1,6 @@ { "name": "@helium/modular-governance-idls", - "version": "0.0.8", + "version": "0.0.9", "description": "Exported idls", "publishConfig": { "access": "public", diff --git a/packages/nft-voter-sdk/CHANGELOG.md b/packages/nft-voter-sdk/CHANGELOG.md index 747454b..8d2c655 100644 --- a/packages/nft-voter-sdk/CHANGELOG.md +++ b/packages/nft-voter-sdk/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.0.9](https://github.com/helium/modular-governance/compare/v0.0.8...v0.0.9) (2024-03-13) + +**Note:** Version bump only for package @helium/nft-voter-sdk + + + + + ## [0.0.8](https://github.com/helium/modular-governance/compare/v0.0.7...v0.0.8) (2023-11-10) **Note:** Version bump only for package @helium/nft-voter-sdk diff --git a/packages/nft-voter-sdk/package.json b/packages/nft-voter-sdk/package.json index 135bc1d..46a71ec 100644 --- a/packages/nft-voter-sdk/package.json +++ b/packages/nft-voter-sdk/package.json @@ -5,7 +5,7 @@ "registry": "https://registry.npmjs.org/" }, "license": "Apache-2.0", - "version": "0.0.8", + "version": "0.0.9", "description": "Interface to the nft voter smart contract", "repository": { "type": "git", @@ -33,7 +33,7 @@ "dependencies": { "@coral-xyz/anchor": "^0.28.0", "@helium/anchor-resolvers": "^0.5.0", - "@helium/modular-governance-idls": "^0.0.8", + "@helium/modular-governance-idls": "^0.0.9", "@solana/spl-token": "^0.3.8" }, "devDependencies": { diff --git a/packages/organization-sdk/CHANGELOG.md b/packages/organization-sdk/CHANGELOG.md index ac683b8..33db086 100644 --- a/packages/organization-sdk/CHANGELOG.md +++ b/packages/organization-sdk/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.0.9](https://github.com/helium/modular-governance/compare/v0.0.8...v0.0.9) (2024-03-13) + +**Note:** Version bump only for package @helium/organization-sdk + + + + + ## [0.0.8](https://github.com/helium/modular-governance/compare/v0.0.7...v0.0.8) (2023-11-10) **Note:** Version bump only for package @helium/organization-sdk diff --git a/packages/organization-sdk/package.json b/packages/organization-sdk/package.json index c22718b..aa3212f 100644 --- a/packages/organization-sdk/package.json +++ b/packages/organization-sdk/package.json @@ -5,7 +5,7 @@ "registry": "https://registry.npmjs.org/" }, "license": "Apache-2.0", - "version": "0.0.8", + "version": "0.0.9", "description": "Interface to the organization smart contract", "repository": { "type": "git", @@ -33,8 +33,8 @@ "dependencies": { "@coral-xyz/anchor": "^0.28.0", "@helium/anchor-resolvers": "^0.5.0", - "@helium/modular-governance-idls": "^0.0.8", - "@helium/proposal-sdk": "^0.0.8" + "@helium/modular-governance-idls": "^0.0.9", + "@helium/proposal-sdk": "^0.0.9" }, "devDependencies": { "git-format-staged": "^2.1.3", diff --git a/packages/organization-wallet-sdk/CHANGELOG.md b/packages/organization-wallet-sdk/CHANGELOG.md index aba052a..882a40e 100644 --- a/packages/organization-wallet-sdk/CHANGELOG.md +++ b/packages/organization-wallet-sdk/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.0.9](https://github.com/helium/modular-governance/compare/v0.0.8...v0.0.9) (2024-03-13) + +**Note:** Version bump only for package @helium/organization-wallet-sdk + + + + + ## [0.0.8](https://github.com/helium/modular-governance/compare/v0.0.7...v0.0.8) (2023-11-10) **Note:** Version bump only for package @helium/organization-wallet-sdk diff --git a/packages/organization-wallet-sdk/package.json b/packages/organization-wallet-sdk/package.json index e6b0f10..d69e8ed 100644 --- a/packages/organization-wallet-sdk/package.json +++ b/packages/organization-wallet-sdk/package.json @@ -5,7 +5,7 @@ "registry": "https://registry.npmjs.org/" }, "license": "Apache-2.0", - "version": "0.0.8", + "version": "0.0.9", "description": "Interface to the organization wallet smart contract", "repository": { "type": "git", @@ -33,8 +33,8 @@ "dependencies": { "@coral-xyz/anchor": "^0.28.0", "@helium/anchor-resolvers": "^0.5.0", - "@helium/modular-governance-idls": "^0.0.8", - "@helium/proposal-sdk": "^0.0.8" + "@helium/modular-governance-idls": "^0.0.9", + "@helium/proposal-sdk": "^0.0.9" }, "devDependencies": { "git-format-staged": "^2.1.3", diff --git a/packages/proposal-sdk/CHANGELOG.md b/packages/proposal-sdk/CHANGELOG.md index 247b2fc..98616d7 100644 --- a/packages/proposal-sdk/CHANGELOG.md +++ b/packages/proposal-sdk/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.0.9](https://github.com/helium/modular-governance/compare/v0.0.8...v0.0.9) (2024-03-13) + +**Note:** Version bump only for package @helium/proposal-sdk + + + + + ## [0.0.8](https://github.com/helium/modular-governance/compare/v0.0.7...v0.0.8) (2023-11-10) **Note:** Version bump only for package @helium/proposal-sdk diff --git a/packages/proposal-sdk/package.json b/packages/proposal-sdk/package.json index fd58ab8..f587334 100644 --- a/packages/proposal-sdk/package.json +++ b/packages/proposal-sdk/package.json @@ -5,7 +5,7 @@ "registry": "https://registry.npmjs.org/" }, "license": "Apache-2.0", - "version": "0.0.8", + "version": "0.0.9", "description": "Interface to the proposal smart contract", "repository": { "type": "git", @@ -33,7 +33,7 @@ "dependencies": { "@coral-xyz/anchor": "^0.28.0", "@helium/anchor-resolvers": "^0.5.0", - "@helium/modular-governance-idls": "^0.0.8" + "@helium/modular-governance-idls": "^0.0.9" }, "devDependencies": { "git-format-staged": "^2.1.3", diff --git a/packages/state-controller-sdk/CHANGELOG.md b/packages/state-controller-sdk/CHANGELOG.md index b05a0c8..e241e74 100644 --- a/packages/state-controller-sdk/CHANGELOG.md +++ b/packages/state-controller-sdk/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.0.9](https://github.com/helium/modular-governance/compare/v0.0.8...v0.0.9) (2024-03-13) + +**Note:** Version bump only for package @helium/state-controller-sdk + + + + + ## [0.0.8](https://github.com/helium/modular-governance/compare/v0.0.7...v0.0.8) (2023-11-10) **Note:** Version bump only for package @helium/state-controller-sdk diff --git a/packages/state-controller-sdk/package.json b/packages/state-controller-sdk/package.json index 1728eb3..a46706a 100644 --- a/packages/state-controller-sdk/package.json +++ b/packages/state-controller-sdk/package.json @@ -5,7 +5,7 @@ "registry": "https://registry.npmjs.org/" }, "license": "Apache-2.0", - "version": "0.0.8", + "version": "0.0.9", "description": "Interface to the state controller smart contract", "repository": { "type": "git", @@ -33,7 +33,7 @@ "dependencies": { "@coral-xyz/anchor": "^0.28.0", "@helium/anchor-resolvers": "^0.5.0", - "@helium/modular-governance-idls": "^0.0.8" + "@helium/modular-governance-idls": "^0.0.9" }, "devDependencies": { "git-format-staged": "^2.1.3", diff --git a/packages/token-voter-sdk/CHANGELOG.md b/packages/token-voter-sdk/CHANGELOG.md index bccf305..8aaff31 100644 --- a/packages/token-voter-sdk/CHANGELOG.md +++ b/packages/token-voter-sdk/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.0.9](https://github.com/helium/modular-governance/compare/v0.0.8...v0.0.9) (2024-03-13) + +**Note:** Version bump only for package @helium/token-voter-sdk + + + + + ## [0.0.8](https://github.com/helium/modular-governance/compare/v0.0.7...v0.0.8) (2023-11-10) **Note:** Version bump only for package @helium/token-voter-sdk diff --git a/packages/token-voter-sdk/package.json b/packages/token-voter-sdk/package.json index ec3bec1..779b377 100644 --- a/packages/token-voter-sdk/package.json +++ b/packages/token-voter-sdk/package.json @@ -5,7 +5,7 @@ "registry": "https://registry.npmjs.org/" }, "license": "Apache-2.0", - "version": "0.0.8", + "version": "0.0.9", "description": "Interface to the token voter smart contract", "repository": { "type": "git", @@ -33,7 +33,7 @@ "dependencies": { "@coral-xyz/anchor": "^0.28.0", "@helium/anchor-resolvers": "^0.5.0", - "@helium/modular-governance-idls": "^0.0.8", + "@helium/modular-governance-idls": "^0.0.9", "@solana/spl-token": "^0.3.8" }, "devDependencies": { From 71326dd22097cc274d99623b4dc4b8ce62c69d34 Mon Sep 17 00:00:00 2001 From: Noah Prince <83885631+ChewingGlass@users.noreply.github.com> Date: Fri, 9 Aug 2024 08:36:18 -0600 Subject: [PATCH 10/25] Add recursive delegation for nft-style voting schems (#11) --- .github/actions/setup-anchor/action.yaml | 3 + .github/actions/setup/action.yaml | 1 + .../workflows/develop-release-program.yaml | 2 + .github/workflows/tests.yaml | 2 + Anchor.toml | 1 + CHANGELOG.md | 2 - Cargo.lock | 108 +++++++--- Cargo.toml | 3 + packages/docsite/src/data/navigation.js | 2 + .../src/pages/docs/api/nft-proxy-sdk.md | 171 ++++++++++++++++ .../src/pages/docs/api/nft-voter-sdk.md | 102 +++++++-- .../tsconfig.esm.tsbuildinfo | 1 + packages/nft-proxy-sdk/.gitignore | 5 + packages/nft-proxy-sdk/CHANGELOG.md | 8 + packages/nft-proxy-sdk/package.json | 47 +++++ packages/nft-proxy-sdk/src/constants.ts | 3 + packages/nft-proxy-sdk/src/index.ts | 29 +++ packages/nft-proxy-sdk/src/pdas.ts | 29 +++ packages/nft-proxy-sdk/src/resolvers.ts | 40 ++++ packages/nft-proxy-sdk/tsconfig.cjs.json | 7 + packages/nft-proxy-sdk/tsconfig.esm.json | 8 + packages/nft-proxy-sdk/tsconfig.json | 14 ++ packages/nft-voter-sdk/package.json | 1 + packages/nft-voter-sdk/src/resolvers.ts | 11 + packages/nft-voter-sdk/tsconfig.json | 3 + programs/nft_proxy/Cargo.toml | 24 +++ programs/nft_proxy/Xargo.toml | 2 + programs/nft_proxy/src/error.rs | 21 ++ .../src/instructions/assign_proxy_v0.rs | 156 ++++++++++++++ .../instructions/close_expired_proxy_v0.rs | 26 +++ .../initialize_proxy_config_v0.rs | 51 +++++ programs/nft_proxy/src/instructions/mod.rs | 13 ++ .../instructions/unassign_expired_proxy_v0.rs | 34 +++ .../src/instructions/unassign_proxy_v0.rs | 69 +++++++ .../instructions/update_proxy_config_v0.rs | 51 +++++ programs/nft_proxy/src/lib.rs | 45 ++++ programs/nft_proxy/src/resize_to_fit.rs | 54 +++++ programs/nft_proxy/src/state.rs | 74 +++++++ programs/nft_voter/Cargo.toml | 6 +- .../instructions/initialize_nft_voter_v0.rs | 9 + programs/nft_voter/src/instructions/mod.rs | 6 + .../proxied_relinquish_vote_v0.rs | 107 ++++++++++ .../src/instructions/proxied_vote_v0.rs | 110 ++++++++++ .../src/instructions/relinquish_vote_v0.rs | 7 +- .../src/instructions/update_nft_voter_v0.rs | 27 +++ .../nft_voter/src/instructions/vote_v0.rs | 7 +- programs/nft_voter/src/lib.rs | 15 ++ programs/nft_voter/src/state.rs | 6 + programs/organization/Cargo.toml | 1 + programs/organization_wallet/Cargo.toml | 1 + programs/proposal/Cargo.toml | 1 + programs/state_controller/Cargo.toml | 1 + programs/token_voter/Cargo.toml | 5 +- programs/vote_hook_interface/Cargo.toml | 1 + scripts/generate-idl-docs.ts | 2 +- tests/nft-voter.ts | 193 +++++++++++++++++- tests/utils.ts | 14 +- tsconfig.json | 3 + yarn.lock | 17 ++ 59 files changed, 1707 insertions(+), 55 deletions(-) create mode 100644 packages/docsite/src/pages/docs/api/nft-proxy-sdk.md create mode 100644 packages/modular-governance-idls/packages/modular-governance-idls/tsconfig.esm.tsbuildinfo create mode 100644 packages/nft-proxy-sdk/.gitignore create mode 100644 packages/nft-proxy-sdk/CHANGELOG.md create mode 100644 packages/nft-proxy-sdk/package.json create mode 100644 packages/nft-proxy-sdk/src/constants.ts create mode 100644 packages/nft-proxy-sdk/src/index.ts create mode 100644 packages/nft-proxy-sdk/src/pdas.ts create mode 100644 packages/nft-proxy-sdk/src/resolvers.ts create mode 100644 packages/nft-proxy-sdk/tsconfig.cjs.json create mode 100644 packages/nft-proxy-sdk/tsconfig.esm.json create mode 100644 packages/nft-proxy-sdk/tsconfig.json create mode 100644 programs/nft_proxy/Cargo.toml create mode 100644 programs/nft_proxy/Xargo.toml create mode 100644 programs/nft_proxy/src/error.rs create mode 100644 programs/nft_proxy/src/instructions/assign_proxy_v0.rs create mode 100644 programs/nft_proxy/src/instructions/close_expired_proxy_v0.rs create mode 100644 programs/nft_proxy/src/instructions/initialize_proxy_config_v0.rs create mode 100644 programs/nft_proxy/src/instructions/mod.rs create mode 100644 programs/nft_proxy/src/instructions/unassign_expired_proxy_v0.rs create mode 100644 programs/nft_proxy/src/instructions/unassign_proxy_v0.rs create mode 100644 programs/nft_proxy/src/instructions/update_proxy_config_v0.rs create mode 100644 programs/nft_proxy/src/lib.rs create mode 100644 programs/nft_proxy/src/resize_to_fit.rs create mode 100644 programs/nft_proxy/src/state.rs create mode 100644 programs/nft_voter/src/instructions/proxied_relinquish_vote_v0.rs create mode 100644 programs/nft_voter/src/instructions/proxied_vote_v0.rs create mode 100644 programs/nft_voter/src/instructions/update_nft_voter_v0.rs diff --git a/.github/actions/setup-anchor/action.yaml b/.github/actions/setup-anchor/action.yaml index 4428319..18c534c 100644 --- a/.github/actions/setup-anchor/action.yaml +++ b/.github/actions/setup-anchor/action.yaml @@ -12,6 +12,9 @@ runs: path: | ~/.cargo/bin/anchor key: anchor-cli-${{ runner.os }}-v0003-${{ env.ANCHOR_VERSION }}-${{ env.ANCHOR_SHA }} + - run: rustup install 1.79 && rustup default 1.79 + shell: bash + if: steps.cache-anchor-cli.outputs.cache-hit != 'true' # if ANCHOR_VERSION is 0, then install the anchor-cli from source - run: if [ $ANCHOR_VERSION -eq 0 ]; then cargo install --git https://github.com/coral-xyz/anchor --rev $ANCHOR_SHA anchor-cli --locked --force; else cargo install --git https://github.com/coral-xyz/anchor --tag "v$ANCHOR_VERSION" anchor-cli --locked; fi shell: bash diff --git a/.github/actions/setup/action.yaml b/.github/actions/setup/action.yaml index 95cdfb8..90ef2f0 100644 --- a/.github/actions/setup/action.yaml +++ b/.github/actions/setup/action.yaml @@ -15,3 +15,4 @@ runs: shell: bash - run: git submodule update --init --recursive --depth 1 shell: bash + diff --git a/.github/workflows/develop-release-program.yaml b/.github/workflows/develop-release-program.yaml index a64b79f..43050c9 100644 --- a/.github/workflows/develop-release-program.yaml +++ b/.github/workflows/develop-release-program.yaml @@ -36,6 +36,7 @@ jobs: echo "programs_with_changes=$json" >> $GITHUB_OUTPUT build_programs: needs: [detect_changed_programs] + continue-on-error: true runs-on: ubuntu-latest if: needs.detect_changed_programs.outputs.programs_with_changes != '[]' && needs.detect_changed_programs.outputs.programs_with_changes != '' strategy: @@ -103,6 +104,7 @@ jobs: publish_programs: + continue-on-error: true needs: [detect_changed_programs, build_programs] runs-on: ubuntu-latest if: needs.detect_changed_programs.outputs.programs_with_changes != '[]' && needs.detect_changed_programs.outputs.programs_with_changes != '' diff --git a/.github/workflows/tests.yaml b/.github/workflows/tests.yaml index c9d3f03..a15cb42 100644 --- a/.github/workflows/tests.yaml +++ b/.github/workflows/tests.yaml @@ -29,6 +29,7 @@ jobs: ~/.cargo/registry/cache/ ~/.cargo/git/db/ key: cargo-${{ runner.os }}-cargo-build-${{ hashFiles('**/Cargo.lock') }} + - run: cargo build --locked - run: cargo fmt -- --check - run: cargo clippy --all-targets -- -D warnings -A clippy::result_large_err -A clippy::too_many_arguments -A clippy::uninlined-format-args -A ambiguous_glob_reexports @@ -48,6 +49,7 @@ jobs: ~/.cargo/registry/cache/ ~/.cargo/git/db/ key: cargo-${{ runner.os }}-cargo-build-${{ hashFiles('**/Cargo.lock') }} + - run: cargo build --locked - run: cargo test --lib build: diff --git a/Anchor.toml b/Anchor.toml index 5b97ccf..45a57db 100644 --- a/Anchor.toml +++ b/Anchor.toml @@ -6,6 +6,7 @@ skip-lint = false proposal = "propFYxqmVcufMhk5esNMrexq2ogHbbC2kP9PU1qxKs" state_controller = "stcfiqW3fwD9QCd8Bqr1NBLrs7dftZHBQe7RiMMA4aM" token_voter = "tokvN2E37T6NgLi6uQ8uj32959TZPUf2Jo8dXjLKBjF" +nft_proxy = "nprx42sXf5rpVnwBWEdRg1d8tuCWsTuVLys1pRWwE6p" nft_voter = "nftvLQ5t6xe2nQF1NBmBBmn15ed59tU6vSCkwQNEqdc" organization = "orgdXvHVLkWgBYerptASkAwkZAE563CJUu717dMNx5f" organization_wallet = "orgwPMqJs9xft8UefUdKfyBwg6GDnN6oLhpMaKa6nJg" diff --git a/CHANGELOG.md b/CHANGELOG.md index 8224df8..9874d64 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,8 +9,6 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline - - ## [0.0.9](https://github.com/helium/modular-governance/compare/v0.0.8...v0.0.9) (2024-03-13) **Note:** Version bump only for package modular-governance diff --git a/Cargo.lock b/Cargo.lock index 04b5485..de0d10e 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -590,9 +590,9 @@ dependencies = [ [[package]] name = "bytemuck" -version = "1.13.1" +version = "1.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17febce684fd15d89027105661fec94afb475cb995fbc59d2865198446ba2eea" +checksum = "374d28ec25809ee0e23827c2ab573d729e293f281dfe393500e7ad618baa61c6" dependencies = [ "bytemuck_derive", ] @@ -605,7 +605,7 @@ checksum = "fdde5c9cd29ebd706ce1b35600920a33550e402fc998a2e53ad3b42c3c47a192" dependencies = [ "proc-macro2", "quote", - "syn 2.0.23", + "syn 2.0.72", ] [[package]] @@ -796,7 +796,7 @@ dependencies = [ "proc-macro2", "quote", "strsim", - "syn 2.0.23", + "syn 2.0.72", ] [[package]] @@ -807,7 +807,16 @@ checksum = "29a358ff9f12ec09c3e61fef9b5a9902623a695a46a917b07f269bff1445611a" dependencies = [ "darling_core", "quote", - "syn 2.0.23", + "syn 2.0.72", +] + +[[package]] +name = "deranged" +version = "0.3.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4" +dependencies = [ + "powerfmt", ] [[package]] @@ -1226,13 +1235,26 @@ dependencies = [ "zeroize", ] +[[package]] +name = "nft-proxy" +version = "0.0.1" +dependencies = [ + "anchor-lang", + "anchor-spl", + "bytemuck", + "time", +] + [[package]] name = "nft-voter" version = "0.1.0" dependencies = [ "anchor-lang", "anchor-spl", + "nft-proxy", "proposal", + "serde", + "time", ] [[package]] @@ -1246,6 +1268,12 @@ dependencies = [ "num-traits", ] +[[package]] +name = "num-conv" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" + [[package]] name = "num-derive" version = "0.3.3" @@ -1325,7 +1353,7 @@ dependencies = [ "proc-macro-crate 1.3.1", "proc-macro2", "quote", - "syn 2.0.23", + "syn 2.0.72", ] [[package]] @@ -1347,6 +1375,7 @@ dependencies = [ "anchor-lang", "anchor-spl", "proposal", + "time", ] [[package]] @@ -1357,6 +1386,7 @@ dependencies = [ "anchor-spl", "organization", "proposal", + "time", ] [[package]] @@ -1424,6 +1454,12 @@ dependencies = [ "universal-hash", ] +[[package]] +name = "powerfmt" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" + [[package]] name = "ppv-lite86" version = "0.2.17" @@ -1451,9 +1487,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.63" +version = "1.0.86" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b368fba921b0dce7e60f5e04ec15e565b3303972b42bcfde1d0713b881959eb" +checksum = "5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77" dependencies = [ "unicode-ident", ] @@ -1464,6 +1500,7 @@ version = "0.1.1" dependencies = [ "anchor-lang", "anchor-spl", + "time", "vote-hook-interface", ] @@ -1478,9 +1515,9 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.29" +version = "1.0.36" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "573015e8ab27661678357f27dc26460738fd2b6c86e46f386fde94cb5d913105" +checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" dependencies = [ "proc-macro2", ] @@ -1665,9 +1702,9 @@ checksum = "bebd363326d05ec3e2f532ab7660680f3b02130d780c299bca73469d521bc0ed" [[package]] name = "serde" -version = "1.0.167" +version = "1.0.204" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7daf513456463b42aa1d94cff7e0c24d682b429f020b9afa4f5ba5c40a22b237" +checksum = "bc76f558e0cbb2a839d37354c575f1dc3fdc6546b5be373ba43d95f231bf7c12" dependencies = [ "serde_derive", ] @@ -1683,13 +1720,13 @@ dependencies = [ [[package]] name = "serde_derive" -version = "1.0.167" +version = "1.0.204" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b69b106b68bc8054f0e974e70d19984040f8a5cf9215ca82626ea4853f82c4b9" +checksum = "e0cd7e117be63d3c3678776753929474f3b04a43a080c744d6b0ae2a8c28e222" dependencies = [ "proc-macro2", "quote", - "syn 2.0.23", + "syn 2.0.72", ] [[package]] @@ -1722,7 +1759,7 @@ dependencies = [ "darling", "proc-macro2", "quote", - "syn 2.0.23", + "syn 2.0.72", ] [[package]] @@ -1835,7 +1872,7 @@ dependencies = [ "proc-macro2", "quote", "rustc_version", - "syn 2.0.23", + "syn 2.0.72", ] [[package]] @@ -1966,7 +2003,7 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.23", + "syn 2.0.72", ] [[package]] @@ -2063,6 +2100,7 @@ dependencies = [ "anchor-lang", "anchor-spl", "proposal", + "time", ] [[package]] @@ -2090,9 +2128,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.23" +version = "2.0.72" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59fb7d6d8281a51045d62b8eb3a7d1ce347b76f312af50cd3dc0af39c87c1737" +checksum = "dc4b9b9bf2add8093d3f2c0204471e951b2285580335de42f9d2534f3ae7a8af" dependencies = [ "proc-macro2", "quote", @@ -2125,9 +2163,28 @@ checksum = "463fe12d7993d3b327787537ce8dd4dfa058de32fc2b195ef3cde03dc4771e8f" dependencies = [ "proc-macro2", "quote", - "syn 2.0.23", + "syn 2.0.72", ] +[[package]] +name = "time" +version = "0.3.36" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885" +dependencies = [ + "deranged", + "num-conv", + "powerfmt", + "serde", + "time-core", +] + +[[package]] +name = "time-core" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" + [[package]] name = "tiny-bip39" version = "0.8.2" @@ -2169,6 +2226,8 @@ dependencies = [ "anchor-lang", "anchor-spl", "proposal", + "serde", + "time", ] [[package]] @@ -2256,6 +2315,7 @@ version = "0.1.0" dependencies = [ "anchor-lang", "anchor-spl", + "time", ] [[package]] @@ -2291,7 +2351,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.23", + "syn 2.0.72", "wasm-bindgen-shared", ] @@ -2313,7 +2373,7 @@ checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.23", + "syn 2.0.72", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -2448,5 +2508,5 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ "proc-macro2", "quote", - "syn 2.0.23", + "syn 2.0.72", ] diff --git a/Cargo.toml b/Cargo.toml index 158be60..375394b 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -12,3 +12,6 @@ codegen-units = 1 opt-level = 3 incremental = false codegen-units = 1 + +[workspace.dependencies] +time = "0.3.36" diff --git a/packages/docsite/src/data/navigation.js b/packages/docsite/src/data/navigation.js index 2f58ddc..f1cdfc8 100644 --- a/packages/docsite/src/data/navigation.js +++ b/packages/docsite/src/data/navigation.js @@ -93,6 +93,8 @@ export const navigation = [ { title: "Nft voter", href: "/docs/api/nft-voter-sdk" }, + { title: "Nft proxy", href: "/docs/api/nft-proxy-sdk" }, + // DOCS NAVIGATION END ], }, diff --git a/packages/docsite/src/pages/docs/api/nft-proxy-sdk.md b/packages/docsite/src/pages/docs/api/nft-proxy-sdk.md new file mode 100644 index 0000000..06a5a5f --- /dev/null +++ b/packages/docsite/src/pages/docs/api/nft-proxy-sdk.md @@ -0,0 +1,171 @@ +# Nft Proxy SDK + +{% callout title="Quick tip" %} +If you are looking for a quick start guide, check out the [Getting Started](/docs/learn/getting_started) guide. We also have some react examples [here](/docs/learn/react). +{% /callout %} + +## Instructions + +### initializeProxyConfigV0 + +#### Accounts + +| Name | Mutability | Signer | Docs | +| ------------- | ---------- | ------ | ---- | +| payer | mut | yes | | +| authority | immut | no | | +| proxyConfig | mut | no | | +| systemProgram | immut | no | | + +#### Args + +| Name | Type | Docs | +| ---- | --------------------------- | ---- | +| args | InitializeProxyConfigArgsV0 | | + +### assignProxyV0 + +#### Accounts + +| Name | Mutability | Signer | Docs | +| ---------------------- | ---------- | ------ | ---------------------------------------------------------------------- | +| payer | mut | yes | | +| asset | immut | no | | +| approver | immut | yes | | +| voter | immut | no | or in the case of a primary proxy (first in the line), Pubkey::default | +| tokenAccount | immut | no | | +| proxyConfig | immut | no | | +| currentProxyAssignment | mut | no | | +| recipient | immut | no | | +| nextProxyAssignment | mut | no | | +| systemProgram | immut | no | | + +#### Args + +| Name | Type | Docs | +| ---- | ----------------- | ---- | +| args | AssignProxyArgsV0 | | + +### unassignProxyV0 + +#### Accounts + +| Name | Mutability | Signer | Docs | +| ---------------------- | ---------- | ------ | ---------------------------------------------------------------------- | +| rentRefund | mut | no | | +| asset | immut | no | | +| approver | immut | yes | | +| voter | immut | no | or in the case of a primary proxy (first in the line), Pubkey::default | +| tokenAccount | immut | no | | +| currentProxyAssignment | immut | no | | +| prevProxyAssignment | mut | no | | +| proxyAssignment | mut | no | | +| proxyConfig | immut | no | | +| systemProgram | immut | no | | + +#### Args + +| Name | Type | Docs | +| ---- | ---- | ---- | + +### updateProxyConfigV0 + +#### Accounts + +| Name | Mutability | Signer | Docs | +| ------------- | ---------- | ------ | ---- | +| payer | mut | yes | | +| authority | immut | no | | +| proxyConfig | mut | no | | +| systemProgram | immut | no | | + +#### Args + +| Name | Type | Docs | +| ---- | ----------------------- | ---- | +| args | UpdateProxyConfigArgsV0 | | + +### unassignExpiredProxyV0 + +#### Accounts + +| Name | Mutability | Signer | Docs | +| ------------------- | ---------- | ------ | ---- | +| rentRefund | mut | no | | +| prevProxyAssignment | mut | no | | +| proxyAssignment | mut | no | | +| systemProgram | immut | no | | + +#### Args + +| Name | Type | Docs | +| ---- | ---- | ---- | + +### closeExpiredProxyV0 + +#### Accounts + +| Name | Mutability | Signer | Docs | +| --------------- | ---------- | ------ | ---- | +| rentRefund | mut | no | | +| proxyAssignment | mut | no | | +| systemProgram | immut | no | | + +#### Args + +| Name | Type | Docs | +| ---- | ---- | ---- | + +## Accounts + +### ProxyConfigV0 + +| Field | Type | +| ------------ | --------- | +| authority | publicKey | +| name | string | +| maxProxyTime | i64 | +| seasons | SeasonV0 | + +### ProxyAssignmentV0 + +| Field | Type | +| -------------- | --------- | +| voter | publicKey | +| proxyConfig | publicKey | +| asset | publicKey | +| index | u16 | +| nextVoter | publicKey | +| rentRefund | publicKey | +| expirationTime | i64 | +| bumpSeed | u8 | + +## Types + +### AssignProxyArgsV0 + +| Field | Type | +| -------------- | ---- | +| expirationTime | i64 | + +### InitializeProxyConfigArgsV0 + +| Field | Type | +| ------------ | -------- | +| name | string | +| maxProxyTime | i64 | +| seasons | SeasonV0 | + +### UpdateProxyConfigArgsV0 + +| Field | Type | +| ------------ | --------------- | +| maxProxyTime | i64 | +| seasons | [object Object] | + +### SeasonV0 + +| Field | Type | +| ----- | ---- | +| start | i64 | +| end | i64 | diff --git a/packages/docsite/src/pages/docs/api/nft-voter-sdk.md b/packages/docsite/src/pages/docs/api/nft-voter-sdk.md index ca3b76f..f7e3b84 100644 --- a/packages/docsite/src/pages/docs/api/nft-voter-sdk.md +++ b/packages/docsite/src/pages/docs/api/nft-voter-sdk.md @@ -13,6 +13,7 @@ If you are looking for a quick start guide, check out the [Getting Started](/doc | Name | Mutability | Signer | Docs | | ------------- | ---------- | ------ | ---- | | payer | mut | yes | | +| proxyConfig | immut | no | | | nftVoter | mut | no | | | collection | immut | no | | | systemProgram | immut | no | | @@ -29,7 +30,7 @@ If you are looking for a quick start guide, check out the [Getting Started](/doc | Name | Mutability | Signer | Docs | | --------------- | ---------- | ------ | ------------------------------------------------- | -| refund | mut | no | Account to receive sol refund if marker is closed | +| rentRefund | mut | no | Account to receive sol refund if marker is closed | | marker | mut | no | | | nftVoter | immut | no | | | voter | immut | yes | | @@ -75,27 +76,98 @@ If you are looking for a quick start guide, check out the [Getting Started](/doc | ---- | ---------- | ---- | | args | VoteArgsV0 | | +### proxiedRelinquishVoteV0 + +#### Accounts + +| Name | Mutability | Signer | Docs | +| --------------- | ---------- | ------ | ------------------------------------------------------ | +| rentRefund | mut | no | Account to receive sol rent_refund if marker is closed | +| marker | mut | no | | +| nftVoter | immut | no | | +| voter | immut | yes | | +| mint | immut | no | | +| metadata | immut | no | | +| proxyAssignment | immut | no | | +| proposal | mut | no | | +| proposalConfig | immut | no | | +| stateController | mut | no | | +| onVoteHook | immut | no | | +| proposalProgram | immut | no | | +| systemProgram | immut | no | | + +#### Args + +| Name | Type | Docs | +| ---- | -------------------- | ---- | +| args | RelinquishVoteArgsV0 | | + +### proxiedVoteV0 + +#### Accounts + +| Name | Mutability | Signer | Docs | +| --------------- | ---------- | ------ | ---- | +| payer | mut | yes | | +| marker | mut | no | | +| proxyAssignment | immut | no | | +| nftVoter | immut | no | | +| voter | immut | yes | | +| mint | immut | no | | +| metadata | immut | no | | +| proposal | mut | no | | +| proposalConfig | immut | no | | +| stateController | mut | no | | +| onVoteHook | immut | no | | +| proposalProgram | immut | no | | +| systemProgram | immut | no | | + +#### Args + +| Name | Type | Docs | +| ---- | ---------- | ---- | +| args | VoteArgsV0 | | + +### updateNftVoterV0 + +#### Accounts + +| Name | Mutability | Signer | Docs | +| ------------ | ---------- | ------ | ---- | +| authority | immut | yes | | +| proxyConfig | immut | no | | +| newAuthority | immut | no | | +| nftVoter | immut | no | | + +#### Args + +| Name | Type | Docs | +| ---- | ---- | ---- | + ## Accounts ### NftVoterV0 -| Field | Type | -| ---------- | --------- | -| authority | publicKey | -| collection | publicKey | -| name | string | -| bumpSeed | u8 | +| Field | Type | +| ----------- | --------- | +| authority | publicKey | +| collection | publicKey | +| name | string | +| bumpSeed | u8 | +| proxyConfig | publicKey | ### VoteMarkerV0 -| Field | Type | -| -------- | --------- | -| voter | publicKey | -| nftVoter | publicKey | -| proposal | publicKey | -| mint | publicKey | -| choices | u16 | -| bumpSeed | u8 | +| Field | Type | +| ---------- | --------- | +| voter | publicKey | +| nftVoter | publicKey | +| proposal | publicKey | +| mint | publicKey | +| choices | u16 | +| bumpSeed | u8 | +| proxyIndex | u16 | +| rentRefund | publicKey | ## Types diff --git a/packages/modular-governance-idls/packages/modular-governance-idls/tsconfig.esm.tsbuildinfo b/packages/modular-governance-idls/packages/modular-governance-idls/tsconfig.esm.tsbuildinfo new file mode 100644 index 0000000..5820032 --- /dev/null +++ b/packages/modular-governance-idls/packages/modular-governance-idls/tsconfig.esm.tsbuildinfo @@ -0,0 +1 @@ +{"program":{"fileNames":["../../../../node_modules/typescript/lib/lib.es5.d.ts","../../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../../target/types/nft_proxy.ts","../../../../target/types/nft_voter.ts","../../../../target/types/organization.ts","../../../../target/types/organization_wallet.ts","../../../../target/types/proposal.ts","../../../../target/types/state_controller.ts","../../../../target/types/token_voter.ts","../../../../target/types/vote_hook_interface.ts","../../../../node_modules/@types/node/assert.d.ts","../../../../node_modules/@types/node/assert/strict.d.ts","../../../../node_modules/@types/node/globals.d.ts","../../../../node_modules/@types/node/async_hooks.d.ts","../../../../node_modules/@types/node/buffer.d.ts","../../../../node_modules/@types/node/child_process.d.ts","../../../../node_modules/@types/node/cluster.d.ts","../../../../node_modules/@types/node/console.d.ts","../../../../node_modules/@types/node/constants.d.ts","../../../../node_modules/@types/node/crypto.d.ts","../../../../node_modules/@types/node/dgram.d.ts","../../../../node_modules/@types/node/diagnostics_channel.d.ts","../../../../node_modules/@types/node/dns.d.ts","../../../../node_modules/@types/node/dns/promises.d.ts","../../../../node_modules/@types/node/domain.d.ts","../../../../node_modules/@types/node/dom-events.d.ts","../../../../node_modules/@types/node/events.d.ts","../../../../node_modules/@types/node/fs.d.ts","../../../../node_modules/@types/node/fs/promises.d.ts","../../../../node_modules/@types/node/http.d.ts","../../../../node_modules/@types/node/http2.d.ts","../../../../node_modules/@types/node/https.d.ts","../../../../node_modules/@types/node/inspector.d.ts","../../../../node_modules/@types/node/module.d.ts","../../../../node_modules/@types/node/net.d.ts","../../../../node_modules/@types/node/os.d.ts","../../../../node_modules/@types/node/path.d.ts","../../../../node_modules/@types/node/perf_hooks.d.ts","../../../../node_modules/@types/node/process.d.ts","../../../../node_modules/@types/node/punycode.d.ts","../../../../node_modules/@types/node/querystring.d.ts","../../../../node_modules/@types/node/readline.d.ts","../../../../node_modules/@types/node/readline/promises.d.ts","../../../../node_modules/@types/node/repl.d.ts","../../../../node_modules/@types/node/stream.d.ts","../../../../node_modules/@types/node/stream/promises.d.ts","../../../../node_modules/@types/node/stream/consumers.d.ts","../../../../node_modules/@types/node/stream/web.d.ts","../../../../node_modules/@types/node/string_decoder.d.ts","../../../../node_modules/@types/node/test.d.ts","../../../../node_modules/@types/node/timers.d.ts","../../../../node_modules/@types/node/timers/promises.d.ts","../../../../node_modules/@types/node/tls.d.ts","../../../../node_modules/@types/node/trace_events.d.ts","../../../../node_modules/@types/node/tty.d.ts","../../../../node_modules/@types/node/url.d.ts","../../../../node_modules/@types/node/util.d.ts","../../../../node_modules/@types/node/v8.d.ts","../../../../node_modules/@types/node/vm.d.ts","../../../../node_modules/@types/node/wasi.d.ts","../../../../node_modules/@types/node/worker_threads.d.ts","../../../../node_modules/@types/node/zlib.d.ts","../../../../node_modules/@types/node/globals.global.d.ts","../../../../node_modules/@types/node/index.d.ts","../../../../node_modules/@types/bn.js/index.d.ts","../../../../node_modules/@types/chai/index.d.ts","../../../../node_modules/@types/chai-as-promised/index.d.ts","../../../../node_modules/@types/connect/index.d.ts","../../../../node_modules/@types/json5/index.d.ts","../../../../node_modules/@types/minimatch/index.d.ts","../../../../node_modules/@types/minimist/index.d.ts","../../../../node_modules/@types/mocha/index.d.ts","../../../../node_modules/@types/normalize-package-data/index.d.ts","../../../../node_modules/@types/parse-json/index.d.ts","../../../../node_modules/@types/pbkdf2/index.d.ts","../../../../node_modules/@types/secp256k1/index.d.ts","../../../../node_modules/@types/ws/index.d.ts"],"fileInfos":[{"version":"8730f4bf322026ff5229336391a18bcaa1f94d4f82416c8b2f3954e2ccaae2ba","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","4b421cbfb3a38a27c279dec1e9112c3d1da296f77a1a85ddadf7e7a425d45d18","1fc5ab7a764205c68fa10d381b08417795fc73111d6dd16b5b1ed36badb743d9",{"version":"adb996790133eb33b33aadb9c09f15c2c575e71fb57a62de8bf74dbf59ec7dfb","affectsGlobalScope":true},{"version":"8cc8c5a3bac513368b0157f3d8b31cfdcfe78b56d3724f30f80ed9715e404af8","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"c5c05907c02476e4bde6b7e76a79ffcd948aedd14b6a8f56e4674221b0417398","affectsGlobalScope":true},{"version":"5f406584aef28a331c36523df688ca3650288d14f39c5d2e555c95f0d2ff8f6f","affectsGlobalScope":true},{"version":"22f230e544b35349cfb3bd9110b6ef37b41c6d6c43c3314a31bd0d9652fcec72","affectsGlobalScope":true},{"version":"7ea0b55f6b315cf9ac2ad622b0a7813315bb6e97bf4bb3fbf8f8affbca7dc695","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"eb26de841c52236d8222f87e9e6a235332e0788af8c87a71e9e210314300410a","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"81cac4cbc92c0c839c70f8ffb94eb61e2d32dc1c3cf6d95844ca099463cf37ea","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true},{"version":"6e7997ef61de3132e4d4b2250e75343f487903ddf5370e7ce33cf1b9db9a63ed","affectsGlobalScope":true},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true},{"version":"5e5e095c4470c8bab227dbbc61374878ecead104c74ab9960d3adcccfee23205","affectsGlobalScope":true},{"version":"09aa50414b80c023553090e2f53827f007a301bc34b0495bfb2c3c08ab9ad1eb","affectsGlobalScope":true},{"version":"d7f680a43f8cd12a6b6122c07c54ba40952b0c8aa140dcfcf32eb9e6cb028596","affectsGlobalScope":true},{"version":"3787b83e297de7c315d55d4a7c546ae28e5f6c0a361b7a1dcec1f1f50a54ef11","affectsGlobalScope":true},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true},{"version":"2768ef564cfc0689a1b76106c421a2909bdff0acbe87da010785adab80efdd5c","affectsGlobalScope":true},{"version":"b248e32ca52e8f5571390a4142558ae4f203ae2f94d5bac38a3084d529ef4e58","affectsGlobalScope":true},{"version":"fb4416144c1bf0323ccbc9afb0ab289c07312214e8820ad17d709498c865a3fe","affectsGlobalScope":true},{"version":"52d1bb7ab7a3306fd0375c8bff560feed26ed676a5b0457fa8027b563aecb9a4","affectsGlobalScope":true},{"version":"4c49cc5572d80ef350f929108b067de4c4b1999a973e2e4bcfe930ae982db608","signature":"29133ef9e5680a6ec1b7b580e4233d15c63ab1cb95bb52aeede5410cdb6b8eb2"},{"version":"518d21775cd0d4f0b53d5d671f201eaedd6066e4fd3cbdc1431c964fa7d29155","signature":"c85a13b8665a866f6689467b7103786d30949468f25e20e168b43c5c70f55ffa"},{"version":"7fa8ab21c2bb00ee455d14225819d7500ff0af2a32385514346f54c5d4b35cf0","signature":"91fee60e7136d3e7a986d33f5a9b281a9ca120615ece0d58cc823af2a640bd03"},{"version":"00613005f67d3895066a94016932e1cbb9f901a3be5f90077a7b3270f0f96b73","signature":"0564cee093efce698703257032564c51226b36290cdcb0e399508b400ef7e891"},{"version":"98b8d129ea6f5c4d9bcc2916e0f1b6835c8855af343255d26c5ad5af787a29ab","signature":"1f1dc5fdba69cbcef92a76dac85419516b179ee58df2696ea8b0d63bdceb995e"},{"version":"bb5cc4a171d18bd4c1eb7c98a3a435548b81839f71d0ad16cefe13658dbf633e","signature":"d84a5de837c7ac2b8b0955c7e12b3d6615949bf135fba9c79f48a40182f16488"},{"version":"2eb961423bb717b36ae6c89167574dc0a36a7469bd999bd088c854c11f481108","signature":"7e7d62fa024ea32b3e9bb2f0e97e200654e52b6a01513d06489d876ee0064c2c"},{"version":"d3fc1a478c7ee31a2c0900394e6531c6b0df5aa9395bdc601c83697a0c78b0f5","signature":"4ecc1ccb0bb5e43a48a6bae3314e125ca4a043424d2729982a71cdb943a66156"},"587f13f1e8157bd8cec0adda0de4ef558bb8573daa9d518d1e2af38e87ecc91f","a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a",{"version":"bce910d9164785c9f0d4dcea4be359f5f92130c7c7833dea6138ab1db310a1f9","affectsGlobalScope":true},"7a435e0c814f58f23e9a0979045ec0ef5909aac95a70986e8bcce30c27dff228",{"version":"c81c51f43e343b6d89114b17341fb9d381c4ccbb25e0ee77532376052c801ba7","affectsGlobalScope":true},"db71be322f07f769200108aa19b79a75dd19a187c9dca2a30c4537b233aa2863","57135ce61976a8b1dadd01bb412406d1805b90db6e8ecb726d0d78e0b5f76050",{"version":"49479e21a040c0177d1b1bc05a124c0383df7a08a0726ad4d9457619642e875a","affectsGlobalScope":true},"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","f302f3a47d7758f67f2afc753b9375d6504dde05d2e6ecdb1df50abbb131fc89","3690133deae19c8127c5505fcb67b04bdc9eb053796008538a9b9abbb70d85aa","5b1c0a23f464f894e7c2b2b6c56df7b9afa60ed48c5345f8618d389a636b2108","be2b092f2765222757c6441b86c53a5ea8dfed47bbc43eab4c5fe37942c866b3","8e6b05abc98adba15e1ac78e137c64576c74002e301d682e66feb77a23907ab8","1ca735bb3d407b2af4fbee7665f3a0a83be52168c728cc209755060ba7ed67bd",{"version":"6b526a5ec4a401ca7c26cfe6a48e641d8f30af76673bad3b06a1b4504594a960","affectsGlobalScope":true},{"version":"b85c02e14ecb2a873dad5a1de72319b265160ba48f1b83661aeb3bba1366c1bc","affectsGlobalScope":true},"7a2ba0c9af860ac3e77b35ed01fd96d15986f17aa22fe40f188ae556fb1070df","fc3764040518a1008dd04bdc80964591b566b896283e00df85c95851c1f46237","55709608060f77965c270ac10ac646286589f1bd1cb174fff1778a2dd9a7ef31","790623a47c5eda62910098884ecb154dc0e5f3a23fc36c1bfb3b5b9ed44e2c2d","42b40e40f2a358cda332456214fad311e1806a6abf3cebaaac72496e07556642","354612fe1d49ecc9551ea3a27d94eef2887b64ef4a71f72ca444efe0f2f0ba80",{"version":"ac0c77cd7db52b3c278bdd1452ce754014835493d05b84535f46854fdc2063b2","affectsGlobalScope":true},"b9f36877501f2ce0e276e993c93cd2cf325e78d0409ec4612b1eb9d6a537e60b","5e2b91328a540a0933ab5c2203f4358918e6f0fe7505d22840a891a6117735f1","3abc3512fa04aa0230f59ea1019311fd8667bd935d28306311dccc8b17e79d5d",{"version":"14a50dafe3f45713f7f27cb6320dff07c6ac31678f07959c2134260061bf91ff","affectsGlobalScope":true},{"version":"19da7150ca062323b1db6311a6ef058c9b0a39cc64d836b5e9b75d301869653b","affectsGlobalScope":true},"1349077576abb41f0e9c78ec30762ff75b710208aff77f5fdcc6a8c8ce6289dd","e2ce82603102b5c0563f59fb40314cc1ff95a4d521a66ad14146e130ea80d89c","a3e0395220255a350aa9c6d56f882bfcb5b85c19fddf5419ec822cf22246a26d","c27b01e8ddff5cd280711af5e13aecd9a3228d1c256ea797dd64f8fdec5f7df5","898840e876dfd21843db9f2aa6ae38ba2eab550eb780ff62b894b9fbfebfae6b","0cab4d7d4edc40cd3af9eea7c3ed6d1016910c0954c49c4297e479bf3822a625","1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff","785e5be57d4f20f290a20e7b0c6263f6c57fd6e51283050756cef07d6d651c68","44b8b584a338b190a59f4f6929d072431950c7bd92ec2694821c11bce180c8a5","164deb2409ac5f4da3cd139dbcee7f7d66753d90363a4d7e2db8d8874f272270",{"version":"ffc62d73b4fa10ca8c59f8802df88efefe447025730a24ee977b60adedc5bf37","affectsGlobalScope":true},{"version":"ab294c4b7279318ee2a8fdf681305457ecc05970c94108d304933f18823eeac1","affectsGlobalScope":true},"ad08154d9602429522cac965a715fde27d421d69b24756c5d291877dda75353e","5bc85813bfcb6907cc3a960fec8734a29d7884e0e372515147720c5991b8bc22","812b25f798033c202baedf386a1ccc41f9191b122f089bffd10fdccce99fba11","993325544790073f77e945bee046d53988c0bc3ac5695c9cf8098166feb82661",{"version":"75dd741ca6a6c8d2437a6ca8349b64b816421dbf9fe82dd026afaba965576962","affectsGlobalScope":true},{"version":"0e08c360c9b5961ecb0537b703e253842b3ded53151ee07024148219b61a8baf","affectsGlobalScope":true},"2ce2210032ccaff7710e2abf6a722e62c54960458e73e356b6a365c93ab6ca66","92db194ef7d208d5e4b6242a3434573fd142a621ff996d84cc9dbba3553277d0","16a3080e885ed52d4017c902227a8d0d8daf723d062bec9e45627c6fdcd6699b",{"version":"0bd9543cd8fc0959c76fb8f4f5a26626c2ed62ef4be98fd857bce268066db0a2","affectsGlobalScope":true},"1ca6858a0cbcd74d7db72d7b14c5360a928d1d16748a55ecfa6bfaff8b83071b",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"ebf3434b09c527078aa74139ff367fffa64fea32a01d6c06fb0a69b0ecadf43e","01f7828047b5c6703d3c601473618b448f5506a88fcac852638b0715c3abf4eb",{"version":"c3bc5d095c3c22fd20b5a6550b9c9a6d56c3ffbb87ef057ccce7764b6bed4428","affectsGlobalScope":true},{"version":"63e2182615c513e89bb8a3e749d08f7c379e86490fcdbf6d35f2c14b3507a6e8","affectsGlobalScope":true},"6d829824ead8999f87b6df21200df3c6150391b894b4e80662caa462bd48d073","96d14f21b7652903852eef49379d04dbda28c16ed36468f8c9fa08f7c14c9538","8841e2aa774b89bd23302dede20663306dc1b9902431ac64b24be8b8d0e3f649","209e814e8e71aec74f69686a9506dd7610b97ab59dcee9446266446f72a76d05",{"version":"3f6d6465811321abc30a1e5f667feed63e5b3917b3d6c8d6645daf96c75f97ba","affectsGlobalScope":true},"6fa0008bf91a4cc9c8963bace4bba0bd6865cbfa29c3e3ccc461155660fb113a","916be7d770b0ae0406be9486ac12eb9825f21514961dd050594c4b250617d5a8","a73a445c1e0a6d0f8b48e8eb22dc9d647896783a7f8991cbbc31c0d94bf1f5a2","3dce33e7eb25594863b8e615f14a45ab98190d85953436750644212d8a18c066","bc81aff061c53a7140270555f4b22da4ecfe8601e8027cf5aa175fbdc7927c31"],"options":{"allowSyntheticDefaultImports":true,"composite":true,"declaration":true,"declarationDir":"../../lib/types","declarationMap":true,"esModuleInterop":true,"module":99,"noEmitOnError":true,"outDir":"../../lib/esm","rootDir":"../../../../target/types","skipLibCheck":true,"sourceMap":true,"strict":false,"stripInternal":true,"target":99},"fileIdsList":[[97,104],[97,106],[97],[70,97,104],[51,97],[54,97],[55,60,88,97],[56,67,68,75,85,96,97],[56,57,67,75,97],[58,97],[59,60,68,76,97],[60,85,93,97],[61,63,67,75,97],[62,97],[63,64,97],[67,97],[65,67,97],[67,68,69,85,96,97],[67,68,69,82,85,88,97],[97,101],[63,67,70,75,85,96,97],[67,68,70,71,75,85,93,96,97],[70,72,85,93,96,97],[51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103],[67,73,97],[74,96,97],[63,67,75,85,97],[76,97],[77,97],[54,78,97],[79,95,97,101],[80,97],[81,97],[67,82,83,97],[82,84,97,99],[55,67,85,86,87,88,97],[55,85,87,97],[85,86,97],[88,97],[89,97],[85,97],[67,91,92,97],[91,92,97],[60,75,85,93,97],[94,97],[75,95,97],[55,70,81,96,97],[60,97],[85,97,98],[97,99],[97,100],[55,60,67,69,78,85,96,97,99,101],[85,97,102],[67,70,72,75,85,93,96,97,102,104]],"referencedMap":[[105,1],[107,2],[106,3],[108,4],[109,3],[110,3],[111,3],[112,3],[51,5],[52,5],[54,6],[55,7],[56,8],[57,9],[58,10],[59,11],[60,12],[61,13],[62,14],[63,15],[64,15],[66,16],[65,17],[67,16],[68,18],[69,19],[53,20],[103,3],[70,21],[71,22],[72,23],[104,24],[73,25],[74,26],[75,27],[76,28],[77,29],[78,30],[79,31],[80,32],[81,33],[82,34],[83,34],[84,35],[85,36],[87,37],[86,38],[88,39],[89,40],[90,41],[91,42],[92,43],[93,44],[94,45],[95,46],[96,47],[97,48],[98,49],[99,50],[100,51],[101,52],[102,53],[113,3],[114,3],[115,1],[116,1],[117,54],[9,3],[8,3],[2,3],[10,3],[11,3],[12,3],[13,3],[14,3],[15,3],[16,3],[17,3],[3,3],[4,3],[21,3],[18,3],[19,3],[20,3],[22,3],[23,3],[24,3],[5,3],[25,3],[26,3],[27,3],[28,3],[6,3],[32,3],[29,3],[30,3],[31,3],[33,3],[7,3],[34,3],[39,3],[40,3],[35,3],[36,3],[37,3],[38,3],[41,3],[1,3],[42,3],[43,3],[44,3],[45,3],[46,3],[47,3],[48,3],[49,3],[50,3]],"exportedModulesMap":[[105,1],[107,2],[106,3],[108,4],[109,3],[110,3],[111,3],[112,3],[51,5],[52,5],[54,6],[55,7],[56,8],[57,9],[58,10],[59,11],[60,12],[61,13],[62,14],[63,15],[64,15],[66,16],[65,17],[67,16],[68,18],[69,19],[53,20],[103,3],[70,21],[71,22],[72,23],[104,24],[73,25],[74,26],[75,27],[76,28],[77,29],[78,30],[79,31],[80,32],[81,33],[82,34],[83,34],[84,35],[85,36],[87,37],[86,38],[88,39],[89,40],[90,41],[91,42],[92,43],[93,44],[94,45],[95,46],[96,47],[97,48],[98,49],[99,50],[100,51],[101,52],[102,53],[113,3],[114,3],[115,1],[116,1],[117,54],[9,3],[8,3],[2,3],[10,3],[11,3],[12,3],[13,3],[14,3],[15,3],[16,3],[17,3],[3,3],[4,3],[21,3],[18,3],[19,3],[20,3],[22,3],[23,3],[24,3],[5,3],[25,3],[26,3],[27,3],[28,3],[6,3],[32,3],[29,3],[30,3],[31,3],[33,3],[7,3],[34,3],[39,3],[40,3],[35,3],[36,3],[37,3],[38,3],[41,3],[1,3],[42,3]],"semanticDiagnosticsPerFile":[105,107,106,108,109,110,111,112,51,52,54,55,56,57,58,59,60,61,62,63,64,66,65,67,68,69,53,103,70,71,72,104,73,74,75,76,77,78,79,80,81,82,83,84,85,87,86,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,113,114,115,116,117,9,8,2,10,11,12,13,14,15,16,17,3,4,21,18,19,20,22,23,24,5,25,26,27,28,6,32,29,30,31,33,7,34,39,40,35,36,37,38,41,1,42,43,44,45,46,47,48,49,50],"latestChangedDtsFile":"../../lib/types/vote_hook_interface.d.ts"},"version":"4.9.5"} \ No newline at end of file diff --git a/packages/nft-proxy-sdk/.gitignore b/packages/nft-proxy-sdk/.gitignore new file mode 100644 index 0000000..bd592bd --- /dev/null +++ b/packages/nft-proxy-sdk/.gitignore @@ -0,0 +1,5 @@ +npm-debug.log +dist/ +tmp/ +./node_modules +lib \ No newline at end of file diff --git a/packages/nft-proxy-sdk/CHANGELOG.md b/packages/nft-proxy-sdk/CHANGELOG.md new file mode 100644 index 0000000..feddf32 --- /dev/null +++ b/packages/nft-proxy-sdk/CHANGELOG.md @@ -0,0 +1,8 @@ +# Change Log + +All notable changes to this project will be documented in this file. +See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. + +## [0.0.9](https://github.com/helium/modular-governance/compare/v0.0.8...v0.0.9) (2023-11-14) + +**Note:** Version bump only for package @helium/nft-proxy-sdk diff --git a/packages/nft-proxy-sdk/package.json b/packages/nft-proxy-sdk/package.json new file mode 100644 index 0000000..b87b375 --- /dev/null +++ b/packages/nft-proxy-sdk/package.json @@ -0,0 +1,47 @@ +{ + "name": "@helium/nft-proxy-sdk", + "publishConfig": { + "access": "public", + "registry": "https://registry.npmjs.org/" + }, + "license": "Apache-2.0", + "version": "0.0.10", + "description": "Interface to the nft proxy smart contract", + "repository": { + "type": "git", + "url": "https://github.com/helium/modular-governance" + }, + "main": "./lib/cjs/index.js", + "module": "./lib/esm/src/index.js", + "types": "./lib/types/src/index.d.ts", + "sideEffects": false, + "files": [ + "lib" + ], + "exports": { + "import": "./lib/esm/src/index.js", + "require": "./lib/cjs/index.js", + "types": "./lib/types/src/index.d.ts" + }, + "scripts": { + "format": "prettier --write \"src/**/*.{ts,tsx}\"", + "precommit": "npx git-format-staged -f 'prettier --ignore-unknown --stdin --stdin-filepath \"{}\"' .", + "clean": "npx shx mkdir -p lib && npx shx rm -rf lib", + "package": "npx shx mkdir -p lib/cjs lib/esm", + "prebuild": "npm run clean && npm run package" + }, + "dependencies": { + "@coral-xyz/anchor": "^0.28.0", + "@helium/anchor-resolvers": "^0.2.17", + "@helium/modular-governance-idls": "^0.0.10", + "@solana/spl-token": "^0.3.8" + }, + "devDependencies": { + "git-format-staged": "^2.1.3", + "ts-loader": "^9.2.3", + "typescript": "^4.3.5", + "yarn": "^1.22.18" + }, + "keywords": [], + "author": "" +} diff --git a/packages/nft-proxy-sdk/src/constants.ts b/packages/nft-proxy-sdk/src/constants.ts new file mode 100644 index 0000000..8cad7e6 --- /dev/null +++ b/packages/nft-proxy-sdk/src/constants.ts @@ -0,0 +1,3 @@ +import { PublicKey } from "@solana/web3.js"; + +export const PROGRAM_ID = new PublicKey("nprx42sXf5rpVnwBWEdRg1d8tuCWsTuVLys1pRWwE6p"); diff --git a/packages/nft-proxy-sdk/src/index.ts b/packages/nft-proxy-sdk/src/index.ts new file mode 100644 index 0000000..890f815 --- /dev/null +++ b/packages/nft-proxy-sdk/src/index.ts @@ -0,0 +1,29 @@ +import { NftProxy } from "@helium/modular-governance-idls/lib/types/nft_proxy"; +import { AnchorProvider, Idl, Program } from "@coral-xyz/anchor"; +import { PublicKey } from "@solana/web3.js"; +import { PROGRAM_ID } from "./constants"; +import { nftProxyResolvers } from "./resolvers"; + +export * from "./constants"; +export * from "./pdas"; +export * from "./resolvers"; + +export async function init( + provider: AnchorProvider, + programId: PublicKey = PROGRAM_ID, + idl?: Idl | null +): Promise> { + if (!idl) { + idl = await Program.fetchIdl(programId, provider); + } + + const tokenVoter = new Program( + idl as NftProxy, + programId, + provider, + undefined, + () => nftProxyResolvers + ) as Program; + + return tokenVoter; +} diff --git a/packages/nft-proxy-sdk/src/pdas.ts b/packages/nft-proxy-sdk/src/pdas.ts new file mode 100644 index 0000000..86630d7 --- /dev/null +++ b/packages/nft-proxy-sdk/src/pdas.ts @@ -0,0 +1,29 @@ +import { PublicKey } from "@solana/web3.js"; +import { PROGRAM_ID } from "./constants"; + +export function proxyConfigKey( + name: string, + programId: PublicKey = PROGRAM_ID +): [PublicKey, number] { + return PublicKey.findProgramAddressSync( + [Buffer.from("proxy_config", "utf-8"), Buffer.from(name, "utf8")], + programId + ); +} + +export function proxyAssignmentKey( + proxyConfig: PublicKey, + mint: PublicKey, + voter: PublicKey, + programId: PublicKey = PROGRAM_ID +): [PublicKey, number] { + return PublicKey.findProgramAddressSync( + [ + Buffer.from("proxy_assignment", "utf-8"), + proxyConfig.toBuffer(), + mint.toBuffer(), + voter.toBuffer(), + ], + programId + ); +} diff --git a/packages/nft-proxy-sdk/src/resolvers.ts b/packages/nft-proxy-sdk/src/resolvers.ts new file mode 100644 index 0000000..032f717 --- /dev/null +++ b/packages/nft-proxy-sdk/src/resolvers.ts @@ -0,0 +1,40 @@ +import * as anchor from "@coral-xyz/anchor"; +import { combineResolvers, resolveIndividual } from "@helium/anchor-resolvers"; +import { PublicKey } from "@solana/web3.js"; +import { getAccount } from "@solana/spl-token"; + +export const nftProxyResolvers: anchor.CustomAccountResolver = + combineResolvers( + resolveIndividual( + async ({ path, provider, accounts, idlIx, programId }) => { + if ( + path[path.length - 1] === "tokenAccount" && + accounts.asset && + accounts.tokenAccount !== null + ) { + return ( + await provider.connection.getTokenLargestAccounts( + accounts.asset as PublicKey + ) + ).value[0].address; + } else if ( + path[path.length - 1] === "voter" && + (idlIx.name === "assignProxyV0" || + idlIx.name === "unassignProxyV0") && + accounts.tokenAccount && + accounts.approver + ) { + const ta = await getAccount( + provider.connection, + accounts.tokenAccount as PublicKey + ); + // Primary proxy, owner is default pubkey + if (ta.owner.equals(accounts.approver as PublicKey)) { + return PublicKey.default; + } + + return accounts.approver as PublicKey; + } + } + ) + ); diff --git a/packages/nft-proxy-sdk/tsconfig.cjs.json b/packages/nft-proxy-sdk/tsconfig.cjs.json new file mode 100644 index 0000000..5445b99 --- /dev/null +++ b/packages/nft-proxy-sdk/tsconfig.cjs.json @@ -0,0 +1,7 @@ +{ + "extends": "../../tsconfig.cjs.json", + "include": ["src"], + "compilerOptions": { + "outDir": "lib/cjs" + } +} diff --git a/packages/nft-proxy-sdk/tsconfig.esm.json b/packages/nft-proxy-sdk/tsconfig.esm.json new file mode 100644 index 0000000..f2835b2 --- /dev/null +++ b/packages/nft-proxy-sdk/tsconfig.esm.json @@ -0,0 +1,8 @@ +{ + "extends": "../../tsconfig.esm.json", + "include": ["src"], + "compilerOptions": { + "outDir": "lib/esm", + "declarationDir": "lib/types" + } +} \ No newline at end of file diff --git a/packages/nft-proxy-sdk/tsconfig.json b/packages/nft-proxy-sdk/tsconfig.json new file mode 100644 index 0000000..c74ff59 --- /dev/null +++ b/packages/nft-proxy-sdk/tsconfig.json @@ -0,0 +1,14 @@ +{ + "extends": "../../tsconfig.root.json", + "references": [ + { + "path": "../modular-governance-idls" + }, + { + "path": "./tsconfig.cjs.json" + }, + { + "path": "./tsconfig.esm.json" + } + ] +} diff --git a/packages/nft-voter-sdk/package.json b/packages/nft-voter-sdk/package.json index 8c9fe21..9d7c5f2 100644 --- a/packages/nft-voter-sdk/package.json +++ b/packages/nft-voter-sdk/package.json @@ -34,6 +34,7 @@ "@coral-xyz/anchor": "^0.28.0", "@helium/anchor-resolvers": "^0.5.0", "@helium/modular-governance-idls": "^0.0.10", + "@helium/nft-proxy-sdk": "^0.0.10", "@solana/spl-token": "^0.3.8" }, "devDependencies": { diff --git a/packages/nft-voter-sdk/src/resolvers.ts b/packages/nft-voter-sdk/src/resolvers.ts index 1982c18..8f30d8a 100644 --- a/packages/nft-voter-sdk/src/resolvers.ts +++ b/packages/nft-voter-sdk/src/resolvers.ts @@ -2,6 +2,8 @@ import { ataResolver, combineResolvers, resolveIndividual } from "@helium/anchor import { PROGRAM_ID } from "./constants"; import * as anchor from "@coral-xyz/anchor"; import { PublicKey } from "@solana/web3.js"; +import { proxyAssignmentKey, nftProxyResolvers } from "@helium/nft-proxy-sdk"; +import { init } from "."; const METADATA_PROGRAM_ID = new PublicKey( "metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s" @@ -18,6 +20,7 @@ export const nftVoterProgramResolver: anchor.CustomAccountResolver = export const nftVoterResolvers: anchor.CustomAccountResolver = combineResolvers( nftVoterProgramResolver, + nftProxyResolvers, resolveIndividual(async ({ path, provider, accounts, programId }) => { if (path[path.length - 1] == "proposalProgram" && accounts.proposal) { const acct = await provider.connection.getAccountInfo( @@ -33,6 +36,14 @@ export const nftVoterResolvers: anchor.CustomAccountResolver = combineResol ], METADATA_PROGRAM_ID )[0]; + } else if (path[path.length - 1] == "proxy_assignment" && accounts.nftVoter && accounts.owner && accounts.mint) { + const program = await init(provider as any, programId) + const nftVoter = await program.account.nftVoterV0.fetch(accounts.nftVoter as PublicKey) + return proxyAssignmentKey( + nftVoter.proxyConfig, + accounts.mint as PublicKey, + accounts.owner as PublicKey, + )[0] } }), ataResolver({ diff --git a/packages/nft-voter-sdk/tsconfig.json b/packages/nft-voter-sdk/tsconfig.json index c74ff59..3c002bc 100644 --- a/packages/nft-voter-sdk/tsconfig.json +++ b/packages/nft-voter-sdk/tsconfig.json @@ -4,6 +4,9 @@ { "path": "../modular-governance-idls" }, + { + "path": "../nft-proxy-sdk" + }, { "path": "./tsconfig.cjs.json" }, diff --git a/programs/nft_proxy/Cargo.toml b/programs/nft_proxy/Cargo.toml new file mode 100644 index 0000000..a0c2dca --- /dev/null +++ b/programs/nft_proxy/Cargo.toml @@ -0,0 +1,24 @@ +[package] +name = "nft-proxy" +version = "0.0.1" +description = "Created with Anchor" +edition = "2021" + +[lib] +crate-type = ["cdylib", "lib"] +name = "nft_proxy" + +[features] +no-entrypoint = [] +no-idl = [] +no-log-ix-name = [] +cpi = ["no-entrypoint"] +default = [] +devnet = [] + +[dependencies] +anchor-lang = { git = "https://github.com/ChewingGlass/anchor", branch = "bugfix/cpi-polymorphism", features = ["init-if-needed"] } +anchor-spl = { git = "https://github.com/ChewingGlass/anchor", branch = "bugfix/cpi-polymorphism", features = ["token"] } +bytemuck = "1.14.0" +time = "0.3.36" + diff --git a/programs/nft_proxy/Xargo.toml b/programs/nft_proxy/Xargo.toml new file mode 100644 index 0000000..475fb71 --- /dev/null +++ b/programs/nft_proxy/Xargo.toml @@ -0,0 +1,2 @@ +[target.bpfel-unknown-unknown.dependencies.std] +features = [] diff --git a/programs/nft_proxy/src/error.rs b/programs/nft_proxy/src/error.rs new file mode 100644 index 0000000..b03917f --- /dev/null +++ b/programs/nft_proxy/src/error.rs @@ -0,0 +1,21 @@ +use anchor_lang::prelude::*; + +#[error_code] +pub enum ErrorCode { + #[msg("The specified expiration time exceeds the maximum allowed for this proxy configuration")] + ExpirationExceedsMax, + #[msg("The specified expiration time exceeds the maximum allowed for this season")] + ExpirationExceedsSeasonMax, + #[msg("The specified expiration time has already passed")] + ExpirationPast, + #[msg("The specified expiration time exceeds the expiration of the existing delegatio")] + ExpirationExceedsPreceedingProxy, + #[msg("The seasons are not sorted")] + SeasonsNotSorted, + #[msg("The data size increase is not valid")] + InvalidDataIncrease, + #[msg("The expiration time is invalid")] + ExpirationTimeInvalid, + #[msg("The specified expiration time has not passed")] + ExpirationNotPast, +} diff --git a/programs/nft_proxy/src/instructions/assign_proxy_v0.rs b/programs/nft_proxy/src/instructions/assign_proxy_v0.rs new file mode 100644 index 0000000..92a153c --- /dev/null +++ b/programs/nft_proxy/src/instructions/assign_proxy_v0.rs @@ -0,0 +1,156 @@ +use crate::error::ErrorCode; +use anchor_lang::prelude::*; +use anchor_spl::token::{Mint, TokenAccount}; + +use crate::state::{ProxyAssignmentV0, ProxyConfigV0}; + +#[derive(AnchorSerialize, AnchorDeserialize)] +pub struct AssignProxyArgsV0 { + pub expiration_time: i64, +} + +#[derive(Accounts)] +pub struct AssignProxyV0<'info> { + /// CHECK: Paying the rent for proxys + #[account(mut)] + pub payer: Signer<'info>, + #[account( + // Either match the current proxy, or if it is being initialized we will set it later + // This works because asset can only be Pubkey default when this is a new account + constraint = current_proxy_assignment.asset == asset.key() || current_proxy_assignment.asset == Pubkey::default(), + constraint = asset.supply == 1, + constraint = asset.decimals == 0 + )] + pub asset: Box>, + #[account( + constraint = current_proxy_assignment.voter == approver.key() || match token_account.as_ref() { + Some(token_account) => token_account.owner == approver.key(), + None => false + } + )] + pub approver: Signer<'info>, + /// CHECK: This is the voter of the current proxy. May be the same as approver, + /// or in the case of a primary proxy (first in the line), Pubkey::default + #[account( + constraint = (current_proxy_assignment.index != 0 && current_proxy_assignment.voter == voter.key()) + || (current_proxy_assignment.index == 0 && voter.key() == Pubkey::default()) + )] + pub voter: AccountInfo<'info>, + #[account( + constraint = token_account.mint == asset.key(), + constraint = token_account.amount == 1, + )] + pub token_account: Option>, + pub proxy_config: Box>, + #[account( + // We init if needed here because in the case of the original + // position owner delegating, this wont yet exist. + init_if_needed, + payer = payer, + // Note that voter part of the PDA key for the first proxy is Pubkey::default. This ensures + // that the holder can freely transfer the NFT without an disruption to the line. There is + // exactly 1 primary proxy per NFT. + seeds = [b"proxy_assignment", proxy_config.key().as_ref(), asset.key().as_ref(), voter.key().as_ref()], + space = ProxyAssignmentV0::INIT_SPACE + 60, + bump, + // You can only proxy when it is not currently proxied to someone else. + // Recall the proxy before re-delegating if necessary. + constraint = current_proxy_assignment.next_voter == Pubkey::default() || current_proxy_assignment.next_voter == recipient.key() + )] + pub current_proxy_assignment: Box>, + /// CHECK: The wallet being delegated to + #[account( + // No creating loops! Cannot delegate back to the original position owner + // This is just best effort, loops don't break the system. Someone could, theoretically, + // delegate to someone and then transfer that NFT to them. + constraint = match token_account.as_ref() { + Some(token_account) => recipient.key() != token_account.owner, + None => true + } + )] + pub recipient: AccountInfo<'info>, + #[account( + init_if_needed, + payer = payer, + seeds = [b"proxy_assignment", proxy_config.key().as_ref(), asset.key().as_ref(), recipient.key().as_ref()], + space = ProxyAssignmentV0::INIT_SPACE + 60, + bump, + )] + pub next_proxy_assignment: Box>, + pub system_program: Program<'info, System>, +} + +pub fn handler(ctx: Context, args: AssignProxyArgsV0) -> Result<()> { + require_gt!(args.expiration_time, 0, ErrorCode::ExpirationTimeInvalid); + let curr_ts = Clock::get().unwrap().unix_timestamp; + let total_proxy_time = args + .expiration_time + .checked_sub(curr_ts) + .ok_or_else(|| error!(ErrorCode::ExpirationPast))?; + + require_gt!( + ctx.accounts.proxy_config.max_proxy_time, + total_proxy_time, + ErrorCode::ExpirationExceedsMax + ); + require_gt!(total_proxy_time, 0, ErrorCode::ExpirationTimeInvalid); + + if let Some(current_season) = ctx.accounts.proxy_config.get_current_season(curr_ts) { + require_gt!( + current_season.end, + args.expiration_time, + ErrorCode::ExpirationExceedsSeasonMax + ); + } + + ctx + .accounts + .current_proxy_assignment + .set_inner(ProxyAssignmentV0 { + index: ctx.accounts.current_proxy_assignment.index, + asset: ctx.accounts.asset.key(), + proxy_config: ctx.accounts.proxy_config.key(), + voter: ctx.accounts.voter.key(), + next_voter: ctx.accounts.recipient.key(), + rent_refund: if ctx.accounts.current_proxy_assignment.rent_refund == Pubkey::default() { + ctx.accounts.payer.key() + } else { + ctx.accounts.current_proxy_assignment.rent_refund + }, + bump_seed: ctx.bumps["current_proxy_assignment"], + // If this is a recursive proxy (ie not the initial proxy), use the existing expiration time + expiration_time: if ctx.accounts.current_proxy_assignment.expiration_time > 0 + && ctx.accounts.current_proxy_assignment.voter != Pubkey::default() + { + ctx.accounts.current_proxy_assignment.expiration_time + } else { + args.expiration_time + }, + }); + + require_gte!( + ctx.accounts.current_proxy_assignment.expiration_time, + args.expiration_time, + ErrorCode::ExpirationExceedsPreceedingProxy + ); + + ctx + .accounts + .next_proxy_assignment + .set_inner(ProxyAssignmentV0 { + index: ctx.accounts.current_proxy_assignment.index + 1, + asset: ctx.accounts.asset.key(), + proxy_config: ctx.accounts.proxy_config.key(), + voter: ctx.accounts.recipient.key(), + next_voter: Pubkey::default(), + rent_refund: if ctx.accounts.next_proxy_assignment.rent_refund == Pubkey::default() { + ctx.accounts.payer.key() + } else { + ctx.accounts.next_proxy_assignment.rent_refund + }, + bump_seed: ctx.bumps["next_proxy_assignment"], + expiration_time: args.expiration_time, + }); + + Ok(()) +} diff --git a/programs/nft_proxy/src/instructions/close_expired_proxy_v0.rs b/programs/nft_proxy/src/instructions/close_expired_proxy_v0.rs new file mode 100644 index 0000000..375943f --- /dev/null +++ b/programs/nft_proxy/src/instructions/close_expired_proxy_v0.rs @@ -0,0 +1,26 @@ +use crate::error::ErrorCode; +use anchor_lang::prelude::*; + +use crate::state::*; + +// Allow anyone to permissionlessly close expired proxies at 0 index and refund to users +#[derive(Accounts)] +pub struct CloseExpiredProxyV0<'info> { + /// CHECK: Receiving rent for closing + #[account(mut)] + pub rent_refund: AccountInfo<'info>, + #[account( + mut, + close = rent_refund, + has_one = rent_refund, + constraint = proxy_assignment.index == 0, + constraint = proxy_assignment.next_voter == Pubkey::default(), + constraint = proxy_assignment.expiration_time < Clock::get().unwrap().unix_timestamp @ ErrorCode::ExpirationNotPast, + )] + pub proxy_assignment: Box>, + pub system_program: Program<'info, System>, +} + +pub fn handler(_ctx: Context) -> Result<()> { + Ok(()) +} diff --git a/programs/nft_proxy/src/instructions/initialize_proxy_config_v0.rs b/programs/nft_proxy/src/instructions/initialize_proxy_config_v0.rs new file mode 100644 index 0000000..06946ca --- /dev/null +++ b/programs/nft_proxy/src/instructions/initialize_proxy_config_v0.rs @@ -0,0 +1,51 @@ +use crate::error::ErrorCode; +use crate::state::{ProxyConfigV0, SeasonV0}; +use anchor_lang::prelude::*; + +#[derive(AnchorSerialize, AnchorDeserialize)] +pub struct InitializeProxyConfigArgsV0 { + pub name: String, + pub max_proxy_time: i64, + pub seasons: Vec, +} + +#[derive(Accounts)] +#[instruction(args: InitializeProxyConfigArgsV0)] +pub struct InitializeProxyConfigV0<'info> { + #[account(mut)] + pub payer: Signer<'info>, + /// CHECK: The authority of this config + pub authority: AccountInfo<'info>, + #[account( + init, + payer = payer, + space = 60 + std::mem::size_of::() + args.name.len() + args.seasons.len() * 16, + seeds = [b"proxy_config".as_ref(), args.name.as_bytes()], + bump + )] + pub proxy_config: Account<'info, ProxyConfigV0>, + pub system_program: Program<'info, System>, +} + +pub fn handler( + ctx: Context, + args: InitializeProxyConfigArgsV0, +) -> Result<()> { + if !args + .seasons + .iter() + .zip(args.seasons.iter().skip(1)) + .all(|(a, b)| a.start <= b.start && a.end <= b.end) + { + return Err(error!(ErrorCode::SeasonsNotSorted)); + } + + ctx.accounts.proxy_config.set_inner(ProxyConfigV0 { + authority: ctx.accounts.authority.key(), + name: args.name, + max_proxy_time: args.max_proxy_time, + seasons: args.seasons, + }); + + Ok(()) +} diff --git a/programs/nft_proxy/src/instructions/mod.rs b/programs/nft_proxy/src/instructions/mod.rs new file mode 100644 index 0000000..f9825e1 --- /dev/null +++ b/programs/nft_proxy/src/instructions/mod.rs @@ -0,0 +1,13 @@ +pub mod assign_proxy_v0; +pub mod close_expired_proxy_v0; +pub mod initialize_proxy_config_v0; +pub mod unassign_expired_proxy_v0; +pub mod unassign_proxy_v0; +pub mod update_proxy_config_v0; + +pub use assign_proxy_v0::*; +pub use close_expired_proxy_v0::*; +pub use initialize_proxy_config_v0::*; +pub use unassign_expired_proxy_v0::*; +pub use unassign_proxy_v0::*; +pub use update_proxy_config_v0::*; diff --git a/programs/nft_proxy/src/instructions/unassign_expired_proxy_v0.rs b/programs/nft_proxy/src/instructions/unassign_expired_proxy_v0.rs new file mode 100644 index 0000000..a85924f --- /dev/null +++ b/programs/nft_proxy/src/instructions/unassign_expired_proxy_v0.rs @@ -0,0 +1,34 @@ +use crate::error::ErrorCode; +use anchor_lang::prelude::*; + +use crate::state::*; + +// Allow anyone to permissionlessly close expired proxies and refund to users +#[derive(Accounts)] +pub struct UnassignExpiredProxyV0<'info> { + /// CHECK: Receiving rent for closing + #[account(mut)] + pub rent_refund: AccountInfo<'info>, + #[account( + mut, + constraint = prev_proxy_assignment.next_voter == proxy_assignment.voter, + constraint = prev_proxy_assignment.asset == proxy_assignment.asset, + )] + pub prev_proxy_assignment: Box>, + #[account( + mut, + close = rent_refund, + has_one = rent_refund, + constraint = proxy_assignment.index > prev_proxy_assignment.index, + constraint = proxy_assignment.next_voter == Pubkey::default(), + constraint = proxy_assignment.expiration_time < Clock::get().unwrap().unix_timestamp @ ErrorCode::ExpirationNotPast, + )] + pub proxy_assignment: Box>, + pub system_program: Program<'info, System>, +} + +pub fn handler(ctx: Context) -> Result<()> { + ctx.accounts.prev_proxy_assignment.next_voter = Pubkey::default(); + + Ok(()) +} diff --git a/programs/nft_proxy/src/instructions/unassign_proxy_v0.rs b/programs/nft_proxy/src/instructions/unassign_proxy_v0.rs new file mode 100644 index 0000000..b8ba38e --- /dev/null +++ b/programs/nft_proxy/src/instructions/unassign_proxy_v0.rs @@ -0,0 +1,69 @@ +use anchor_lang::prelude::*; +use anchor_spl::token::{Mint, TokenAccount}; + +use crate::state::{ProxyAssignmentV0, ProxyConfigV0}; + +// Anyone who helds a `ProxyV0` on this asset +// may undelegate it, so long as they have an earlier proxy index than or equal the position +// This means someone can also undelegate from themselves +#[derive(Accounts)] +pub struct UnassignProxyV0<'info> { + /// CHECK: Receiving rent for closing + #[account(mut)] + pub rent_refund: AccountInfo<'info>, + #[account( + constraint = asset.supply == 1, + constraint = asset.decimals == 0 + )] + pub asset: Box>, + #[account( + constraint = current_proxy_assignment.voter == approver.key() || match token_account.as_ref() { + Some(token_account) => token_account.owner == approver.key(), + None => false + } + )] + pub approver: Signer<'info>, + /// CHECK: This is the voter of the current proxy. May be the same as approver, + /// or in the case of a primary proxy (first in the line), Pubkey::default + #[account( + constraint = (current_proxy_assignment.index != 0 && current_proxy_assignment.voter == voter.key()) + || (current_proxy_assignment.index == 0 && voter.key() == Pubkey::default()) + )] + pub voter: AccountInfo<'info>, + #[account( + constraint = token_account.mint == asset.key(), + constraint = token_account.amount == 1, + )] + pub token_account: Option>, + #[account( + has_one = proxy_config, + has_one = voter, + has_one = asset, + )] + pub current_proxy_assignment: Box>, + #[account( + mut, + has_one = proxy_config, + constraint = prev_proxy_assignment.next_voter == proxy_assignment.voter, + constraint = prev_proxy_assignment.asset == current_proxy_assignment.asset, + )] + pub prev_proxy_assignment: Box>, + #[account( + mut, + close = rent_refund, + has_one = proxy_config, + has_one = rent_refund, + constraint = proxy_assignment.index >= current_proxy_assignment.index, + constraint = proxy_assignment.asset == current_proxy_assignment.asset, + constraint = proxy_assignment.next_voter == Pubkey::default(), + )] + pub proxy_assignment: Box>, + pub proxy_config: Box>, + pub system_program: Program<'info, System>, +} + +pub fn handler(ctx: Context) -> Result<()> { + ctx.accounts.prev_proxy_assignment.next_voter = Pubkey::default(); + + Ok(()) +} diff --git a/programs/nft_proxy/src/instructions/update_proxy_config_v0.rs b/programs/nft_proxy/src/instructions/update_proxy_config_v0.rs new file mode 100644 index 0000000..ee19795 --- /dev/null +++ b/programs/nft_proxy/src/instructions/update_proxy_config_v0.rs @@ -0,0 +1,51 @@ +use crate::error::ErrorCode; +use crate::resize_to_fit::resize_to_fit; +use crate::state::{ProxyConfigV0, SeasonV0}; +use anchor_lang::prelude::*; + +#[derive(AnchorSerialize, AnchorDeserialize)] +pub struct UpdateProxyConfigArgsV0 { + pub max_proxy_time: Option, + pub seasons: Option>, +} + +#[derive(Accounts)] +#[instruction(args: UpdateProxyConfigArgsV0)] +pub struct UpdateProxyConfigV0<'info> { + #[account(mut)] + pub payer: Signer<'info>, + /// CHECK: The authority of this config + pub authority: AccountInfo<'info>, + #[account( + mut, + has_one = authority + )] + pub proxy_config: Account<'info, ProxyConfigV0>, + pub system_program: Program<'info, System>, +} + +pub fn handler(ctx: Context, args: UpdateProxyConfigArgsV0) -> Result<()> { + if let Some(seasons) = args.seasons { + if !seasons + .iter() + .zip(seasons.iter().skip(1)) + .all(|(a, b)| a.start <= b.start && a.end <= b.end) + { + return Err(error!(ErrorCode::SeasonsNotSorted)); + } + + ctx.accounts.proxy_config.seasons = seasons; + } + + if let Some(max_proxy_time) = args.max_proxy_time { + ctx.accounts.proxy_config.max_proxy_time = max_proxy_time; + } + + resize_to_fit( + &ctx.accounts.payer.to_account_info(), + &ctx.accounts.system_program.to_account_info(), + &ctx.accounts.proxy_config, + )?; + + Ok(()) +} diff --git a/programs/nft_proxy/src/lib.rs b/programs/nft_proxy/src/lib.rs new file mode 100644 index 0000000..f10bced --- /dev/null +++ b/programs/nft_proxy/src/lib.rs @@ -0,0 +1,45 @@ +use anchor_lang::prelude::*; + +declare_id!("nprx42sXf5rpVnwBWEdRg1d8tuCWsTuVLys1pRWwE6p"); + +pub mod error; +pub mod instructions; +pub mod resize_to_fit; +pub mod state; + +pub use instructions::*; + +#[program] +pub mod nft_proxy { + use super::*; + + pub fn initialize_proxy_config_v0( + ctx: Context, + args: InitializeProxyConfigArgsV0, + ) -> Result<()> { + initialize_proxy_config_v0::handler(ctx, args) + } + + pub fn assign_proxy_v0(ctx: Context, args: AssignProxyArgsV0) -> Result<()> { + assign_proxy_v0::handler(ctx, args) + } + + pub fn unassign_proxy_v0(ctx: Context) -> Result<()> { + unassign_proxy_v0::handler(ctx) + } + + pub fn update_proxy_config_v0( + ctx: Context, + args: UpdateProxyConfigArgsV0, + ) -> Result<()> { + update_proxy_config_v0::handler(ctx, args) + } + + pub fn unassign_expired_proxy_v0(ctx: Context) -> Result<()> { + unassign_expired_proxy_v0::handler(ctx) + } + + pub fn close_expired_proxy_v0(ctx: Context) -> Result<()> { + close_expired_proxy_v0::handler(ctx) + } +} diff --git a/programs/nft_proxy/src/resize_to_fit.rs b/programs/nft_proxy/src/resize_to_fit.rs new file mode 100644 index 0000000..a4746be --- /dev/null +++ b/programs/nft_proxy/src/resize_to_fit.rs @@ -0,0 +1,54 @@ +use crate::error::ErrorCode; +use std::io::Write; + +use anchor_lang::{ + prelude::*, + solana_program::{entrypoint::MAX_PERMITTED_DATA_INCREASE, program::invoke, system_instruction}, +}; + +pub struct IgnoreWriter { + pub total: usize, +} + +impl Write for IgnoreWriter { + fn write(&mut self, buf: &[u8]) -> std::io::Result { + self.total += buf.len(); + Ok(buf.len()) + } + + fn flush(&mut self) -> std::io::Result<()> { + Ok(()) + } +} + +/// Resizes the account to the size of the struct +pub fn resize_to_fit<'info, T: AccountSerialize + AccountDeserialize + Owner + Clone>( + payer: &AccountInfo<'info>, + system_program: &AccountInfo<'info>, + account: &Account<'info, T>, +) -> Result<()> { + let rent = Rent::get()?; + let writer = &mut IgnoreWriter { total: 0 }; + account.try_serialize(writer)?; + let new_size = writer.total + 64; // Pad enough for two pubkeys so deserialize doesn't fail + let new_minimum_balance = rent.minimum_balance(new_size); + let lamports_diff = new_minimum_balance.saturating_sub(account.to_account_info().lamports()); + let old_size = account.to_account_info().data.borrow().len(); + + if new_size > old_size && (new_size - old_size) > MAX_PERMITTED_DATA_INCREASE { + return Err(error!(ErrorCode::InvalidDataIncrease)); + } + msg!("Resizing to {} with lamports {}", new_size, lamports_diff); + invoke( + &system_instruction::transfer(payer.key, &account.key(), lamports_diff), + &[ + payer.clone(), + account.to_account_info().clone(), + system_program.clone(), + ], + )?; + + account.to_account_info().realloc(new_size, false)?; + + Ok(()) +} diff --git a/programs/nft_proxy/src/state.rs b/programs/nft_proxy/src/state.rs new file mode 100644 index 0000000..c3e4903 --- /dev/null +++ b/programs/nft_proxy/src/state.rs @@ -0,0 +1,74 @@ +use anchor_lang::prelude::*; + +#[account] +#[derive(Default)] +pub struct ProxyConfigV0 { + pub authority: Pubkey, + pub name: String, + // Max time to delegate in seconds + pub max_proxy_time: i64, + // Optionally sync proxys to seasons, + // so that they all expire at pre-defined intervals. Creating an election cycle + pub seasons: Vec, +} + +// Seasons may overlap, the code will always take the latest `end` +// This allows you to have a season that starts before the previous season ends, +// allowing re-assignment before expiration. +#[derive(AnchorSerialize, AnchorDeserialize, Clone, Default)] +pub struct SeasonV0 { + pub start: i64, + pub end: i64, +} + +impl ProxyConfigV0 { + // Binary search for the timestamp closest to but after `unix_time` + pub fn get_current_season(&self, unix_time: i64) -> Option { + if self.seasons.is_empty() { + return None; + } + + let mut ans: Option = None; + let mut low: usize = 0; + let mut high: usize = self.seasons.len() - 1; + + while low <= high { + let middle = (high + low) / 2; + if let Some(current) = self.seasons.get(middle) { + // Move to the right side if target time is greater + if current.start <= unix_time { + ans = Some(current.clone()); + low = middle + 1; + } else { + if middle == 0 { + break; + } + high = middle - 1; + } + } else { + break; + } + } + + ans + } +} + +// Forms an on chain linked list of proxy voters +#[account] +#[derive(Default, InitSpace)] +pub struct ProxyAssignmentV0 { + pub voter: Pubkey, + pub proxy_config: Pubkey, + pub asset: Pubkey, + // Current index in the proxy chain. + pub index: u16, + // If this is the last in the line, Pubkey::default. + pub next_voter: Pubkey, + // The address of the account that paid for rent. Rent on closing + // proxys always goes to the key who originally paid for them. + pub rent_refund: Pubkey, + // Unix timestamp in seconds that this proxy expires + pub expiration_time: i64, + pub bump_seed: u8, +} diff --git a/programs/nft_voter/Cargo.toml b/programs/nft_voter/Cargo.toml index c217330..d24e162 100644 --- a/programs/nft_voter/Cargo.toml +++ b/programs/nft_voter/Cargo.toml @@ -15,8 +15,12 @@ no-log-ix-name = [] cpi = ["no-entrypoint"] default = [] devnet = [] +serde-feature = ["serde"] [dependencies] anchor-lang = { git = "https://github.com/ChewingGlass/anchor", branch = "bugfix/cpi-polymorphism", features = ["init-if-needed"] } anchor-spl = { git = "https://github.com/ChewingGlass/anchor", branch = "bugfix/cpi-polymorphism", features = ["token"] } -proposal = { path = "../proposal", features = ["no-entrypoint", "cpi"] } \ No newline at end of file +proposal = { path = "../proposal", features = ["no-entrypoint", "cpi"] } +nft-proxy = { path = "../nft_proxy", features = ["cpi"] } +serde = { version = "1.0", features = ["derive"], optional = true } +time = "0.3.36" \ No newline at end of file diff --git a/programs/nft_voter/src/instructions/initialize_nft_voter_v0.rs b/programs/nft_voter/src/instructions/initialize_nft_voter_v0.rs index b933f0b..eaf913f 100644 --- a/programs/nft_voter/src/instructions/initialize_nft_voter_v0.rs +++ b/programs/nft_voter/src/instructions/initialize_nft_voter_v0.rs @@ -1,6 +1,7 @@ use crate::state::*; use anchor_lang::prelude::*; use anchor_spl::token::Mint; +use nft_proxy::state::ProxyConfigV0; #[derive(AnchorSerialize, AnchorDeserialize, Clone, Default)] pub struct InitializeNftVoterArgsV0 { @@ -14,6 +15,7 @@ pub struct InitializeNftVoterV0<'info> { /// CHECK: Payer #[account(mut)] pub payer: Signer<'info>, + pub proxy_config: Option>, #[account( init, payer = payer, @@ -27,11 +29,18 @@ pub struct InitializeNftVoterV0<'info> { } pub fn handler(ctx: Context, args: InitializeNftVoterArgsV0) -> Result<()> { + let proxy_config = ctx + .accounts + .proxy_config + .clone() + .map(|k| k.key()) + .unwrap_or_default(); ctx.accounts.nft_voter.set_inner(NftVoterV0 { bump_seed: ctx.bumps["nft_voter"], name: args.name, authority: args.authority, collection: ctx.accounts.collection.key(), + proxy_config, }); Ok(()) diff --git a/programs/nft_voter/src/instructions/mod.rs b/programs/nft_voter/src/instructions/mod.rs index 4eda5d4..302be0f 100644 --- a/programs/nft_voter/src/instructions/mod.rs +++ b/programs/nft_voter/src/instructions/mod.rs @@ -1,7 +1,13 @@ pub mod initialize_nft_voter_v0; +pub mod proxied_relinquish_vote_v0; +pub mod proxied_vote_v0; pub mod relinquish_vote_v0; +pub mod update_nft_voter_v0; pub mod vote_v0; pub use initialize_nft_voter_v0::*; +pub use proxied_relinquish_vote_v0::*; +pub use proxied_vote_v0::*; pub use relinquish_vote_v0::*; +pub use update_nft_voter_v0::*; pub use vote_v0::*; diff --git a/programs/nft_voter/src/instructions/proxied_relinquish_vote_v0.rs b/programs/nft_voter/src/instructions/proxied_relinquish_vote_v0.rs new file mode 100644 index 0000000..3d3d90d --- /dev/null +++ b/programs/nft_voter/src/instructions/proxied_relinquish_vote_v0.rs @@ -0,0 +1,107 @@ +use crate::{error::ErrorCode, metaplex::MetadataAccount, RelinquishVoteArgsV0}; +use anchor_lang::prelude::*; +use anchor_spl::token::Mint; +use nft_proxy::state::ProxyAssignmentV0; +use proposal::{ProposalConfigV0, ProposalV0}; + +use crate::{nft_voter_seeds, state::*}; + +#[derive(Accounts)] +pub struct ProxiedRelinquishVoteV0<'info> { + /// CHECK: You're getting sol why do you care? + /// Account to receive sol rent_refund if marker is closed + #[account(mut)] + pub rent_refund: AccountInfo<'info>, + #[account( + mut, + seeds = [b"marker", nft_voter.key().as_ref(), mint.key().as_ref(), proposal.key().as_ref()], + bump = marker.bump_seed, + has_one = nft_voter, + has_one = rent_refund + )] + pub marker: Account<'info, VoteMarkerV0>, + pub nft_voter: Account<'info, NftVoterV0>, + pub voter: Signer<'info>, + pub mint: Box>, + #[account( + seeds = ["metadata".as_bytes(), MetadataAccount::owner().as_ref(), mint.key().as_ref()], + seeds::program = MetadataAccount::owner(), + bump, + constraint = metadata.collection.as_ref().map(|col| col.verified && col.key == nft_voter.collection).unwrap_or_else(|| false) + )] + pub metadata: Box>, + #[account( + has_one = voter, + constraint = proxy_assignment.proxy_config == nft_voter.proxy_config, + constraint = proxy_assignment.index <= marker.proxy_index, + constraint = proxy_assignment.expiration_time > Clock::get().unwrap().unix_timestamp, + )] + pub proxy_assignment: Box>, + #[account( + mut, + has_one = proposal_config, + owner = proposal_program.key(), + )] + pub proposal: Account<'info, ProposalV0>, + #[account( + has_one = on_vote_hook, + has_one = state_controller, + owner = proposal_program.key() + )] + pub proposal_config: Account<'info, ProposalConfigV0>, + /// CHECK: Checked via cpi + #[account(mut)] + pub state_controller: AccountInfo<'info>, + /// CHECK: Checked via has_one + pub on_vote_hook: AccountInfo<'info>, + /// CHECK: Checked via constraint + #[account( + constraint = *proposal.to_account_info().owner == proposal_program.key() + )] + pub proposal_program: AccountInfo<'info>, + pub system_program: Program<'info, System>, +} + +pub fn handler(ctx: Context, args: RelinquishVoteArgsV0) -> Result<()> { + let marker = &mut ctx.accounts.marker; + marker.proposal = ctx.accounts.proposal.key(); + marker.voter = ctx.accounts.voter.key(); + + require!( + marker.choices.iter().any(|choice| *choice == args.choice), + ErrorCode::NoVoteForThisChoice + ); + + marker.choices = marker + .choices + .clone() + .into_iter() + .filter(|c| *c != args.choice) + .collect::>(); + + proposal::cpi::vote_v0( + CpiContext::new_with_signer( + ctx.accounts.proposal_program.to_account_info(), + proposal::cpi::accounts::VoteV0 { + voter: ctx.accounts.voter.to_account_info(), + vote_controller: ctx.accounts.nft_voter.to_account_info(), + state_controller: ctx.accounts.state_controller.to_account_info(), + proposal_config: ctx.accounts.proposal_config.to_account_info(), + proposal: ctx.accounts.proposal.to_account_info(), + on_vote_hook: ctx.accounts.on_vote_hook.to_account_info(), + }, + &[nft_voter_seeds!(ctx.accounts.nft_voter)], + ), + proposal::VoteArgsV0 { + remove_vote: true, + choice: args.choice, + weight: 1_u128, + }, + )?; + + if marker.choices.is_empty() { + marker.close(ctx.accounts.rent_refund.to_account_info())?; + } + + Ok(()) +} diff --git a/programs/nft_voter/src/instructions/proxied_vote_v0.rs b/programs/nft_voter/src/instructions/proxied_vote_v0.rs new file mode 100644 index 0000000..eda361b --- /dev/null +++ b/programs/nft_voter/src/instructions/proxied_vote_v0.rs @@ -0,0 +1,110 @@ +use crate::{error::ErrorCode, metaplex::MetadataAccount, VoteArgsV0}; +use anchor_lang::prelude::*; +use anchor_spl::token::Mint; +use nft_proxy::state::ProxyAssignmentV0; +use proposal::{ProposalConfigV0, ProposalV0}; + +use crate::{nft_voter_seeds, state::*}; + +#[derive(Accounts)] +pub struct ProxyVoteV0<'info> { + #[account(mut)] + pub payer: Signer<'info>, + #[account( + init_if_needed, + payer = payer, + space = 8 + 60 + std::mem::size_of::(), + seeds = [b"marker", nft_voter.key().as_ref(), mint.key().as_ref(), proposal.key().as_ref()], + bump + )] + pub marker: Box>, + #[account( + has_one = voter, + constraint = proxy_assignment.proxy_config == nft_voter.proxy_config, + // only the current or earlier delegates can change vote. Or if proposal not set, this was an `init` for the marker + constraint = proxy_assignment.index <= marker.proxy_index || marker.proposal == Pubkey::default(), + constraint = proxy_assignment.expiration_time > Clock::get().unwrap().unix_timestamp, + )] + pub proxy_assignment: Box>, + pub nft_voter: Box>, + pub voter: Signer<'info>, + pub mint: Box>, + #[account( + seeds = ["metadata".as_bytes(), MetadataAccount::owner().as_ref(), mint.key().as_ref()], + seeds::program = MetadataAccount::owner(), + bump, + constraint = metadata.collection.as_ref().map(|col| col.verified && col.key == nft_voter.collection).unwrap_or_else(|| false) + )] + pub metadata: Box>, + #[account( + mut, + has_one = proposal_config, + owner = proposal_program.key(), + )] + pub proposal: Account<'info, ProposalV0>, + #[account( + has_one = on_vote_hook, + has_one = state_controller, + owner = proposal_program.key() + )] + pub proposal_config: Account<'info, ProposalConfigV0>, + /// CHECK: Checked via cpi + #[account(mut)] + pub state_controller: AccountInfo<'info>, + /// CHECK: Checked via has_one + pub on_vote_hook: AccountInfo<'info>, + /// CHECK: Checked via constraint + #[account( + constraint = *proposal.to_account_info().owner == proposal_program.key() + )] + pub proposal_program: AccountInfo<'info>, + pub system_program: Program<'info, System>, +} + +pub fn handler(ctx: Context, args: VoteArgsV0) -> Result<()> { + let marker = &mut ctx.accounts.marker; + if marker.rent_refund == Pubkey::default() { + marker.rent_refund = ctx.accounts.payer.key(); + } + marker.proposal = ctx.accounts.proposal.key(); + marker.bump_seed = ctx.bumps["marker"]; + marker.voter = ctx.accounts.voter.key(); + marker.nft_voter = ctx.accounts.nft_voter.key(); + marker.mint = ctx.accounts.mint.key(); + marker.proxy_index = ctx.accounts.proxy_assignment.index; + + // Don't allow voting for the same choice twice. + require!( + marker.choices.iter().all(|choice| *choice != args.choice), + ErrorCode::AlreadyVoted + ); + require_gt!( + ctx.accounts.proposal.max_choices_per_voter, + marker.choices.len() as u16, + ErrorCode::MaxChoicesExceeded + ); + + marker.choices.push(args.choice); + + proposal::cpi::vote_v0( + CpiContext::new_with_signer( + ctx.accounts.proposal_program.to_account_info(), + proposal::cpi::accounts::VoteV0 { + voter: ctx.accounts.voter.to_account_info(), + vote_controller: ctx.accounts.nft_voter.to_account_info(), + state_controller: ctx.accounts.state_controller.to_account_info(), + proposal_config: ctx.accounts.proposal_config.to_account_info(), + proposal: ctx.accounts.proposal.to_account_info(), + on_vote_hook: ctx.accounts.on_vote_hook.to_account_info(), + }, + &[nft_voter_seeds!(ctx.accounts.nft_voter)], + ), + proposal::VoteArgsV0 { + remove_vote: false, + choice: args.choice, + weight: 1_u128, + }, + )?; + + Ok(()) +} diff --git a/programs/nft_voter/src/instructions/relinquish_vote_v0.rs b/programs/nft_voter/src/instructions/relinquish_vote_v0.rs index ebfed91..ccf999a 100644 --- a/programs/nft_voter/src/instructions/relinquish_vote_v0.rs +++ b/programs/nft_voter/src/instructions/relinquish_vote_v0.rs @@ -15,12 +15,13 @@ pub struct RelinquishVoteV0<'info> { /// CHECK: You're getting sol why do you care? /// Account to receive sol refund if marker is closed #[account(mut)] - pub refund: AccountInfo<'info>, + pub rent_refund: AccountInfo<'info>, #[account( mut, seeds = [b"marker", nft_voter.key().as_ref(), mint.key().as_ref(), proposal.key().as_ref()], bump = marker.bump_seed, - has_one = nft_voter + has_one = nft_voter, + has_one = rent_refund )] pub marker: Account<'info, VoteMarkerV0>, pub nft_voter: Account<'info, NftVoterV0>, @@ -102,7 +103,7 @@ pub fn handler(ctx: Context, args: RelinquishVoteArgsV0) -> Re )?; if marker.choices.is_empty() { - marker.close(ctx.accounts.refund.to_account_info())?; + marker.close(ctx.accounts.rent_refund.to_account_info())?; } Ok(()) diff --git a/programs/nft_voter/src/instructions/update_nft_voter_v0.rs b/programs/nft_voter/src/instructions/update_nft_voter_v0.rs new file mode 100644 index 0000000..f561475 --- /dev/null +++ b/programs/nft_voter/src/instructions/update_nft_voter_v0.rs @@ -0,0 +1,27 @@ +use crate::state::*; +use anchor_lang::prelude::*; +use nft_proxy::state::ProxyConfigV0; + +#[derive(Accounts)] +pub struct UpdateNftVoterV0<'info> { + pub authority: Signer<'info>, + pub proxy_config: Option>, + /// CHECK: Set if setting the new auth + pub new_authority: Option>, + #[account( + has_one = authority + )] + pub nft_voter: Box>, +} + +pub fn handler(ctx: Context) -> Result<()> { + if let Some(proxy_config) = &ctx.accounts.proxy_config { + ctx.accounts.nft_voter.proxy_config = proxy_config.key(); + } + + if let Some(authority) = &ctx.accounts.new_authority { + ctx.accounts.nft_voter.authority = authority.key() + } + + Ok(()) +} diff --git a/programs/nft_voter/src/instructions/vote_v0.rs b/programs/nft_voter/src/instructions/vote_v0.rs index 44e1506..13b5133 100644 --- a/programs/nft_voter/src/instructions/vote_v0.rs +++ b/programs/nft_voter/src/instructions/vote_v0.rs @@ -64,15 +64,17 @@ pub struct VoteV0<'info> { } pub fn handler(ctx: Context, args: VoteArgsV0) -> Result<()> { - msg!("I started"); let marker = &mut ctx.accounts.marker; + if marker.rent_refund == Pubkey::default() { + marker.rent_refund = ctx.accounts.payer.key(); + } marker.proposal = ctx.accounts.proposal.key(); marker.bump_seed = ctx.bumps["marker"]; marker.voter = ctx.accounts.voter.key(); marker.nft_voter = ctx.accounts.nft_voter.key(); marker.mint = ctx.accounts.mint.key(); + marker.proxy_index = 0; - msg!("I set"); // Don't allow voting for the same choice twice. require!( marker.choices.iter().all(|choice| *choice != args.choice), @@ -85,7 +87,6 @@ pub fn handler(ctx: Context, args: VoteArgsV0) -> Result<()> { ); marker.choices.push(args.choice); - msg!("I vote"); proposal::cpi::vote_v0( CpiContext::new_with_signer( diff --git a/programs/nft_voter/src/lib.rs b/programs/nft_voter/src/lib.rs index 6a9b73e..fab36b5 100644 --- a/programs/nft_voter/src/lib.rs +++ b/programs/nft_voter/src/lib.rs @@ -30,4 +30,19 @@ pub mod nft_voter { pub fn vote_v0(ctx: Context, args: VoteArgsV0) -> Result<()> { vote_v0::handler(ctx, args) } + + pub fn proxied_relinquish_vote_v0( + ctx: Context, + args: RelinquishVoteArgsV0, + ) -> Result<()> { + proxied_relinquish_vote_v0::handler(ctx, args) + } + + pub fn proxied_vote_v0(ctx: Context, args: VoteArgsV0) -> Result<()> { + proxied_vote_v0::handler(ctx, args) + } + + pub fn update_nft_voter_v0(ctx: Context) -> Result<()> { + update_nft_voter_v0::handler(ctx) + } } diff --git a/programs/nft_voter/src/state.rs b/programs/nft_voter/src/state.rs index 81ed136..eb75bfa 100644 --- a/programs/nft_voter/src/state.rs +++ b/programs/nft_voter/src/state.rs @@ -8,6 +8,7 @@ pub struct NftVoterV0 { #[max_len(32)] pub name: String, pub bump_seed: u8, + pub proxy_config: Pubkey, } #[account] @@ -19,6 +20,11 @@ pub struct VoteMarkerV0 { pub mint: Pubkey, pub choices: Vec, pub bump_seed: u8, + // Keep track of which proxy index voted on this marker, + // earlier delegators can override + pub proxy_index: u16, + // Ensure the refund goes to whoever paid to create the marker when closing + pub rent_refund: Pubkey, } #[macro_export] diff --git a/programs/organization/Cargo.toml b/programs/organization/Cargo.toml index 490da0e..2c79734 100644 --- a/programs/organization/Cargo.toml +++ b/programs/organization/Cargo.toml @@ -20,4 +20,5 @@ devnet = [] anchor-lang = { git = "https://github.com/ChewingGlass/anchor", branch = "bugfix/cpi-polymorphism" } anchor-spl = { git = "https://github.com/ChewingGlass/anchor", branch = "bugfix/cpi-polymorphism" } proposal = { path = "../proposal", features = ["no-entrypoint", "cpi"] } +time = "0.3.36" diff --git a/programs/organization_wallet/Cargo.toml b/programs/organization_wallet/Cargo.toml index bd275cf..7114f7a 100644 --- a/programs/organization_wallet/Cargo.toml +++ b/programs/organization_wallet/Cargo.toml @@ -21,3 +21,4 @@ anchor-lang = { git = "https://github.com/ChewingGlass/anchor", branch = "bugfix anchor-spl = { git = "https://github.com/ChewingGlass/anchor", branch = "bugfix/cpi-polymorphism" } proposal = { path = "../proposal", features = ["no-entrypoint", "cpi"] } organization = { path = "../organization", features = ["no-entrypoint", "cpi"] } +time = "0.3.36" diff --git a/programs/proposal/Cargo.toml b/programs/proposal/Cargo.toml index b469e40..2669ca9 100644 --- a/programs/proposal/Cargo.toml +++ b/programs/proposal/Cargo.toml @@ -20,3 +20,4 @@ devnet = [] anchor-lang = { git = "https://github.com/ChewingGlass/anchor", branch = "bugfix/cpi-polymorphism" } anchor-spl = { git = "https://github.com/ChewingGlass/anchor", branch = "bugfix/cpi-polymorphism" } vote-hook-interface = { path = "../vote_hook_interface", features = ["no-entrypoint", "cpi"] } +time = "0.3.36" \ No newline at end of file diff --git a/programs/state_controller/Cargo.toml b/programs/state_controller/Cargo.toml index 586db01..e96e378 100644 --- a/programs/state_controller/Cargo.toml +++ b/programs/state_controller/Cargo.toml @@ -20,4 +20,5 @@ devnet = [] anchor-lang = { git = "https://github.com/ChewingGlass/anchor", branch = "bugfix/cpi-polymorphism" } anchor-spl = { git = "https://github.com/ChewingGlass/anchor", branch = "bugfix/cpi-polymorphism" } proposal = { path = "../proposal", features = ["no-entrypoint", "cpi"] } +time = "0.3.36" diff --git a/programs/token_voter/Cargo.toml b/programs/token_voter/Cargo.toml index 9d366f4..a04d371 100644 --- a/programs/token_voter/Cargo.toml +++ b/programs/token_voter/Cargo.toml @@ -15,8 +15,11 @@ no-log-ix-name = [] cpi = ["no-entrypoint"] default = [] devnet = [] +serde-feature = ["serde"] [dependencies] anchor-lang = { git = "https://github.com/ChewingGlass/anchor", branch = "bugfix/cpi-polymorphism", features = ["init-if-needed"] } anchor-spl = { git = "https://github.com/ChewingGlass/anchor", branch = "bugfix/cpi-polymorphism", features = ["token"] } -proposal = { path = "../proposal", features = ["no-entrypoint", "cpi"] } \ No newline at end of file +proposal = { path = "../proposal", features = ["no-entrypoint", "cpi"] } +serde = { version = "1.0", features = ["derive"], optional = true } +time = "0.3.36" \ No newline at end of file diff --git a/programs/vote_hook_interface/Cargo.toml b/programs/vote_hook_interface/Cargo.toml index 37486d8..e6a4eb2 100644 --- a/programs/vote_hook_interface/Cargo.toml +++ b/programs/vote_hook_interface/Cargo.toml @@ -19,3 +19,4 @@ devnet = [] [dependencies] anchor-lang = { git = "https://github.com/ChewingGlass/anchor", branch = "bugfix/cpi-polymorphism" } anchor-spl = { git = "https://github.com/ChewingGlass/anchor", branch = "bugfix/cpi-polymorphism" } +time = "0.3.36" diff --git a/scripts/generate-idl-docs.ts b/scripts/generate-idl-docs.ts index 1da2157..2bde2d3 100644 --- a/scripts/generate-idl-docs.ts +++ b/scripts/generate-idl-docs.ts @@ -106,7 +106,7 @@ If you are looking for a quick start guide, check out the [Getting Started](/doc ## Types `; - types.forEach((type) => { + types?.forEach((type) => { mdFile += `### ${type.name} `; diff --git a/tests/nft-voter.ts b/tests/nft-voter.ts index b3aae1e..915b537 100644 --- a/tests/nft-voter.ts +++ b/tests/nft-voter.ts @@ -5,11 +5,17 @@ import { PROGRAM_ID as PROPOSAL_PID, init as initProposal, } from "@helium/proposal-sdk"; +import { + PROGRAM_ID as DEL_PID, + init as initNftProxy, + proxyAssignmentKey, +} from "@helium/nft-proxy-sdk"; import { Metaplex, walletAdapterIdentity } from "@metaplex-foundation/js"; import { Keypair, PublicKey } from "@solana/web3.js"; import { BN } from "bn.js"; import { expect } from "chai"; import { NftVoter } from "../target/types/nft_voter"; +import { NftProxy } from "../target/types/nft_proxy"; import { Proposal } from "../target/types/proposal"; import { ensureIdls, makeid } from "./utils"; @@ -19,6 +25,8 @@ describe("nft-voter", () => { const me = provider.wallet.publicKey; let proposalProgram: Program; let program: Program; + let proxyProgram: Program; + const metaplex = new Metaplex(provider.connection); metaplex.use(walletAdapterIdentity(provider.wallet)); @@ -33,9 +41,15 @@ describe("nft-voter", () => { PROPOSAL_PID, anchor.workspace.Proposal.idl ); + proxyProgram = await initNftProxy( + provider, + DEL_PID, + anchor.workspace.NftProxy.idl + ); }); describe("with proposal", () => { + let proxyConfig: PublicKey | undefined; let proposalConfig: PublicKey | undefined; let proposal: PublicKey | undefined; let nftVoter: PublicKey | undefined; @@ -67,6 +81,24 @@ describe("nft-voter", () => { }) ).nft.address; + ({ + pubkeys: { proxyConfig }, + } = await proxyProgram.methods + .initializeProxyConfigV0({ + maxProxyTime: new BN(1000000000000), + name: makeid(10), + seasons: [ + { + start: new BN(0), + end: new BN(new Date().valueOf() / 1000 + 100000), + }, + ], + }) + .accounts({ + authority: me, + }) + .rpcAndKeys()); + ({ pubkeys: { nftVoter }, } = await program.methods @@ -76,8 +108,10 @@ describe("nft-voter", () => { }) .accounts({ collection, + proxyConfig, }) .rpcAndKeys({ skipPreflight: true })); + ({ pubkeys: { proposalConfig }, } = await proposalProgram.methods @@ -142,7 +176,7 @@ describe("nft-voter", () => { .relinquishVoteV0({ choice: 0, }) - .accounts({ mint, proposal, refund: me, nftVoter }) + .accounts({ mint, proposal, nftVoter }) .rpc({ skipPreflight: true }); acct = await proposalProgram.account.proposalV0.fetch(proposal!); @@ -150,5 +184,162 @@ describe("nft-voter", () => { markerA = await program.account.voteMarkerV0.fetchNullable(marker!); expect(markerA).to.be.null; }); + + describe("with proxy", () => { + let proxy = Keypair.generate(); + + beforeEach(async () => { + await proxyProgram.methods + .assignProxyV0({ + expirationTime: new BN(new Date().valueOf() / 1000 + 10000), + }) + .accounts({ + proxyConfig, + asset: mint, + recipient: proxy.publicKey, + }) + .rpc({ skipPreflight: true }); + }); + + it("allows voting on and relinquishing votes on the proposal", async () => { + const proxyAssignment = proxyAssignmentKey( + proxyConfig!, + mint, + proxy.publicKey + )[0]; + const { + pubkeys: { marker }, + } = await program.methods + .proxiedVoteV0({ + choice: 0, + }) + .accounts({ + mint, + proposal, + nftVoter, + voter: proxy.publicKey, + proxyAssignment, + }) + .signers([proxy]) + .rpcAndKeys({ skipPreflight: true }); + + let acct = await proposalProgram.account.proposalV0.fetch(proposal!); + expect(acct.choices[0].weight.toNumber()).to.eq(1); + let markerA = await program.account.voteMarkerV0.fetchNullable(marker!); + expect(markerA?.choices).to.deep.eq([0]); + + await program.methods + .proxiedRelinquishVoteV0({ + choice: 0, + }) + .accounts({ + mint, + proposal, + nftVoter, + voter: proxy.publicKey, + proxyAssignment, + }) + .signers([proxy]) + .rpc({ skipPreflight: true }); + + acct = await proposalProgram.account.proposalV0.fetch(proposal!); + expect(acct.choices[0].weight.toNumber()).to.eq(0); + markerA = await program.account.voteMarkerV0.fetchNullable(marker!); + expect(markerA).to.be.null; + }); + + it("allows earlier proxies to change the vote", async () => { + const { + pubkeys: { marker }, + } = await program.methods + .proxiedVoteV0({ + choice: 0, + }) + .accounts({ + mint, + proposal, + nftVoter, + voter: proxy.publicKey, + proxyAssignment: proxyAssignmentKey( + proxyConfig!, + mint, + proxy.publicKey + )[0], + }) + .signers([proxy]) + .rpcAndKeys({ skipPreflight: true }); + + let acct = await proposalProgram.account.proposalV0.fetch(proposal!); + expect(acct.choices[0].weight.toNumber()).to.eq(1); + let markerA = await program.account.voteMarkerV0.fetchNullable(marker!); + expect(markerA?.choices).to.deep.eq([0]); + expect(markerA?.proxyIndex).to.eq(1); + + await program.methods + .relinquishVoteV0({ + choice: 0, + }) + .accounts({ + mint, + proposal, + nftVoter, + }) + .rpc({ skipPreflight: true }); + + acct = await proposalProgram.account.proposalV0.fetch(proposal!); + expect(acct.choices[0].weight.toNumber()).to.eq(0); + markerA = await program.account.voteMarkerV0.fetchNullable(marker!); + expect(markerA).to.be.null; + + await program.methods + .voteV0({ + choice: 1, + }) + .accounts({ + mint, + proposal, + nftVoter, + }) + .rpcAndKeys({ skipPreflight: true }); + + acct = await proposalProgram.account.proposalV0.fetch(proposal!); + expect(acct.choices[1].weight.toNumber()).to.eq(1); + markerA = await program.account.voteMarkerV0.fetchNullable(marker!); + expect(markerA?.choices).to.deep.eq([1]); + expect(markerA?.proxyIndex).to.eq(0); + }); + + it("allows the original owner to unassign proxy", async () => { + const toUnassignProxy = proxyAssignmentKey( + proxyConfig!, + mint, + proxy.publicKey + )[0]; + const myProxy = proxyAssignmentKey( + proxyConfig!, + mint, + PublicKey.default + )[0]; + await proxyProgram.methods + .unassignProxyV0() + .accounts({ + proxyAssignment: toUnassignProxy, + prevProxyAssignment: myProxy, + currentProxyAssignment: myProxy, + }) + .rpc({ skipPreflight: true }); + + expect( + ( + await proxyProgram.account.proxyAssignmentV0.fetch(myProxy) + ).nextVoter.toBase58() + ).to.eq(PublicKey.default.toBase58()); + expect( + await proxyProgram.account.proxyAssignmentV0.fetchNullable( + toUnassignProxy + ) + ).to.be.null; + }); + }); }); }); diff --git a/tests/utils.ts b/tests/utils.ts index a3def03..bcae82f 100644 --- a/tests/utils.ts +++ b/tests/utils.ts @@ -1,5 +1,7 @@ import { execSync } from "child_process"; +export const ANCHOR_PATH = process.env.ANCHOR_PATH || "anchor"; + export async function ensureIdls() { let programs = [ { @@ -18,25 +20,29 @@ export async function ensureIdls() { name: "nft_voter", pid: "nftvLQ5t6xe2nQF1NBmBBmn15ed59tU6vSCkwQNEqdc", }, + { + name: "nft_proxy", + pid: "nprx42sXf5rpVnwBWEdRg1d8tuCWsTuVLys1pRWwE6p", + }, { name: "organization", pid: "orgdXvHVLkWgBYerptASkAwkZAE563CJUu717dMNx5f", }, { name: "organization_wallet", - pid: "orgwPMqJs9xft8UefUdKfyBwg6GDnN6oLhpMaKa6nJg" - } + pid: "orgwPMqJs9xft8UefUdKfyBwg6GDnN6oLhpMaKa6nJg", + }, ]; await Promise.all( programs.map(async (program) => { try { execSync( - `anchor idl init --filepath ${__dirname}/../target/idl/${program.name}.json ${program.pid}`, + `${ANCHOR_PATH} idl init --filepath ${__dirname}/../target/idl/${program.name}.json ${program.pid}`, { stdio: "inherit", shell: "/bin/bash" } ); } catch { execSync( - `anchor idl upgrade --filepath ${__dirname}/../target/idl/${program.name}.json ${program.pid}`, + `${ANCHOR_PATH} idl upgrade --filepath ${__dirname}/../target/idl/${program.name}.json ${program.pid}`, { stdio: "inherit", shell: "/bin/bash" } ); } diff --git a/tsconfig.json b/tsconfig.json index 587b096..9c0ea7a 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -22,6 +22,9 @@ { "path": "./packages/nft-voter-sdk" }, + { + "path": "./packages/nft-proxy-sdk" + }, { "path": "./packages/modular-governance-hooks" } diff --git a/yarn.lock b/yarn.lock index 39931a0..fb35880 100644 --- a/yarn.lock +++ b/yarn.lock @@ -538,6 +538,14 @@ "@solana/spl-token" "^0.3.6" "@solana/web3.js" "^1.43.4" +"@helium/anchor-resolvers@^0.2.17": + version "0.2.21" + resolved "https://registry.yarnpkg.com/@helium/anchor-resolvers/-/anchor-resolvers-0.2.21.tgz#8cd13bca3e7af83ffff3ab754dcf9f788d26e57e" + integrity sha512-rz3GJaULGmokjrq63v4sy683PMUkL31jrK5wVX01tzCYbI1woC9vISoPd3oSSuauZqQXdBhhQ49GKrpzi49JbA== + dependencies: + "@solana/spl-token" "^0.3.8" + "@solana/web3.js" "^1.78.4" + "@helium/anchor-resolvers@^0.4.3": version "0.4.3" resolved "https://registry.yarnpkg.com/@helium/anchor-resolvers/-/anchor-resolvers-0.4.3.tgz#6d7afba53b5e58d265e3f2d482521f2eef664c5e" @@ -2781,6 +2789,15 @@ axios@^1.5.0: form-data "^4.0.0" proxy-from-env "^1.1.0" +axios@^1.5.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/axios/-/axios-1.6.0.tgz#f1e5292f26b2fd5c2e66876adc5b06cdbd7d2102" + integrity sha512-EZ1DYihju9pwVB+jg67ogm+Tmqc6JmhamRN6I4Zt8DfZu5lbcQGw3ozH9lFejSJgs/ibaef3A9PMXPLeefFGJg== + dependencies: + follow-redirects "^1.15.0" + form-data "^4.0.0" + proxy-from-env "^1.1.0" + axobject-query@^3.1.1: version "3.2.1" resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-3.2.1.tgz#39c378a6e3b06ca679f29138151e45b2b32da62a" From c369fdbffd6f03fcd4ce6d2129e12d759b8886af Mon Sep 17 00:00:00 2001 From: Bryan Date: Mon, 12 Aug 2024 10:20:49 -0500 Subject: [PATCH 11/25] Chore/publish 0.0.12 (#33) * chore(release): publish 0.0.12 * chore(release): publish 0.0.12 --- CHANGELOG.md | 20 ++++++++++++++ lerna.json | 2 +- packages/docsite/CHANGELOG.md | 20 ++++++++++++++ packages/docsite/package.json | 2 +- .../pages/docs/api/organization-wallet-sdk.md | 25 ++++++++++++++++++ .../src/pages/docs/api/proposal-sdk.md | 26 +++++++++++++++++++ .../modular-governance-hooks/CHANGELOG.md | 8 ++++++ .../modular-governance-hooks/package.json | 6 ++--- packages/modular-governance-idls/CHANGELOG.md | 8 ++++++ packages/modular-governance-idls/package.json | 2 +- .../tsconfig.esm.tsbuildinfo | 2 +- packages/nft-proxy-sdk/CHANGELOG.md | 8 ++++++ packages/nft-proxy-sdk/package.json | 2 +- packages/nft-voter-sdk/CHANGELOG.md | 8 ++++++ packages/nft-voter-sdk/package.json | 6 ++--- packages/organization-sdk/CHANGELOG.md | 8 ++++++ packages/organization-sdk/package.json | 6 ++--- packages/organization-wallet-sdk/CHANGELOG.md | 8 ++++++ packages/organization-wallet-sdk/package.json | 6 ++--- packages/proposal-sdk/CHANGELOG.md | 8 ++++++ packages/proposal-sdk/package.json | 4 +-- packages/state-controller-sdk/CHANGELOG.md | 8 ++++++ packages/state-controller-sdk/package.json | 4 +-- packages/token-voter-sdk/CHANGELOG.md | 8 ++++++ packages/token-voter-sdk/package.json | 4 +-- yarn.lock | 21 +++++++-------- 26 files changed, 196 insertions(+), 34 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 01a87d1..fe64458 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,26 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.0.12](https://github.com/helium/modular-governance/compare/v0.0.10...v0.0.12) (2024-08-12) + + + +## [0.0.8](https://github.com/helium/modular-governance/compare/v0.0.7...v0.0.8) (2023-11-10) + + + +## [0.0.7](https://github.com/helium/modular-governance/compare/v0.0.6...v0.0.7) (2023-11-07) + + + +## [0.0.6](https://github.com/helium/modular-governance/compare/v0.0.4...v0.0.6) (2023-11-06) + +**Note:** Version bump only for package modular-governance + + + + + ## [0.0.11](https://github.com/helium/modular-governance/compare/v0.0.10...v0.0.11) (2024-06-17) **Note:** Version bump only for package modular-governance diff --git a/lerna.json b/lerna.json index 4bc0bae..1839076 100644 --- a/lerna.json +++ b/lerna.json @@ -4,5 +4,5 @@ "packages/*" ], "useWorkspaces": true, - "version": "0.0.11" + "version": "0.0.12" } diff --git a/packages/docsite/CHANGELOG.md b/packages/docsite/CHANGELOG.md index 11ad048..68751c4 100644 --- a/packages/docsite/CHANGELOG.md +++ b/packages/docsite/CHANGELOG.md @@ -3,6 +3,26 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.0.12](https://github.com/helium/modular-governance/compare/v0.0.10...v0.0.12) (2024-08-12) + + + +## [0.0.8](https://github.com/helium/modular-governance/compare/v0.0.7...v0.0.8) (2023-11-10) + + + +## [0.0.7](https://github.com/helium/modular-governance/compare/v0.0.6...v0.0.7) (2023-11-07) + + + +## [0.0.6](https://github.com/helium/modular-governance/compare/v0.0.4...v0.0.6) (2023-11-06) + +**Note:** Version bump only for package governance-docs + + + + + ## [0.0.11](https://github.com/helium/modular-governance/compare/v0.0.10...v0.0.11) (2024-06-17) **Note:** Version bump only for package governance-docs diff --git a/packages/docsite/package.json b/packages/docsite/package.json index 34c7cb3..1471aa8 100644 --- a/packages/docsite/package.json +++ b/packages/docsite/package.json @@ -1,6 +1,6 @@ { "name": "governance-docs", - "version": "0.0.11", + "version": "0.0.12", "private": true, "scripts": { "dev": "next dev", diff --git a/packages/docsite/src/pages/docs/api/organization-wallet-sdk.md b/packages/docsite/src/pages/docs/api/organization-wallet-sdk.md index dd3e480..5bb0bae 100644 --- a/packages/docsite/src/pages/docs/api/organization-wallet-sdk.md +++ b/packages/docsite/src/pages/docs/api/organization-wallet-sdk.md @@ -61,6 +61,24 @@ If you are looking for a quick start guide, check out the [Getting Started](/doc | Name | Type | Docs | | ---- | ---- | ---- | +### updateOrganizationWalletV0 + +#### Accounts + +| Name | Mutability | Signer | Docs | +| ------------------ | ---------- | ------ | ---- | +| payer | mut | yes | | +| organizationWallet | mut | no | | +| organization | immut | no | | +| authority | immut | yes | | +| systemProgram | immut | no | | + +#### Args + +| Name | Type | Docs | +| ---- | ------------------------------ | ---- | +| args | UpdateOrganizationWalletArgsV0 | | + ## Accounts ### OrganizationWalletV0 @@ -136,6 +154,13 @@ If you are looking for a quick start guide, check out the [Getting Started](/doc | disableExecutionOffset | u32 | | transaction | CompiledTransactionArgV0 | +### UpdateOrganizationWalletArgsV0 + +| Field | Type | +| --------------- | --------------- | +| name | string | +| proposalConfigs | [object Object] | + ### CompiledInstructionV0 | Field | Type | diff --git a/packages/docsite/src/pages/docs/api/proposal-sdk.md b/packages/docsite/src/pages/docs/api/proposal-sdk.md index 5632b9e..de0e216 100644 --- a/packages/docsite/src/pages/docs/api/proposal-sdk.md +++ b/packages/docsite/src/pages/docs/api/proposal-sdk.md @@ -77,6 +77,21 @@ If you are looking for a quick start guide, check out the [Getting Started](/doc | ---- | ----------------- | ---- | | args | UpdateStateArgsV0 | | +### updateProposalConfigV0 + +#### Accounts + +| Name | Mutability | Signer | Docs | +| -------------- | ---------- | ------ | ---- | +| proposalConfig | mut | no | | +| authority | immut | yes | | + +#### Args + +| Name | Type | Docs | +| ---- | -------------------------- | ---- | +| args | UpdateProposalConfigArgsV0 | | + ## Accounts ### ProposalConfigV0 @@ -88,6 +103,7 @@ If you are looking for a quick start guide, check out the [Getting Started](/doc | onVoteHook | publicKey | | name | string | | bumpSeed | u8 | +| authority | publicKey | ### ProposalV0 @@ -116,6 +132,7 @@ If you are looking for a quick start guide, check out the [Getting Started](/doc | voteController | publicKey | | stateController | publicKey | | onVoteHook | publicKey | +| authority | publicKey | ### ChoiceArg @@ -135,6 +152,15 @@ If you are looking for a quick start guide, check out the [Getting Started](/doc | choices | ChoiceArg | | tags | string | +### UpdateProposalConfigArgsV0 + +| Field | Type | +| --------------- | --------- | +| voteController | publicKey | +| stateController | publicKey | +| onVoteHook | publicKey | +| authority | publicKey | + ### UpdateStateArgsV0 | Field | Type | diff --git a/packages/modular-governance-hooks/CHANGELOG.md b/packages/modular-governance-hooks/CHANGELOG.md index 5e55b76..25f812e 100644 --- a/packages/modular-governance-hooks/CHANGELOG.md +++ b/packages/modular-governance-hooks/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.0.12](https://github.com/helium/modular-governance/compare/v0.0.10...v0.0.12) (2024-08-12) + +**Note:** Version bump only for package @helium/modular-governance-hooks + + + + + ## [0.0.11](https://github.com/helium/modular-governance/compare/v0.0.10...v0.0.11) (2024-06-17) **Note:** Version bump only for package @helium/modular-governance-hooks diff --git a/packages/modular-governance-hooks/package.json b/packages/modular-governance-hooks/package.json index a8be150..3571d3c 100644 --- a/packages/modular-governance-hooks/package.json +++ b/packages/modular-governance-hooks/package.json @@ -6,7 +6,7 @@ "registry": "https://registry.npmjs.org/" }, "license": "Apache-2.0", - "version": "0.0.11", + "version": "0.0.12", "description": "React hooks for modular governance", "repository": { "type": "git", @@ -36,8 +36,8 @@ "@helium/account-fetch-cache": "^0.5.0", "@helium/account-fetch-cache-hooks": "^0.5.0", "@helium/helium-react-hooks": "^0.5.0", - "@helium/modular-governance-idls": "^0.0.11", - "@helium/organization-sdk": "^0.0.11", + "@helium/modular-governance-idls": "^0.0.12", + "@helium/organization-sdk": "^0.0.12", "@solana/web3.js": "^1.78.4" }, "devDependencies": { diff --git a/packages/modular-governance-idls/CHANGELOG.md b/packages/modular-governance-idls/CHANGELOG.md index eb85615..a09ee48 100644 --- a/packages/modular-governance-idls/CHANGELOG.md +++ b/packages/modular-governance-idls/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.0.12](https://github.com/helium/modular-governance/compare/v0.0.10...v0.0.12) (2024-08-12) + +**Note:** Version bump only for package @helium/modular-governance-idls + + + + + ## [0.0.11](https://github.com/helium/modular-governance/compare/v0.0.10...v0.0.11) (2024-06-17) **Note:** Version bump only for package @helium/modular-governance-idls diff --git a/packages/modular-governance-idls/package.json b/packages/modular-governance-idls/package.json index 4133004..201f84f 100644 --- a/packages/modular-governance-idls/package.json +++ b/packages/modular-governance-idls/package.json @@ -1,6 +1,6 @@ { "name": "@helium/modular-governance-idls", - "version": "0.0.11", + "version": "0.0.12", "description": "Exported idls", "publishConfig": { "access": "public", diff --git a/packages/modular-governance-idls/packages/modular-governance-idls/tsconfig.esm.tsbuildinfo b/packages/modular-governance-idls/packages/modular-governance-idls/tsconfig.esm.tsbuildinfo index 5820032..cd27d9d 100644 --- a/packages/modular-governance-idls/packages/modular-governance-idls/tsconfig.esm.tsbuildinfo +++ b/packages/modular-governance-idls/packages/modular-governance-idls/tsconfig.esm.tsbuildinfo @@ -1 +1 @@ -{"program":{"fileNames":["../../../../node_modules/typescript/lib/lib.es5.d.ts","../../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../../target/types/nft_proxy.ts","../../../../target/types/nft_voter.ts","../../../../target/types/organization.ts","../../../../target/types/organization_wallet.ts","../../../../target/types/proposal.ts","../../../../target/types/state_controller.ts","../../../../target/types/token_voter.ts","../../../../target/types/vote_hook_interface.ts","../../../../node_modules/@types/node/assert.d.ts","../../../../node_modules/@types/node/assert/strict.d.ts","../../../../node_modules/@types/node/globals.d.ts","../../../../node_modules/@types/node/async_hooks.d.ts","../../../../node_modules/@types/node/buffer.d.ts","../../../../node_modules/@types/node/child_process.d.ts","../../../../node_modules/@types/node/cluster.d.ts","../../../../node_modules/@types/node/console.d.ts","../../../../node_modules/@types/node/constants.d.ts","../../../../node_modules/@types/node/crypto.d.ts","../../../../node_modules/@types/node/dgram.d.ts","../../../../node_modules/@types/node/diagnostics_channel.d.ts","../../../../node_modules/@types/node/dns.d.ts","../../../../node_modules/@types/node/dns/promises.d.ts","../../../../node_modules/@types/node/domain.d.ts","../../../../node_modules/@types/node/dom-events.d.ts","../../../../node_modules/@types/node/events.d.ts","../../../../node_modules/@types/node/fs.d.ts","../../../../node_modules/@types/node/fs/promises.d.ts","../../../../node_modules/@types/node/http.d.ts","../../../../node_modules/@types/node/http2.d.ts","../../../../node_modules/@types/node/https.d.ts","../../../../node_modules/@types/node/inspector.d.ts","../../../../node_modules/@types/node/module.d.ts","../../../../node_modules/@types/node/net.d.ts","../../../../node_modules/@types/node/os.d.ts","../../../../node_modules/@types/node/path.d.ts","../../../../node_modules/@types/node/perf_hooks.d.ts","../../../../node_modules/@types/node/process.d.ts","../../../../node_modules/@types/node/punycode.d.ts","../../../../node_modules/@types/node/querystring.d.ts","../../../../node_modules/@types/node/readline.d.ts","../../../../node_modules/@types/node/readline/promises.d.ts","../../../../node_modules/@types/node/repl.d.ts","../../../../node_modules/@types/node/stream.d.ts","../../../../node_modules/@types/node/stream/promises.d.ts","../../../../node_modules/@types/node/stream/consumers.d.ts","../../../../node_modules/@types/node/stream/web.d.ts","../../../../node_modules/@types/node/string_decoder.d.ts","../../../../node_modules/@types/node/test.d.ts","../../../../node_modules/@types/node/timers.d.ts","../../../../node_modules/@types/node/timers/promises.d.ts","../../../../node_modules/@types/node/tls.d.ts","../../../../node_modules/@types/node/trace_events.d.ts","../../../../node_modules/@types/node/tty.d.ts","../../../../node_modules/@types/node/url.d.ts","../../../../node_modules/@types/node/util.d.ts","../../../../node_modules/@types/node/v8.d.ts","../../../../node_modules/@types/node/vm.d.ts","../../../../node_modules/@types/node/wasi.d.ts","../../../../node_modules/@types/node/worker_threads.d.ts","../../../../node_modules/@types/node/zlib.d.ts","../../../../node_modules/@types/node/globals.global.d.ts","../../../../node_modules/@types/node/index.d.ts","../../../../node_modules/@types/bn.js/index.d.ts","../../../../node_modules/@types/chai/index.d.ts","../../../../node_modules/@types/chai-as-promised/index.d.ts","../../../../node_modules/@types/connect/index.d.ts","../../../../node_modules/@types/json5/index.d.ts","../../../../node_modules/@types/minimatch/index.d.ts","../../../../node_modules/@types/minimist/index.d.ts","../../../../node_modules/@types/mocha/index.d.ts","../../../../node_modules/@types/normalize-package-data/index.d.ts","../../../../node_modules/@types/parse-json/index.d.ts","../../../../node_modules/@types/pbkdf2/index.d.ts","../../../../node_modules/@types/secp256k1/index.d.ts","../../../../node_modules/@types/ws/index.d.ts"],"fileInfos":[{"version":"8730f4bf322026ff5229336391a18bcaa1f94d4f82416c8b2f3954e2ccaae2ba","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","4b421cbfb3a38a27c279dec1e9112c3d1da296f77a1a85ddadf7e7a425d45d18","1fc5ab7a764205c68fa10d381b08417795fc73111d6dd16b5b1ed36badb743d9",{"version":"adb996790133eb33b33aadb9c09f15c2c575e71fb57a62de8bf74dbf59ec7dfb","affectsGlobalScope":true},{"version":"8cc8c5a3bac513368b0157f3d8b31cfdcfe78b56d3724f30f80ed9715e404af8","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"c5c05907c02476e4bde6b7e76a79ffcd948aedd14b6a8f56e4674221b0417398","affectsGlobalScope":true},{"version":"5f406584aef28a331c36523df688ca3650288d14f39c5d2e555c95f0d2ff8f6f","affectsGlobalScope":true},{"version":"22f230e544b35349cfb3bd9110b6ef37b41c6d6c43c3314a31bd0d9652fcec72","affectsGlobalScope":true},{"version":"7ea0b55f6b315cf9ac2ad622b0a7813315bb6e97bf4bb3fbf8f8affbca7dc695","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"eb26de841c52236d8222f87e9e6a235332e0788af8c87a71e9e210314300410a","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"81cac4cbc92c0c839c70f8ffb94eb61e2d32dc1c3cf6d95844ca099463cf37ea","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true},{"version":"6e7997ef61de3132e4d4b2250e75343f487903ddf5370e7ce33cf1b9db9a63ed","affectsGlobalScope":true},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true},{"version":"5e5e095c4470c8bab227dbbc61374878ecead104c74ab9960d3adcccfee23205","affectsGlobalScope":true},{"version":"09aa50414b80c023553090e2f53827f007a301bc34b0495bfb2c3c08ab9ad1eb","affectsGlobalScope":true},{"version":"d7f680a43f8cd12a6b6122c07c54ba40952b0c8aa140dcfcf32eb9e6cb028596","affectsGlobalScope":true},{"version":"3787b83e297de7c315d55d4a7c546ae28e5f6c0a361b7a1dcec1f1f50a54ef11","affectsGlobalScope":true},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true},{"version":"2768ef564cfc0689a1b76106c421a2909bdff0acbe87da010785adab80efdd5c","affectsGlobalScope":true},{"version":"b248e32ca52e8f5571390a4142558ae4f203ae2f94d5bac38a3084d529ef4e58","affectsGlobalScope":true},{"version":"fb4416144c1bf0323ccbc9afb0ab289c07312214e8820ad17d709498c865a3fe","affectsGlobalScope":true},{"version":"52d1bb7ab7a3306fd0375c8bff560feed26ed676a5b0457fa8027b563aecb9a4","affectsGlobalScope":true},{"version":"4c49cc5572d80ef350f929108b067de4c4b1999a973e2e4bcfe930ae982db608","signature":"29133ef9e5680a6ec1b7b580e4233d15c63ab1cb95bb52aeede5410cdb6b8eb2"},{"version":"518d21775cd0d4f0b53d5d671f201eaedd6066e4fd3cbdc1431c964fa7d29155","signature":"c85a13b8665a866f6689467b7103786d30949468f25e20e168b43c5c70f55ffa"},{"version":"7fa8ab21c2bb00ee455d14225819d7500ff0af2a32385514346f54c5d4b35cf0","signature":"91fee60e7136d3e7a986d33f5a9b281a9ca120615ece0d58cc823af2a640bd03"},{"version":"00613005f67d3895066a94016932e1cbb9f901a3be5f90077a7b3270f0f96b73","signature":"0564cee093efce698703257032564c51226b36290cdcb0e399508b400ef7e891"},{"version":"98b8d129ea6f5c4d9bcc2916e0f1b6835c8855af343255d26c5ad5af787a29ab","signature":"1f1dc5fdba69cbcef92a76dac85419516b179ee58df2696ea8b0d63bdceb995e"},{"version":"bb5cc4a171d18bd4c1eb7c98a3a435548b81839f71d0ad16cefe13658dbf633e","signature":"d84a5de837c7ac2b8b0955c7e12b3d6615949bf135fba9c79f48a40182f16488"},{"version":"2eb961423bb717b36ae6c89167574dc0a36a7469bd999bd088c854c11f481108","signature":"7e7d62fa024ea32b3e9bb2f0e97e200654e52b6a01513d06489d876ee0064c2c"},{"version":"d3fc1a478c7ee31a2c0900394e6531c6b0df5aa9395bdc601c83697a0c78b0f5","signature":"4ecc1ccb0bb5e43a48a6bae3314e125ca4a043424d2729982a71cdb943a66156"},"587f13f1e8157bd8cec0adda0de4ef558bb8573daa9d518d1e2af38e87ecc91f","a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a",{"version":"bce910d9164785c9f0d4dcea4be359f5f92130c7c7833dea6138ab1db310a1f9","affectsGlobalScope":true},"7a435e0c814f58f23e9a0979045ec0ef5909aac95a70986e8bcce30c27dff228",{"version":"c81c51f43e343b6d89114b17341fb9d381c4ccbb25e0ee77532376052c801ba7","affectsGlobalScope":true},"db71be322f07f769200108aa19b79a75dd19a187c9dca2a30c4537b233aa2863","57135ce61976a8b1dadd01bb412406d1805b90db6e8ecb726d0d78e0b5f76050",{"version":"49479e21a040c0177d1b1bc05a124c0383df7a08a0726ad4d9457619642e875a","affectsGlobalScope":true},"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","f302f3a47d7758f67f2afc753b9375d6504dde05d2e6ecdb1df50abbb131fc89","3690133deae19c8127c5505fcb67b04bdc9eb053796008538a9b9abbb70d85aa","5b1c0a23f464f894e7c2b2b6c56df7b9afa60ed48c5345f8618d389a636b2108","be2b092f2765222757c6441b86c53a5ea8dfed47bbc43eab4c5fe37942c866b3","8e6b05abc98adba15e1ac78e137c64576c74002e301d682e66feb77a23907ab8","1ca735bb3d407b2af4fbee7665f3a0a83be52168c728cc209755060ba7ed67bd",{"version":"6b526a5ec4a401ca7c26cfe6a48e641d8f30af76673bad3b06a1b4504594a960","affectsGlobalScope":true},{"version":"b85c02e14ecb2a873dad5a1de72319b265160ba48f1b83661aeb3bba1366c1bc","affectsGlobalScope":true},"7a2ba0c9af860ac3e77b35ed01fd96d15986f17aa22fe40f188ae556fb1070df","fc3764040518a1008dd04bdc80964591b566b896283e00df85c95851c1f46237","55709608060f77965c270ac10ac646286589f1bd1cb174fff1778a2dd9a7ef31","790623a47c5eda62910098884ecb154dc0e5f3a23fc36c1bfb3b5b9ed44e2c2d","42b40e40f2a358cda332456214fad311e1806a6abf3cebaaac72496e07556642","354612fe1d49ecc9551ea3a27d94eef2887b64ef4a71f72ca444efe0f2f0ba80",{"version":"ac0c77cd7db52b3c278bdd1452ce754014835493d05b84535f46854fdc2063b2","affectsGlobalScope":true},"b9f36877501f2ce0e276e993c93cd2cf325e78d0409ec4612b1eb9d6a537e60b","5e2b91328a540a0933ab5c2203f4358918e6f0fe7505d22840a891a6117735f1","3abc3512fa04aa0230f59ea1019311fd8667bd935d28306311dccc8b17e79d5d",{"version":"14a50dafe3f45713f7f27cb6320dff07c6ac31678f07959c2134260061bf91ff","affectsGlobalScope":true},{"version":"19da7150ca062323b1db6311a6ef058c9b0a39cc64d836b5e9b75d301869653b","affectsGlobalScope":true},"1349077576abb41f0e9c78ec30762ff75b710208aff77f5fdcc6a8c8ce6289dd","e2ce82603102b5c0563f59fb40314cc1ff95a4d521a66ad14146e130ea80d89c","a3e0395220255a350aa9c6d56f882bfcb5b85c19fddf5419ec822cf22246a26d","c27b01e8ddff5cd280711af5e13aecd9a3228d1c256ea797dd64f8fdec5f7df5","898840e876dfd21843db9f2aa6ae38ba2eab550eb780ff62b894b9fbfebfae6b","0cab4d7d4edc40cd3af9eea7c3ed6d1016910c0954c49c4297e479bf3822a625","1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff","785e5be57d4f20f290a20e7b0c6263f6c57fd6e51283050756cef07d6d651c68","44b8b584a338b190a59f4f6929d072431950c7bd92ec2694821c11bce180c8a5","164deb2409ac5f4da3cd139dbcee7f7d66753d90363a4d7e2db8d8874f272270",{"version":"ffc62d73b4fa10ca8c59f8802df88efefe447025730a24ee977b60adedc5bf37","affectsGlobalScope":true},{"version":"ab294c4b7279318ee2a8fdf681305457ecc05970c94108d304933f18823eeac1","affectsGlobalScope":true},"ad08154d9602429522cac965a715fde27d421d69b24756c5d291877dda75353e","5bc85813bfcb6907cc3a960fec8734a29d7884e0e372515147720c5991b8bc22","812b25f798033c202baedf386a1ccc41f9191b122f089bffd10fdccce99fba11","993325544790073f77e945bee046d53988c0bc3ac5695c9cf8098166feb82661",{"version":"75dd741ca6a6c8d2437a6ca8349b64b816421dbf9fe82dd026afaba965576962","affectsGlobalScope":true},{"version":"0e08c360c9b5961ecb0537b703e253842b3ded53151ee07024148219b61a8baf","affectsGlobalScope":true},"2ce2210032ccaff7710e2abf6a722e62c54960458e73e356b6a365c93ab6ca66","92db194ef7d208d5e4b6242a3434573fd142a621ff996d84cc9dbba3553277d0","16a3080e885ed52d4017c902227a8d0d8daf723d062bec9e45627c6fdcd6699b",{"version":"0bd9543cd8fc0959c76fb8f4f5a26626c2ed62ef4be98fd857bce268066db0a2","affectsGlobalScope":true},"1ca6858a0cbcd74d7db72d7b14c5360a928d1d16748a55ecfa6bfaff8b83071b",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"ebf3434b09c527078aa74139ff367fffa64fea32a01d6c06fb0a69b0ecadf43e","01f7828047b5c6703d3c601473618b448f5506a88fcac852638b0715c3abf4eb",{"version":"c3bc5d095c3c22fd20b5a6550b9c9a6d56c3ffbb87ef057ccce7764b6bed4428","affectsGlobalScope":true},{"version":"63e2182615c513e89bb8a3e749d08f7c379e86490fcdbf6d35f2c14b3507a6e8","affectsGlobalScope":true},"6d829824ead8999f87b6df21200df3c6150391b894b4e80662caa462bd48d073","96d14f21b7652903852eef49379d04dbda28c16ed36468f8c9fa08f7c14c9538","8841e2aa774b89bd23302dede20663306dc1b9902431ac64b24be8b8d0e3f649","209e814e8e71aec74f69686a9506dd7610b97ab59dcee9446266446f72a76d05",{"version":"3f6d6465811321abc30a1e5f667feed63e5b3917b3d6c8d6645daf96c75f97ba","affectsGlobalScope":true},"6fa0008bf91a4cc9c8963bace4bba0bd6865cbfa29c3e3ccc461155660fb113a","916be7d770b0ae0406be9486ac12eb9825f21514961dd050594c4b250617d5a8","a73a445c1e0a6d0f8b48e8eb22dc9d647896783a7f8991cbbc31c0d94bf1f5a2","3dce33e7eb25594863b8e615f14a45ab98190d85953436750644212d8a18c066","bc81aff061c53a7140270555f4b22da4ecfe8601e8027cf5aa175fbdc7927c31"],"options":{"allowSyntheticDefaultImports":true,"composite":true,"declaration":true,"declarationDir":"../../lib/types","declarationMap":true,"esModuleInterop":true,"module":99,"noEmitOnError":true,"outDir":"../../lib/esm","rootDir":"../../../../target/types","skipLibCheck":true,"sourceMap":true,"strict":false,"stripInternal":true,"target":99},"fileIdsList":[[97,104],[97,106],[97],[70,97,104],[51,97],[54,97],[55,60,88,97],[56,67,68,75,85,96,97],[56,57,67,75,97],[58,97],[59,60,68,76,97],[60,85,93,97],[61,63,67,75,97],[62,97],[63,64,97],[67,97],[65,67,97],[67,68,69,85,96,97],[67,68,69,82,85,88,97],[97,101],[63,67,70,75,85,96,97],[67,68,70,71,75,85,93,96,97],[70,72,85,93,96,97],[51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103],[67,73,97],[74,96,97],[63,67,75,85,97],[76,97],[77,97],[54,78,97],[79,95,97,101],[80,97],[81,97],[67,82,83,97],[82,84,97,99],[55,67,85,86,87,88,97],[55,85,87,97],[85,86,97],[88,97],[89,97],[85,97],[67,91,92,97],[91,92,97],[60,75,85,93,97],[94,97],[75,95,97],[55,70,81,96,97],[60,97],[85,97,98],[97,99],[97,100],[55,60,67,69,78,85,96,97,99,101],[85,97,102],[67,70,72,75,85,93,96,97,102,104]],"referencedMap":[[105,1],[107,2],[106,3],[108,4],[109,3],[110,3],[111,3],[112,3],[51,5],[52,5],[54,6],[55,7],[56,8],[57,9],[58,10],[59,11],[60,12],[61,13],[62,14],[63,15],[64,15],[66,16],[65,17],[67,16],[68,18],[69,19],[53,20],[103,3],[70,21],[71,22],[72,23],[104,24],[73,25],[74,26],[75,27],[76,28],[77,29],[78,30],[79,31],[80,32],[81,33],[82,34],[83,34],[84,35],[85,36],[87,37],[86,38],[88,39],[89,40],[90,41],[91,42],[92,43],[93,44],[94,45],[95,46],[96,47],[97,48],[98,49],[99,50],[100,51],[101,52],[102,53],[113,3],[114,3],[115,1],[116,1],[117,54],[9,3],[8,3],[2,3],[10,3],[11,3],[12,3],[13,3],[14,3],[15,3],[16,3],[17,3],[3,3],[4,3],[21,3],[18,3],[19,3],[20,3],[22,3],[23,3],[24,3],[5,3],[25,3],[26,3],[27,3],[28,3],[6,3],[32,3],[29,3],[30,3],[31,3],[33,3],[7,3],[34,3],[39,3],[40,3],[35,3],[36,3],[37,3],[38,3],[41,3],[1,3],[42,3],[43,3],[44,3],[45,3],[46,3],[47,3],[48,3],[49,3],[50,3]],"exportedModulesMap":[[105,1],[107,2],[106,3],[108,4],[109,3],[110,3],[111,3],[112,3],[51,5],[52,5],[54,6],[55,7],[56,8],[57,9],[58,10],[59,11],[60,12],[61,13],[62,14],[63,15],[64,15],[66,16],[65,17],[67,16],[68,18],[69,19],[53,20],[103,3],[70,21],[71,22],[72,23],[104,24],[73,25],[74,26],[75,27],[76,28],[77,29],[78,30],[79,31],[80,32],[81,33],[82,34],[83,34],[84,35],[85,36],[87,37],[86,38],[88,39],[89,40],[90,41],[91,42],[92,43],[93,44],[94,45],[95,46],[96,47],[97,48],[98,49],[99,50],[100,51],[101,52],[102,53],[113,3],[114,3],[115,1],[116,1],[117,54],[9,3],[8,3],[2,3],[10,3],[11,3],[12,3],[13,3],[14,3],[15,3],[16,3],[17,3],[3,3],[4,3],[21,3],[18,3],[19,3],[20,3],[22,3],[23,3],[24,3],[5,3],[25,3],[26,3],[27,3],[28,3],[6,3],[32,3],[29,3],[30,3],[31,3],[33,3],[7,3],[34,3],[39,3],[40,3],[35,3],[36,3],[37,3],[38,3],[41,3],[1,3],[42,3]],"semanticDiagnosticsPerFile":[105,107,106,108,109,110,111,112,51,52,54,55,56,57,58,59,60,61,62,63,64,66,65,67,68,69,53,103,70,71,72,104,73,74,75,76,77,78,79,80,81,82,83,84,85,87,86,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,113,114,115,116,117,9,8,2,10,11,12,13,14,15,16,17,3,4,21,18,19,20,22,23,24,5,25,26,27,28,6,32,29,30,31,33,7,34,39,40,35,36,37,38,41,1,42,43,44,45,46,47,48,49,50],"latestChangedDtsFile":"../../lib/types/vote_hook_interface.d.ts"},"version":"4.9.5"} \ No newline at end of file +{"program":{"fileNames":["../../../../node_modules/typescript/lib/lib.es5.d.ts","../../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../../target/types/nft_proxy.ts","../../../../target/types/nft_voter.ts","../../../../target/types/organization.ts","../../../../target/types/organization_wallet.ts","../../../../target/types/proposal.ts","../../../../target/types/state_controller.ts","../../../../target/types/token_voter.ts","../../../../target/types/vote_hook_interface.ts","../../../../node_modules/@types/node/assert.d.ts","../../../../node_modules/@types/node/assert/strict.d.ts","../../../../node_modules/@types/node/globals.d.ts","../../../../node_modules/@types/node/async_hooks.d.ts","../../../../node_modules/@types/node/buffer.d.ts","../../../../node_modules/@types/node/child_process.d.ts","../../../../node_modules/@types/node/cluster.d.ts","../../../../node_modules/@types/node/console.d.ts","../../../../node_modules/@types/node/constants.d.ts","../../../../node_modules/@types/node/crypto.d.ts","../../../../node_modules/@types/node/dgram.d.ts","../../../../node_modules/@types/node/diagnostics_channel.d.ts","../../../../node_modules/@types/node/dns.d.ts","../../../../node_modules/@types/node/dns/promises.d.ts","../../../../node_modules/@types/node/domain.d.ts","../../../../node_modules/@types/node/dom-events.d.ts","../../../../node_modules/@types/node/events.d.ts","../../../../node_modules/@types/node/fs.d.ts","../../../../node_modules/@types/node/fs/promises.d.ts","../../../../node_modules/@types/node/http.d.ts","../../../../node_modules/@types/node/http2.d.ts","../../../../node_modules/@types/node/https.d.ts","../../../../node_modules/@types/node/inspector.d.ts","../../../../node_modules/@types/node/module.d.ts","../../../../node_modules/@types/node/net.d.ts","../../../../node_modules/@types/node/os.d.ts","../../../../node_modules/@types/node/path.d.ts","../../../../node_modules/@types/node/perf_hooks.d.ts","../../../../node_modules/@types/node/process.d.ts","../../../../node_modules/@types/node/punycode.d.ts","../../../../node_modules/@types/node/querystring.d.ts","../../../../node_modules/@types/node/readline.d.ts","../../../../node_modules/@types/node/readline/promises.d.ts","../../../../node_modules/@types/node/repl.d.ts","../../../../node_modules/@types/node/stream.d.ts","../../../../node_modules/@types/node/stream/promises.d.ts","../../../../node_modules/@types/node/stream/consumers.d.ts","../../../../node_modules/@types/node/stream/web.d.ts","../../../../node_modules/@types/node/string_decoder.d.ts","../../../../node_modules/@types/node/test.d.ts","../../../../node_modules/@types/node/timers.d.ts","../../../../node_modules/@types/node/timers/promises.d.ts","../../../../node_modules/@types/node/tls.d.ts","../../../../node_modules/@types/node/trace_events.d.ts","../../../../node_modules/@types/node/tty.d.ts","../../../../node_modules/@types/node/url.d.ts","../../../../node_modules/@types/node/util.d.ts","../../../../node_modules/@types/node/v8.d.ts","../../../../node_modules/@types/node/vm.d.ts","../../../../node_modules/@types/node/wasi.d.ts","../../../../node_modules/@types/node/worker_threads.d.ts","../../../../node_modules/@types/node/zlib.d.ts","../../../../node_modules/@types/node/globals.global.d.ts","../../../../node_modules/@types/node/index.d.ts","../../../../node_modules/@types/bn.js/index.d.ts","../../../../node_modules/@types/chai/index.d.ts","../../../../node_modules/@types/chai-as-promised/index.d.ts","../../../../node_modules/@types/connect/index.d.ts","../../../../node_modules/@types/json5/index.d.ts","../../../../node_modules/@types/minimatch/index.d.ts","../../../../node_modules/@types/minimist/index.d.ts","../../../../node_modules/@types/mocha/index.d.ts","../../../../node_modules/@types/normalize-package-data/index.d.ts","../../../../node_modules/@types/parse-json/index.d.ts","../../../../node_modules/@types/pbkdf2/index.d.ts","../../../../node_modules/@types/secp256k1/index.d.ts","../../../../node_modules/@types/ws/index.d.ts"],"fileInfos":[{"version":"8730f4bf322026ff5229336391a18bcaa1f94d4f82416c8b2f3954e2ccaae2ba","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","4b421cbfb3a38a27c279dec1e9112c3d1da296f77a1a85ddadf7e7a425d45d18","1fc5ab7a764205c68fa10d381b08417795fc73111d6dd16b5b1ed36badb743d9",{"version":"adb996790133eb33b33aadb9c09f15c2c575e71fb57a62de8bf74dbf59ec7dfb","affectsGlobalScope":true},{"version":"8cc8c5a3bac513368b0157f3d8b31cfdcfe78b56d3724f30f80ed9715e404af8","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"c5c05907c02476e4bde6b7e76a79ffcd948aedd14b6a8f56e4674221b0417398","affectsGlobalScope":true},{"version":"5f406584aef28a331c36523df688ca3650288d14f39c5d2e555c95f0d2ff8f6f","affectsGlobalScope":true},{"version":"22f230e544b35349cfb3bd9110b6ef37b41c6d6c43c3314a31bd0d9652fcec72","affectsGlobalScope":true},{"version":"7ea0b55f6b315cf9ac2ad622b0a7813315bb6e97bf4bb3fbf8f8affbca7dc695","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"eb26de841c52236d8222f87e9e6a235332e0788af8c87a71e9e210314300410a","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"81cac4cbc92c0c839c70f8ffb94eb61e2d32dc1c3cf6d95844ca099463cf37ea","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true},{"version":"6e7997ef61de3132e4d4b2250e75343f487903ddf5370e7ce33cf1b9db9a63ed","affectsGlobalScope":true},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true},{"version":"5e5e095c4470c8bab227dbbc61374878ecead104c74ab9960d3adcccfee23205","affectsGlobalScope":true},{"version":"09aa50414b80c023553090e2f53827f007a301bc34b0495bfb2c3c08ab9ad1eb","affectsGlobalScope":true},{"version":"d7f680a43f8cd12a6b6122c07c54ba40952b0c8aa140dcfcf32eb9e6cb028596","affectsGlobalScope":true},{"version":"3787b83e297de7c315d55d4a7c546ae28e5f6c0a361b7a1dcec1f1f50a54ef11","affectsGlobalScope":true},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true},{"version":"2768ef564cfc0689a1b76106c421a2909bdff0acbe87da010785adab80efdd5c","affectsGlobalScope":true},{"version":"b248e32ca52e8f5571390a4142558ae4f203ae2f94d5bac38a3084d529ef4e58","affectsGlobalScope":true},{"version":"fb4416144c1bf0323ccbc9afb0ab289c07312214e8820ad17d709498c865a3fe","affectsGlobalScope":true},{"version":"52d1bb7ab7a3306fd0375c8bff560feed26ed676a5b0457fa8027b563aecb9a4","affectsGlobalScope":true},{"version":"4c49cc5572d80ef350f929108b067de4c4b1999a973e2e4bcfe930ae982db608","signature":"29133ef9e5680a6ec1b7b580e4233d15c63ab1cb95bb52aeede5410cdb6b8eb2"},{"version":"518d21775cd0d4f0b53d5d671f201eaedd6066e4fd3cbdc1431c964fa7d29155","signature":"c85a13b8665a866f6689467b7103786d30949468f25e20e168b43c5c70f55ffa"},{"version":"7fa8ab21c2bb00ee455d14225819d7500ff0af2a32385514346f54c5d4b35cf0","signature":"91fee60e7136d3e7a986d33f5a9b281a9ca120615ece0d58cc823af2a640bd03"},{"version":"e999f73e9109ef7f47afd0911ae1774810ea3b71735368578c6909db721da024","signature":"6660fedad551695604e38684d324129da4c3c6872b220ae7aa51f7e5acf0dd8d"},{"version":"88aa3c22a36ab723e8053a606ba2de363fd2b50a69878c64c61fec01da18341d","signature":"94d838936dbecf79b1b474bb95a110bbb267807c1662ffc28ee540abfb5c47eb"},{"version":"bb5cc4a171d18bd4c1eb7c98a3a435548b81839f71d0ad16cefe13658dbf633e","signature":"d84a5de837c7ac2b8b0955c7e12b3d6615949bf135fba9c79f48a40182f16488"},{"version":"2eb961423bb717b36ae6c89167574dc0a36a7469bd999bd088c854c11f481108","signature":"7e7d62fa024ea32b3e9bb2f0e97e200654e52b6a01513d06489d876ee0064c2c"},{"version":"d3fc1a478c7ee31a2c0900394e6531c6b0df5aa9395bdc601c83697a0c78b0f5","signature":"4ecc1ccb0bb5e43a48a6bae3314e125ca4a043424d2729982a71cdb943a66156"},"587f13f1e8157bd8cec0adda0de4ef558bb8573daa9d518d1e2af38e87ecc91f","a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a",{"version":"bce910d9164785c9f0d4dcea4be359f5f92130c7c7833dea6138ab1db310a1f9","affectsGlobalScope":true},"7a435e0c814f58f23e9a0979045ec0ef5909aac95a70986e8bcce30c27dff228",{"version":"c81c51f43e343b6d89114b17341fb9d381c4ccbb25e0ee77532376052c801ba7","affectsGlobalScope":true},"db71be322f07f769200108aa19b79a75dd19a187c9dca2a30c4537b233aa2863","57135ce61976a8b1dadd01bb412406d1805b90db6e8ecb726d0d78e0b5f76050",{"version":"49479e21a040c0177d1b1bc05a124c0383df7a08a0726ad4d9457619642e875a","affectsGlobalScope":true},"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","f302f3a47d7758f67f2afc753b9375d6504dde05d2e6ecdb1df50abbb131fc89","3690133deae19c8127c5505fcb67b04bdc9eb053796008538a9b9abbb70d85aa","5b1c0a23f464f894e7c2b2b6c56df7b9afa60ed48c5345f8618d389a636b2108","be2b092f2765222757c6441b86c53a5ea8dfed47bbc43eab4c5fe37942c866b3","8e6b05abc98adba15e1ac78e137c64576c74002e301d682e66feb77a23907ab8","1ca735bb3d407b2af4fbee7665f3a0a83be52168c728cc209755060ba7ed67bd",{"version":"6b526a5ec4a401ca7c26cfe6a48e641d8f30af76673bad3b06a1b4504594a960","affectsGlobalScope":true},{"version":"b85c02e14ecb2a873dad5a1de72319b265160ba48f1b83661aeb3bba1366c1bc","affectsGlobalScope":true},"7a2ba0c9af860ac3e77b35ed01fd96d15986f17aa22fe40f188ae556fb1070df","fc3764040518a1008dd04bdc80964591b566b896283e00df85c95851c1f46237","55709608060f77965c270ac10ac646286589f1bd1cb174fff1778a2dd9a7ef31","790623a47c5eda62910098884ecb154dc0e5f3a23fc36c1bfb3b5b9ed44e2c2d","42b40e40f2a358cda332456214fad311e1806a6abf3cebaaac72496e07556642","354612fe1d49ecc9551ea3a27d94eef2887b64ef4a71f72ca444efe0f2f0ba80",{"version":"ac0c77cd7db52b3c278bdd1452ce754014835493d05b84535f46854fdc2063b2","affectsGlobalScope":true},"b9f36877501f2ce0e276e993c93cd2cf325e78d0409ec4612b1eb9d6a537e60b","5e2b91328a540a0933ab5c2203f4358918e6f0fe7505d22840a891a6117735f1","3abc3512fa04aa0230f59ea1019311fd8667bd935d28306311dccc8b17e79d5d",{"version":"14a50dafe3f45713f7f27cb6320dff07c6ac31678f07959c2134260061bf91ff","affectsGlobalScope":true},{"version":"19da7150ca062323b1db6311a6ef058c9b0a39cc64d836b5e9b75d301869653b","affectsGlobalScope":true},"1349077576abb41f0e9c78ec30762ff75b710208aff77f5fdcc6a8c8ce6289dd","e2ce82603102b5c0563f59fb40314cc1ff95a4d521a66ad14146e130ea80d89c","a3e0395220255a350aa9c6d56f882bfcb5b85c19fddf5419ec822cf22246a26d","c27b01e8ddff5cd280711af5e13aecd9a3228d1c256ea797dd64f8fdec5f7df5","898840e876dfd21843db9f2aa6ae38ba2eab550eb780ff62b894b9fbfebfae6b","0cab4d7d4edc40cd3af9eea7c3ed6d1016910c0954c49c4297e479bf3822a625","1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff","785e5be57d4f20f290a20e7b0c6263f6c57fd6e51283050756cef07d6d651c68","44b8b584a338b190a59f4f6929d072431950c7bd92ec2694821c11bce180c8a5","164deb2409ac5f4da3cd139dbcee7f7d66753d90363a4d7e2db8d8874f272270",{"version":"ffc62d73b4fa10ca8c59f8802df88efefe447025730a24ee977b60adedc5bf37","affectsGlobalScope":true},{"version":"ab294c4b7279318ee2a8fdf681305457ecc05970c94108d304933f18823eeac1","affectsGlobalScope":true},"ad08154d9602429522cac965a715fde27d421d69b24756c5d291877dda75353e","5bc85813bfcb6907cc3a960fec8734a29d7884e0e372515147720c5991b8bc22","812b25f798033c202baedf386a1ccc41f9191b122f089bffd10fdccce99fba11","993325544790073f77e945bee046d53988c0bc3ac5695c9cf8098166feb82661",{"version":"75dd741ca6a6c8d2437a6ca8349b64b816421dbf9fe82dd026afaba965576962","affectsGlobalScope":true},{"version":"0e08c360c9b5961ecb0537b703e253842b3ded53151ee07024148219b61a8baf","affectsGlobalScope":true},"2ce2210032ccaff7710e2abf6a722e62c54960458e73e356b6a365c93ab6ca66","92db194ef7d208d5e4b6242a3434573fd142a621ff996d84cc9dbba3553277d0","16a3080e885ed52d4017c902227a8d0d8daf723d062bec9e45627c6fdcd6699b",{"version":"0bd9543cd8fc0959c76fb8f4f5a26626c2ed62ef4be98fd857bce268066db0a2","affectsGlobalScope":true},"1ca6858a0cbcd74d7db72d7b14c5360a928d1d16748a55ecfa6bfaff8b83071b",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"ebf3434b09c527078aa74139ff367fffa64fea32a01d6c06fb0a69b0ecadf43e","01f7828047b5c6703d3c601473618b448f5506a88fcac852638b0715c3abf4eb",{"version":"c3bc5d095c3c22fd20b5a6550b9c9a6d56c3ffbb87ef057ccce7764b6bed4428","affectsGlobalScope":true},{"version":"63e2182615c513e89bb8a3e749d08f7c379e86490fcdbf6d35f2c14b3507a6e8","affectsGlobalScope":true},"6d829824ead8999f87b6df21200df3c6150391b894b4e80662caa462bd48d073","96d14f21b7652903852eef49379d04dbda28c16ed36468f8c9fa08f7c14c9538","8841e2aa774b89bd23302dede20663306dc1b9902431ac64b24be8b8d0e3f649","209e814e8e71aec74f69686a9506dd7610b97ab59dcee9446266446f72a76d05",{"version":"3f6d6465811321abc30a1e5f667feed63e5b3917b3d6c8d6645daf96c75f97ba","affectsGlobalScope":true},"6fa0008bf91a4cc9c8963bace4bba0bd6865cbfa29c3e3ccc461155660fb113a","916be7d770b0ae0406be9486ac12eb9825f21514961dd050594c4b250617d5a8","a73a445c1e0a6d0f8b48e8eb22dc9d647896783a7f8991cbbc31c0d94bf1f5a2","3dce33e7eb25594863b8e615f14a45ab98190d85953436750644212d8a18c066","bc81aff061c53a7140270555f4b22da4ecfe8601e8027cf5aa175fbdc7927c31"],"options":{"allowSyntheticDefaultImports":true,"composite":true,"declaration":true,"declarationDir":"../../lib/types","declarationMap":true,"esModuleInterop":true,"module":99,"noEmitOnError":true,"outDir":"../../lib/esm","rootDir":"../../../../target/types","skipLibCheck":true,"sourceMap":true,"strict":false,"stripInternal":true,"target":99},"fileIdsList":[[97,104],[97,106],[97],[70,97,104],[51,97],[54,97],[55,60,88,97],[56,67,68,75,85,96,97],[56,57,67,75,97],[58,97],[59,60,68,76,97],[60,85,93,97],[61,63,67,75,97],[62,97],[63,64,97],[67,97],[65,67,97],[67,68,69,85,96,97],[67,68,69,82,85,88,97],[97,101],[63,67,70,75,85,96,97],[67,68,70,71,75,85,93,96,97],[70,72,85,93,96,97],[51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103],[67,73,97],[74,96,97],[63,67,75,85,97],[76,97],[77,97],[54,78,97],[79,95,97,101],[80,97],[81,97],[67,82,83,97],[82,84,97,99],[55,67,85,86,87,88,97],[55,85,87,97],[85,86,97],[88,97],[89,97],[85,97],[67,91,92,97],[91,92,97],[60,75,85,93,97],[94,97],[75,95,97],[55,70,81,96,97],[60,97],[85,97,98],[97,99],[97,100],[55,60,67,69,78,85,96,97,99,101],[85,97,102],[67,70,72,75,85,93,96,97,102,104]],"referencedMap":[[105,1],[107,2],[106,3],[108,4],[109,3],[110,3],[111,3],[112,3],[51,5],[52,5],[54,6],[55,7],[56,8],[57,9],[58,10],[59,11],[60,12],[61,13],[62,14],[63,15],[64,15],[66,16],[65,17],[67,16],[68,18],[69,19],[53,20],[103,3],[70,21],[71,22],[72,23],[104,24],[73,25],[74,26],[75,27],[76,28],[77,29],[78,30],[79,31],[80,32],[81,33],[82,34],[83,34],[84,35],[85,36],[87,37],[86,38],[88,39],[89,40],[90,41],[91,42],[92,43],[93,44],[94,45],[95,46],[96,47],[97,48],[98,49],[99,50],[100,51],[101,52],[102,53],[113,3],[114,3],[115,1],[116,1],[117,54],[9,3],[8,3],[2,3],[10,3],[11,3],[12,3],[13,3],[14,3],[15,3],[16,3],[17,3],[3,3],[4,3],[21,3],[18,3],[19,3],[20,3],[22,3],[23,3],[24,3],[5,3],[25,3],[26,3],[27,3],[28,3],[6,3],[32,3],[29,3],[30,3],[31,3],[33,3],[7,3],[34,3],[39,3],[40,3],[35,3],[36,3],[37,3],[38,3],[41,3],[1,3],[42,3],[43,3],[44,3],[45,3],[46,3],[47,3],[48,3],[49,3],[50,3]],"exportedModulesMap":[[105,1],[107,2],[106,3],[108,4],[109,3],[110,3],[111,3],[112,3],[51,5],[52,5],[54,6],[55,7],[56,8],[57,9],[58,10],[59,11],[60,12],[61,13],[62,14],[63,15],[64,15],[66,16],[65,17],[67,16],[68,18],[69,19],[53,20],[103,3],[70,21],[71,22],[72,23],[104,24],[73,25],[74,26],[75,27],[76,28],[77,29],[78,30],[79,31],[80,32],[81,33],[82,34],[83,34],[84,35],[85,36],[87,37],[86,38],[88,39],[89,40],[90,41],[91,42],[92,43],[93,44],[94,45],[95,46],[96,47],[97,48],[98,49],[99,50],[100,51],[101,52],[102,53],[113,3],[114,3],[115,1],[116,1],[117,54],[9,3],[8,3],[2,3],[10,3],[11,3],[12,3],[13,3],[14,3],[15,3],[16,3],[17,3],[3,3],[4,3],[21,3],[18,3],[19,3],[20,3],[22,3],[23,3],[24,3],[5,3],[25,3],[26,3],[27,3],[28,3],[6,3],[32,3],[29,3],[30,3],[31,3],[33,3],[7,3],[34,3],[39,3],[40,3],[35,3],[36,3],[37,3],[38,3],[41,3],[1,3],[42,3]],"semanticDiagnosticsPerFile":[105,107,106,108,109,110,111,112,51,52,54,55,56,57,58,59,60,61,62,63,64,66,65,67,68,69,53,103,70,71,72,104,73,74,75,76,77,78,79,80,81,82,83,84,85,87,86,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,113,114,115,116,117,9,8,2,10,11,12,13,14,15,16,17,3,4,21,18,19,20,22,23,24,5,25,26,27,28,6,32,29,30,31,33,7,34,39,40,35,36,37,38,41,1,42,43,44,45,46,47,48,49,50],"latestChangedDtsFile":"../../lib/types/vote_hook_interface.d.ts"},"version":"4.9.5"} \ No newline at end of file diff --git a/packages/nft-proxy-sdk/CHANGELOG.md b/packages/nft-proxy-sdk/CHANGELOG.md index feddf32..5269136 100644 --- a/packages/nft-proxy-sdk/CHANGELOG.md +++ b/packages/nft-proxy-sdk/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.0.12](https://github.com/helium/modular-governance/compare/v0.0.10...v0.0.12) (2024-08-12) + +**Note:** Version bump only for package @helium/nft-proxy-sdk + + + + + ## [0.0.9](https://github.com/helium/modular-governance/compare/v0.0.8...v0.0.9) (2023-11-14) **Note:** Version bump only for package @helium/nft-proxy-sdk diff --git a/packages/nft-proxy-sdk/package.json b/packages/nft-proxy-sdk/package.json index b87b375..16bd5a4 100644 --- a/packages/nft-proxy-sdk/package.json +++ b/packages/nft-proxy-sdk/package.json @@ -5,7 +5,7 @@ "registry": "https://registry.npmjs.org/" }, "license": "Apache-2.0", - "version": "0.0.10", + "version": "0.0.12", "description": "Interface to the nft proxy smart contract", "repository": { "type": "git", diff --git a/packages/nft-voter-sdk/CHANGELOG.md b/packages/nft-voter-sdk/CHANGELOG.md index 4245554..ae5753f 100644 --- a/packages/nft-voter-sdk/CHANGELOG.md +++ b/packages/nft-voter-sdk/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.0.12](https://github.com/helium/modular-governance/compare/v0.0.10...v0.0.12) (2024-08-12) + +**Note:** Version bump only for package @helium/nft-voter-sdk + + + + + ## [0.0.11](https://github.com/helium/modular-governance/compare/v0.0.10...v0.0.11) (2024-06-17) **Note:** Version bump only for package @helium/nft-voter-sdk diff --git a/packages/nft-voter-sdk/package.json b/packages/nft-voter-sdk/package.json index 154d2aa..f6bfb1f 100644 --- a/packages/nft-voter-sdk/package.json +++ b/packages/nft-voter-sdk/package.json @@ -5,7 +5,7 @@ "registry": "https://registry.npmjs.org/" }, "license": "Apache-2.0", - "version": "0.0.11", + "version": "0.0.12", "description": "Interface to the nft voter smart contract", "repository": { "type": "git", @@ -33,8 +33,8 @@ "dependencies": { "@coral-xyz/anchor": "^0.28.0", "@helium/anchor-resolvers": "^0.5.0", - "@helium/modular-governance-idls": "^0.0.11", - "@helium/nft-proxy-sdk": "^0.0.10", + "@helium/modular-governance-idls": "^0.0.12", + "@helium/nft-proxy-sdk": "^0.0.12", "@solana/spl-token": "^0.3.8" }, "devDependencies": { diff --git a/packages/organization-sdk/CHANGELOG.md b/packages/organization-sdk/CHANGELOG.md index f118a42..3d09168 100644 --- a/packages/organization-sdk/CHANGELOG.md +++ b/packages/organization-sdk/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.0.12](https://github.com/helium/modular-governance/compare/v0.0.10...v0.0.12) (2024-08-12) + +**Note:** Version bump only for package @helium/organization-sdk + + + + + ## [0.0.11](https://github.com/helium/modular-governance/compare/v0.0.10...v0.0.11) (2024-06-17) **Note:** Version bump only for package @helium/organization-sdk diff --git a/packages/organization-sdk/package.json b/packages/organization-sdk/package.json index e6f1ff1..822a48e 100644 --- a/packages/organization-sdk/package.json +++ b/packages/organization-sdk/package.json @@ -5,7 +5,7 @@ "registry": "https://registry.npmjs.org/" }, "license": "Apache-2.0", - "version": "0.0.11", + "version": "0.0.12", "description": "Interface to the organization smart contract", "repository": { "type": "git", @@ -33,8 +33,8 @@ "dependencies": { "@coral-xyz/anchor": "^0.28.0", "@helium/anchor-resolvers": "^0.5.0", - "@helium/modular-governance-idls": "^0.0.11", - "@helium/proposal-sdk": "^0.0.11" + "@helium/modular-governance-idls": "^0.0.12", + "@helium/proposal-sdk": "^0.0.12" }, "devDependencies": { "git-format-staged": "^2.1.3", diff --git a/packages/organization-wallet-sdk/CHANGELOG.md b/packages/organization-wallet-sdk/CHANGELOG.md index be81352..8930b6a 100644 --- a/packages/organization-wallet-sdk/CHANGELOG.md +++ b/packages/organization-wallet-sdk/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.0.12](https://github.com/helium/modular-governance/compare/v0.0.10...v0.0.12) (2024-08-12) + +**Note:** Version bump only for package @helium/organization-wallet-sdk + + + + + ## [0.0.11](https://github.com/helium/modular-governance/compare/v0.0.10...v0.0.11) (2024-06-17) **Note:** Version bump only for package @helium/organization-wallet-sdk diff --git a/packages/organization-wallet-sdk/package.json b/packages/organization-wallet-sdk/package.json index ca5d3da..29be0d5 100644 --- a/packages/organization-wallet-sdk/package.json +++ b/packages/organization-wallet-sdk/package.json @@ -5,7 +5,7 @@ "registry": "https://registry.npmjs.org/" }, "license": "Apache-2.0", - "version": "0.0.11", + "version": "0.0.12", "description": "Interface to the organization wallet smart contract", "repository": { "type": "git", @@ -33,8 +33,8 @@ "dependencies": { "@coral-xyz/anchor": "^0.28.0", "@helium/anchor-resolvers": "^0.5.0", - "@helium/modular-governance-idls": "^0.0.11", - "@helium/proposal-sdk": "^0.0.11" + "@helium/modular-governance-idls": "^0.0.12", + "@helium/proposal-sdk": "^0.0.12" }, "devDependencies": { "git-format-staged": "^2.1.3", diff --git a/packages/proposal-sdk/CHANGELOG.md b/packages/proposal-sdk/CHANGELOG.md index 6ea2649..9993789 100644 --- a/packages/proposal-sdk/CHANGELOG.md +++ b/packages/proposal-sdk/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.0.12](https://github.com/helium/modular-governance/compare/v0.0.10...v0.0.12) (2024-08-12) + +**Note:** Version bump only for package @helium/proposal-sdk + + + + + ## [0.0.11](https://github.com/helium/modular-governance/compare/v0.0.10...v0.0.11) (2024-06-17) **Note:** Version bump only for package @helium/proposal-sdk diff --git a/packages/proposal-sdk/package.json b/packages/proposal-sdk/package.json index e4c599d..db3d355 100644 --- a/packages/proposal-sdk/package.json +++ b/packages/proposal-sdk/package.json @@ -5,7 +5,7 @@ "registry": "https://registry.npmjs.org/" }, "license": "Apache-2.0", - "version": "0.0.11", + "version": "0.0.12", "description": "Interface to the proposal smart contract", "repository": { "type": "git", @@ -33,7 +33,7 @@ "dependencies": { "@coral-xyz/anchor": "^0.28.0", "@helium/anchor-resolvers": "^0.5.0", - "@helium/modular-governance-idls": "^0.0.11" + "@helium/modular-governance-idls": "^0.0.12" }, "devDependencies": { "git-format-staged": "^2.1.3", diff --git a/packages/state-controller-sdk/CHANGELOG.md b/packages/state-controller-sdk/CHANGELOG.md index a5c04cd..186ce3f 100644 --- a/packages/state-controller-sdk/CHANGELOG.md +++ b/packages/state-controller-sdk/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.0.12](https://github.com/helium/modular-governance/compare/v0.0.10...v0.0.12) (2024-08-12) + +**Note:** Version bump only for package @helium/state-controller-sdk + + + + + ## [0.0.11](https://github.com/helium/modular-governance/compare/v0.0.10...v0.0.11) (2024-06-17) **Note:** Version bump only for package @helium/state-controller-sdk diff --git a/packages/state-controller-sdk/package.json b/packages/state-controller-sdk/package.json index c62f464..b149f0b 100644 --- a/packages/state-controller-sdk/package.json +++ b/packages/state-controller-sdk/package.json @@ -5,7 +5,7 @@ "registry": "https://registry.npmjs.org/" }, "license": "Apache-2.0", - "version": "0.0.11", + "version": "0.0.12", "description": "Interface to the state controller smart contract", "repository": { "type": "git", @@ -33,7 +33,7 @@ "dependencies": { "@coral-xyz/anchor": "^0.28.0", "@helium/anchor-resolvers": "^0.5.0", - "@helium/modular-governance-idls": "^0.0.11" + "@helium/modular-governance-idls": "^0.0.12" }, "devDependencies": { "git-format-staged": "^2.1.3", diff --git a/packages/token-voter-sdk/CHANGELOG.md b/packages/token-voter-sdk/CHANGELOG.md index 7b358f7..996240e 100644 --- a/packages/token-voter-sdk/CHANGELOG.md +++ b/packages/token-voter-sdk/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.0.12](https://github.com/helium/modular-governance/compare/v0.0.10...v0.0.12) (2024-08-12) + +**Note:** Version bump only for package @helium/token-voter-sdk + + + + + ## [0.0.11](https://github.com/helium/modular-governance/compare/v0.0.10...v0.0.11) (2024-06-17) **Note:** Version bump only for package @helium/token-voter-sdk diff --git a/packages/token-voter-sdk/package.json b/packages/token-voter-sdk/package.json index 9949404..7ec2a6b 100644 --- a/packages/token-voter-sdk/package.json +++ b/packages/token-voter-sdk/package.json @@ -5,7 +5,7 @@ "registry": "https://registry.npmjs.org/" }, "license": "Apache-2.0", - "version": "0.0.11", + "version": "0.0.12", "description": "Interface to the token voter smart contract", "repository": { "type": "git", @@ -33,7 +33,7 @@ "dependencies": { "@coral-xyz/anchor": "^0.28.0", "@helium/anchor-resolvers": "^0.5.0", - "@helium/modular-governance-idls": "^0.0.11", + "@helium/modular-governance-idls": "^0.0.12", "@solana/spl-token": "^0.3.8" }, "devDependencies": { diff --git a/yarn.lock b/yarn.lock index fb35880..c1363be 100644 --- a/yarn.lock +++ b/yarn.lock @@ -543,8 +543,8 @@ resolved "https://registry.yarnpkg.com/@helium/anchor-resolvers/-/anchor-resolvers-0.2.21.tgz#8cd13bca3e7af83ffff3ab754dcf9f788d26e57e" integrity sha512-rz3GJaULGmokjrq63v4sy683PMUkL31jrK5wVX01tzCYbI1woC9vISoPd3oSSuauZqQXdBhhQ49GKrpzi49JbA== dependencies: - "@solana/spl-token" "^0.3.8" - "@solana/web3.js" "^1.78.4" + "@solana/spl-token" "^0.3.6" + "@solana/web3.js" "^1.43.4" "@helium/anchor-resolvers@^0.4.3": version "0.4.3" @@ -576,6 +576,14 @@ pako "^2.0.3" react-async-hook "^4.0.0" +"@helium/modular-governance-idls@^0.0.10": + version "0.0.10" + resolved "https://registry.yarnpkg.com/@helium/modular-governance-idls/-/modular-governance-idls-0.0.10.tgz#8384cdca7c44949cbe33c776b44cca668a704315" + integrity sha512-fMDYhCnU18uCKzkeD8pFED3ubkKzeqw58EUZt7Qk4mxWQGM4KJ3qd1L9dp5jh9F4pVWohZ2d5EK5VqakC8JVGg== + dependencies: + "@coral-xyz/anchor" "^0.28.0" + "@solana/web3.js" "^1.78.4" + "@helium/spl-utils@^0.4.3": version "0.4.3" resolved "https://registry.yarnpkg.com/@helium/spl-utils/-/spl-utils-0.4.3.tgz#9da76c006182e1e8a356234e6c583b1b09a733ed" @@ -2789,15 +2797,6 @@ axios@^1.5.0: form-data "^4.0.0" proxy-from-env "^1.1.0" -axios@^1.5.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/axios/-/axios-1.6.0.tgz#f1e5292f26b2fd5c2e66876adc5b06cdbd7d2102" - integrity sha512-EZ1DYihju9pwVB+jg67ogm+Tmqc6JmhamRN6I4Zt8DfZu5lbcQGw3ozH9lFejSJgs/ibaef3A9PMXPLeefFGJg== - dependencies: - follow-redirects "^1.15.0" - form-data "^4.0.0" - proxy-from-env "^1.1.0" - axobject-query@^3.1.1: version "3.2.1" resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-3.2.1.tgz#39c378a6e3b06ca679f29138151e45b2b32da62a" From b6f50ec9e1ef5e365a15ba7f38fb480cfcd8f762 Mon Sep 17 00:00:00 2001 From: Noah Prince Date: Fri, 6 Sep 2024 09:21:25 -0700 Subject: [PATCH 12/25] Fix mod gov package.json --- packages/modular-governance-idls/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/modular-governance-idls/package.json b/packages/modular-governance-idls/package.json index 201f84f..13f03c3 100644 --- a/packages/modular-governance-idls/package.json +++ b/packages/modular-governance-idls/package.json @@ -16,7 +16,7 @@ "lib" ], "exports": { - "./*": "./lib/esm/*" + "./*": "./*" }, "scripts": { "format": "prettier --write \"src/**/*.{ts,tsx}\"", From 21a23ba16b63cf2a7b179042127ccb291d9da773 Mon Sep 17 00:00:00 2001 From: Noah Prince Date: Fri, 6 Sep 2024 09:21:58 -0700 Subject: [PATCH 13/25] chore(release): publish 0.0.13 --- CHANGELOG.md | 8 ++++++++ lerna.json | 2 +- packages/docsite/CHANGELOG.md | 8 ++++++++ packages/docsite/package.json | 2 +- packages/modular-governance-hooks/CHANGELOG.md | 8 ++++++++ packages/modular-governance-hooks/package.json | 6 +++--- packages/modular-governance-idls/CHANGELOG.md | 8 ++++++++ packages/modular-governance-idls/package.json | 2 +- packages/nft-proxy-sdk/CHANGELOG.md | 8 ++++++++ packages/nft-proxy-sdk/package.json | 2 +- packages/nft-voter-sdk/CHANGELOG.md | 8 ++++++++ packages/nft-voter-sdk/package.json | 6 +++--- packages/organization-sdk/CHANGELOG.md | 8 ++++++++ packages/organization-sdk/package.json | 6 +++--- packages/organization-wallet-sdk/CHANGELOG.md | 8 ++++++++ packages/organization-wallet-sdk/package.json | 6 +++--- packages/proposal-sdk/CHANGELOG.md | 8 ++++++++ packages/proposal-sdk/package.json | 4 ++-- packages/state-controller-sdk/CHANGELOG.md | 8 ++++++++ packages/state-controller-sdk/package.json | 4 ++-- packages/token-voter-sdk/CHANGELOG.md | 8 ++++++++ packages/token-voter-sdk/package.json | 4 ++-- 22 files changed, 110 insertions(+), 22 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index fe64458..0b04647 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.0.13](https://github.com/helium/modular-governance/compare/v0.0.12...v0.0.13) (2024-09-06) + +**Note:** Version bump only for package modular-governance + + + + + ## [0.0.12](https://github.com/helium/modular-governance/compare/v0.0.10...v0.0.12) (2024-08-12) diff --git a/lerna.json b/lerna.json index 1839076..1ff5f00 100644 --- a/lerna.json +++ b/lerna.json @@ -4,5 +4,5 @@ "packages/*" ], "useWorkspaces": true, - "version": "0.0.12" + "version": "0.0.13" } diff --git a/packages/docsite/CHANGELOG.md b/packages/docsite/CHANGELOG.md index 68751c4..803bfd5 100644 --- a/packages/docsite/CHANGELOG.md +++ b/packages/docsite/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.0.13](https://github.com/helium/modular-governance/compare/v0.0.12...v0.0.13) (2024-09-06) + +**Note:** Version bump only for package governance-docs + + + + + ## [0.0.12](https://github.com/helium/modular-governance/compare/v0.0.10...v0.0.12) (2024-08-12) diff --git a/packages/docsite/package.json b/packages/docsite/package.json index 1471aa8..4586957 100644 --- a/packages/docsite/package.json +++ b/packages/docsite/package.json @@ -1,6 +1,6 @@ { "name": "governance-docs", - "version": "0.0.12", + "version": "0.0.13", "private": true, "scripts": { "dev": "next dev", diff --git a/packages/modular-governance-hooks/CHANGELOG.md b/packages/modular-governance-hooks/CHANGELOG.md index 25f812e..1216c73 100644 --- a/packages/modular-governance-hooks/CHANGELOG.md +++ b/packages/modular-governance-hooks/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.0.13](https://github.com/helium/modular-governance/compare/v0.0.12...v0.0.13) (2024-09-06) + +**Note:** Version bump only for package @helium/modular-governance-hooks + + + + + ## [0.0.12](https://github.com/helium/modular-governance/compare/v0.0.10...v0.0.12) (2024-08-12) **Note:** Version bump only for package @helium/modular-governance-hooks diff --git a/packages/modular-governance-hooks/package.json b/packages/modular-governance-hooks/package.json index 3571d3c..f75c3a3 100644 --- a/packages/modular-governance-hooks/package.json +++ b/packages/modular-governance-hooks/package.json @@ -6,7 +6,7 @@ "registry": "https://registry.npmjs.org/" }, "license": "Apache-2.0", - "version": "0.0.12", + "version": "0.0.13", "description": "React hooks for modular governance", "repository": { "type": "git", @@ -36,8 +36,8 @@ "@helium/account-fetch-cache": "^0.5.0", "@helium/account-fetch-cache-hooks": "^0.5.0", "@helium/helium-react-hooks": "^0.5.0", - "@helium/modular-governance-idls": "^0.0.12", - "@helium/organization-sdk": "^0.0.12", + "@helium/modular-governance-idls": "^0.0.13", + "@helium/organization-sdk": "^0.0.13", "@solana/web3.js": "^1.78.4" }, "devDependencies": { diff --git a/packages/modular-governance-idls/CHANGELOG.md b/packages/modular-governance-idls/CHANGELOG.md index a09ee48..ed879f8 100644 --- a/packages/modular-governance-idls/CHANGELOG.md +++ b/packages/modular-governance-idls/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.0.13](https://github.com/helium/modular-governance/compare/v0.0.12...v0.0.13) (2024-09-06) + +**Note:** Version bump only for package @helium/modular-governance-idls + + + + + ## [0.0.12](https://github.com/helium/modular-governance/compare/v0.0.10...v0.0.12) (2024-08-12) **Note:** Version bump only for package @helium/modular-governance-idls diff --git a/packages/modular-governance-idls/package.json b/packages/modular-governance-idls/package.json index 13f03c3..91737fd 100644 --- a/packages/modular-governance-idls/package.json +++ b/packages/modular-governance-idls/package.json @@ -1,6 +1,6 @@ { "name": "@helium/modular-governance-idls", - "version": "0.0.12", + "version": "0.0.13", "description": "Exported idls", "publishConfig": { "access": "public", diff --git a/packages/nft-proxy-sdk/CHANGELOG.md b/packages/nft-proxy-sdk/CHANGELOG.md index 5269136..2f3c931 100644 --- a/packages/nft-proxy-sdk/CHANGELOG.md +++ b/packages/nft-proxy-sdk/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.0.13](https://github.com/helium/modular-governance/compare/v0.0.12...v0.0.13) (2024-09-06) + +**Note:** Version bump only for package @helium/nft-proxy-sdk + + + + + ## [0.0.12](https://github.com/helium/modular-governance/compare/v0.0.10...v0.0.12) (2024-08-12) **Note:** Version bump only for package @helium/nft-proxy-sdk diff --git a/packages/nft-proxy-sdk/package.json b/packages/nft-proxy-sdk/package.json index 16bd5a4..519a29b 100644 --- a/packages/nft-proxy-sdk/package.json +++ b/packages/nft-proxy-sdk/package.json @@ -5,7 +5,7 @@ "registry": "https://registry.npmjs.org/" }, "license": "Apache-2.0", - "version": "0.0.12", + "version": "0.0.13", "description": "Interface to the nft proxy smart contract", "repository": { "type": "git", diff --git a/packages/nft-voter-sdk/CHANGELOG.md b/packages/nft-voter-sdk/CHANGELOG.md index ae5753f..fe17e79 100644 --- a/packages/nft-voter-sdk/CHANGELOG.md +++ b/packages/nft-voter-sdk/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.0.13](https://github.com/helium/modular-governance/compare/v0.0.12...v0.0.13) (2024-09-06) + +**Note:** Version bump only for package @helium/nft-voter-sdk + + + + + ## [0.0.12](https://github.com/helium/modular-governance/compare/v0.0.10...v0.0.12) (2024-08-12) **Note:** Version bump only for package @helium/nft-voter-sdk diff --git a/packages/nft-voter-sdk/package.json b/packages/nft-voter-sdk/package.json index f6bfb1f..23564a0 100644 --- a/packages/nft-voter-sdk/package.json +++ b/packages/nft-voter-sdk/package.json @@ -5,7 +5,7 @@ "registry": "https://registry.npmjs.org/" }, "license": "Apache-2.0", - "version": "0.0.12", + "version": "0.0.13", "description": "Interface to the nft voter smart contract", "repository": { "type": "git", @@ -33,8 +33,8 @@ "dependencies": { "@coral-xyz/anchor": "^0.28.0", "@helium/anchor-resolvers": "^0.5.0", - "@helium/modular-governance-idls": "^0.0.12", - "@helium/nft-proxy-sdk": "^0.0.12", + "@helium/modular-governance-idls": "^0.0.13", + "@helium/nft-proxy-sdk": "^0.0.13", "@solana/spl-token": "^0.3.8" }, "devDependencies": { diff --git a/packages/organization-sdk/CHANGELOG.md b/packages/organization-sdk/CHANGELOG.md index 3d09168..df13737 100644 --- a/packages/organization-sdk/CHANGELOG.md +++ b/packages/organization-sdk/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.0.13](https://github.com/helium/modular-governance/compare/v0.0.12...v0.0.13) (2024-09-06) + +**Note:** Version bump only for package @helium/organization-sdk + + + + + ## [0.0.12](https://github.com/helium/modular-governance/compare/v0.0.10...v0.0.12) (2024-08-12) **Note:** Version bump only for package @helium/organization-sdk diff --git a/packages/organization-sdk/package.json b/packages/organization-sdk/package.json index 822a48e..e434350 100644 --- a/packages/organization-sdk/package.json +++ b/packages/organization-sdk/package.json @@ -5,7 +5,7 @@ "registry": "https://registry.npmjs.org/" }, "license": "Apache-2.0", - "version": "0.0.12", + "version": "0.0.13", "description": "Interface to the organization smart contract", "repository": { "type": "git", @@ -33,8 +33,8 @@ "dependencies": { "@coral-xyz/anchor": "^0.28.0", "@helium/anchor-resolvers": "^0.5.0", - "@helium/modular-governance-idls": "^0.0.12", - "@helium/proposal-sdk": "^0.0.12" + "@helium/modular-governance-idls": "^0.0.13", + "@helium/proposal-sdk": "^0.0.13" }, "devDependencies": { "git-format-staged": "^2.1.3", diff --git a/packages/organization-wallet-sdk/CHANGELOG.md b/packages/organization-wallet-sdk/CHANGELOG.md index 8930b6a..f40b2c0 100644 --- a/packages/organization-wallet-sdk/CHANGELOG.md +++ b/packages/organization-wallet-sdk/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.0.13](https://github.com/helium/modular-governance/compare/v0.0.12...v0.0.13) (2024-09-06) + +**Note:** Version bump only for package @helium/organization-wallet-sdk + + + + + ## [0.0.12](https://github.com/helium/modular-governance/compare/v0.0.10...v0.0.12) (2024-08-12) **Note:** Version bump only for package @helium/organization-wallet-sdk diff --git a/packages/organization-wallet-sdk/package.json b/packages/organization-wallet-sdk/package.json index 29be0d5..51e87c8 100644 --- a/packages/organization-wallet-sdk/package.json +++ b/packages/organization-wallet-sdk/package.json @@ -5,7 +5,7 @@ "registry": "https://registry.npmjs.org/" }, "license": "Apache-2.0", - "version": "0.0.12", + "version": "0.0.13", "description": "Interface to the organization wallet smart contract", "repository": { "type": "git", @@ -33,8 +33,8 @@ "dependencies": { "@coral-xyz/anchor": "^0.28.0", "@helium/anchor-resolvers": "^0.5.0", - "@helium/modular-governance-idls": "^0.0.12", - "@helium/proposal-sdk": "^0.0.12" + "@helium/modular-governance-idls": "^0.0.13", + "@helium/proposal-sdk": "^0.0.13" }, "devDependencies": { "git-format-staged": "^2.1.3", diff --git a/packages/proposal-sdk/CHANGELOG.md b/packages/proposal-sdk/CHANGELOG.md index 9993789..6fee964 100644 --- a/packages/proposal-sdk/CHANGELOG.md +++ b/packages/proposal-sdk/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.0.13](https://github.com/helium/modular-governance/compare/v0.0.12...v0.0.13) (2024-09-06) + +**Note:** Version bump only for package @helium/proposal-sdk + + + + + ## [0.0.12](https://github.com/helium/modular-governance/compare/v0.0.10...v0.0.12) (2024-08-12) **Note:** Version bump only for package @helium/proposal-sdk diff --git a/packages/proposal-sdk/package.json b/packages/proposal-sdk/package.json index db3d355..f8cf5b0 100644 --- a/packages/proposal-sdk/package.json +++ b/packages/proposal-sdk/package.json @@ -5,7 +5,7 @@ "registry": "https://registry.npmjs.org/" }, "license": "Apache-2.0", - "version": "0.0.12", + "version": "0.0.13", "description": "Interface to the proposal smart contract", "repository": { "type": "git", @@ -33,7 +33,7 @@ "dependencies": { "@coral-xyz/anchor": "^0.28.0", "@helium/anchor-resolvers": "^0.5.0", - "@helium/modular-governance-idls": "^0.0.12" + "@helium/modular-governance-idls": "^0.0.13" }, "devDependencies": { "git-format-staged": "^2.1.3", diff --git a/packages/state-controller-sdk/CHANGELOG.md b/packages/state-controller-sdk/CHANGELOG.md index 186ce3f..e98ce91 100644 --- a/packages/state-controller-sdk/CHANGELOG.md +++ b/packages/state-controller-sdk/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.0.13](https://github.com/helium/modular-governance/compare/v0.0.12...v0.0.13) (2024-09-06) + +**Note:** Version bump only for package @helium/state-controller-sdk + + + + + ## [0.0.12](https://github.com/helium/modular-governance/compare/v0.0.10...v0.0.12) (2024-08-12) **Note:** Version bump only for package @helium/state-controller-sdk diff --git a/packages/state-controller-sdk/package.json b/packages/state-controller-sdk/package.json index b149f0b..aef9dc4 100644 --- a/packages/state-controller-sdk/package.json +++ b/packages/state-controller-sdk/package.json @@ -5,7 +5,7 @@ "registry": "https://registry.npmjs.org/" }, "license": "Apache-2.0", - "version": "0.0.12", + "version": "0.0.13", "description": "Interface to the state controller smart contract", "repository": { "type": "git", @@ -33,7 +33,7 @@ "dependencies": { "@coral-xyz/anchor": "^0.28.0", "@helium/anchor-resolvers": "^0.5.0", - "@helium/modular-governance-idls": "^0.0.12" + "@helium/modular-governance-idls": "^0.0.13" }, "devDependencies": { "git-format-staged": "^2.1.3", diff --git a/packages/token-voter-sdk/CHANGELOG.md b/packages/token-voter-sdk/CHANGELOG.md index 996240e..d3ed73a 100644 --- a/packages/token-voter-sdk/CHANGELOG.md +++ b/packages/token-voter-sdk/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.0.13](https://github.com/helium/modular-governance/compare/v0.0.12...v0.0.13) (2024-09-06) + +**Note:** Version bump only for package @helium/token-voter-sdk + + + + + ## [0.0.12](https://github.com/helium/modular-governance/compare/v0.0.10...v0.0.12) (2024-08-12) **Note:** Version bump only for package @helium/token-voter-sdk diff --git a/packages/token-voter-sdk/package.json b/packages/token-voter-sdk/package.json index 7ec2a6b..419cbef 100644 --- a/packages/token-voter-sdk/package.json +++ b/packages/token-voter-sdk/package.json @@ -5,7 +5,7 @@ "registry": "https://registry.npmjs.org/" }, "license": "Apache-2.0", - "version": "0.0.12", + "version": "0.0.13", "description": "Interface to the token voter smart contract", "repository": { "type": "git", @@ -33,7 +33,7 @@ "dependencies": { "@coral-xyz/anchor": "^0.28.0", "@helium/anchor-resolvers": "^0.5.0", - "@helium/modular-governance-idls": "^0.0.12", + "@helium/modular-governance-idls": "^0.0.13", "@solana/spl-token": "^0.3.8" }, "devDependencies": { From 678073c5e3b1ddbe0a61df056432d0fcee5eb3ae Mon Sep 17 00:00:00 2001 From: Noah Prince Date: Fri, 6 Sep 2024 09:30:45 -0700 Subject: [PATCH 14/25] Bump version --- .../docsite/src/pages/docs/api/nft-voter-sdk.md | 6 +++--- .../docsite/src/pages/docs/api/proposal-sdk.md | 14 +++++++------- .../src/pages/docs/api/state-controller-sdk.md | 4 ++-- .../tsconfig.esm.tsbuildinfo | 2 +- 4 files changed, 13 insertions(+), 13 deletions(-) diff --git a/packages/docsite/src/pages/docs/api/nft-voter-sdk.md b/packages/docsite/src/pages/docs/api/nft-voter-sdk.md index f7e3b84..3097bff 100644 --- a/packages/docsite/src/pages/docs/api/nft-voter-sdk.md +++ b/packages/docsite/src/pages/docs/api/nft-voter-sdk.md @@ -216,9 +216,9 @@ If you are looking for a quick start guide, check out the [Getting Started](/doc ### ProgrammableConfig -| Variant | Fields | -| ------- | ------------------------ | -| V1 | ruleSet: [object Object] | +| Variant | Fields | +| ------- | ------------------------- | +| V1 | rule_set: [object Object] | ### UseMethod diff --git a/packages/docsite/src/pages/docs/api/proposal-sdk.md b/packages/docsite/src/pages/docs/api/proposal-sdk.md index de0e216..f19a69f 100644 --- a/packages/docsite/src/pages/docs/api/proposal-sdk.md +++ b/packages/docsite/src/pages/docs/api/proposal-sdk.md @@ -185,10 +185,10 @@ If you are looking for a quick start guide, check out the [Getting Started](/doc ### ProposalState -| Variant | Fields | -| --------- | ------------------------------------ | -| Draft | | -| Cancelled | | -| Voting | startTs: i64 | -| Resolved | choices: [object Object], endTs: i64 | -| Custom | name: string, bin: bytes | +| Variant | Fields | +| --------- | ------------------------------------- | +| Draft | | +| Cancelled | | +| Voting | start_ts: i64 | +| Resolved | choices: [object Object], end_ts: i64 | +| Custom | name: string, bin: bytes | diff --git a/packages/docsite/src/pages/docs/api/state-controller-sdk.md b/packages/docsite/src/pages/docs/api/state-controller-sdk.md index e8e13d4..e10045d 100644 --- a/packages/docsite/src/pages/docs/api/state-controller-sdk.md +++ b/packages/docsite/src/pages/docs/api/state-controller-sdk.md @@ -127,9 +127,9 @@ If you are looking for a quick start guide, check out the [Getting Started](/doc | Variant | Fields | | ----------------- | ------------------------ | | Resolved | choices: [object Object] | -| EndTimestamp | endTs: i64 | +| EndTimestamp | end_ts: i64 | | OffsetFromStartTs | offset: i64 | -| ChoiceVoteWeight | weightThreshold: u128 | +| ChoiceVoteWeight | weight_threshold: u128 | | ChoicePercentage | percentage: i32 | | Top | n: u16 | | NumResolved | n: u16 | diff --git a/packages/modular-governance-idls/packages/modular-governance-idls/tsconfig.esm.tsbuildinfo b/packages/modular-governance-idls/packages/modular-governance-idls/tsconfig.esm.tsbuildinfo index cd27d9d..bb8b3e9 100644 --- a/packages/modular-governance-idls/packages/modular-governance-idls/tsconfig.esm.tsbuildinfo +++ b/packages/modular-governance-idls/packages/modular-governance-idls/tsconfig.esm.tsbuildinfo @@ -1 +1 @@ -{"program":{"fileNames":["../../../../node_modules/typescript/lib/lib.es5.d.ts","../../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../../target/types/nft_proxy.ts","../../../../target/types/nft_voter.ts","../../../../target/types/organization.ts","../../../../target/types/organization_wallet.ts","../../../../target/types/proposal.ts","../../../../target/types/state_controller.ts","../../../../target/types/token_voter.ts","../../../../target/types/vote_hook_interface.ts","../../../../node_modules/@types/node/assert.d.ts","../../../../node_modules/@types/node/assert/strict.d.ts","../../../../node_modules/@types/node/globals.d.ts","../../../../node_modules/@types/node/async_hooks.d.ts","../../../../node_modules/@types/node/buffer.d.ts","../../../../node_modules/@types/node/child_process.d.ts","../../../../node_modules/@types/node/cluster.d.ts","../../../../node_modules/@types/node/console.d.ts","../../../../node_modules/@types/node/constants.d.ts","../../../../node_modules/@types/node/crypto.d.ts","../../../../node_modules/@types/node/dgram.d.ts","../../../../node_modules/@types/node/diagnostics_channel.d.ts","../../../../node_modules/@types/node/dns.d.ts","../../../../node_modules/@types/node/dns/promises.d.ts","../../../../node_modules/@types/node/domain.d.ts","../../../../node_modules/@types/node/dom-events.d.ts","../../../../node_modules/@types/node/events.d.ts","../../../../node_modules/@types/node/fs.d.ts","../../../../node_modules/@types/node/fs/promises.d.ts","../../../../node_modules/@types/node/http.d.ts","../../../../node_modules/@types/node/http2.d.ts","../../../../node_modules/@types/node/https.d.ts","../../../../node_modules/@types/node/inspector.d.ts","../../../../node_modules/@types/node/module.d.ts","../../../../node_modules/@types/node/net.d.ts","../../../../node_modules/@types/node/os.d.ts","../../../../node_modules/@types/node/path.d.ts","../../../../node_modules/@types/node/perf_hooks.d.ts","../../../../node_modules/@types/node/process.d.ts","../../../../node_modules/@types/node/punycode.d.ts","../../../../node_modules/@types/node/querystring.d.ts","../../../../node_modules/@types/node/readline.d.ts","../../../../node_modules/@types/node/readline/promises.d.ts","../../../../node_modules/@types/node/repl.d.ts","../../../../node_modules/@types/node/stream.d.ts","../../../../node_modules/@types/node/stream/promises.d.ts","../../../../node_modules/@types/node/stream/consumers.d.ts","../../../../node_modules/@types/node/stream/web.d.ts","../../../../node_modules/@types/node/string_decoder.d.ts","../../../../node_modules/@types/node/test.d.ts","../../../../node_modules/@types/node/timers.d.ts","../../../../node_modules/@types/node/timers/promises.d.ts","../../../../node_modules/@types/node/tls.d.ts","../../../../node_modules/@types/node/trace_events.d.ts","../../../../node_modules/@types/node/tty.d.ts","../../../../node_modules/@types/node/url.d.ts","../../../../node_modules/@types/node/util.d.ts","../../../../node_modules/@types/node/v8.d.ts","../../../../node_modules/@types/node/vm.d.ts","../../../../node_modules/@types/node/wasi.d.ts","../../../../node_modules/@types/node/worker_threads.d.ts","../../../../node_modules/@types/node/zlib.d.ts","../../../../node_modules/@types/node/globals.global.d.ts","../../../../node_modules/@types/node/index.d.ts","../../../../node_modules/@types/bn.js/index.d.ts","../../../../node_modules/@types/chai/index.d.ts","../../../../node_modules/@types/chai-as-promised/index.d.ts","../../../../node_modules/@types/connect/index.d.ts","../../../../node_modules/@types/json5/index.d.ts","../../../../node_modules/@types/minimatch/index.d.ts","../../../../node_modules/@types/minimist/index.d.ts","../../../../node_modules/@types/mocha/index.d.ts","../../../../node_modules/@types/normalize-package-data/index.d.ts","../../../../node_modules/@types/parse-json/index.d.ts","../../../../node_modules/@types/pbkdf2/index.d.ts","../../../../node_modules/@types/secp256k1/index.d.ts","../../../../node_modules/@types/ws/index.d.ts"],"fileInfos":[{"version":"8730f4bf322026ff5229336391a18bcaa1f94d4f82416c8b2f3954e2ccaae2ba","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","4b421cbfb3a38a27c279dec1e9112c3d1da296f77a1a85ddadf7e7a425d45d18","1fc5ab7a764205c68fa10d381b08417795fc73111d6dd16b5b1ed36badb743d9",{"version":"adb996790133eb33b33aadb9c09f15c2c575e71fb57a62de8bf74dbf59ec7dfb","affectsGlobalScope":true},{"version":"8cc8c5a3bac513368b0157f3d8b31cfdcfe78b56d3724f30f80ed9715e404af8","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"c5c05907c02476e4bde6b7e76a79ffcd948aedd14b6a8f56e4674221b0417398","affectsGlobalScope":true},{"version":"5f406584aef28a331c36523df688ca3650288d14f39c5d2e555c95f0d2ff8f6f","affectsGlobalScope":true},{"version":"22f230e544b35349cfb3bd9110b6ef37b41c6d6c43c3314a31bd0d9652fcec72","affectsGlobalScope":true},{"version":"7ea0b55f6b315cf9ac2ad622b0a7813315bb6e97bf4bb3fbf8f8affbca7dc695","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"eb26de841c52236d8222f87e9e6a235332e0788af8c87a71e9e210314300410a","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"81cac4cbc92c0c839c70f8ffb94eb61e2d32dc1c3cf6d95844ca099463cf37ea","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true},{"version":"6e7997ef61de3132e4d4b2250e75343f487903ddf5370e7ce33cf1b9db9a63ed","affectsGlobalScope":true},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true},{"version":"5e5e095c4470c8bab227dbbc61374878ecead104c74ab9960d3adcccfee23205","affectsGlobalScope":true},{"version":"09aa50414b80c023553090e2f53827f007a301bc34b0495bfb2c3c08ab9ad1eb","affectsGlobalScope":true},{"version":"d7f680a43f8cd12a6b6122c07c54ba40952b0c8aa140dcfcf32eb9e6cb028596","affectsGlobalScope":true},{"version":"3787b83e297de7c315d55d4a7c546ae28e5f6c0a361b7a1dcec1f1f50a54ef11","affectsGlobalScope":true},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true},{"version":"2768ef564cfc0689a1b76106c421a2909bdff0acbe87da010785adab80efdd5c","affectsGlobalScope":true},{"version":"b248e32ca52e8f5571390a4142558ae4f203ae2f94d5bac38a3084d529ef4e58","affectsGlobalScope":true},{"version":"fb4416144c1bf0323ccbc9afb0ab289c07312214e8820ad17d709498c865a3fe","affectsGlobalScope":true},{"version":"52d1bb7ab7a3306fd0375c8bff560feed26ed676a5b0457fa8027b563aecb9a4","affectsGlobalScope":true},{"version":"4c49cc5572d80ef350f929108b067de4c4b1999a973e2e4bcfe930ae982db608","signature":"29133ef9e5680a6ec1b7b580e4233d15c63ab1cb95bb52aeede5410cdb6b8eb2"},{"version":"518d21775cd0d4f0b53d5d671f201eaedd6066e4fd3cbdc1431c964fa7d29155","signature":"c85a13b8665a866f6689467b7103786d30949468f25e20e168b43c5c70f55ffa"},{"version":"7fa8ab21c2bb00ee455d14225819d7500ff0af2a32385514346f54c5d4b35cf0","signature":"91fee60e7136d3e7a986d33f5a9b281a9ca120615ece0d58cc823af2a640bd03"},{"version":"e999f73e9109ef7f47afd0911ae1774810ea3b71735368578c6909db721da024","signature":"6660fedad551695604e38684d324129da4c3c6872b220ae7aa51f7e5acf0dd8d"},{"version":"88aa3c22a36ab723e8053a606ba2de363fd2b50a69878c64c61fec01da18341d","signature":"94d838936dbecf79b1b474bb95a110bbb267807c1662ffc28ee540abfb5c47eb"},{"version":"bb5cc4a171d18bd4c1eb7c98a3a435548b81839f71d0ad16cefe13658dbf633e","signature":"d84a5de837c7ac2b8b0955c7e12b3d6615949bf135fba9c79f48a40182f16488"},{"version":"2eb961423bb717b36ae6c89167574dc0a36a7469bd999bd088c854c11f481108","signature":"7e7d62fa024ea32b3e9bb2f0e97e200654e52b6a01513d06489d876ee0064c2c"},{"version":"d3fc1a478c7ee31a2c0900394e6531c6b0df5aa9395bdc601c83697a0c78b0f5","signature":"4ecc1ccb0bb5e43a48a6bae3314e125ca4a043424d2729982a71cdb943a66156"},"587f13f1e8157bd8cec0adda0de4ef558bb8573daa9d518d1e2af38e87ecc91f","a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a",{"version":"bce910d9164785c9f0d4dcea4be359f5f92130c7c7833dea6138ab1db310a1f9","affectsGlobalScope":true},"7a435e0c814f58f23e9a0979045ec0ef5909aac95a70986e8bcce30c27dff228",{"version":"c81c51f43e343b6d89114b17341fb9d381c4ccbb25e0ee77532376052c801ba7","affectsGlobalScope":true},"db71be322f07f769200108aa19b79a75dd19a187c9dca2a30c4537b233aa2863","57135ce61976a8b1dadd01bb412406d1805b90db6e8ecb726d0d78e0b5f76050",{"version":"49479e21a040c0177d1b1bc05a124c0383df7a08a0726ad4d9457619642e875a","affectsGlobalScope":true},"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","f302f3a47d7758f67f2afc753b9375d6504dde05d2e6ecdb1df50abbb131fc89","3690133deae19c8127c5505fcb67b04bdc9eb053796008538a9b9abbb70d85aa","5b1c0a23f464f894e7c2b2b6c56df7b9afa60ed48c5345f8618d389a636b2108","be2b092f2765222757c6441b86c53a5ea8dfed47bbc43eab4c5fe37942c866b3","8e6b05abc98adba15e1ac78e137c64576c74002e301d682e66feb77a23907ab8","1ca735bb3d407b2af4fbee7665f3a0a83be52168c728cc209755060ba7ed67bd",{"version":"6b526a5ec4a401ca7c26cfe6a48e641d8f30af76673bad3b06a1b4504594a960","affectsGlobalScope":true},{"version":"b85c02e14ecb2a873dad5a1de72319b265160ba48f1b83661aeb3bba1366c1bc","affectsGlobalScope":true},"7a2ba0c9af860ac3e77b35ed01fd96d15986f17aa22fe40f188ae556fb1070df","fc3764040518a1008dd04bdc80964591b566b896283e00df85c95851c1f46237","55709608060f77965c270ac10ac646286589f1bd1cb174fff1778a2dd9a7ef31","790623a47c5eda62910098884ecb154dc0e5f3a23fc36c1bfb3b5b9ed44e2c2d","42b40e40f2a358cda332456214fad311e1806a6abf3cebaaac72496e07556642","354612fe1d49ecc9551ea3a27d94eef2887b64ef4a71f72ca444efe0f2f0ba80",{"version":"ac0c77cd7db52b3c278bdd1452ce754014835493d05b84535f46854fdc2063b2","affectsGlobalScope":true},"b9f36877501f2ce0e276e993c93cd2cf325e78d0409ec4612b1eb9d6a537e60b","5e2b91328a540a0933ab5c2203f4358918e6f0fe7505d22840a891a6117735f1","3abc3512fa04aa0230f59ea1019311fd8667bd935d28306311dccc8b17e79d5d",{"version":"14a50dafe3f45713f7f27cb6320dff07c6ac31678f07959c2134260061bf91ff","affectsGlobalScope":true},{"version":"19da7150ca062323b1db6311a6ef058c9b0a39cc64d836b5e9b75d301869653b","affectsGlobalScope":true},"1349077576abb41f0e9c78ec30762ff75b710208aff77f5fdcc6a8c8ce6289dd","e2ce82603102b5c0563f59fb40314cc1ff95a4d521a66ad14146e130ea80d89c","a3e0395220255a350aa9c6d56f882bfcb5b85c19fddf5419ec822cf22246a26d","c27b01e8ddff5cd280711af5e13aecd9a3228d1c256ea797dd64f8fdec5f7df5","898840e876dfd21843db9f2aa6ae38ba2eab550eb780ff62b894b9fbfebfae6b","0cab4d7d4edc40cd3af9eea7c3ed6d1016910c0954c49c4297e479bf3822a625","1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff","785e5be57d4f20f290a20e7b0c6263f6c57fd6e51283050756cef07d6d651c68","44b8b584a338b190a59f4f6929d072431950c7bd92ec2694821c11bce180c8a5","164deb2409ac5f4da3cd139dbcee7f7d66753d90363a4d7e2db8d8874f272270",{"version":"ffc62d73b4fa10ca8c59f8802df88efefe447025730a24ee977b60adedc5bf37","affectsGlobalScope":true},{"version":"ab294c4b7279318ee2a8fdf681305457ecc05970c94108d304933f18823eeac1","affectsGlobalScope":true},"ad08154d9602429522cac965a715fde27d421d69b24756c5d291877dda75353e","5bc85813bfcb6907cc3a960fec8734a29d7884e0e372515147720c5991b8bc22","812b25f798033c202baedf386a1ccc41f9191b122f089bffd10fdccce99fba11","993325544790073f77e945bee046d53988c0bc3ac5695c9cf8098166feb82661",{"version":"75dd741ca6a6c8d2437a6ca8349b64b816421dbf9fe82dd026afaba965576962","affectsGlobalScope":true},{"version":"0e08c360c9b5961ecb0537b703e253842b3ded53151ee07024148219b61a8baf","affectsGlobalScope":true},"2ce2210032ccaff7710e2abf6a722e62c54960458e73e356b6a365c93ab6ca66","92db194ef7d208d5e4b6242a3434573fd142a621ff996d84cc9dbba3553277d0","16a3080e885ed52d4017c902227a8d0d8daf723d062bec9e45627c6fdcd6699b",{"version":"0bd9543cd8fc0959c76fb8f4f5a26626c2ed62ef4be98fd857bce268066db0a2","affectsGlobalScope":true},"1ca6858a0cbcd74d7db72d7b14c5360a928d1d16748a55ecfa6bfaff8b83071b",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"ebf3434b09c527078aa74139ff367fffa64fea32a01d6c06fb0a69b0ecadf43e","01f7828047b5c6703d3c601473618b448f5506a88fcac852638b0715c3abf4eb",{"version":"c3bc5d095c3c22fd20b5a6550b9c9a6d56c3ffbb87ef057ccce7764b6bed4428","affectsGlobalScope":true},{"version":"63e2182615c513e89bb8a3e749d08f7c379e86490fcdbf6d35f2c14b3507a6e8","affectsGlobalScope":true},"6d829824ead8999f87b6df21200df3c6150391b894b4e80662caa462bd48d073","96d14f21b7652903852eef49379d04dbda28c16ed36468f8c9fa08f7c14c9538","8841e2aa774b89bd23302dede20663306dc1b9902431ac64b24be8b8d0e3f649","209e814e8e71aec74f69686a9506dd7610b97ab59dcee9446266446f72a76d05",{"version":"3f6d6465811321abc30a1e5f667feed63e5b3917b3d6c8d6645daf96c75f97ba","affectsGlobalScope":true},"6fa0008bf91a4cc9c8963bace4bba0bd6865cbfa29c3e3ccc461155660fb113a","916be7d770b0ae0406be9486ac12eb9825f21514961dd050594c4b250617d5a8","a73a445c1e0a6d0f8b48e8eb22dc9d647896783a7f8991cbbc31c0d94bf1f5a2","3dce33e7eb25594863b8e615f14a45ab98190d85953436750644212d8a18c066","bc81aff061c53a7140270555f4b22da4ecfe8601e8027cf5aa175fbdc7927c31"],"options":{"allowSyntheticDefaultImports":true,"composite":true,"declaration":true,"declarationDir":"../../lib/types","declarationMap":true,"esModuleInterop":true,"module":99,"noEmitOnError":true,"outDir":"../../lib/esm","rootDir":"../../../../target/types","skipLibCheck":true,"sourceMap":true,"strict":false,"stripInternal":true,"target":99},"fileIdsList":[[97,104],[97,106],[97],[70,97,104],[51,97],[54,97],[55,60,88,97],[56,67,68,75,85,96,97],[56,57,67,75,97],[58,97],[59,60,68,76,97],[60,85,93,97],[61,63,67,75,97],[62,97],[63,64,97],[67,97],[65,67,97],[67,68,69,85,96,97],[67,68,69,82,85,88,97],[97,101],[63,67,70,75,85,96,97],[67,68,70,71,75,85,93,96,97],[70,72,85,93,96,97],[51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103],[67,73,97],[74,96,97],[63,67,75,85,97],[76,97],[77,97],[54,78,97],[79,95,97,101],[80,97],[81,97],[67,82,83,97],[82,84,97,99],[55,67,85,86,87,88,97],[55,85,87,97],[85,86,97],[88,97],[89,97],[85,97],[67,91,92,97],[91,92,97],[60,75,85,93,97],[94,97],[75,95,97],[55,70,81,96,97],[60,97],[85,97,98],[97,99],[97,100],[55,60,67,69,78,85,96,97,99,101],[85,97,102],[67,70,72,75,85,93,96,97,102,104]],"referencedMap":[[105,1],[107,2],[106,3],[108,4],[109,3],[110,3],[111,3],[112,3],[51,5],[52,5],[54,6],[55,7],[56,8],[57,9],[58,10],[59,11],[60,12],[61,13],[62,14],[63,15],[64,15],[66,16],[65,17],[67,16],[68,18],[69,19],[53,20],[103,3],[70,21],[71,22],[72,23],[104,24],[73,25],[74,26],[75,27],[76,28],[77,29],[78,30],[79,31],[80,32],[81,33],[82,34],[83,34],[84,35],[85,36],[87,37],[86,38],[88,39],[89,40],[90,41],[91,42],[92,43],[93,44],[94,45],[95,46],[96,47],[97,48],[98,49],[99,50],[100,51],[101,52],[102,53],[113,3],[114,3],[115,1],[116,1],[117,54],[9,3],[8,3],[2,3],[10,3],[11,3],[12,3],[13,3],[14,3],[15,3],[16,3],[17,3],[3,3],[4,3],[21,3],[18,3],[19,3],[20,3],[22,3],[23,3],[24,3],[5,3],[25,3],[26,3],[27,3],[28,3],[6,3],[32,3],[29,3],[30,3],[31,3],[33,3],[7,3],[34,3],[39,3],[40,3],[35,3],[36,3],[37,3],[38,3],[41,3],[1,3],[42,3],[43,3],[44,3],[45,3],[46,3],[47,3],[48,3],[49,3],[50,3]],"exportedModulesMap":[[105,1],[107,2],[106,3],[108,4],[109,3],[110,3],[111,3],[112,3],[51,5],[52,5],[54,6],[55,7],[56,8],[57,9],[58,10],[59,11],[60,12],[61,13],[62,14],[63,15],[64,15],[66,16],[65,17],[67,16],[68,18],[69,19],[53,20],[103,3],[70,21],[71,22],[72,23],[104,24],[73,25],[74,26],[75,27],[76,28],[77,29],[78,30],[79,31],[80,32],[81,33],[82,34],[83,34],[84,35],[85,36],[87,37],[86,38],[88,39],[89,40],[90,41],[91,42],[92,43],[93,44],[94,45],[95,46],[96,47],[97,48],[98,49],[99,50],[100,51],[101,52],[102,53],[113,3],[114,3],[115,1],[116,1],[117,54],[9,3],[8,3],[2,3],[10,3],[11,3],[12,3],[13,3],[14,3],[15,3],[16,3],[17,3],[3,3],[4,3],[21,3],[18,3],[19,3],[20,3],[22,3],[23,3],[24,3],[5,3],[25,3],[26,3],[27,3],[28,3],[6,3],[32,3],[29,3],[30,3],[31,3],[33,3],[7,3],[34,3],[39,3],[40,3],[35,3],[36,3],[37,3],[38,3],[41,3],[1,3],[42,3]],"semanticDiagnosticsPerFile":[105,107,106,108,109,110,111,112,51,52,54,55,56,57,58,59,60,61,62,63,64,66,65,67,68,69,53,103,70,71,72,104,73,74,75,76,77,78,79,80,81,82,83,84,85,87,86,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,113,114,115,116,117,9,8,2,10,11,12,13,14,15,16,17,3,4,21,18,19,20,22,23,24,5,25,26,27,28,6,32,29,30,31,33,7,34,39,40,35,36,37,38,41,1,42,43,44,45,46,47,48,49,50],"latestChangedDtsFile":"../../lib/types/vote_hook_interface.d.ts"},"version":"4.9.5"} \ No newline at end of file +{"program":{"fileNames":["../../../../node_modules/typescript/lib/lib.es5.d.ts","../../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../../target/types/nft_proxy.ts","../../../../target/types/nft_voter.ts","../../../../target/types/organization.ts","../../../../target/types/organization_wallet.ts","../../../../target/types/proposal.ts","../../../../target/types/state_controller.ts","../../../../target/types/token_voter.ts","../../../../target/types/vote_hook_interface.ts","../../../../node_modules/@types/node/assert.d.ts","../../../../node_modules/@types/node/assert/strict.d.ts","../../../../node_modules/@types/node/globals.d.ts","../../../../node_modules/@types/node/async_hooks.d.ts","../../../../node_modules/@types/node/buffer.d.ts","../../../../node_modules/@types/node/child_process.d.ts","../../../../node_modules/@types/node/cluster.d.ts","../../../../node_modules/@types/node/console.d.ts","../../../../node_modules/@types/node/constants.d.ts","../../../../node_modules/@types/node/crypto.d.ts","../../../../node_modules/@types/node/dgram.d.ts","../../../../node_modules/@types/node/diagnostics_channel.d.ts","../../../../node_modules/@types/node/dns.d.ts","../../../../node_modules/@types/node/dns/promises.d.ts","../../../../node_modules/@types/node/domain.d.ts","../../../../node_modules/@types/node/dom-events.d.ts","../../../../node_modules/@types/node/events.d.ts","../../../../node_modules/@types/node/fs.d.ts","../../../../node_modules/@types/node/fs/promises.d.ts","../../../../node_modules/@types/node/http.d.ts","../../../../node_modules/@types/node/http2.d.ts","../../../../node_modules/@types/node/https.d.ts","../../../../node_modules/@types/node/inspector.d.ts","../../../../node_modules/@types/node/module.d.ts","../../../../node_modules/@types/node/net.d.ts","../../../../node_modules/@types/node/os.d.ts","../../../../node_modules/@types/node/path.d.ts","../../../../node_modules/@types/node/perf_hooks.d.ts","../../../../node_modules/@types/node/process.d.ts","../../../../node_modules/@types/node/punycode.d.ts","../../../../node_modules/@types/node/querystring.d.ts","../../../../node_modules/@types/node/readline.d.ts","../../../../node_modules/@types/node/readline/promises.d.ts","../../../../node_modules/@types/node/repl.d.ts","../../../../node_modules/@types/node/stream.d.ts","../../../../node_modules/@types/node/stream/promises.d.ts","../../../../node_modules/@types/node/stream/consumers.d.ts","../../../../node_modules/@types/node/stream/web.d.ts","../../../../node_modules/@types/node/string_decoder.d.ts","../../../../node_modules/@types/node/test.d.ts","../../../../node_modules/@types/node/timers.d.ts","../../../../node_modules/@types/node/timers/promises.d.ts","../../../../node_modules/@types/node/tls.d.ts","../../../../node_modules/@types/node/trace_events.d.ts","../../../../node_modules/@types/node/tty.d.ts","../../../../node_modules/@types/node/url.d.ts","../../../../node_modules/@types/node/util.d.ts","../../../../node_modules/@types/node/v8.d.ts","../../../../node_modules/@types/node/vm.d.ts","../../../../node_modules/@types/node/wasi.d.ts","../../../../node_modules/@types/node/worker_threads.d.ts","../../../../node_modules/@types/node/zlib.d.ts","../../../../node_modules/@types/node/globals.global.d.ts","../../../../node_modules/@types/node/index.d.ts","../../../../node_modules/@types/bn.js/index.d.ts","../../../../node_modules/@types/chai/index.d.ts","../../../../node_modules/@types/chai-as-promised/index.d.ts","../../../../node_modules/@types/connect/index.d.ts","../../../../node_modules/@types/json5/index.d.ts","../../../../node_modules/@types/minimatch/index.d.ts","../../../../node_modules/@types/minimist/index.d.ts","../../../../node_modules/@types/mocha/index.d.ts","../../../../node_modules/@types/normalize-package-data/index.d.ts","../../../../node_modules/@types/parse-json/index.d.ts","../../../../node_modules/@types/pbkdf2/index.d.ts","../../../../node_modules/@types/secp256k1/index.d.ts","../../../../node_modules/@types/ws/index.d.ts"],"fileInfos":[{"version":"8730f4bf322026ff5229336391a18bcaa1f94d4f82416c8b2f3954e2ccaae2ba","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","4b421cbfb3a38a27c279dec1e9112c3d1da296f77a1a85ddadf7e7a425d45d18","1fc5ab7a764205c68fa10d381b08417795fc73111d6dd16b5b1ed36badb743d9",{"version":"adb996790133eb33b33aadb9c09f15c2c575e71fb57a62de8bf74dbf59ec7dfb","affectsGlobalScope":true},{"version":"8cc8c5a3bac513368b0157f3d8b31cfdcfe78b56d3724f30f80ed9715e404af8","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"c5c05907c02476e4bde6b7e76a79ffcd948aedd14b6a8f56e4674221b0417398","affectsGlobalScope":true},{"version":"5f406584aef28a331c36523df688ca3650288d14f39c5d2e555c95f0d2ff8f6f","affectsGlobalScope":true},{"version":"22f230e544b35349cfb3bd9110b6ef37b41c6d6c43c3314a31bd0d9652fcec72","affectsGlobalScope":true},{"version":"7ea0b55f6b315cf9ac2ad622b0a7813315bb6e97bf4bb3fbf8f8affbca7dc695","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"eb26de841c52236d8222f87e9e6a235332e0788af8c87a71e9e210314300410a","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"81cac4cbc92c0c839c70f8ffb94eb61e2d32dc1c3cf6d95844ca099463cf37ea","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true},{"version":"6e7997ef61de3132e4d4b2250e75343f487903ddf5370e7ce33cf1b9db9a63ed","affectsGlobalScope":true},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true},{"version":"5e5e095c4470c8bab227dbbc61374878ecead104c74ab9960d3adcccfee23205","affectsGlobalScope":true},{"version":"09aa50414b80c023553090e2f53827f007a301bc34b0495bfb2c3c08ab9ad1eb","affectsGlobalScope":true},{"version":"d7f680a43f8cd12a6b6122c07c54ba40952b0c8aa140dcfcf32eb9e6cb028596","affectsGlobalScope":true},{"version":"3787b83e297de7c315d55d4a7c546ae28e5f6c0a361b7a1dcec1f1f50a54ef11","affectsGlobalScope":true},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true},{"version":"2768ef564cfc0689a1b76106c421a2909bdff0acbe87da010785adab80efdd5c","affectsGlobalScope":true},{"version":"b248e32ca52e8f5571390a4142558ae4f203ae2f94d5bac38a3084d529ef4e58","affectsGlobalScope":true},{"version":"fb4416144c1bf0323ccbc9afb0ab289c07312214e8820ad17d709498c865a3fe","affectsGlobalScope":true},{"version":"52d1bb7ab7a3306fd0375c8bff560feed26ed676a5b0457fa8027b563aecb9a4","affectsGlobalScope":true},{"version":"4c49cc5572d80ef350f929108b067de4c4b1999a973e2e4bcfe930ae982db608","signature":"29133ef9e5680a6ec1b7b580e4233d15c63ab1cb95bb52aeede5410cdb6b8eb2"},{"version":"eadfc6ff785ba5ada489d5d5d4a069dc197df0301b889ab80b5a9dbcde296fe1","signature":"a9d7c462b1c33a8607b393473faf17427c9470eaa228fcd92dfd2c813df9d390"},{"version":"7fa8ab21c2bb00ee455d14225819d7500ff0af2a32385514346f54c5d4b35cf0","signature":"91fee60e7136d3e7a986d33f5a9b281a9ca120615ece0d58cc823af2a640bd03"},{"version":"e999f73e9109ef7f47afd0911ae1774810ea3b71735368578c6909db721da024","signature":"6660fedad551695604e38684d324129da4c3c6872b220ae7aa51f7e5acf0dd8d"},{"version":"bbed6ec58ac8b2b0152f382dfb2a16fd6ff62e2f1ced0f7d51dfe63280476551","signature":"b790e6cd12a86356afff831d3cd8942892277cceedb9d58b6f68595232306aef"},{"version":"45d038aaf64065421a14b469c3d57b4b83d6d53aa5bce65ebd45d096f4be620f","signature":"0b1f072d4ccf0c8aede96d102c00ab99181d9ebf23d1c0328370aff6d0c9df1a"},{"version":"2eb961423bb717b36ae6c89167574dc0a36a7469bd999bd088c854c11f481108","signature":"7e7d62fa024ea32b3e9bb2f0e97e200654e52b6a01513d06489d876ee0064c2c"},{"version":"d3fc1a478c7ee31a2c0900394e6531c6b0df5aa9395bdc601c83697a0c78b0f5","signature":"4ecc1ccb0bb5e43a48a6bae3314e125ca4a043424d2729982a71cdb943a66156"},"587f13f1e8157bd8cec0adda0de4ef558bb8573daa9d518d1e2af38e87ecc91f","a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a",{"version":"bce910d9164785c9f0d4dcea4be359f5f92130c7c7833dea6138ab1db310a1f9","affectsGlobalScope":true},"7a435e0c814f58f23e9a0979045ec0ef5909aac95a70986e8bcce30c27dff228",{"version":"c81c51f43e343b6d89114b17341fb9d381c4ccbb25e0ee77532376052c801ba7","affectsGlobalScope":true},"db71be322f07f769200108aa19b79a75dd19a187c9dca2a30c4537b233aa2863","57135ce61976a8b1dadd01bb412406d1805b90db6e8ecb726d0d78e0b5f76050",{"version":"49479e21a040c0177d1b1bc05a124c0383df7a08a0726ad4d9457619642e875a","affectsGlobalScope":true},"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","f302f3a47d7758f67f2afc753b9375d6504dde05d2e6ecdb1df50abbb131fc89","3690133deae19c8127c5505fcb67b04bdc9eb053796008538a9b9abbb70d85aa","5b1c0a23f464f894e7c2b2b6c56df7b9afa60ed48c5345f8618d389a636b2108","be2b092f2765222757c6441b86c53a5ea8dfed47bbc43eab4c5fe37942c866b3","8e6b05abc98adba15e1ac78e137c64576c74002e301d682e66feb77a23907ab8","1ca735bb3d407b2af4fbee7665f3a0a83be52168c728cc209755060ba7ed67bd",{"version":"6b526a5ec4a401ca7c26cfe6a48e641d8f30af76673bad3b06a1b4504594a960","affectsGlobalScope":true},{"version":"b85c02e14ecb2a873dad5a1de72319b265160ba48f1b83661aeb3bba1366c1bc","affectsGlobalScope":true},"7a2ba0c9af860ac3e77b35ed01fd96d15986f17aa22fe40f188ae556fb1070df","fc3764040518a1008dd04bdc80964591b566b896283e00df85c95851c1f46237","55709608060f77965c270ac10ac646286589f1bd1cb174fff1778a2dd9a7ef31","790623a47c5eda62910098884ecb154dc0e5f3a23fc36c1bfb3b5b9ed44e2c2d","42b40e40f2a358cda332456214fad311e1806a6abf3cebaaac72496e07556642","354612fe1d49ecc9551ea3a27d94eef2887b64ef4a71f72ca444efe0f2f0ba80",{"version":"ac0c77cd7db52b3c278bdd1452ce754014835493d05b84535f46854fdc2063b2","affectsGlobalScope":true},"b9f36877501f2ce0e276e993c93cd2cf325e78d0409ec4612b1eb9d6a537e60b","5e2b91328a540a0933ab5c2203f4358918e6f0fe7505d22840a891a6117735f1","3abc3512fa04aa0230f59ea1019311fd8667bd935d28306311dccc8b17e79d5d",{"version":"14a50dafe3f45713f7f27cb6320dff07c6ac31678f07959c2134260061bf91ff","affectsGlobalScope":true},{"version":"19da7150ca062323b1db6311a6ef058c9b0a39cc64d836b5e9b75d301869653b","affectsGlobalScope":true},"1349077576abb41f0e9c78ec30762ff75b710208aff77f5fdcc6a8c8ce6289dd","e2ce82603102b5c0563f59fb40314cc1ff95a4d521a66ad14146e130ea80d89c","a3e0395220255a350aa9c6d56f882bfcb5b85c19fddf5419ec822cf22246a26d","c27b01e8ddff5cd280711af5e13aecd9a3228d1c256ea797dd64f8fdec5f7df5","898840e876dfd21843db9f2aa6ae38ba2eab550eb780ff62b894b9fbfebfae6b","0cab4d7d4edc40cd3af9eea7c3ed6d1016910c0954c49c4297e479bf3822a625","1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff","785e5be57d4f20f290a20e7b0c6263f6c57fd6e51283050756cef07d6d651c68","44b8b584a338b190a59f4f6929d072431950c7bd92ec2694821c11bce180c8a5","164deb2409ac5f4da3cd139dbcee7f7d66753d90363a4d7e2db8d8874f272270",{"version":"ffc62d73b4fa10ca8c59f8802df88efefe447025730a24ee977b60adedc5bf37","affectsGlobalScope":true},{"version":"ab294c4b7279318ee2a8fdf681305457ecc05970c94108d304933f18823eeac1","affectsGlobalScope":true},"ad08154d9602429522cac965a715fde27d421d69b24756c5d291877dda75353e","5bc85813bfcb6907cc3a960fec8734a29d7884e0e372515147720c5991b8bc22","812b25f798033c202baedf386a1ccc41f9191b122f089bffd10fdccce99fba11","993325544790073f77e945bee046d53988c0bc3ac5695c9cf8098166feb82661",{"version":"75dd741ca6a6c8d2437a6ca8349b64b816421dbf9fe82dd026afaba965576962","affectsGlobalScope":true},{"version":"0e08c360c9b5961ecb0537b703e253842b3ded53151ee07024148219b61a8baf","affectsGlobalScope":true},"2ce2210032ccaff7710e2abf6a722e62c54960458e73e356b6a365c93ab6ca66","92db194ef7d208d5e4b6242a3434573fd142a621ff996d84cc9dbba3553277d0","16a3080e885ed52d4017c902227a8d0d8daf723d062bec9e45627c6fdcd6699b",{"version":"0bd9543cd8fc0959c76fb8f4f5a26626c2ed62ef4be98fd857bce268066db0a2","affectsGlobalScope":true},"1ca6858a0cbcd74d7db72d7b14c5360a928d1d16748a55ecfa6bfaff8b83071b",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"ebf3434b09c527078aa74139ff367fffa64fea32a01d6c06fb0a69b0ecadf43e","01f7828047b5c6703d3c601473618b448f5506a88fcac852638b0715c3abf4eb",{"version":"c3bc5d095c3c22fd20b5a6550b9c9a6d56c3ffbb87ef057ccce7764b6bed4428","affectsGlobalScope":true},{"version":"63e2182615c513e89bb8a3e749d08f7c379e86490fcdbf6d35f2c14b3507a6e8","affectsGlobalScope":true},"6d829824ead8999f87b6df21200df3c6150391b894b4e80662caa462bd48d073","96d14f21b7652903852eef49379d04dbda28c16ed36468f8c9fa08f7c14c9538","8841e2aa774b89bd23302dede20663306dc1b9902431ac64b24be8b8d0e3f649","209e814e8e71aec74f69686a9506dd7610b97ab59dcee9446266446f72a76d05",{"version":"3f6d6465811321abc30a1e5f667feed63e5b3917b3d6c8d6645daf96c75f97ba","affectsGlobalScope":true},"6fa0008bf91a4cc9c8963bace4bba0bd6865cbfa29c3e3ccc461155660fb113a","916be7d770b0ae0406be9486ac12eb9825f21514961dd050594c4b250617d5a8","a73a445c1e0a6d0f8b48e8eb22dc9d647896783a7f8991cbbc31c0d94bf1f5a2","3dce33e7eb25594863b8e615f14a45ab98190d85953436750644212d8a18c066","bc81aff061c53a7140270555f4b22da4ecfe8601e8027cf5aa175fbdc7927c31"],"options":{"allowSyntheticDefaultImports":true,"composite":true,"declaration":true,"declarationDir":"../../lib/types","declarationMap":true,"esModuleInterop":true,"module":99,"noEmitOnError":true,"outDir":"../../lib/esm","rootDir":"../../../../target/types","skipLibCheck":true,"sourceMap":true,"strict":false,"stripInternal":true,"target":99},"fileIdsList":[[97,104],[97,106],[97],[70,97,104],[51,97],[54,97],[55,60,88,97],[56,67,68,75,85,96,97],[56,57,67,75,97],[58,97],[59,60,68,76,97],[60,85,93,97],[61,63,67,75,97],[62,97],[63,64,97],[67,97],[65,67,97],[67,68,69,85,96,97],[67,68,69,82,85,88,97],[97,101],[63,67,70,75,85,96,97],[67,68,70,71,75,85,93,96,97],[70,72,85,93,96,97],[51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103],[67,73,97],[74,96,97],[63,67,75,85,97],[76,97],[77,97],[54,78,97],[79,95,97,101],[80,97],[81,97],[67,82,83,97],[82,84,97,99],[55,67,85,86,87,88,97],[55,85,87,97],[85,86,97],[88,97],[89,97],[85,97],[67,91,92,97],[91,92,97],[60,75,85,93,97],[94,97],[75,95,97],[55,70,81,96,97],[60,97],[85,97,98],[97,99],[97,100],[55,60,67,69,78,85,96,97,99,101],[85,97,102],[67,70,72,75,85,93,96,97,102,104]],"referencedMap":[[105,1],[107,2],[106,3],[108,4],[109,3],[110,3],[111,3],[112,3],[51,5],[52,5],[54,6],[55,7],[56,8],[57,9],[58,10],[59,11],[60,12],[61,13],[62,14],[63,15],[64,15],[66,16],[65,17],[67,16],[68,18],[69,19],[53,20],[103,3],[70,21],[71,22],[72,23],[104,24],[73,25],[74,26],[75,27],[76,28],[77,29],[78,30],[79,31],[80,32],[81,33],[82,34],[83,34],[84,35],[85,36],[87,37],[86,38],[88,39],[89,40],[90,41],[91,42],[92,43],[93,44],[94,45],[95,46],[96,47],[97,48],[98,49],[99,50],[100,51],[101,52],[102,53],[113,3],[114,3],[115,1],[116,1],[117,54],[9,3],[8,3],[2,3],[10,3],[11,3],[12,3],[13,3],[14,3],[15,3],[16,3],[17,3],[3,3],[4,3],[21,3],[18,3],[19,3],[20,3],[22,3],[23,3],[24,3],[5,3],[25,3],[26,3],[27,3],[28,3],[6,3],[32,3],[29,3],[30,3],[31,3],[33,3],[7,3],[34,3],[39,3],[40,3],[35,3],[36,3],[37,3],[38,3],[41,3],[1,3],[42,3],[43,3],[44,3],[45,3],[46,3],[47,3],[48,3],[49,3],[50,3]],"exportedModulesMap":[[105,1],[107,2],[106,3],[108,4],[109,3],[110,3],[111,3],[112,3],[51,5],[52,5],[54,6],[55,7],[56,8],[57,9],[58,10],[59,11],[60,12],[61,13],[62,14],[63,15],[64,15],[66,16],[65,17],[67,16],[68,18],[69,19],[53,20],[103,3],[70,21],[71,22],[72,23],[104,24],[73,25],[74,26],[75,27],[76,28],[77,29],[78,30],[79,31],[80,32],[81,33],[82,34],[83,34],[84,35],[85,36],[87,37],[86,38],[88,39],[89,40],[90,41],[91,42],[92,43],[93,44],[94,45],[95,46],[96,47],[97,48],[98,49],[99,50],[100,51],[101,52],[102,53],[113,3],[114,3],[115,1],[116,1],[117,54],[9,3],[8,3],[2,3],[10,3],[11,3],[12,3],[13,3],[14,3],[15,3],[16,3],[17,3],[3,3],[4,3],[21,3],[18,3],[19,3],[20,3],[22,3],[23,3],[24,3],[5,3],[25,3],[26,3],[27,3],[28,3],[6,3],[32,3],[29,3],[30,3],[31,3],[33,3],[7,3],[34,3],[39,3],[40,3],[35,3],[36,3],[37,3],[38,3],[41,3],[1,3],[42,3]],"semanticDiagnosticsPerFile":[105,107,106,108,109,110,111,112,51,52,54,55,56,57,58,59,60,61,62,63,64,66,65,67,68,69,53,103,70,71,72,104,73,74,75,76,77,78,79,80,81,82,83,84,85,87,86,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,113,114,115,116,117,9,8,2,10,11,12,13,14,15,16,17,3,4,21,18,19,20,22,23,24,5,25,26,27,28,6,32,29,30,31,33,7,34,39,40,35,36,37,38,41,1,42,43,44,45,46,47,48,49,50],"latestChangedDtsFile":"../../lib/types/vote_hook_interface.d.ts"},"version":"4.9.5"} \ No newline at end of file From c7bcf86de823f19b4ef4a001c169ff75231ea879 Mon Sep 17 00:00:00 2001 From: Noah Prince <83885631+ChewingGlass@users.noreply.github.com> Date: Wed, 23 Oct 2024 16:24:04 -0500 Subject: [PATCH 15/25] [HIP-124]: Implement abstain vote (#37) * WIP: Abstain vote * Implement abstain vote * Undo anchor28 * Fix tests * test fixes --- Cargo.lock | 2 +- .../tsconfig.esm.tsbuildinfo | 2 +- .../src/settingsBuilder.ts | 25 ++++ programs/state_controller/Cargo.toml | 2 +- programs/state_controller/src/state.rs | 118 ++++++++++++++++-- tests/nft-voter.ts | 1 + tests/organization-wallet.ts | 8 +- tests/organization.ts | 1 + tests/proposal.ts | 5 +- tests/state-controller.ts | 58 ++++++++- tests/token-voter.ts | 1 + tsconfig.test.json | 1 + 12 files changed, 206 insertions(+), 18 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index de0d10e..333ffd1 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2095,7 +2095,7 @@ dependencies = [ [[package]] name = "state-controller" -version = "0.1.1" +version = "0.1.2" dependencies = [ "anchor-lang", "anchor-spl", diff --git a/packages/modular-governance-idls/packages/modular-governance-idls/tsconfig.esm.tsbuildinfo b/packages/modular-governance-idls/packages/modular-governance-idls/tsconfig.esm.tsbuildinfo index bb8b3e9..c677de3 100644 --- a/packages/modular-governance-idls/packages/modular-governance-idls/tsconfig.esm.tsbuildinfo +++ b/packages/modular-governance-idls/packages/modular-governance-idls/tsconfig.esm.tsbuildinfo @@ -1 +1 @@ -{"program":{"fileNames":["../../../../node_modules/typescript/lib/lib.es5.d.ts","../../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../../target/types/nft_proxy.ts","../../../../target/types/nft_voter.ts","../../../../target/types/organization.ts","../../../../target/types/organization_wallet.ts","../../../../target/types/proposal.ts","../../../../target/types/state_controller.ts","../../../../target/types/token_voter.ts","../../../../target/types/vote_hook_interface.ts","../../../../node_modules/@types/node/assert.d.ts","../../../../node_modules/@types/node/assert/strict.d.ts","../../../../node_modules/@types/node/globals.d.ts","../../../../node_modules/@types/node/async_hooks.d.ts","../../../../node_modules/@types/node/buffer.d.ts","../../../../node_modules/@types/node/child_process.d.ts","../../../../node_modules/@types/node/cluster.d.ts","../../../../node_modules/@types/node/console.d.ts","../../../../node_modules/@types/node/constants.d.ts","../../../../node_modules/@types/node/crypto.d.ts","../../../../node_modules/@types/node/dgram.d.ts","../../../../node_modules/@types/node/diagnostics_channel.d.ts","../../../../node_modules/@types/node/dns.d.ts","../../../../node_modules/@types/node/dns/promises.d.ts","../../../../node_modules/@types/node/domain.d.ts","../../../../node_modules/@types/node/dom-events.d.ts","../../../../node_modules/@types/node/events.d.ts","../../../../node_modules/@types/node/fs.d.ts","../../../../node_modules/@types/node/fs/promises.d.ts","../../../../node_modules/@types/node/http.d.ts","../../../../node_modules/@types/node/http2.d.ts","../../../../node_modules/@types/node/https.d.ts","../../../../node_modules/@types/node/inspector.d.ts","../../../../node_modules/@types/node/module.d.ts","../../../../node_modules/@types/node/net.d.ts","../../../../node_modules/@types/node/os.d.ts","../../../../node_modules/@types/node/path.d.ts","../../../../node_modules/@types/node/perf_hooks.d.ts","../../../../node_modules/@types/node/process.d.ts","../../../../node_modules/@types/node/punycode.d.ts","../../../../node_modules/@types/node/querystring.d.ts","../../../../node_modules/@types/node/readline.d.ts","../../../../node_modules/@types/node/readline/promises.d.ts","../../../../node_modules/@types/node/repl.d.ts","../../../../node_modules/@types/node/stream.d.ts","../../../../node_modules/@types/node/stream/promises.d.ts","../../../../node_modules/@types/node/stream/consumers.d.ts","../../../../node_modules/@types/node/stream/web.d.ts","../../../../node_modules/@types/node/string_decoder.d.ts","../../../../node_modules/@types/node/test.d.ts","../../../../node_modules/@types/node/timers.d.ts","../../../../node_modules/@types/node/timers/promises.d.ts","../../../../node_modules/@types/node/tls.d.ts","../../../../node_modules/@types/node/trace_events.d.ts","../../../../node_modules/@types/node/tty.d.ts","../../../../node_modules/@types/node/url.d.ts","../../../../node_modules/@types/node/util.d.ts","../../../../node_modules/@types/node/v8.d.ts","../../../../node_modules/@types/node/vm.d.ts","../../../../node_modules/@types/node/wasi.d.ts","../../../../node_modules/@types/node/worker_threads.d.ts","../../../../node_modules/@types/node/zlib.d.ts","../../../../node_modules/@types/node/globals.global.d.ts","../../../../node_modules/@types/node/index.d.ts","../../../../node_modules/@types/bn.js/index.d.ts","../../../../node_modules/@types/chai/index.d.ts","../../../../node_modules/@types/chai-as-promised/index.d.ts","../../../../node_modules/@types/connect/index.d.ts","../../../../node_modules/@types/json5/index.d.ts","../../../../node_modules/@types/minimatch/index.d.ts","../../../../node_modules/@types/minimist/index.d.ts","../../../../node_modules/@types/mocha/index.d.ts","../../../../node_modules/@types/normalize-package-data/index.d.ts","../../../../node_modules/@types/parse-json/index.d.ts","../../../../node_modules/@types/pbkdf2/index.d.ts","../../../../node_modules/@types/secp256k1/index.d.ts","../../../../node_modules/@types/ws/index.d.ts"],"fileInfos":[{"version":"8730f4bf322026ff5229336391a18bcaa1f94d4f82416c8b2f3954e2ccaae2ba","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","4b421cbfb3a38a27c279dec1e9112c3d1da296f77a1a85ddadf7e7a425d45d18","1fc5ab7a764205c68fa10d381b08417795fc73111d6dd16b5b1ed36badb743d9",{"version":"adb996790133eb33b33aadb9c09f15c2c575e71fb57a62de8bf74dbf59ec7dfb","affectsGlobalScope":true},{"version":"8cc8c5a3bac513368b0157f3d8b31cfdcfe78b56d3724f30f80ed9715e404af8","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"c5c05907c02476e4bde6b7e76a79ffcd948aedd14b6a8f56e4674221b0417398","affectsGlobalScope":true},{"version":"5f406584aef28a331c36523df688ca3650288d14f39c5d2e555c95f0d2ff8f6f","affectsGlobalScope":true},{"version":"22f230e544b35349cfb3bd9110b6ef37b41c6d6c43c3314a31bd0d9652fcec72","affectsGlobalScope":true},{"version":"7ea0b55f6b315cf9ac2ad622b0a7813315bb6e97bf4bb3fbf8f8affbca7dc695","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"eb26de841c52236d8222f87e9e6a235332e0788af8c87a71e9e210314300410a","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"81cac4cbc92c0c839c70f8ffb94eb61e2d32dc1c3cf6d95844ca099463cf37ea","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true},{"version":"6e7997ef61de3132e4d4b2250e75343f487903ddf5370e7ce33cf1b9db9a63ed","affectsGlobalScope":true},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true},{"version":"5e5e095c4470c8bab227dbbc61374878ecead104c74ab9960d3adcccfee23205","affectsGlobalScope":true},{"version":"09aa50414b80c023553090e2f53827f007a301bc34b0495bfb2c3c08ab9ad1eb","affectsGlobalScope":true},{"version":"d7f680a43f8cd12a6b6122c07c54ba40952b0c8aa140dcfcf32eb9e6cb028596","affectsGlobalScope":true},{"version":"3787b83e297de7c315d55d4a7c546ae28e5f6c0a361b7a1dcec1f1f50a54ef11","affectsGlobalScope":true},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true},{"version":"2768ef564cfc0689a1b76106c421a2909bdff0acbe87da010785adab80efdd5c","affectsGlobalScope":true},{"version":"b248e32ca52e8f5571390a4142558ae4f203ae2f94d5bac38a3084d529ef4e58","affectsGlobalScope":true},{"version":"fb4416144c1bf0323ccbc9afb0ab289c07312214e8820ad17d709498c865a3fe","affectsGlobalScope":true},{"version":"52d1bb7ab7a3306fd0375c8bff560feed26ed676a5b0457fa8027b563aecb9a4","affectsGlobalScope":true},{"version":"4c49cc5572d80ef350f929108b067de4c4b1999a973e2e4bcfe930ae982db608","signature":"29133ef9e5680a6ec1b7b580e4233d15c63ab1cb95bb52aeede5410cdb6b8eb2"},{"version":"eadfc6ff785ba5ada489d5d5d4a069dc197df0301b889ab80b5a9dbcde296fe1","signature":"a9d7c462b1c33a8607b393473faf17427c9470eaa228fcd92dfd2c813df9d390"},{"version":"7fa8ab21c2bb00ee455d14225819d7500ff0af2a32385514346f54c5d4b35cf0","signature":"91fee60e7136d3e7a986d33f5a9b281a9ca120615ece0d58cc823af2a640bd03"},{"version":"e999f73e9109ef7f47afd0911ae1774810ea3b71735368578c6909db721da024","signature":"6660fedad551695604e38684d324129da4c3c6872b220ae7aa51f7e5acf0dd8d"},{"version":"bbed6ec58ac8b2b0152f382dfb2a16fd6ff62e2f1ced0f7d51dfe63280476551","signature":"b790e6cd12a86356afff831d3cd8942892277cceedb9d58b6f68595232306aef"},{"version":"45d038aaf64065421a14b469c3d57b4b83d6d53aa5bce65ebd45d096f4be620f","signature":"0b1f072d4ccf0c8aede96d102c00ab99181d9ebf23d1c0328370aff6d0c9df1a"},{"version":"2eb961423bb717b36ae6c89167574dc0a36a7469bd999bd088c854c11f481108","signature":"7e7d62fa024ea32b3e9bb2f0e97e200654e52b6a01513d06489d876ee0064c2c"},{"version":"d3fc1a478c7ee31a2c0900394e6531c6b0df5aa9395bdc601c83697a0c78b0f5","signature":"4ecc1ccb0bb5e43a48a6bae3314e125ca4a043424d2729982a71cdb943a66156"},"587f13f1e8157bd8cec0adda0de4ef558bb8573daa9d518d1e2af38e87ecc91f","a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a",{"version":"bce910d9164785c9f0d4dcea4be359f5f92130c7c7833dea6138ab1db310a1f9","affectsGlobalScope":true},"7a435e0c814f58f23e9a0979045ec0ef5909aac95a70986e8bcce30c27dff228",{"version":"c81c51f43e343b6d89114b17341fb9d381c4ccbb25e0ee77532376052c801ba7","affectsGlobalScope":true},"db71be322f07f769200108aa19b79a75dd19a187c9dca2a30c4537b233aa2863","57135ce61976a8b1dadd01bb412406d1805b90db6e8ecb726d0d78e0b5f76050",{"version":"49479e21a040c0177d1b1bc05a124c0383df7a08a0726ad4d9457619642e875a","affectsGlobalScope":true},"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","f302f3a47d7758f67f2afc753b9375d6504dde05d2e6ecdb1df50abbb131fc89","3690133deae19c8127c5505fcb67b04bdc9eb053796008538a9b9abbb70d85aa","5b1c0a23f464f894e7c2b2b6c56df7b9afa60ed48c5345f8618d389a636b2108","be2b092f2765222757c6441b86c53a5ea8dfed47bbc43eab4c5fe37942c866b3","8e6b05abc98adba15e1ac78e137c64576c74002e301d682e66feb77a23907ab8","1ca735bb3d407b2af4fbee7665f3a0a83be52168c728cc209755060ba7ed67bd",{"version":"6b526a5ec4a401ca7c26cfe6a48e641d8f30af76673bad3b06a1b4504594a960","affectsGlobalScope":true},{"version":"b85c02e14ecb2a873dad5a1de72319b265160ba48f1b83661aeb3bba1366c1bc","affectsGlobalScope":true},"7a2ba0c9af860ac3e77b35ed01fd96d15986f17aa22fe40f188ae556fb1070df","fc3764040518a1008dd04bdc80964591b566b896283e00df85c95851c1f46237","55709608060f77965c270ac10ac646286589f1bd1cb174fff1778a2dd9a7ef31","790623a47c5eda62910098884ecb154dc0e5f3a23fc36c1bfb3b5b9ed44e2c2d","42b40e40f2a358cda332456214fad311e1806a6abf3cebaaac72496e07556642","354612fe1d49ecc9551ea3a27d94eef2887b64ef4a71f72ca444efe0f2f0ba80",{"version":"ac0c77cd7db52b3c278bdd1452ce754014835493d05b84535f46854fdc2063b2","affectsGlobalScope":true},"b9f36877501f2ce0e276e993c93cd2cf325e78d0409ec4612b1eb9d6a537e60b","5e2b91328a540a0933ab5c2203f4358918e6f0fe7505d22840a891a6117735f1","3abc3512fa04aa0230f59ea1019311fd8667bd935d28306311dccc8b17e79d5d",{"version":"14a50dafe3f45713f7f27cb6320dff07c6ac31678f07959c2134260061bf91ff","affectsGlobalScope":true},{"version":"19da7150ca062323b1db6311a6ef058c9b0a39cc64d836b5e9b75d301869653b","affectsGlobalScope":true},"1349077576abb41f0e9c78ec30762ff75b710208aff77f5fdcc6a8c8ce6289dd","e2ce82603102b5c0563f59fb40314cc1ff95a4d521a66ad14146e130ea80d89c","a3e0395220255a350aa9c6d56f882bfcb5b85c19fddf5419ec822cf22246a26d","c27b01e8ddff5cd280711af5e13aecd9a3228d1c256ea797dd64f8fdec5f7df5","898840e876dfd21843db9f2aa6ae38ba2eab550eb780ff62b894b9fbfebfae6b","0cab4d7d4edc40cd3af9eea7c3ed6d1016910c0954c49c4297e479bf3822a625","1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff","785e5be57d4f20f290a20e7b0c6263f6c57fd6e51283050756cef07d6d651c68","44b8b584a338b190a59f4f6929d072431950c7bd92ec2694821c11bce180c8a5","164deb2409ac5f4da3cd139dbcee7f7d66753d90363a4d7e2db8d8874f272270",{"version":"ffc62d73b4fa10ca8c59f8802df88efefe447025730a24ee977b60adedc5bf37","affectsGlobalScope":true},{"version":"ab294c4b7279318ee2a8fdf681305457ecc05970c94108d304933f18823eeac1","affectsGlobalScope":true},"ad08154d9602429522cac965a715fde27d421d69b24756c5d291877dda75353e","5bc85813bfcb6907cc3a960fec8734a29d7884e0e372515147720c5991b8bc22","812b25f798033c202baedf386a1ccc41f9191b122f089bffd10fdccce99fba11","993325544790073f77e945bee046d53988c0bc3ac5695c9cf8098166feb82661",{"version":"75dd741ca6a6c8d2437a6ca8349b64b816421dbf9fe82dd026afaba965576962","affectsGlobalScope":true},{"version":"0e08c360c9b5961ecb0537b703e253842b3ded53151ee07024148219b61a8baf","affectsGlobalScope":true},"2ce2210032ccaff7710e2abf6a722e62c54960458e73e356b6a365c93ab6ca66","92db194ef7d208d5e4b6242a3434573fd142a621ff996d84cc9dbba3553277d0","16a3080e885ed52d4017c902227a8d0d8daf723d062bec9e45627c6fdcd6699b",{"version":"0bd9543cd8fc0959c76fb8f4f5a26626c2ed62ef4be98fd857bce268066db0a2","affectsGlobalScope":true},"1ca6858a0cbcd74d7db72d7b14c5360a928d1d16748a55ecfa6bfaff8b83071b",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"ebf3434b09c527078aa74139ff367fffa64fea32a01d6c06fb0a69b0ecadf43e","01f7828047b5c6703d3c601473618b448f5506a88fcac852638b0715c3abf4eb",{"version":"c3bc5d095c3c22fd20b5a6550b9c9a6d56c3ffbb87ef057ccce7764b6bed4428","affectsGlobalScope":true},{"version":"63e2182615c513e89bb8a3e749d08f7c379e86490fcdbf6d35f2c14b3507a6e8","affectsGlobalScope":true},"6d829824ead8999f87b6df21200df3c6150391b894b4e80662caa462bd48d073","96d14f21b7652903852eef49379d04dbda28c16ed36468f8c9fa08f7c14c9538","8841e2aa774b89bd23302dede20663306dc1b9902431ac64b24be8b8d0e3f649","209e814e8e71aec74f69686a9506dd7610b97ab59dcee9446266446f72a76d05",{"version":"3f6d6465811321abc30a1e5f667feed63e5b3917b3d6c8d6645daf96c75f97ba","affectsGlobalScope":true},"6fa0008bf91a4cc9c8963bace4bba0bd6865cbfa29c3e3ccc461155660fb113a","916be7d770b0ae0406be9486ac12eb9825f21514961dd050594c4b250617d5a8","a73a445c1e0a6d0f8b48e8eb22dc9d647896783a7f8991cbbc31c0d94bf1f5a2","3dce33e7eb25594863b8e615f14a45ab98190d85953436750644212d8a18c066","bc81aff061c53a7140270555f4b22da4ecfe8601e8027cf5aa175fbdc7927c31"],"options":{"allowSyntheticDefaultImports":true,"composite":true,"declaration":true,"declarationDir":"../../lib/types","declarationMap":true,"esModuleInterop":true,"module":99,"noEmitOnError":true,"outDir":"../../lib/esm","rootDir":"../../../../target/types","skipLibCheck":true,"sourceMap":true,"strict":false,"stripInternal":true,"target":99},"fileIdsList":[[97,104],[97,106],[97],[70,97,104],[51,97],[54,97],[55,60,88,97],[56,67,68,75,85,96,97],[56,57,67,75,97],[58,97],[59,60,68,76,97],[60,85,93,97],[61,63,67,75,97],[62,97],[63,64,97],[67,97],[65,67,97],[67,68,69,85,96,97],[67,68,69,82,85,88,97],[97,101],[63,67,70,75,85,96,97],[67,68,70,71,75,85,93,96,97],[70,72,85,93,96,97],[51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103],[67,73,97],[74,96,97],[63,67,75,85,97],[76,97],[77,97],[54,78,97],[79,95,97,101],[80,97],[81,97],[67,82,83,97],[82,84,97,99],[55,67,85,86,87,88,97],[55,85,87,97],[85,86,97],[88,97],[89,97],[85,97],[67,91,92,97],[91,92,97],[60,75,85,93,97],[94,97],[75,95,97],[55,70,81,96,97],[60,97],[85,97,98],[97,99],[97,100],[55,60,67,69,78,85,96,97,99,101],[85,97,102],[67,70,72,75,85,93,96,97,102,104]],"referencedMap":[[105,1],[107,2],[106,3],[108,4],[109,3],[110,3],[111,3],[112,3],[51,5],[52,5],[54,6],[55,7],[56,8],[57,9],[58,10],[59,11],[60,12],[61,13],[62,14],[63,15],[64,15],[66,16],[65,17],[67,16],[68,18],[69,19],[53,20],[103,3],[70,21],[71,22],[72,23],[104,24],[73,25],[74,26],[75,27],[76,28],[77,29],[78,30],[79,31],[80,32],[81,33],[82,34],[83,34],[84,35],[85,36],[87,37],[86,38],[88,39],[89,40],[90,41],[91,42],[92,43],[93,44],[94,45],[95,46],[96,47],[97,48],[98,49],[99,50],[100,51],[101,52],[102,53],[113,3],[114,3],[115,1],[116,1],[117,54],[9,3],[8,3],[2,3],[10,3],[11,3],[12,3],[13,3],[14,3],[15,3],[16,3],[17,3],[3,3],[4,3],[21,3],[18,3],[19,3],[20,3],[22,3],[23,3],[24,3],[5,3],[25,3],[26,3],[27,3],[28,3],[6,3],[32,3],[29,3],[30,3],[31,3],[33,3],[7,3],[34,3],[39,3],[40,3],[35,3],[36,3],[37,3],[38,3],[41,3],[1,3],[42,3],[43,3],[44,3],[45,3],[46,3],[47,3],[48,3],[49,3],[50,3]],"exportedModulesMap":[[105,1],[107,2],[106,3],[108,4],[109,3],[110,3],[111,3],[112,3],[51,5],[52,5],[54,6],[55,7],[56,8],[57,9],[58,10],[59,11],[60,12],[61,13],[62,14],[63,15],[64,15],[66,16],[65,17],[67,16],[68,18],[69,19],[53,20],[103,3],[70,21],[71,22],[72,23],[104,24],[73,25],[74,26],[75,27],[76,28],[77,29],[78,30],[79,31],[80,32],[81,33],[82,34],[83,34],[84,35],[85,36],[87,37],[86,38],[88,39],[89,40],[90,41],[91,42],[92,43],[93,44],[94,45],[95,46],[96,47],[97,48],[98,49],[99,50],[100,51],[101,52],[102,53],[113,3],[114,3],[115,1],[116,1],[117,54],[9,3],[8,3],[2,3],[10,3],[11,3],[12,3],[13,3],[14,3],[15,3],[16,3],[17,3],[3,3],[4,3],[21,3],[18,3],[19,3],[20,3],[22,3],[23,3],[24,3],[5,3],[25,3],[26,3],[27,3],[28,3],[6,3],[32,3],[29,3],[30,3],[31,3],[33,3],[7,3],[34,3],[39,3],[40,3],[35,3],[36,3],[37,3],[38,3],[41,3],[1,3],[42,3]],"semanticDiagnosticsPerFile":[105,107,106,108,109,110,111,112,51,52,54,55,56,57,58,59,60,61,62,63,64,66,65,67,68,69,53,103,70,71,72,104,73,74,75,76,77,78,79,80,81,82,83,84,85,87,86,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,113,114,115,116,117,9,8,2,10,11,12,13,14,15,16,17,3,4,21,18,19,20,22,23,24,5,25,26,27,28,6,32,29,30,31,33,7,34,39,40,35,36,37,38,41,1,42,43,44,45,46,47,48,49,50],"latestChangedDtsFile":"../../lib/types/vote_hook_interface.d.ts"},"version":"4.9.5"} \ No newline at end of file +{"program":{"fileNames":["../../../../node_modules/typescript/lib/lib.es5.d.ts","../../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../../target/types/nft_proxy.ts","../../../../target/types/nft_voter.ts","../../../../target/types/organization.ts","../../../../target/types/organization_wallet.ts","../../../../target/types/proposal.ts","../../../../target/types/state_controller.ts","../../../../target/types/token_voter.ts","../../../../target/types/vote_hook_interface.ts","../../../../node_modules/@types/node/assert.d.ts","../../../../node_modules/@types/node/assert/strict.d.ts","../../../../node_modules/@types/node/globals.d.ts","../../../../node_modules/@types/node/async_hooks.d.ts","../../../../node_modules/@types/node/buffer.d.ts","../../../../node_modules/@types/node/child_process.d.ts","../../../../node_modules/@types/node/cluster.d.ts","../../../../node_modules/@types/node/console.d.ts","../../../../node_modules/@types/node/constants.d.ts","../../../../node_modules/@types/node/crypto.d.ts","../../../../node_modules/@types/node/dgram.d.ts","../../../../node_modules/@types/node/diagnostics_channel.d.ts","../../../../node_modules/@types/node/dns.d.ts","../../../../node_modules/@types/node/dns/promises.d.ts","../../../../node_modules/@types/node/domain.d.ts","../../../../node_modules/@types/node/dom-events.d.ts","../../../../node_modules/@types/node/events.d.ts","../../../../node_modules/@types/node/fs.d.ts","../../../../node_modules/@types/node/fs/promises.d.ts","../../../../node_modules/@types/node/http.d.ts","../../../../node_modules/@types/node/http2.d.ts","../../../../node_modules/@types/node/https.d.ts","../../../../node_modules/@types/node/inspector.d.ts","../../../../node_modules/@types/node/module.d.ts","../../../../node_modules/@types/node/net.d.ts","../../../../node_modules/@types/node/os.d.ts","../../../../node_modules/@types/node/path.d.ts","../../../../node_modules/@types/node/perf_hooks.d.ts","../../../../node_modules/@types/node/process.d.ts","../../../../node_modules/@types/node/punycode.d.ts","../../../../node_modules/@types/node/querystring.d.ts","../../../../node_modules/@types/node/readline.d.ts","../../../../node_modules/@types/node/readline/promises.d.ts","../../../../node_modules/@types/node/repl.d.ts","../../../../node_modules/@types/node/stream.d.ts","../../../../node_modules/@types/node/stream/promises.d.ts","../../../../node_modules/@types/node/stream/consumers.d.ts","../../../../node_modules/@types/node/stream/web.d.ts","../../../../node_modules/@types/node/string_decoder.d.ts","../../../../node_modules/@types/node/test.d.ts","../../../../node_modules/@types/node/timers.d.ts","../../../../node_modules/@types/node/timers/promises.d.ts","../../../../node_modules/@types/node/tls.d.ts","../../../../node_modules/@types/node/trace_events.d.ts","../../../../node_modules/@types/node/tty.d.ts","../../../../node_modules/@types/node/url.d.ts","../../../../node_modules/@types/node/util.d.ts","../../../../node_modules/@types/node/v8.d.ts","../../../../node_modules/@types/node/vm.d.ts","../../../../node_modules/@types/node/wasi.d.ts","../../../../node_modules/@types/node/worker_threads.d.ts","../../../../node_modules/@types/node/zlib.d.ts","../../../../node_modules/@types/node/globals.global.d.ts","../../../../node_modules/@types/node/index.d.ts","../../../../node_modules/@types/bn.js/index.d.ts","../../../../node_modules/@types/chai/index.d.ts","../../../../node_modules/@types/chai-as-promised/index.d.ts","../../../../node_modules/@types/connect/index.d.ts","../../../../node_modules/@types/json5/index.d.ts","../../../../node_modules/@types/minimatch/index.d.ts","../../../../node_modules/@types/minimist/index.d.ts","../../../../node_modules/@types/mocha/index.d.ts","../../../../node_modules/@types/normalize-package-data/index.d.ts","../../../../node_modules/@types/parse-json/index.d.ts","../../../../node_modules/@types/pbkdf2/index.d.ts","../../../../node_modules/@types/secp256k1/index.d.ts","../../../../node_modules/@types/ws/index.d.ts"],"fileInfos":[{"version":"8730f4bf322026ff5229336391a18bcaa1f94d4f82416c8b2f3954e2ccaae2ba","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","4b421cbfb3a38a27c279dec1e9112c3d1da296f77a1a85ddadf7e7a425d45d18","1fc5ab7a764205c68fa10d381b08417795fc73111d6dd16b5b1ed36badb743d9",{"version":"adb996790133eb33b33aadb9c09f15c2c575e71fb57a62de8bf74dbf59ec7dfb","affectsGlobalScope":true},{"version":"8cc8c5a3bac513368b0157f3d8b31cfdcfe78b56d3724f30f80ed9715e404af8","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"c5c05907c02476e4bde6b7e76a79ffcd948aedd14b6a8f56e4674221b0417398","affectsGlobalScope":true},{"version":"5f406584aef28a331c36523df688ca3650288d14f39c5d2e555c95f0d2ff8f6f","affectsGlobalScope":true},{"version":"22f230e544b35349cfb3bd9110b6ef37b41c6d6c43c3314a31bd0d9652fcec72","affectsGlobalScope":true},{"version":"7ea0b55f6b315cf9ac2ad622b0a7813315bb6e97bf4bb3fbf8f8affbca7dc695","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"eb26de841c52236d8222f87e9e6a235332e0788af8c87a71e9e210314300410a","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"81cac4cbc92c0c839c70f8ffb94eb61e2d32dc1c3cf6d95844ca099463cf37ea","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true},{"version":"6e7997ef61de3132e4d4b2250e75343f487903ddf5370e7ce33cf1b9db9a63ed","affectsGlobalScope":true},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true},{"version":"5e5e095c4470c8bab227dbbc61374878ecead104c74ab9960d3adcccfee23205","affectsGlobalScope":true},{"version":"09aa50414b80c023553090e2f53827f007a301bc34b0495bfb2c3c08ab9ad1eb","affectsGlobalScope":true},{"version":"d7f680a43f8cd12a6b6122c07c54ba40952b0c8aa140dcfcf32eb9e6cb028596","affectsGlobalScope":true},{"version":"3787b83e297de7c315d55d4a7c546ae28e5f6c0a361b7a1dcec1f1f50a54ef11","affectsGlobalScope":true},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true},{"version":"2768ef564cfc0689a1b76106c421a2909bdff0acbe87da010785adab80efdd5c","affectsGlobalScope":true},{"version":"b248e32ca52e8f5571390a4142558ae4f203ae2f94d5bac38a3084d529ef4e58","affectsGlobalScope":true},{"version":"fb4416144c1bf0323ccbc9afb0ab289c07312214e8820ad17d709498c865a3fe","affectsGlobalScope":true},{"version":"52d1bb7ab7a3306fd0375c8bff560feed26ed676a5b0457fa8027b563aecb9a4","affectsGlobalScope":true},{"version":"4c49cc5572d80ef350f929108b067de4c4b1999a973e2e4bcfe930ae982db608","signature":"29133ef9e5680a6ec1b7b580e4233d15c63ab1cb95bb52aeede5410cdb6b8eb2"},{"version":"eadfc6ff785ba5ada489d5d5d4a069dc197df0301b889ab80b5a9dbcde296fe1","signature":"a9d7c462b1c33a8607b393473faf17427c9470eaa228fcd92dfd2c813df9d390"},{"version":"7fa8ab21c2bb00ee455d14225819d7500ff0af2a32385514346f54c5d4b35cf0","signature":"91fee60e7136d3e7a986d33f5a9b281a9ca120615ece0d58cc823af2a640bd03"},{"version":"e999f73e9109ef7f47afd0911ae1774810ea3b71735368578c6909db721da024","signature":"6660fedad551695604e38684d324129da4c3c6872b220ae7aa51f7e5acf0dd8d"},{"version":"bbed6ec58ac8b2b0152f382dfb2a16fd6ff62e2f1ced0f7d51dfe63280476551","signature":"b790e6cd12a86356afff831d3cd8942892277cceedb9d58b6f68595232306aef"},{"version":"e981c0967d846b371a64bf49253f3f7af32f55157fbafc6b9cc8a5e0d556ed78","signature":"10b4f0fd3cc9ed4fcbd29959227804052c56e408421007a31b352fe9f7b4770f"},{"version":"2eb961423bb717b36ae6c89167574dc0a36a7469bd999bd088c854c11f481108","signature":"7e7d62fa024ea32b3e9bb2f0e97e200654e52b6a01513d06489d876ee0064c2c"},{"version":"d3fc1a478c7ee31a2c0900394e6531c6b0df5aa9395bdc601c83697a0c78b0f5","signature":"4ecc1ccb0bb5e43a48a6bae3314e125ca4a043424d2729982a71cdb943a66156"},"587f13f1e8157bd8cec0adda0de4ef558bb8573daa9d518d1e2af38e87ecc91f","a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a",{"version":"bce910d9164785c9f0d4dcea4be359f5f92130c7c7833dea6138ab1db310a1f9","affectsGlobalScope":true},"7a435e0c814f58f23e9a0979045ec0ef5909aac95a70986e8bcce30c27dff228",{"version":"c81c51f43e343b6d89114b17341fb9d381c4ccbb25e0ee77532376052c801ba7","affectsGlobalScope":true},"db71be322f07f769200108aa19b79a75dd19a187c9dca2a30c4537b233aa2863","57135ce61976a8b1dadd01bb412406d1805b90db6e8ecb726d0d78e0b5f76050",{"version":"49479e21a040c0177d1b1bc05a124c0383df7a08a0726ad4d9457619642e875a","affectsGlobalScope":true},"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","f302f3a47d7758f67f2afc753b9375d6504dde05d2e6ecdb1df50abbb131fc89","3690133deae19c8127c5505fcb67b04bdc9eb053796008538a9b9abbb70d85aa","5b1c0a23f464f894e7c2b2b6c56df7b9afa60ed48c5345f8618d389a636b2108","be2b092f2765222757c6441b86c53a5ea8dfed47bbc43eab4c5fe37942c866b3","8e6b05abc98adba15e1ac78e137c64576c74002e301d682e66feb77a23907ab8","1ca735bb3d407b2af4fbee7665f3a0a83be52168c728cc209755060ba7ed67bd",{"version":"6b526a5ec4a401ca7c26cfe6a48e641d8f30af76673bad3b06a1b4504594a960","affectsGlobalScope":true},{"version":"b85c02e14ecb2a873dad5a1de72319b265160ba48f1b83661aeb3bba1366c1bc","affectsGlobalScope":true},"7a2ba0c9af860ac3e77b35ed01fd96d15986f17aa22fe40f188ae556fb1070df","fc3764040518a1008dd04bdc80964591b566b896283e00df85c95851c1f46237","55709608060f77965c270ac10ac646286589f1bd1cb174fff1778a2dd9a7ef31","790623a47c5eda62910098884ecb154dc0e5f3a23fc36c1bfb3b5b9ed44e2c2d","42b40e40f2a358cda332456214fad311e1806a6abf3cebaaac72496e07556642","354612fe1d49ecc9551ea3a27d94eef2887b64ef4a71f72ca444efe0f2f0ba80",{"version":"ac0c77cd7db52b3c278bdd1452ce754014835493d05b84535f46854fdc2063b2","affectsGlobalScope":true},"b9f36877501f2ce0e276e993c93cd2cf325e78d0409ec4612b1eb9d6a537e60b","5e2b91328a540a0933ab5c2203f4358918e6f0fe7505d22840a891a6117735f1","3abc3512fa04aa0230f59ea1019311fd8667bd935d28306311dccc8b17e79d5d",{"version":"14a50dafe3f45713f7f27cb6320dff07c6ac31678f07959c2134260061bf91ff","affectsGlobalScope":true},{"version":"19da7150ca062323b1db6311a6ef058c9b0a39cc64d836b5e9b75d301869653b","affectsGlobalScope":true},"1349077576abb41f0e9c78ec30762ff75b710208aff77f5fdcc6a8c8ce6289dd","e2ce82603102b5c0563f59fb40314cc1ff95a4d521a66ad14146e130ea80d89c","a3e0395220255a350aa9c6d56f882bfcb5b85c19fddf5419ec822cf22246a26d","c27b01e8ddff5cd280711af5e13aecd9a3228d1c256ea797dd64f8fdec5f7df5","898840e876dfd21843db9f2aa6ae38ba2eab550eb780ff62b894b9fbfebfae6b","0cab4d7d4edc40cd3af9eea7c3ed6d1016910c0954c49c4297e479bf3822a625","1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff","785e5be57d4f20f290a20e7b0c6263f6c57fd6e51283050756cef07d6d651c68","44b8b584a338b190a59f4f6929d072431950c7bd92ec2694821c11bce180c8a5","164deb2409ac5f4da3cd139dbcee7f7d66753d90363a4d7e2db8d8874f272270",{"version":"ffc62d73b4fa10ca8c59f8802df88efefe447025730a24ee977b60adedc5bf37","affectsGlobalScope":true},{"version":"ab294c4b7279318ee2a8fdf681305457ecc05970c94108d304933f18823eeac1","affectsGlobalScope":true},"ad08154d9602429522cac965a715fde27d421d69b24756c5d291877dda75353e","5bc85813bfcb6907cc3a960fec8734a29d7884e0e372515147720c5991b8bc22","812b25f798033c202baedf386a1ccc41f9191b122f089bffd10fdccce99fba11","993325544790073f77e945bee046d53988c0bc3ac5695c9cf8098166feb82661",{"version":"75dd741ca6a6c8d2437a6ca8349b64b816421dbf9fe82dd026afaba965576962","affectsGlobalScope":true},{"version":"0e08c360c9b5961ecb0537b703e253842b3ded53151ee07024148219b61a8baf","affectsGlobalScope":true},"2ce2210032ccaff7710e2abf6a722e62c54960458e73e356b6a365c93ab6ca66","92db194ef7d208d5e4b6242a3434573fd142a621ff996d84cc9dbba3553277d0","16a3080e885ed52d4017c902227a8d0d8daf723d062bec9e45627c6fdcd6699b",{"version":"0bd9543cd8fc0959c76fb8f4f5a26626c2ed62ef4be98fd857bce268066db0a2","affectsGlobalScope":true},"1ca6858a0cbcd74d7db72d7b14c5360a928d1d16748a55ecfa6bfaff8b83071b",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"ebf3434b09c527078aa74139ff367fffa64fea32a01d6c06fb0a69b0ecadf43e","01f7828047b5c6703d3c601473618b448f5506a88fcac852638b0715c3abf4eb",{"version":"c3bc5d095c3c22fd20b5a6550b9c9a6d56c3ffbb87ef057ccce7764b6bed4428","affectsGlobalScope":true},{"version":"63e2182615c513e89bb8a3e749d08f7c379e86490fcdbf6d35f2c14b3507a6e8","affectsGlobalScope":true},"6d829824ead8999f87b6df21200df3c6150391b894b4e80662caa462bd48d073","96d14f21b7652903852eef49379d04dbda28c16ed36468f8c9fa08f7c14c9538","8841e2aa774b89bd23302dede20663306dc1b9902431ac64b24be8b8d0e3f649","209e814e8e71aec74f69686a9506dd7610b97ab59dcee9446266446f72a76d05",{"version":"3f6d6465811321abc30a1e5f667feed63e5b3917b3d6c8d6645daf96c75f97ba","affectsGlobalScope":true},"6fa0008bf91a4cc9c8963bace4bba0bd6865cbfa29c3e3ccc461155660fb113a","916be7d770b0ae0406be9486ac12eb9825f21514961dd050594c4b250617d5a8","a73a445c1e0a6d0f8b48e8eb22dc9d647896783a7f8991cbbc31c0d94bf1f5a2","3dce33e7eb25594863b8e615f14a45ab98190d85953436750644212d8a18c066","bc81aff061c53a7140270555f4b22da4ecfe8601e8027cf5aa175fbdc7927c31"],"options":{"allowSyntheticDefaultImports":true,"composite":true,"declaration":true,"declarationDir":"../../lib/types","declarationMap":true,"esModuleInterop":true,"module":99,"noEmitOnError":true,"outDir":"../../lib/esm","rootDir":"../../../../target/types","skipLibCheck":true,"sourceMap":true,"strict":false,"stripInternal":true,"target":99},"fileIdsList":[[97,104],[97,106],[97],[70,97,104],[51,97],[54,97],[55,60,88,97],[56,67,68,75,85,96,97],[56,57,67,75,97],[58,97],[59,60,68,76,97],[60,85,93,97],[61,63,67,75,97],[62,97],[63,64,97],[67,97],[65,67,97],[67,68,69,85,96,97],[67,68,69,82,85,88,97],[97,101],[63,67,70,75,85,96,97],[67,68,70,71,75,85,93,96,97],[70,72,85,93,96,97],[51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103],[67,73,97],[74,96,97],[63,67,75,85,97],[76,97],[77,97],[54,78,97],[79,95,97,101],[80,97],[81,97],[67,82,83,97],[82,84,97,99],[55,67,85,86,87,88,97],[55,85,87,97],[85,86,97],[88,97],[89,97],[85,97],[67,91,92,97],[91,92,97],[60,75,85,93,97],[94,97],[75,95,97],[55,70,81,96,97],[60,97],[85,97,98],[97,99],[97,100],[55,60,67,69,78,85,96,97,99,101],[85,97,102],[67,70,72,75,85,93,96,97,102,104]],"referencedMap":[[105,1],[107,2],[106,3],[108,4],[109,3],[110,3],[111,3],[112,3],[51,5],[52,5],[54,6],[55,7],[56,8],[57,9],[58,10],[59,11],[60,12],[61,13],[62,14],[63,15],[64,15],[66,16],[65,17],[67,16],[68,18],[69,19],[53,20],[103,3],[70,21],[71,22],[72,23],[104,24],[73,25],[74,26],[75,27],[76,28],[77,29],[78,30],[79,31],[80,32],[81,33],[82,34],[83,34],[84,35],[85,36],[87,37],[86,38],[88,39],[89,40],[90,41],[91,42],[92,43],[93,44],[94,45],[95,46],[96,47],[97,48],[98,49],[99,50],[100,51],[101,52],[102,53],[113,3],[114,3],[115,1],[116,1],[117,54],[9,3],[8,3],[2,3],[10,3],[11,3],[12,3],[13,3],[14,3],[15,3],[16,3],[17,3],[3,3],[4,3],[21,3],[18,3],[19,3],[20,3],[22,3],[23,3],[24,3],[5,3],[25,3],[26,3],[27,3],[28,3],[6,3],[32,3],[29,3],[30,3],[31,3],[33,3],[7,3],[34,3],[39,3],[40,3],[35,3],[36,3],[37,3],[38,3],[41,3],[1,3],[42,3],[43,3],[44,3],[45,3],[46,3],[47,3],[48,3],[49,3],[50,3]],"exportedModulesMap":[[105,1],[107,2],[106,3],[108,4],[109,3],[110,3],[111,3],[112,3],[51,5],[52,5],[54,6],[55,7],[56,8],[57,9],[58,10],[59,11],[60,12],[61,13],[62,14],[63,15],[64,15],[66,16],[65,17],[67,16],[68,18],[69,19],[53,20],[103,3],[70,21],[71,22],[72,23],[104,24],[73,25],[74,26],[75,27],[76,28],[77,29],[78,30],[79,31],[80,32],[81,33],[82,34],[83,34],[84,35],[85,36],[87,37],[86,38],[88,39],[89,40],[90,41],[91,42],[92,43],[93,44],[94,45],[95,46],[96,47],[97,48],[98,49],[99,50],[100,51],[101,52],[102,53],[113,3],[114,3],[115,1],[116,1],[117,54],[9,3],[8,3],[2,3],[10,3],[11,3],[12,3],[13,3],[14,3],[15,3],[16,3],[17,3],[3,3],[4,3],[21,3],[18,3],[19,3],[20,3],[22,3],[23,3],[24,3],[5,3],[25,3],[26,3],[27,3],[28,3],[6,3],[32,3],[29,3],[30,3],[31,3],[33,3],[7,3],[34,3],[39,3],[40,3],[35,3],[36,3],[37,3],[38,3],[41,3],[1,3],[42,3]],"semanticDiagnosticsPerFile":[105,107,106,108,109,110,111,112,51,52,54,55,56,57,58,59,60,61,62,63,64,66,65,67,68,69,53,103,70,71,72,104,73,74,75,76,77,78,79,80,81,82,83,84,85,87,86,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,113,114,115,116,117,9,8,2,10,11,12,13,14,15,16,17,3,4,21,18,19,20,22,23,24,5,25,26,27,28,6,32,29,30,31,33,7,34,39,40,35,36,37,38,41,1,42,43,44,45,46,47,48,49,50],"latestChangedDtsFile":"../../lib/types/state_controller.d.ts"},"version":"4.9.5"} \ No newline at end of file diff --git a/packages/state-controller-sdk/src/settingsBuilder.ts b/packages/state-controller-sdk/src/settingsBuilder.ts index ef06d08..9504450 100644 --- a/packages/state-controller-sdk/src/settingsBuilder.ts +++ b/packages/state-controller-sdk/src/settingsBuilder.ts @@ -23,6 +23,20 @@ export class SettingsBuilder { return this; } + not(choiceName: string): SettingsBuilder { + this.nodes.push({ + not: { choiceName }, + }); + return this; + } + + totalWeight(weightThreshold: BN): SettingsBuilder { + this.nodes.push({ + totalWeight: { weightThreshold }, + }); + return this; + } + offsetFromStartTs(offset: BN): SettingsBuilder { this.nodes.push({ offsetFromStartTs: { offset }, @@ -55,6 +69,17 @@ export class SettingsBuilder { return this; } + /// If the percentage is a number, auto convert to PERCENTAGE_DIVISOR. Otherwise use the BN + choicePercentageOfCurrent(percentage: BN | number): SettingsBuilder { + if (typeof percentage === "number") { + percentage = new BN((percentage / 100) * PERCENTAGE_DIVISOR); + } + this.nodes.push({ + choicePercentageOfCurrent: { percentage }, + }); + return this; + } + top(n: number = 1): SettingsBuilder { this.nodes.push({ top: { n }, diff --git a/programs/state_controller/Cargo.toml b/programs/state_controller/Cargo.toml index e96e378..4873c6d 100644 --- a/programs/state_controller/Cargo.toml +++ b/programs/state_controller/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "state-controller" -version = "0.1.1" +version = "0.1.2" description = "Created with Anchor" edition = "2021" diff --git a/programs/state_controller/src/state.rs b/programs/state_controller/src/state.rs index 07073d1..28ba150 100644 --- a/programs/state_controller/src/state.rs +++ b/programs/state_controller/src/state.rs @@ -42,6 +42,19 @@ pub enum ResolutionNode { }, And, Or, + Not { + choice_name: String, + }, + TotalWeight { + weight_threshold: u128, + }, + /// The choice has this percentage (i32 / PERCENTAGE_DIVISOR) + /// This is different than ChoicePercentage as it operates based off of the + /// current set of choices on the stack, not all of the proposals choices. + /// This is useful for use cases like Abstain, where you need a % excluding abstain. + ChoicePercentageOfCurrent { + percentage: i32, + }, } impl Default for ResolutionNode { @@ -60,10 +73,13 @@ impl ResolutionNode { ResolutionNode::OffsetFromStartTs { .. } => 8, ResolutionNode::ChoiceVoteWeight { .. } => 16, ResolutionNode::ChoicePercentage { .. } => 4, + ResolutionNode::ChoicePercentageOfCurrent { .. } => 4, ResolutionNode::Top { .. } => 2, - ResolutionNode::And => 0, - ResolutionNode::Or => 0, + ResolutionNode::And => 1, + ResolutionNode::Or => 1, ResolutionNode::NumResolved { .. } => 4, + ResolutionNode::Not { choice_name } => 4 + choice_name.len(), + ResolutionNode::TotalWeight { .. } => 16, } } @@ -85,6 +101,11 @@ impl ResolutionNode { { Err(error!(ErrorCode::InvalidPercentage)) } + ResolutionNode::ChoicePercentageOfCurrent { percentage } + if *percentage < 0 || *percentage > PERCENTAGE_DIVISOR => + { + Err(error!(ErrorCode::InvalidPercentage)) + } ResolutionNode::Top { n } if *n == 0 => Err(error!(ErrorCode::InvalidTopN)), _ => Ok(()), } @@ -216,17 +237,69 @@ impl ResolutionStrategy { ); stack.push(ret) } + ResolutionNode::ChoicePercentageOfCurrent { percentage } => { + let remaining_choices = stack + .last() + .and_then(|i| i.clone()) + .unwrap_or((0..proposal.choices.len() as u16).collect::>()); + + let total_weight = remaining_choices + .iter() + .map(|choice| proposal.choices[*choice as usize].weight) + .sum::(); + + let threshold = total_weight + .checked_mul(*percentage as u128) + .unwrap() + .checked_div(PERCENTAGE_DIVISOR as u128) + .map(|result| { + let remainder = total_weight + .checked_mul(*percentage as u128) + .unwrap() + .checked_rem(PERCENTAGE_DIVISOR as u128) + .unwrap(); + result + .checked_add(if remainder > 0 { 1 } else { 0 }) + .unwrap() + }) + .unwrap(); + + let ret: Option> = Some( + remaining_choices + .iter() + .enumerate() + .flat_map(|(index, choice)| { + if threshold == 0 { + None + } else if proposal.choices[*choice as usize].weight >= threshold { + Some(index as u16) + } else { + None + } + }) + .collect(), + ); + + stack.push(ret) + } ResolutionNode::Top { n } => { - let mut vec = proposal.choices.iter().enumerate().collect::>(); + let mut remaining_choices = stack + .last() + .and_then(|i| i.clone()) + .unwrap_or((0..proposal.choices.len() as u16).collect::>()) + .clone(); - vec.sort_by(|(_, a), (_, b)| b.weight.cmp(&a.weight)); + remaining_choices.sort_by(|a, b| { + proposal.choices[*b as usize] + .weight + .cmp(&proposal.choices[*a as usize].weight) + }); stack.push(Some( - vec - .iter() - .map(|(index, _)| *index as u16) + remaining_choices + .into_iter() .take(*n as usize) - .collect(), + .collect::>(), )) } ResolutionNode::And => { @@ -260,6 +333,35 @@ impl ResolutionStrategy { _ => stack.push(None), } } + ResolutionNode::Not { choice_name } => { + let vec = proposal + .choices + .iter() + .enumerate() + .filter(|(_, choice)| choice.name != *choice_name) + .collect::>(); + + stack.push(Some(vec.iter().map(|(index, _)| *index as u16).collect())) + } + ResolutionNode::TotalWeight { weight_threshold } => { + let total_weight = proposal + .choices + .iter() + .map(|choice| choice.weight) + .sum::(); + if total_weight >= *weight_threshold { + stack.push(Some( + proposal + .choices + .iter() + .enumerate() + .map(|(index, _)| index as u16) + .collect(), + )) + } else { + stack.push(None) + } + } } } diff --git a/tests/nft-voter.ts b/tests/nft-voter.ts index 915b537..8a0febc 100644 --- a/tests/nft-voter.ts +++ b/tests/nft-voter.ts @@ -120,6 +120,7 @@ describe("nft-voter", () => { voteController: nftVoter!, stateController: me, onVoteHook: PublicKey.default, + authority: me, }) .rpcAndKeys({ skipPreflight: true })); ({ diff --git a/tests/organization-wallet.ts b/tests/organization-wallet.ts index 9aece3e..2178d29 100644 --- a/tests/organization-wallet.ts +++ b/tests/organization-wallet.ts @@ -82,6 +82,7 @@ describe("organization wallet", () => { voteController: me, stateController: me, onVoteHook: PublicKey.default, + authority: me, }) .rpcAndKeys()); @@ -239,7 +240,7 @@ describe("organization wallet", () => { }); describe("update_organization_wallet_v0", () => { - let otherName; + let otherName: string; let otherProposalConfig: PublicKey | undefined; beforeEach(async () => { @@ -253,6 +254,7 @@ describe("organization wallet", () => { voteController: me, stateController: me, onVoteHook: PublicKey.default, + authority: me, }) .rpcAndKeys({ skipPreflight: true })); }); @@ -357,7 +359,7 @@ describe("organization wallet", () => { authority: me, }) .simulate(); - } catch (err) { + } catch (err: any) { logs = err.simulationResponse?.logs; } @@ -393,7 +395,7 @@ describe("organization wallet", () => { authority: me, }) .simulate(); - } catch (err) { + } catch (err: any) { logs = err.simulationResponse?.logs; } diff --git a/tests/organization.ts b/tests/organization.ts index faa8d4f..119e8ea 100644 --- a/tests/organization.ts +++ b/tests/organization.ts @@ -72,6 +72,7 @@ describe("organization", () => { voteController: me, stateController: me, onVoteHook: PublicKey.default, + authority: me, }) .rpcAndKeys()); diff --git a/tests/proposal.ts b/tests/proposal.ts index c8d0c09..a11818a 100644 --- a/tests/proposal.ts +++ b/tests/proposal.ts @@ -32,6 +32,7 @@ describe("proposal", () => { voteController, stateController, onVoteHook, + authority: me, }) .rpcAndKeys(); @@ -40,7 +41,7 @@ describe("proposal", () => { expect(acct.voteController.toBase58()).to.eq(voteController.toBase58()); expect(acct.stateController.toBase58()).to.eq(stateController.toBase58()); expect(acct.onVoteHook.toBase58()).to.eq(onVoteHook.toBase58()); - expect(acct.authority.toBase58()).to.eq(PublicKey.default.toBase58()); + expect(acct.authority.toBase58()).to.eq(me.toBase58()); }); it("Creates a proposal config with authority", async () => { @@ -171,7 +172,7 @@ describe("proposal", () => { proposalConfig, }) .simulate(); - } catch (err) { + } catch (err: any) { logs = err.simulationResponse?.logs; } diff --git a/tests/state-controller.ts b/tests/state-controller.ts index 9cfc652..0553915 100644 --- a/tests/state-controller.ts +++ b/tests/state-controller.ts @@ -62,6 +62,7 @@ describe("state-controller", () => { voteController: me, stateController: resolutionSettings!, onVoteHook: PROGRAM_ID, + authority: me, }) .rpcAndKeys({ skipPreflight: true })); ({ @@ -81,6 +82,10 @@ describe("state-controller", () => { name: "No", uri: null, }, + { + name: "Abstain", + uri: null, + }, ], tags: ["test", "tags"], }) @@ -117,7 +122,7 @@ describe("state-controller", () => { await program.methods.resolveV0().accounts({ proposal }).rpc(); const acct = await proposalProgram.account.proposalV0.fetch(proposal!); - expect(acct.state.resolved?.choices).to.deep.eq([0, 1]); + expect(acct.state.resolved?.choices).to.deep.eq([0, 1, 2]); }); }); @@ -144,7 +149,7 @@ describe("state-controller", () => { await program.methods.resolveV0().accounts({ proposal }).rpc(); const acct = await proposalProgram.account.proposalV0.fetch(proposal!); - expect(acct.state.resolved?.choices).to.deep.eq([0, 1]); + expect(acct.state.resolved?.choices).to.deep.eq([0, 1, 2]); }); }); @@ -412,6 +417,55 @@ describe("state-controller", () => { expect(acct.state.resolved?.choices).to.deep.eq([1]); }); }); + + describe("helium IOT flavor governance", () => { + before(async () => { + nodes = settings() + .and( + settings().offsetFromStartTs(new anchor.BN(5)), + settings().and( + settings().and( + settings().totalWeight(new anchor.BN(5)), + settings().and( + settings().not("Abstain"), + settings().choicePercentageOfCurrent(66.6) + ) + ), + settings().top() + ) + ) + .build(); + }); + + it("resolves to the max choice when there is enough weight", async () => { + await proposalProgram.methods + .voteV0({ + choice: 1, + weight: new anchor.BN(2), + removeVote: false, + }) + .accounts({ proposal, voter: me }) + .rpc({ skipPreflight: true }); + + let acct = await proposalProgram.account.proposalV0.fetch(proposal!); + expect(Boolean(acct.state.voting)).to.be.true; + + await proposalProgram.methods + .voteV0({ + choice: 2, + weight: new anchor.BN(5), + removeVote: false, + }) + .accounts({ proposal, voter: me }) + .rpc({ skipPreflight: true }); + + await sleep(10000); + console.log("txid", await program.methods.resolveV0().accounts({ proposal }).rpc()); + + acct = await proposalProgram.account.proposalV0.fetch(proposal!); + expect(acct.state.resolved?.choices).to.deep.eq([1]); + }); + }); }); }); diff --git a/tests/token-voter.ts b/tests/token-voter.ts index 5dc2678..f204e6a 100644 --- a/tests/token-voter.ts +++ b/tests/token-voter.ts @@ -71,6 +71,7 @@ describe("token-voter", () => { voteController: tokenVoter!, stateController: me, onVoteHook: PublicKey.default, + authority: me, }) .rpcAndKeys({ skipPreflight: true })); ({ diff --git a/tsconfig.test.json b/tsconfig.test.json index ec3a801..928e354 100644 --- a/tsconfig.test.json +++ b/tsconfig.test.json @@ -8,6 +8,7 @@ "emitDecoratorMetadata": true, "esModuleInterop": true, "resolveJsonModule": true, + "noImplicitAny": false, "composite": true, "forceConsistentCasingInFileNames": true, "isolatedModules": false, From 46b2a82d24d54d11c46077071dd31e7bc21fee6b Mon Sep 17 00:00:00 2001 From: Noah Prince Date: Thu, 24 Oct 2024 16:56:30 -0500 Subject: [PATCH 16/25] chore(release): publish 0.0.14 --- CHANGELOG.md | 8 ++++++++ lerna.json | 2 +- packages/docsite/CHANGELOG.md | 8 ++++++++ packages/docsite/package.json | 2 +- packages/modular-governance-hooks/CHANGELOG.md | 8 ++++++++ packages/modular-governance-hooks/package.json | 6 +++--- packages/modular-governance-idls/CHANGELOG.md | 8 ++++++++ packages/modular-governance-idls/package.json | 2 +- packages/nft-proxy-sdk/CHANGELOG.md | 8 ++++++++ packages/nft-proxy-sdk/package.json | 2 +- packages/nft-voter-sdk/CHANGELOG.md | 8 ++++++++ packages/nft-voter-sdk/package.json | 6 +++--- packages/organization-sdk/CHANGELOG.md | 8 ++++++++ packages/organization-sdk/package.json | 6 +++--- packages/organization-wallet-sdk/CHANGELOG.md | 8 ++++++++ packages/organization-wallet-sdk/package.json | 6 +++--- packages/proposal-sdk/CHANGELOG.md | 8 ++++++++ packages/proposal-sdk/package.json | 4 ++-- packages/state-controller-sdk/CHANGELOG.md | 8 ++++++++ packages/state-controller-sdk/package.json | 4 ++-- packages/token-voter-sdk/CHANGELOG.md | 8 ++++++++ packages/token-voter-sdk/package.json | 4 ++-- 22 files changed, 110 insertions(+), 22 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0b04647..b6d755d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.0.14](https://github.com/helium/modular-governance/compare/v0.0.13...v0.0.14) (2024-10-24) + +**Note:** Version bump only for package modular-governance + + + + + ## [0.0.13](https://github.com/helium/modular-governance/compare/v0.0.12...v0.0.13) (2024-09-06) **Note:** Version bump only for package modular-governance diff --git a/lerna.json b/lerna.json index 1ff5f00..be2ddd3 100644 --- a/lerna.json +++ b/lerna.json @@ -4,5 +4,5 @@ "packages/*" ], "useWorkspaces": true, - "version": "0.0.13" + "version": "0.0.14" } diff --git a/packages/docsite/CHANGELOG.md b/packages/docsite/CHANGELOG.md index 803bfd5..9108590 100644 --- a/packages/docsite/CHANGELOG.md +++ b/packages/docsite/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.0.14](https://github.com/helium/modular-governance/compare/v0.0.13...v0.0.14) (2024-10-24) + +**Note:** Version bump only for package governance-docs + + + + + ## [0.0.13](https://github.com/helium/modular-governance/compare/v0.0.12...v0.0.13) (2024-09-06) **Note:** Version bump only for package governance-docs diff --git a/packages/docsite/package.json b/packages/docsite/package.json index 4586957..e9ce96c 100644 --- a/packages/docsite/package.json +++ b/packages/docsite/package.json @@ -1,6 +1,6 @@ { "name": "governance-docs", - "version": "0.0.13", + "version": "0.0.14", "private": true, "scripts": { "dev": "next dev", diff --git a/packages/modular-governance-hooks/CHANGELOG.md b/packages/modular-governance-hooks/CHANGELOG.md index 1216c73..7fff1c2 100644 --- a/packages/modular-governance-hooks/CHANGELOG.md +++ b/packages/modular-governance-hooks/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.0.14](https://github.com/helium/modular-governance/compare/v0.0.13...v0.0.14) (2024-10-24) + +**Note:** Version bump only for package @helium/modular-governance-hooks + + + + + ## [0.0.13](https://github.com/helium/modular-governance/compare/v0.0.12...v0.0.13) (2024-09-06) **Note:** Version bump only for package @helium/modular-governance-hooks diff --git a/packages/modular-governance-hooks/package.json b/packages/modular-governance-hooks/package.json index f75c3a3..0e7b493 100644 --- a/packages/modular-governance-hooks/package.json +++ b/packages/modular-governance-hooks/package.json @@ -6,7 +6,7 @@ "registry": "https://registry.npmjs.org/" }, "license": "Apache-2.0", - "version": "0.0.13", + "version": "0.0.14", "description": "React hooks for modular governance", "repository": { "type": "git", @@ -36,8 +36,8 @@ "@helium/account-fetch-cache": "^0.5.0", "@helium/account-fetch-cache-hooks": "^0.5.0", "@helium/helium-react-hooks": "^0.5.0", - "@helium/modular-governance-idls": "^0.0.13", - "@helium/organization-sdk": "^0.0.13", + "@helium/modular-governance-idls": "^0.0.14", + "@helium/organization-sdk": "^0.0.14", "@solana/web3.js": "^1.78.4" }, "devDependencies": { diff --git a/packages/modular-governance-idls/CHANGELOG.md b/packages/modular-governance-idls/CHANGELOG.md index ed879f8..9595e3b 100644 --- a/packages/modular-governance-idls/CHANGELOG.md +++ b/packages/modular-governance-idls/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.0.14](https://github.com/helium/modular-governance/compare/v0.0.13...v0.0.14) (2024-10-24) + +**Note:** Version bump only for package @helium/modular-governance-idls + + + + + ## [0.0.13](https://github.com/helium/modular-governance/compare/v0.0.12...v0.0.13) (2024-09-06) **Note:** Version bump only for package @helium/modular-governance-idls diff --git a/packages/modular-governance-idls/package.json b/packages/modular-governance-idls/package.json index 91737fd..dc11ff9 100644 --- a/packages/modular-governance-idls/package.json +++ b/packages/modular-governance-idls/package.json @@ -1,6 +1,6 @@ { "name": "@helium/modular-governance-idls", - "version": "0.0.13", + "version": "0.0.14", "description": "Exported idls", "publishConfig": { "access": "public", diff --git a/packages/nft-proxy-sdk/CHANGELOG.md b/packages/nft-proxy-sdk/CHANGELOG.md index 2f3c931..c28e8ad 100644 --- a/packages/nft-proxy-sdk/CHANGELOG.md +++ b/packages/nft-proxy-sdk/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.0.14](https://github.com/helium/modular-governance/compare/v0.0.13...v0.0.14) (2024-10-24) + +**Note:** Version bump only for package @helium/nft-proxy-sdk + + + + + ## [0.0.13](https://github.com/helium/modular-governance/compare/v0.0.12...v0.0.13) (2024-09-06) **Note:** Version bump only for package @helium/nft-proxy-sdk diff --git a/packages/nft-proxy-sdk/package.json b/packages/nft-proxy-sdk/package.json index 519a29b..658a692 100644 --- a/packages/nft-proxy-sdk/package.json +++ b/packages/nft-proxy-sdk/package.json @@ -5,7 +5,7 @@ "registry": "https://registry.npmjs.org/" }, "license": "Apache-2.0", - "version": "0.0.13", + "version": "0.0.14", "description": "Interface to the nft proxy smart contract", "repository": { "type": "git", diff --git a/packages/nft-voter-sdk/CHANGELOG.md b/packages/nft-voter-sdk/CHANGELOG.md index fe17e79..a5bede0 100644 --- a/packages/nft-voter-sdk/CHANGELOG.md +++ b/packages/nft-voter-sdk/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.0.14](https://github.com/helium/modular-governance/compare/v0.0.13...v0.0.14) (2024-10-24) + +**Note:** Version bump only for package @helium/nft-voter-sdk + + + + + ## [0.0.13](https://github.com/helium/modular-governance/compare/v0.0.12...v0.0.13) (2024-09-06) **Note:** Version bump only for package @helium/nft-voter-sdk diff --git a/packages/nft-voter-sdk/package.json b/packages/nft-voter-sdk/package.json index 23564a0..216f468 100644 --- a/packages/nft-voter-sdk/package.json +++ b/packages/nft-voter-sdk/package.json @@ -5,7 +5,7 @@ "registry": "https://registry.npmjs.org/" }, "license": "Apache-2.0", - "version": "0.0.13", + "version": "0.0.14", "description": "Interface to the nft voter smart contract", "repository": { "type": "git", @@ -33,8 +33,8 @@ "dependencies": { "@coral-xyz/anchor": "^0.28.0", "@helium/anchor-resolvers": "^0.5.0", - "@helium/modular-governance-idls": "^0.0.13", - "@helium/nft-proxy-sdk": "^0.0.13", + "@helium/modular-governance-idls": "^0.0.14", + "@helium/nft-proxy-sdk": "^0.0.14", "@solana/spl-token": "^0.3.8" }, "devDependencies": { diff --git a/packages/organization-sdk/CHANGELOG.md b/packages/organization-sdk/CHANGELOG.md index df13737..437627a 100644 --- a/packages/organization-sdk/CHANGELOG.md +++ b/packages/organization-sdk/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.0.14](https://github.com/helium/modular-governance/compare/v0.0.13...v0.0.14) (2024-10-24) + +**Note:** Version bump only for package @helium/organization-sdk + + + + + ## [0.0.13](https://github.com/helium/modular-governance/compare/v0.0.12...v0.0.13) (2024-09-06) **Note:** Version bump only for package @helium/organization-sdk diff --git a/packages/organization-sdk/package.json b/packages/organization-sdk/package.json index e434350..8de75ce 100644 --- a/packages/organization-sdk/package.json +++ b/packages/organization-sdk/package.json @@ -5,7 +5,7 @@ "registry": "https://registry.npmjs.org/" }, "license": "Apache-2.0", - "version": "0.0.13", + "version": "0.0.14", "description": "Interface to the organization smart contract", "repository": { "type": "git", @@ -33,8 +33,8 @@ "dependencies": { "@coral-xyz/anchor": "^0.28.0", "@helium/anchor-resolvers": "^0.5.0", - "@helium/modular-governance-idls": "^0.0.13", - "@helium/proposal-sdk": "^0.0.13" + "@helium/modular-governance-idls": "^0.0.14", + "@helium/proposal-sdk": "^0.0.14" }, "devDependencies": { "git-format-staged": "^2.1.3", diff --git a/packages/organization-wallet-sdk/CHANGELOG.md b/packages/organization-wallet-sdk/CHANGELOG.md index f40b2c0..47d4e38 100644 --- a/packages/organization-wallet-sdk/CHANGELOG.md +++ b/packages/organization-wallet-sdk/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.0.14](https://github.com/helium/modular-governance/compare/v0.0.13...v0.0.14) (2024-10-24) + +**Note:** Version bump only for package @helium/organization-wallet-sdk + + + + + ## [0.0.13](https://github.com/helium/modular-governance/compare/v0.0.12...v0.0.13) (2024-09-06) **Note:** Version bump only for package @helium/organization-wallet-sdk diff --git a/packages/organization-wallet-sdk/package.json b/packages/organization-wallet-sdk/package.json index 51e87c8..87a91fa 100644 --- a/packages/organization-wallet-sdk/package.json +++ b/packages/organization-wallet-sdk/package.json @@ -5,7 +5,7 @@ "registry": "https://registry.npmjs.org/" }, "license": "Apache-2.0", - "version": "0.0.13", + "version": "0.0.14", "description": "Interface to the organization wallet smart contract", "repository": { "type": "git", @@ -33,8 +33,8 @@ "dependencies": { "@coral-xyz/anchor": "^0.28.0", "@helium/anchor-resolvers": "^0.5.0", - "@helium/modular-governance-idls": "^0.0.13", - "@helium/proposal-sdk": "^0.0.13" + "@helium/modular-governance-idls": "^0.0.14", + "@helium/proposal-sdk": "^0.0.14" }, "devDependencies": { "git-format-staged": "^2.1.3", diff --git a/packages/proposal-sdk/CHANGELOG.md b/packages/proposal-sdk/CHANGELOG.md index 6fee964..65bcd6a 100644 --- a/packages/proposal-sdk/CHANGELOG.md +++ b/packages/proposal-sdk/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.0.14](https://github.com/helium/modular-governance/compare/v0.0.13...v0.0.14) (2024-10-24) + +**Note:** Version bump only for package @helium/proposal-sdk + + + + + ## [0.0.13](https://github.com/helium/modular-governance/compare/v0.0.12...v0.0.13) (2024-09-06) **Note:** Version bump only for package @helium/proposal-sdk diff --git a/packages/proposal-sdk/package.json b/packages/proposal-sdk/package.json index f8cf5b0..c02b5b5 100644 --- a/packages/proposal-sdk/package.json +++ b/packages/proposal-sdk/package.json @@ -5,7 +5,7 @@ "registry": "https://registry.npmjs.org/" }, "license": "Apache-2.0", - "version": "0.0.13", + "version": "0.0.14", "description": "Interface to the proposal smart contract", "repository": { "type": "git", @@ -33,7 +33,7 @@ "dependencies": { "@coral-xyz/anchor": "^0.28.0", "@helium/anchor-resolvers": "^0.5.0", - "@helium/modular-governance-idls": "^0.0.13" + "@helium/modular-governance-idls": "^0.0.14" }, "devDependencies": { "git-format-staged": "^2.1.3", diff --git a/packages/state-controller-sdk/CHANGELOG.md b/packages/state-controller-sdk/CHANGELOG.md index e98ce91..7e7c77d 100644 --- a/packages/state-controller-sdk/CHANGELOG.md +++ b/packages/state-controller-sdk/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.0.14](https://github.com/helium/modular-governance/compare/v0.0.13...v0.0.14) (2024-10-24) + +**Note:** Version bump only for package @helium/state-controller-sdk + + + + + ## [0.0.13](https://github.com/helium/modular-governance/compare/v0.0.12...v0.0.13) (2024-09-06) **Note:** Version bump only for package @helium/state-controller-sdk diff --git a/packages/state-controller-sdk/package.json b/packages/state-controller-sdk/package.json index aef9dc4..e4cecf6 100644 --- a/packages/state-controller-sdk/package.json +++ b/packages/state-controller-sdk/package.json @@ -5,7 +5,7 @@ "registry": "https://registry.npmjs.org/" }, "license": "Apache-2.0", - "version": "0.0.13", + "version": "0.0.14", "description": "Interface to the state controller smart contract", "repository": { "type": "git", @@ -33,7 +33,7 @@ "dependencies": { "@coral-xyz/anchor": "^0.28.0", "@helium/anchor-resolvers": "^0.5.0", - "@helium/modular-governance-idls": "^0.0.13" + "@helium/modular-governance-idls": "^0.0.14" }, "devDependencies": { "git-format-staged": "^2.1.3", diff --git a/packages/token-voter-sdk/CHANGELOG.md b/packages/token-voter-sdk/CHANGELOG.md index d3ed73a..4a02966 100644 --- a/packages/token-voter-sdk/CHANGELOG.md +++ b/packages/token-voter-sdk/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.0.14](https://github.com/helium/modular-governance/compare/v0.0.13...v0.0.14) (2024-10-24) + +**Note:** Version bump only for package @helium/token-voter-sdk + + + + + ## [0.0.13](https://github.com/helium/modular-governance/compare/v0.0.12...v0.0.13) (2024-09-06) **Note:** Version bump only for package @helium/token-voter-sdk diff --git a/packages/token-voter-sdk/package.json b/packages/token-voter-sdk/package.json index 419cbef..7fb9348 100644 --- a/packages/token-voter-sdk/package.json +++ b/packages/token-voter-sdk/package.json @@ -5,7 +5,7 @@ "registry": "https://registry.npmjs.org/" }, "license": "Apache-2.0", - "version": "0.0.13", + "version": "0.0.14", "description": "Interface to the token voter smart contract", "repository": { "type": "git", @@ -33,7 +33,7 @@ "dependencies": { "@coral-xyz/anchor": "^0.28.0", "@helium/anchor-resolvers": "^0.5.0", - "@helium/modular-governance-idls": "^0.0.13", + "@helium/modular-governance-idls": "^0.0.14", "@solana/spl-token": "^0.3.8" }, "devDependencies": { From a5a886bfdc8366fda79815024c328839524310d7 Mon Sep 17 00:00:00 2001 From: Noah Prince Date: Thu, 24 Oct 2024 16:56:38 -0500 Subject: [PATCH 17/25] Bump version --- .../pages/docs/api/state-controller-sdk.md | 25 +++++++++++-------- .../tsconfig.esm.tsbuildinfo | 2 +- 2 files changed, 15 insertions(+), 12 deletions(-) diff --git a/packages/docsite/src/pages/docs/api/state-controller-sdk.md b/packages/docsite/src/pages/docs/api/state-controller-sdk.md index e10045d..fe44d67 100644 --- a/packages/docsite/src/pages/docs/api/state-controller-sdk.md +++ b/packages/docsite/src/pages/docs/api/state-controller-sdk.md @@ -124,14 +124,17 @@ If you are looking for a quick start guide, check out the [Getting Started](/doc ### ResolutionNode -| Variant | Fields | -| ----------------- | ------------------------ | -| Resolved | choices: [object Object] | -| EndTimestamp | end_ts: i64 | -| OffsetFromStartTs | offset: i64 | -| ChoiceVoteWeight | weight_threshold: u128 | -| ChoicePercentage | percentage: i32 | -| Top | n: u16 | -| NumResolved | n: u16 | -| And | | -| Or | | +| Variant | Fields | +| ------------------------- | ------------------------ | +| Resolved | choices: [object Object] | +| EndTimestamp | end_ts: i64 | +| OffsetFromStartTs | offset: i64 | +| ChoiceVoteWeight | weight_threshold: u128 | +| ChoicePercentage | percentage: i32 | +| Top | n: u16 | +| NumResolved | n: u16 | +| And | | +| Or | | +| Not | choice_name: string | +| TotalWeight | weight_threshold: u128 | +| ChoicePercentageOfCurrent | percentage: i32 | diff --git a/packages/modular-governance-idls/packages/modular-governance-idls/tsconfig.esm.tsbuildinfo b/packages/modular-governance-idls/packages/modular-governance-idls/tsconfig.esm.tsbuildinfo index c677de3..f29d1a1 100644 --- a/packages/modular-governance-idls/packages/modular-governance-idls/tsconfig.esm.tsbuildinfo +++ b/packages/modular-governance-idls/packages/modular-governance-idls/tsconfig.esm.tsbuildinfo @@ -1 +1 @@ -{"program":{"fileNames":["../../../../node_modules/typescript/lib/lib.es5.d.ts","../../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../../target/types/nft_proxy.ts","../../../../target/types/nft_voter.ts","../../../../target/types/organization.ts","../../../../target/types/organization_wallet.ts","../../../../target/types/proposal.ts","../../../../target/types/state_controller.ts","../../../../target/types/token_voter.ts","../../../../target/types/vote_hook_interface.ts","../../../../node_modules/@types/node/assert.d.ts","../../../../node_modules/@types/node/assert/strict.d.ts","../../../../node_modules/@types/node/globals.d.ts","../../../../node_modules/@types/node/async_hooks.d.ts","../../../../node_modules/@types/node/buffer.d.ts","../../../../node_modules/@types/node/child_process.d.ts","../../../../node_modules/@types/node/cluster.d.ts","../../../../node_modules/@types/node/console.d.ts","../../../../node_modules/@types/node/constants.d.ts","../../../../node_modules/@types/node/crypto.d.ts","../../../../node_modules/@types/node/dgram.d.ts","../../../../node_modules/@types/node/diagnostics_channel.d.ts","../../../../node_modules/@types/node/dns.d.ts","../../../../node_modules/@types/node/dns/promises.d.ts","../../../../node_modules/@types/node/domain.d.ts","../../../../node_modules/@types/node/dom-events.d.ts","../../../../node_modules/@types/node/events.d.ts","../../../../node_modules/@types/node/fs.d.ts","../../../../node_modules/@types/node/fs/promises.d.ts","../../../../node_modules/@types/node/http.d.ts","../../../../node_modules/@types/node/http2.d.ts","../../../../node_modules/@types/node/https.d.ts","../../../../node_modules/@types/node/inspector.d.ts","../../../../node_modules/@types/node/module.d.ts","../../../../node_modules/@types/node/net.d.ts","../../../../node_modules/@types/node/os.d.ts","../../../../node_modules/@types/node/path.d.ts","../../../../node_modules/@types/node/perf_hooks.d.ts","../../../../node_modules/@types/node/process.d.ts","../../../../node_modules/@types/node/punycode.d.ts","../../../../node_modules/@types/node/querystring.d.ts","../../../../node_modules/@types/node/readline.d.ts","../../../../node_modules/@types/node/readline/promises.d.ts","../../../../node_modules/@types/node/repl.d.ts","../../../../node_modules/@types/node/stream.d.ts","../../../../node_modules/@types/node/stream/promises.d.ts","../../../../node_modules/@types/node/stream/consumers.d.ts","../../../../node_modules/@types/node/stream/web.d.ts","../../../../node_modules/@types/node/string_decoder.d.ts","../../../../node_modules/@types/node/test.d.ts","../../../../node_modules/@types/node/timers.d.ts","../../../../node_modules/@types/node/timers/promises.d.ts","../../../../node_modules/@types/node/tls.d.ts","../../../../node_modules/@types/node/trace_events.d.ts","../../../../node_modules/@types/node/tty.d.ts","../../../../node_modules/@types/node/url.d.ts","../../../../node_modules/@types/node/util.d.ts","../../../../node_modules/@types/node/v8.d.ts","../../../../node_modules/@types/node/vm.d.ts","../../../../node_modules/@types/node/wasi.d.ts","../../../../node_modules/@types/node/worker_threads.d.ts","../../../../node_modules/@types/node/zlib.d.ts","../../../../node_modules/@types/node/globals.global.d.ts","../../../../node_modules/@types/node/index.d.ts","../../../../node_modules/@types/bn.js/index.d.ts","../../../../node_modules/@types/chai/index.d.ts","../../../../node_modules/@types/chai-as-promised/index.d.ts","../../../../node_modules/@types/connect/index.d.ts","../../../../node_modules/@types/json5/index.d.ts","../../../../node_modules/@types/minimatch/index.d.ts","../../../../node_modules/@types/minimist/index.d.ts","../../../../node_modules/@types/mocha/index.d.ts","../../../../node_modules/@types/normalize-package-data/index.d.ts","../../../../node_modules/@types/parse-json/index.d.ts","../../../../node_modules/@types/pbkdf2/index.d.ts","../../../../node_modules/@types/secp256k1/index.d.ts","../../../../node_modules/@types/ws/index.d.ts"],"fileInfos":[{"version":"8730f4bf322026ff5229336391a18bcaa1f94d4f82416c8b2f3954e2ccaae2ba","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","4b421cbfb3a38a27c279dec1e9112c3d1da296f77a1a85ddadf7e7a425d45d18","1fc5ab7a764205c68fa10d381b08417795fc73111d6dd16b5b1ed36badb743d9",{"version":"adb996790133eb33b33aadb9c09f15c2c575e71fb57a62de8bf74dbf59ec7dfb","affectsGlobalScope":true},{"version":"8cc8c5a3bac513368b0157f3d8b31cfdcfe78b56d3724f30f80ed9715e404af8","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"c5c05907c02476e4bde6b7e76a79ffcd948aedd14b6a8f56e4674221b0417398","affectsGlobalScope":true},{"version":"5f406584aef28a331c36523df688ca3650288d14f39c5d2e555c95f0d2ff8f6f","affectsGlobalScope":true},{"version":"22f230e544b35349cfb3bd9110b6ef37b41c6d6c43c3314a31bd0d9652fcec72","affectsGlobalScope":true},{"version":"7ea0b55f6b315cf9ac2ad622b0a7813315bb6e97bf4bb3fbf8f8affbca7dc695","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"eb26de841c52236d8222f87e9e6a235332e0788af8c87a71e9e210314300410a","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"81cac4cbc92c0c839c70f8ffb94eb61e2d32dc1c3cf6d95844ca099463cf37ea","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true},{"version":"6e7997ef61de3132e4d4b2250e75343f487903ddf5370e7ce33cf1b9db9a63ed","affectsGlobalScope":true},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true},{"version":"5e5e095c4470c8bab227dbbc61374878ecead104c74ab9960d3adcccfee23205","affectsGlobalScope":true},{"version":"09aa50414b80c023553090e2f53827f007a301bc34b0495bfb2c3c08ab9ad1eb","affectsGlobalScope":true},{"version":"d7f680a43f8cd12a6b6122c07c54ba40952b0c8aa140dcfcf32eb9e6cb028596","affectsGlobalScope":true},{"version":"3787b83e297de7c315d55d4a7c546ae28e5f6c0a361b7a1dcec1f1f50a54ef11","affectsGlobalScope":true},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true},{"version":"2768ef564cfc0689a1b76106c421a2909bdff0acbe87da010785adab80efdd5c","affectsGlobalScope":true},{"version":"b248e32ca52e8f5571390a4142558ae4f203ae2f94d5bac38a3084d529ef4e58","affectsGlobalScope":true},{"version":"fb4416144c1bf0323ccbc9afb0ab289c07312214e8820ad17d709498c865a3fe","affectsGlobalScope":true},{"version":"52d1bb7ab7a3306fd0375c8bff560feed26ed676a5b0457fa8027b563aecb9a4","affectsGlobalScope":true},{"version":"4c49cc5572d80ef350f929108b067de4c4b1999a973e2e4bcfe930ae982db608","signature":"29133ef9e5680a6ec1b7b580e4233d15c63ab1cb95bb52aeede5410cdb6b8eb2"},{"version":"eadfc6ff785ba5ada489d5d5d4a069dc197df0301b889ab80b5a9dbcde296fe1","signature":"a9d7c462b1c33a8607b393473faf17427c9470eaa228fcd92dfd2c813df9d390"},{"version":"7fa8ab21c2bb00ee455d14225819d7500ff0af2a32385514346f54c5d4b35cf0","signature":"91fee60e7136d3e7a986d33f5a9b281a9ca120615ece0d58cc823af2a640bd03"},{"version":"e999f73e9109ef7f47afd0911ae1774810ea3b71735368578c6909db721da024","signature":"6660fedad551695604e38684d324129da4c3c6872b220ae7aa51f7e5acf0dd8d"},{"version":"bbed6ec58ac8b2b0152f382dfb2a16fd6ff62e2f1ced0f7d51dfe63280476551","signature":"b790e6cd12a86356afff831d3cd8942892277cceedb9d58b6f68595232306aef"},{"version":"e981c0967d846b371a64bf49253f3f7af32f55157fbafc6b9cc8a5e0d556ed78","signature":"10b4f0fd3cc9ed4fcbd29959227804052c56e408421007a31b352fe9f7b4770f"},{"version":"2eb961423bb717b36ae6c89167574dc0a36a7469bd999bd088c854c11f481108","signature":"7e7d62fa024ea32b3e9bb2f0e97e200654e52b6a01513d06489d876ee0064c2c"},{"version":"d3fc1a478c7ee31a2c0900394e6531c6b0df5aa9395bdc601c83697a0c78b0f5","signature":"4ecc1ccb0bb5e43a48a6bae3314e125ca4a043424d2729982a71cdb943a66156"},"587f13f1e8157bd8cec0adda0de4ef558bb8573daa9d518d1e2af38e87ecc91f","a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a",{"version":"bce910d9164785c9f0d4dcea4be359f5f92130c7c7833dea6138ab1db310a1f9","affectsGlobalScope":true},"7a435e0c814f58f23e9a0979045ec0ef5909aac95a70986e8bcce30c27dff228",{"version":"c81c51f43e343b6d89114b17341fb9d381c4ccbb25e0ee77532376052c801ba7","affectsGlobalScope":true},"db71be322f07f769200108aa19b79a75dd19a187c9dca2a30c4537b233aa2863","57135ce61976a8b1dadd01bb412406d1805b90db6e8ecb726d0d78e0b5f76050",{"version":"49479e21a040c0177d1b1bc05a124c0383df7a08a0726ad4d9457619642e875a","affectsGlobalScope":true},"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","f302f3a47d7758f67f2afc753b9375d6504dde05d2e6ecdb1df50abbb131fc89","3690133deae19c8127c5505fcb67b04bdc9eb053796008538a9b9abbb70d85aa","5b1c0a23f464f894e7c2b2b6c56df7b9afa60ed48c5345f8618d389a636b2108","be2b092f2765222757c6441b86c53a5ea8dfed47bbc43eab4c5fe37942c866b3","8e6b05abc98adba15e1ac78e137c64576c74002e301d682e66feb77a23907ab8","1ca735bb3d407b2af4fbee7665f3a0a83be52168c728cc209755060ba7ed67bd",{"version":"6b526a5ec4a401ca7c26cfe6a48e641d8f30af76673bad3b06a1b4504594a960","affectsGlobalScope":true},{"version":"b85c02e14ecb2a873dad5a1de72319b265160ba48f1b83661aeb3bba1366c1bc","affectsGlobalScope":true},"7a2ba0c9af860ac3e77b35ed01fd96d15986f17aa22fe40f188ae556fb1070df","fc3764040518a1008dd04bdc80964591b566b896283e00df85c95851c1f46237","55709608060f77965c270ac10ac646286589f1bd1cb174fff1778a2dd9a7ef31","790623a47c5eda62910098884ecb154dc0e5f3a23fc36c1bfb3b5b9ed44e2c2d","42b40e40f2a358cda332456214fad311e1806a6abf3cebaaac72496e07556642","354612fe1d49ecc9551ea3a27d94eef2887b64ef4a71f72ca444efe0f2f0ba80",{"version":"ac0c77cd7db52b3c278bdd1452ce754014835493d05b84535f46854fdc2063b2","affectsGlobalScope":true},"b9f36877501f2ce0e276e993c93cd2cf325e78d0409ec4612b1eb9d6a537e60b","5e2b91328a540a0933ab5c2203f4358918e6f0fe7505d22840a891a6117735f1","3abc3512fa04aa0230f59ea1019311fd8667bd935d28306311dccc8b17e79d5d",{"version":"14a50dafe3f45713f7f27cb6320dff07c6ac31678f07959c2134260061bf91ff","affectsGlobalScope":true},{"version":"19da7150ca062323b1db6311a6ef058c9b0a39cc64d836b5e9b75d301869653b","affectsGlobalScope":true},"1349077576abb41f0e9c78ec30762ff75b710208aff77f5fdcc6a8c8ce6289dd","e2ce82603102b5c0563f59fb40314cc1ff95a4d521a66ad14146e130ea80d89c","a3e0395220255a350aa9c6d56f882bfcb5b85c19fddf5419ec822cf22246a26d","c27b01e8ddff5cd280711af5e13aecd9a3228d1c256ea797dd64f8fdec5f7df5","898840e876dfd21843db9f2aa6ae38ba2eab550eb780ff62b894b9fbfebfae6b","0cab4d7d4edc40cd3af9eea7c3ed6d1016910c0954c49c4297e479bf3822a625","1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff","785e5be57d4f20f290a20e7b0c6263f6c57fd6e51283050756cef07d6d651c68","44b8b584a338b190a59f4f6929d072431950c7bd92ec2694821c11bce180c8a5","164deb2409ac5f4da3cd139dbcee7f7d66753d90363a4d7e2db8d8874f272270",{"version":"ffc62d73b4fa10ca8c59f8802df88efefe447025730a24ee977b60adedc5bf37","affectsGlobalScope":true},{"version":"ab294c4b7279318ee2a8fdf681305457ecc05970c94108d304933f18823eeac1","affectsGlobalScope":true},"ad08154d9602429522cac965a715fde27d421d69b24756c5d291877dda75353e","5bc85813bfcb6907cc3a960fec8734a29d7884e0e372515147720c5991b8bc22","812b25f798033c202baedf386a1ccc41f9191b122f089bffd10fdccce99fba11","993325544790073f77e945bee046d53988c0bc3ac5695c9cf8098166feb82661",{"version":"75dd741ca6a6c8d2437a6ca8349b64b816421dbf9fe82dd026afaba965576962","affectsGlobalScope":true},{"version":"0e08c360c9b5961ecb0537b703e253842b3ded53151ee07024148219b61a8baf","affectsGlobalScope":true},"2ce2210032ccaff7710e2abf6a722e62c54960458e73e356b6a365c93ab6ca66","92db194ef7d208d5e4b6242a3434573fd142a621ff996d84cc9dbba3553277d0","16a3080e885ed52d4017c902227a8d0d8daf723d062bec9e45627c6fdcd6699b",{"version":"0bd9543cd8fc0959c76fb8f4f5a26626c2ed62ef4be98fd857bce268066db0a2","affectsGlobalScope":true},"1ca6858a0cbcd74d7db72d7b14c5360a928d1d16748a55ecfa6bfaff8b83071b",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"ebf3434b09c527078aa74139ff367fffa64fea32a01d6c06fb0a69b0ecadf43e","01f7828047b5c6703d3c601473618b448f5506a88fcac852638b0715c3abf4eb",{"version":"c3bc5d095c3c22fd20b5a6550b9c9a6d56c3ffbb87ef057ccce7764b6bed4428","affectsGlobalScope":true},{"version":"63e2182615c513e89bb8a3e749d08f7c379e86490fcdbf6d35f2c14b3507a6e8","affectsGlobalScope":true},"6d829824ead8999f87b6df21200df3c6150391b894b4e80662caa462bd48d073","96d14f21b7652903852eef49379d04dbda28c16ed36468f8c9fa08f7c14c9538","8841e2aa774b89bd23302dede20663306dc1b9902431ac64b24be8b8d0e3f649","209e814e8e71aec74f69686a9506dd7610b97ab59dcee9446266446f72a76d05",{"version":"3f6d6465811321abc30a1e5f667feed63e5b3917b3d6c8d6645daf96c75f97ba","affectsGlobalScope":true},"6fa0008bf91a4cc9c8963bace4bba0bd6865cbfa29c3e3ccc461155660fb113a","916be7d770b0ae0406be9486ac12eb9825f21514961dd050594c4b250617d5a8","a73a445c1e0a6d0f8b48e8eb22dc9d647896783a7f8991cbbc31c0d94bf1f5a2","3dce33e7eb25594863b8e615f14a45ab98190d85953436750644212d8a18c066","bc81aff061c53a7140270555f4b22da4ecfe8601e8027cf5aa175fbdc7927c31"],"options":{"allowSyntheticDefaultImports":true,"composite":true,"declaration":true,"declarationDir":"../../lib/types","declarationMap":true,"esModuleInterop":true,"module":99,"noEmitOnError":true,"outDir":"../../lib/esm","rootDir":"../../../../target/types","skipLibCheck":true,"sourceMap":true,"strict":false,"stripInternal":true,"target":99},"fileIdsList":[[97,104],[97,106],[97],[70,97,104],[51,97],[54,97],[55,60,88,97],[56,67,68,75,85,96,97],[56,57,67,75,97],[58,97],[59,60,68,76,97],[60,85,93,97],[61,63,67,75,97],[62,97],[63,64,97],[67,97],[65,67,97],[67,68,69,85,96,97],[67,68,69,82,85,88,97],[97,101],[63,67,70,75,85,96,97],[67,68,70,71,75,85,93,96,97],[70,72,85,93,96,97],[51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103],[67,73,97],[74,96,97],[63,67,75,85,97],[76,97],[77,97],[54,78,97],[79,95,97,101],[80,97],[81,97],[67,82,83,97],[82,84,97,99],[55,67,85,86,87,88,97],[55,85,87,97],[85,86,97],[88,97],[89,97],[85,97],[67,91,92,97],[91,92,97],[60,75,85,93,97],[94,97],[75,95,97],[55,70,81,96,97],[60,97],[85,97,98],[97,99],[97,100],[55,60,67,69,78,85,96,97,99,101],[85,97,102],[67,70,72,75,85,93,96,97,102,104]],"referencedMap":[[105,1],[107,2],[106,3],[108,4],[109,3],[110,3],[111,3],[112,3],[51,5],[52,5],[54,6],[55,7],[56,8],[57,9],[58,10],[59,11],[60,12],[61,13],[62,14],[63,15],[64,15],[66,16],[65,17],[67,16],[68,18],[69,19],[53,20],[103,3],[70,21],[71,22],[72,23],[104,24],[73,25],[74,26],[75,27],[76,28],[77,29],[78,30],[79,31],[80,32],[81,33],[82,34],[83,34],[84,35],[85,36],[87,37],[86,38],[88,39],[89,40],[90,41],[91,42],[92,43],[93,44],[94,45],[95,46],[96,47],[97,48],[98,49],[99,50],[100,51],[101,52],[102,53],[113,3],[114,3],[115,1],[116,1],[117,54],[9,3],[8,3],[2,3],[10,3],[11,3],[12,3],[13,3],[14,3],[15,3],[16,3],[17,3],[3,3],[4,3],[21,3],[18,3],[19,3],[20,3],[22,3],[23,3],[24,3],[5,3],[25,3],[26,3],[27,3],[28,3],[6,3],[32,3],[29,3],[30,3],[31,3],[33,3],[7,3],[34,3],[39,3],[40,3],[35,3],[36,3],[37,3],[38,3],[41,3],[1,3],[42,3],[43,3],[44,3],[45,3],[46,3],[47,3],[48,3],[49,3],[50,3]],"exportedModulesMap":[[105,1],[107,2],[106,3],[108,4],[109,3],[110,3],[111,3],[112,3],[51,5],[52,5],[54,6],[55,7],[56,8],[57,9],[58,10],[59,11],[60,12],[61,13],[62,14],[63,15],[64,15],[66,16],[65,17],[67,16],[68,18],[69,19],[53,20],[103,3],[70,21],[71,22],[72,23],[104,24],[73,25],[74,26],[75,27],[76,28],[77,29],[78,30],[79,31],[80,32],[81,33],[82,34],[83,34],[84,35],[85,36],[87,37],[86,38],[88,39],[89,40],[90,41],[91,42],[92,43],[93,44],[94,45],[95,46],[96,47],[97,48],[98,49],[99,50],[100,51],[101,52],[102,53],[113,3],[114,3],[115,1],[116,1],[117,54],[9,3],[8,3],[2,3],[10,3],[11,3],[12,3],[13,3],[14,3],[15,3],[16,3],[17,3],[3,3],[4,3],[21,3],[18,3],[19,3],[20,3],[22,3],[23,3],[24,3],[5,3],[25,3],[26,3],[27,3],[28,3],[6,3],[32,3],[29,3],[30,3],[31,3],[33,3],[7,3],[34,3],[39,3],[40,3],[35,3],[36,3],[37,3],[38,3],[41,3],[1,3],[42,3]],"semanticDiagnosticsPerFile":[105,107,106,108,109,110,111,112,51,52,54,55,56,57,58,59,60,61,62,63,64,66,65,67,68,69,53,103,70,71,72,104,73,74,75,76,77,78,79,80,81,82,83,84,85,87,86,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,113,114,115,116,117,9,8,2,10,11,12,13,14,15,16,17,3,4,21,18,19,20,22,23,24,5,25,26,27,28,6,32,29,30,31,33,7,34,39,40,35,36,37,38,41,1,42,43,44,45,46,47,48,49,50],"latestChangedDtsFile":"../../lib/types/state_controller.d.ts"},"version":"4.9.5"} \ No newline at end of file +{"program":{"fileNames":["../../../../node_modules/typescript/lib/lib.es5.d.ts","../../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../../target/types/nft_proxy.ts","../../../../target/types/nft_voter.ts","../../../../target/types/organization.ts","../../../../target/types/organization_wallet.ts","../../../../target/types/proposal.ts","../../../../target/types/state_controller.ts","../../../../target/types/token_voter.ts","../../../../target/types/vote_hook_interface.ts","../../../../node_modules/@types/node/assert.d.ts","../../../../node_modules/@types/node/assert/strict.d.ts","../../../../node_modules/@types/node/globals.d.ts","../../../../node_modules/@types/node/async_hooks.d.ts","../../../../node_modules/@types/node/buffer.d.ts","../../../../node_modules/@types/node/child_process.d.ts","../../../../node_modules/@types/node/cluster.d.ts","../../../../node_modules/@types/node/console.d.ts","../../../../node_modules/@types/node/constants.d.ts","../../../../node_modules/@types/node/crypto.d.ts","../../../../node_modules/@types/node/dgram.d.ts","../../../../node_modules/@types/node/diagnostics_channel.d.ts","../../../../node_modules/@types/node/dns.d.ts","../../../../node_modules/@types/node/dns/promises.d.ts","../../../../node_modules/@types/node/domain.d.ts","../../../../node_modules/@types/node/dom-events.d.ts","../../../../node_modules/@types/node/events.d.ts","../../../../node_modules/@types/node/fs.d.ts","../../../../node_modules/@types/node/fs/promises.d.ts","../../../../node_modules/@types/node/http.d.ts","../../../../node_modules/@types/node/http2.d.ts","../../../../node_modules/@types/node/https.d.ts","../../../../node_modules/@types/node/inspector.d.ts","../../../../node_modules/@types/node/module.d.ts","../../../../node_modules/@types/node/net.d.ts","../../../../node_modules/@types/node/os.d.ts","../../../../node_modules/@types/node/path.d.ts","../../../../node_modules/@types/node/perf_hooks.d.ts","../../../../node_modules/@types/node/process.d.ts","../../../../node_modules/@types/node/punycode.d.ts","../../../../node_modules/@types/node/querystring.d.ts","../../../../node_modules/@types/node/readline.d.ts","../../../../node_modules/@types/node/readline/promises.d.ts","../../../../node_modules/@types/node/repl.d.ts","../../../../node_modules/@types/node/stream.d.ts","../../../../node_modules/@types/node/stream/promises.d.ts","../../../../node_modules/@types/node/stream/consumers.d.ts","../../../../node_modules/@types/node/stream/web.d.ts","../../../../node_modules/@types/node/string_decoder.d.ts","../../../../node_modules/@types/node/test.d.ts","../../../../node_modules/@types/node/timers.d.ts","../../../../node_modules/@types/node/timers/promises.d.ts","../../../../node_modules/@types/node/tls.d.ts","../../../../node_modules/@types/node/trace_events.d.ts","../../../../node_modules/@types/node/tty.d.ts","../../../../node_modules/@types/node/url.d.ts","../../../../node_modules/@types/node/util.d.ts","../../../../node_modules/@types/node/v8.d.ts","../../../../node_modules/@types/node/vm.d.ts","../../../../node_modules/@types/node/wasi.d.ts","../../../../node_modules/@types/node/worker_threads.d.ts","../../../../node_modules/@types/node/zlib.d.ts","../../../../node_modules/@types/node/globals.global.d.ts","../../../../node_modules/@types/node/index.d.ts","../../../../node_modules/@types/bn.js/index.d.ts","../../../../node_modules/@types/chai/index.d.ts","../../../../node_modules/@types/chai-as-promised/index.d.ts","../../../../node_modules/@types/connect/index.d.ts","../../../../node_modules/@types/json5/index.d.ts","../../../../node_modules/@types/minimatch/index.d.ts","../../../../node_modules/@types/minimist/index.d.ts","../../../../node_modules/@types/mocha/index.d.ts","../../../../node_modules/@types/normalize-package-data/index.d.ts","../../../../node_modules/@types/parse-json/index.d.ts","../../../../node_modules/@types/pbkdf2/index.d.ts","../../../../node_modules/@types/secp256k1/index.d.ts","../../../../node_modules/@types/ws/index.d.ts"],"fileInfos":[{"version":"8730f4bf322026ff5229336391a18bcaa1f94d4f82416c8b2f3954e2ccaae2ba","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","4b421cbfb3a38a27c279dec1e9112c3d1da296f77a1a85ddadf7e7a425d45d18","1fc5ab7a764205c68fa10d381b08417795fc73111d6dd16b5b1ed36badb743d9",{"version":"adb996790133eb33b33aadb9c09f15c2c575e71fb57a62de8bf74dbf59ec7dfb","affectsGlobalScope":true},{"version":"8cc8c5a3bac513368b0157f3d8b31cfdcfe78b56d3724f30f80ed9715e404af8","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"c5c05907c02476e4bde6b7e76a79ffcd948aedd14b6a8f56e4674221b0417398","affectsGlobalScope":true},{"version":"5f406584aef28a331c36523df688ca3650288d14f39c5d2e555c95f0d2ff8f6f","affectsGlobalScope":true},{"version":"22f230e544b35349cfb3bd9110b6ef37b41c6d6c43c3314a31bd0d9652fcec72","affectsGlobalScope":true},{"version":"7ea0b55f6b315cf9ac2ad622b0a7813315bb6e97bf4bb3fbf8f8affbca7dc695","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"eb26de841c52236d8222f87e9e6a235332e0788af8c87a71e9e210314300410a","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"81cac4cbc92c0c839c70f8ffb94eb61e2d32dc1c3cf6d95844ca099463cf37ea","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true},{"version":"6e7997ef61de3132e4d4b2250e75343f487903ddf5370e7ce33cf1b9db9a63ed","affectsGlobalScope":true},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true},{"version":"5e5e095c4470c8bab227dbbc61374878ecead104c74ab9960d3adcccfee23205","affectsGlobalScope":true},{"version":"09aa50414b80c023553090e2f53827f007a301bc34b0495bfb2c3c08ab9ad1eb","affectsGlobalScope":true},{"version":"d7f680a43f8cd12a6b6122c07c54ba40952b0c8aa140dcfcf32eb9e6cb028596","affectsGlobalScope":true},{"version":"3787b83e297de7c315d55d4a7c546ae28e5f6c0a361b7a1dcec1f1f50a54ef11","affectsGlobalScope":true},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true},{"version":"2768ef564cfc0689a1b76106c421a2909bdff0acbe87da010785adab80efdd5c","affectsGlobalScope":true},{"version":"b248e32ca52e8f5571390a4142558ae4f203ae2f94d5bac38a3084d529ef4e58","affectsGlobalScope":true},{"version":"fb4416144c1bf0323ccbc9afb0ab289c07312214e8820ad17d709498c865a3fe","affectsGlobalScope":true},{"version":"52d1bb7ab7a3306fd0375c8bff560feed26ed676a5b0457fa8027b563aecb9a4","affectsGlobalScope":true},{"version":"4c49cc5572d80ef350f929108b067de4c4b1999a973e2e4bcfe930ae982db608","signature":"29133ef9e5680a6ec1b7b580e4233d15c63ab1cb95bb52aeede5410cdb6b8eb2"},{"version":"eadfc6ff785ba5ada489d5d5d4a069dc197df0301b889ab80b5a9dbcde296fe1","signature":"a9d7c462b1c33a8607b393473faf17427c9470eaa228fcd92dfd2c813df9d390"},{"version":"7fa8ab21c2bb00ee455d14225819d7500ff0af2a32385514346f54c5d4b35cf0","signature":"91fee60e7136d3e7a986d33f5a9b281a9ca120615ece0d58cc823af2a640bd03"},{"version":"e999f73e9109ef7f47afd0911ae1774810ea3b71735368578c6909db721da024","signature":"6660fedad551695604e38684d324129da4c3c6872b220ae7aa51f7e5acf0dd8d"},{"version":"bbed6ec58ac8b2b0152f382dfb2a16fd6ff62e2f1ced0f7d51dfe63280476551","signature":"b790e6cd12a86356afff831d3cd8942892277cceedb9d58b6f68595232306aef"},{"version":"e981c0967d846b371a64bf49253f3f7af32f55157fbafc6b9cc8a5e0d556ed78","signature":"10b4f0fd3cc9ed4fcbd29959227804052c56e408421007a31b352fe9f7b4770f"},{"version":"2eb961423bb717b36ae6c89167574dc0a36a7469bd999bd088c854c11f481108","signature":"7e7d62fa024ea32b3e9bb2f0e97e200654e52b6a01513d06489d876ee0064c2c"},{"version":"d3fc1a478c7ee31a2c0900394e6531c6b0df5aa9395bdc601c83697a0c78b0f5","signature":"4ecc1ccb0bb5e43a48a6bae3314e125ca4a043424d2729982a71cdb943a66156"},"587f13f1e8157bd8cec0adda0de4ef558bb8573daa9d518d1e2af38e87ecc91f","a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a",{"version":"bce910d9164785c9f0d4dcea4be359f5f92130c7c7833dea6138ab1db310a1f9","affectsGlobalScope":true},"7a435e0c814f58f23e9a0979045ec0ef5909aac95a70986e8bcce30c27dff228",{"version":"c81c51f43e343b6d89114b17341fb9d381c4ccbb25e0ee77532376052c801ba7","affectsGlobalScope":true},"db71be322f07f769200108aa19b79a75dd19a187c9dca2a30c4537b233aa2863","57135ce61976a8b1dadd01bb412406d1805b90db6e8ecb726d0d78e0b5f76050",{"version":"49479e21a040c0177d1b1bc05a124c0383df7a08a0726ad4d9457619642e875a","affectsGlobalScope":true},"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","f302f3a47d7758f67f2afc753b9375d6504dde05d2e6ecdb1df50abbb131fc89","3690133deae19c8127c5505fcb67b04bdc9eb053796008538a9b9abbb70d85aa","5b1c0a23f464f894e7c2b2b6c56df7b9afa60ed48c5345f8618d389a636b2108","be2b092f2765222757c6441b86c53a5ea8dfed47bbc43eab4c5fe37942c866b3","8e6b05abc98adba15e1ac78e137c64576c74002e301d682e66feb77a23907ab8","1ca735bb3d407b2af4fbee7665f3a0a83be52168c728cc209755060ba7ed67bd",{"version":"6b526a5ec4a401ca7c26cfe6a48e641d8f30af76673bad3b06a1b4504594a960","affectsGlobalScope":true},{"version":"b85c02e14ecb2a873dad5a1de72319b265160ba48f1b83661aeb3bba1366c1bc","affectsGlobalScope":true},"7a2ba0c9af860ac3e77b35ed01fd96d15986f17aa22fe40f188ae556fb1070df","fc3764040518a1008dd04bdc80964591b566b896283e00df85c95851c1f46237","55709608060f77965c270ac10ac646286589f1bd1cb174fff1778a2dd9a7ef31","790623a47c5eda62910098884ecb154dc0e5f3a23fc36c1bfb3b5b9ed44e2c2d","42b40e40f2a358cda332456214fad311e1806a6abf3cebaaac72496e07556642","354612fe1d49ecc9551ea3a27d94eef2887b64ef4a71f72ca444efe0f2f0ba80",{"version":"ac0c77cd7db52b3c278bdd1452ce754014835493d05b84535f46854fdc2063b2","affectsGlobalScope":true},"b9f36877501f2ce0e276e993c93cd2cf325e78d0409ec4612b1eb9d6a537e60b","5e2b91328a540a0933ab5c2203f4358918e6f0fe7505d22840a891a6117735f1","3abc3512fa04aa0230f59ea1019311fd8667bd935d28306311dccc8b17e79d5d",{"version":"14a50dafe3f45713f7f27cb6320dff07c6ac31678f07959c2134260061bf91ff","affectsGlobalScope":true},{"version":"19da7150ca062323b1db6311a6ef058c9b0a39cc64d836b5e9b75d301869653b","affectsGlobalScope":true},"1349077576abb41f0e9c78ec30762ff75b710208aff77f5fdcc6a8c8ce6289dd","e2ce82603102b5c0563f59fb40314cc1ff95a4d521a66ad14146e130ea80d89c","a3e0395220255a350aa9c6d56f882bfcb5b85c19fddf5419ec822cf22246a26d","c27b01e8ddff5cd280711af5e13aecd9a3228d1c256ea797dd64f8fdec5f7df5","898840e876dfd21843db9f2aa6ae38ba2eab550eb780ff62b894b9fbfebfae6b","0cab4d7d4edc40cd3af9eea7c3ed6d1016910c0954c49c4297e479bf3822a625","1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff","785e5be57d4f20f290a20e7b0c6263f6c57fd6e51283050756cef07d6d651c68","44b8b584a338b190a59f4f6929d072431950c7bd92ec2694821c11bce180c8a5","164deb2409ac5f4da3cd139dbcee7f7d66753d90363a4d7e2db8d8874f272270",{"version":"ffc62d73b4fa10ca8c59f8802df88efefe447025730a24ee977b60adedc5bf37","affectsGlobalScope":true},{"version":"ab294c4b7279318ee2a8fdf681305457ecc05970c94108d304933f18823eeac1","affectsGlobalScope":true},"ad08154d9602429522cac965a715fde27d421d69b24756c5d291877dda75353e","5bc85813bfcb6907cc3a960fec8734a29d7884e0e372515147720c5991b8bc22","812b25f798033c202baedf386a1ccc41f9191b122f089bffd10fdccce99fba11","993325544790073f77e945bee046d53988c0bc3ac5695c9cf8098166feb82661",{"version":"75dd741ca6a6c8d2437a6ca8349b64b816421dbf9fe82dd026afaba965576962","affectsGlobalScope":true},{"version":"0e08c360c9b5961ecb0537b703e253842b3ded53151ee07024148219b61a8baf","affectsGlobalScope":true},"2ce2210032ccaff7710e2abf6a722e62c54960458e73e356b6a365c93ab6ca66","92db194ef7d208d5e4b6242a3434573fd142a621ff996d84cc9dbba3553277d0","16a3080e885ed52d4017c902227a8d0d8daf723d062bec9e45627c6fdcd6699b",{"version":"0bd9543cd8fc0959c76fb8f4f5a26626c2ed62ef4be98fd857bce268066db0a2","affectsGlobalScope":true},"1ca6858a0cbcd74d7db72d7b14c5360a928d1d16748a55ecfa6bfaff8b83071b",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"ebf3434b09c527078aa74139ff367fffa64fea32a01d6c06fb0a69b0ecadf43e","01f7828047b5c6703d3c601473618b448f5506a88fcac852638b0715c3abf4eb",{"version":"c3bc5d095c3c22fd20b5a6550b9c9a6d56c3ffbb87ef057ccce7764b6bed4428","affectsGlobalScope":true},{"version":"63e2182615c513e89bb8a3e749d08f7c379e86490fcdbf6d35f2c14b3507a6e8","affectsGlobalScope":true},"6d829824ead8999f87b6df21200df3c6150391b894b4e80662caa462bd48d073","96d14f21b7652903852eef49379d04dbda28c16ed36468f8c9fa08f7c14c9538","8841e2aa774b89bd23302dede20663306dc1b9902431ac64b24be8b8d0e3f649","209e814e8e71aec74f69686a9506dd7610b97ab59dcee9446266446f72a76d05",{"version":"3f6d6465811321abc30a1e5f667feed63e5b3917b3d6c8d6645daf96c75f97ba","affectsGlobalScope":true},"6fa0008bf91a4cc9c8963bace4bba0bd6865cbfa29c3e3ccc461155660fb113a","916be7d770b0ae0406be9486ac12eb9825f21514961dd050594c4b250617d5a8","a73a445c1e0a6d0f8b48e8eb22dc9d647896783a7f8991cbbc31c0d94bf1f5a2","3dce33e7eb25594863b8e615f14a45ab98190d85953436750644212d8a18c066","bc81aff061c53a7140270555f4b22da4ecfe8601e8027cf5aa175fbdc7927c31"],"options":{"allowSyntheticDefaultImports":true,"composite":true,"declaration":true,"declarationDir":"../../lib/types","declarationMap":true,"esModuleInterop":true,"module":99,"noEmitOnError":true,"outDir":"../../lib/esm","rootDir":"../../../../target/types","skipLibCheck":true,"sourceMap":true,"strict":false,"stripInternal":true,"target":99},"fileIdsList":[[97,104],[97,106],[97],[70,97,104],[51,97],[54,97],[55,60,88,97],[56,67,68,75,85,96,97],[56,57,67,75,97],[58,97],[59,60,68,76,97],[60,85,93,97],[61,63,67,75,97],[62,97],[63,64,97],[67,97],[65,67,97],[67,68,69,85,96,97],[67,68,69,82,85,88,97],[97,101],[63,67,70,75,85,96,97],[67,68,70,71,75,85,93,96,97],[70,72,85,93,96,97],[51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103],[67,73,97],[74,96,97],[63,67,75,85,97],[76,97],[77,97],[54,78,97],[79,95,97,101],[80,97],[81,97],[67,82,83,97],[82,84,97,99],[55,67,85,86,87,88,97],[55,85,87,97],[85,86,97],[88,97],[89,97],[85,97],[67,91,92,97],[91,92,97],[60,75,85,93,97],[94,97],[75,95,97],[55,70,81,96,97],[60,97],[85,97,98],[97,99],[97,100],[55,60,67,69,78,85,96,97,99,101],[85,97,102],[67,70,72,75,85,93,96,97,102,104]],"referencedMap":[[105,1],[107,2],[106,3],[108,4],[109,3],[110,3],[111,3],[112,3],[51,5],[52,5],[54,6],[55,7],[56,8],[57,9],[58,10],[59,11],[60,12],[61,13],[62,14],[63,15],[64,15],[66,16],[65,17],[67,16],[68,18],[69,19],[53,20],[103,3],[70,21],[71,22],[72,23],[104,24],[73,25],[74,26],[75,27],[76,28],[77,29],[78,30],[79,31],[80,32],[81,33],[82,34],[83,34],[84,35],[85,36],[87,37],[86,38],[88,39],[89,40],[90,41],[91,42],[92,43],[93,44],[94,45],[95,46],[96,47],[97,48],[98,49],[99,50],[100,51],[101,52],[102,53],[113,3],[114,3],[115,1],[116,1],[117,54],[9,3],[8,3],[2,3],[10,3],[11,3],[12,3],[13,3],[14,3],[15,3],[16,3],[17,3],[3,3],[4,3],[21,3],[18,3],[19,3],[20,3],[22,3],[23,3],[24,3],[5,3],[25,3],[26,3],[27,3],[28,3],[6,3],[32,3],[29,3],[30,3],[31,3],[33,3],[7,3],[34,3],[39,3],[40,3],[35,3],[36,3],[37,3],[38,3],[41,3],[1,3],[42,3],[43,3],[44,3],[45,3],[46,3],[47,3],[48,3],[49,3],[50,3]],"exportedModulesMap":[[105,1],[107,2],[106,3],[108,4],[109,3],[110,3],[111,3],[112,3],[51,5],[52,5],[54,6],[55,7],[56,8],[57,9],[58,10],[59,11],[60,12],[61,13],[62,14],[63,15],[64,15],[66,16],[65,17],[67,16],[68,18],[69,19],[53,20],[103,3],[70,21],[71,22],[72,23],[104,24],[73,25],[74,26],[75,27],[76,28],[77,29],[78,30],[79,31],[80,32],[81,33],[82,34],[83,34],[84,35],[85,36],[87,37],[86,38],[88,39],[89,40],[90,41],[91,42],[92,43],[93,44],[94,45],[95,46],[96,47],[97,48],[98,49],[99,50],[100,51],[101,52],[102,53],[113,3],[114,3],[115,1],[116,1],[117,54],[9,3],[8,3],[2,3],[10,3],[11,3],[12,3],[13,3],[14,3],[15,3],[16,3],[17,3],[3,3],[4,3],[21,3],[18,3],[19,3],[20,3],[22,3],[23,3],[24,3],[5,3],[25,3],[26,3],[27,3],[28,3],[6,3],[32,3],[29,3],[30,3],[31,3],[33,3],[7,3],[34,3],[39,3],[40,3],[35,3],[36,3],[37,3],[38,3],[41,3],[1,3],[42,3]],"semanticDiagnosticsPerFile":[105,107,106,108,109,110,111,112,51,52,54,55,56,57,58,59,60,61,62,63,64,66,65,67,68,69,53,103,70,71,72,104,73,74,75,76,77,78,79,80,81,82,83,84,85,87,86,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,113,114,115,116,117,9,8,2,10,11,12,13,14,15,16,17,3,4,21,18,19,20,22,23,24,5,25,26,27,28,6,32,29,30,31,33,7,34,39,40,35,36,37,38,41,1,42,43,44,45,46,47,48,49,50],"latestChangedDtsFile":"../../lib/types/vote_hook_interface.d.ts"},"version":"4.9.5"} \ No newline at end of file From ab7c2723d00e945417be586c37e7ef7cf6ae84c1 Mon Sep 17 00:00:00 2001 From: Noah Prince Date: Thu, 24 Oct 2024 17:31:15 -0500 Subject: [PATCH 18/25] bump squads --- .github/workflows/develop-release-program.yaml | 2 +- .github/workflows/release-program.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/develop-release-program.yaml b/.github/workflows/develop-release-program.yaml index 43050c9..12b32f1 100644 --- a/.github/workflows/develop-release-program.yaml +++ b/.github/workflows/develop-release-program.yaml @@ -148,7 +148,7 @@ jobs: program-id: ${{ env.PROGRAM_ID }} buffer-authority: ${{ secrets.DEVNET_MULTISIG_VAULT }} - name: Squads program upgrade - uses: helium/squads-program-upgrade@v0.3.1 + uses: helium/squads-program-upgrade@v0.3.3 with: network-url: "https://api.devnet.solana.com" program-multisig: ${{ secrets.DEVNET_MULTISIG }} diff --git a/.github/workflows/release-program.yaml b/.github/workflows/release-program.yaml index 2714070..193bd24 100644 --- a/.github/workflows/release-program.yaml +++ b/.github/workflows/release-program.yaml @@ -67,7 +67,7 @@ jobs: buffer-authority: ${{ secrets.MULTISIG_VAULT }} - name: Squads program upgrade - uses: helium/squads-program-upgrade@v0.3.1 + uses: helium/squads-program-upgrade@v0.3.3 with: network-url: "https://api.mainnet-beta.solana.com" program-multisig: ${{ secrets.MULTISIG }} From 3d4e674547aa18d65b8635afbb01e2f57d9537fc Mon Sep 17 00:00:00 2001 From: Noah Prince Date: Thu, 24 Oct 2024 17:32:18 -0500 Subject: [PATCH 19/25] get another release for state controller --- programs/state_controller/Cargo.toml | 1 - 1 file changed, 1 deletion(-) diff --git a/programs/state_controller/Cargo.toml b/programs/state_controller/Cargo.toml index 4873c6d..b322682 100644 --- a/programs/state_controller/Cargo.toml +++ b/programs/state_controller/Cargo.toml @@ -21,4 +21,3 @@ anchor-lang = { git = "https://github.com/ChewingGlass/anchor", branch = "bugfix anchor-spl = { git = "https://github.com/ChewingGlass/anchor", branch = "bugfix/cpi-polymorphism" } proposal = { path = "../proposal", features = ["no-entrypoint", "cpi"] } time = "0.3.36" - From 6065c0fd1ba36818a202e072b6035eb0060802e9 Mon Sep 17 00:00:00 2001 From: Noah Prince <83885631+ChewingGlass@users.noreply.github.com> Date: Fri, 6 Dec 2024 13:27:35 -0800 Subject: [PATCH 20/25] Add fallbacks for smart contracts used by HPL (#38) --- packages/nft-proxy-sdk/src/index.ts | 516 ++++++++++++++++++ packages/organization-sdk/src/init.ts | 288 +++++++++++ packages/proposal-sdk/src/index.ts | 576 +++++++++++++++++++++ packages/state-controller-sdk/src/index.ts | 438 ++++++++++++++++ 4 files changed, 1818 insertions(+) diff --git a/packages/nft-proxy-sdk/src/index.ts b/packages/nft-proxy-sdk/src/index.ts index 890f815..122ef05 100644 --- a/packages/nft-proxy-sdk/src/index.ts +++ b/packages/nft-proxy-sdk/src/index.ts @@ -15,6 +15,11 @@ export async function init( ): Promise> { if (!idl) { idl = await Program.fetchIdl(programId, provider); + // This is an Anchor 0.30+ IDL. Return the old IDLs + // @ts-ignore + if (!idl || idl?.address) { + idl = IDL as any; + } } const tokenVoter = new Program( @@ -27,3 +32,514 @@ export async function init( return tokenVoter; } + +const IDL = { + version: "0.0.1", + name: "nft_proxy", + instructions: [ + { + name: "initializeProxyConfigV0", + accounts: [ + { + name: "payer", + isMut: true, + isSigner: true, + }, + { + name: "authority", + isMut: false, + isSigner: false, + }, + { + name: "proxyConfig", + isMut: true, + isSigner: false, + pda: { + seeds: [ + { + kind: "const", + type: "string", + value: "proxy_config", + }, + { + kind: "arg", + type: { + defined: "InitializeProxyConfigArgsV0", + }, + path: "args.name", + }, + ], + }, + }, + { + name: "systemProgram", + isMut: false, + isSigner: false, + }, + ], + args: [ + { + name: "args", + type: { + defined: "InitializeProxyConfigArgsV0", + }, + }, + ], + }, + { + name: "assignProxyV0", + accounts: [ + { + name: "payer", + isMut: true, + isSigner: true, + }, + { + name: "asset", + isMut: false, + isSigner: false, + }, + { + name: "approver", + isMut: false, + isSigner: true, + }, + { + name: "voter", + isMut: false, + isSigner: false, + docs: [ + "or in the case of a primary proxy (first in the line), Pubkey::default", + ], + }, + { + name: "tokenAccount", + isMut: false, + isSigner: false, + isOptional: true, + }, + { + name: "proxyConfig", + isMut: false, + isSigner: false, + }, + { + name: "currentProxyAssignment", + isMut: true, + isSigner: false, + pda: { + seeds: [ + { + kind: "const", + type: "string", + value: "proxy_assignment", + }, + { + kind: "account", + type: "publicKey", + account: "ProxyConfigV0", + path: "proxy_config", + }, + { + kind: "account", + type: "publicKey", + account: "Mint", + path: "asset", + }, + { + kind: "account", + type: "publicKey", + path: "voter", + }, + ], + }, + }, + { + name: "recipient", + isMut: false, + isSigner: false, + }, + { + name: "nextProxyAssignment", + isMut: true, + isSigner: false, + pda: { + seeds: [ + { + kind: "const", + type: "string", + value: "proxy_assignment", + }, + { + kind: "account", + type: "publicKey", + account: "ProxyConfigV0", + path: "proxy_config", + }, + { + kind: "account", + type: "publicKey", + account: "Mint", + path: "asset", + }, + { + kind: "account", + type: "publicKey", + path: "recipient", + }, + ], + }, + }, + { + name: "systemProgram", + isMut: false, + isSigner: false, + }, + ], + args: [ + { + name: "args", + type: { + defined: "AssignProxyArgsV0", + }, + }, + ], + }, + { + name: "unassignProxyV0", + accounts: [ + { + name: "rentRefund", + isMut: true, + isSigner: false, + }, + { + name: "asset", + isMut: false, + isSigner: false, + }, + { + name: "approver", + isMut: false, + isSigner: true, + }, + { + name: "voter", + isMut: false, + isSigner: false, + docs: [ + "or in the case of a primary proxy (first in the line), Pubkey::default", + ], + }, + { + name: "tokenAccount", + isMut: false, + isSigner: false, + isOptional: true, + }, + { + name: "currentProxyAssignment", + isMut: false, + isSigner: false, + relations: ["proxy_config", "voter", "asset"], + }, + { + name: "prevProxyAssignment", + isMut: true, + isSigner: false, + relations: ["proxy_config"], + }, + { + name: "proxyAssignment", + isMut: true, + isSigner: false, + relations: ["proxy_config", "rent_refund"], + }, + { + name: "proxyConfig", + isMut: false, + isSigner: false, + }, + { + name: "systemProgram", + isMut: false, + isSigner: false, + }, + ], + args: [], + }, + { + name: "updateProxyConfigV0", + accounts: [ + { + name: "payer", + isMut: true, + isSigner: true, + }, + { + name: "authority", + isMut: false, + isSigner: false, + }, + { + name: "proxyConfig", + isMut: true, + isSigner: false, + relations: ["authority"], + }, + { + name: "systemProgram", + isMut: false, + isSigner: false, + }, + ], + args: [ + { + name: "args", + type: { + defined: "UpdateProxyConfigArgsV0", + }, + }, + ], + }, + { + name: "unassignExpiredProxyV0", + accounts: [ + { + name: "rentRefund", + isMut: true, + isSigner: false, + }, + { + name: "prevProxyAssignment", + isMut: true, + isSigner: false, + }, + { + name: "proxyAssignment", + isMut: true, + isSigner: false, + relations: ["rent_refund"], + }, + { + name: "systemProgram", + isMut: false, + isSigner: false, + }, + ], + args: [], + }, + { + name: "closeExpiredProxyV0", + accounts: [ + { + name: "rentRefund", + isMut: true, + isSigner: false, + }, + { + name: "proxyAssignment", + isMut: true, + isSigner: false, + relations: ["rent_refund"], + }, + { + name: "systemProgram", + isMut: false, + isSigner: false, + }, + ], + args: [], + }, + ], + accounts: [ + { + name: "proxyConfigV0", + type: { + kind: "struct", + fields: [ + { + name: "authority", + type: "publicKey", + }, + { + name: "name", + type: "string", + }, + { + name: "maxProxyTime", + type: "i64", + }, + { + name: "seasons", + type: { + vec: { + defined: "SeasonV0", + }, + }, + }, + ], + }, + }, + { + name: "proxyAssignmentV0", + type: { + kind: "struct", + fields: [ + { + name: "voter", + type: "publicKey", + }, + { + name: "proxyConfig", + type: "publicKey", + }, + { + name: "asset", + type: "publicKey", + }, + { + name: "index", + type: "u16", + }, + { + name: "nextVoter", + type: "publicKey", + }, + { + name: "rentRefund", + type: "publicKey", + }, + { + name: "expirationTime", + type: "i64", + }, + { + name: "bumpSeed", + type: "u8", + }, + ], + }, + }, + ], + types: [ + { + name: "AssignProxyArgsV0", + type: { + kind: "struct", + fields: [ + { + name: "expirationTime", + type: "i64", + }, + ], + }, + }, + { + name: "InitializeProxyConfigArgsV0", + type: { + kind: "struct", + fields: [ + { + name: "name", + type: "string", + }, + { + name: "maxProxyTime", + type: "i64", + }, + { + name: "seasons", + type: { + vec: { + defined: "SeasonV0", + }, + }, + }, + ], + }, + }, + { + name: "UpdateProxyConfigArgsV0", + type: { + kind: "struct", + fields: [ + { + name: "maxProxyTime", + type: { + option: "i64", + }, + }, + { + name: "seasons", + type: { + option: { + vec: { + defined: "SeasonV0", + }, + }, + }, + }, + ], + }, + }, + { + name: "SeasonV0", + type: { + kind: "struct", + fields: [ + { + name: "start", + type: "i64", + }, + { + name: "end", + type: "i64", + }, + ], + }, + }, + ], + errors: [ + { + code: 6000, + name: "ExpirationExceedsMax", + msg: "The specified expiration time exceeds the maximum allowed for this proxy configuration", + }, + { + code: 6001, + name: "ExpirationExceedsSeasonMax", + msg: "The specified expiration time exceeds the maximum allowed for this season", + }, + { + code: 6002, + name: "ExpirationPast", + msg: "The specified expiration time has already passed", + }, + { + code: 6003, + name: "ExpirationExceedsPreceedingProxy", + msg: "The specified expiration time exceeds the expiration of the existing delegatio", + }, + { + code: 6004, + name: "SeasonsNotSorted", + msg: "The seasons are not sorted", + }, + { + code: 6005, + name: "InvalidDataIncrease", + msg: "The data size increase is not valid", + }, + { + code: 6006, + name: "ExpirationTimeInvalid", + msg: "The expiration time is invalid", + }, + { + code: 6007, + name: "ExpirationNotPast", + msg: "The specified expiration time has not passed", + }, + ], +}; \ No newline at end of file diff --git a/packages/organization-sdk/src/init.ts b/packages/organization-sdk/src/init.ts index e7c3225..837fcad 100644 --- a/packages/organization-sdk/src/init.ts +++ b/packages/organization-sdk/src/init.ts @@ -11,6 +11,11 @@ export async function init( ): Promise> { if (!idl) { idl = await Program.fetchIdl(programId, provider); + // This is an Anchor 0.30+ IDL. Return the old IDLs + // @ts-ignore + if (!idl || idl?.address) { + idl = IDL as any; + } } const organizations = new Program( @@ -23,3 +28,286 @@ export async function init( return organizations; } + +const IDL = { + version: "0.1.1", + name: "organization", + instructions: [ + { + name: "initializeOrganizationV0", + accounts: [ + { + name: "payer", + isMut: true, + isSigner: true, + }, + { + name: "organization", + isMut: true, + isSigner: false, + pda: { + seeds: [ + { + kind: "const", + type: "string", + value: "organization", + }, + { + kind: "arg", + type: { + defined: "InitializeOrganizationArgsV0", + }, + path: "args.name", + }, + ], + }, + }, + { + name: "systemProgram", + isMut: false, + isSigner: false, + }, + ], + args: [ + { + name: "args", + type: { + defined: "InitializeOrganizationArgsV0", + }, + }, + ], + }, + { + name: "initializeProposalV0", + accounts: [ + { + name: "payer", + isMut: true, + isSigner: true, + }, + { + name: "authority", + isMut: false, + isSigner: true, + }, + { + name: "owner", + isMut: false, + isSigner: false, + }, + { + name: "proposal", + isMut: true, + isSigner: false, + }, + { + name: "proposalConfig", + isMut: false, + isSigner: false, + }, + { + name: "organization", + isMut: true, + isSigner: false, + relations: ["proposal_program", "authority"], + }, + { + name: "proposalProgram", + isMut: false, + isSigner: false, + }, + { + name: "systemProgram", + isMut: false, + isSigner: false, + }, + ], + args: [ + { + name: "args", + type: { + defined: "InitializeProposalArgsV0", + }, + }, + ], + }, + { + name: "updateOrganizationV0", + accounts: [ + { + name: "organization", + isMut: true, + isSigner: false, + relations: ["authority"], + }, + { + name: "authority", + isMut: false, + isSigner: true, + }, + ], + args: [ + { + name: "args", + type: { + defined: "UpdateOrganizationArgsV0", + }, + }, + ], + }, + ], + accounts: [ + { + name: "organizationV0", + type: { + kind: "struct", + fields: [ + { + name: "numProposals", + type: "u32", + }, + { + name: "authority", + docs: ["Authority to create proposals under this organization"], + type: "publicKey", + }, + { + name: "defaultProposalConfig", + type: "publicKey", + }, + { + name: "proposalProgram", + type: "publicKey", + }, + { + name: "name", + type: "string", + }, + { + name: "uri", + type: "string", + }, + { + name: "bumpSeed", + type: "u8", + }, + ], + }, + }, + ], + types: [ + { + name: "InitializeOrganizationArgsV0", + type: { + kind: "struct", + fields: [ + { + name: "name", + type: "string", + }, + { + name: "authority", + type: "publicKey", + }, + { + name: "defaultProposalConfig", + type: "publicKey", + }, + { + name: "proposalProgram", + type: "publicKey", + }, + { + name: "uri", + type: "string", + }, + ], + }, + }, + { + name: "ChoiceArg", + type: { + kind: "struct", + fields: [ + { + name: "name", + type: "string", + }, + { + name: "uri", + docs: ["Any other data that you may want to put in here"], + type: { + option: "string", + }, + }, + ], + }, + }, + { + name: "InitializeProposalArgsV0", + type: { + kind: "struct", + fields: [ + { + name: "name", + type: "string", + }, + { + name: "uri", + type: "string", + }, + { + name: "maxChoicesPerVoter", + type: "u16", + }, + { + name: "choices", + type: { + vec: { + defined: "ChoiceArg", + }, + }, + }, + { + name: "tags", + type: { + vec: "string", + }, + }, + ], + }, + }, + { + name: "UpdateOrganizationArgsV0", + type: { + kind: "struct", + fields: [ + { + name: "authority", + type: { + option: "publicKey", + }, + }, + { + name: "defaultProposalConfig", + type: { + option: "publicKey", + }, + }, + { + name: "proposalProgram", + type: { + option: "publicKey", + }, + }, + { + name: "uri", + type: { + option: "string", + }, + }, + ], + }, + }, + ], +}; \ No newline at end of file diff --git a/packages/proposal-sdk/src/index.ts b/packages/proposal-sdk/src/index.ts index c793710..2229dd3 100644 --- a/packages/proposal-sdk/src/index.ts +++ b/packages/proposal-sdk/src/index.ts @@ -17,6 +17,11 @@ export async function init( ): Promise> { if (!idl) { idl = await Program.fetchIdl(programId, provider); + // This is an Anchor 0.30+ IDL. Return the old IDLs + // @ts-ignore + if (!idl || idl?.address) { + idl = IDL as any; + } } const proposal = new Program( @@ -29,3 +34,574 @@ export async function init( return proposal; } + +const IDL = { + version: "0.1.1", + name: "proposal", + instructions: [ + { + name: "initializeProposalV0", + accounts: [ + { + name: "payer", + isMut: true, + isSigner: true, + }, + { + name: "namespace", + isMut: false, + isSigner: true, + docs: [ + "Every proposal must have a namespace to prevent seed collision", + ], + }, + { + name: "proposal", + isMut: true, + isSigner: false, + }, + { + name: "owner", + isMut: false, + isSigner: false, + }, + { + name: "proposalConfig", + isMut: false, + isSigner: false, + }, + { + name: "systemProgram", + isMut: false, + isSigner: false, + }, + ], + args: [ + { + name: "args", + type: { + defined: "InitializeProposalArgsV0", + }, + }, + ], + }, + { + name: "initializeProposalConfigV0", + accounts: [ + { + name: "payer", + isMut: true, + isSigner: true, + }, + { + name: "owner", + isMut: false, + isSigner: true, + }, + { + name: "proposalConfig", + isMut: true, + isSigner: false, + pda: { + seeds: [ + { + kind: "const", + type: "string", + value: "proposal_config", + }, + { + kind: "arg", + type: { + defined: "InitializeProposalConfigArgsV0", + }, + path: "args.name", + }, + ], + }, + }, + { + name: "systemProgram", + isMut: false, + isSigner: false, + }, + ], + args: [ + { + name: "args", + type: { + defined: "InitializeProposalConfigArgsV0", + }, + }, + ], + }, + { + name: "voteV0", + accounts: [ + { + name: "voteController", + isMut: false, + isSigner: true, + }, + { + name: "voter", + isMut: false, + isSigner: false, + }, + { + name: "stateController", + isMut: true, + isSigner: false, + }, + { + name: "proposalConfig", + isMut: false, + isSigner: false, + relations: ["on_vote_hook", "state_controller", "vote_controller"], + }, + { + name: "proposal", + isMut: true, + isSigner: false, + relations: ["proposal_config"], + }, + { + name: "onVoteHook", + isMut: false, + isSigner: false, + }, + ], + args: [ + { + name: "args", + type: { + defined: "VoteArgsV0", + }, + }, + ], + }, + { + name: "updateStateV0", + accounts: [ + { + name: "stateController", + isMut: false, + isSigner: true, + }, + { + name: "proposal", + isMut: true, + isSigner: false, + relations: ["proposal_config"], + }, + { + name: "proposalConfig", + isMut: false, + isSigner: false, + relations: ["state_controller"], + }, + ], + args: [ + { + name: "args", + type: { + defined: "UpdateStateArgsV0", + }, + }, + ], + }, + { + name: "updateProposalConfigV0", + accounts: [ + { + name: "proposalConfig", + isMut: true, + isSigner: false, + relations: ["authority"], + }, + { + name: "authority", + isMut: false, + isSigner: true, + }, + ], + args: [ + { + name: "args", + type: { + defined: "UpdateProposalConfigArgsV0", + }, + }, + ], + }, + ], + accounts: [ + { + name: "proposalConfigV0", + type: { + kind: "struct", + fields: [ + { + name: "voteController", + docs: ["Signer that controls voting and vote weights"], + type: "publicKey", + }, + { + name: "stateController", + docs: [ + "Signer that controls the transitions of `ProposalState`", + "You can either use the default `state-controller` smart contract", + "Or you can implement a program that calls the `resolve_v0` method.", + "The vote can only be resolved when this `resolution_settings` PDA signs `resolve_v0`. This allows", + "you to trigger resolution on either (a) a vote, (b) a timestamp, or (c) some custom trigger with clockwork", + ], + type: "publicKey", + }, + { + name: "onVoteHook", + docs: [ + "Optional program that will be called with `on_vote_v0` after every vote. This allows you to resolve", + "the vote eagerly. For most use cases, this should just be the owner of the state controller.", + "WARNING: This program has full authority to set the outcome of votes, make sure you trust it", + ], + type: "publicKey", + }, + { + name: "name", + type: "string", + }, + { + name: "bumpSeed", + type: "u8", + }, + { + name: "authority", + type: "publicKey", + }, + ], + }, + }, + { + name: "proposalV0", + type: { + kind: "struct", + fields: [ + { + name: "namespace", + type: "publicKey", + }, + { + name: "owner", + type: "publicKey", + }, + { + name: "state", + type: { + defined: "ProposalState", + }, + }, + { + name: "createdAt", + type: "i64", + }, + { + name: "proposalConfig", + type: "publicKey", + }, + { + name: "maxChoicesPerVoter", + docs: ["Allows for multiple selection votes"], + type: "u16", + }, + { + name: "seed", + type: "bytes", + }, + { + name: "name", + type: "string", + }, + { + name: "uri", + docs: ["URI to json containing name, description, etc"], + type: "string", + }, + { + name: "tags", + type: { + vec: "string", + }, + }, + { + name: "choices", + type: { + vec: { + defined: "Choice", + }, + }, + }, + { + name: "bumpSeed", + type: "u8", + }, + ], + }, + }, + ], + types: [ + { + name: "InitializeProposalConfigArgsV0", + type: { + kind: "struct", + fields: [ + { + name: "name", + type: "string", + }, + { + name: "voteController", + docs: ["Signer that controls voting and vote weights"], + type: "publicKey", + }, + { + name: "stateController", + docs: [ + "Signer that controls the transitions of `ProposalState`", + "You can either use the default `state-controller` smart contract", + "Or you can implement a program that calls the `resolve_v0` method.", + "The vote can only be resolved when this `resolution_settings` PDA signs `resolve_v0`. This allows", + "you to trigger resolution on either (a) a vote, (b) a timestamp, or (c) some custom trigger with clockwork", + ], + type: "publicKey", + }, + { + name: "onVoteHook", + docs: [ + "Optional program that will be called with `on_vote_v0` after every vote", + "Defaults to the owner of `resolution_settings`, which allows it to reactively call resolve_v0", + ], + type: "publicKey", + }, + { + name: "authority", + type: "publicKey", + }, + ], + }, + }, + { + name: "ChoiceArg", + type: { + kind: "struct", + fields: [ + { + name: "name", + type: "string", + }, + { + name: "uri", + docs: ["Any other data that you may want to put in here"], + type: { + option: "string", + }, + }, + ], + }, + }, + { + name: "InitializeProposalArgsV0", + type: { + kind: "struct", + fields: [ + { + name: "seed", + docs: ["Allow a custom seed for indexing"], + type: "bytes", + }, + { + name: "name", + type: "string", + }, + { + name: "uri", + type: "string", + }, + { + name: "maxChoicesPerVoter", + docs: ["Allows for multiple selection votes"], + type: "u16", + }, + { + name: "choices", + type: { + vec: { + defined: "ChoiceArg", + }, + }, + }, + { + name: "tags", + type: { + vec: "string", + }, + }, + ], + }, + }, + { + name: "UpdateProposalConfigArgsV0", + type: { + kind: "struct", + fields: [ + { + name: "voteController", + type: { + option: "publicKey", + }, + }, + { + name: "stateController", + type: { + option: "publicKey", + }, + }, + { + name: "onVoteHook", + type: { + option: "publicKey", + }, + }, + { + name: "authority", + type: { + option: "publicKey", + }, + }, + ], + }, + }, + { + name: "UpdateStateArgsV0", + type: { + kind: "struct", + fields: [ + { + name: "newState", + type: { + defined: "ProposalState", + }, + }, + ], + }, + }, + { + name: "VoteArgsV0", + type: { + kind: "struct", + fields: [ + { + name: "choice", + type: "u16", + }, + { + name: "weight", + type: "u128", + }, + { + name: "removeVote", + docs: ["This is a remove operation"], + type: "bool", + }, + ], + }, + }, + { + name: "Choice", + type: { + kind: "struct", + fields: [ + { + name: "weight", + docs: [ + "Total vote weight behind this choice. u128 to support u64 tokens multiplied by a large multiplier (as in helium)", + ], + type: "u128", + }, + { + name: "name", + type: "string", + }, + { + name: "uri", + docs: ["Any other data that you may want to put in here"], + type: { + option: "string", + }, + }, + ], + }, + }, + { + name: "ProposalState", + type: { + kind: "enum", + variants: [ + { + name: "Draft", + }, + { + name: "Cancelled", + }, + { + name: "Voting", + fields: [ + { + name: "start_ts", + type: "i64", + }, + ], + }, + { + name: "Resolved", + fields: [ + { + name: "choices", + type: { + vec: "u16", + }, + }, + { + name: "end_ts", + type: "i64", + }, + ], + }, + { + name: "Custom", + fields: [ + { + name: "name", + type: "string", + }, + { + name: "bin", + type: "bytes", + }, + ], + }, + ], + }, + }, + ], + errors: [ + { + code: 6000, + name: "ArithmeticError", + msg: "Error in arithmetic", + }, + { + code: 6001, + name: "StringTooLong", + msg: "String exceeds limits", + }, + ], +}; \ No newline at end of file diff --git a/packages/state-controller-sdk/src/index.ts b/packages/state-controller-sdk/src/index.ts index 40f6aff..b00ce00 100644 --- a/packages/state-controller-sdk/src/index.ts +++ b/packages/state-controller-sdk/src/index.ts @@ -17,6 +17,11 @@ export async function init( ): Promise> { if (!idl) { idl = await Program.fetchIdl(programId, provider); + // This is an Anchor 0.30+ IDL. Return the old IDLs + // @ts-ignore + if (!idl || idl?.address) { + idl = IDL as any; + } } const stateController = new Program( @@ -29,3 +34,436 @@ export async function init( return stateController; } + +const IDL = { + version: "0.1.2", + name: "state_controller", + instructions: [ + { + name: "onVoteV0", + accounts: [ + { + name: "voter", + isMut: false, + isSigner: false, + }, + { + name: "voteController", + isMut: false, + isSigner: true, + }, + { + name: "stateController", + isMut: true, + isSigner: false, + }, + { + name: "proposal", + isMut: false, + isSigner: false, + relations: ["proposal_config"], + }, + { + name: "proposalConfig", + isMut: false, + isSigner: false, + relations: ["state_controller", "vote_controller"], + }, + ], + args: [ + { + name: "args", + type: { + defined: "VoteArgsV0", + }, + }, + ], + returns: { + option: { + vec: "u16", + }, + }, + }, + { + name: "initializeResolutionSettingsV0", + accounts: [ + { + name: "payer", + isMut: true, + isSigner: true, + }, + { + name: "resolutionSettings", + isMut: true, + isSigner: false, + pda: { + seeds: [ + { + kind: "const", + type: "string", + value: "resolution_settings", + }, + { + kind: "arg", + type: { + defined: "InitializeResolutionSettingsArgsV0", + }, + path: "args.name", + }, + ], + }, + }, + { + name: "systemProgram", + isMut: false, + isSigner: false, + }, + ], + args: [ + { + name: "args", + type: { + defined: "InitializeResolutionSettingsArgsV0", + }, + }, + ], + }, + { + name: "updateStateV0", + accounts: [ + { + name: "owner", + isMut: false, + isSigner: true, + }, + { + name: "proposal", + isMut: true, + isSigner: false, + relations: ["owner", "proposal_config"], + }, + { + name: "proposalConfig", + isMut: false, + isSigner: false, + relations: ["state_controller"], + }, + { + name: "stateController", + isMut: false, + isSigner: false, + }, + { + name: "proposalProgram", + isMut: false, + isSigner: false, + }, + ], + args: [ + { + name: "args", + type: { + defined: "UpdateStateArgsV0", + }, + }, + ], + }, + { + name: "resolveV0", + accounts: [ + { + name: "stateController", + isMut: true, + isSigner: false, + }, + { + name: "proposal", + isMut: true, + isSigner: false, + relations: ["proposal_config"], + }, + { + name: "proposalConfig", + isMut: false, + isSigner: false, + relations: ["state_controller"], + }, + { + name: "proposalProgram", + isMut: false, + isSigner: false, + }, + ], + args: [], + }, + ], + accounts: [ + { + name: "resolutionSettingsV0", + type: { + kind: "struct", + fields: [ + { + name: "name", + type: "string", + }, + { + name: "settings", + type: { + defined: "ResolutionStrategy", + }, + }, + { + name: "bumpSeed", + type: "u8", + }, + ], + }, + }, + ], + types: [ + { + name: "InitializeResolutionSettingsArgsV0", + type: { + kind: "struct", + fields: [ + { + name: "name", + type: "string", + }, + { + name: "settings", + type: { + defined: "ResolutionStrategy", + }, + }, + ], + }, + }, + { + name: "VoteArgsV0", + type: { + kind: "struct", + fields: [ + { + name: "choice", + type: "u16", + }, + { + name: "weight", + type: "u128", + }, + { + name: "removeVote", + docs: ["This is a remove operation"], + type: "bool", + }, + ], + }, + }, + { + name: "UpdateStateArgsV0", + type: { + kind: "struct", + fields: [ + { + name: "newState", + type: { + defined: "ProposalState", + }, + }, + ], + }, + }, + { + name: "ResolutionStrategy", + docs: [ + "Reverse polish notation calculator", + "https://en.wikipedia.org/wiki/Reverse_Polish_notation", + "Do this to have a flat structure since rust doesn't like unbounded nesting of types", + ], + type: { + kind: "struct", + fields: [ + { + name: "nodes", + type: { + vec: { + defined: "ResolutionNode", + }, + }, + }, + ], + }, + }, + { + name: "ProposalState", + type: { + kind: "enum", + variants: [ + { + name: "Draft", + }, + { + name: "Cancelled", + }, + { + name: "Voting", + }, + { + name: "Custom", + fields: [ + { + name: "name", + type: "string", + }, + { + name: "bin", + type: "bytes", + }, + ], + }, + ], + }, + }, + { + name: "ResolutionNode", + docs: ["Allow building complex operations to decide resolution."], + type: { + kind: "enum", + variants: [ + { + name: "Resolved", + fields: [ + { + name: "choices", + type: { + vec: "u16", + }, + }, + ], + }, + { + name: "EndTimestamp", + fields: [ + { + name: "end_ts", + type: "i64", + }, + ], + }, + { + name: "OffsetFromStartTs", + fields: [ + { + name: "offset", + type: "i64", + }, + ], + }, + { + name: "ChoiceVoteWeight", + fields: [ + { + name: "weight_threshold", + type: "u128", + }, + ], + }, + { + name: "ChoicePercentage", + fields: [ + { + name: "percentage", + type: "i32", + }, + ], + }, + { + name: "Top", + fields: [ + { + name: "n", + type: "u16", + }, + ], + }, + { + name: "NumResolved", + fields: [ + { + name: "n", + type: "u16", + }, + ], + }, + { + name: "And", + }, + { + name: "Or", + }, + { + name: "Not", + fields: [ + { + name: "choice_name", + type: "string", + }, + ], + }, + { + name: "TotalWeight", + fields: [ + { + name: "weight_threshold", + type: "u128", + }, + ], + }, + { + name: "ChoicePercentageOfCurrent", + fields: [ + { + name: "percentage", + type: "i32", + }, + ], + }, + ], + }, + }, + ], + errors: [ + { + code: 6000, + name: "ProposalAlreadyResolved", + msg: "Proposal was already resolved. Call resolve_v0", + }, + { + code: 6001, + name: "ChoicesEmpty", + msg: "Resolved choices must not be empty", + }, + { + code: 6002, + name: "EndTimestampPassed", + msg: "End timestamp has already passed", + }, + { + code: 6003, + name: "InvalidOffset", + msg: "Offset must be a positive integer", + }, + { + code: 6004, + name: "InvalidPercentage", + msg: "Percentage may not be less than 0 or greater than PERCENTAGE_DIVISOR", + }, + { + code: 6005, + name: "InvalidTopN", + msg: "Top n must be greater than 0", + }, + ], +}; \ No newline at end of file From 9e6462745862cd1cc69d8cb6390c963aba7ae4b9 Mon Sep 17 00:00:00 2001 From: Noah Prince Date: Fri, 6 Dec 2024 13:28:22 -0800 Subject: [PATCH 21/25] chore(release): publish 0.0.15 --- CHANGELOG.md | 8 +++ lerna.json | 2 +- packages/docsite/CHANGELOG.md | 8 +++ packages/docsite/package.json | 2 +- .../modular-governance-hooks/CHANGELOG.md | 8 +++ .../modular-governance-hooks/package.json | 6 +- packages/modular-governance-idls/CHANGELOG.md | 8 +++ packages/modular-governance-idls/package.json | 2 +- packages/nft-proxy-sdk/CHANGELOG.md | 8 +++ packages/nft-proxy-sdk/package.json | 2 +- packages/nft-voter-sdk/CHANGELOG.md | 8 +++ packages/nft-voter-sdk/package.json | 6 +- packages/organization-sdk/CHANGELOG.md | 8 +++ packages/organization-sdk/package.json | 6 +- packages/organization-wallet-sdk/CHANGELOG.md | 8 +++ packages/organization-wallet-sdk/package.json | 6 +- packages/proposal-sdk/CHANGELOG.md | 8 +++ packages/proposal-sdk/package.json | 4 +- packages/state-controller-sdk/CHANGELOG.md | 8 +++ packages/state-controller-sdk/package.json | 4 +- packages/token-voter-sdk/CHANGELOG.md | 8 +++ packages/token-voter-sdk/package.json | 4 +- scripts/verify.sh | 61 +++++++++++++++++++ 23 files changed, 171 insertions(+), 22 deletions(-) create mode 100755 scripts/verify.sh diff --git a/CHANGELOG.md b/CHANGELOG.md index b6d755d..5794748 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.0.15](https://github.com/helium/modular-governance/compare/v0.0.14...v0.0.15) (2024-12-06) + +**Note:** Version bump only for package modular-governance + + + + + ## [0.0.14](https://github.com/helium/modular-governance/compare/v0.0.13...v0.0.14) (2024-10-24) **Note:** Version bump only for package modular-governance diff --git a/lerna.json b/lerna.json index be2ddd3..d26350e 100644 --- a/lerna.json +++ b/lerna.json @@ -4,5 +4,5 @@ "packages/*" ], "useWorkspaces": true, - "version": "0.0.14" + "version": "0.0.15" } diff --git a/packages/docsite/CHANGELOG.md b/packages/docsite/CHANGELOG.md index 9108590..b1c0ccc 100644 --- a/packages/docsite/CHANGELOG.md +++ b/packages/docsite/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.0.15](https://github.com/helium/modular-governance/compare/v0.0.14...v0.0.15) (2024-12-06) + +**Note:** Version bump only for package governance-docs + + + + + ## [0.0.14](https://github.com/helium/modular-governance/compare/v0.0.13...v0.0.14) (2024-10-24) **Note:** Version bump only for package governance-docs diff --git a/packages/docsite/package.json b/packages/docsite/package.json index e9ce96c..208f744 100644 --- a/packages/docsite/package.json +++ b/packages/docsite/package.json @@ -1,6 +1,6 @@ { "name": "governance-docs", - "version": "0.0.14", + "version": "0.0.15", "private": true, "scripts": { "dev": "next dev", diff --git a/packages/modular-governance-hooks/CHANGELOG.md b/packages/modular-governance-hooks/CHANGELOG.md index 7fff1c2..ded5a2e 100644 --- a/packages/modular-governance-hooks/CHANGELOG.md +++ b/packages/modular-governance-hooks/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.0.15](https://github.com/helium/modular-governance/compare/v0.0.14...v0.0.15) (2024-12-06) + +**Note:** Version bump only for package @helium/modular-governance-hooks + + + + + ## [0.0.14](https://github.com/helium/modular-governance/compare/v0.0.13...v0.0.14) (2024-10-24) **Note:** Version bump only for package @helium/modular-governance-hooks diff --git a/packages/modular-governance-hooks/package.json b/packages/modular-governance-hooks/package.json index 0e7b493..c7cffbf 100644 --- a/packages/modular-governance-hooks/package.json +++ b/packages/modular-governance-hooks/package.json @@ -6,7 +6,7 @@ "registry": "https://registry.npmjs.org/" }, "license": "Apache-2.0", - "version": "0.0.14", + "version": "0.0.15", "description": "React hooks for modular governance", "repository": { "type": "git", @@ -36,8 +36,8 @@ "@helium/account-fetch-cache": "^0.5.0", "@helium/account-fetch-cache-hooks": "^0.5.0", "@helium/helium-react-hooks": "^0.5.0", - "@helium/modular-governance-idls": "^0.0.14", - "@helium/organization-sdk": "^0.0.14", + "@helium/modular-governance-idls": "^0.0.15", + "@helium/organization-sdk": "^0.0.15", "@solana/web3.js": "^1.78.4" }, "devDependencies": { diff --git a/packages/modular-governance-idls/CHANGELOG.md b/packages/modular-governance-idls/CHANGELOG.md index 9595e3b..bbd3fb9 100644 --- a/packages/modular-governance-idls/CHANGELOG.md +++ b/packages/modular-governance-idls/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.0.15](https://github.com/helium/modular-governance/compare/v0.0.14...v0.0.15) (2024-12-06) + +**Note:** Version bump only for package @helium/modular-governance-idls + + + + + ## [0.0.14](https://github.com/helium/modular-governance/compare/v0.0.13...v0.0.14) (2024-10-24) **Note:** Version bump only for package @helium/modular-governance-idls diff --git a/packages/modular-governance-idls/package.json b/packages/modular-governance-idls/package.json index dc11ff9..947f826 100644 --- a/packages/modular-governance-idls/package.json +++ b/packages/modular-governance-idls/package.json @@ -1,6 +1,6 @@ { "name": "@helium/modular-governance-idls", - "version": "0.0.14", + "version": "0.0.15", "description": "Exported idls", "publishConfig": { "access": "public", diff --git a/packages/nft-proxy-sdk/CHANGELOG.md b/packages/nft-proxy-sdk/CHANGELOG.md index c28e8ad..ad80cf5 100644 --- a/packages/nft-proxy-sdk/CHANGELOG.md +++ b/packages/nft-proxy-sdk/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.0.15](https://github.com/helium/modular-governance/compare/v0.0.14...v0.0.15) (2024-12-06) + +**Note:** Version bump only for package @helium/nft-proxy-sdk + + + + + ## [0.0.14](https://github.com/helium/modular-governance/compare/v0.0.13...v0.0.14) (2024-10-24) **Note:** Version bump only for package @helium/nft-proxy-sdk diff --git a/packages/nft-proxy-sdk/package.json b/packages/nft-proxy-sdk/package.json index 658a692..c0a4725 100644 --- a/packages/nft-proxy-sdk/package.json +++ b/packages/nft-proxy-sdk/package.json @@ -5,7 +5,7 @@ "registry": "https://registry.npmjs.org/" }, "license": "Apache-2.0", - "version": "0.0.14", + "version": "0.0.15", "description": "Interface to the nft proxy smart contract", "repository": { "type": "git", diff --git a/packages/nft-voter-sdk/CHANGELOG.md b/packages/nft-voter-sdk/CHANGELOG.md index a5bede0..844d5f1 100644 --- a/packages/nft-voter-sdk/CHANGELOG.md +++ b/packages/nft-voter-sdk/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.0.15](https://github.com/helium/modular-governance/compare/v0.0.14...v0.0.15) (2024-12-06) + +**Note:** Version bump only for package @helium/nft-voter-sdk + + + + + ## [0.0.14](https://github.com/helium/modular-governance/compare/v0.0.13...v0.0.14) (2024-10-24) **Note:** Version bump only for package @helium/nft-voter-sdk diff --git a/packages/nft-voter-sdk/package.json b/packages/nft-voter-sdk/package.json index 216f468..0a08706 100644 --- a/packages/nft-voter-sdk/package.json +++ b/packages/nft-voter-sdk/package.json @@ -5,7 +5,7 @@ "registry": "https://registry.npmjs.org/" }, "license": "Apache-2.0", - "version": "0.0.14", + "version": "0.0.15", "description": "Interface to the nft voter smart contract", "repository": { "type": "git", @@ -33,8 +33,8 @@ "dependencies": { "@coral-xyz/anchor": "^0.28.0", "@helium/anchor-resolvers": "^0.5.0", - "@helium/modular-governance-idls": "^0.0.14", - "@helium/nft-proxy-sdk": "^0.0.14", + "@helium/modular-governance-idls": "^0.0.15", + "@helium/nft-proxy-sdk": "^0.0.15", "@solana/spl-token": "^0.3.8" }, "devDependencies": { diff --git a/packages/organization-sdk/CHANGELOG.md b/packages/organization-sdk/CHANGELOG.md index 437627a..bb3ed39 100644 --- a/packages/organization-sdk/CHANGELOG.md +++ b/packages/organization-sdk/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.0.15](https://github.com/helium/modular-governance/compare/v0.0.14...v0.0.15) (2024-12-06) + +**Note:** Version bump only for package @helium/organization-sdk + + + + + ## [0.0.14](https://github.com/helium/modular-governance/compare/v0.0.13...v0.0.14) (2024-10-24) **Note:** Version bump only for package @helium/organization-sdk diff --git a/packages/organization-sdk/package.json b/packages/organization-sdk/package.json index 8de75ce..26172cd 100644 --- a/packages/organization-sdk/package.json +++ b/packages/organization-sdk/package.json @@ -5,7 +5,7 @@ "registry": "https://registry.npmjs.org/" }, "license": "Apache-2.0", - "version": "0.0.14", + "version": "0.0.15", "description": "Interface to the organization smart contract", "repository": { "type": "git", @@ -33,8 +33,8 @@ "dependencies": { "@coral-xyz/anchor": "^0.28.0", "@helium/anchor-resolvers": "^0.5.0", - "@helium/modular-governance-idls": "^0.0.14", - "@helium/proposal-sdk": "^0.0.14" + "@helium/modular-governance-idls": "^0.0.15", + "@helium/proposal-sdk": "^0.0.15" }, "devDependencies": { "git-format-staged": "^2.1.3", diff --git a/packages/organization-wallet-sdk/CHANGELOG.md b/packages/organization-wallet-sdk/CHANGELOG.md index 47d4e38..1e0d2c1 100644 --- a/packages/organization-wallet-sdk/CHANGELOG.md +++ b/packages/organization-wallet-sdk/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.0.15](https://github.com/helium/modular-governance/compare/v0.0.14...v0.0.15) (2024-12-06) + +**Note:** Version bump only for package @helium/organization-wallet-sdk + + + + + ## [0.0.14](https://github.com/helium/modular-governance/compare/v0.0.13...v0.0.14) (2024-10-24) **Note:** Version bump only for package @helium/organization-wallet-sdk diff --git a/packages/organization-wallet-sdk/package.json b/packages/organization-wallet-sdk/package.json index 87a91fa..65d1fa6 100644 --- a/packages/organization-wallet-sdk/package.json +++ b/packages/organization-wallet-sdk/package.json @@ -5,7 +5,7 @@ "registry": "https://registry.npmjs.org/" }, "license": "Apache-2.0", - "version": "0.0.14", + "version": "0.0.15", "description": "Interface to the organization wallet smart contract", "repository": { "type": "git", @@ -33,8 +33,8 @@ "dependencies": { "@coral-xyz/anchor": "^0.28.0", "@helium/anchor-resolvers": "^0.5.0", - "@helium/modular-governance-idls": "^0.0.14", - "@helium/proposal-sdk": "^0.0.14" + "@helium/modular-governance-idls": "^0.0.15", + "@helium/proposal-sdk": "^0.0.15" }, "devDependencies": { "git-format-staged": "^2.1.3", diff --git a/packages/proposal-sdk/CHANGELOG.md b/packages/proposal-sdk/CHANGELOG.md index 65bcd6a..6c183b4 100644 --- a/packages/proposal-sdk/CHANGELOG.md +++ b/packages/proposal-sdk/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.0.15](https://github.com/helium/modular-governance/compare/v0.0.14...v0.0.15) (2024-12-06) + +**Note:** Version bump only for package @helium/proposal-sdk + + + + + ## [0.0.14](https://github.com/helium/modular-governance/compare/v0.0.13...v0.0.14) (2024-10-24) **Note:** Version bump only for package @helium/proposal-sdk diff --git a/packages/proposal-sdk/package.json b/packages/proposal-sdk/package.json index c02b5b5..ba5a318 100644 --- a/packages/proposal-sdk/package.json +++ b/packages/proposal-sdk/package.json @@ -5,7 +5,7 @@ "registry": "https://registry.npmjs.org/" }, "license": "Apache-2.0", - "version": "0.0.14", + "version": "0.0.15", "description": "Interface to the proposal smart contract", "repository": { "type": "git", @@ -33,7 +33,7 @@ "dependencies": { "@coral-xyz/anchor": "^0.28.0", "@helium/anchor-resolvers": "^0.5.0", - "@helium/modular-governance-idls": "^0.0.14" + "@helium/modular-governance-idls": "^0.0.15" }, "devDependencies": { "git-format-staged": "^2.1.3", diff --git a/packages/state-controller-sdk/CHANGELOG.md b/packages/state-controller-sdk/CHANGELOG.md index 7e7c77d..c2f9439 100644 --- a/packages/state-controller-sdk/CHANGELOG.md +++ b/packages/state-controller-sdk/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.0.15](https://github.com/helium/modular-governance/compare/v0.0.14...v0.0.15) (2024-12-06) + +**Note:** Version bump only for package @helium/state-controller-sdk + + + + + ## [0.0.14](https://github.com/helium/modular-governance/compare/v0.0.13...v0.0.14) (2024-10-24) **Note:** Version bump only for package @helium/state-controller-sdk diff --git a/packages/state-controller-sdk/package.json b/packages/state-controller-sdk/package.json index e4cecf6..a9ff514 100644 --- a/packages/state-controller-sdk/package.json +++ b/packages/state-controller-sdk/package.json @@ -5,7 +5,7 @@ "registry": "https://registry.npmjs.org/" }, "license": "Apache-2.0", - "version": "0.0.14", + "version": "0.0.15", "description": "Interface to the state controller smart contract", "repository": { "type": "git", @@ -33,7 +33,7 @@ "dependencies": { "@coral-xyz/anchor": "^0.28.0", "@helium/anchor-resolvers": "^0.5.0", - "@helium/modular-governance-idls": "^0.0.14" + "@helium/modular-governance-idls": "^0.0.15" }, "devDependencies": { "git-format-staged": "^2.1.3", diff --git a/packages/token-voter-sdk/CHANGELOG.md b/packages/token-voter-sdk/CHANGELOG.md index 4a02966..fec9f22 100644 --- a/packages/token-voter-sdk/CHANGELOG.md +++ b/packages/token-voter-sdk/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.0.15](https://github.com/helium/modular-governance/compare/v0.0.14...v0.0.15) (2024-12-06) + +**Note:** Version bump only for package @helium/token-voter-sdk + + + + + ## [0.0.14](https://github.com/helium/modular-governance/compare/v0.0.13...v0.0.14) (2024-10-24) **Note:** Version bump only for package @helium/token-voter-sdk diff --git a/packages/token-voter-sdk/package.json b/packages/token-voter-sdk/package.json index 7fb9348..0c065be 100644 --- a/packages/token-voter-sdk/package.json +++ b/packages/token-voter-sdk/package.json @@ -5,7 +5,7 @@ "registry": "https://registry.npmjs.org/" }, "license": "Apache-2.0", - "version": "0.0.14", + "version": "0.0.15", "description": "Interface to the token voter smart contract", "repository": { "type": "git", @@ -33,7 +33,7 @@ "dependencies": { "@coral-xyz/anchor": "^0.28.0", "@helium/anchor-resolvers": "^0.5.0", - "@helium/modular-governance-idls": "^0.0.14", + "@helium/modular-governance-idls": "^0.0.15", "@solana/spl-token": "^0.3.8" }, "devDependencies": { diff --git a/scripts/verify.sh b/scripts/verify.sh new file mode 100755 index 0000000..0384449 --- /dev/null +++ b/scripts/verify.sh @@ -0,0 +1,61 @@ +#!/bin/bash + +# Function to get the latest semver tag for a program +get_latest_tag() { + local program_name=$1 + git tag -l "program-$program_name-*" | sed 's/program-[^-]*-//' | sort -t. -k1,1n -k2,2n -k3,3n | tail -n 1 | sed "s/^/program-$program_name-/" +} + +# Function to get commit hash from a tag +get_commit_hash() { + local tag=$1 + git rev-list -n 1 "$tag" +} + +# Function to verify a single program +verify_program() { + local program_dir=$1 + + # Get the base name and convert hyphens to underscores + library_name=$(basename "$program_dir" | tr '-' '_') + + # Get the program ID from Anchor.toml + program_id=$(toml get Anchor.toml programs.localnet.$library_name | tr -d '"') + + # Skip if program ID is empty + [ -z "$program_id" ] && return + + # Get the program name with hyphens (for tag matching) + program_name=$(basename "$program_dir") + + # Get the latest tag and its commit hash + latest_tag=$(get_latest_tag "$program_name") + commit_hash=$(get_commit_hash "$latest_tag") + + echo "Verifying $library_name with program ID $program_id" + echo "Using tag $latest_tag (commit: $commit_hash)" + + solana-verify verify-from-repo \ + https://github.com/helium/modular-governance \ + --program-id "$program_id" \ + --remote \ + --commit-hash "$commit_hash" \ + --library-name "$library_name" \ + -b solanafoundation/solana-verifiable-build:1.16.13 +} + +# Check if a specific program was provided +if [ $# -eq 1 ]; then + program_dir="programs/$1" + if [ -d "$program_dir" ]; then + verify_program "$program_dir" + else + echo "Error: Program directory '$program_dir' not found" + exit 1 + fi +else + # Iterate through each directory in programs/ + for program_dir in programs/*/; do + verify_program "$program_dir" + done +fi From ebf582ec0f51b5488f6fa6257db60bb8af884eb1 Mon Sep 17 00:00:00 2001 From: Noah Prince <83885631+ChewingGlass@users.noreply.github.com> Date: Fri, 13 Dec 2024 13:11:59 -0800 Subject: [PATCH 22/25] Fix bugs in nft and token voter (#39) --- .../instructions/initialize_nft_voter_v0.rs | 5 +++-- .../proxied_relinquish_vote_v0.rs | 6 +++-- .../src/instructions/proxied_vote_v0.rs | 6 ++--- .../nft_voter/src/instructions/vote_v0.rs | 5 ++--- .../instructions/initialize_token_voter_v0.rs | 22 ++++++++++++------- .../token_voter/src/instructions/vote_v0.rs | 5 ++--- .../src/instructions/withdraw_v0.rs | 17 ++++++++------ 7 files changed, 38 insertions(+), 28 deletions(-) diff --git a/programs/nft_voter/src/instructions/initialize_nft_voter_v0.rs b/programs/nft_voter/src/instructions/initialize_nft_voter_v0.rs index eaf913f..21dba3b 100644 --- a/programs/nft_voter/src/instructions/initialize_nft_voter_v0.rs +++ b/programs/nft_voter/src/instructions/initialize_nft_voter_v0.rs @@ -1,8 +1,9 @@ -use crate::state::*; use anchor_lang::prelude::*; use anchor_spl::token::Mint; use nft_proxy::state::ProxyConfigV0; +use crate::state::*; + #[derive(AnchorSerialize, AnchorDeserialize, Clone, Default)] pub struct InitializeNftVoterArgsV0 { pub name: String, @@ -19,7 +20,7 @@ pub struct InitializeNftVoterV0<'info> { #[account( init, payer = payer, - space = 8 + 60 + std::mem::size_of::(), + space = 8 + 60 + std::mem::size_of::() + 4 + args.name.len(), seeds = [b"nft_voter", args.name.as_bytes()], bump )] diff --git a/programs/nft_voter/src/instructions/proxied_relinquish_vote_v0.rs b/programs/nft_voter/src/instructions/proxied_relinquish_vote_v0.rs index 3d3d90d..b92eea3 100644 --- a/programs/nft_voter/src/instructions/proxied_relinquish_vote_v0.rs +++ b/programs/nft_voter/src/instructions/proxied_relinquish_vote_v0.rs @@ -1,10 +1,11 @@ -use crate::{error::ErrorCode, metaplex::MetadataAccount, RelinquishVoteArgsV0}; use anchor_lang::prelude::*; use anchor_spl::token::Mint; use nft_proxy::state::ProxyAssignmentV0; use proposal::{ProposalConfigV0, ProposalV0}; -use crate::{nft_voter_seeds, state::*}; +use crate::{ + error::ErrorCode, metaplex::MetadataAccount, nft_voter_seeds, state::*, RelinquishVoteArgsV0, +}; #[derive(Accounts)] pub struct ProxiedRelinquishVoteV0<'info> { @@ -35,6 +36,7 @@ pub struct ProxiedRelinquishVoteV0<'info> { constraint = proxy_assignment.proxy_config == nft_voter.proxy_config, constraint = proxy_assignment.index <= marker.proxy_index, constraint = proxy_assignment.expiration_time > Clock::get().unwrap().unix_timestamp, + constraint = proxy_assignment.asset == mint.key(), )] pub proxy_assignment: Box>, #[account( diff --git a/programs/nft_voter/src/instructions/proxied_vote_v0.rs b/programs/nft_voter/src/instructions/proxied_vote_v0.rs index eda361b..0a60f38 100644 --- a/programs/nft_voter/src/instructions/proxied_vote_v0.rs +++ b/programs/nft_voter/src/instructions/proxied_vote_v0.rs @@ -1,10 +1,9 @@ -use crate::{error::ErrorCode, metaplex::MetadataAccount, VoteArgsV0}; use anchor_lang::prelude::*; use anchor_spl::token::Mint; use nft_proxy::state::ProxyAssignmentV0; use proposal::{ProposalConfigV0, ProposalV0}; -use crate::{nft_voter_seeds, state::*}; +use crate::{error::ErrorCode, metaplex::MetadataAccount, nft_voter_seeds, state::*, VoteArgsV0}; #[derive(Accounts)] pub struct ProxyVoteV0<'info> { @@ -13,7 +12,7 @@ pub struct ProxyVoteV0<'info> { #[account( init_if_needed, payer = payer, - space = 8 + 60 + std::mem::size_of::(), + space = 8 + 60 + std::mem::size_of::() + 2 * proposal.choices.len(), seeds = [b"marker", nft_voter.key().as_ref(), mint.key().as_ref(), proposal.key().as_ref()], bump )] @@ -24,6 +23,7 @@ pub struct ProxyVoteV0<'info> { // only the current or earlier delegates can change vote. Or if proposal not set, this was an `init` for the marker constraint = proxy_assignment.index <= marker.proxy_index || marker.proposal == Pubkey::default(), constraint = proxy_assignment.expiration_time > Clock::get().unwrap().unix_timestamp, + constraint = proxy_assignment.asset == mint.key(), )] pub proxy_assignment: Box>, pub nft_voter: Box>, diff --git a/programs/nft_voter/src/instructions/vote_v0.rs b/programs/nft_voter/src/instructions/vote_v0.rs index 13b5133..eb619c5 100644 --- a/programs/nft_voter/src/instructions/vote_v0.rs +++ b/programs/nft_voter/src/instructions/vote_v0.rs @@ -1,9 +1,8 @@ -use crate::{error::ErrorCode, metaplex::MetadataAccount}; use anchor_lang::prelude::*; use anchor_spl::token::{Mint, TokenAccount}; use proposal::{ProposalConfigV0, ProposalV0}; -use crate::{nft_voter_seeds, state::*}; +use crate::{error::ErrorCode, metaplex::MetadataAccount, nft_voter_seeds, state::*}; #[derive(AnchorSerialize, AnchorDeserialize, Clone, Default)] pub struct VoteArgsV0 { @@ -17,7 +16,7 @@ pub struct VoteV0<'info> { #[account( init_if_needed, payer = payer, - space = 8 + 60 + std::mem::size_of::(), + space = 8 + 60 + std::mem::size_of::() + 2 * proposal.choices.len(), seeds = [b"marker", nft_voter.key().as_ref(), mint.key().as_ref(), proposal.key().as_ref()], bump )] diff --git a/programs/token_voter/src/instructions/initialize_token_voter_v0.rs b/programs/token_voter/src/instructions/initialize_token_voter_v0.rs index 0d752e9..7159cf6 100644 --- a/programs/token_voter/src/instructions/initialize_token_voter_v0.rs +++ b/programs/token_voter/src/instructions/initialize_token_voter_v0.rs @@ -1,11 +1,17 @@ -use crate::metaplex::{ - create_master_edition_v3, create_metadata_accounts_v3, CollectionDetails, CreateMasterEditionV3, - CreateMetadataAccountsV3, DataV2, Metadata, -}; -use crate::{state::*, token_voter_seeds}; use anchor_lang::prelude::*; -use anchor_spl::associated_token::AssociatedToken; -use anchor_spl::token::{self, Mint, MintTo, Token, TokenAccount}; +use anchor_spl::{ + associated_token::AssociatedToken, + token::{self, Mint, MintTo, Token, TokenAccount}, +}; + +use crate::{ + metaplex::{ + create_master_edition_v3, create_metadata_accounts_v3, CollectionDetails, + CreateMasterEditionV3, CreateMetadataAccountsV3, DataV2, Metadata, + }, + state::*, + token_voter_seeds, +}; #[derive(AnchorSerialize, AnchorDeserialize, Clone, Default)] pub struct InitializeTokenVoterArgsV0 { @@ -23,7 +29,7 @@ pub struct InitializeTokenVoterV0<'info> { #[account( init, payer = payer, - space = 8 + 60 + std::mem::size_of::(), + space = 8 + 60 + std::mem::size_of::() + 4 + args.name.len(), seeds = [b"token_voter", args.name.as_bytes()], bump )] diff --git a/programs/token_voter/src/instructions/vote_v0.rs b/programs/token_voter/src/instructions/vote_v0.rs index c3ac8d9..b9c2b22 100644 --- a/programs/token_voter/src/instructions/vote_v0.rs +++ b/programs/token_voter/src/instructions/vote_v0.rs @@ -1,9 +1,8 @@ -use crate::error::ErrorCode; use anchor_lang::prelude::*; use anchor_spl::token::{Mint, TokenAccount}; use proposal::{ProposalConfigV0, ProposalV0}; -use crate::{state::*, token_voter_seeds}; +use crate::{error::ErrorCode, state::*, token_voter_seeds}; #[derive(AnchorSerialize, AnchorDeserialize, Clone, Default)] pub struct VoteArgsV0 { @@ -17,7 +16,7 @@ pub struct VoteV0<'info> { #[account( init_if_needed, payer = payer, - space = 8 + 60 + std::mem::size_of::(), + space = 8 + 60 + std::mem::size_of::() + 2 * proposal.choices.len(), seeds = [b"marker", token_voter.key().as_ref(), mint.key().as_ref(), proposal.key().as_ref()], bump )] diff --git a/programs/token_voter/src/instructions/withdraw_v0.rs b/programs/token_voter/src/instructions/withdraw_v0.rs index 1dc5cb3..f23d170 100644 --- a/programs/token_voter/src/instructions/withdraw_v0.rs +++ b/programs/token_voter/src/instructions/withdraw_v0.rs @@ -1,10 +1,14 @@ -use crate::metaplex::{burn, Burn, Metadata}; -use crate::receipt_seeds; -use crate::state::*; use anchor_lang::prelude::*; -use anchor_spl::associated_token::AssociatedToken; -use anchor_spl::token::{self, CloseAccount, Transfer}; -use anchor_spl::token::{Mint, Token, TokenAccount}; +use anchor_spl::{ + associated_token::AssociatedToken, + token::{self, CloseAccount, Mint, Token, TokenAccount, Transfer}, +}; + +use crate::{ + metaplex::{burn, Burn, Metadata}, + receipt_seeds, + state::*, +}; #[derive(Accounts)] pub struct WithdrawV0<'info> { @@ -62,7 +66,6 @@ pub struct WithdrawV0<'info> { #[account( mut, - close = refund, associated_token::authority = receipt, associated_token::mint = deposit_mint, )] From f62ca7cbfbcaa68a998af67f20e5ad4c8c738ada Mon Sep 17 00:00:00 2001 From: Noah Prince Date: Thu, 30 Jan 2025 12:35:29 -0800 Subject: [PATCH 23/25] Fix build --- .github/workflows/develop-release-program.yaml | 8 ++++---- Cargo.lock | 2 +- programs/nft_proxy/Cargo.toml | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/develop-release-program.yaml b/.github/workflows/develop-release-program.yaml index 12b32f1..0ddf3e1 100644 --- a/.github/workflows/develop-release-program.yaml +++ b/.github/workflows/develop-release-program.yaml @@ -90,13 +90,13 @@ jobs: program-id: ${{ env.PROGRAM_ID }} - name: Store so files - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: ${{matrix.program}}-so path: | ./target/deploy/${{env.PROGRAM_NAME}}.so - name: Store idl files - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: ${{matrix.program}}-idl path: | @@ -129,12 +129,12 @@ jobs: PROGRAM: ${{ matrix.program }} - name: Download a so files - uses: actions/download-artifact@v3 + uses: actions/download-artifact@v4 with: name: ${{matrix.program}}-so path: ./target/deploy/ - name: Download idl files - uses: actions/download-artifact@v3 + uses: actions/download-artifact@v4 with: name: ${{matrix.program}}-idl path: ./target/idl/ diff --git a/Cargo.lock b/Cargo.lock index 333ffd1..7303fb2 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1237,7 +1237,7 @@ dependencies = [ [[package]] name = "nft-proxy" -version = "0.0.1" +version = "0.0.2" dependencies = [ "anchor-lang", "anchor-spl", diff --git a/programs/nft_proxy/Cargo.toml b/programs/nft_proxy/Cargo.toml index a0c2dca..cb3ce98 100644 --- a/programs/nft_proxy/Cargo.toml +++ b/programs/nft_proxy/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "nft-proxy" -version = "0.0.1" +version = "0.0.2" description = "Created with Anchor" edition = "2021" From 2d8830d3f6a8bd4887fdbda397a66ac8bd4cdfc6 Mon Sep 17 00:00:00 2001 From: Noah Prince <83885631+ChewingGlass@users.noreply.github.com> Date: Fri, 21 Mar 2025 07:49:03 -0700 Subject: [PATCH 24/25] Upgrade to anchor 0.31.0 (#42) --- .github/actions/build-anchor/action.yaml | 4 +- .github/actions/build-verified/action.yaml | 4 +- .github/actions/setup-anchor/action.yaml | 4 +- .github/actions/setup-solana/action.yaml | 4 +- .github/actions/setup-ts/action.yaml | 2 +- .github/actions/setup/action.yaml | 4 +- .../workflows/develop-release-program.yaml | 4 +- .github/workflows/npm-canary-release.yaml | 2 +- .github/workflows/npm-publish.yaml | 2 +- .github/workflows/release-program.yaml | 4 +- .github/workflows/tests.yaml | 8 +- CHANGELOG.md | 48 + Cargo.lock | 2809 ++++++++++------- Cargo.toml | 4 +- lerna.json | 2 +- package.json | 7 +- packages/docsite/CHANGELOG.md | 48 + packages/docsite/package.json | 2 +- .../src/pages/docs/api/nft-proxy-sdk.md | 202 +- .../src/pages/docs/api/nft-voter-sdk.md | 379 ++- .../src/pages/docs/api/organization-sdk.md | 126 +- .../pages/docs/api/organization-wallet-sdk.md | 299 +- .../src/pages/docs/api/proposal-sdk.md | 236 +- .../pages/docs/api/state-controller-sdk.md | 193 +- .../src/pages/docs/api/token-voter-sdk.md | 345 +- .../pages/docs/api/vote-hook-interface-sdk.md | 32 +- .../pages/docs/examples/nft-voter-examples.md | 10 +- .../docs/examples/organization-examples.md | 2 +- .../pages/docs/examples/proposal-examples.md | 10 +- .../examples/state-controller-examples.md | 30 +- .../docs/examples/token-voter-examples.md | 12 +- .../src/pages/docs/learn/getting_started.md | 34 +- .../modular-governance-hooks/CHANGELOG.md | 48 + .../modular-governance-hooks/package.json | 14 +- packages/modular-governance-idls/CHANGELOG.md | 48 + packages/modular-governance-idls/package.json | 4 +- .../tsconfig.esm.tsbuildinfo | 2 +- packages/nft-proxy-sdk/CHANGELOG.md | 48 + packages/nft-proxy-sdk/package.json | 6 +- packages/nft-proxy-sdk/src/index.ts | 532 ++-- packages/nft-voter-sdk/CHANGELOG.md | 48 + packages/nft-voter-sdk/package.json | 10 +- .../nft-voter-sdk/src/functions/deposit.ts | 2 +- packages/nft-voter-sdk/src/index.ts | 1 - packages/organization-sdk/CHANGELOG.md | 48 + packages/organization-sdk/package.json | 10 +- packages/organization-sdk/src/init.ts | 208 +- packages/organization-wallet-sdk/CHANGELOG.md | 48 + packages/organization-wallet-sdk/package.json | 10 +- .../src/functions/executeTransaction.ts | 5 +- packages/organization-wallet-sdk/src/index.ts | 2 +- packages/organization-wallet-sdk/src/init.ts | 1 - packages/proposal-sdk/CHANGELOG.md | 48 + packages/proposal-sdk/package.json | 8 +- packages/proposal-sdk/src/index.ts | 589 ++-- packages/state-controller-sdk/CHANGELOG.md | 48 + packages/state-controller-sdk/package.json | 8 +- packages/state-controller-sdk/src/index.ts | 557 ++-- packages/token-voter-sdk/CHANGELOG.md | 48 + packages/token-voter-sdk/package.json | 8 +- .../token-voter-sdk/src/functions/deposit.ts | 2 +- packages/token-voter-sdk/src/index.ts | 1 - programs/nft_proxy/Cargo.toml | 6 +- .../src/instructions/assign_proxy_v0.rs | 10 +- programs/nft_voter/Cargo.toml | 8 +- .../instructions/initialize_nft_voter_v0.rs | 2 +- .../proxied_relinquish_vote_v0.rs | 11 +- .../src/instructions/proxied_vote_v0.rs | 13 +- .../src/instructions/relinquish_vote_v0.rs | 12 +- .../nft_voter/src/instructions/vote_v0.rs | 13 +- programs/nft_voter/src/lib.rs | 1 - programs/nft_voter/src/metaplex.rs | 175 - programs/organization/Cargo.toml | 7 +- .../initialize_organization_v0.rs | 5 +- programs/organization_wallet/Cargo.toml | 6 +- .../initialize_organization_wallet_v0.rs | 5 +- .../src/instructions/set_transactions_v0.rs | 6 +- programs/proposal/Cargo.toml | 6 +- .../initialize_proposal_config_v0.rs | 5 +- .../instructions/initialize_proposal_v0.rs | 6 +- programs/state_controller/Cargo.toml | 6 +- .../initialize_resolution_settings_v0.rs | 5 +- .../src/instructions/update_state_v0.rs | 45 +- programs/token_voter/Cargo.toml | 8 +- .../src/instructions/deposit_v0.rs | 27 +- .../instructions/initialize_token_voter_v0.rs | 16 +- .../token_voter/src/instructions/vote_v0.rs | 2 +- .../src/instructions/withdraw_v0.rs | 34 +- programs/token_voter/src/lib.rs | 1 - programs/token_voter/src/metaplex.rs | 488 --- programs/vote_hook_interface/Cargo.toml | 6 +- scripts/generate-idl-docs.ts | 8 +- tests/nft-voter.ts | 26 +- tests/organization-wallet.ts | 22 +- tests/organization.ts | 10 +- tests/proposal.ts | 20 +- tests/state-controller.ts | 63 +- tests/token-voter.ts | 28 +- yarn.lock | 295 +- 99 files changed, 4813 insertions(+), 3878 deletions(-) delete mode 100644 programs/nft_voter/src/metaplex.rs delete mode 100644 programs/token_voter/src/metaplex.rs diff --git a/.github/actions/build-anchor/action.yaml b/.github/actions/build-anchor/action.yaml index 8a9cbec..25fd4d4 100644 --- a/.github/actions/build-anchor/action.yaml +++ b/.github/actions/build-anchor/action.yaml @@ -19,7 +19,7 @@ runs: - uses: ./.github/actions/setup-anchor/ with: node-version: ${{ env.NODE_VERSION }} - - uses: actions/cache@v2 + - uses: actions/cache@v4 name: Cache Cargo registry + index id: cache-cargo-registry with: @@ -30,7 +30,7 @@ runs: ~/.cargo/git/db/ key: cargo-${{ runner.os }}-cargo-build-${{ hashFiles('**/Cargo.lock') }} - name: Cache Anchor Build - uses: actions/cache@v2 + uses: actions/cache@v4 id: cache-anchor-build with: path: | diff --git a/.github/actions/build-verified/action.yaml b/.github/actions/build-verified/action.yaml index 989b09b..2ed37c0 100644 --- a/.github/actions/build-verified/action.yaml +++ b/.github/actions/build-verified/action.yaml @@ -23,7 +23,7 @@ runs: - uses: ./.github/actions/setup-anchor/ with: node-version: ${{ env.NODE_VERSION }} - - uses: actions/cache@v2 + - uses: actions/cache@v4 name: Cache Cargo registry + index id: cache-cargo-registry with: @@ -32,7 +32,7 @@ runs: ~/.cargo/registry/cache/ ~/.cargo/git/db/ key: cargo-${{ runner.os }}-v0001-${{ hashFiles('**/Cargo.lock') }} - - uses: actions/cache@v2 + - uses: actions/cache@v4 name: Cache Solana Verify id: cache-solana-verify with: diff --git a/.github/actions/setup-anchor/action.yaml b/.github/actions/setup-anchor/action.yaml index 18c534c..e1e1861 100644 --- a/.github/actions/setup-anchor/action.yaml +++ b/.github/actions/setup-anchor/action.yaml @@ -5,7 +5,7 @@ runs: steps: - uses: ./.github/actions/setup/ - uses: ./.github/actions/setup-solana/ - - uses: actions/cache@v2 + - uses: actions/cache@v4 name: Cache Anchor Cli id: cache-anchor-cli with: @@ -19,7 +19,7 @@ runs: - run: if [ $ANCHOR_VERSION -eq 0 ]; then cargo install --git https://github.com/coral-xyz/anchor --rev $ANCHOR_SHA anchor-cli --locked --force; else cargo install --git https://github.com/coral-xyz/anchor --tag "v$ANCHOR_VERSION" anchor-cli --locked; fi shell: bash if: steps.cache-anchor-cli.outputs.cache-hit != 'true' - - uses: actions/cache@v2 + - uses: actions/cache@v4 name: Cache Toml Cli id: cache-toml-cli with: diff --git a/.github/actions/setup-solana/action.yaml b/.github/actions/setup-solana/action.yaml index fbefde8..80ab99b 100644 --- a/.github/actions/setup-solana/action.yaml +++ b/.github/actions/setup-solana/action.yaml @@ -3,7 +3,7 @@ description: "Setup Solana" runs: using: "composite" steps: - - uses: actions/cache@v2 + - uses: actions/cache@v4 name: Cache Solana Tool Suite id: cache-solana with: @@ -11,7 +11,7 @@ runs: ~/.cache/solana/ ~/.local/share/solana/ key: solana-${{ runner.os }}-v0000-${{ env.SOLANA_CLI_VERSION }} - - run: sh -c "$(curl -sSfL https://release.solana.com/v${{ env.SOLANA_CLI_VERSION }}/install)" + - run: sh -c "$(curl -sSfL https://release.anza.xyz/v${{ env.SOLANA_CLI_VERSION }}/install)" shell: bash if: steps.cache-solana.outputs.cache-hit != 'true' - run: echo "/home/runner/.local/share/solana/install/active_release/bin" >> $GITHUB_PATH diff --git a/.github/actions/setup-ts/action.yaml b/.github/actions/setup-ts/action.yaml index 681e7a6..987d9dc 100644 --- a/.github/actions/setup-ts/action.yaml +++ b/.github/actions/setup-ts/action.yaml @@ -6,7 +6,7 @@ runs: - uses: actions/setup-node@v2 with: node-version: ${{ env.NODE_VERSION }} - - uses: actions/cache@v2 + - uses: actions/cache@v4 name: Cache Typescript node_modules id: cache-typescript-node-modules with: diff --git a/.github/actions/setup/action.yaml b/.github/actions/setup/action.yaml index 90ef2f0..1578a92 100644 --- a/.github/actions/setup/action.yaml +++ b/.github/actions/setup/action.yaml @@ -7,9 +7,7 @@ runs: shell: bash - run: sudo apt-get install -y pkg-config build-essential libudev-dev shell: bash - # TODO: We're on anchor latest because of https://github.com/coral-xyz/anchor/issues/2568 - # On anchor 0.28.1 we can probably stop using 0 as the source - - run: echo "ANCHOR_VERSION=0" >> $GITHUB_ENV + - run: echo "ANCHOR_VERSION=0.31.0" >> $GITHUB_ENV shell: bash - run: echo "ANCHOR_SHA=3e8bc76d72e2bfdb3962868b5066" >> $GITHUB_ENV shell: bash diff --git a/.github/workflows/develop-release-program.yaml b/.github/workflows/develop-release-program.yaml index 0ddf3e1..3b7f300 100644 --- a/.github/workflows/develop-release-program.yaml +++ b/.github/workflows/develop-release-program.yaml @@ -1,7 +1,7 @@ name: Deploy Programs to devnet env: - SOLANA_CLI_VERSION: 1.16.13 + SOLANA_CLI_VERSION: 2.1.6 NODE_VERSION: 18.12.1 on: @@ -51,7 +51,7 @@ jobs: run: | find programs -type f -name '*.rs' -exec sed -i "s/b\"nJWGUMOK\"/b\"devnethelium5\"/g" {} \; - - uses: actions/cache@v2 + - uses: actions/cache@v4 name: Cache Toml Cli id: cache-toml-cli with: diff --git a/.github/workflows/npm-canary-release.yaml b/.github/workflows/npm-canary-release.yaml index f4ca0a6..b0caf9c 100644 --- a/.github/workflows/npm-canary-release.yaml +++ b/.github/workflows/npm-canary-release.yaml @@ -4,7 +4,7 @@ on: types: [ created ] env: - SOLANA_CLI_VERSION: 1.16.13 + SOLANA_CLI_VERSION: 2.1.6 NODE_VERSION: 18.12.1 permissions: diff --git a/.github/workflows/npm-publish.yaml b/.github/workflows/npm-publish.yaml index 0ccf4f6..8d1c3b8 100644 --- a/.github/workflows/npm-publish.yaml +++ b/.github/workflows/npm-publish.yaml @@ -1,7 +1,7 @@ name: NPM Publish env: - SOLANA_CLI_VERSION: 1.16.13 + SOLANA_CLI_VERSION: 2.1.6 NODE_VERSION: 18.12.1 on: diff --git a/.github/workflows/release-program.yaml b/.github/workflows/release-program.yaml index 193bd24..5352b11 100644 --- a/.github/workflows/release-program.yaml +++ b/.github/workflows/release-program.yaml @@ -1,7 +1,7 @@ name: Release Program to Mainnet env: - SOLANA_CLI_VERSION: 1.16.13 + SOLANA_CLI_VERSION: 2.1.6 NODE_VERSION: 18.12.1 on: @@ -17,7 +17,7 @@ jobs: - name: Checkout code uses: actions/checkout@v2 - - uses: actions/cache@v2 + - uses: actions/cache@v4 name: Cache Toml Cli id: cache-toml-cli with: diff --git a/.github/workflows/tests.yaml b/.github/workflows/tests.yaml index a15cb42..43a3e34 100644 --- a/.github/workflows/tests.yaml +++ b/.github/workflows/tests.yaml @@ -9,7 +9,7 @@ on: - main - develop env: - SOLANA_CLI_VERSION: 1.16.13 + SOLANA_CLI_VERSION: 2.1.6 NODE_VERSION: 18.12.1 jobs: @@ -19,7 +19,7 @@ jobs: steps: - uses: actions/checkout@v2 - uses: ./.github/actions/setup/ - - uses: actions/cache@v2 + - uses: actions/cache@v4 name: Cache Cargo registry + index id: cache-cargo-build with: @@ -31,7 +31,7 @@ jobs: key: cargo-${{ runner.os }}-cargo-build-${{ hashFiles('**/Cargo.lock') }} - run: cargo build --locked - run: cargo fmt -- --check - - run: cargo clippy --all-targets -- -D warnings -A clippy::result_large_err -A clippy::too_many_arguments -A clippy::uninlined-format-args -A ambiguous_glob_reexports + - run: cargo clippy --all-targets -- -D warnings -A unexpected-cfgs -A clippy::result_large_err -A clippy::too_many_arguments -A clippy::uninlined-format-args -A ambiguous_glob_reexports test-unit: name: Rust Unit Tests @@ -39,7 +39,7 @@ jobs: steps: - uses: actions/checkout@v2 - uses: ./.github/actions/setup/ - - uses: actions/cache@v2 + - uses: actions/cache@v4 name: Cache Cargo registry + index id: cache-cargo-build with: diff --git a/CHANGELOG.md b/CHANGELOG.md index 5794748..4a14c9a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,54 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.5-alpha.0](https://github.com/helium/modular-governance/compare/v0.0.15...v0.1.5-alpha.0) (2025-03-19) + +**Note:** Version bump only for package modular-governance + + + + + +## [0.1.4](https://github.com/helium/modular-governance/compare/v0.0.15...v0.1.4) (2025-02-24) + +**Note:** Version bump only for package modular-governance + + + + + +## [0.1.3](https://github.com/helium/modular-governance/compare/v0.0.15...v0.1.3) (2025-02-24) + +**Note:** Version bump only for package modular-governance + + + + + +## [0.1.2](https://github.com/helium/modular-governance/compare/v0.0.15...v0.1.2) (2025-02-24) + +**Note:** Version bump only for package modular-governance + + + + + +## [0.1.1](https://github.com/helium/modular-governance/compare/v0.0.15...v0.1.1) (2025-02-14) + +**Note:** Version bump only for package modular-governance + + + + + +# [0.1.0](https://github.com/helium/modular-governance/compare/v0.0.15...v0.1.0) (2025-02-14) + +**Note:** Version bump only for package modular-governance + + + + + ## [0.0.15](https://github.com/helium/modular-governance/compare/v0.0.14...v0.0.15) (2024-12-06) **Note:** Version bump only for package modular-governance diff --git a/Cargo.lock b/Cargo.lock index 7303fb2..858c726 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1,33 +1,33 @@ # This file is automatically @generated by Cargo. # It is not intended for manual editing. -version = 3 +version = 4 [[package]] name = "aead" -version = "0.4.3" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b613b8e1e3cf911a086f53f03bf286f52fd7a7258e4fa606f0ef220d39d8877" +checksum = "d122413f284cf2d62fb1b7db97e02edb8cda96d769b16e443a4f6195e35662b0" dependencies = [ + "crypto-common", "generic-array", ] [[package]] name = "aes" -version = "0.7.5" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e8b47f52ea9bae42228d07ec09eb676433d7c4ed1ebdf0f1d1c29ed446f1ab8" +checksum = "b169f7a6d4742236a0a00c541b845991d0ac43e546831af1249753ab4c3aa3a0" dependencies = [ "cfg-if", "cipher", "cpufeatures", - "opaque-debug", ] [[package]] name = "aes-gcm-siv" -version = "0.10.3" +version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "589c637f0e68c877bbd59a4599bbe849cac8e5f3e4b5a3ebae8f528cd218dcdc" +checksum = "ae0784134ba9375416d469ec31e7c5f9fa94405049cf08c5ce5b4698be673e0d" dependencies = [ "aead", "aes", @@ -40,91 +40,79 @@ dependencies = [ [[package]] name = "ahash" -version = "0.7.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcb51a0695d8f838b1ee009b3fbf66bda078cd64590202a864a8f3e8c4315c47" -dependencies = [ - "getrandom 0.2.10", - "once_cell", - "version_check", -] - -[[package]] -name = "ahash" -version = "0.8.3" +version = "0.8.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c99f64d1e06488f620f932677e24bc6e2897582980441ae90a671415bd7ec2f" +checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011" dependencies = [ "cfg-if", - "getrandom 0.2.10", "once_cell", "version_check", + "zerocopy", ] [[package]] name = "aho-corasick" -version = "1.0.2" +version = "1.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43f6cb1bf222025340178f382c426f13757b2960e89779dfcb319c32542a5a41" +checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" dependencies = [ "memchr", ] [[package]] name = "anchor-attribute-access-control" -version = "0.28.0" -source = "git+https://github.com/ChewingGlass/anchor?branch=bugfix/cpi-polymorphism#0aae0b19fb81eac01bbf40c6bfd00d7809df61ad" +version = "0.31.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37013051defd745a5437d6842bd404e5480e14ad4e4f0441dd9a81a4b9aea1d6" dependencies = [ "anchor-syn", - "anyhow", "proc-macro2", "quote", - "regex", "syn 1.0.109", ] [[package]] name = "anchor-attribute-account" -version = "0.28.0" -source = "git+https://github.com/ChewingGlass/anchor?branch=bugfix/cpi-polymorphism#0aae0b19fb81eac01bbf40c6bfd00d7809df61ad" +version = "0.31.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "92db0f793e924e18462b3fac53c5759a8248649a8072788b5e88a4af714998c8" dependencies = [ "anchor-syn", - "anyhow", - "bs58 0.5.0", + "bs58", "proc-macro2", "quote", - "rustversion", "syn 1.0.109", ] [[package]] name = "anchor-attribute-constant" -version = "0.28.0" -source = "git+https://github.com/ChewingGlass/anchor?branch=bugfix/cpi-polymorphism#0aae0b19fb81eac01bbf40c6bfd00d7809df61ad" +version = "0.31.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a98126ebfc96d6248899caadc9ea7c2403420c4f5c994e541802bce9f423674" dependencies = [ "anchor-syn", - "proc-macro2", + "quote", "syn 1.0.109", ] [[package]] name = "anchor-attribute-error" -version = "0.28.0" -source = "git+https://github.com/ChewingGlass/anchor?branch=bugfix/cpi-polymorphism#0aae0b19fb81eac01bbf40c6bfd00d7809df61ad" +version = "0.31.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8a4dcb403f872fbcd0910fc39a3e05bb6c43a8399f915a1878e62eb680fbb23" dependencies = [ "anchor-syn", - "proc-macro2", "quote", "syn 1.0.109", ] [[package]] name = "anchor-attribute-event" -version = "0.28.0" -source = "git+https://github.com/ChewingGlass/anchor?branch=bugfix/cpi-polymorphism#0aae0b19fb81eac01bbf40c6bfd00d7809df61ad" +version = "0.31.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "420d651b2703ccff86f6c4b7c394140cb85049787c078a5f8280506121d48065" dependencies = [ "anchor-syn", - "anyhow", "proc-macro2", "quote", "syn 1.0.109", @@ -132,23 +120,40 @@ dependencies = [ [[package]] name = "anchor-attribute-program" -version = "0.28.0" -source = "git+https://github.com/ChewingGlass/anchor?branch=bugfix/cpi-polymorphism#0aae0b19fb81eac01bbf40c6bfd00d7809df61ad" +version = "0.31.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d258f3a9f47db7f4199888df0ee67e42b960a7acb8f5c336b585d4eb243b9665" dependencies = [ + "anchor-lang-idl", "anchor-syn", "anyhow", + "bs58", + "heck", "proc-macro2", "quote", + "serde_json", "syn 1.0.109", ] [[package]] name = "anchor-derive-accounts" -version = "0.28.0" -source = "git+https://github.com/ChewingGlass/anchor?branch=bugfix/cpi-polymorphism#0aae0b19fb81eac01bbf40c6bfd00d7809df61ad" +version = "0.31.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "097147501de51105d8dbdad9bd5a96a1b17ecbb2cee9f200d6167031372eab3b" dependencies = [ "anchor-syn", - "anyhow", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "anchor-derive-serde" +version = "0.31.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d5a24721da4ed67f0a1391cac27ea7e51c255cbd94cdcc6728a0aa56227628d0" +dependencies = [ + "anchor-syn", + "borsh-derive-internal", "proc-macro2", "quote", "syn 1.0.109", @@ -156,8 +161,9 @@ dependencies = [ [[package]] name = "anchor-derive-space" -version = "0.28.0" -source = "git+https://github.com/ChewingGlass/anchor?branch=bugfix/cpi-polymorphism#0aae0b19fb81eac01bbf40c6bfd00d7809df61ad" +version = "0.31.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f41986f84d238a2f7a807f3a98da5df0e97ebe23f29f7d67b8cdd4fd80bc1ba1" dependencies = [ "proc-macro2", "quote", @@ -166,8 +172,9 @@ dependencies = [ [[package]] name = "anchor-lang" -version = "0.28.0" -source = "git+https://github.com/ChewingGlass/anchor?branch=bugfix/cpi-polymorphism#0aae0b19fb81eac01bbf40c6bfd00d7809df61ad" +version = "0.31.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eba81a0543fee1b7b610fe9ebedbae6a14e8d3e85a6a6dd48871d48a08880195" dependencies = [ "anchor-attribute-access-control", "anchor-attribute-account", @@ -176,215 +183,100 @@ dependencies = [ "anchor-attribute-event", "anchor-attribute-program", "anchor-derive-accounts", + "anchor-derive-serde", "anchor-derive-space", - "arrayref", - "base64 0.13.1", + "anchor-lang-idl", + "base64 0.21.7", "bincode", - "borsh 0.10.3", + "borsh 0.10.4", "bytemuck", - "getrandom 0.2.10", - "solana-program", - "thiserror", -] - -[[package]] -name = "anchor-spl" -version = "0.28.0" -source = "git+https://github.com/ChewingGlass/anchor?branch=bugfix/cpi-polymorphism#0aae0b19fb81eac01bbf40c6bfd00d7809df61ad" -dependencies = [ - "anchor-lang", "solana-program", - "spl-associated-token-account", - "spl-token", - "spl-token-2022", + "thiserror 1.0.69", ] [[package]] -name = "anchor-syn" -version = "0.28.0" -source = "git+https://github.com/ChewingGlass/anchor?branch=bugfix/cpi-polymorphism#0aae0b19fb81eac01bbf40c6bfd00d7809df61ad" +name = "anchor-lang-idl" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32e8599d21995f68e296265aa5ab0c3cef582fd58afec014d01bd0bce18a4418" dependencies = [ + "anchor-lang-idl-spec", "anyhow", - "bs58 0.5.0", "heck", - "proc-macro2", - "quote", + "regex", "serde", "serde_json", - "sha2 0.10.7", - "syn 1.0.109", - "thiserror", -] - -[[package]] -name = "android-tzdata" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0" - -[[package]] -name = "anyhow" -version = "1.0.71" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c7d0618f0e0b7e8ff11427422b64564d5fb0be1940354bfe2e0529b18a9d9b8" - -[[package]] -name = "ark-bn254" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a22f4561524cd949590d78d7d4c5df8f592430d221f7f3c9497bbafd8972120f" -dependencies = [ - "ark-ec", - "ark-ff", - "ark-std", -] - -[[package]] -name = "ark-ec" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "defd9a439d56ac24968cca0571f598a61bc8c55f71d50a89cda591cb750670ba" -dependencies = [ - "ark-ff", - "ark-poly", - "ark-serialize", - "ark-std", - "derivative", - "hashbrown 0.13.2", - "itertools", - "num-traits", - "zeroize", -] - -[[package]] -name = "ark-ff" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec847af850f44ad29048935519032c33da8aa03340876d351dfab5660d2966ba" -dependencies = [ - "ark-ff-asm", - "ark-ff-macros", - "ark-serialize", - "ark-std", - "derivative", - "digest 0.10.7", - "itertools", - "num-bigint", - "num-traits", - "paste", - "rustc_version", - "zeroize", -] - -[[package]] -name = "ark-ff-asm" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ed4aa4fe255d0bc6d79373f7e31d2ea147bcf486cba1be5ba7ea85abdb92348" -dependencies = [ - "quote", - "syn 1.0.109", -] - -[[package]] -name = "ark-ff-macros" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7abe79b0e4288889c4574159ab790824d0033b9fdcb2a112a3182fac2e514565" -dependencies = [ - "num-bigint", - "num-traits", - "proc-macro2", - "quote", - "syn 1.0.109", + "sha2 0.10.8", ] [[package]] -name = "ark-poly" -version = "0.4.2" +name = "anchor-lang-idl-spec" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d320bfc44ee185d899ccbadfa8bc31aab923ce1558716e1997a1e74057fe86bf" +checksum = "2bdf143115440fe621bdac3a29a1f7472e09f6cd82b2aa569429a0c13f103838" dependencies = [ - "ark-ff", - "ark-serialize", - "ark-std", - "derivative", - "hashbrown 0.13.2", + "anyhow", + "serde", ] [[package]] -name = "ark-serialize" -version = "0.4.2" +name = "anchor-spl" +version = "0.31.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adb7b85a02b83d2f22f89bd5cac66c9c89474240cb6207cb1efc16d098e822a5" +checksum = "e9d989ebc64e6c1a9828d3a6f7b8e7a4d63cc8a4f667dcb191bd9067a3375c20" dependencies = [ - "ark-serialize-derive", - "ark-std", - "digest 0.10.7", - "num-bigint", + "anchor-lang", + "mpl-token-metadata", + "spl-associated-token-account", + "spl-pod", + "spl-token", + "spl-token-2022", + "spl-token-group-interface", + "spl-token-metadata-interface", ] [[package]] -name = "ark-serialize-derive" -version = "0.4.2" +name = "anchor-syn" +version = "0.31.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae3281bc6d0fd7e549af32b52511e1302185bd688fd3359fa36423346ff682ea" +checksum = "564685b759db12a2424d1b2688cfdf0fec26a023813bc461274754fb0e5d97b0" dependencies = [ + "anyhow", + "bs58", + "cargo_toml", + "heck", "proc-macro2", "quote", + "serde", + "serde_json", + "sha2 0.10.8", "syn 1.0.109", + "thiserror 1.0.69", ] [[package]] -name = "ark-std" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94893f1e0c6eeab764ade8dc4c0db24caf4fe7cbbaafc0eba0a9030f447b5185" -dependencies = [ - "num-traits", - "rand 0.8.5", -] - -[[package]] -name = "array-bytes" -version = "1.4.1" +name = "anyhow" +version = "1.0.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ad284aeb45c13f2fb4f084de4a420ebf447423bdf9386c0540ce33cb3ef4b8c" +checksum = "34ac096ce696dc2fcabef30516bb13c0a68a11d30131d3df6f04711467681b04" [[package]] name = "arrayref" -version = "0.3.7" +version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b4930d2cb77ce62f89ee5d5289b4ac049559b1c45539271f5ed4fdc7db34545" +checksum = "76a2e8124351fda1ef8aaaa3bbd7ebbcb486bbcd4225aca0aa0d84bb2db8fecb" [[package]] name = "arrayvec" -version = "0.7.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" - -[[package]] -name = "assert_matches" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b34d609dfbaf33d6889b2b7106d3ca345eacad44200913df5ba02bfd31d2ba9" - -[[package]] -name = "atty" -version = "0.2.14" +version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" -dependencies = [ - "hermit-abi 0.1.19", - "libc", - "winapi", -] +checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" [[package]] name = "autocfg" -version = "1.1.0" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" +checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" [[package]] name = "base64" @@ -394,15 +286,15 @@ checksum = "3441f0f7b02788e948e47f457ca01f1d7e6d92c693bc132c22b087d3141c03ff" [[package]] name = "base64" -version = "0.13.1" +version = "0.21.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" +checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" [[package]] name = "base64" -version = "0.21.2" +version = "0.22.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "604178f6c5c21f02dc555784810edfb88d34ac2c73b2eae109655649ee73ce3d" +checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" [[package]] name = "bincode" @@ -415,24 +307,15 @@ dependencies = [ [[package]] name = "bitflags" -version = "1.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" - -[[package]] -name = "bitmaps" -version = "2.1.0" +version = "2.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "031043d04099746d8db04daf1fa424b2bc8bd69d92b25962dcde24da39ab64a2" -dependencies = [ - "typenum", -] +checksum = "8f68f53c83ab957f72c32642f3868eec03eb974d1fb82e453128456482613d36" [[package]] name = "blake3" -version = "1.4.1" +version = "1.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "199c42ab6972d92c9f8995f086273d25c42fc0f7b2a1fcefba465c1352d25ba5" +checksum = "b8ee0c1824c4dea5b5f81736aff91bae041d2c07ee1192bec91054e10e3e601e" dependencies = [ "arrayref", "arrayvec", @@ -448,7 +331,6 @@ version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4" dependencies = [ - "block-padding", "generic-array", ] @@ -461,40 +343,34 @@ dependencies = [ "generic-array", ] -[[package]] -name = "block-padding" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d696c370c750c948ada61c69a0ee2cbbb9c50b1019ddb86d9317157a99c2cae" - [[package]] name = "borsh" -version = "0.9.3" +version = "0.10.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15bf3650200d8bffa99015595e10f1fbd17de07abbc25bb067da79e769939bfa" +checksum = "115e54d64eb62cdebad391c19efc9dce4981c690c85a33a12199d99bb9546fee" dependencies = [ - "borsh-derive 0.9.3", - "hashbrown 0.11.2", + "borsh-derive 0.10.4", + "hashbrown 0.13.2", ] [[package]] name = "borsh" -version = "0.10.3" +version = "1.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4114279215a005bc675e386011e594e1d9b800918cea18fcadadcce864a2046b" +checksum = "5430e3be710b68d984d1391c854eb431a9d548640711faa54eecb1df93db91cc" dependencies = [ - "borsh-derive 0.10.3", - "hashbrown 0.13.2", + "borsh-derive 1.5.5", + "cfg_aliases", ] [[package]] name = "borsh-derive" -version = "0.9.3" +version = "0.10.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6441c552f230375d18e3cc377677914d2ca2b0d36e52129fe15450a2dce46775" +checksum = "831213f80d9423998dd696e2c5345aba6be7a0bd8cd19e31c5243e13df1cef89" dependencies = [ - "borsh-derive-internal 0.9.3", - "borsh-schema-derive-internal 0.9.3", + "borsh-derive-internal", + "borsh-schema-derive-internal", "proc-macro-crate 0.1.5", "proc-macro2", "syn 1.0.109", @@ -502,44 +378,22 @@ dependencies = [ [[package]] name = "borsh-derive" -version = "0.10.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0754613691538d51f329cce9af41d7b7ca150bc973056f1156611489475f54f7" -dependencies = [ - "borsh-derive-internal 0.10.3", - "borsh-schema-derive-internal 0.10.3", - "proc-macro-crate 0.1.5", - "proc-macro2", - "syn 1.0.109", -] - -[[package]] -name = "borsh-derive-internal" -version = "0.9.3" +version = "1.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5449c28a7b352f2d1e592a8a28bf139bc71afb0764a14f3c02500935d8c44065" +checksum = "f8b668d39970baad5356d7c83a86fee3a539e6f93bf6764c97368243e17a0487" dependencies = [ + "once_cell", + "proc-macro-crate 3.2.0", "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.98", ] [[package]] name = "borsh-derive-internal" -version = "0.10.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "afb438156919598d2c7bad7e1c0adf3d26ed3840dbc010db1a882a65583ca2fb" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "borsh-schema-derive-internal" -version = "0.9.3" +version = "0.10.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cdbd5696d8bfa21d53d9fe39a714a18538bad11492a42d066dbbc395fb1951c0" +checksum = "65d6ba50644c98714aa2a70d13d7df3cd75cd2b523a2b452bf010443800976b3" dependencies = [ "proc-macro2", "quote", @@ -548,9 +402,9 @@ dependencies = [ [[package]] name = "borsh-schema-derive-internal" -version = "0.10.3" +version = "0.10.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "634205cc43f74a1b9046ef87c4540ebda95696ec0f315024860cad7c5b0f5ccd" +checksum = "276691d96f063427be83e6692b86148e488ebba9f48f77788724ca027ba3b6d4" dependencies = [ "proc-macro2", "quote", @@ -559,24 +413,18 @@ dependencies = [ [[package]] name = "bs58" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "771fe0050b883fcc3ea2359b1a96bcfbc090b7116eae7c3c512c7a083fdf23d3" - -[[package]] -name = "bs58" -version = "0.5.0" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f5353f36341f7451062466f0b755b96ac3a9547e4d7f6b70d603fc721a7d7896" +checksum = "bf88ba1141d185c399bee5288d850d63b8369520c1eafc32a0430b5b6c287bf4" dependencies = [ "tinyvec", ] [[package]] name = "bumpalo" -version = "3.13.0" +version = "3.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3e2c3daef883ecc1b5d58c15adae93470a91d425f3532ba1695849656af3fc1" +checksum = "1628fb46dfa0b37568d12e5edd512553eccf6a22a78e8bde00bb4aed84d5bdbf" [[package]] name = "bv" @@ -590,37 +438,47 @@ dependencies = [ [[package]] name = "bytemuck" -version = "1.14.0" +version = "1.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "374d28ec25809ee0e23827c2ab573d729e293f281dfe393500e7ad618baa61c6" +checksum = "b6b1fc10dbac614ebc03540c9dbd60e83887fda27794998c6528f1782047d540" dependencies = [ "bytemuck_derive", ] [[package]] name = "bytemuck_derive" -version = "1.4.1" +version = "1.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fdde5c9cd29ebd706ce1b35600920a33550e402fc998a2e53ad3b42c3c47a192" +checksum = "3fa76293b4f7bb636ab88fd78228235b5248b4d05cc589aed610f954af5d7c7a" dependencies = [ "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.98", ] [[package]] name = "byteorder" -version = "1.4.3" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" + +[[package]] +name = "cargo_toml" +version = "0.19.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" +checksum = "a98356df42a2eb1bd8f1793ae4ee4de48e384dd974ce5eac8eee802edb7492be" +dependencies = [ + "serde", + "toml 0.8.20", +] [[package]] name = "cc" -version = "1.0.79" +version = "1.2.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f" +checksum = "c7777341816418c02e033934a09f20dc0ccaf65a5201ef8a450ae0105a573fda" dependencies = [ - "jobserver", + "shlex", ] [[package]] @@ -630,22 +488,19 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] -name = "chrono" -version = "0.4.26" +name = "cfg_aliases" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec837a71355b28f6556dbd569b37b3f363091c0bd4b2e735674521b4c5fd9bc5" -dependencies = [ - "android-tzdata", - "num-traits", -] +checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" [[package]] name = "cipher" -version = "0.3.0" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ee52072ec15386f770805afd189a01c8841be8696bed250fa2f13c4c0d6dfb7" +checksum = "773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad" dependencies = [ - "generic-array", + "crypto-common", + "inout", ] [[package]] @@ -670,184 +525,92 @@ dependencies = [ [[package]] name = "constant_time_eq" -version = "0.3.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7144d30dcf0fafbce74250a3963025d8d52177934239851c917d29f1df280c2" +checksum = "7c74b8349d32d297c9134b8c88677813a227df8f779daa29bfc29c183fe3dca6" [[package]] name = "cpufeatures" -version = "0.2.9" +version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a17b76ff3a4162b0b27f354a0c87015ddad39d35f9c0c36607a3bdd175dde1f1" +checksum = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280" dependencies = [ "libc", ] [[package]] -name = "crossbeam-channel" -version = "0.5.8" +name = "crunchy" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43da5946c66ffcc7745f48db692ffbb10a83bfe0afd96235c5c2a4fb23994929" + +[[package]] +name = "crypto-common" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a33c2bf77f2df06183c3aa30d1e96c0695a313d4f9c453cc3762a6db39f99200" +checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" dependencies = [ - "cfg-if", - "crossbeam-utils", + "generic-array", + "rand_core 0.6.4", + "typenum", ] [[package]] -name = "crossbeam-deque" -version = "0.8.3" +name = "ctr" +version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce6fd6f855243022dcecf8702fef0c297d4338e226845fe067f6341ad9fa0cef" +checksum = "0369ee1ad671834580515889b80f2ea915f23b8be8d0daa4bbaf2ac5c7590835" dependencies = [ - "cfg-if", - "crossbeam-epoch", - "crossbeam-utils", + "cipher", ] [[package]] -name = "crossbeam-epoch" -version = "0.9.15" +name = "curve25519-dalek" +version = "4.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae211234986c545741a7dc064309f67ee1e5ad243d0e48335adc0484d960bcc7" +checksum = "97fb8b7c4503de7d6ae7b42ab72a5a59857b4c937ec27a3d4539dba95b5ab2be" dependencies = [ - "autocfg", "cfg-if", - "crossbeam-utils", - "memoffset", - "scopeguard", + "cpufeatures", + "curve25519-dalek-derive", + "digest 0.10.7", + "fiat-crypto", + "rand_core 0.6.4", + "rustc_version", + "serde", + "subtle", + "zeroize", ] [[package]] -name = "crossbeam-utils" -version = "0.8.16" +name = "curve25519-dalek-derive" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a22b2d63d4d1dc0b7f1b6b2747dd0088008a9be28b6ddf0b1e7d335e3037294" +checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" dependencies = [ - "cfg-if", + "proc-macro2", + "quote", + "syn 2.0.98", ] [[package]] -name = "crunchy" -version = "0.2.2" +name = "derivation-path" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" +checksum = "6e5c37193a1db1d8ed868c03ec7b152175f26160a5b740e5e484143877e0adf0" [[package]] -name = "crypto-common" -version = "0.1.6" +name = "digest" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" +checksum = "d3dd60d1080a57a05ab032377049e0591415d2b31afd7028356dbf3cc6dcb066" dependencies = [ "generic-array", - "typenum", ] [[package]] -name = "crypto-mac" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b584a330336237c1eecd3e94266efb216c56ed91225d634cb2991c5f3fd1aeab" -dependencies = [ - "generic-array", - "subtle", -] - -[[package]] -name = "ctr" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "049bb91fb4aaf0e3c7efa6cd5ef877dbbbd15b39dad06d9948de4ec8a75761ea" -dependencies = [ - "cipher", -] - -[[package]] -name = "curve25519-dalek" -version = "3.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90f9d052967f590a76e62eb387bd0bbb1b000182c3cefe5364db6b7211651bc0" -dependencies = [ - "byteorder", - "digest 0.9.0", - "rand_core 0.5.1", - "serde", - "subtle", - "zeroize", -] - -[[package]] -name = "darling" -version = "0.20.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0558d22a7b463ed0241e993f76f09f30b126687447751a8638587b864e4b3944" -dependencies = [ - "darling_core", - "darling_macro", -] - -[[package]] -name = "darling_core" -version = "0.20.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab8bfa2e259f8ee1ce5e97824a3c55ec4404a0d772ca7fa96bf19f0752a046eb" -dependencies = [ - "fnv", - "ident_case", - "proc-macro2", - "quote", - "strsim", - "syn 2.0.72", -] - -[[package]] -name = "darling_macro" -version = "0.20.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29a358ff9f12ec09c3e61fef9b5a9902623a695a46a917b07f269bff1445611a" -dependencies = [ - "darling_core", - "quote", - "syn 2.0.72", -] - -[[package]] -name = "deranged" -version = "0.3.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4" -dependencies = [ - "powerfmt", -] - -[[package]] -name = "derivation-path" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e5c37193a1db1d8ed868c03ec7b152175f26160a5b740e5e484143877e0adf0" - -[[package]] -name = "derivative" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "digest" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3dd60d1080a57a05ab032377049e0591415d2b31afd7028356dbf3cc6dcb066" -dependencies = [ - "generic-array", -] - -[[package]] -name = "digest" -version = "0.10.7" +name = "digest" +version = "0.10.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" dependencies = [ @@ -857,70 +620,43 @@ dependencies = [ ] [[package]] -name = "ed25519" -version = "1.5.3" +name = "either" +version = "1.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91cff35c70bba8a626e3185d8cd48cc11b5437e1a5bcd15b9b5fa3c64b6dfee7" -dependencies = [ - "signature", -] +checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0" [[package]] -name = "ed25519-dalek" +name = "equivalent" version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c762bae6dcaf24c4c84667b8579785430908723d5c889f469d76a41d59cc7a9d" -dependencies = [ - "curve25519-dalek", - "ed25519", - "rand 0.7.3", - "serde", - "sha2 0.9.9", - "zeroize", -] +checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" [[package]] -name = "ed25519-dalek-bip32" -version = "0.2.0" +name = "feature-probe" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d2be62a4061b872c8c0873ee4fc6f101ce7b889d039f019c5fa2af471a59908" -dependencies = [ - "derivation-path", - "ed25519-dalek", - "hmac 0.12.1", - "sha2 0.10.7", -] +checksum = "835a3dc7d1ec9e75e2b5fb4ba75396837112d2060b03f7d43bc1897c7f7211da" [[package]] -name = "either" -version = "1.8.1" +name = "fiat-crypto" +version = "0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91" +checksum = "28dea519a9695b9977216879a3ebfddf92f1c08c05d984f8996aecd6ecdc811d" [[package]] -name = "env_logger" -version = "0.9.3" +name = "five8_const" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a12e6657c4c97ebab115a42dcee77225f7f482cdd841cf7088c657a42e9e00e7" +checksum = "72b4f62f0f8ca357f93ae90c8c2dd1041a1f665fde2f889ea9b1787903829015" dependencies = [ - "atty", - "humantime", - "log", - "regex", - "termcolor", + "five8_core", ] [[package]] -name = "equivalent" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88bffebc5d80432c9b140ee17875ff173a8ab62faad5b257da912bd2f6c1c0a1" - -[[package]] -name = "feature-probe" +name = "five8_core" version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "835a3dc7d1ec9e75e2b5fb4ba75396837112d2060b03f7d43bc1897c7f7211da" +checksum = "94474d15a76982be62ca8a39570dccce148d98c238ebb7408b0a21b2c4bdddc4" [[package]] name = "fnv" @@ -934,7 +670,6 @@ version = "0.14.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" dependencies = [ - "serde", "typenum", "version_check", ] @@ -946,17 +681,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce" dependencies = [ "cfg-if", - "js-sys", "libc", "wasi 0.9.0+wasi-snapshot-preview1", - "wasm-bindgen", ] [[package]] name = "getrandom" -version = "0.2.10" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427" +checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" dependencies = [ "cfg-if", "js-sys", @@ -965,29 +698,20 @@ dependencies = [ "wasm-bindgen", ] -[[package]] -name = "hashbrown" -version = "0.11.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e" -dependencies = [ - "ahash 0.7.6", -] - [[package]] name = "hashbrown" version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e" dependencies = [ - "ahash 0.8.3", + "ahash", ] [[package]] name = "hashbrown" -version = "0.14.0" +version = "0.15.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c6201b9ff9fd90a5a3bac2e56a830d0caa509576f0e503818ee82c181b3437a" +checksum = "bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289" [[package]] name = "heck" @@ -998,31 +722,6 @@ dependencies = [ "unicode-segmentation", ] -[[package]] -name = "hermit-abi" -version = "0.1.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" -dependencies = [ - "libc", -] - -[[package]] -name = "hermit-abi" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "443144c8cdadd93ebf52ddb4056d257f5b52c04d3c804e657d19eb73fc33668b" - -[[package]] -name = "hmac" -version = "0.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "126888268dcc288495a26bf004b38c5fdbb31682f992c84ceb046a1f0fe38840" -dependencies = [ - "crypto-mac", - "digest 0.9.0", -] - [[package]] name = "hmac" version = "0.12.1" @@ -1033,107 +732,69 @@ dependencies = [ ] [[package]] -name = "hmac-drbg" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17ea0a1394df5b6574da6e0c1ade9e78868c9fb0a4e5ef4428e32da4676b85b1" -dependencies = [ - "digest 0.9.0", - "generic-array", - "hmac 0.8.1", -] - -[[package]] -name = "humantime" -version = "2.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" - -[[package]] -name = "ident_case" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" - -[[package]] -name = "im" -version = "15.1.0" +name = "indexmap" +version = "2.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0acd33ff0285af998aaf9b57342af478078f53492322fafc47450e09397e0e9" +checksum = "8c9c992b02b5b4c94ea26e32fe5bccb7aa7d9f390ab5c1221ff895bc7ea8b652" dependencies = [ - "bitmaps", - "rand_core 0.6.4", - "rand_xoshiro", - "rayon", - "serde", - "sized-chunks", - "typenum", - "version_check", + "equivalent", + "hashbrown 0.15.2", ] [[package]] -name = "indexmap" -version = "2.0.0" +name = "inout" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d5477fe2230a79769d8dc68e0eabf5437907c0457a5614a9e8dddb67f65eb65d" +checksum = "879f10e63c20629ecabbb64a8010319738c66a5cd0c29b02d63d272b03751d01" dependencies = [ - "equivalent", - "hashbrown 0.14.0", + "generic-array", ] [[package]] name = "itertools" -version = "0.10.5" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473" +checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569" dependencies = [ "either", ] [[package]] name = "itoa" -version = "1.0.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62b02a5381cc465bd3041d84623d0fa3b66738b52b8e2fc3bab8ad63ab032f4a" - -[[package]] -name = "jobserver" -version = "0.1.26" +version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "936cfd212a0155903bcbc060e316fb6cc7cbf2e1907329391ebadc1fe0ce77c2" -dependencies = [ - "libc", -] +checksum = "d75a2a4b1b190afb6f5425f10f6a8f959d2ea0b9c2b1d79553551850539e4674" [[package]] name = "js-sys" -version = "0.3.64" +version = "0.3.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5f195fe497f702db0f318b07fdd68edb16955aed830df8363d837542f8f935a" +checksum = "1cfaf33c695fc6e08064efbc1f72ec937429614f25eef83af942d0e227c3a28f" dependencies = [ + "once_cell", "wasm-bindgen", ] [[package]] name = "keccak" -version = "0.1.4" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f6d5ed8676d904364de097082f4e7d240b571b67989ced0240f08b7f966f940" +checksum = "ecc2af9a1119c51f12a14607e783cb977bde58bc069ff0c3da1095e635d70654" dependencies = [ "cpufeatures", ] [[package]] name = "lazy_static" -version = "1.4.0" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" +checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" [[package]] name = "libc" -version = "0.2.147" +version = "0.2.169" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3" +checksum = "b5aba8db14291edd000dfcc4d620c7ebfb122c613afb886ca8803fa4e128a20a" [[package]] name = "libsecp256k1" @@ -1144,14 +805,12 @@ dependencies = [ "arrayref", "base64 0.12.3", "digest 0.9.0", - "hmac-drbg", "libsecp256k1-core", "libsecp256k1-gen-ecmult", "libsecp256k1-gen-genmult", "rand 0.7.3", "serde", "sha2 0.9.9", - "typenum", ] [[package]] @@ -1185,9 +844,9 @@ dependencies = [ [[package]] name = "lock_api" -version = "0.4.10" +version = "0.4.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1cc9717a20b1bb222f333e6a92fd32f7d8a18ddc5a3191a11af45dcbf4dcd16" +checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" dependencies = [ "autocfg", "scopeguard", @@ -1195,30 +854,21 @@ dependencies = [ [[package]] name = "log" -version = "0.4.19" +version = "0.4.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b06a4cde4c0f271a446782e3eff8de789548ce57dbc8eca9292c27f4a42004b4" +checksum = "04cbf5b083de1c7e0222a7a51dbfdba1cbe1c6ab0b15e29fff3f6c077fd9cd9f" [[package]] name = "memchr" -version = "2.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" - -[[package]] -name = "memmap2" -version = "0.5.10" +version = "2.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83faa42c0a078c393f6b29d5db232d8be22776a891f8f56e5284faee4a20b327" -dependencies = [ - "libc", -] +checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" [[package]] name = "memoffset" -version = "0.9.0" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c" +checksum = "488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a" dependencies = [ "autocfg", ] @@ -1235,6 +885,19 @@ dependencies = [ "zeroize", ] +[[package]] +name = "mpl-token-metadata" +version = "5.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "989e6a3000e761d3b2d685662a3a9ee99826f9369fb033bd1bc7011b1cf02ed9" +dependencies = [ + "borsh 0.10.4", + "num-derive 0.3.3", + "num-traits", + "solana-program", + "thiserror 1.0.69", +] + [[package]] name = "nft-proxy" version = "0.0.2" @@ -1242,7 +905,6 @@ dependencies = [ "anchor-lang", "anchor-spl", "bytemuck", - "time", ] [[package]] @@ -1254,26 +916,18 @@ dependencies = [ "nft-proxy", "proposal", "serde", - "time", ] [[package]] name = "num-bigint" -version = "0.4.3" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f93ab6289c7b344a8a9f60f88d80aa20032336fe78da341afc91c8a2341fc75f" +checksum = "a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9" dependencies = [ - "autocfg", "num-integer", "num-traits", ] -[[package]] -name = "num-conv" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" - [[package]] name = "num-derive" version = "0.3.3" @@ -1286,87 +940,66 @@ dependencies = [ ] [[package]] -name = "num-integer" -version = "0.1.45" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9" -dependencies = [ - "autocfg", - "num-traits", -] - -[[package]] -name = "num-traits" -version = "0.2.15" +name = "num-derive" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd" +checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202" dependencies = [ - "autocfg", + "proc-macro2", + "quote", + "syn 2.0.98", ] [[package]] -name = "num_cpus" -version = "1.16.0" +name = "num-integer" +version = "0.1.46" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" +checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f" dependencies = [ - "hermit-abi 0.3.2", - "libc", + "num-traits", ] [[package]] -name = "num_enum" -version = "0.5.11" +name = "num-traits" +version = "0.2.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f646caf906c20226733ed5b1374287eb97e3c2a5c227ce668c1f2ce20ae57c9" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" dependencies = [ - "num_enum_derive 0.5.11", + "autocfg", ] [[package]] name = "num_enum" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a015b430d3c108a207fd776d2e2196aaf8b1cf8cf93253e3a097ff3085076a1" -dependencies = [ - "num_enum_derive 0.6.1", -] - -[[package]] -name = "num_enum_derive" -version = "0.5.11" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcbff9bc912032c62bf65ef1d5aea88983b420f4f839db1e9b0c281a25c9c799" +checksum = "4e613fc340b2220f734a8595782c551f1250e969d87d3be1ae0579e8d4065179" dependencies = [ - "proc-macro-crate 1.3.1", - "proc-macro2", - "quote", - "syn 1.0.109", + "num_enum_derive", ] [[package]] name = "num_enum_derive" -version = "0.6.1" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96667db765a921f7b295ffee8b60472b686a51d4f21c2ee4ffdb94c7013b65a6" +checksum = "af1844ef2428cc3e1cb900be36181049ef3d3193c63e43026cfe202983b27a56" dependencies = [ - "proc-macro-crate 1.3.1", + "proc-macro-crate 3.2.0", "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.98", ] [[package]] name = "once_cell" -version = "1.18.0" +version = "1.20.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" +checksum = "945462a4b81e43c4e3ba96bd7b49d834c6f61198356aa858733bc4acf3cbe62e" [[package]] name = "opaque-debug" -version = "0.3.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5" +checksum = "c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381" [[package]] name = "organization" @@ -1375,7 +1008,6 @@ dependencies = [ "anchor-lang", "anchor-spl", "proposal", - "time", ] [[package]] @@ -1386,14 +1018,13 @@ dependencies = [ "anchor-spl", "organization", "proposal", - "time", ] [[package]] name = "parking_lot" -version = "0.12.1" +version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" +checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27" dependencies = [ "lock_api", "parking_lot_core", @@ -1401,9 +1032,9 @@ dependencies = [ [[package]] name = "parking_lot_core" -version = "0.9.8" +version = "0.9.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93f00c865fe7cabf650081affecd3871070f26767e7b2070a3ffae14c654b447" +checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" dependencies = [ "cfg-if", "libc", @@ -1412,21 +1043,6 @@ dependencies = [ "windows-targets", ] -[[package]] -name = "paste" -version = "1.0.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4b27ab7be369122c218afc2079489cdcb4b517c0a3fc386ff11e1fedfcc2b35" - -[[package]] -name = "pbkdf2" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "216eaa586a190f0a738f2f918511eecfa90f13295abec0e457cdebcceda80cbd" -dependencies = [ - "crypto-mac", -] - [[package]] name = "pbkdf2" version = "0.11.0" @@ -1438,15 +1054,15 @@ dependencies = [ [[package]] name = "percent-encoding" -version = "2.3.0" +version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94" +checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" [[package]] name = "polyval" -version = "0.5.3" +version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8419d2b623c7c0896ff2d5d96e2cb4ede590fed28fcc34934f4c33c036e620a1" +checksum = "9d1fe60d06143b2430aa532c94cfe9e29783047f06c0d7fd359a9a51b729fa25" dependencies = [ "cfg-if", "cpufeatures", @@ -1454,17 +1070,14 @@ dependencies = [ "universal-hash", ] -[[package]] -name = "powerfmt" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" - [[package]] name = "ppv-lite86" -version = "0.2.17" +version = "0.2.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" +checksum = "77957b295656769bb8ad2b6a6b09d897d94f05c41b069aede1fcdaa675eaea04" +dependencies = [ + "zerocopy", +] [[package]] name = "proc-macro-crate" @@ -1472,24 +1085,23 @@ version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1d6ea3c4595b96363c13943497db34af4460fb474a95c43f4446ad341b8c9785" dependencies = [ - "toml", + "toml 0.5.11", ] [[package]] name = "proc-macro-crate" -version = "1.3.1" +version = "3.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919" +checksum = "8ecf48c7ca261d60b74ab1a7b20da18bede46776b2e55535cb958eb595c5fa7b" dependencies = [ - "once_cell", "toml_edit", ] [[package]] name = "proc-macro2" -version = "1.0.86" +version = "1.0.93" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77" +checksum = "60946a68e5f9d28b0dc1c21bb8a97ee7d018a8b322fa57838ba31cc878e22d99" dependencies = [ "unicode-ident", ] @@ -1500,7 +1112,6 @@ version = "0.1.1" dependencies = [ "anchor-lang", "anchor-spl", - "time", "vote-hook-interface", ] @@ -1515,9 +1126,9 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.36" +version = "1.0.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" +checksum = "0e4dccaaaf89514f546c693ddc140f729f958c247918a13380cccc6078391acc" dependencies = [ "proc-macro2", ] @@ -1541,6 +1152,7 @@ version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" dependencies = [ + "libc", "rand_chacha 0.3.1", "rand_core 0.6.4", ] @@ -1580,7 +1192,7 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" dependencies = [ - "getrandom 0.2.10", + "getrandom 0.2.15", ] [[package]] @@ -1593,62 +1205,31 @@ dependencies = [ ] [[package]] -name = "rand_xoshiro" -version = "0.6.0" +name = "redox_syscall" +version = "0.5.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f97cdb2a36ed4183de61b2f824cc45c9f1037f28afe0a322e9fff4c108b5aaa" +checksum = "03a862b389f93e68874fbf580b9de08dd02facb9a788ebadaf4a3fd33cf58834" dependencies = [ - "rand_core 0.6.4", + "bitflags", ] [[package]] -name = "rayon" -version = "1.7.0" +name = "regex" +version = "1.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d2df5196e37bcc87abebc0053e20787d73847bb33134a69841207dd0a47f03b" +checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191" dependencies = [ - "either", - "rayon-core", -] - -[[package]] -name = "rayon-core" -version = "1.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b8f95bd6966f5c87776639160a66bd8ab9895d9d4ab01ddba9fc60661aebe8d" -dependencies = [ - "crossbeam-channel", - "crossbeam-deque", - "crossbeam-utils", - "num_cpus", -] - -[[package]] -name = "redox_syscall" -version = "0.3.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29" -dependencies = [ - "bitflags", -] - -[[package]] -name = "regex" -version = "1.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89089e897c013b3deb627116ae56a6955a72b8bed395c9526af31c9fe528b484" -dependencies = [ - "aho-corasick", - "memchr", - "regex-automata", - "regex-syntax", + "aho-corasick", + "memchr", + "regex-automata", + "regex-syntax", ] [[package]] name = "regex-automata" -version = "0.3.0" +version = "0.4.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa250384981ea14565685dea16a9ccc4d1c541a13f82b9c168572264d1df8c56" +checksum = "809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908" dependencies = [ "aho-corasick", "memchr", @@ -1657,109 +1238,91 @@ dependencies = [ [[package]] name = "regex-syntax" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2ab07dc67230e4a4718e70fd5c20055a4334b121f1f9db8fe63ef39ce9b8c846" - -[[package]] -name = "rustc-hash" -version = "1.1.0" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" +checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" [[package]] name = "rustc_version" -version = "0.4.0" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" +checksum = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92" dependencies = [ "semver", ] [[package]] name = "rustversion" -version = "1.0.13" +version = "1.0.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc31bd9b61a32c31f9650d18add92aa83a49ba979c143eefd27fe7177b05bd5f" +checksum = "f7c45b9784283f1b2e7fb61b42047c2fd678ef0960d4f6f1eba131594cc369d4" [[package]] name = "ryu" -version = "1.0.14" +version = "1.0.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe232bdf6be8c8de797b22184ee71118d63780ea42ac85b61d1baa6d3b782ae9" +checksum = "6ea1a2d0a644769cc99faa24c3ad26b379b786fe7c36fd3c546254801650e6dd" [[package]] name = "scopeguard" -version = "1.1.0" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" +checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" [[package]] name = "semver" -version = "1.0.17" +version = "1.0.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bebd363326d05ec3e2f532ab7660680f3b02130d780c299bca73469d521bc0ed" +checksum = "f79dfe2d285b0488816f30e700a7438c5a73d816b5b7d3ac72fbc48b0d185e03" [[package]] name = "serde" -version = "1.0.204" +version = "1.0.217" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc76f558e0cbb2a839d37354c575f1dc3fdc6546b5be373ba43d95f231bf7c12" +checksum = "02fc4265df13d6fa1d00ecff087228cc0a2b5f3c0e87e258d8b94a156e984c70" dependencies = [ "serde_derive", ] [[package]] name = "serde_bytes" -version = "0.11.11" +version = "0.11.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a16be4fe5320ade08736447e3198294a5ea9a6d44dde6f35f0a5e06859c427a" +checksum = "387cc504cb06bb40a96c8e04e951fe01854cf6bc921053c954e4a606d9675c6a" dependencies = [ "serde", ] [[package]] name = "serde_derive" -version = "1.0.204" +version = "1.0.217" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0cd7e117be63d3c3678776753929474f3b04a43a080c744d6b0ae2a8c28e222" +checksum = "5a9bf7cf98d04a2b28aead066b7496853d4779c9cc183c440dbac457641e19a0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.98", ] [[package]] name = "serde_json" -version = "1.0.100" +version = "1.0.138" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f1e14e89be7aa4c4b78bdbdc9eb5bf8517829a600ae8eaa39a6e1d960b5185c" +checksum = "d434192e7da787e94a6ea7e9670b26a036d0ca41e0b7efb2676dd32bae872949" dependencies = [ "itoa", + "memchr", "ryu", "serde", ] [[package]] -name = "serde_with" -version = "2.3.3" +name = "serde_spanned" +version = "0.6.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07ff71d2c147a7b57362cead5e22f772cd52f6ab31cfcd9edcd7f6aeb2a0afbe" +checksum = "87607cb1398ed59d48732e575a4c28a7a8ebf2454b964fe3f224f2afc07909e1" dependencies = [ "serde", - "serde_with_macros", -] - -[[package]] -name = "serde_with_macros" -version = "2.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "881b6f881b17d13214e5d494c939ebab463d01264ce1811e9d4ac3a882e7695f" -dependencies = [ - "darling", - "proc-macro2", - "quote", - "syn 2.0.72", ] [[package]] @@ -1777,9 +1340,9 @@ dependencies = [ [[package]] name = "sha2" -version = "0.10.7" +version = "0.10.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "479fb9d862239e610720565ca91403019f2f00410f1864c5aa7479b950a76ed8" +checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" dependencies = [ "cfg-if", "cpufeatures", @@ -1787,310 +1350,1247 @@ dependencies = [ ] [[package]] -name = "sha3" -version = "0.9.1" +name = "sha3" +version = "0.10.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75872d278a8f37ef87fa0ddbda7802605cb18344497949862c0d4dcb291eba60" +dependencies = [ + "digest 0.10.7", + "keccak", +] + +[[package]] +name = "shlex" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" + +[[package]] +name = "smallvec" +version = "1.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" + +[[package]] +name = "solana-account" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f949fe4edaeaea78c844023bfc1c898e0b1f5a100f8a8d2d0f85d0a7b090258" +dependencies = [ + "solana-account-info", + "solana-clock", + "solana-instruction", + "solana-pubkey", + "solana-sdk-ids", +] + +[[package]] +name = "solana-account-info" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e0c17d606a298a205fae325489fbed88ee6dc4463c111672172327e741c8905d" +dependencies = [ + "bincode", + "serde", + "solana-program-error", + "solana-program-memory", + "solana-pubkey", +] + +[[package]] +name = "solana-address-lookup-table-interface" +version = "2.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d1673f67efe870b64a65cb39e6194be5b26527691ce5922909939961a6e6b395" +dependencies = [ + "bincode", + "bytemuck", + "serde", + "serde_derive", + "solana-clock", + "solana-instruction", + "solana-pubkey", + "solana-sdk-ids", + "solana-slot-hashes", +] + +[[package]] +name = "solana-atomic-u64" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d52e52720efe60465b052b9e7445a01c17550666beec855cce66f44766697bc2" +dependencies = [ + "parking_lot", +] + +[[package]] +name = "solana-big-mod-exp" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75db7f2bbac3e62cfd139065d15bcda9e2428883ba61fc8d27ccb251081e7567" +dependencies = [ + "num-bigint", + "num-traits", + "solana-define-syscall", +] + +[[package]] +name = "solana-bincode" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "19a3787b8cf9c9fe3dd360800e8b70982b9e5a8af9e11c354b6665dd4a003adc" +dependencies = [ + "bincode", + "serde", + "solana-instruction", +] + +[[package]] +name = "solana-blake3-hasher" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1a0801e25a1b31a14494fc80882a036be0ffd290efc4c2d640bfcca120a4672" +dependencies = [ + "blake3", + "solana-define-syscall", + "solana-hash", + "solana-sanitize", +] + +[[package]] +name = "solana-borsh" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "718333bcd0a1a7aed6655aa66bef8d7fb047944922b2d3a18f49cbc13e73d004" +dependencies = [ + "borsh 0.10.4", + "borsh 1.5.5", +] + +[[package]] +name = "solana-clock" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67c2177a1b9fe8326004f1151a5acd124420b737811080b1035df31349e4d892" +dependencies = [ + "serde", + "serde_derive", + "solana-sdk-ids", + "solana-sdk-macro", + "solana-sysvar-id", +] + +[[package]] +name = "solana-cpi" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8dc71126edddc2ba014622fc32d0f5e2e78ec6c5a1e0eb511b85618c09e9ea11" +dependencies = [ + "solana-account-info", + "solana-define-syscall", + "solana-instruction", + "solana-program-error", + "solana-pubkey", + "solana-stable-layout", +] + +[[package]] +name = "solana-curve25519" +version = "2.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa1f28fdc4acdf6d1e47eec6fea58e88a650ca08f6a779d34730a616a2a82801" +dependencies = [ + "bytemuck", + "bytemuck_derive", + "curve25519-dalek", + "solana-define-syscall", + "subtle", + "thiserror 2.0.12", +] + +[[package]] +name = "solana-decode-error" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "10a6a6383af236708048f8bd8d03db8ca4ff7baf4a48e5d580f4cce545925470" +dependencies = [ + "num-traits", +] + +[[package]] +name = "solana-define-syscall" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf784bb2cb3e02cac9801813c30187344228d2ae952534902108f6150573a33d" + +[[package]] +name = "solana-derivation-path" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "939756d798b25c5ec3cca10e06212bdca3b1443cb9bb740a38124f58b258737b" +dependencies = [ + "derivation-path", + "qstring", + "uriparse", +] + +[[package]] +name = "solana-epoch-rewards" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86b575d3dd323b9ea10bb6fe89bf6bf93e249b215ba8ed7f68f1a3633f384db7" +dependencies = [ + "serde", + "serde_derive", + "solana-hash", + "solana-sdk-ids", + "solana-sdk-macro", + "solana-sysvar-id", +] + +[[package]] +name = "solana-epoch-schedule" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3fce071fbddecc55d727b1d7ed16a629afe4f6e4c217bc8d00af3b785f6f67ed" +dependencies = [ + "serde", + "serde_derive", + "solana-sdk-ids", + "solana-sdk-macro", + "solana-sysvar-id", +] + +[[package]] +name = "solana-example-mocks" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "84461d56cbb8bb8d539347151e0525b53910102e4bced875d49d5139708e39d3" +dependencies = [ + "serde", + "serde_derive", + "solana-address-lookup-table-interface", + "solana-clock", + "solana-hash", + "solana-instruction", + "solana-keccak-hasher", + "solana-message", + "solana-nonce", + "solana-pubkey", + "solana-sdk-ids", + "solana-system-interface", + "thiserror 2.0.12", +] + +[[package]] +name = "solana-feature-gate-interface" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f9c7fbf3e58b64a667c5f35e90af580538a95daea7001ff7806c0662d301bdf" +dependencies = [ + "bincode", + "serde", + "serde_derive", + "solana-account", + "solana-account-info", + "solana-instruction", + "solana-program-error", + "solana-pubkey", + "solana-rent", + "solana-sdk-ids", + "solana-system-interface", +] + +[[package]] +name = "solana-fee-calculator" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d89bc408da0fb3812bc3008189d148b4d3e08252c79ad810b245482a3f70cd8d" +dependencies = [ + "log", + "serde", + "serde_derive", +] + +[[package]] +name = "solana-hash" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf7bcb14392900fe02e4e34e90234fbf0c673d4e327888410ba99fa2ba0f4e99" +dependencies = [ + "borsh 1.5.5", + "bs58", + "bytemuck", + "bytemuck_derive", + "js-sys", + "serde", + "serde_derive", + "solana-atomic-u64", + "solana-sanitize", + "wasm-bindgen", +] + +[[package]] +name = "solana-instruction" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ce496a475e5062ba5de97215ab39d9c358f9c9df4bb7f3a45a1f1a8bd9065ed" +dependencies = [ + "bincode", + "borsh 1.5.5", + "getrandom 0.2.15", + "js-sys", + "num-traits", + "serde", + "serde_derive", + "solana-define-syscall", + "solana-pubkey", + "wasm-bindgen", +] + +[[package]] +name = "solana-instructions-sysvar" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "427f2d0d6dc0bb49f16cef5e7f975180d2e80aab9bdd3b2af68e2d029ec63f43" +dependencies = [ + "bitflags", + "solana-account-info", + "solana-instruction", + "solana-program-error", + "solana-pubkey", + "solana-sanitize", + "solana-sdk-ids", + "solana-serialize-utils", + "solana-sysvar-id", +] + +[[package]] +name = "solana-keccak-hasher" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c7aeb957fbd42a451b99235df4942d96db7ef678e8d5061ef34c9b34cae12f79" +dependencies = [ + "sha3", + "solana-define-syscall", + "solana-hash", + "solana-sanitize", +] + +[[package]] +name = "solana-last-restart-slot" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a6360ac2fdc72e7463565cd256eedcf10d7ef0c28a1249d261ec168c1b55cdd" +dependencies = [ + "serde", + "serde_derive", + "solana-sdk-ids", + "solana-sdk-macro", + "solana-sysvar-id", +] + +[[package]] +name = "solana-loader-v2-interface" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8ab08006dad78ae7cd30df8eea0539e207d08d91eaefb3e1d49a446e1c49654" +dependencies = [ + "serde", + "serde_bytes", + "serde_derive", + "solana-instruction", + "solana-pubkey", + "solana-sdk-ids", +] + +[[package]] +name = "solana-loader-v3-interface" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa4be76cfa9afd84ca2f35ebc09f0da0f0092935ccdac0595d98447f259538c2" +dependencies = [ + "serde", + "serde_bytes", + "serde_derive", + "solana-instruction", + "solana-pubkey", + "solana-sdk-ids", + "solana-system-interface", +] + +[[package]] +name = "solana-loader-v4-interface" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "706a777242f1f39a83e2a96a2a6cb034cb41169c6ecbee2cf09cb873d9659e7e" +dependencies = [ + "serde", + "serde_bytes", + "serde_derive", + "solana-instruction", + "solana-pubkey", + "solana-sdk-ids", + "solana-system-interface", +] + +[[package]] +name = "solana-message" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "268486ba8a294ed22a4d7c1ec05f540c3dbe71cfa7c6c54b6d4d13668d895678" +dependencies = [ + "bincode", + "blake3", + "lazy_static", + "serde", + "serde_derive", + "solana-bincode", + "solana-hash", + "solana-instruction", + "solana-pubkey", + "solana-sanitize", + "solana-sdk-ids", + "solana-short-vec", + "solana-system-interface", + "solana-transaction-error", + "wasm-bindgen", +] + +[[package]] +name = "solana-msg" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f36a1a14399afaabc2781a1db09cb14ee4cc4ee5c7a5a3cfcc601811379a8092" +dependencies = [ + "solana-define-syscall", +] + +[[package]] +name = "solana-native-token" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33e9de00960197412e4be3902a6cd35e60817c511137aca6c34c66cd5d4017ec" + +[[package]] +name = "solana-nonce" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "703e22eb185537e06204a5bd9d509b948f0066f2d1d814a6f475dafb3ddf1325" +dependencies = [ + "serde", + "serde_derive", + "solana-fee-calculator", + "solana-hash", + "solana-pubkey", + "solana-sha256-hasher", +] + +[[package]] +name = "solana-program" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "586469467e93ceb79048f8d8e3a619bf61d05396ee7de95cb40280301a589d05" +dependencies = [ + "bincode", + "blake3", + "borsh 0.10.4", + "borsh 1.5.5", + "bs58", + "bytemuck", + "console_error_panic_hook", + "console_log", + "getrandom 0.2.15", + "lazy_static", + "log", + "memoffset", + "num-bigint", + "num-derive 0.4.2", + "num-traits", + "rand 0.8.5", + "serde", + "serde_bytes", + "serde_derive", + "solana-account-info", + "solana-address-lookup-table-interface", + "solana-atomic-u64", + "solana-big-mod-exp", + "solana-bincode", + "solana-blake3-hasher", + "solana-borsh", + "solana-clock", + "solana-cpi", + "solana-decode-error", + "solana-define-syscall", + "solana-epoch-rewards", + "solana-epoch-schedule", + "solana-example-mocks", + "solana-feature-gate-interface", + "solana-fee-calculator", + "solana-hash", + "solana-instruction", + "solana-instructions-sysvar", + "solana-keccak-hasher", + "solana-last-restart-slot", + "solana-loader-v2-interface", + "solana-loader-v3-interface", + "solana-loader-v4-interface", + "solana-message", + "solana-msg", + "solana-native-token", + "solana-nonce", + "solana-program-entrypoint", + "solana-program-error", + "solana-program-memory", + "solana-program-option", + "solana-program-pack", + "solana-pubkey", + "solana-rent", + "solana-sanitize", + "solana-sdk-ids", + "solana-sdk-macro", + "solana-secp256k1-recover", + "solana-serde-varint", + "solana-serialize-utils", + "solana-sha256-hasher", + "solana-short-vec", + "solana-slot-hashes", + "solana-slot-history", + "solana-stable-layout", + "solana-stake-interface", + "solana-system-interface", + "solana-sysvar", + "solana-sysvar-id", + "solana-vote-interface", + "thiserror 2.0.12", + "wasm-bindgen", +] + +[[package]] +name = "solana-program-entrypoint" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "473ffe73c68d93e9f2aa726ad2985fe52760052709aaab188100a42c618060ec" +dependencies = [ + "solana-account-info", + "solana-msg", + "solana-program-error", + "solana-pubkey", +] + +[[package]] +name = "solana-program-error" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8ae2c1a8d0d4ae865882d5770a7ebca92bab9c685e43f0461682c6c05a35bfa" +dependencies = [ + "borsh 1.5.5", + "num-traits", + "serde", + "serde_derive", + "solana-decode-error", + "solana-instruction", + "solana-msg", + "solana-pubkey", +] + +[[package]] +name = "solana-program-memory" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b0268f6c89825fb634a34bd0c3b8fdaeaecfc3728be1d622a8ee6dd577b60d4" +dependencies = [ + "num-traits", + "solana-define-syscall", +] + +[[package]] +name = "solana-program-option" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc677a2e9bc616eda6dbdab834d463372b92848b2bfe4a1ed4e4b4adba3397d0" + +[[package]] +name = "solana-program-pack" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "319f0ef15e6e12dc37c597faccb7d62525a509fec5f6975ecb9419efddeb277b" +dependencies = [ + "solana-program-error", +] + +[[package]] +name = "solana-pubkey" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "40db1ff5a0f8aea2c158d78ab5f2cf897848964251d1df42fef78efd3c85b863" +dependencies = [ + "borsh 0.10.4", + "borsh 1.5.5", + "bs58", + "bytemuck", + "bytemuck_derive", + "curve25519-dalek", + "five8_const", + "getrandom 0.2.15", + "js-sys", + "num-traits", + "serde", + "serde_derive", + "solana-atomic-u64", + "solana-decode-error", + "solana-define-syscall", + "solana-sanitize", + "solana-sha256-hasher", + "wasm-bindgen", +] + +[[package]] +name = "solana-rent" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d1aea8fdea9de98ca6e8c2da5827707fb3842833521b528a713810ca685d2480" +dependencies = [ + "serde", + "serde_derive", + "solana-sdk-ids", + "solana-sdk-macro", + "solana-sysvar-id", +] + +[[package]] +name = "solana-sanitize" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "61f1bc1357b8188d9c4a3af3fc55276e56987265eb7ad073ae6f8180ee54cecf" + +[[package]] +name = "solana-sdk-ids" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c5d8b9cc68d5c88b062a33e23a6466722467dde0035152d8fb1afbcdf350a5f" +dependencies = [ + "solana-pubkey", +] + +[[package]] +name = "solana-sdk-macro" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86280da8b99d03560f6ab5aca9de2e38805681df34e0bb8f238e69b29433b9df" +dependencies = [ + "bs58", + "proc-macro2", + "quote", + "syn 2.0.98", +] + +[[package]] +name = "solana-secp256k1-recover" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baa3120b6cdaa270f39444f5093a90a7b03d296d362878f7a6991d6de3bbe496" +dependencies = [ + "libsecp256k1", + "solana-define-syscall", + "thiserror 2.0.12", +] + +[[package]] +name = "solana-security-txt" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "468aa43b7edb1f9b7b7b686d5c3aeb6630dc1708e86e31343499dd5c4d775183" + +[[package]] +name = "solana-seed-derivable" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3beb82b5adb266c6ea90e5cf3967235644848eac476c5a1f2f9283a143b7c97f" +dependencies = [ + "solana-derivation-path", +] + +[[package]] +name = "solana-seed-phrase" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "36187af2324f079f65a675ec22b31c24919cb4ac22c79472e85d819db9bbbc15" +dependencies = [ + "hmac", + "pbkdf2", + "sha2 0.10.8", +] + +[[package]] +name = "solana-serde-varint" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bcc07d00200d82e6def2f7f7a45738e3406b17fe54a18adcf0defa16a97ccadb" +dependencies = [ + "serde", +] + +[[package]] +name = "solana-serialize-utils" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "817a284b63197d2b27afdba829c5ab34231da4a9b4e763466a003c40ca4f535e" +dependencies = [ + "solana-instruction", + "solana-pubkey", + "solana-sanitize", +] + +[[package]] +name = "solana-sha256-hasher" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0037386961c0d633421f53560ad7c80675c0447cba4d1bb66d60974dd486c7ea" +dependencies = [ + "sha2 0.10.8", + "solana-define-syscall", + "solana-hash", +] + +[[package]] +name = "solana-short-vec" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c54c66f19b9766a56fa0057d060de8378676cb64987533fa088861858fc5a69" +dependencies = [ + "serde", +] + +[[package]] +name = "solana-signature" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "47d251c8f3dc015f320b4161daac7f108156c837428e5a8cc61136d25beb11d6" +dependencies = [ + "bs58", + "solana-sanitize", +] + +[[package]] +name = "solana-signer" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7c41991508a4b02f021c1342ba00bcfa098630b213726ceadc7cb032e051975b" +dependencies = [ + "solana-pubkey", + "solana-signature", + "solana-transaction-error", +] + +[[package]] +name = "solana-slot-hashes" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c8691982114513763e88d04094c9caa0376b867a29577939011331134c301ce" +dependencies = [ + "serde", + "serde_derive", + "solana-hash", + "solana-sdk-ids", + "solana-sysvar-id", +] + +[[package]] +name = "solana-slot-history" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97ccc1b2067ca22754d5283afb2b0126d61eae734fc616d23871b0943b0d935e" +dependencies = [ + "bv", + "serde", + "serde_derive", + "solana-sdk-ids", + "solana-sysvar-id", +] + +[[package]] +name = "solana-stable-layout" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f14f7d02af8f2bc1b5efeeae71bc1c2b7f0f65cd75bcc7d8180f2c762a57f54" +dependencies = [ + "solana-instruction", + "solana-pubkey", +] + +[[package]] +name = "solana-stake-interface" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5269e89fde216b4d7e1d1739cf5303f8398a1ff372a81232abbee80e554a838c" +dependencies = [ + "borsh 0.10.4", + "borsh 1.5.5", + "num-traits", + "serde", + "serde_derive", + "solana-clock", + "solana-cpi", + "solana-decode-error", + "solana-instruction", + "solana-program-error", + "solana-pubkey", + "solana-system-interface", + "solana-sysvar-id", +] + +[[package]] +name = "solana-system-interface" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94d7c18cb1a91c6be5f5a8ac9276a1d7c737e39a21beba9ea710ab4b9c63bc90" +dependencies = [ + "js-sys", + "num-traits", + "serde", + "serde_derive", + "solana-decode-error", + "solana-instruction", + "solana-pubkey", + "wasm-bindgen", +] + +[[package]] +name = "solana-sysvar" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf6b44740d7f0c9f375d045c165bc0aab4a90658f92d6835aeb0649afaeaff9a" +dependencies = [ + "base64 0.22.1", + "bincode", + "bytemuck", + "bytemuck_derive", + "lazy_static", + "serde", + "serde_derive", + "solana-account-info", + "solana-clock", + "solana-define-syscall", + "solana-epoch-rewards", + "solana-epoch-schedule", + "solana-fee-calculator", + "solana-hash", + "solana-instruction", + "solana-instructions-sysvar", + "solana-last-restart-slot", + "solana-program-entrypoint", + "solana-program-error", + "solana-program-memory", + "solana-pubkey", + "solana-rent", + "solana-sanitize", + "solana-sdk-ids", + "solana-sdk-macro", + "solana-slot-hashes", + "solana-slot-history", + "solana-stake-interface", + "solana-sysvar-id", +] + +[[package]] +name = "solana-sysvar-id" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5762b273d3325b047cfda250787f8d796d781746860d5d0a746ee29f3e8812c1" +dependencies = [ + "solana-pubkey", + "solana-sdk-ids", +] + +[[package]] +name = "solana-transaction-error" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "222a9dc8fdb61c6088baab34fc3a8b8473a03a7a5fd404ed8dd502fa79b67cb1" +dependencies = [ + "solana-instruction", + "solana-sanitize", +] + +[[package]] +name = "solana-vote-interface" +version = "2.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c1e9f6a1651310a94cd5a1a6b7f33ade01d9e5ea38a2220becb5fd737b756514" +dependencies = [ + "bincode", + "num-derive 0.4.2", + "num-traits", + "serde", + "serde_derive", + "solana-clock", + "solana-decode-error", + "solana-hash", + "solana-instruction", + "solana-pubkey", + "solana-rent", + "solana-sdk-ids", + "solana-serde-varint", + "solana-serialize-utils", + "solana-short-vec", + "solana-system-interface", +] + +[[package]] +name = "solana-zk-sdk" +version = "2.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "faf45055dc78b74fdced852f9ed3a6f46eb13754f88b75675d9ce2bc7f242ea9" +dependencies = [ + "aes-gcm-siv", + "base64 0.22.1", + "bincode", + "bytemuck", + "bytemuck_derive", + "curve25519-dalek", + "itertools", + "js-sys", + "lazy_static", + "merlin", + "num-derive 0.4.2", + "num-traits", + "rand 0.8.5", + "serde", + "serde_derive", + "serde_json", + "sha3", + "solana-derivation-path", + "solana-instruction", + "solana-pubkey", + "solana-sdk-ids", + "solana-seed-derivable", + "solana-seed-phrase", + "solana-signature", + "solana-signer", + "subtle", + "thiserror 2.0.12", + "wasm-bindgen", + "zeroize", +] + +[[package]] +name = "spl-associated-token-account" +version = "6.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76fee7d65013667032d499adc3c895e286197a35a0d3a4643c80e7fd3e9969e3" +dependencies = [ + "borsh 1.5.5", + "num-derive 0.4.2", + "num-traits", + "solana-program", + "spl-associated-token-account-client", + "spl-token", + "spl-token-2022", + "thiserror 1.0.69", +] + +[[package]] +name = "spl-associated-token-account-client" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6f8349dbcbe575f354f9a533a21f272f3eb3808a49e2fdc1c34393b88ba76cb" +dependencies = [ + "solana-instruction", + "solana-pubkey", +] + +[[package]] +name = "spl-discriminator" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a7398da23554a31660f17718164e31d31900956054f54f52d5ec1be51cb4f4b3" +dependencies = [ + "bytemuck", + "solana-program-error", + "solana-sha256-hasher", + "spl-discriminator-derive", +] + +[[package]] +name = "spl-discriminator-derive" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f81199417d4e5de3f04b1e871023acea7389672c4135918f05aa9cbf2f2fa809" +checksum = "d9e8418ea6269dcfb01c712f0444d2c75542c04448b480e87de59d2865edc750" dependencies = [ - "block-buffer 0.9.0", - "digest 0.9.0", - "keccak", - "opaque-debug", + "quote", + "spl-discriminator-syn", + "syn 2.0.98", ] [[package]] -name = "sha3" -version = "0.10.8" +name = "spl-discriminator-syn" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75872d278a8f37ef87fa0ddbda7802605cb18344497949862c0d4dcb291eba60" +checksum = "8c1f05593b7ca9eac7caca309720f2eafb96355e037e6d373b909a80fe7b69b9" dependencies = [ - "digest 0.10.7", - "keccak", + "proc-macro2", + "quote", + "sha2 0.10.8", + "syn 2.0.98", + "thiserror 1.0.69", ] [[package]] -name = "signature" -version = "1.6.4" +name = "spl-elgamal-registry" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74233d3b3b2f6d4b006dc19dee745e73e2a6bfb6f93607cd3b02bd5b00797d7c" +checksum = "ce0f668975d2b0536e8a8fd60e56a05c467f06021dae037f1d0cfed0de2e231d" +dependencies = [ + "bytemuck", + "solana-program", + "solana-zk-sdk", + "spl-pod", + "spl-token-confidential-transfer-proof-extraction", +] [[package]] -name = "sized-chunks" -version = "0.6.5" +name = "spl-memo" +version = "6.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16d69225bde7a69b235da73377861095455d298f2b970996eec25ddbb42b3d1e" +checksum = "9f09647c0974e33366efeb83b8e2daebb329f0420149e74d3a4bd2c08cf9f7cb" dependencies = [ - "bitmaps", - "typenum", + "solana-account-info", + "solana-instruction", + "solana-msg", + "solana-program-entrypoint", + "solana-program-error", + "solana-pubkey", ] [[package]] -name = "smallvec" -version = "1.11.0" +name = "spl-pod" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9" +checksum = "d994afaf86b779104b4a95ba9ca75b8ced3fdb17ee934e38cb69e72afbe17799" +dependencies = [ + "borsh 1.5.5", + "bytemuck", + "bytemuck_derive", + "num-derive 0.4.2", + "num-traits", + "solana-decode-error", + "solana-msg", + "solana-program-error", + "solana-program-option", + "solana-pubkey", + "solana-zk-sdk", + "thiserror 2.0.12", +] [[package]] -name = "solana-frozen-abi" -version = "1.16.2" +name = "spl-program-error" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ba46ba8715a2860f253a754812b2df6ab049f42cbe0458c1fdc3095b3024c73" +checksum = "9d39b5186f42b2b50168029d81e58e800b690877ef0b30580d107659250da1d1" dependencies = [ - "ahash 0.8.3", - "blake3", - "block-buffer 0.10.4", - "bs58 0.4.0", - "bv", - "byteorder", - "cc", - "either", - "generic-array", - "getrandom 0.1.16", - "im", - "lazy_static", - "log", - "memmap2", - "once_cell", - "rand_core 0.6.4", - "rustc_version", - "serde", - "serde_bytes", - "serde_derive", - "serde_json", - "sha2 0.10.7", - "solana-frozen-abi-macro", - "subtle", - "thiserror", + "num-derive 0.4.2", + "num-traits", + "solana-program", + "spl-program-error-derive", + "thiserror 1.0.69", ] [[package]] -name = "solana-frozen-abi-macro" -version = "1.16.2" +name = "spl-program-error-derive" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "477b0177d9d73dbe05b564a845c80f1fb4cce9a6349eb8dad7cb15530e27a053" +checksum = "e6d375dd76c517836353e093c2dbb490938ff72821ab568b545fd30ab3256b3e" dependencies = [ "proc-macro2", "quote", - "rustc_version", - "syn 2.0.72", + "sha2 0.10.8", + "syn 2.0.98", ] [[package]] -name = "solana-logger" -version = "1.16.2" +name = "spl-tlv-account-resolution" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da3c2c141cfa4971ec0f591affc92e9bc40a023562a7821046daa4b2ad93d04a" +checksum = "cd99ff1e9ed2ab86e3fd582850d47a739fec1be9f4661cba1782d3a0f26805f3" dependencies = [ - "env_logger", - "lazy_static", - "log", + "bytemuck", + "num-derive 0.4.2", + "num-traits", + "solana-account-info", + "solana-decode-error", + "solana-instruction", + "solana-msg", + "solana-program-error", + "solana-pubkey", + "spl-discriminator", + "spl-pod", + "spl-program-error", + "spl-type-length-value", + "thiserror 1.0.69", ] [[package]] -name = "solana-program" -version = "1.16.2" +name = "spl-token" +version = "7.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d5e393489bae293327e0fc0ca7e709bcc32fb01afa552b0bc75a7c2d506599c" +checksum = "ed320a6c934128d4f7e54fe00e16b8aeaecf215799d060ae14f93378da6dc834" dependencies = [ - "ark-bn254", - "ark-ec", - "ark-ff", - "ark-serialize", - "array-bytes", - "base64 0.21.2", - "bincode", - "bitflags", - "blake3", - "borsh 0.10.3", - "bs58 0.4.0", - "bv", + "arrayref", "bytemuck", - "cc", - "console_error_panic_hook", - "console_log", - "curve25519-dalek", - "getrandom 0.2.10", - "itertools", - "js-sys", - "lazy_static", - "libc", - "libsecp256k1", - "log", - "memoffset", - "num-bigint", - "num-derive", + "num-derive 0.4.2", "num-traits", - "parking_lot", - "rand 0.7.3", - "rand_chacha 0.2.2", - "rustc_version", - "rustversion", - "serde", - "serde_bytes", - "serde_derive", - "serde_json", - "sha2 0.10.7", - "sha3 0.10.8", - "solana-frozen-abi", - "solana-frozen-abi-macro", - "solana-sdk-macro", - "thiserror", - "tiny-bip39", - "wasm-bindgen", - "zeroize", + "num_enum", + "solana-program", + "thiserror 1.0.69", ] [[package]] -name = "solana-sdk" -version = "1.16.2" +name = "spl-token-2022" +version = "6.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "250dbc29e6917974b1697d0e0cafb6fc8edd62f85ca843f9c99fd00c0b145e8f" +checksum = "5b27f7405010ef816587c944536b0eafbcc35206ab6ba0f2ca79f1d28e488f4f" dependencies = [ - "assert_matches", - "base64 0.21.2", - "bincode", - "bitflags", - "borsh 0.10.3", - "bs58 0.4.0", + "arrayref", "bytemuck", - "byteorder", - "chrono", - "derivation-path", - "digest 0.10.7", - "ed25519-dalek", - "ed25519-dalek-bip32", - "generic-array", - "hmac 0.12.1", - "itertools", - "js-sys", - "lazy_static", - "libsecp256k1", - "log", - "memmap2", - "num-derive", + "num-derive 0.4.2", "num-traits", - "num_enum 0.6.1", - "pbkdf2 0.11.0", - "qstring", - "rand 0.7.3", - "rand_chacha 0.2.2", - "rustc_version", - "rustversion", - "serde", - "serde_bytes", - "serde_derive", - "serde_json", - "serde_with", - "sha2 0.10.7", - "sha3 0.10.8", - "solana-frozen-abi", - "solana-frozen-abi-macro", - "solana-logger", + "num_enum", "solana-program", - "solana-sdk-macro", - "thiserror", - "uriparse", - "wasm-bindgen", + "solana-security-txt", + "solana-zk-sdk", + "spl-elgamal-registry", + "spl-memo", + "spl-pod", + "spl-token", + "spl-token-confidential-transfer-ciphertext-arithmetic", + "spl-token-confidential-transfer-proof-extraction", + "spl-token-confidential-transfer-proof-generation", + "spl-token-group-interface", + "spl-token-metadata-interface", + "spl-transfer-hook-interface", + "spl-type-length-value", + "thiserror 1.0.69", ] [[package]] -name = "solana-sdk-macro" -version = "1.16.2" +name = "spl-token-confidential-transfer-ciphertext-arithmetic" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d598db5bcc4eba1442f75f3ab734f624d3026dcea1be66b5ee9a7e9fe5b38ca6" +checksum = "170378693c5516090f6d37ae9bad2b9b6125069be68d9acd4865bbe9fc8499fd" dependencies = [ - "bs58 0.4.0", - "proc-macro2", - "quote", - "rustversion", - "syn 2.0.72", + "base64 0.22.1", + "bytemuck", + "solana-curve25519", + "solana-zk-sdk", ] [[package]] -name = "solana-zk-token-sdk" -version = "1.16.2" +name = "spl-token-confidential-transfer-proof-extraction" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04196736c58e4a950430d814fb554f2ec0ea08cb904eee72de2eeeb024bc3e3f" +checksum = "eff2d6a445a147c9d6dd77b8301b1e116c8299601794b558eafa409b342faf96" dependencies = [ - "aes-gcm-siv", - "base64 0.21.2", - "bincode", "bytemuck", - "byteorder", - "curve25519-dalek", - "getrandom 0.1.16", - "itertools", - "lazy_static", - "merlin", - "num-derive", - "num-traits", - "rand 0.7.3", - "serde", - "serde_json", - "sha3 0.9.1", + "solana-curve25519", "solana-program", - "solana-sdk", - "subtle", - "thiserror", - "zeroize", + "solana-zk-sdk", + "spl-pod", + "thiserror 2.0.12", ] [[package]] -name = "spl-associated-token-account" -version = "1.1.3" +name = "spl-token-confidential-transfer-proof-generation" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8627184782eec1894de8ea26129c61303f1f0adeed65c20e0b10bc584f09356d" +dependencies = [ + "curve25519-dalek", + "solana-zk-sdk", + "thiserror 1.0.69", +] + +[[package]] +name = "spl-token-group-interface" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "978dba3bcbe88d0c2c58366c254d9ea41c5f73357e72fc0bdee4d6b5fc99c8f4" +checksum = "d595667ed72dbfed8c251708f406d7c2814a3fa6879893b323d56a10bedfc799" dependencies = [ - "assert_matches", - "borsh 0.9.3", - "num-derive", + "bytemuck", + "num-derive 0.4.2", "num-traits", - "solana-program", - "spl-token", - "spl-token-2022", - "thiserror", + "solana-decode-error", + "solana-instruction", + "solana-msg", + "solana-program-error", + "solana-pubkey", + "spl-discriminator", + "spl-pod", + "thiserror 1.0.69", ] [[package]] -name = "spl-memo" -version = "3.0.1" +name = "spl-token-metadata-interface" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd0dc6f70db6bacea7ff25870b016a65ba1d1b6013536f08e4fd79a8f9005325" +checksum = "dfb9c89dbc877abd735f05547dcf9e6e12c00c11d6d74d8817506cab4c99fdbb" dependencies = [ - "solana-program", + "borsh 1.5.5", + "num-derive 0.4.2", + "num-traits", + "solana-borsh", + "solana-decode-error", + "solana-instruction", + "solana-msg", + "solana-program-error", + "solana-pubkey", + "spl-discriminator", + "spl-pod", + "spl-type-length-value", + "thiserror 1.0.69", ] [[package]] -name = "spl-token" -version = "3.5.0" +name = "spl-transfer-hook-interface" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e85e168a785e82564160dcb87b2a8e04cee9bfd1f4d488c729d53d6a4bd300d" +checksum = "4aa7503d52107c33c88e845e1351565050362c2314036ddf19a36cd25137c043" dependencies = [ "arrayref", "bytemuck", - "num-derive", + "num-derive 0.4.2", "num-traits", - "num_enum 0.5.11", - "solana-program", - "thiserror", + "solana-account-info", + "solana-cpi", + "solana-decode-error", + "solana-instruction", + "solana-msg", + "solana-program-error", + "solana-pubkey", + "spl-discriminator", + "spl-pod", + "spl-program-error", + "spl-tlv-account-resolution", + "spl-type-length-value", + "thiserror 1.0.69", ] [[package]] -name = "spl-token-2022" -version = "0.6.1" +name = "spl-type-length-value" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0043b590232c400bad5ee9eb983ced003d15163c4c5d56b090ac6d9a57457b47" +checksum = "ba70ef09b13af616a4c987797870122863cba03acc4284f226a4473b043923f9" dependencies = [ - "arrayref", "bytemuck", - "num-derive", + "num-derive 0.4.2", "num-traits", - "num_enum 0.5.11", - "solana-program", - "solana-zk-token-sdk", - "spl-memo", - "spl-token", - "thiserror", + "solana-account-info", + "solana-decode-error", + "solana-msg", + "solana-program-error", + "spl-discriminator", + "spl-pod", + "thiserror 1.0.69", ] [[package]] @@ -2100,20 +2600,13 @@ dependencies = [ "anchor-lang", "anchor-spl", "proposal", - "time", ] -[[package]] -name = "strsim" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" - [[package]] name = "subtle" -version = "2.4.1" +version = "2.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601" +checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" [[package]] name = "syn" @@ -2128,9 +2621,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.72" +version = "2.0.98" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc4b9b9bf2add8093d3f2c0204471e951b2285580335de42f9d2534f3ae7a8af" +checksum = "36147f1a48ae0ec2b5b3bc5b537d267457555a10dc06f3dbc8cb11ba3006d3b1" dependencies = [ "proc-macro2", "quote", @@ -2138,77 +2631,50 @@ dependencies = [ ] [[package]] -name = "termcolor" -version = "1.2.0" +name = "thiserror" +version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be55cf8942feac5c765c2c993422806843c9a9a45d4d5c407ad6dd2ea95eb9b6" +checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" dependencies = [ - "winapi-util", + "thiserror-impl 1.0.69", ] [[package]] name = "thiserror" -version = "1.0.43" +version = "2.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a35fc5b8971143ca348fa6df4f024d4d55264f3468c71ad1c2f365b0a4d58c42" +checksum = "567b8a2dae586314f7be2a752ec7474332959c6460e02bde30d702a66d488708" dependencies = [ - "thiserror-impl", + "thiserror-impl 2.0.12", ] [[package]] name = "thiserror-impl" -version = "1.0.43" +version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "463fe12d7993d3b327787537ce8dd4dfa058de32fc2b195ef3cde03dc4771e8f" +checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.72", -] - -[[package]] -name = "time" -version = "0.3.36" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885" -dependencies = [ - "deranged", - "num-conv", - "powerfmt", - "serde", - "time-core", + "syn 2.0.98", ] [[package]] -name = "time-core" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" - -[[package]] -name = "tiny-bip39" -version = "0.8.2" +name = "thiserror-impl" +version = "2.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffc59cb9dfc85bb312c3a78fd6aa8a8582e310b0fa885d5bb877f6dcc601839d" +checksum = "7f7cf42b4507d8ea322120659672cf1b9dbb93f8f2d4ecfd6e51350ff5b17a1d" dependencies = [ - "anyhow", - "hmac 0.8.1", - "once_cell", - "pbkdf2 0.4.0", - "rand 0.7.3", - "rustc-hash", - "sha2 0.9.9", - "thiserror", - "unicode-normalization", - "wasm-bindgen", - "zeroize", + "proc-macro2", + "quote", + "syn 2.0.98", ] [[package]] name = "tinyvec" -version = "1.6.0" +version = "1.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50" +checksum = "022db8904dfa342efe721985167e9fcd16c29b226db4397ed752a761cfce81e8" dependencies = [ "tinyvec_macros", ] @@ -2227,7 +2693,6 @@ dependencies = [ "anchor-spl", "proposal", "serde", - "time", ] [[package]] @@ -2239,57 +2704,65 @@ dependencies = [ "serde", ] +[[package]] +name = "toml" +version = "0.8.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd87a5cdd6ffab733b2f74bc4fd7ee5fff6634124999ac278c35fc78c6120148" +dependencies = [ + "serde", + "serde_spanned", + "toml_datetime", + "toml_edit", +] + [[package]] name = "toml_datetime" -version = "0.6.3" +version = "0.6.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7cda73e2f1397b1262d6dfdcef8aafae14d1de7748d66822d3bfeeb6d03e5e4b" +checksum = "0dd7358ecb8fc2f8d014bf86f6f638ce72ba252a2c3a2572f2a795f1d23efb41" +dependencies = [ + "serde", +] [[package]] name = "toml_edit" -version = "0.19.12" +version = "0.22.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c500344a19072298cd05a7224b3c0c629348b78692bf48466c5238656e315a78" +checksum = "17b4795ff5edd201c7cd6dca065ae59972ce77d1b80fa0a84d94950ece7d1474" dependencies = [ "indexmap", + "serde", + "serde_spanned", "toml_datetime", "winnow", ] [[package]] name = "typenum" -version = "1.16.0" +version = "1.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba" +checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" [[package]] name = "unicode-ident" -version = "1.0.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22049a19f4a68748a168c0fc439f9516686aa045927ff767eca0a85101fb6e73" - -[[package]] -name = "unicode-normalization" -version = "0.1.22" +version = "1.0.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921" -dependencies = [ - "tinyvec", -] +checksum = "a210d160f08b701c8721ba1c726c11662f877ea6b7094007e1ca9a1041945034" [[package]] name = "unicode-segmentation" -version = "1.10.1" +version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1dd624098567895118886609431a7c3b8f516e41d30e0643f03d94592a147e36" +checksum = "f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493" [[package]] name = "universal-hash" -version = "0.4.1" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f214e8f697e925001e66ec2c6e37a4ef93f0f78c2eed7814394e10c62025b05" +checksum = "fc1de2c688dc15305988b563c3854064043356019f97a4b46276fe734c4f07ea" dependencies = [ - "generic-array", + "crypto-common", "subtle", ] @@ -2305,9 +2778,9 @@ dependencies = [ [[package]] name = "version_check" -version = "0.9.4" +version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" +checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" [[package]] name = "vote-hook-interface" @@ -2315,7 +2788,6 @@ version = "0.1.0" dependencies = [ "anchor-lang", "anchor-spl", - "time", ] [[package]] @@ -2332,34 +2804,35 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.87" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7706a72ab36d8cb1f80ffbf0e071533974a60d0a308d01a5d0375bf60499a342" +checksum = "1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5" dependencies = [ "cfg-if", + "once_cell", + "rustversion", "wasm-bindgen-macro", ] [[package]] name = "wasm-bindgen-backend" -version = "0.2.87" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ef2b6d3c510e9625e5fe6f509ab07d66a760f0885d858736483c32ed7809abd" +checksum = "2f0a0651a5c2bc21487bde11ee802ccaf4c51935d0d3d42a6101f98161700bc6" dependencies = [ "bumpalo", "log", - "once_cell", "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.98", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-macro" -version = "0.2.87" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dee495e55982a3bd48105a7b947fd2a9b4a8ae3010041b9e0faab3f9cd028f1d" +checksum = "7fe63fc6d09ed3792bd0897b314f53de8e16568c2b3f7982f468c0bf9bd0b407" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -2367,73 +2840,46 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.87" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b" +checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de" dependencies = [ "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.98", "wasm-bindgen-backend", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.87" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca6ad05a4870b2bf5fe995117d3728437bd27d7cd5f06f13c17443ef369775a1" +checksum = "1a05d73b933a847d6cccdda8f838a22ff101ad9bf93e33684f39c1f5f0eece3d" +dependencies = [ + "unicode-ident", +] [[package]] name = "web-sys" -version = "0.3.64" +version = "0.3.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b85cbef8c220a6abc02aefd892dfc0fc23afb1c6a426316ec33253a3877249b" +checksum = "33b6dd2ef9186f1f2072e409e99cd22a975331a6b3591b12c764e0e55c60d5d2" dependencies = [ "js-sys", "wasm-bindgen", ] -[[package]] -name = "winapi" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" -dependencies = [ - "winapi-i686-pc-windows-gnu", - "winapi-x86_64-pc-windows-gnu", -] - -[[package]] -name = "winapi-i686-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" - -[[package]] -name = "winapi-util" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178" -dependencies = [ - "winapi", -] - -[[package]] -name = "winapi-x86_64-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" - [[package]] name = "windows-targets" -version = "0.48.1" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05d4b17490f70499f20b9e791dcf6a299785ce8af4d709018206dc5b4953e95f" +checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" dependencies = [ "windows_aarch64_gnullvm", "windows_aarch64_msvc", "windows_i686_gnu", + "windows_i686_gnullvm", "windows_i686_msvc", "windows_x86_64_gnu", "windows_x86_64_gnullvm", @@ -2442,60 +2888,87 @@ dependencies = [ [[package]] name = "windows_aarch64_gnullvm" -version = "0.48.0" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc" +checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" [[package]] name = "windows_aarch64_msvc" -version = "0.48.0" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3" +checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" [[package]] name = "windows_i686_gnu" -version = "0.48.0" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" + +[[package]] +name = "windows_i686_gnullvm" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241" +checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" [[package]] name = "windows_i686_msvc" -version = "0.48.0" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00" +checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" [[package]] name = "windows_x86_64_gnu" -version = "0.48.0" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1" +checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" [[package]] name = "windows_x86_64_gnullvm" -version = "0.48.0" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953" +checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" [[package]] name = "windows_x86_64_msvc" -version = "0.48.0" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a" +checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" [[package]] name = "winnow" -version = "0.4.8" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9482fe6ceabdf32f3966bfdd350ba69256a97c30253dc616fe0005af24f164e" +checksum = "59690dea168f2198d1a3b0cac23b8063efcd11012f10ae4698f284808c8ef603" dependencies = [ "memchr", ] +[[package]] +name = "zerocopy" +version = "0.7.35" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0" +dependencies = [ + "byteorder", + "zerocopy-derive", +] + +[[package]] +name = "zerocopy-derive" +version = "0.7.35" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.98", +] + [[package]] name = "zeroize" -version = "1.3.0" +version = "1.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4756f7db3f7b5574938c3eb1c117038b8e07f95ee6718c0efad4ac21508f1efd" +checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde" dependencies = [ "zeroize_derive", ] @@ -2508,5 +2981,5 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.98", ] diff --git a/Cargo.toml b/Cargo.toml index 375394b..812c935 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -14,4 +14,6 @@ incremental = false codegen-units = 1 [workspace.dependencies] -time = "0.3.36" +anchor-lang = { version = "0.31.0", features = ["init-if-needed"] } +anchor-spl = { version = "0.31.0", features = ["token", "metadata"] } + diff --git a/lerna.json b/lerna.json index d26350e..4f5536a 100644 --- a/lerna.json +++ b/lerna.json @@ -4,5 +4,5 @@ "packages/*" ], "useWorkspaces": true, - "version": "0.0.15" + "version": "0.1.5-alpha.0" } diff --git a/package.json b/package.json index 106a617..ec331a6 100644 --- a/package.json +++ b/package.json @@ -4,6 +4,7 @@ "versionup:patch": "lerna version patch --force-publish --conventional-commits --no-git-tag-version", "versionup:minor": "lerna version minor --force-publish --conventional-commits --no-git-tag-version", "versionup:major": "lerna version major --force-publish --conventional-commits --no-git-tag-version", + "versionup:pre": "lerna version prerelease --force-publish --conventional-commits --no-git-tag-version", "postversionup": "npm run commit-version", "postversionup:patch": "npm run commit-version", "postversionup:minor": "npm run commit-version", @@ -29,9 +30,9 @@ ], "private": true, "dependencies": { - "@coral-xyz/anchor": "^0.28.0", - "@helium/anchor-resolvers": "^0.2.", - "@helium/spl-utils": "^0.4.3", + "@coral-xyz/anchor": "^0.31.0", + "@helium/anchor-resolvers": "^0.10.0-alpha.6", + "@helium/spl-utils": "^0.10.0-alpha.6", "@metaplex-foundation/js": "^0.19.4", "@project-serum/anchor": "^0.26.0", "@solana/web3.js": "^1.78.0" diff --git a/packages/docsite/CHANGELOG.md b/packages/docsite/CHANGELOG.md index b1c0ccc..a0fa040 100644 --- a/packages/docsite/CHANGELOG.md +++ b/packages/docsite/CHANGELOG.md @@ -3,6 +3,54 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.5-alpha.0](https://github.com/helium/modular-governance/compare/v0.0.15...v0.1.5-alpha.0) (2025-03-19) + +**Note:** Version bump only for package governance-docs + + + + + +## [0.1.4](https://github.com/helium/modular-governance/compare/v0.0.15...v0.1.4) (2025-02-24) + +**Note:** Version bump only for package governance-docs + + + + + +## [0.1.3](https://github.com/helium/modular-governance/compare/v0.0.15...v0.1.3) (2025-02-24) + +**Note:** Version bump only for package governance-docs + + + + + +## [0.1.2](https://github.com/helium/modular-governance/compare/v0.0.15...v0.1.2) (2025-02-24) + +**Note:** Version bump only for package governance-docs + + + + + +## [0.1.1](https://github.com/helium/modular-governance/compare/v0.0.15...v0.1.1) (2025-02-14) + +**Note:** Version bump only for package governance-docs + + + + + +# [0.1.0](https://github.com/helium/modular-governance/compare/v0.0.15...v0.1.0) (2025-02-14) + +**Note:** Version bump only for package governance-docs + + + + + ## [0.0.15](https://github.com/helium/modular-governance/compare/v0.0.14...v0.0.15) (2024-12-06) **Note:** Version bump only for package governance-docs diff --git a/packages/docsite/package.json b/packages/docsite/package.json index 208f744..ade65ca 100644 --- a/packages/docsite/package.json +++ b/packages/docsite/package.json @@ -1,6 +1,6 @@ { "name": "governance-docs", - "version": "0.0.15", + "version": "0.1.5-alpha.0", "private": true, "scripts": { "dev": "next dev", diff --git a/packages/docsite/src/pages/docs/api/nft-proxy-sdk.md b/packages/docsite/src/pages/docs/api/nft-proxy-sdk.md index 06a5a5f..5873fac 100644 --- a/packages/docsite/src/pages/docs/api/nft-proxy-sdk.md +++ b/packages/docsite/src/pages/docs/api/nft-proxy-sdk.md @@ -6,162 +6,163 @@ If you are looking for a quick start guide, check out the [Getting Started](/doc ## Instructions -### initializeProxyConfigV0 +### assign_proxy_v0 #### Accounts -| Name | Mutability | Signer | Docs | -| ------------- | ---------- | ------ | ---- | -| payer | mut | yes | | -| authority | immut | no | | -| proxyConfig | mut | no | | -| systemProgram | immut | no | | +| Name | Mutability | Signer | Docs | +| ------------------------ | ---------- | ------ | ---------------------------------------------------------------------- | +| payer | immut | no | | +| asset | immut | no | | +| approver | immut | no | | +| voter | immut | no | or in the case of a primary proxy (first in the line), Pubkey::default | +| token_account | immut | no | | +| proxy_config | immut | no | | +| current_proxy_assignment | immut | no | | +| recipient | immut | no | | +| next_proxy_assignment | immut | no | | +| system_program | immut | no | | #### Args -| Name | Type | Docs | -| ---- | --------------------------- | ---- | -| args | InitializeProxyConfigArgsV0 | | +| Name | Type | Docs | +| ---- | --------------- | ---- | +| args | [object Object] | | -### assignProxyV0 +### close_expired_proxy_v0 #### Accounts -| Name | Mutability | Signer | Docs | -| ---------------------- | ---------- | ------ | ---------------------------------------------------------------------- | -| payer | mut | yes | | -| asset | immut | no | | -| approver | immut | yes | | -| voter | immut | no | or in the case of a primary proxy (first in the line), Pubkey::default | -| tokenAccount | immut | no | | -| proxyConfig | immut | no | | -| currentProxyAssignment | mut | no | | -| recipient | immut | no | | -| nextProxyAssignment | mut | no | | -| systemProgram | immut | no | | +| Name | Mutability | Signer | Docs | +| ---------------- | ---------- | ------ | ---- | +| rent_refund | immut | no | | +| proxy_assignment | immut | no | | +| system_program | immut | no | | #### Args -| Name | Type | Docs | -| ---- | ----------------- | ---- | -| args | AssignProxyArgsV0 | | +| Name | Type | Docs | +| ---- | ---- | ---- | -### unassignProxyV0 +### initialize_proxy_config_v0 #### Accounts -| Name | Mutability | Signer | Docs | -| ---------------------- | ---------- | ------ | ---------------------------------------------------------------------- | -| rentRefund | mut | no | | -| asset | immut | no | | -| approver | immut | yes | | -| voter | immut | no | or in the case of a primary proxy (first in the line), Pubkey::default | -| tokenAccount | immut | no | | -| currentProxyAssignment | immut | no | | -| prevProxyAssignment | mut | no | | -| proxyAssignment | mut | no | | -| proxyConfig | immut | no | | -| systemProgram | immut | no | | +| Name | Mutability | Signer | Docs | +| -------------- | ---------- | ------ | ---- | +| payer | immut | no | | +| authority | immut | no | | +| proxy_config | immut | no | | +| system_program | immut | no | | #### Args -| Name | Type | Docs | -| ---- | ---- | ---- | +| Name | Type | Docs | +| ---- | --------------- | ---- | +| args | [object Object] | | -### updateProxyConfigV0 +### unassign_expired_proxy_v0 #### Accounts -| Name | Mutability | Signer | Docs | -| ------------- | ---------- | ------ | ---- | -| payer | mut | yes | | -| authority | immut | no | | -| proxyConfig | mut | no | | -| systemProgram | immut | no | | +| Name | Mutability | Signer | Docs | +| --------------------- | ---------- | ------ | ---- | +| rent_refund | immut | no | | +| prev_proxy_assignment | immut | no | | +| proxy_assignment | immut | no | | +| system_program | immut | no | | #### Args -| Name | Type | Docs | -| ---- | ----------------------- | ---- | -| args | UpdateProxyConfigArgsV0 | | +| Name | Type | Docs | +| ---- | ---- | ---- | -### unassignExpiredProxyV0 +### unassign_proxy_v0 #### Accounts -| Name | Mutability | Signer | Docs | -| ------------------- | ---------- | ------ | ---- | -| rentRefund | mut | no | | -| prevProxyAssignment | mut | no | | -| proxyAssignment | mut | no | | -| systemProgram | immut | no | | +| Name | Mutability | Signer | Docs | +| ------------------------ | ---------- | ------ | ---------------------------------------------------------------------- | +| rent_refund | immut | no | | +| asset | immut | no | | +| approver | immut | no | | +| voter | immut | no | or in the case of a primary proxy (first in the line), Pubkey::default | +| token_account | immut | no | | +| current_proxy_assignment | immut | no | | +| prev_proxy_assignment | immut | no | | +| proxy_assignment | immut | no | | +| proxy_config | immut | no | | +| system_program | immut | no | | #### Args | Name | Type | Docs | | ---- | ---- | ---- | -### closeExpiredProxyV0 +### update_proxy_config_v0 #### Accounts -| Name | Mutability | Signer | Docs | -| --------------- | ---------- | ------ | ---- | -| rentRefund | mut | no | | -| proxyAssignment | mut | no | | -| systemProgram | immut | no | | +| Name | Mutability | Signer | Docs | +| -------------- | ---------- | ------ | ---- | +| payer | immut | no | | +| authority | immut | no | | +| proxy_config | immut | no | | +| system_program | immut | no | | #### Args -| Name | Type | Docs | -| ---- | ---- | ---- | +| Name | Type | Docs | +| ---- | --------------- | ---- | +| args | [object Object] | | ## Accounts -### ProxyConfigV0 +### ProxyAssignmentV0 -| Field | Type | -| ------------ | --------- | -| authority | publicKey | -| name | string | -| maxProxyTime | i64 | -| seasons | SeasonV0 | +undefined -### ProxyAssignmentV0 +### ProxyConfigV0 -| Field | Type | -| -------------- | --------- | -| voter | publicKey | -| proxyConfig | publicKey | -| asset | publicKey | -| index | u16 | -| nextVoter | publicKey | -| rentRefund | publicKey | -| expirationTime | i64 | -| bumpSeed | u8 | +undefined ## Types ### AssignProxyArgsV0 -| Field | Type | -| -------------- | ---- | -| expirationTime | i64 | +| Field | Type | +| --------------- | ---- | +| expiration_time | i64 | ### InitializeProxyConfigArgsV0 -| Field | Type | -| ------------ | -------- | -| name | string | -| maxProxyTime | i64 | -| seasons | SeasonV0 | +| Field | Type | +| -------------- | --------------- | +| name | string | +| max_proxy_time | i64 | +| seasons | [object Object] | -### UpdateProxyConfigArgsV0 +### ProxyAssignmentV0 + +| Field | Type | +| --------------- | ------ | +| voter | pubkey | +| proxy_config | pubkey | +| asset | pubkey | +| index | u16 | +| next_voter | pubkey | +| rent_refund | pubkey | +| expiration_time | i64 | +| bump_seed | u8 | -| Field | Type | -| ------------ | --------------- | -| maxProxyTime | i64 | -| seasons | [object Object] | +### ProxyConfigV0 + +| Field | Type | +| -------------- | --------------- | +| authority | pubkey | +| name | string | +| max_proxy_time | i64 | +| seasons | [object Object] | ### SeasonV0 @@ -169,3 +170,10 @@ If you are looking for a quick start guide, check out the [Getting Started](/doc | ----- | ---- | | start | i64 | | end | i64 | + +### UpdateProxyConfigArgsV0 + +| Field | Type | +| -------------- | --------------- | +| max_proxy_time | i64 | +| seasons | [object Object] | diff --git a/packages/docsite/src/pages/docs/api/nft-voter-sdk.md b/packages/docsite/src/pages/docs/api/nft-voter-sdk.md index 3097bff..0a0e824 100644 --- a/packages/docsite/src/pages/docs/api/nft-voter-sdk.md +++ b/packages/docsite/src/pages/docs/api/nft-voter-sdk.md @@ -6,177 +6,256 @@ If you are looking for a quick start guide, check out the [Getting Started](/doc ## Instructions -### initializeNftVoterV0 +### initialize_nft_voter_v0 #### Accounts -| Name | Mutability | Signer | Docs | -| ------------- | ---------- | ------ | ---- | -| payer | mut | yes | | -| proxyConfig | immut | no | | -| nftVoter | mut | no | | -| collection | immut | no | | -| systemProgram | immut | no | | +| Name | Mutability | Signer | Docs | +| -------------- | ---------- | ------ | ---- | +| payer | immut | no | | +| proxy_config | immut | no | | +| nft_voter | immut | no | | +| collection | immut | no | | +| system_program | immut | no | | #### Args -| Name | Type | Docs | -| ---- | ------------------------ | ---- | -| args | InitializeNftVoterArgsV0 | | +| Name | Type | Docs | +| ---- | --------------- | ---- | +| args | [object Object] | | -### relinquishVoteV0 +### proxied_relinquish_vote_v0 #### Accounts -| Name | Mutability | Signer | Docs | -| --------------- | ---------- | ------ | ------------------------------------------------- | -| rentRefund | mut | no | Account to receive sol refund if marker is closed | -| marker | mut | no | | -| nftVoter | immut | no | | -| voter | immut | yes | | -| mint | immut | no | | -| metadata | immut | no | | -| tokenAccount | immut | no | | -| proposal | mut | no | | -| proposalConfig | immut | no | | -| stateController | mut | no | | -| onVoteHook | immut | no | | -| proposalProgram | immut | no | | -| systemProgram | immut | no | | +| Name | Mutability | Signer | Docs | +| ---------------- | ---------- | ------ | ------------------------------------------------------ | +| rent_refund | immut | no | Account to receive sol rent_refund if marker is closed | +| marker | immut | no | | +| nft_voter | immut | no | | +| voter | immut | no | | +| mint | immut | no | | +| metadata | immut | no | | +| proxy_assignment | immut | no | | +| proposal | immut | no | | +| proposal_config | immut | no | | +| state_controller | immut | no | | +| on_vote_hook | immut | no | | +| proposal_program | immut | no | | +| system_program | immut | no | | #### Args -| Name | Type | Docs | -| ---- | -------------------- | ---- | -| args | RelinquishVoteArgsV0 | | +| Name | Type | Docs | +| ---- | --------------- | ---- | +| args | [object Object] | | -### voteV0 +### proxied_vote_v0 #### Accounts -| Name | Mutability | Signer | Docs | -| --------------- | ---------- | ------ | ---- | -| payer | mut | yes | | -| marker | mut | no | | -| nftVoter | immut | no | | -| voter | immut | yes | | -| mint | immut | no | | -| metadata | immut | no | | -| tokenAccount | immut | no | | -| proposal | mut | no | | -| proposalConfig | immut | no | | -| stateController | mut | no | | -| onVoteHook | immut | no | | -| proposalProgram | immut | no | | -| systemProgram | immut | no | | +| Name | Mutability | Signer | Docs | +| ---------------- | ---------- | ------ | ---- | +| payer | immut | no | | +| marker | immut | no | | +| proxy_assignment | immut | no | | +| nft_voter | immut | no | | +| voter | immut | no | | +| mint | immut | no | | +| metadata | immut | no | | +| proposal | immut | no | | +| proposal_config | immut | no | | +| state_controller | immut | no | | +| on_vote_hook | immut | no | | +| proposal_program | immut | no | | +| system_program | immut | no | | #### Args -| Name | Type | Docs | -| ---- | ---------- | ---- | -| args | VoteArgsV0 | | +| Name | Type | Docs | +| ---- | --------------- | ---- | +| args | [object Object] | | -### proxiedRelinquishVoteV0 +### relinquish_vote_v0 #### Accounts -| Name | Mutability | Signer | Docs | -| --------------- | ---------- | ------ | ------------------------------------------------------ | -| rentRefund | mut | no | Account to receive sol rent_refund if marker is closed | -| marker | mut | no | | -| nftVoter | immut | no | | -| voter | immut | yes | | -| mint | immut | no | | -| metadata | immut | no | | -| proxyAssignment | immut | no | | -| proposal | mut | no | | -| proposalConfig | immut | no | | -| stateController | mut | no | | -| onVoteHook | immut | no | | -| proposalProgram | immut | no | | -| systemProgram | immut | no | | +| Name | Mutability | Signer | Docs | +| ---------------- | ---------- | ------ | ------------------------------------------------- | +| rent_refund | immut | no | Account to receive sol refund if marker is closed | +| marker | immut | no | | +| nft_voter | immut | no | | +| voter | immut | no | | +| mint | immut | no | | +| metadata | immut | no | | +| token_account | immut | no | | +| proposal | immut | no | | +| proposal_config | immut | no | | +| state_controller | immut | no | | +| on_vote_hook | immut | no | | +| proposal_program | immut | no | | +| system_program | immut | no | | #### Args -| Name | Type | Docs | -| ---- | -------------------- | ---- | -| args | RelinquishVoteArgsV0 | | +| Name | Type | Docs | +| ---- | --------------- | ---- | +| args | [object Object] | | -### proxiedVoteV0 +### update_nft_voter_v0 #### Accounts -| Name | Mutability | Signer | Docs | -| --------------- | ---------- | ------ | ---- | -| payer | mut | yes | | -| marker | mut | no | | -| proxyAssignment | immut | no | | -| nftVoter | immut | no | | -| voter | immut | yes | | -| mint | immut | no | | -| metadata | immut | no | | -| proposal | mut | no | | -| proposalConfig | immut | no | | -| stateController | mut | no | | -| onVoteHook | immut | no | | -| proposalProgram | immut | no | | -| systemProgram | immut | no | | +| Name | Mutability | Signer | Docs | +| ------------- | ---------- | ------ | ---- | +| authority | immut | no | | +| proxy_config | immut | no | | +| new_authority | immut | no | | +| nft_voter | immut | no | | #### Args -| Name | Type | Docs | -| ---- | ---------- | ---- | -| args | VoteArgsV0 | | +| Name | Type | Docs | +| ---- | ---- | ---- | -### updateNftVoterV0 +### vote_v0 #### Accounts -| Name | Mutability | Signer | Docs | -| ------------ | ---------- | ------ | ---- | -| authority | immut | yes | | -| proxyConfig | immut | no | | -| newAuthority | immut | no | | -| nftVoter | immut | no | | +| Name | Mutability | Signer | Docs | +| ---------------- | ---------- | ------ | ---- | +| payer | immut | no | | +| marker | immut | no | | +| nft_voter | immut | no | | +| voter | immut | no | | +| mint | immut | no | | +| metadata | immut | no | | +| token_account | immut | no | | +| proposal | immut | no | | +| proposal_config | immut | no | | +| state_controller | immut | no | | +| on_vote_hook | immut | no | | +| proposal_program | immut | no | | +| system_program | immut | no | | #### Args -| Name | Type | Docs | -| ---- | ---- | ---- | +| Name | Type | Docs | +| ---- | --------------- | ---- | +| args | [object Object] | | ## Accounts ### NftVoterV0 -| Field | Type | -| ----------- | --------- | -| authority | publicKey | -| collection | publicKey | -| name | string | -| bumpSeed | u8 | -| proxyConfig | publicKey | +undefined + +### ProposalConfigV0 + +undefined + +### ProposalV0 + +undefined + +### ProxyAssignmentV0 + +undefined + +### ProxyConfigV0 + +undefined ### VoteMarkerV0 -| Field | Type | -| ---------- | --------- | -| voter | publicKey | -| nftVoter | publicKey | -| proposal | publicKey | -| mint | publicKey | -| choices | u16 | -| bumpSeed | u8 | -| proxyIndex | u16 | -| rentRefund | publicKey | +undefined ## Types +### Choice + +| Field | Type | +| ------ | ------ | +| weight | u128 | +| name | string | +| uri | string | + ### InitializeNftVoterArgsV0 -| Field | Type | -| --------- | --------- | -| name | string | -| authority | publicKey | +| Field | Type | +| --------- | ------ | +| name | string | +| authority | pubkey | + +### NftVoterV0 + +| Field | Type | +| ------------ | ------ | +| authority | pubkey | +| collection | pubkey | +| name | string | +| bump_seed | u8 | +| proxy_config | pubkey | + +### ProposalConfigV0 + +| Field | Type | +| ---------------- | ------ | +| vote_controller | pubkey | +| state_controller | pubkey | +| on_vote_hook | pubkey | +| name | string | +| bump_seed | u8 | +| authority | pubkey | + +### ProposalState + +| Variant | Fields | +| --------- | ------------------------------------- | +| Draft | | +| Cancelled | | +| Voting | start_ts: i64 | +| Resolved | choices: [object Object], end_ts: i64 | +| Custom | name: string, bin: bytes | + +### ProposalV0 + +| Field | Type | +| --------------------- | --------------- | +| namespace | pubkey | +| owner | pubkey | +| state | [object Object] | +| created_at | i64 | +| proposal_config | pubkey | +| max_choices_per_voter | u16 | +| seed | bytes | +| name | string | +| uri | string | +| tags | string | +| choices | [object Object] | +| bump_seed | u8 | + +### ProxyAssignmentV0 + +| Field | Type | +| --------------- | ------ | +| voter | pubkey | +| proxy_config | pubkey | +| asset | pubkey | +| index | u16 | +| next_voter | pubkey | +| rent_refund | pubkey | +| expiration_time | i64 | +| bump_seed | u8 | + +### ProxyConfigV0 + +| Field | Type | +| -------------- | --------------- | +| authority | pubkey | +| name | string | +| max_proxy_time | i64 | +| seasons | [object Object] | ### RelinquishVoteArgsV0 @@ -184,56 +263,28 @@ If you are looking for a quick start guide, check out the [Getting Started](/doc | ------ | ---- | | choice | u16 | +### SeasonV0 + +| Field | Type | +| ----- | ---- | +| start | i64 | +| end | i64 | + ### VoteArgsV0 | Field | Type | | ------ | ---- | | choice | u16 | -### Key - -| Variant | Fields | -| ------------------------- | ------ | -| Uninitialized | | -| EditionV1 | | -| MasterEditionV1 | | -| ReservationListV1 | | -| MetadataV1 | | -| ReservationListV2 | | -| MasterEditionV2 | | -| EditionMarker | | -| UseAuthorityRecord | | -| CollectionAuthorityRecord | | -| TokenOwnedEscrow | | -| TokenRecord | | -| MetadataDelegate | | - -### CollectionDetails - -| Variant | Fields | -| ------- | --------- | -| V1 | size: u64 | - -### ProgrammableConfig - -| Variant | Fields | -| ------- | ------------------------- | -| V1 | rule_set: [object Object] | - -### UseMethod - -| Variant | Fields | -| -------- | ------ | -| Burn | | -| Multiple | | -| Single | | - -### TokenStandard - -| Variant | Fields | -| ----------------------- | ------ | -| NonFungible | | -| FungibleAsset | | -| Fungible | | -| NonFungibleEdition | | -| ProgrammableNonFungible | | +### VoteMarkerV0 + +| Field | Type | +| ----------- | ------ | +| voter | pubkey | +| nft_voter | pubkey | +| proposal | pubkey | +| mint | pubkey | +| choices | u16 | +| bump_seed | u8 | +| proxy_index | u16 | +| rent_refund | pubkey | diff --git a/packages/docsite/src/pages/docs/api/organization-sdk.md b/packages/docsite/src/pages/docs/api/organization-sdk.md index 227488a..ec75013 100644 --- a/packages/docsite/src/pages/docs/api/organization-sdk.md +++ b/packages/docsite/src/pages/docs/api/organization-sdk.md @@ -6,84 +6,66 @@ If you are looking for a quick start guide, check out the [Getting Started](/doc ## Instructions -### initializeOrganizationV0 +### initialize_organization_v0 #### Accounts -| Name | Mutability | Signer | Docs | -| ------------- | ---------- | ------ | ---- | -| payer | mut | yes | | -| organization | mut | no | | -| systemProgram | immut | no | | +| Name | Mutability | Signer | Docs | +| -------------- | ---------- | ------ | ---- | +| payer | immut | no | | +| organization | immut | no | | +| system_program | immut | no | | #### Args -| Name | Type | Docs | -| ---- | ---------------------------- | ---- | -| args | InitializeOrganizationArgsV0 | | +| Name | Type | Docs | +| ---- | --------------- | ---- | +| args | [object Object] | | -### initializeProposalV0 +### initialize_proposal_v0 #### Accounts -| Name | Mutability | Signer | Docs | -| --------------- | ---------- | ------ | ---- | -| payer | mut | yes | | -| authority | immut | yes | | -| owner | immut | no | | -| proposal | mut | no | | -| proposalConfig | immut | no | | -| organization | mut | no | | -| proposalProgram | immut | no | | -| systemProgram | immut | no | | +| Name | Mutability | Signer | Docs | +| ---------------- | ---------- | ------ | ---- | +| payer | immut | no | | +| authority | immut | no | | +| owner | immut | no | | +| proposal | immut | no | | +| proposal_config | immut | no | | +| organization | immut | no | | +| proposal_program | immut | no | | +| system_program | immut | no | | #### Args -| Name | Type | Docs | -| ---- | ------------------------ | ---- | -| args | InitializeProposalArgsV0 | | +| Name | Type | Docs | +| ---- | --------------- | ---- | +| args | [object Object] | | -### updateOrganizationV0 +### update_organization_v0 #### Accounts | Name | Mutability | Signer | Docs | | ------------ | ---------- | ------ | ---- | -| organization | mut | no | | -| authority | immut | yes | | +| organization | immut | no | | +| authority | immut | no | | #### Args -| Name | Type | Docs | -| ---- | ------------------------ | ---- | -| args | UpdateOrganizationArgsV0 | | +| Name | Type | Docs | +| ---- | --------------- | ---- | +| args | [object Object] | | ## Accounts ### OrganizationV0 -| Field | Type | -| --------------------- | --------- | -| numProposals | u32 | -| authority | publicKey | -| defaultProposalConfig | publicKey | -| proposalProgram | publicKey | -| name | string | -| uri | string | -| bumpSeed | u8 | +undefined ## Types -### InitializeOrganizationArgsV0 - -| Field | Type | -| --------------------- | --------- | -| name | string | -| authority | publicKey | -| defaultProposalConfig | publicKey | -| proposalProgram | publicKey | -| uri | string | - ### ChoiceArg | Field | Type | @@ -91,21 +73,43 @@ If you are looking for a quick start guide, check out the [Getting Started](/doc | name | string | | uri | string | +### InitializeOrganizationArgsV0 + +| Field | Type | +| ----------------------- | ------ | +| name | string | +| authority | pubkey | +| default_proposal_config | pubkey | +| proposal_program | pubkey | +| uri | string | + ### InitializeProposalArgsV0 -| Field | Type | -| ------------------ | --------- | -| name | string | -| uri | string | -| maxChoicesPerVoter | u16 | -| choices | ChoiceArg | -| tags | string | +| Field | Type | +| --------------------- | --------------- | +| name | string | +| uri | string | +| max_choices_per_voter | u16 | +| choices | [object Object] | +| tags | string | + +### OrganizationV0 + +| Field | Type | +| ----------------------- | ------ | +| num_proposals | u32 | +| authority | pubkey | +| default_proposal_config | pubkey | +| proposal_program | pubkey | +| name | string | +| uri | string | +| bump_seed | u8 | ### UpdateOrganizationArgsV0 -| Field | Type | -| --------------------- | --------- | -| authority | publicKey | -| defaultProposalConfig | publicKey | -| proposalProgram | publicKey | -| uri | string | +| Field | Type | +| ----------------------- | ------ | +| authority | pubkey | +| default_proposal_config | pubkey | +| proposal_program | pubkey | +| uri | string | diff --git a/packages/docsite/src/pages/docs/api/organization-wallet-sdk.md b/packages/docsite/src/pages/docs/api/organization-wallet-sdk.md index 5bb0bae..11f8b8c 100644 --- a/packages/docsite/src/pages/docs/api/organization-wallet-sdk.md +++ b/packages/docsite/src/pages/docs/api/organization-wallet-sdk.md @@ -6,176 +6,233 @@ If you are looking for a quick start guide, check out the [Getting Started](/doc ## Instructions -### initializeOrganizationWalletV0 +### execute_transaction_v0 #### Accounts -| Name | Mutability | Signer | Docs | -| ------------------ | ---------- | ------ | ---- | -| payer | mut | yes | | -| organizationWallet | mut | no | | -| organization | immut | no | | -| authority | immut | yes | | -| systemProgram | immut | no | | +| Name | Mutability | Signer | Docs | +| ------------------- | ---------- | ------ | ---- | +| organization_wallet | immut | no | | +| proposal | immut | no | | +| choice_transaction | immut | no | | +| wallet | immut | no | | +| refund | immut | no | | #### Args -| Name | Type | Docs | -| ---- | ---------------------------------- | ---- | -| args | InitializeOrganizationWalletArgsV0 | | +| Name | Type | Docs | +| ---- | ---- | ---- | -### setTransactionsV0 +### initialize_organization_wallet_v0 #### Accounts -| Name | Mutability | Signer | Docs | -| ------------------ | ---------- | ------ | ---- | -| payer | mut | yes | | -| owner | immut | yes | | -| organizationWallet | immut | no | | -| proposal | immut | no | | -| walletProposal | mut | no | | -| choiceTransaction | mut | no | | -| systemProgram | immut | no | | +| Name | Mutability | Signer | Docs | +| ------------------- | ---------- | ------ | ---- | +| payer | immut | no | | +| organization_wallet | immut | no | | +| organization | immut | no | | +| authority | immut | no | | +| system_program | immut | no | | #### Args -| Name | Type | Docs | -| ---- | --------------------- | ---- | -| args | SetTransactionsArgsV0 | | +| Name | Type | Docs | +| ---- | --------------- | ---- | +| args | [object Object] | | -### executeTransactionV0 +### set_transactions_v0 #### Accounts -| Name | Mutability | Signer | Docs | -| ------------------ | ---------- | ------ | ---- | -| organizationWallet | immut | no | | -| proposal | immut | no | | -| choiceTransaction | mut | no | | -| wallet | mut | no | | -| refund | mut | no | | +| Name | Mutability | Signer | Docs | +| ------------------- | ---------- | ------ | ---- | +| payer | immut | no | | +| owner | immut | no | | +| organization_wallet | immut | no | | +| proposal | immut | no | | +| wallet_proposal | immut | no | | +| choice_transaction | immut | no | | +| system_program | immut | no | | #### Args -| Name | Type | Docs | -| ---- | ---- | ---- | +| Name | Type | Docs | +| ---- | --------------- | ---- | +| args | [object Object] | | -### updateOrganizationWalletV0 +### update_organization_wallet_v0 #### Accounts -| Name | Mutability | Signer | Docs | -| ------------------ | ---------- | ------ | ---- | -| payer | mut | yes | | -| organizationWallet | mut | no | | -| organization | immut | no | | -| authority | immut | yes | | -| systemProgram | immut | no | | +| Name | Mutability | Signer | Docs | +| ------------------- | ---------- | ------ | ---- | +| payer | immut | no | | +| organization_wallet | immut | no | | +| organization | immut | no | | +| authority | immut | no | | +| system_program | immut | no | | #### Args -| Name | Type | Docs | -| ---- | ------------------------------ | ---- | -| args | UpdateOrganizationWalletArgsV0 | | +| Name | Type | Docs | +| ---- | --------------- | ---- | +| args | [object Object] | | ## Accounts +### ChoiceTransactionV0 + +undefined + +### OrganizationV0 + +undefined + ### OrganizationWalletV0 -| Field | Type | -| --------------- | --------- | -| index | u16 | -| organization | publicKey | -| wallet | publicKey | -| proposalConfigs | publicKey | -| name | string | -| bumpSeed | u8 | -| walletBumpSeed | u8 | +undefined + +### ProposalV0 + +undefined ### WalletProposalV0 -| Field | Type | -| ----------------------- | --------- | -| proposal | publicKey | -| organizationWallet | publicKey | -| numTransactionsByChoice | u16 | +undefined + +## Types + +### Choice + +| Field | Type | +| ------ | ------ | +| weight | u128 | +| name | string | +| uri | string | ### ChoiceTransactionV0 -| Field | Type | -| ---------------------- | --------------------- | -| walletProposal | publicKey | -| proposal | publicKey | -| organizationWallet | publicKey | -| choiceIndex | u16 | -| allowExecutionOffset | u32 | -| disableExecutionOffset | u32 | -| bumpSeed | u8 | -| transaction | CompiledTransactionV0 | - -### OrganizationWalletPropoalV0 - -| Field | Type | -| -------------------- | --------------- | -| organizationWallet | publicKey | -| proposal | publicKey | -| accounts | publicKey | -| transactionsByChoice | [object Object] | -| bumpSeed | u8 | +| Field | Type | +| ------------------------ | --------------- | +| wallet_proposal | pubkey | +| proposal | pubkey | +| organization_wallet | pubkey | +| choice_index | u16 | +| allow_execution_offset | u32 | +| disable_execution_offset | u32 | +| bump_seed | u8 | +| transaction | [object Object] | -## Types +### CompiledInstructionV0 + +| Field | Type | +| ---------------- | ----- | +| program_id_index | u8 | +| accounts | bytes | +| data | bytes | + +### CompiledTransactionArgV0 + +| Field | Type | +| -------------- | --------------- | +| num_rw_signers | u8 | +| num_ro_signers | u8 | +| num_rw | u8 | +| instructions | [object Object] | +| signer_seeds | bytes | + +### CompiledTransactionV0 + +| Field | Type | +| -------------- | --------------- | +| num_rw_signers | u8 | +| num_ro_signers | u8 | +| num_rw | u8 | +| accounts | pubkey | +| instructions | [object Object] | +| signer_seeds | bytes | ### InitializeOrganizationWalletArgsV0 -| Field | Type | -| --------------- | --------- | -| name | string | -| proposalConfigs | publicKey | -| index | u16 | +| Field | Type | +| ---------------- | ------ | +| name | string | +| proposal_configs | pubkey | +| index | u16 | -### CompiledTransactionArgV0 +### OrganizationV0 -| Field | Type | -| ------------ | --------------------- | -| numRwSigners | u8 | -| numRoSigners | u8 | -| numRw | u8 | -| instructions | CompiledInstructionV0 | -| signerSeeds | bytes | +| Field | Type | +| ----------------------- | ------ | +| num_proposals | u32 | +| authority | pubkey | +| default_proposal_config | pubkey | +| proposal_program | pubkey | +| name | string | +| uri | string | +| bump_seed | u8 | -### SetTransactionsArgsV0 +### OrganizationWalletV0 -| Field | Type | -| ---------------------- | ------------------------ | -| choiceIndex | u16 | -| transactionIndex | u16 | -| allowExecutionOffset | u32 | -| disableExecutionOffset | u32 | -| transaction | CompiledTransactionArgV0 | +| Field | Type | +| ---------------- | ------ | +| index | u16 | +| organization | pubkey | +| wallet | pubkey | +| proposal_configs | pubkey | +| name | string | +| bump_seed | u8 | +| wallet_bump_seed | u8 | + +### ProposalState + +| Variant | Fields | +| --------- | ------------------------------------- | +| Draft | | +| Cancelled | | +| Voting | start_ts: i64 | +| Resolved | choices: [object Object], end_ts: i64 | +| Custom | name: string, bin: bytes | + +### ProposalV0 + +| Field | Type | +| --------------------- | --------------- | +| namespace | pubkey | +| owner | pubkey | +| state | [object Object] | +| created_at | i64 | +| proposal_config | pubkey | +| max_choices_per_voter | u16 | +| seed | bytes | +| name | string | +| uri | string | +| tags | string | +| choices | [object Object] | +| bump_seed | u8 | -### UpdateOrganizationWalletArgsV0 +### SetTransactionsArgsV0 -| Field | Type | -| --------------- | --------------- | -| name | string | -| proposalConfigs | [object Object] | +| Field | Type | +| ------------------------ | --------------- | +| choice_index | u16 | +| transaction_index | u16 | +| allow_execution_offset | u32 | +| disable_execution_offset | u32 | +| transaction | [object Object] | -### CompiledInstructionV0 +### UpdateOrganizationWalletArgsV0 -| Field | Type | -| -------------- | ----- | -| programIdIndex | u8 | -| accounts | bytes | -| data | bytes | +| Field | Type | +| ---------------- | --------------- | +| name | string | +| proposal_configs | [object Object] | -### CompiledTransactionV0 +### WalletProposalV0 -| Field | Type | -| ------------ | --------------------- | -| numRwSigners | u8 | -| numRoSigners | u8 | -| numRw | u8 | -| accounts | publicKey | -| instructions | CompiledInstructionV0 | -| signerSeeds | bytes | +| Field | Type | +| -------------------------- | ------ | +| proposal | pubkey | +| organization_wallet | pubkey | +| num_transactions_by_choice | u16 | diff --git a/packages/docsite/src/pages/docs/api/proposal-sdk.md b/packages/docsite/src/pages/docs/api/proposal-sdk.md index f19a69f..072a9ad 100644 --- a/packages/docsite/src/pages/docs/api/proposal-sdk.md +++ b/packages/docsite/src/pages/docs/api/proposal-sdk.md @@ -6,133 +6,111 @@ If you are looking for a quick start guide, check out the [Getting Started](/doc ## Instructions -### initializeProposalV0 +### initialize_proposal_config_v0 #### Accounts -| Name | Mutability | Signer | Docs | -| -------------- | ---------- | ------ | -------------------------------------------------------------- | -| payer | mut | yes | | -| namespace | immut | yes | Every proposal must have a namespace to prevent seed collision | -| proposal | mut | no | | -| owner | immut | no | | -| proposalConfig | immut | no | | -| systemProgram | immut | no | | +| Name | Mutability | Signer | Docs | +| --------------- | ---------- | ------ | ---- | +| payer | immut | no | | +| owner | immut | no | | +| proposal_config | immut | no | | +| system_program | immut | no | | #### Args -| Name | Type | Docs | -| ---- | ------------------------ | ---- | -| args | InitializeProposalArgsV0 | | +| Name | Type | Docs | +| ---- | --------------- | ---- | +| args | [object Object] | | -### initializeProposalConfigV0 +### initialize_proposal_v0 #### Accounts -| Name | Mutability | Signer | Docs | -| -------------- | ---------- | ------ | ---- | -| payer | mut | yes | | -| owner | immut | yes | | -| proposalConfig | mut | no | | -| systemProgram | immut | no | | +| Name | Mutability | Signer | Docs | +| --------------- | ---------- | ------ | -------------------------------------------------------------- | +| payer | immut | no | | +| namespace | immut | no | Every proposal must have a namespace to prevent seed collision | +| proposal | immut | no | | +| owner | immut | no | | +| proposal_config | immut | no | | +| system_program | immut | no | | #### Args -| Name | Type | Docs | -| ---- | ------------------------------ | ---- | -| args | InitializeProposalConfigArgsV0 | | +| Name | Type | Docs | +| ---- | --------------- | ---- | +| args | [object Object] | | -### voteV0 +### update_proposal_config_v0 #### Accounts | Name | Mutability | Signer | Docs | | --------------- | ---------- | ------ | ---- | -| voteController | immut | yes | | -| voter | immut | no | | -| stateController | mut | no | | -| proposalConfig | immut | no | | -| proposal | mut | no | | -| onVoteHook | immut | no | | +| proposal_config | immut | no | | +| authority | immut | no | | #### Args -| Name | Type | Docs | -| ---- | ---------- | ---- | -| args | VoteArgsV0 | | +| Name | Type | Docs | +| ---- | --------------- | ---- | +| args | [object Object] | | -### updateStateV0 +### update_state_v0 #### Accounts -| Name | Mutability | Signer | Docs | -| --------------- | ---------- | ------ | ---- | -| stateController | immut | yes | | -| proposal | mut | no | | -| proposalConfig | immut | no | | +| Name | Mutability | Signer | Docs | +| ---------------- | ---------- | ------ | ---- | +| state_controller | immut | no | | +| proposal | immut | no | | +| proposal_config | immut | no | | #### Args -| Name | Type | Docs | -| ---- | ----------------- | ---- | -| args | UpdateStateArgsV0 | | +| Name | Type | Docs | +| ---- | --------------- | ---- | +| args | [object Object] | | -### updateProposalConfigV0 +### vote_v0 #### Accounts -| Name | Mutability | Signer | Docs | -| -------------- | ---------- | ------ | ---- | -| proposalConfig | mut | no | | -| authority | immut | yes | | +| Name | Mutability | Signer | Docs | +| ---------------- | ---------- | ------ | ---- | +| vote_controller | immut | no | | +| voter | immut | no | | +| state_controller | immut | no | | +| proposal_config | immut | no | | +| proposal | immut | no | | +| on_vote_hook | immut | no | | #### Args -| Name | Type | Docs | -| ---- | -------------------------- | ---- | -| args | UpdateProposalConfigArgsV0 | | +| Name | Type | Docs | +| ---- | --------------- | ---- | +| args | [object Object] | | ## Accounts ### ProposalConfigV0 -| Field | Type | -| --------------- | --------- | -| voteController | publicKey | -| stateController | publicKey | -| onVoteHook | publicKey | -| name | string | -| bumpSeed | u8 | -| authority | publicKey | +undefined ### ProposalV0 -| Field | Type | -| ------------------ | ------------- | -| namespace | publicKey | -| owner | publicKey | -| state | ProposalState | -| createdAt | i64 | -| proposalConfig | publicKey | -| maxChoicesPerVoter | u16 | -| seed | bytes | -| name | string | -| uri | string | -| tags | string | -| choices | Choice | -| bumpSeed | u8 | +undefined ## Types -### InitializeProposalConfigArgsV0 +### Choice -| Field | Type | -| --------------- | --------- | -| name | string | -| voteController | publicKey | -| stateController | publicKey | -| onVoteHook | publicKey | -| authority | publicKey | +| Field | Type | +| ------ | ------ | +| weight | u128 | +| name | string | +| uri | string | ### ChoiceArg @@ -143,45 +121,35 @@ If you are looking for a quick start guide, check out the [Getting Started](/doc ### InitializeProposalArgsV0 -| Field | Type | -| ------------------ | --------- | -| seed | bytes | -| name | string | -| uri | string | -| maxChoicesPerVoter | u16 | -| choices | ChoiceArg | -| tags | string | - -### UpdateProposalConfigArgsV0 +| Field | Type | +| --------------------- | --------------- | +| seed | bytes | +| name | string | +| uri | string | +| max_choices_per_voter | u16 | +| choices | [object Object] | +| tags | string | -| Field | Type | -| --------------- | --------- | -| voteController | publicKey | -| stateController | publicKey | -| onVoteHook | publicKey | -| authority | publicKey | - -### UpdateStateArgsV0 - -| Field | Type | -| -------- | ------------- | -| newState | ProposalState | - -### VoteArgsV0 +### InitializeProposalConfigArgsV0 -| Field | Type | -| ---------- | ---- | -| choice | u16 | -| weight | u128 | -| removeVote | bool | +| Field | Type | +| ---------------- | ------ | +| name | string | +| vote_controller | pubkey | +| state_controller | pubkey | +| on_vote_hook | pubkey | +| authority | pubkey | -### Choice +### ProposalConfigV0 -| Field | Type | -| ------ | ------ | -| weight | u128 | -| name | string | -| uri | string | +| Field | Type | +| ---------------- | ------ | +| vote_controller | pubkey | +| state_controller | pubkey | +| on_vote_hook | pubkey | +| name | string | +| bump_seed | u8 | +| authority | pubkey | ### ProposalState @@ -192,3 +160,43 @@ If you are looking for a quick start guide, check out the [Getting Started](/doc | Voting | start_ts: i64 | | Resolved | choices: [object Object], end_ts: i64 | | Custom | name: string, bin: bytes | + +### ProposalV0 + +| Field | Type | +| --------------------- | --------------- | +| namespace | pubkey | +| owner | pubkey | +| state | [object Object] | +| created_at | i64 | +| proposal_config | pubkey | +| max_choices_per_voter | u16 | +| seed | bytes | +| name | string | +| uri | string | +| tags | string | +| choices | [object Object] | +| bump_seed | u8 | + +### UpdateProposalConfigArgsV0 + +| Field | Type | +| ---------------- | ------ | +| vote_controller | pubkey | +| state_controller | pubkey | +| on_vote_hook | pubkey | +| authority | pubkey | + +### UpdateStateArgsV0 + +| Field | Type | +| --------- | --------------- | +| new_state | [object Object] | + +### VoteArgsV0 + +| Field | Type | +| ----------- | ---- | +| choice | u16 | +| weight | u128 | +| remove_vote | bool | diff --git a/packages/docsite/src/pages/docs/api/state-controller-sdk.md b/packages/docsite/src/pages/docs/api/state-controller-sdk.md index fe44d67..5fa7d63 100644 --- a/packages/docsite/src/pages/docs/api/state-controller-sdk.md +++ b/packages/docsite/src/pages/docs/api/state-controller-sdk.md @@ -6,121 +6,142 @@ If you are looking for a quick start guide, check out the [Getting Started](/doc ## Instructions -### onVoteV0 +### initialize_resolution_settings_v0 #### Accounts -| Name | Mutability | Signer | Docs | -| --------------- | ---------- | ------ | ---- | -| voter | immut | no | | -| voteController | immut | yes | | -| stateController | mut | no | | -| proposal | immut | no | | -| proposalConfig | immut | no | | +| Name | Mutability | Signer | Docs | +| ------------------- | ---------- | ------ | ---- | +| payer | immut | no | | +| resolution_settings | immut | no | | +| system_program | immut | no | | #### Args -| Name | Type | Docs | -| ---- | ---------- | ---- | -| args | VoteArgsV0 | | +| Name | Type | Docs | +| ---- | --------------- | ---- | +| args | [object Object] | | -### initializeResolutionSettingsV0 +### on_vote_v0 #### Accounts -| Name | Mutability | Signer | Docs | -| ------------------ | ---------- | ------ | ---- | -| payer | mut | yes | | -| resolutionSettings | mut | no | | -| systemProgram | immut | no | | +| Name | Mutability | Signer | Docs | +| ---------------- | ---------- | ------ | ---- | +| voter | immut | no | | +| vote_controller | immut | no | | +| state_controller | immut | no | | +| proposal | immut | no | | +| proposal_config | immut | no | | #### Args -| Name | Type | Docs | -| ---- | ---------------------------------- | ---- | -| args | InitializeResolutionSettingsArgsV0 | | +| Name | Type | Docs | +| ---- | --------------- | ---- | +| args | [object Object] | | -### updateStateV0 +### resolve_v0 #### Accounts -| Name | Mutability | Signer | Docs | -| --------------- | ---------- | ------ | ---- | -| owner | immut | yes | | -| proposal | mut | no | | -| proposalConfig | immut | no | | -| stateController | immut | no | | -| proposalProgram | immut | no | | +| Name | Mutability | Signer | Docs | +| ---------------- | ---------- | ------ | ---- | +| state_controller | immut | no | | +| proposal | immut | no | | +| proposal_config | immut | no | | +| proposal_program | immut | no | | #### Args -| Name | Type | Docs | -| ---- | ----------------- | ---- | -| args | UpdateStateArgsV0 | | +| Name | Type | Docs | +| ---- | ---- | ---- | -### resolveV0 +### update_state_v0 #### Accounts -| Name | Mutability | Signer | Docs | -| --------------- | ---------- | ------ | ---- | -| stateController | mut | no | | -| proposal | mut | no | | -| proposalConfig | immut | no | | -| proposalProgram | immut | no | | +| Name | Mutability | Signer | Docs | +| ---------------- | ---------- | ------ | ---- | +| owner | immut | no | | +| proposal | immut | no | | +| proposal_config | immut | no | | +| state_controller | immut | no | | +| proposal_program | immut | no | | #### Args -| Name | Type | Docs | -| ---- | ---- | ---- | +| Name | Type | Docs | +| ---- | --------------- | ---- | +| args | [object Object] | | ## Accounts -### ResolutionSettingsV0 +### ProposalConfigV0 -| Field | Type | -| -------- | ------------------ | -| name | string | -| settings | ResolutionStrategy | -| bumpSeed | u8 | +undefined -## Types +### ProposalV0 -### InitializeResolutionSettingsArgsV0 +undefined -| Field | Type | -| -------- | ------------------ | -| name | string | -| settings | ResolutionStrategy | +### ResolutionSettingsV0 -### VoteArgsV0 +undefined -| Field | Type | -| ---------- | ---- | -| choice | u16 | -| weight | u128 | -| removeVote | bool | +## Types -### UpdateStateArgsV0 +### Choice -| Field | Type | -| -------- | ------------- | -| newState | ProposalState | +| Field | Type | +| ------ | ------ | +| weight | u128 | +| name | string | +| uri | string | -### ResolutionStrategy +### InitializeResolutionSettingsArgsV0 + +| Field | Type | +| -------- | --------------- | +| name | string | +| settings | [object Object] | -| Field | Type | -| ----- | -------------- | -| nodes | ResolutionNode | +### ProposalConfigV0 + +| Field | Type | +| ---------------- | ------ | +| vote_controller | pubkey | +| state_controller | pubkey | +| on_vote_hook | pubkey | +| name | string | +| bump_seed | u8 | +| authority | pubkey | ### ProposalState -| Variant | Fields | -| --------- | ------------------------ | -| Draft | | -| Cancelled | | -| Voting | | -| Custom | name: string, bin: bytes | +| Variant | Fields | +| --------- | ------------------------------------- | +| Draft | | +| Cancelled | | +| Voting | start_ts: i64 | +| Resolved | choices: [object Object], end_ts: i64 | +| Custom | name: string, bin: bytes | + +### ProposalV0 + +| Field | Type | +| --------------------- | --------------- | +| namespace | pubkey | +| owner | pubkey | +| state | [object Object] | +| created_at | i64 | +| proposal_config | pubkey | +| max_choices_per_voter | u16 | +| seed | bytes | +| name | string | +| uri | string | +| tags | string | +| choices | [object Object] | +| bump_seed | u8 | ### ResolutionNode @@ -138,3 +159,31 @@ If you are looking for a quick start guide, check out the [Getting Started](/doc | Not | choice_name: string | | TotalWeight | weight_threshold: u128 | | ChoicePercentageOfCurrent | percentage: i32 | + +### ResolutionSettingsV0 + +| Field | Type | +| --------- | --------------- | +| name | string | +| settings | [object Object] | +| bump_seed | u8 | + +### ResolutionStrategy + +| Field | Type | +| ----- | --------------- | +| nodes | [object Object] | + +### UpdateStateArgsV0 + +| Field | Type | +| --------- | --------------- | +| new_state | [object Object] | + +### VoteArgsV0 + +| Field | Type | +| ----------- | ---- | +| choice | u16 | +| weight | u128 | +| remove_vote | bool | diff --git a/packages/docsite/src/pages/docs/api/token-voter-sdk.md b/packages/docsite/src/pages/docs/api/token-voter-sdk.md index 3ff7286..302c207 100644 --- a/packages/docsite/src/pages/docs/api/token-voter-sdk.md +++ b/packages/docsite/src/pages/docs/api/token-voter-sdk.md @@ -6,140 +6,139 @@ If you are looking for a quick start guide, check out the [Getting Started](/doc ## Instructions -### initializeTokenVoterV0 +### deposit_v0 #### Accounts -| Name | Mutability | Signer | Docs | -| ---------------------- | ---------- | ------ | ---- | -| payer | mut | yes | | -| tokenVoter | mut | no | | -| collection | mut | no | | -| metadata | mut | no | | -| masterEdition | mut | no | | -| tokenAccount | mut | no | | -| mint | immut | no | | -| rent | immut | no | | -| tokenProgram | immut | no | | -| associatedTokenProgram | immut | no | | -| tokenMetadataProgram | immut | no | | -| systemProgram | immut | no | | +| Name | Mutability | Signer | Docs | +| ------------------------- | ---------- | ------ | ---- | +| token_voter | immut | no | | +| collection | immut | no | | +| collection_metadata | immut | no | | +| collection_master_edition | immut | no | | +| receipt | immut | no | | +| mint | immut | no | | +| metadata | immut | no | | +| master_edition | immut | no | | +| receipt_token_account | immut | no | | +| recipient | immut | no | | +| vault | immut | no | | +| token_account | immut | no | | +| payer | immut | no | | +| deposit_mint | immut | no | | +| system_program | immut | no | | +| token_program | immut | no | | +| associated_token_program | immut | no | | +| token_metadata_program | immut | no | | +| rent | immut | no | | #### Args -| Name | Type | Docs | -| ---- | -------------------------- | ---- | -| args | InitializeTokenVoterArgsV0 | | +| Name | Type | Docs | +| ---- | --------------- | ---- | +| args | [object Object] | | -### depositV0 +### initialize_token_voter_v0 #### Accounts -| Name | Mutability | Signer | Docs | -| ----------------------- | ---------- | ------ | ---- | -| tokenVoter | immut | no | | -| collection | immut | no | | -| collectionMetadata | mut | no | | -| collectionMasterEdition | mut | no | | -| receipt | mut | no | | -| mint | mut | no | | -| metadata | mut | no | | -| masterEdition | mut | no | | -| receiptTokenAccount | mut | no | | -| recipient | immut | no | | -| vault | mut | no | | -| tokenAccount | mut | no | | -| payer | mut | yes | | -| depositMint | immut | no | | -| systemProgram | immut | no | | -| tokenProgram | immut | no | | -| associatedTokenProgram | immut | no | | -| tokenMetadataProgram | immut | no | | -| rent | immut | no | | +| Name | Mutability | Signer | Docs | +| ------------------------ | ---------- | ------ | ---- | +| payer | immut | no | | +| token_voter | immut | no | | +| collection | immut | no | | +| metadata | immut | no | | +| master_edition | immut | no | | +| token_account | immut | no | | +| mint | immut | no | | +| rent | immut | no | | +| token_program | immut | no | | +| associated_token_program | immut | no | | +| token_metadata_program | immut | no | | +| system_program | immut | no | | #### Args -| Name | Type | Docs | -| ---- | ------------- | ---- | -| args | DepositArgsV0 | | +| Name | Type | Docs | +| ---- | --------------- | ---- | +| args | [object Object] | | -### relinquishVoteV0 +### relinquish_vote_v0 #### Accounts -| Name | Mutability | Signer | Docs | -| --------------- | ---------- | ------ | ------------------------------------------------- | -| refund | mut | no | Account to receive sol refund if marker is closed | -| marker | mut | no | | -| tokenVoter | immut | no | | -| voter | immut | yes | | -| receipt | mut | no | | -| mint | immut | no | | -| tokenAccount | immut | no | | -| proposal | mut | no | | -| proposalConfig | immut | no | | -| stateController | mut | no | | -| onVoteHook | immut | no | | -| proposalProgram | immut | no | | -| systemProgram | immut | no | | +| Name | Mutability | Signer | Docs | +| ---------------- | ---------- | ------ | ------------------------------------------------- | +| refund | immut | no | Account to receive sol refund if marker is closed | +| marker | immut | no | | +| token_voter | immut | no | | +| voter | immut | no | | +| receipt | immut | no | | +| mint | immut | no | | +| token_account | immut | no | | +| proposal | immut | no | | +| proposal_config | immut | no | | +| state_controller | immut | no | | +| on_vote_hook | immut | no | | +| proposal_program | immut | no | | +| system_program | immut | no | | #### Args -| Name | Type | Docs | -| ---- | -------------------- | ---- | -| args | RelinquishVoteArgsV0 | | +| Name | Type | Docs | +| ---- | --------------- | ---- | +| args | [object Object] | | -### voteV0 +### vote_v0 #### Accounts -| Name | Mutability | Signer | Docs | -| --------------- | ---------- | ------ | ---- | -| payer | mut | yes | | -| marker | mut | no | | -| tokenVoter | immut | no | | -| voter | immut | yes | | -| receipt | mut | no | | -| mint | immut | no | | -| tokenAccount | immut | no | | -| proposal | mut | no | | -| proposalConfig | immut | no | | -| stateController | mut | no | | -| onVoteHook | immut | no | | -| proposalProgram | immut | no | | -| systemProgram | immut | no | | +| Name | Mutability | Signer | Docs | +| ---------------- | ---------- | ------ | ---- | +| payer | immut | no | | +| marker | immut | no | | +| token_voter | immut | no | | +| voter | immut | no | | +| receipt | immut | no | | +| mint | immut | no | | +| token_account | immut | no | | +| proposal | immut | no | | +| proposal_config | immut | no | | +| state_controller | immut | no | | +| on_vote_hook | immut | no | | +| proposal_program | immut | no | | +| system_program | immut | no | | #### Args -| Name | Type | Docs | -| ---- | ---------- | ---- | -| args | VoteArgsV0 | | +| Name | Type | Docs | +| ---- | --------------- | ---- | +| args | [object Object] | | -### withdrawV0 +### withdraw_v0 #### Accounts -| Name | Mutability | Signer | Docs | -| ---------------------- | ---------- | ------ | ---- | -| tokenVoter | immut | no | | -| collection | immut | no | | -| collectionMetadata | mut | no | | -| receipt | mut | no | | -| mint | mut | no | | -| metadata | mut | no | | -| masterEdition | mut | no | | -| receiptTokenAccount | mut | no | | -| vault | mut | no | | -| tokenAccount | mut | no | | -| payer | mut | yes | | -| refund | mut | no | | -| owner | immut | yes | | -| depositMint | immut | no | | -| systemProgram | immut | no | | -| tokenProgram | immut | no | | -| associatedTokenProgram | immut | no | | -| tokenMetadataProgram | immut | no | | -| rent | immut | no | | +| Name | Mutability | Signer | Docs | +| ------------------------ | ---------- | ------ | ---- | +| token_voter | immut | no | | +| collection | immut | no | | +| collection_metadata | immut | no | | +| receipt | immut | no | | +| mint | immut | no | | +| metadata | immut | no | | +| master_edition | immut | no | | +| receipt_token_account | immut | no | | +| vault | immut | no | | +| token_account | immut | no | | +| payer | immut | no | | +| refund | immut | no | | +| owner | immut | no | | +| deposit_mint | immut | no | | +| system_program | immut | no | | +| token_program | immut | no | | +| associated_token_program | immut | no | | +| token_metadata_program | immut | no | | #### Args @@ -148,53 +147,98 @@ If you are looking for a quick start guide, check out the [Getting Started](/doc ## Accounts -### TokenVoterV0 +### ProposalConfigV0 + +undefined + +### ProposalV0 -| Field | Type | -| ----------- | --------- | -| authority | publicKey | -| depositMint | publicKey | -| collection | publicKey | -| name | string | -| bumpSeed | u8 | +undefined ### ReceiptV0 -| Field | Type | -| -------------- | --------- | -| tokenVoter | publicKey | -| mint | publicKey | -| amount | u64 | -| numActiveVotes | u64 | -| bumpSeed | u8 | +undefined + +### TokenVoterV0 + +undefined ### VoteMarkerV0 -| Field | Type | -| ---------- | --------- | -| voter | publicKey | -| tokenVoter | publicKey | -| proposal | publicKey | -| mint | publicKey | -| choices | u16 | -| bumpSeed | u8 | +undefined ## Types +### Choice + +| Field | Type | +| ------ | ------ | +| weight | u128 | +| name | string | +| uri | string | + ### DepositArgsV0 -| Field | Type | -| ----------- | ------ | -| amount | u64 | -| metadataUri | string | +| Field | Type | +| ------------ | ------ | +| amount | u64 | +| metadata_uri | string | ### InitializeTokenVoterArgsV0 -| Field | Type | -| ------------- | --------- | -| name | string | -| authority | publicKey | -| collectionUri | string | +| Field | Type | +| -------------- | ------ | +| name | string | +| authority | pubkey | +| collection_uri | string | + +### ProposalConfigV0 + +| Field | Type | +| ---------------- | ------ | +| vote_controller | pubkey | +| state_controller | pubkey | +| on_vote_hook | pubkey | +| name | string | +| bump_seed | u8 | +| authority | pubkey | + +### ProposalState + +| Variant | Fields | +| --------- | ------------------------------------- | +| Draft | | +| Cancelled | | +| Voting | start_ts: i64 | +| Resolved | choices: [object Object], end_ts: i64 | +| Custom | name: string, bin: bytes | + +### ProposalV0 + +| Field | Type | +| --------------------- | --------------- | +| namespace | pubkey | +| owner | pubkey | +| state | [object Object] | +| created_at | i64 | +| proposal_config | pubkey | +| max_choices_per_voter | u16 | +| seed | bytes | +| name | string | +| uri | string | +| tags | string | +| choices | [object Object] | +| bump_seed | u8 | + +### ReceiptV0 + +| Field | Type | +| ---------------- | ------ | +| token_voter | pubkey | +| mint | pubkey | +| amount | u64 | +| num_active_votes | u64 | +| bump_seed | u8 | ### RelinquishVoteArgsV0 @@ -202,22 +246,29 @@ If you are looking for a quick start guide, check out the [Getting Started](/doc | ------ | ---- | | choice | u16 | +### TokenVoterV0 + +| Field | Type | +| ------------ | ------ | +| authority | pubkey | +| deposit_mint | pubkey | +| collection | pubkey | +| name | string | +| bump_seed | u8 | + ### VoteArgsV0 | Field | Type | | ------ | ---- | | choice | u16 | -### UseMethod - -| Variant | Fields | -| -------- | ------ | -| Burn | | -| Multiple | | -| Single | | - -### CollectionDetails +### VoteMarkerV0 -| Variant | Fields | -| ------- | --------- | -| V1 | size: u64 | +| Field | Type | +| ----------- | ------ | +| voter | pubkey | +| token_voter | pubkey | +| proposal | pubkey | +| mint | pubkey | +| choices | u16 | +| bump_seed | u8 | diff --git a/packages/docsite/src/pages/docs/api/vote-hook-interface-sdk.md b/packages/docsite/src/pages/docs/api/vote-hook-interface-sdk.md index e5cc671..7f75f7c 100644 --- a/packages/docsite/src/pages/docs/api/vote-hook-interface-sdk.md +++ b/packages/docsite/src/pages/docs/api/vote-hook-interface-sdk.md @@ -6,23 +6,23 @@ If you are looking for a quick start guide, check out the [Getting Started](/doc ## Instructions -### onVoteV0 +### on_vote_v0 #### Accounts -| Name | Mutability | Signer | Docs | -| --------------- | ---------- | ------ | ---- | -| voter | immut | no | | -| voteController | immut | yes | | -| stateController | mut | no | | -| proposal | immut | yes | | -| proposalConfig | immut | no | | +| Name | Mutability | Signer | Docs | +| ---------------- | ---------- | ------ | ---- | +| voter | immut | no | | +| vote_controller | immut | no | | +| state_controller | immut | no | | +| proposal | immut | no | | +| proposal_config | immut | no | | #### Args -| Name | Type | Docs | -| ---- | ---------- | ---- | -| args | VoteArgsV0 | | +| Name | Type | Docs | +| ------ | --------------- | ---- | +| \_args | [object Object] | | ## Accounts @@ -30,8 +30,8 @@ If you are looking for a quick start guide, check out the [Getting Started](/doc ### VoteArgsV0 -| Field | Type | -| ---------- | ---- | -| choice | u16 | -| weight | u128 | -| removeVote | bool | +| Field | Type | +| ----------- | ---- | +| choice | u16 | +| weight | u128 | +| remove_vote | bool | diff --git a/packages/docsite/src/pages/docs/examples/nft-voter-examples.md b/packages/docsite/src/pages/docs/examples/nft-voter-examples.md index 077528f..d9e98a0 100644 --- a/packages/docsite/src/pages/docs/examples/nft-voter-examples.md +++ b/packages/docsite/src/pages/docs/examples/nft-voter-examples.md @@ -83,7 +83,7 @@ beforeEach(async () => { name, authority: me, }) - .accounts({ + .accountsPartial({ collection, }) .rpcAndKeys({ skipPreflight: true })) @@ -117,7 +117,7 @@ beforeEach(async () => { ], tags: ["test", "tags"], }) - .accounts({ proposalConfig }) + .accountsPartial({ proposalConfig }) .rpcAndKeys({ skipPreflight: true })) await proposalProgram.methods @@ -128,7 +128,7 @@ beforeEach(async () => { }, }, }) - .accounts({ proposal }) + .accountsPartial({ proposal }) .rpc() }) ``` @@ -142,7 +142,7 @@ beforeEach(async () => { .voteV0({ choice: 0, }) - .accounts({ mint, proposal, nftVoter }) + .accountsPartial({ mint, proposal, nftVoter }) .rpcAndKeys({ skipPreflight: true }); let acct = await proposalProgram.account.proposalV0.fetch(proposal!); @@ -154,7 +154,7 @@ beforeEach(async () => { .relinquishVoteV0({ choice: 0, }) - .accounts({ mint, proposal, refund: me, nftVoter }) + .accountsPartial({ mint, proposal, refund: me, nftVoter }) .rpc({ skipPreflight: true }); acct = await proposalProgram.account.proposalV0.fetch(proposal!); diff --git a/packages/docsite/src/pages/docs/examples/organization-examples.md b/packages/docsite/src/pages/docs/examples/organization-examples.md index db699f2..4d09dbb 100644 --- a/packages/docsite/src/pages/docs/examples/organization-examples.md +++ b/packages/docsite/src/pages/docs/examples/organization-examples.md @@ -121,7 +121,7 @@ beforeEach(async () => { ], tags: ["test", "tags"], }) - .accounts({ organization }) + .accountsPartial({ organization }) .rpcAndKeys({ skipPreflight: true }); const acct = await proposalProgram.account.proposalV0.fetch(proposal!); diff --git a/packages/docsite/src/pages/docs/examples/proposal-examples.md b/packages/docsite/src/pages/docs/examples/proposal-examples.md index 46b914f..bbdf5e6 100644 --- a/packages/docsite/src/pages/docs/examples/proposal-examples.md +++ b/packages/docsite/src/pages/docs/examples/proposal-examples.md @@ -91,7 +91,7 @@ beforeEach(async () => { ], tags: ["test", "tags"], }) - .accounts({ proposalConfig }) + .accountsPartial({ proposalConfig }) .rpcAndKeys(); const acct = await program.account.proposalV0.fetch(proposal!); @@ -133,7 +133,7 @@ beforeEach(async () => { ], tags: ["test", "tags"], }) - .accounts({ proposalConfig }) + .accountsPartial({ proposalConfig }) .rpcAndKeys() ).pubkeys.proposal! }) @@ -148,7 +148,7 @@ beforeEach(async () => { weight: new anchor.BN(2), removeVote: false, }) - .accounts({ proposal, voter: me }) + .accountsPartial({ proposal, voter: me }) .rpc({ skipPreflight: true }); let acct = await program.account.proposalV0.fetch(proposal); @@ -160,7 +160,7 @@ beforeEach(async () => { weight: new anchor.BN(1), removeVote: true, }) - .accounts({ proposal, voter: me }) + .accountsPartial({ proposal, voter: me }) .rpc(); acct = await program.account.proposalV0.fetch(proposal); @@ -177,7 +177,7 @@ beforeEach(async () => { .updateStateV0({ newState: { custom: { state: "hello" } }, }) - .accounts({ proposal }) + .accountsPartial({ proposal }) .rpc({ skipPreflight: true }); diff --git a/packages/docsite/src/pages/docs/examples/state-controller-examples.md b/packages/docsite/src/pages/docs/examples/state-controller-examples.md index b3dd494..44c7718 100644 --- a/packages/docsite/src/pages/docs/examples/state-controller-examples.md +++ b/packages/docsite/src/pages/docs/examples/state-controller-examples.md @@ -97,14 +97,14 @@ beforeEach(async () => { ], tags: ["test", "tags"], }) - .accounts({ proposalConfig }) + .accountsPartial({ proposalConfig }) .rpcAndKeys({ skipPreflight: true })) await program.methods .updateStateV0({ newState: { voting: {} }, }) - .accounts({ proposal }) + .accountsPartial({ proposal }) .rpc() }) ``` @@ -120,7 +120,7 @@ before(async () => { #### resolves to the choice selected ```typescript - await program.methods.resolveV0().accounts({ proposal }).rpc(); + await program.methods.resolveV0().accountsPartial({ proposal }).rpc(); const acct = await proposalProgram.account.proposalV0.fetch(proposal!); expect(acct.state.resolved?.choices).to.deep.eq([1]); @@ -141,7 +141,7 @@ before(async () => { #### resolves to all choices ```typescript - await program.methods.resolveV0().accounts({ proposal }).rpc(); + await program.methods.resolveV0().accountsPartial({ proposal }).rpc(); const acct = await proposalProgram.account.proposalV0.fetch(proposal!); expect(acct.state.resolved?.choices).to.deep.eq([0, 1]); @@ -162,7 +162,7 @@ before(async () => { #### not resolve ```typescript - await program.methods.resolveV0().accounts({ proposal }).rpc(); + await program.methods.resolveV0().accountsPartial({ proposal }).rpc(); const acct = await proposalProgram.account.proposalV0.fetch(proposal!); expect(Boolean(acct.state.voting)).to.be.true; @@ -184,7 +184,7 @@ before(async () => { ```typescript await sleep(3000) - await program.methods.resolveV0().accounts({ proposal }).rpc(); + await program.methods.resolveV0().accountsPartial({ proposal }).rpc(); const acct = await proposalProgram.account.proposalV0.fetch(proposal!); expect(acct.state.resolved?.choices).to.deep.eq([0, 1]); @@ -211,7 +211,7 @@ before(async () => { weight: new anchor.BN(1), removeVote: false, }) - .accounts({ proposal, voter: me }) + .accountsPartial({ proposal, voter: me }) .rpc( { skipPreflight: true}); const acct = await proposalProgram.account.proposalV0.fetch(proposal!); @@ -239,7 +239,7 @@ before(async () => { weight: new anchor.BN(1), removeVote: false, }) - .accounts({ proposal, voter: me }) + .accountsPartial({ proposal, voter: me }) .rpc({ skipPreflight: true }); const acct = await proposalProgram.account.proposalV0.fetch(proposal!); @@ -267,7 +267,7 @@ before(async () => { weight: new anchor.BN(1), removeVote: false, }) - .accounts({ proposal, voter: me }) + .accountsPartial({ proposal, voter: me }) .rpc({ skipPreflight: true }); const acct = await proposalProgram.account.proposalV0.fetch(proposal!); @@ -303,7 +303,7 @@ before(async () => { weight: new anchor.BN(5), removeVote: false, }) - .accounts({ proposal, voter: me }) + .accountsPartial({ proposal, voter: me }) .rpc({ skipPreflight: true }); let acct = await proposalProgram.account.proposalV0.fetch(proposal!); @@ -317,7 +317,7 @@ before(async () => { weight: new anchor.BN(3), removeVote: false, }) - .accounts({ proposal, voter: me }) + .accountsPartial({ proposal, voter: me }) .rpc({ skipPreflight: true }); acct = await proposalProgram.account.proposalV0.fetch(proposal!); @@ -336,7 +336,7 @@ before(async () => { weight: new anchor.BN(2), removeVote: false, }) - .accounts({ proposal, voter: me }) + .accountsPartial({ proposal, voter: me }) .rpc({ skipPreflight: true }); let acct = await proposalProgram.account.proposalV0.fetch(proposal!); @@ -350,7 +350,7 @@ before(async () => { weight: new anchor.BN(3), removeVote: false, }) - .accounts({ proposal, voter: me }) + .accountsPartial({ proposal, voter: me }) .rpc({ skipPreflight: true }); acct = await proposalProgram.account.proposalV0.fetch(proposal!); @@ -389,7 +389,7 @@ before(async () => { weight: new anchor.BN(5), removeVote: false, }) - .accounts({ proposal, voter: me }) + .accountsPartial({ proposal, voter: me }) .rpc({ skipPreflight: true }); let acct = await proposalProgram.account.proposalV0.fetch(proposal!); @@ -403,7 +403,7 @@ before(async () => { weight: new anchor.BN(1), removeVote: false, }) - .accounts({ proposal, voter: me }) + .accountsPartial({ proposal, voter: me }) .rpc({ skipPreflight: true }); acct = await proposalProgram.account.proposalV0.fetch(proposal!); diff --git a/packages/docsite/src/pages/docs/examples/token-voter-examples.md b/packages/docsite/src/pages/docs/examples/token-voter-examples.md index e01a500..7441d2d 100644 --- a/packages/docsite/src/pages/docs/examples/token-voter-examples.md +++ b/packages/docsite/src/pages/docs/examples/token-voter-examples.md @@ -67,7 +67,7 @@ beforeEach(async () => { .preInstructions([ ComputeBudgetProgram.setComputeUnitLimit({ units: 500000 }), ]) - .accounts({ + .accountsPartial({ mint, }) .rpcAndKeys({ skipPreflight: true })) @@ -101,7 +101,7 @@ beforeEach(async () => { ], tags: ["test", "tags"], }) - .accounts({ proposalConfig }) + .accountsPartial({ proposalConfig }) .rpcAndKeys({ skipPreflight: true })) await proposalProgram.methods @@ -112,7 +112,7 @@ beforeEach(async () => { }, }, }) - .accounts({ proposal }) + .accountsPartial({ proposal }) .rpc() }) ``` @@ -161,7 +161,7 @@ beforeEach(async () => { ```typescript await program.methods .withdrawV0() - .accounts({ receipt, refund: me }) + .accountsPartial({ receipt, refund: me }) .rpc({ skipPreflight: true }); expect(await program.account.receiptV0.fetchNullable(receipt!)).to.be.null @@ -179,7 +179,7 @@ beforeEach(async () => { .voteV0({ choice: 0, }) - .accounts({ receipt, proposal }) + .accountsPartial({ receipt, proposal }) .rpcAndKeys({ skipPreflight: true }); let acct = await proposalProgram.account.proposalV0.fetch(proposal!); @@ -191,7 +191,7 @@ beforeEach(async () => { .relinquishVoteV0({ choice: 0, }) - .accounts({ receipt, proposal, refund: me }) + .accountsPartial({ receipt, proposal, refund: me }) .rpc({ skipPreflight: true }); acct = await proposalProgram.account.proposalV0.fetch(proposal!); diff --git a/packages/docsite/src/pages/docs/learn/getting_started.md b/packages/docsite/src/pages/docs/learn/getting_started.md index a7a822d..26913e8 100644 --- a/packages/docsite/src/pages/docs/learn/getting_started.md +++ b/packages/docsite/src/pages/docs/learn/getting_started.md @@ -90,7 +90,7 @@ const { ], tags: ["test", "tags"], }) - .accounts({ proposalConfig }) + .accountsPartial({ proposalConfig }) .rpcAndKeys(); ``` @@ -112,7 +112,7 @@ await proposalProgram.methods }, }, }) - .accounts({ proposal }) + .accountsPartial({ proposal }) .rpc(); ``` @@ -130,7 +130,7 @@ await proposalProgram.methods }, }, }) - .accounts({ proposal }) + .accountsPartial({ proposal }) .rpc(); ``` @@ -148,7 +148,7 @@ await proposalProgram.methods removeVote: false, }) // The voter is used for indexing, associating votes with wallets. This is more strictly enforced by vote controllers - .accounts({ proposal, voter: provider.wallet.publicKey }) + .accountsPartial({ proposal, voter: provider.wallet.publicKey }) .rpc(); ``` @@ -202,7 +202,7 @@ var { ], tags: ['test', 'tags'], }) - .accounts({ organization, proposalConfig }) + .accountsPartial({ organization, proposalConfig }) ``` Now we can fetch the proposal we just created: @@ -225,7 +225,7 @@ await proposalProgram.methods }, }, }) - .accounts({ proposal }) + .accountsPartial({ proposal }) .rpc(); await proposalProgram.methods .voteV0({ @@ -233,7 +233,7 @@ await proposalProgram.methods weight: new anchor.BN(2), removeVote: false, }) - .accounts({ proposal, voter: provider.wallet.publicKey }) + .accountsPartial({ proposal, voter: provider.wallet.publicKey }) ``` ## State Controllers @@ -321,7 +321,7 @@ await stateControllerProgram.methods .updateStateV0({ newState: { voting: {} }, }) - .accounts({ proposal }) + .accountsPartial({ proposal }) .rpc(); ``` @@ -338,7 +338,7 @@ await proposalProgram.methods weight: new anchor.BN(100), removeVote: false, }) - .accounts({ proposal, voter: provider.wallet.publicKey }) + .accountsPartial({ proposal, voter: provider.wallet.publicKey }) .rpc(); ``` @@ -386,7 +386,7 @@ const { .preInstructions([ ComputeBudgetProgram.setComputeUnitLimit({ units: 500000 }), ]) - .accounts({ + .accountsPartial({ mint, }) .rpcAndKeys() @@ -426,7 +426,7 @@ const { ], tags: ["test", "tags"], }) - .accounts({ proposalConfig }) + .accountsPartial({ proposalConfig }) .rpcAndKeys()); await proposalProgram.methods @@ -437,7 +437,7 @@ await proposalProgram.methods }, }, }) - .accounts({ proposal }) + .accountsPartial({ proposal }) .rpc(); ``` @@ -466,7 +466,7 @@ await voteControllerProgram.methods .voteV0({ choice: 0, }) - .accounts({ receipt, proposal }) + .accountsPartial({ receipt, proposal }) .rpcAndKeys() ``` @@ -478,7 +478,7 @@ await voteControllerProgram.methods choice: 0, }) // Refund specifies a rent refund destination - .accounts({ receipt, proposal, refund: me }) + .accountsPartial({ receipt, proposal, refund: me }) .rpc(); ``` @@ -486,7 +486,7 @@ Now we can withdraw: ```js await voteControllerProgram.methods .withdrawV0() - .accounts({ receipt, refund: me }) + .accountsPartial({ receipt, refund: me }) .rpc() ``` @@ -520,7 +520,7 @@ const { name: "First Org Wallet", proposalConfigs: [proposalConfig!], }) - .accounts({ + .accountsPartial({ organization, }) .rpcAndKeys(); @@ -552,7 +552,7 @@ const { disableExecutionOffset: 60 * 60 * 24 * 7, }) .remainingAccounts(remainingAccounts) - .accounts({ + .accountsPartial({ proposal, organizationWallet, }) diff --git a/packages/modular-governance-hooks/CHANGELOG.md b/packages/modular-governance-hooks/CHANGELOG.md index ded5a2e..155cf4c 100644 --- a/packages/modular-governance-hooks/CHANGELOG.md +++ b/packages/modular-governance-hooks/CHANGELOG.md @@ -3,6 +3,54 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.5-alpha.0](https://github.com/helium/modular-governance/compare/v0.0.15...v0.1.5-alpha.0) (2025-03-19) + +**Note:** Version bump only for package @helium/modular-governance-hooks + + + + + +## [0.1.4](https://github.com/helium/modular-governance/compare/v0.0.15...v0.1.4) (2025-02-24) + +**Note:** Version bump only for package @helium/modular-governance-hooks + + + + + +## [0.1.3](https://github.com/helium/modular-governance/compare/v0.0.15...v0.1.3) (2025-02-24) + +**Note:** Version bump only for package @helium/modular-governance-hooks + + + + + +## [0.1.2](https://github.com/helium/modular-governance/compare/v0.0.15...v0.1.2) (2025-02-24) + +**Note:** Version bump only for package @helium/modular-governance-hooks + + + + + +## [0.1.1](https://github.com/helium/modular-governance/compare/v0.0.15...v0.1.1) (2025-02-14) + +**Note:** Version bump only for package @helium/modular-governance-hooks + + + + + +# [0.1.0](https://github.com/helium/modular-governance/compare/v0.0.15...v0.1.0) (2025-02-14) + +**Note:** Version bump only for package @helium/modular-governance-hooks + + + + + ## [0.0.15](https://github.com/helium/modular-governance/compare/v0.0.14...v0.0.15) (2024-12-06) **Note:** Version bump only for package @helium/modular-governance-hooks diff --git a/packages/modular-governance-hooks/package.json b/packages/modular-governance-hooks/package.json index c7cffbf..5f2fc63 100644 --- a/packages/modular-governance-hooks/package.json +++ b/packages/modular-governance-hooks/package.json @@ -6,7 +6,7 @@ "registry": "https://registry.npmjs.org/" }, "license": "Apache-2.0", - "version": "0.0.15", + "version": "0.1.5-alpha.0", "description": "React hooks for modular governance", "repository": { "type": "git", @@ -32,12 +32,12 @@ "prebuild": "npm run clean && npm run package" }, "dependencies": { - "@coral-xyz/anchor": "^0.28.0", - "@helium/account-fetch-cache": "^0.5.0", - "@helium/account-fetch-cache-hooks": "^0.5.0", - "@helium/helium-react-hooks": "^0.5.0", - "@helium/modular-governance-idls": "^0.0.15", - "@helium/organization-sdk": "^0.0.15", + "@coral-xyz/anchor": "^0.31.0", + "@helium/account-fetch-cache": "0.10.0-alpha.3", + "@helium/account-fetch-cache-hooks": "^0.10.0-alpha.3", + "@helium/helium-react-hooks": "^0.10.0-alpha.3", + "@helium/modular-governance-idls": "^0.1.5-alpha.0", + "@helium/organization-sdk": "^0.1.5-alpha.0", "@solana/web3.js": "^1.78.4" }, "devDependencies": { diff --git a/packages/modular-governance-idls/CHANGELOG.md b/packages/modular-governance-idls/CHANGELOG.md index bbd3fb9..49f1045 100644 --- a/packages/modular-governance-idls/CHANGELOG.md +++ b/packages/modular-governance-idls/CHANGELOG.md @@ -3,6 +3,54 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.5-alpha.0](https://github.com/helium/modular-governance/compare/v0.0.15...v0.1.5-alpha.0) (2025-03-19) + +**Note:** Version bump only for package @helium/modular-governance-idls + + + + + +## [0.1.4](https://github.com/helium/modular-governance/compare/v0.0.15...v0.1.4) (2025-02-24) + +**Note:** Version bump only for package @helium/modular-governance-idls + + + + + +## [0.1.3](https://github.com/helium/modular-governance/compare/v0.0.15...v0.1.3) (2025-02-24) + +**Note:** Version bump only for package @helium/modular-governance-idls + + + + + +## [0.1.2](https://github.com/helium/modular-governance/compare/v0.0.15...v0.1.2) (2025-02-24) + +**Note:** Version bump only for package @helium/modular-governance-idls + + + + + +## [0.1.1](https://github.com/helium/modular-governance/compare/v0.0.15...v0.1.1) (2025-02-14) + +**Note:** Version bump only for package @helium/modular-governance-idls + + + + + +# [0.1.0](https://github.com/helium/modular-governance/compare/v0.0.15...v0.1.0) (2025-02-14) + +**Note:** Version bump only for package @helium/modular-governance-idls + + + + + ## [0.0.15](https://github.com/helium/modular-governance/compare/v0.0.14...v0.0.15) (2024-12-06) **Note:** Version bump only for package @helium/modular-governance-idls diff --git a/packages/modular-governance-idls/package.json b/packages/modular-governance-idls/package.json index 947f826..21b99c8 100644 --- a/packages/modular-governance-idls/package.json +++ b/packages/modular-governance-idls/package.json @@ -1,6 +1,6 @@ { "name": "@helium/modular-governance-idls", - "version": "0.0.15", + "version": "0.1.5-alpha.0", "description": "Exported idls", "publishConfig": { "access": "public", @@ -26,7 +26,7 @@ "prebuild": "npm run clean && npm run package" }, "dependencies": { - "@coral-xyz/anchor": "^0.28.0", + "@coral-xyz/anchor": "^0.31.0", "@solana/web3.js": "^1.78.4" }, "devDependencies": { diff --git a/packages/modular-governance-idls/packages/modular-governance-idls/tsconfig.esm.tsbuildinfo b/packages/modular-governance-idls/packages/modular-governance-idls/tsconfig.esm.tsbuildinfo index f29d1a1..5f69a58 100644 --- a/packages/modular-governance-idls/packages/modular-governance-idls/tsconfig.esm.tsbuildinfo +++ b/packages/modular-governance-idls/packages/modular-governance-idls/tsconfig.esm.tsbuildinfo @@ -1 +1 @@ -{"program":{"fileNames":["../../../../node_modules/typescript/lib/lib.es5.d.ts","../../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../../target/types/nft_proxy.ts","../../../../target/types/nft_voter.ts","../../../../target/types/organization.ts","../../../../target/types/organization_wallet.ts","../../../../target/types/proposal.ts","../../../../target/types/state_controller.ts","../../../../target/types/token_voter.ts","../../../../target/types/vote_hook_interface.ts","../../../../node_modules/@types/node/assert.d.ts","../../../../node_modules/@types/node/assert/strict.d.ts","../../../../node_modules/@types/node/globals.d.ts","../../../../node_modules/@types/node/async_hooks.d.ts","../../../../node_modules/@types/node/buffer.d.ts","../../../../node_modules/@types/node/child_process.d.ts","../../../../node_modules/@types/node/cluster.d.ts","../../../../node_modules/@types/node/console.d.ts","../../../../node_modules/@types/node/constants.d.ts","../../../../node_modules/@types/node/crypto.d.ts","../../../../node_modules/@types/node/dgram.d.ts","../../../../node_modules/@types/node/diagnostics_channel.d.ts","../../../../node_modules/@types/node/dns.d.ts","../../../../node_modules/@types/node/dns/promises.d.ts","../../../../node_modules/@types/node/domain.d.ts","../../../../node_modules/@types/node/dom-events.d.ts","../../../../node_modules/@types/node/events.d.ts","../../../../node_modules/@types/node/fs.d.ts","../../../../node_modules/@types/node/fs/promises.d.ts","../../../../node_modules/@types/node/http.d.ts","../../../../node_modules/@types/node/http2.d.ts","../../../../node_modules/@types/node/https.d.ts","../../../../node_modules/@types/node/inspector.d.ts","../../../../node_modules/@types/node/module.d.ts","../../../../node_modules/@types/node/net.d.ts","../../../../node_modules/@types/node/os.d.ts","../../../../node_modules/@types/node/path.d.ts","../../../../node_modules/@types/node/perf_hooks.d.ts","../../../../node_modules/@types/node/process.d.ts","../../../../node_modules/@types/node/punycode.d.ts","../../../../node_modules/@types/node/querystring.d.ts","../../../../node_modules/@types/node/readline.d.ts","../../../../node_modules/@types/node/readline/promises.d.ts","../../../../node_modules/@types/node/repl.d.ts","../../../../node_modules/@types/node/stream.d.ts","../../../../node_modules/@types/node/stream/promises.d.ts","../../../../node_modules/@types/node/stream/consumers.d.ts","../../../../node_modules/@types/node/stream/web.d.ts","../../../../node_modules/@types/node/string_decoder.d.ts","../../../../node_modules/@types/node/test.d.ts","../../../../node_modules/@types/node/timers.d.ts","../../../../node_modules/@types/node/timers/promises.d.ts","../../../../node_modules/@types/node/tls.d.ts","../../../../node_modules/@types/node/trace_events.d.ts","../../../../node_modules/@types/node/tty.d.ts","../../../../node_modules/@types/node/url.d.ts","../../../../node_modules/@types/node/util.d.ts","../../../../node_modules/@types/node/v8.d.ts","../../../../node_modules/@types/node/vm.d.ts","../../../../node_modules/@types/node/wasi.d.ts","../../../../node_modules/@types/node/worker_threads.d.ts","../../../../node_modules/@types/node/zlib.d.ts","../../../../node_modules/@types/node/globals.global.d.ts","../../../../node_modules/@types/node/index.d.ts","../../../../node_modules/@types/bn.js/index.d.ts","../../../../node_modules/@types/chai/index.d.ts","../../../../node_modules/@types/chai-as-promised/index.d.ts","../../../../node_modules/@types/connect/index.d.ts","../../../../node_modules/@types/json5/index.d.ts","../../../../node_modules/@types/minimatch/index.d.ts","../../../../node_modules/@types/minimist/index.d.ts","../../../../node_modules/@types/mocha/index.d.ts","../../../../node_modules/@types/normalize-package-data/index.d.ts","../../../../node_modules/@types/parse-json/index.d.ts","../../../../node_modules/@types/pbkdf2/index.d.ts","../../../../node_modules/@types/secp256k1/index.d.ts","../../../../node_modules/@types/ws/index.d.ts"],"fileInfos":[{"version":"8730f4bf322026ff5229336391a18bcaa1f94d4f82416c8b2f3954e2ccaae2ba","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","4b421cbfb3a38a27c279dec1e9112c3d1da296f77a1a85ddadf7e7a425d45d18","1fc5ab7a764205c68fa10d381b08417795fc73111d6dd16b5b1ed36badb743d9",{"version":"adb996790133eb33b33aadb9c09f15c2c575e71fb57a62de8bf74dbf59ec7dfb","affectsGlobalScope":true},{"version":"8cc8c5a3bac513368b0157f3d8b31cfdcfe78b56d3724f30f80ed9715e404af8","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"c5c05907c02476e4bde6b7e76a79ffcd948aedd14b6a8f56e4674221b0417398","affectsGlobalScope":true},{"version":"5f406584aef28a331c36523df688ca3650288d14f39c5d2e555c95f0d2ff8f6f","affectsGlobalScope":true},{"version":"22f230e544b35349cfb3bd9110b6ef37b41c6d6c43c3314a31bd0d9652fcec72","affectsGlobalScope":true},{"version":"7ea0b55f6b315cf9ac2ad622b0a7813315bb6e97bf4bb3fbf8f8affbca7dc695","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"eb26de841c52236d8222f87e9e6a235332e0788af8c87a71e9e210314300410a","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"81cac4cbc92c0c839c70f8ffb94eb61e2d32dc1c3cf6d95844ca099463cf37ea","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true},{"version":"6e7997ef61de3132e4d4b2250e75343f487903ddf5370e7ce33cf1b9db9a63ed","affectsGlobalScope":true},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true},{"version":"5e5e095c4470c8bab227dbbc61374878ecead104c74ab9960d3adcccfee23205","affectsGlobalScope":true},{"version":"09aa50414b80c023553090e2f53827f007a301bc34b0495bfb2c3c08ab9ad1eb","affectsGlobalScope":true},{"version":"d7f680a43f8cd12a6b6122c07c54ba40952b0c8aa140dcfcf32eb9e6cb028596","affectsGlobalScope":true},{"version":"3787b83e297de7c315d55d4a7c546ae28e5f6c0a361b7a1dcec1f1f50a54ef11","affectsGlobalScope":true},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true},{"version":"2768ef564cfc0689a1b76106c421a2909bdff0acbe87da010785adab80efdd5c","affectsGlobalScope":true},{"version":"b248e32ca52e8f5571390a4142558ae4f203ae2f94d5bac38a3084d529ef4e58","affectsGlobalScope":true},{"version":"fb4416144c1bf0323ccbc9afb0ab289c07312214e8820ad17d709498c865a3fe","affectsGlobalScope":true},{"version":"52d1bb7ab7a3306fd0375c8bff560feed26ed676a5b0457fa8027b563aecb9a4","affectsGlobalScope":true},{"version":"4c49cc5572d80ef350f929108b067de4c4b1999a973e2e4bcfe930ae982db608","signature":"29133ef9e5680a6ec1b7b580e4233d15c63ab1cb95bb52aeede5410cdb6b8eb2"},{"version":"eadfc6ff785ba5ada489d5d5d4a069dc197df0301b889ab80b5a9dbcde296fe1","signature":"a9d7c462b1c33a8607b393473faf17427c9470eaa228fcd92dfd2c813df9d390"},{"version":"7fa8ab21c2bb00ee455d14225819d7500ff0af2a32385514346f54c5d4b35cf0","signature":"91fee60e7136d3e7a986d33f5a9b281a9ca120615ece0d58cc823af2a640bd03"},{"version":"e999f73e9109ef7f47afd0911ae1774810ea3b71735368578c6909db721da024","signature":"6660fedad551695604e38684d324129da4c3c6872b220ae7aa51f7e5acf0dd8d"},{"version":"bbed6ec58ac8b2b0152f382dfb2a16fd6ff62e2f1ced0f7d51dfe63280476551","signature":"b790e6cd12a86356afff831d3cd8942892277cceedb9d58b6f68595232306aef"},{"version":"e981c0967d846b371a64bf49253f3f7af32f55157fbafc6b9cc8a5e0d556ed78","signature":"10b4f0fd3cc9ed4fcbd29959227804052c56e408421007a31b352fe9f7b4770f"},{"version":"2eb961423bb717b36ae6c89167574dc0a36a7469bd999bd088c854c11f481108","signature":"7e7d62fa024ea32b3e9bb2f0e97e200654e52b6a01513d06489d876ee0064c2c"},{"version":"d3fc1a478c7ee31a2c0900394e6531c6b0df5aa9395bdc601c83697a0c78b0f5","signature":"4ecc1ccb0bb5e43a48a6bae3314e125ca4a043424d2729982a71cdb943a66156"},"587f13f1e8157bd8cec0adda0de4ef558bb8573daa9d518d1e2af38e87ecc91f","a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a",{"version":"bce910d9164785c9f0d4dcea4be359f5f92130c7c7833dea6138ab1db310a1f9","affectsGlobalScope":true},"7a435e0c814f58f23e9a0979045ec0ef5909aac95a70986e8bcce30c27dff228",{"version":"c81c51f43e343b6d89114b17341fb9d381c4ccbb25e0ee77532376052c801ba7","affectsGlobalScope":true},"db71be322f07f769200108aa19b79a75dd19a187c9dca2a30c4537b233aa2863","57135ce61976a8b1dadd01bb412406d1805b90db6e8ecb726d0d78e0b5f76050",{"version":"49479e21a040c0177d1b1bc05a124c0383df7a08a0726ad4d9457619642e875a","affectsGlobalScope":true},"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","f302f3a47d7758f67f2afc753b9375d6504dde05d2e6ecdb1df50abbb131fc89","3690133deae19c8127c5505fcb67b04bdc9eb053796008538a9b9abbb70d85aa","5b1c0a23f464f894e7c2b2b6c56df7b9afa60ed48c5345f8618d389a636b2108","be2b092f2765222757c6441b86c53a5ea8dfed47bbc43eab4c5fe37942c866b3","8e6b05abc98adba15e1ac78e137c64576c74002e301d682e66feb77a23907ab8","1ca735bb3d407b2af4fbee7665f3a0a83be52168c728cc209755060ba7ed67bd",{"version":"6b526a5ec4a401ca7c26cfe6a48e641d8f30af76673bad3b06a1b4504594a960","affectsGlobalScope":true},{"version":"b85c02e14ecb2a873dad5a1de72319b265160ba48f1b83661aeb3bba1366c1bc","affectsGlobalScope":true},"7a2ba0c9af860ac3e77b35ed01fd96d15986f17aa22fe40f188ae556fb1070df","fc3764040518a1008dd04bdc80964591b566b896283e00df85c95851c1f46237","55709608060f77965c270ac10ac646286589f1bd1cb174fff1778a2dd9a7ef31","790623a47c5eda62910098884ecb154dc0e5f3a23fc36c1bfb3b5b9ed44e2c2d","42b40e40f2a358cda332456214fad311e1806a6abf3cebaaac72496e07556642","354612fe1d49ecc9551ea3a27d94eef2887b64ef4a71f72ca444efe0f2f0ba80",{"version":"ac0c77cd7db52b3c278bdd1452ce754014835493d05b84535f46854fdc2063b2","affectsGlobalScope":true},"b9f36877501f2ce0e276e993c93cd2cf325e78d0409ec4612b1eb9d6a537e60b","5e2b91328a540a0933ab5c2203f4358918e6f0fe7505d22840a891a6117735f1","3abc3512fa04aa0230f59ea1019311fd8667bd935d28306311dccc8b17e79d5d",{"version":"14a50dafe3f45713f7f27cb6320dff07c6ac31678f07959c2134260061bf91ff","affectsGlobalScope":true},{"version":"19da7150ca062323b1db6311a6ef058c9b0a39cc64d836b5e9b75d301869653b","affectsGlobalScope":true},"1349077576abb41f0e9c78ec30762ff75b710208aff77f5fdcc6a8c8ce6289dd","e2ce82603102b5c0563f59fb40314cc1ff95a4d521a66ad14146e130ea80d89c","a3e0395220255a350aa9c6d56f882bfcb5b85c19fddf5419ec822cf22246a26d","c27b01e8ddff5cd280711af5e13aecd9a3228d1c256ea797dd64f8fdec5f7df5","898840e876dfd21843db9f2aa6ae38ba2eab550eb780ff62b894b9fbfebfae6b","0cab4d7d4edc40cd3af9eea7c3ed6d1016910c0954c49c4297e479bf3822a625","1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff","785e5be57d4f20f290a20e7b0c6263f6c57fd6e51283050756cef07d6d651c68","44b8b584a338b190a59f4f6929d072431950c7bd92ec2694821c11bce180c8a5","164deb2409ac5f4da3cd139dbcee7f7d66753d90363a4d7e2db8d8874f272270",{"version":"ffc62d73b4fa10ca8c59f8802df88efefe447025730a24ee977b60adedc5bf37","affectsGlobalScope":true},{"version":"ab294c4b7279318ee2a8fdf681305457ecc05970c94108d304933f18823eeac1","affectsGlobalScope":true},"ad08154d9602429522cac965a715fde27d421d69b24756c5d291877dda75353e","5bc85813bfcb6907cc3a960fec8734a29d7884e0e372515147720c5991b8bc22","812b25f798033c202baedf386a1ccc41f9191b122f089bffd10fdccce99fba11","993325544790073f77e945bee046d53988c0bc3ac5695c9cf8098166feb82661",{"version":"75dd741ca6a6c8d2437a6ca8349b64b816421dbf9fe82dd026afaba965576962","affectsGlobalScope":true},{"version":"0e08c360c9b5961ecb0537b703e253842b3ded53151ee07024148219b61a8baf","affectsGlobalScope":true},"2ce2210032ccaff7710e2abf6a722e62c54960458e73e356b6a365c93ab6ca66","92db194ef7d208d5e4b6242a3434573fd142a621ff996d84cc9dbba3553277d0","16a3080e885ed52d4017c902227a8d0d8daf723d062bec9e45627c6fdcd6699b",{"version":"0bd9543cd8fc0959c76fb8f4f5a26626c2ed62ef4be98fd857bce268066db0a2","affectsGlobalScope":true},"1ca6858a0cbcd74d7db72d7b14c5360a928d1d16748a55ecfa6bfaff8b83071b",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"ebf3434b09c527078aa74139ff367fffa64fea32a01d6c06fb0a69b0ecadf43e","01f7828047b5c6703d3c601473618b448f5506a88fcac852638b0715c3abf4eb",{"version":"c3bc5d095c3c22fd20b5a6550b9c9a6d56c3ffbb87ef057ccce7764b6bed4428","affectsGlobalScope":true},{"version":"63e2182615c513e89bb8a3e749d08f7c379e86490fcdbf6d35f2c14b3507a6e8","affectsGlobalScope":true},"6d829824ead8999f87b6df21200df3c6150391b894b4e80662caa462bd48d073","96d14f21b7652903852eef49379d04dbda28c16ed36468f8c9fa08f7c14c9538","8841e2aa774b89bd23302dede20663306dc1b9902431ac64b24be8b8d0e3f649","209e814e8e71aec74f69686a9506dd7610b97ab59dcee9446266446f72a76d05",{"version":"3f6d6465811321abc30a1e5f667feed63e5b3917b3d6c8d6645daf96c75f97ba","affectsGlobalScope":true},"6fa0008bf91a4cc9c8963bace4bba0bd6865cbfa29c3e3ccc461155660fb113a","916be7d770b0ae0406be9486ac12eb9825f21514961dd050594c4b250617d5a8","a73a445c1e0a6d0f8b48e8eb22dc9d647896783a7f8991cbbc31c0d94bf1f5a2","3dce33e7eb25594863b8e615f14a45ab98190d85953436750644212d8a18c066","bc81aff061c53a7140270555f4b22da4ecfe8601e8027cf5aa175fbdc7927c31"],"options":{"allowSyntheticDefaultImports":true,"composite":true,"declaration":true,"declarationDir":"../../lib/types","declarationMap":true,"esModuleInterop":true,"module":99,"noEmitOnError":true,"outDir":"../../lib/esm","rootDir":"../../../../target/types","skipLibCheck":true,"sourceMap":true,"strict":false,"stripInternal":true,"target":99},"fileIdsList":[[97,104],[97,106],[97],[70,97,104],[51,97],[54,97],[55,60,88,97],[56,67,68,75,85,96,97],[56,57,67,75,97],[58,97],[59,60,68,76,97],[60,85,93,97],[61,63,67,75,97],[62,97],[63,64,97],[67,97],[65,67,97],[67,68,69,85,96,97],[67,68,69,82,85,88,97],[97,101],[63,67,70,75,85,96,97],[67,68,70,71,75,85,93,96,97],[70,72,85,93,96,97],[51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103],[67,73,97],[74,96,97],[63,67,75,85,97],[76,97],[77,97],[54,78,97],[79,95,97,101],[80,97],[81,97],[67,82,83,97],[82,84,97,99],[55,67,85,86,87,88,97],[55,85,87,97],[85,86,97],[88,97],[89,97],[85,97],[67,91,92,97],[91,92,97],[60,75,85,93,97],[94,97],[75,95,97],[55,70,81,96,97],[60,97],[85,97,98],[97,99],[97,100],[55,60,67,69,78,85,96,97,99,101],[85,97,102],[67,70,72,75,85,93,96,97,102,104]],"referencedMap":[[105,1],[107,2],[106,3],[108,4],[109,3],[110,3],[111,3],[112,3],[51,5],[52,5],[54,6],[55,7],[56,8],[57,9],[58,10],[59,11],[60,12],[61,13],[62,14],[63,15],[64,15],[66,16],[65,17],[67,16],[68,18],[69,19],[53,20],[103,3],[70,21],[71,22],[72,23],[104,24],[73,25],[74,26],[75,27],[76,28],[77,29],[78,30],[79,31],[80,32],[81,33],[82,34],[83,34],[84,35],[85,36],[87,37],[86,38],[88,39],[89,40],[90,41],[91,42],[92,43],[93,44],[94,45],[95,46],[96,47],[97,48],[98,49],[99,50],[100,51],[101,52],[102,53],[113,3],[114,3],[115,1],[116,1],[117,54],[9,3],[8,3],[2,3],[10,3],[11,3],[12,3],[13,3],[14,3],[15,3],[16,3],[17,3],[3,3],[4,3],[21,3],[18,3],[19,3],[20,3],[22,3],[23,3],[24,3],[5,3],[25,3],[26,3],[27,3],[28,3],[6,3],[32,3],[29,3],[30,3],[31,3],[33,3],[7,3],[34,3],[39,3],[40,3],[35,3],[36,3],[37,3],[38,3],[41,3],[1,3],[42,3],[43,3],[44,3],[45,3],[46,3],[47,3],[48,3],[49,3],[50,3]],"exportedModulesMap":[[105,1],[107,2],[106,3],[108,4],[109,3],[110,3],[111,3],[112,3],[51,5],[52,5],[54,6],[55,7],[56,8],[57,9],[58,10],[59,11],[60,12],[61,13],[62,14],[63,15],[64,15],[66,16],[65,17],[67,16],[68,18],[69,19],[53,20],[103,3],[70,21],[71,22],[72,23],[104,24],[73,25],[74,26],[75,27],[76,28],[77,29],[78,30],[79,31],[80,32],[81,33],[82,34],[83,34],[84,35],[85,36],[87,37],[86,38],[88,39],[89,40],[90,41],[91,42],[92,43],[93,44],[94,45],[95,46],[96,47],[97,48],[98,49],[99,50],[100,51],[101,52],[102,53],[113,3],[114,3],[115,1],[116,1],[117,54],[9,3],[8,3],[2,3],[10,3],[11,3],[12,3],[13,3],[14,3],[15,3],[16,3],[17,3],[3,3],[4,3],[21,3],[18,3],[19,3],[20,3],[22,3],[23,3],[24,3],[5,3],[25,3],[26,3],[27,3],[28,3],[6,3],[32,3],[29,3],[30,3],[31,3],[33,3],[7,3],[34,3],[39,3],[40,3],[35,3],[36,3],[37,3],[38,3],[41,3],[1,3],[42,3]],"semanticDiagnosticsPerFile":[105,107,106,108,109,110,111,112,51,52,54,55,56,57,58,59,60,61,62,63,64,66,65,67,68,69,53,103,70,71,72,104,73,74,75,76,77,78,79,80,81,82,83,84,85,87,86,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,113,114,115,116,117,9,8,2,10,11,12,13,14,15,16,17,3,4,21,18,19,20,22,23,24,5,25,26,27,28,6,32,29,30,31,33,7,34,39,40,35,36,37,38,41,1,42,43,44,45,46,47,48,49,50],"latestChangedDtsFile":"../../lib/types/vote_hook_interface.d.ts"},"version":"4.9.5"} \ No newline at end of file +{"program":{"fileNames":["../../../../node_modules/typescript/lib/lib.es5.d.ts","../../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../../target/types/nft_proxy.ts","../../../../target/types/nft_voter.ts","../../../../target/types/organization.ts","../../../../target/types/organization_wallet.ts","../../../../target/types/proposal.ts","../../../../target/types/state_controller.ts","../../../../target/types/token_voter.ts","../../../../target/types/vote_hook_interface.ts","../../../../node_modules/@types/node/assert.d.ts","../../../../node_modules/@types/node/assert/strict.d.ts","../../../../node_modules/@types/node/globals.d.ts","../../../../node_modules/@types/node/async_hooks.d.ts","../../../../node_modules/@types/node/buffer.d.ts","../../../../node_modules/@types/node/child_process.d.ts","../../../../node_modules/@types/node/cluster.d.ts","../../../../node_modules/@types/node/console.d.ts","../../../../node_modules/@types/node/constants.d.ts","../../../../node_modules/@types/node/crypto.d.ts","../../../../node_modules/@types/node/dgram.d.ts","../../../../node_modules/@types/node/diagnostics_channel.d.ts","../../../../node_modules/@types/node/dns.d.ts","../../../../node_modules/@types/node/dns/promises.d.ts","../../../../node_modules/@types/node/domain.d.ts","../../../../node_modules/@types/node/dom-events.d.ts","../../../../node_modules/@types/node/events.d.ts","../../../../node_modules/@types/node/fs.d.ts","../../../../node_modules/@types/node/fs/promises.d.ts","../../../../node_modules/@types/node/http.d.ts","../../../../node_modules/@types/node/http2.d.ts","../../../../node_modules/@types/node/https.d.ts","../../../../node_modules/@types/node/inspector.d.ts","../../../../node_modules/@types/node/module.d.ts","../../../../node_modules/@types/node/net.d.ts","../../../../node_modules/@types/node/os.d.ts","../../../../node_modules/@types/node/path.d.ts","../../../../node_modules/@types/node/perf_hooks.d.ts","../../../../node_modules/@types/node/process.d.ts","../../../../node_modules/@types/node/punycode.d.ts","../../../../node_modules/@types/node/querystring.d.ts","../../../../node_modules/@types/node/readline.d.ts","../../../../node_modules/@types/node/readline/promises.d.ts","../../../../node_modules/@types/node/repl.d.ts","../../../../node_modules/@types/node/stream.d.ts","../../../../node_modules/@types/node/stream/promises.d.ts","../../../../node_modules/@types/node/stream/consumers.d.ts","../../../../node_modules/@types/node/stream/web.d.ts","../../../../node_modules/@types/node/string_decoder.d.ts","../../../../node_modules/@types/node/test.d.ts","../../../../node_modules/@types/node/timers.d.ts","../../../../node_modules/@types/node/timers/promises.d.ts","../../../../node_modules/@types/node/tls.d.ts","../../../../node_modules/@types/node/trace_events.d.ts","../../../../node_modules/@types/node/tty.d.ts","../../../../node_modules/@types/node/url.d.ts","../../../../node_modules/@types/node/util.d.ts","../../../../node_modules/@types/node/v8.d.ts","../../../../node_modules/@types/node/vm.d.ts","../../../../node_modules/@types/node/wasi.d.ts","../../../../node_modules/@types/node/worker_threads.d.ts","../../../../node_modules/@types/node/zlib.d.ts","../../../../node_modules/@types/node/globals.global.d.ts","../../../../node_modules/@types/node/index.d.ts","../../../../node_modules/@types/bn.js/index.d.ts","../../../../node_modules/@types/chai/index.d.ts","../../../../node_modules/@types/chai-as-promised/index.d.ts","../../../../node_modules/@types/connect/index.d.ts","../../../../node_modules/@types/json5/index.d.ts","../../../../node_modules/@types/minimatch/index.d.ts","../../../../node_modules/@types/minimist/index.d.ts","../../../../node_modules/@types/mocha/index.d.ts","../../../../node_modules/@types/normalize-package-data/index.d.ts","../../../../node_modules/@types/parse-json/index.d.ts","../../../../node_modules/@types/pbkdf2/index.d.ts","../../../../node_modules/@types/secp256k1/index.d.ts","../../../../node_modules/@types/uuid/index.d.ts","../../../../node_modules/@types/ws/index.d.ts"],"fileInfos":[{"version":"8730f4bf322026ff5229336391a18bcaa1f94d4f82416c8b2f3954e2ccaae2ba","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","4b421cbfb3a38a27c279dec1e9112c3d1da296f77a1a85ddadf7e7a425d45d18","1fc5ab7a764205c68fa10d381b08417795fc73111d6dd16b5b1ed36badb743d9",{"version":"adb996790133eb33b33aadb9c09f15c2c575e71fb57a62de8bf74dbf59ec7dfb","affectsGlobalScope":true},{"version":"8cc8c5a3bac513368b0157f3d8b31cfdcfe78b56d3724f30f80ed9715e404af8","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"c5c05907c02476e4bde6b7e76a79ffcd948aedd14b6a8f56e4674221b0417398","affectsGlobalScope":true},{"version":"5f406584aef28a331c36523df688ca3650288d14f39c5d2e555c95f0d2ff8f6f","affectsGlobalScope":true},{"version":"22f230e544b35349cfb3bd9110b6ef37b41c6d6c43c3314a31bd0d9652fcec72","affectsGlobalScope":true},{"version":"7ea0b55f6b315cf9ac2ad622b0a7813315bb6e97bf4bb3fbf8f8affbca7dc695","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"eb26de841c52236d8222f87e9e6a235332e0788af8c87a71e9e210314300410a","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"81cac4cbc92c0c839c70f8ffb94eb61e2d32dc1c3cf6d95844ca099463cf37ea","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true},{"version":"6e7997ef61de3132e4d4b2250e75343f487903ddf5370e7ce33cf1b9db9a63ed","affectsGlobalScope":true},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true},{"version":"5e5e095c4470c8bab227dbbc61374878ecead104c74ab9960d3adcccfee23205","affectsGlobalScope":true},{"version":"09aa50414b80c023553090e2f53827f007a301bc34b0495bfb2c3c08ab9ad1eb","affectsGlobalScope":true},{"version":"d7f680a43f8cd12a6b6122c07c54ba40952b0c8aa140dcfcf32eb9e6cb028596","affectsGlobalScope":true},{"version":"3787b83e297de7c315d55d4a7c546ae28e5f6c0a361b7a1dcec1f1f50a54ef11","affectsGlobalScope":true},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true},{"version":"2768ef564cfc0689a1b76106c421a2909bdff0acbe87da010785adab80efdd5c","affectsGlobalScope":true},{"version":"b248e32ca52e8f5571390a4142558ae4f203ae2f94d5bac38a3084d529ef4e58","affectsGlobalScope":true},{"version":"fb4416144c1bf0323ccbc9afb0ab289c07312214e8820ad17d709498c865a3fe","affectsGlobalScope":true},{"version":"52d1bb7ab7a3306fd0375c8bff560feed26ed676a5b0457fa8027b563aecb9a4","affectsGlobalScope":true},{"version":"4cee52700787e9e78bf2b79fc18c47b7dc38c6279d2ac150a1d8ab83f6a19e65","signature":"72d5c765f77bd3caca1b8bdf58b19afcf4d23b8cd1f5249b08ae50e28a955b41"},{"version":"ece25bd34be23f835b18a5f6fccb25ee47763eaf1189ce2583bd310cce48e270","signature":"1e711db87c0b6bc51095c24ab8a6630645045ea7d238b031849cfa6641425626"},{"version":"9015a1905b564d4c028940ff1d3620725c67690682ef9560f91952adf17af545","signature":"a9fbc0cbb4740a346b0ed8a308ab07a0689c7c285c19356cee46a28f8721411a"},{"version":"110d2d90a015c4d8ab077675d82cc9f6d7452ad4e2d917661f6c428a67c3c194","signature":"e7a90014443d956fba310122de31fc6d48f69ce97b2e46a2acb8b1c2342933e8"},{"version":"dfdbd2e7ee7aedc5cbe99380ca68abaaf470e4ce8fb5c3a659b81dbac577e147","signature":"e5c6669ac52a5241b5c36d2b5812793c05f8eda0a2d23f142e109d960393cfbe"},{"version":"f530936857b24067caa40a4924a9f9faf14831e70a66d7e744fe5fc13907efc1","signature":"edc2b359ca41363975393a6303e868b37bf22ad19ece93551a540e0a21f452b4"},{"version":"bdff562bed51c8bc7339334073db7ea849c653c74087846defa2903596182694","signature":"1455ce15b4034a9101d7df21a495dde1f5e33938d64a57c5bfa728f06a2272e3"},{"version":"2e592f0a5340ba9de579e75db60561b506d6e9abd3a424f32d8e533770c3423b","signature":"98a4937dc0f1a43bd27b7b1c56a3087f4280f8f0b9db7c3a3789f110f59f48e9"},"587f13f1e8157bd8cec0adda0de4ef558bb8573daa9d518d1e2af38e87ecc91f","a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a",{"version":"bce910d9164785c9f0d4dcea4be359f5f92130c7c7833dea6138ab1db310a1f9","affectsGlobalScope":true},"7a435e0c814f58f23e9a0979045ec0ef5909aac95a70986e8bcce30c27dff228",{"version":"c81c51f43e343b6d89114b17341fb9d381c4ccbb25e0ee77532376052c801ba7","affectsGlobalScope":true},"db71be322f07f769200108aa19b79a75dd19a187c9dca2a30c4537b233aa2863","57135ce61976a8b1dadd01bb412406d1805b90db6e8ecb726d0d78e0b5f76050",{"version":"49479e21a040c0177d1b1bc05a124c0383df7a08a0726ad4d9457619642e875a","affectsGlobalScope":true},"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","f302f3a47d7758f67f2afc753b9375d6504dde05d2e6ecdb1df50abbb131fc89","3690133deae19c8127c5505fcb67b04bdc9eb053796008538a9b9abbb70d85aa","5b1c0a23f464f894e7c2b2b6c56df7b9afa60ed48c5345f8618d389a636b2108","be2b092f2765222757c6441b86c53a5ea8dfed47bbc43eab4c5fe37942c866b3","8e6b05abc98adba15e1ac78e137c64576c74002e301d682e66feb77a23907ab8","1ca735bb3d407b2af4fbee7665f3a0a83be52168c728cc209755060ba7ed67bd",{"version":"6b526a5ec4a401ca7c26cfe6a48e641d8f30af76673bad3b06a1b4504594a960","affectsGlobalScope":true},{"version":"b85c02e14ecb2a873dad5a1de72319b265160ba48f1b83661aeb3bba1366c1bc","affectsGlobalScope":true},"7a2ba0c9af860ac3e77b35ed01fd96d15986f17aa22fe40f188ae556fb1070df","fc3764040518a1008dd04bdc80964591b566b896283e00df85c95851c1f46237","55709608060f77965c270ac10ac646286589f1bd1cb174fff1778a2dd9a7ef31","790623a47c5eda62910098884ecb154dc0e5f3a23fc36c1bfb3b5b9ed44e2c2d","42b40e40f2a358cda332456214fad311e1806a6abf3cebaaac72496e07556642","354612fe1d49ecc9551ea3a27d94eef2887b64ef4a71f72ca444efe0f2f0ba80",{"version":"ac0c77cd7db52b3c278bdd1452ce754014835493d05b84535f46854fdc2063b2","affectsGlobalScope":true},"b9f36877501f2ce0e276e993c93cd2cf325e78d0409ec4612b1eb9d6a537e60b","5e2b91328a540a0933ab5c2203f4358918e6f0fe7505d22840a891a6117735f1","3abc3512fa04aa0230f59ea1019311fd8667bd935d28306311dccc8b17e79d5d",{"version":"14a50dafe3f45713f7f27cb6320dff07c6ac31678f07959c2134260061bf91ff","affectsGlobalScope":true},{"version":"19da7150ca062323b1db6311a6ef058c9b0a39cc64d836b5e9b75d301869653b","affectsGlobalScope":true},"1349077576abb41f0e9c78ec30762ff75b710208aff77f5fdcc6a8c8ce6289dd","e2ce82603102b5c0563f59fb40314cc1ff95a4d521a66ad14146e130ea80d89c","a3e0395220255a350aa9c6d56f882bfcb5b85c19fddf5419ec822cf22246a26d","c27b01e8ddff5cd280711af5e13aecd9a3228d1c256ea797dd64f8fdec5f7df5","898840e876dfd21843db9f2aa6ae38ba2eab550eb780ff62b894b9fbfebfae6b","0cab4d7d4edc40cd3af9eea7c3ed6d1016910c0954c49c4297e479bf3822a625","1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff","785e5be57d4f20f290a20e7b0c6263f6c57fd6e51283050756cef07d6d651c68","44b8b584a338b190a59f4f6929d072431950c7bd92ec2694821c11bce180c8a5","164deb2409ac5f4da3cd139dbcee7f7d66753d90363a4d7e2db8d8874f272270",{"version":"ffc62d73b4fa10ca8c59f8802df88efefe447025730a24ee977b60adedc5bf37","affectsGlobalScope":true},{"version":"ab294c4b7279318ee2a8fdf681305457ecc05970c94108d304933f18823eeac1","affectsGlobalScope":true},"ad08154d9602429522cac965a715fde27d421d69b24756c5d291877dda75353e","5bc85813bfcb6907cc3a960fec8734a29d7884e0e372515147720c5991b8bc22","812b25f798033c202baedf386a1ccc41f9191b122f089bffd10fdccce99fba11","993325544790073f77e945bee046d53988c0bc3ac5695c9cf8098166feb82661",{"version":"75dd741ca6a6c8d2437a6ca8349b64b816421dbf9fe82dd026afaba965576962","affectsGlobalScope":true},{"version":"0e08c360c9b5961ecb0537b703e253842b3ded53151ee07024148219b61a8baf","affectsGlobalScope":true},"2ce2210032ccaff7710e2abf6a722e62c54960458e73e356b6a365c93ab6ca66","92db194ef7d208d5e4b6242a3434573fd142a621ff996d84cc9dbba3553277d0","16a3080e885ed52d4017c902227a8d0d8daf723d062bec9e45627c6fdcd6699b",{"version":"0bd9543cd8fc0959c76fb8f4f5a26626c2ed62ef4be98fd857bce268066db0a2","affectsGlobalScope":true},"1ca6858a0cbcd74d7db72d7b14c5360a928d1d16748a55ecfa6bfaff8b83071b",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"ebf3434b09c527078aa74139ff367fffa64fea32a01d6c06fb0a69b0ecadf43e","01f7828047b5c6703d3c601473618b448f5506a88fcac852638b0715c3abf4eb",{"version":"c3bc5d095c3c22fd20b5a6550b9c9a6d56c3ffbb87ef057ccce7764b6bed4428","affectsGlobalScope":true},{"version":"63e2182615c513e89bb8a3e749d08f7c379e86490fcdbf6d35f2c14b3507a6e8","affectsGlobalScope":true},"6d829824ead8999f87b6df21200df3c6150391b894b4e80662caa462bd48d073","96d14f21b7652903852eef49379d04dbda28c16ed36468f8c9fa08f7c14c9538","8841e2aa774b89bd23302dede20663306dc1b9902431ac64b24be8b8d0e3f649","209e814e8e71aec74f69686a9506dd7610b97ab59dcee9446266446f72a76d05",{"version":"3f6d6465811321abc30a1e5f667feed63e5b3917b3d6c8d6645daf96c75f97ba","affectsGlobalScope":true},"6fa0008bf91a4cc9c8963bace4bba0bd6865cbfa29c3e3ccc461155660fb113a","916be7d770b0ae0406be9486ac12eb9825f21514961dd050594c4b250617d5a8","a73a445c1e0a6d0f8b48e8eb22dc9d647896783a7f8991cbbc31c0d94bf1f5a2","3dce33e7eb25594863b8e615f14a45ab98190d85953436750644212d8a18c066","fab58e600970e66547644a44bc9918e3223aa2cbd9e8763cec004b2cfb48827e","bc81aff061c53a7140270555f4b22da4ecfe8601e8027cf5aa175fbdc7927c31"],"options":{"allowSyntheticDefaultImports":true,"composite":true,"declaration":true,"declarationDir":"../../lib/types","declarationMap":true,"esModuleInterop":true,"module":99,"noEmitOnError":true,"outDir":"../../lib/esm","rootDir":"../../../../target/types","skipLibCheck":true,"sourceMap":true,"strict":false,"stripInternal":true,"target":99},"fileIdsList":[[97,104],[97,106],[97],[70,97,104],[51,97],[54,97],[55,60,88,97],[56,67,68,75,85,96,97],[56,57,67,75,97],[58,97],[59,60,68,76,97],[60,85,93,97],[61,63,67,75,97],[62,97],[63,64,97],[67,97],[65,67,97],[67,68,69,85,96,97],[67,68,69,82,85,88,97],[97,101],[63,67,70,75,85,96,97],[67,68,70,71,75,85,93,96,97],[70,72,85,93,96,97],[51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103],[67,73,97],[74,96,97],[63,67,75,85,97],[76,97],[77,97],[54,78,97],[79,95,97,101],[80,97],[81,97],[67,82,83,97],[82,84,97,99],[55,67,85,86,87,88,97],[55,85,87,97],[85,86,97],[88,97],[89,97],[85,97],[67,91,92,97],[91,92,97],[60,75,85,93,97],[94,97],[75,95,97],[55,70,81,96,97],[60,97],[85,97,98],[97,99],[97,100],[55,60,67,69,78,85,96,97,99,101],[85,97,102],[67,70,72,75,85,93,96,97,102,104]],"referencedMap":[[105,1],[107,2],[106,3],[108,4],[109,3],[110,3],[111,3],[112,3],[51,5],[52,5],[54,6],[55,7],[56,8],[57,9],[58,10],[59,11],[60,12],[61,13],[62,14],[63,15],[64,15],[66,16],[65,17],[67,16],[68,18],[69,19],[53,20],[103,3],[70,21],[71,22],[72,23],[104,24],[73,25],[74,26],[75,27],[76,28],[77,29],[78,30],[79,31],[80,32],[81,33],[82,34],[83,34],[84,35],[85,36],[87,37],[86,38],[88,39],[89,40],[90,41],[91,42],[92,43],[93,44],[94,45],[95,46],[96,47],[97,48],[98,49],[99,50],[100,51],[101,52],[102,53],[113,3],[114,3],[115,1],[116,1],[117,3],[118,54],[9,3],[8,3],[2,3],[10,3],[11,3],[12,3],[13,3],[14,3],[15,3],[16,3],[17,3],[3,3],[4,3],[21,3],[18,3],[19,3],[20,3],[22,3],[23,3],[24,3],[5,3],[25,3],[26,3],[27,3],[28,3],[6,3],[32,3],[29,3],[30,3],[31,3],[33,3],[7,3],[34,3],[39,3],[40,3],[35,3],[36,3],[37,3],[38,3],[41,3],[1,3],[42,3],[43,3],[44,3],[45,3],[46,3],[47,3],[48,3],[49,3],[50,3]],"exportedModulesMap":[[105,1],[107,2],[106,3],[108,4],[109,3],[110,3],[111,3],[112,3],[51,5],[52,5],[54,6],[55,7],[56,8],[57,9],[58,10],[59,11],[60,12],[61,13],[62,14],[63,15],[64,15],[66,16],[65,17],[67,16],[68,18],[69,19],[53,20],[103,3],[70,21],[71,22],[72,23],[104,24],[73,25],[74,26],[75,27],[76,28],[77,29],[78,30],[79,31],[80,32],[81,33],[82,34],[83,34],[84,35],[85,36],[87,37],[86,38],[88,39],[89,40],[90,41],[91,42],[92,43],[93,44],[94,45],[95,46],[96,47],[97,48],[98,49],[99,50],[100,51],[101,52],[102,53],[113,3],[114,3],[115,1],[116,1],[117,3],[118,54],[9,3],[8,3],[2,3],[10,3],[11,3],[12,3],[13,3],[14,3],[15,3],[16,3],[17,3],[3,3],[4,3],[21,3],[18,3],[19,3],[20,3],[22,3],[23,3],[24,3],[5,3],[25,3],[26,3],[27,3],[28,3],[6,3],[32,3],[29,3],[30,3],[31,3],[33,3],[7,3],[34,3],[39,3],[40,3],[35,3],[36,3],[37,3],[38,3],[41,3],[1,3],[42,3]],"semanticDiagnosticsPerFile":[105,107,106,108,109,110,111,112,51,52,54,55,56,57,58,59,60,61,62,63,64,66,65,67,68,69,53,103,70,71,72,104,73,74,75,76,77,78,79,80,81,82,83,84,85,87,86,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,113,114,115,116,117,118,9,8,2,10,11,12,13,14,15,16,17,3,4,21,18,19,20,22,23,24,5,25,26,27,28,6,32,29,30,31,33,7,34,39,40,35,36,37,38,41,1,42,43,44,45,46,47,48,49,50],"latestChangedDtsFile":"../../lib/types/vote_hook_interface.d.ts"},"version":"4.9.5"} \ No newline at end of file diff --git a/packages/nft-proxy-sdk/CHANGELOG.md b/packages/nft-proxy-sdk/CHANGELOG.md index ad80cf5..0c64b54 100644 --- a/packages/nft-proxy-sdk/CHANGELOG.md +++ b/packages/nft-proxy-sdk/CHANGELOG.md @@ -3,6 +3,54 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.5-alpha.0](https://github.com/helium/modular-governance/compare/v0.0.15...v0.1.5-alpha.0) (2025-03-19) + +**Note:** Version bump only for package @helium/nft-proxy-sdk + + + + + +## [0.1.4](https://github.com/helium/modular-governance/compare/v0.0.15...v0.1.4) (2025-02-24) + +**Note:** Version bump only for package @helium/nft-proxy-sdk + + + + + +## [0.1.3](https://github.com/helium/modular-governance/compare/v0.0.15...v0.1.3) (2025-02-24) + +**Note:** Version bump only for package @helium/nft-proxy-sdk + + + + + +## [0.1.2](https://github.com/helium/modular-governance/compare/v0.0.15...v0.1.2) (2025-02-24) + +**Note:** Version bump only for package @helium/nft-proxy-sdk + + + + + +## [0.1.1](https://github.com/helium/modular-governance/compare/v0.0.15...v0.1.1) (2025-02-14) + +**Note:** Version bump only for package @helium/nft-proxy-sdk + + + + + +# [0.1.0](https://github.com/helium/modular-governance/compare/v0.0.15...v0.1.0) (2025-02-14) + +**Note:** Version bump only for package @helium/nft-proxy-sdk + + + + + ## [0.0.15](https://github.com/helium/modular-governance/compare/v0.0.14...v0.0.15) (2024-12-06) **Note:** Version bump only for package @helium/nft-proxy-sdk diff --git a/packages/nft-proxy-sdk/package.json b/packages/nft-proxy-sdk/package.json index c0a4725..2974ecc 100644 --- a/packages/nft-proxy-sdk/package.json +++ b/packages/nft-proxy-sdk/package.json @@ -5,7 +5,7 @@ "registry": "https://registry.npmjs.org/" }, "license": "Apache-2.0", - "version": "0.0.15", + "version": "0.1.5-alpha.0", "description": "Interface to the nft proxy smart contract", "repository": { "type": "git", @@ -31,8 +31,8 @@ "prebuild": "npm run clean && npm run package" }, "dependencies": { - "@coral-xyz/anchor": "^0.28.0", - "@helium/anchor-resolvers": "^0.2.17", + "@coral-xyz/anchor": "^0.31.0", + "@helium/anchor-resolvers": "^0.10.0-alpha.6", "@helium/modular-governance-idls": "^0.0.10", "@solana/spl-token": "^0.3.8" }, diff --git a/packages/nft-proxy-sdk/src/index.ts b/packages/nft-proxy-sdk/src/index.ts index 122ef05..68c5df5 100644 --- a/packages/nft-proxy-sdk/src/index.ts +++ b/packages/nft-proxy-sdk/src/index.ts @@ -17,14 +17,13 @@ export async function init( idl = await Program.fetchIdl(programId, provider); // This is an Anchor 0.30+ IDL. Return the old IDLs // @ts-ignore - if (!idl || idl?.address) { + if (!idl || !idl?.address) { idl = IDL as any; } } const tokenVoter = new Program( idl as NftProxy, - programId, provider, undefined, () => nftProxyResolvers @@ -34,121 +33,65 @@ export async function init( } const IDL = { - version: "0.0.1", - name: "nft_proxy", + address: "nprx42sXf5rpVnwBWEdRg1d8tuCWsTuVLys1pRWwE6p", + metadata: { + name: "nft_proxy", + version: "0.0.2", + spec: "0.1.0", + description: "Created with Anchor", + }, instructions: [ { - name: "initializeProxyConfigV0", + name: "assign_proxy_v0", + discriminator: [107, 214, 197, 124, 248, 222, 169, 25], accounts: [ { name: "payer", - isMut: true, - isSigner: true, - }, - { - name: "authority", - isMut: false, - isSigner: false, - }, - { - name: "proxyConfig", - isMut: true, - isSigner: false, - pda: { - seeds: [ - { - kind: "const", - type: "string", - value: "proxy_config", - }, - { - kind: "arg", - type: { - defined: "InitializeProxyConfigArgsV0", - }, - path: "args.name", - }, - ], - }, - }, - { - name: "systemProgram", - isMut: false, - isSigner: false, - }, - ], - args: [ - { - name: "args", - type: { - defined: "InitializeProxyConfigArgsV0", - }, - }, - ], - }, - { - name: "assignProxyV0", - accounts: [ - { - name: "payer", - isMut: true, - isSigner: true, + writable: true, + signer: true, }, { name: "asset", - isMut: false, - isSigner: false, }, { name: "approver", - isMut: false, - isSigner: true, + signer: true, }, { name: "voter", - isMut: false, - isSigner: false, docs: [ "or in the case of a primary proxy (first in the line), Pubkey::default", ], }, { - name: "tokenAccount", - isMut: false, - isSigner: false, - isOptional: true, + name: "token_account", + optional: true, }, { - name: "proxyConfig", - isMut: false, - isSigner: false, + name: "proxy_config", }, { - name: "currentProxyAssignment", - isMut: true, - isSigner: false, + name: "current_proxy_assignment", + writable: true, pda: { seeds: [ { kind: "const", - type: "string", - value: "proxy_assignment", + value: [ + 112, 114, 111, 120, 121, 95, 97, 115, 115, 105, 103, 110, 109, + 101, 110, 116, + ], }, { kind: "account", - type: "publicKey", - account: "ProxyConfigV0", path: "proxy_config", }, { kind: "account", - type: "publicKey", - account: "Mint", path: "asset", }, { kind: "account", - type: "publicKey", path: "voter", }, ], @@ -156,225 +99,314 @@ const IDL = { }, { name: "recipient", - isMut: false, - isSigner: false, }, { - name: "nextProxyAssignment", - isMut: true, - isSigner: false, + name: "next_proxy_assignment", + writable: true, pda: { seeds: [ { kind: "const", - type: "string", - value: "proxy_assignment", + value: [ + 112, 114, 111, 120, 121, 95, 97, 115, 115, 105, 103, 110, 109, + 101, 110, 116, + ], }, { kind: "account", - type: "publicKey", - account: "ProxyConfigV0", path: "proxy_config", }, { kind: "account", - type: "publicKey", - account: "Mint", path: "asset", }, { kind: "account", - type: "publicKey", path: "recipient", }, ], }, }, { - name: "systemProgram", - isMut: false, - isSigner: false, + name: "system_program", + address: "11111111111111111111111111111111", }, ], args: [ { name: "args", type: { - defined: "AssignProxyArgsV0", + defined: { + name: "AssignProxyArgsV0", + }, }, }, ], }, { - name: "unassignProxyV0", + name: "close_expired_proxy_v0", + discriminator: [21, 151, 28, 156, 29, 184, 97, 58], accounts: [ { - name: "rentRefund", - isMut: true, - isSigner: false, + name: "rent_refund", + writable: true, + relations: ["proxy_assignment"], }, { - name: "asset", - isMut: false, - isSigner: false, + name: "proxy_assignment", + writable: true, }, { - name: "approver", - isMut: false, - isSigner: true, + name: "system_program", + address: "11111111111111111111111111111111", + }, + ], + args: [], + }, + { + name: "initialize_proxy_config_v0", + discriminator: [8, 242, 247, 214, 208, 16, 189, 129], + accounts: [ + { + name: "payer", + writable: true, + signer: true, }, { - name: "voter", - isMut: false, - isSigner: false, - docs: [ - "or in the case of a primary proxy (first in the line), Pubkey::default", - ], + name: "authority", }, { - name: "tokenAccount", - isMut: false, - isSigner: false, - isOptional: true, + name: "proxy_config", + writable: true, + pda: { + seeds: [ + { + kind: "const", + value: [ + 112, 114, 111, 120, 121, 95, 99, 111, 110, 102, 105, 103, + ], + }, + { + kind: "arg", + path: "args.name", + }, + ], + }, }, { - name: "currentProxyAssignment", - isMut: false, - isSigner: false, - relations: ["proxy_config", "voter", "asset"], + name: "system_program", + address: "11111111111111111111111111111111", }, + ], + args: [ { - name: "prevProxyAssignment", - isMut: true, - isSigner: false, - relations: ["proxy_config"], + name: "args", + type: { + defined: { + name: "InitializeProxyConfigArgsV0", + }, + }, + }, + ], + }, + { + name: "unassign_expired_proxy_v0", + discriminator: [165, 221, 241, 128, 213, 85, 107, 20], + accounts: [ + { + name: "rent_refund", + writable: true, + relations: ["proxy_assignment"], }, { - name: "proxyAssignment", - isMut: true, - isSigner: false, - relations: ["proxy_config", "rent_refund"], + name: "prev_proxy_assignment", + writable: true, }, { - name: "proxyConfig", - isMut: false, - isSigner: false, + name: "proxy_assignment", + writable: true, }, { - name: "systemProgram", - isMut: false, - isSigner: false, + name: "system_program", + address: "11111111111111111111111111111111", }, ], args: [], }, { - name: "updateProxyConfigV0", + name: "unassign_proxy_v0", + discriminator: [23, 104, 235, 220, 139, 184, 41, 221], accounts: [ { - name: "payer", - isMut: true, - isSigner: true, + name: "rent_refund", + writable: true, + relations: ["proxy_assignment"], }, { - name: "authority", - isMut: false, - isSigner: false, + name: "asset", + relations: ["current_proxy_assignment"], }, { - name: "proxyConfig", - isMut: true, - isSigner: false, - relations: ["authority"], + name: "approver", + signer: true, + }, + { + name: "voter", + docs: [ + "or in the case of a primary proxy (first in the line), Pubkey::default", + ], + relations: ["current_proxy_assignment"], }, { - name: "systemProgram", - isMut: false, - isSigner: false, + name: "token_account", + optional: true, }, - ], - args: [ { - name: "args", - type: { - defined: "UpdateProxyConfigArgsV0", - }, + name: "current_proxy_assignment", }, - ], - }, - { - name: "unassignExpiredProxyV0", - accounts: [ { - name: "rentRefund", - isMut: true, - isSigner: false, + name: "prev_proxy_assignment", + writable: true, }, { - name: "prevProxyAssignment", - isMut: true, - isSigner: false, + name: "proxy_assignment", + writable: true, }, { - name: "proxyAssignment", - isMut: true, - isSigner: false, - relations: ["rent_refund"], + name: "proxy_config", + relations: [ + "current_proxy_assignment", + "prev_proxy_assignment", + "proxy_assignment", + ], }, { - name: "systemProgram", - isMut: false, - isSigner: false, + name: "system_program", + address: "11111111111111111111111111111111", }, ], args: [], }, { - name: "closeExpiredProxyV0", + name: "update_proxy_config_v0", + discriminator: [165, 218, 143, 105, 41, 163, 178, 225], accounts: [ { - name: "rentRefund", - isMut: true, - isSigner: false, + name: "payer", + writable: true, + signer: true, + }, + { + name: "authority", + signer: true, + relations: ["proxy_config"], }, { - name: "proxyAssignment", - isMut: true, - isSigner: false, - relations: ["rent_refund"], + name: "proxy_config", + writable: true, }, { - name: "systemProgram", - isMut: false, - isSigner: false, + name: "system_program", + address: "11111111111111111111111111111111", + }, + ], + args: [ + { + name: "args", + type: { + defined: { + name: "UpdateProxyConfigArgsV0", + }, + }, }, ], - args: [], }, ], accounts: [ { - name: "proxyConfigV0", + name: "ProxyAssignmentV0", + discriminator: [196, 152, 78, 155, 132, 136, 147, 55], + }, + { + name: "ProxyConfigV0", + discriminator: [187, 22, 143, 173, 201, 68, 34, 64], + }, + ], + errors: [ + { + code: 6000, + name: "ExpirationExceedsMax", + msg: "The specified expiration time exceeds the maximum allowed for this proxy configuration", + }, + { + code: 6001, + name: "ExpirationExceedsSeasonMax", + msg: "The specified expiration time exceeds the maximum allowed for this season", + }, + { + code: 6002, + name: "ExpirationPast", + msg: "The specified expiration time has already passed", + }, + { + code: 6003, + name: "ExpirationExceedsPreceedingProxy", + msg: "The specified expiration time exceeds the expiration of the existing delegatio", + }, + { + code: 6004, + name: "SeasonsNotSorted", + msg: "The seasons are not sorted", + }, + { + code: 6005, + name: "InvalidDataIncrease", + msg: "The data size increase is not valid", + }, + { + code: 6006, + name: "ExpirationTimeInvalid", + msg: "The expiration time is invalid", + }, + { + code: 6007, + name: "ExpirationNotPast", + msg: "The specified expiration time has not passed", + }, + ], + types: [ + { + name: "AssignProxyArgsV0", type: { kind: "struct", fields: [ { - name: "authority", - type: "publicKey", + name: "expiration_time", + type: "i64", }, + ], + }, + }, + { + name: "InitializeProxyConfigArgsV0", + type: { + kind: "struct", + fields: [ { name: "name", type: "string", }, { - name: "maxProxyTime", + name: "max_proxy_time", type: "i64", }, { name: "seasons", type: { vec: { - defined: "SeasonV0", + defined: { + name: "SeasonV0", + }, }, }, }, @@ -382,77 +414,69 @@ const IDL = { }, }, { - name: "proxyAssignmentV0", + name: "ProxyAssignmentV0", type: { kind: "struct", fields: [ { name: "voter", - type: "publicKey", + type: "pubkey", }, { - name: "proxyConfig", - type: "publicKey", + name: "proxy_config", + type: "pubkey", }, { name: "asset", - type: "publicKey", + type: "pubkey", }, { name: "index", type: "u16", }, { - name: "nextVoter", - type: "publicKey", + name: "next_voter", + type: "pubkey", }, { - name: "rentRefund", - type: "publicKey", + name: "rent_refund", + type: "pubkey", }, { - name: "expirationTime", + name: "expiration_time", type: "i64", }, { - name: "bumpSeed", + name: "bump_seed", type: "u8", }, ], }, }, - ], - types: [ { - name: "AssignProxyArgsV0", + name: "ProxyConfigV0", type: { kind: "struct", fields: [ { - name: "expirationTime", - type: "i64", + name: "authority", + type: "pubkey", }, - ], - }, - }, - { - name: "InitializeProxyConfigArgsV0", - type: { - kind: "struct", - fields: [ { name: "name", type: "string", }, { - name: "maxProxyTime", + name: "max_proxy_time", type: "i64", }, { name: "seasons", type: { vec: { - defined: "SeasonV0", + defined: { + name: "SeasonV0", + }, }, }, }, @@ -460,86 +484,46 @@ const IDL = { }, }, { - name: "UpdateProxyConfigArgsV0", + name: "SeasonV0", type: { kind: "struct", fields: [ { - name: "maxProxyTime", - type: { - option: "i64", - }, + name: "start", + type: "i64", }, { - name: "seasons", - type: { - option: { - vec: { - defined: "SeasonV0", - }, - }, - }, + name: "end", + type: "i64", }, ], }, }, { - name: "SeasonV0", + name: "UpdateProxyConfigArgsV0", type: { kind: "struct", fields: [ { - name: "start", - type: "i64", + name: "max_proxy_time", + type: { + option: "i64", + }, }, { - name: "end", - type: "i64", + name: "seasons", + type: { + option: { + vec: { + defined: { + name: "SeasonV0", + }, + }, + }, + }, }, ], }, }, ], - errors: [ - { - code: 6000, - name: "ExpirationExceedsMax", - msg: "The specified expiration time exceeds the maximum allowed for this proxy configuration", - }, - { - code: 6001, - name: "ExpirationExceedsSeasonMax", - msg: "The specified expiration time exceeds the maximum allowed for this season", - }, - { - code: 6002, - name: "ExpirationPast", - msg: "The specified expiration time has already passed", - }, - { - code: 6003, - name: "ExpirationExceedsPreceedingProxy", - msg: "The specified expiration time exceeds the expiration of the existing delegatio", - }, - { - code: 6004, - name: "SeasonsNotSorted", - msg: "The seasons are not sorted", - }, - { - code: 6005, - name: "InvalidDataIncrease", - msg: "The data size increase is not valid", - }, - { - code: 6006, - name: "ExpirationTimeInvalid", - msg: "The expiration time is invalid", - }, - { - code: 6007, - name: "ExpirationNotPast", - msg: "The specified expiration time has not passed", - }, - ], }; \ No newline at end of file diff --git a/packages/nft-voter-sdk/CHANGELOG.md b/packages/nft-voter-sdk/CHANGELOG.md index 844d5f1..001bab2 100644 --- a/packages/nft-voter-sdk/CHANGELOG.md +++ b/packages/nft-voter-sdk/CHANGELOG.md @@ -3,6 +3,54 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.5-alpha.0](https://github.com/helium/modular-governance/compare/v0.0.15...v0.1.5-alpha.0) (2025-03-19) + +**Note:** Version bump only for package @helium/nft-voter-sdk + + + + + +## [0.1.4](https://github.com/helium/modular-governance/compare/v0.0.15...v0.1.4) (2025-02-24) + +**Note:** Version bump only for package @helium/nft-voter-sdk + + + + + +## [0.1.3](https://github.com/helium/modular-governance/compare/v0.0.15...v0.1.3) (2025-02-24) + +**Note:** Version bump only for package @helium/nft-voter-sdk + + + + + +## [0.1.2](https://github.com/helium/modular-governance/compare/v0.0.15...v0.1.2) (2025-02-24) + +**Note:** Version bump only for package @helium/nft-voter-sdk + + + + + +## [0.1.1](https://github.com/helium/modular-governance/compare/v0.0.15...v0.1.1) (2025-02-14) + +**Note:** Version bump only for package @helium/nft-voter-sdk + + + + + +# [0.1.0](https://github.com/helium/modular-governance/compare/v0.0.15...v0.1.0) (2025-02-14) + +**Note:** Version bump only for package @helium/nft-voter-sdk + + + + + ## [0.0.15](https://github.com/helium/modular-governance/compare/v0.0.14...v0.0.15) (2024-12-06) **Note:** Version bump only for package @helium/nft-voter-sdk diff --git a/packages/nft-voter-sdk/package.json b/packages/nft-voter-sdk/package.json index 0a08706..28d8a09 100644 --- a/packages/nft-voter-sdk/package.json +++ b/packages/nft-voter-sdk/package.json @@ -5,7 +5,7 @@ "registry": "https://registry.npmjs.org/" }, "license": "Apache-2.0", - "version": "0.0.15", + "version": "0.1.5-alpha.0", "description": "Interface to the nft voter smart contract", "repository": { "type": "git", @@ -31,10 +31,10 @@ "prebuild": "npm run clean && npm run package" }, "dependencies": { - "@coral-xyz/anchor": "^0.28.0", - "@helium/anchor-resolvers": "^0.5.0", - "@helium/modular-governance-idls": "^0.0.15", - "@helium/nft-proxy-sdk": "^0.0.15", + "@coral-xyz/anchor": "^0.31.0", + "@helium/anchor-resolvers": "^0.10.0-alpha.6", + "@helium/modular-governance-idls": "^0.1.5-alpha.0", + "@helium/nft-proxy-sdk": "^0.1.5-alpha.0", "@solana/spl-token": "^0.3.8" }, "devDependencies": { diff --git a/packages/nft-voter-sdk/src/functions/deposit.ts b/packages/nft-voter-sdk/src/functions/deposit.ts index c68f8ab..fab0943 100644 --- a/packages/nft-voter-sdk/src/functions/deposit.ts +++ b/packages/nft-voter-sdk/src/functions/deposit.ts @@ -58,7 +58,7 @@ export async function deposit({ .preInstructions( await createMintInstructions(program.provider, 0, receipt, receipt, mintKeypair) ) - .accounts({ + .accountsPartial({ tokenVoter, mint: mintKeypair.publicKey, recipient, diff --git a/packages/nft-voter-sdk/src/index.ts b/packages/nft-voter-sdk/src/index.ts index 7b4ebc6..271b3ed 100644 --- a/packages/nft-voter-sdk/src/index.ts +++ b/packages/nft-voter-sdk/src/index.ts @@ -20,7 +20,6 @@ export async function init( const tokenVoter = new Program( idl as NftVoter, - programId, provider, undefined, () => nftVoterResolvers diff --git a/packages/organization-sdk/CHANGELOG.md b/packages/organization-sdk/CHANGELOG.md index bb3ed39..e2c7154 100644 --- a/packages/organization-sdk/CHANGELOG.md +++ b/packages/organization-sdk/CHANGELOG.md @@ -3,6 +3,54 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.5-alpha.0](https://github.com/helium/modular-governance/compare/v0.0.15...v0.1.5-alpha.0) (2025-03-19) + +**Note:** Version bump only for package @helium/organization-sdk + + + + + +## [0.1.4](https://github.com/helium/modular-governance/compare/v0.0.15...v0.1.4) (2025-02-24) + +**Note:** Version bump only for package @helium/organization-sdk + + + + + +## [0.1.3](https://github.com/helium/modular-governance/compare/v0.0.15...v0.1.3) (2025-02-24) + +**Note:** Version bump only for package @helium/organization-sdk + + + + + +## [0.1.2](https://github.com/helium/modular-governance/compare/v0.0.15...v0.1.2) (2025-02-24) + +**Note:** Version bump only for package @helium/organization-sdk + + + + + +## [0.1.1](https://github.com/helium/modular-governance/compare/v0.0.15...v0.1.1) (2025-02-14) + +**Note:** Version bump only for package @helium/organization-sdk + + + + + +# [0.1.0](https://github.com/helium/modular-governance/compare/v0.0.15...v0.1.0) (2025-02-14) + +**Note:** Version bump only for package @helium/organization-sdk + + + + + ## [0.0.15](https://github.com/helium/modular-governance/compare/v0.0.14...v0.0.15) (2024-12-06) **Note:** Version bump only for package @helium/organization-sdk diff --git a/packages/organization-sdk/package.json b/packages/organization-sdk/package.json index 26172cd..9e01d96 100644 --- a/packages/organization-sdk/package.json +++ b/packages/organization-sdk/package.json @@ -5,7 +5,7 @@ "registry": "https://registry.npmjs.org/" }, "license": "Apache-2.0", - "version": "0.0.15", + "version": "0.1.5-alpha.0", "description": "Interface to the organization smart contract", "repository": { "type": "git", @@ -31,10 +31,10 @@ "prebuild": "npm run clean && npm run package" }, "dependencies": { - "@coral-xyz/anchor": "^0.28.0", - "@helium/anchor-resolvers": "^0.5.0", - "@helium/modular-governance-idls": "^0.0.15", - "@helium/proposal-sdk": "^0.0.15" + "@coral-xyz/anchor": "^0.31.0", + "@helium/anchor-resolvers": "^0.10.0-alpha.6", + "@helium/modular-governance-idls": "^0.1.5-alpha.0", + "@helium/proposal-sdk": "^0.1.5-alpha.0" }, "devDependencies": { "git-format-staged": "^2.1.3", diff --git a/packages/organization-sdk/src/init.ts b/packages/organization-sdk/src/init.ts index 837fcad..01c1a41 100644 --- a/packages/organization-sdk/src/init.ts +++ b/packages/organization-sdk/src/init.ts @@ -13,14 +13,13 @@ export async function init( idl = await Program.fetchIdl(programId, provider); // This is an Anchor 0.30+ IDL. Return the old IDLs // @ts-ignore - if (!idl || idl?.address) { + if (!idl || !idl?.address) { idl = IDL as any; } } const organizations = new Program( idl as Organization, - programId, provider, undefined, () => organizationsResolvers @@ -30,127 +29,126 @@ export async function init( } const IDL = { - version: "0.1.1", - name: "organization", + address: "orgdXvHVLkWgBYerptASkAwkZAE563CJUu717dMNx5f", + metadata: { + name: "organization", + version: "0.1.1", + spec: "0.1.0", + description: "Created with Anchor", + }, instructions: [ { - name: "initializeOrganizationV0", + name: "initialize_organization_v0", + discriminator: [44, 42, 174, 217, 128, 72, 101, 49], accounts: [ { name: "payer", - isMut: true, - isSigner: true, + writable: true, + signer: true, }, { name: "organization", - isMut: true, - isSigner: false, + writable: true, pda: { seeds: [ { kind: "const", - type: "string", - value: "organization", + value: [ + 111, 114, 103, 97, 110, 105, 122, 97, 116, 105, 111, 110, + ], }, { kind: "arg", - type: { - defined: "InitializeOrganizationArgsV0", - }, path: "args.name", }, ], }, }, { - name: "systemProgram", - isMut: false, - isSigner: false, + name: "system_program", + address: "11111111111111111111111111111111", }, ], args: [ { name: "args", type: { - defined: "InitializeOrganizationArgsV0", + defined: { + name: "InitializeOrganizationArgsV0", + }, }, }, ], }, { - name: "initializeProposalV0", + name: "initialize_proposal_v0", + discriminator: [63, 235, 9, 201, 163, 171, 206, 33], accounts: [ { name: "payer", - isMut: true, - isSigner: true, + writable: true, + signer: true, }, { name: "authority", - isMut: false, - isSigner: true, + signer: true, + relations: ["organization"], }, { name: "owner", - isMut: false, - isSigner: false, }, { name: "proposal", - isMut: true, - isSigner: false, + writable: true, }, { - name: "proposalConfig", - isMut: false, - isSigner: false, + name: "proposal_config", }, { name: "organization", - isMut: true, - isSigner: false, - relations: ["proposal_program", "authority"], + writable: true, }, { - name: "proposalProgram", - isMut: false, - isSigner: false, + name: "proposal_program", + relations: ["organization"], }, { - name: "systemProgram", - isMut: false, - isSigner: false, + name: "system_program", + address: "11111111111111111111111111111111", }, ], args: [ { name: "args", type: { - defined: "InitializeProposalArgsV0", + defined: { + name: "InitializeProposalArgsV0", + }, }, }, ], }, { - name: "updateOrganizationV0", + name: "update_organization_v0", + discriminator: [38, 56, 42, 100, 134, 77, 32, 44], accounts: [ { name: "organization", - isMut: true, - isSigner: false, - relations: ["authority"], + writable: true, }, { name: "authority", - isMut: false, - isSigner: true, + signer: true, + relations: ["organization"], }, ], args: [ { name: "args", type: { - defined: "UpdateOrganizationArgsV0", + defined: { + name: "UpdateOrganizationArgsV0", + }, }, }, ], @@ -158,44 +156,30 @@ const IDL = { ], accounts: [ { - name: "organizationV0", + name: "OrganizationV0", + discriminator: [243, 189, 126, 191, 59, 72, 255, 68], + }, + ], + types: [ + { + name: "ChoiceArg", type: { kind: "struct", fields: [ - { - name: "numProposals", - type: "u32", - }, - { - name: "authority", - docs: ["Authority to create proposals under this organization"], - type: "publicKey", - }, - { - name: "defaultProposalConfig", - type: "publicKey", - }, - { - name: "proposalProgram", - type: "publicKey", - }, { name: "name", type: "string", }, { name: "uri", - type: "string", - }, - { - name: "bumpSeed", - type: "u8", + docs: ["Any other data that you may want to put in here"], + type: { + option: "string", + }, }, ], }, }, - ], - types: [ { name: "InitializeOrganizationArgsV0", type: { @@ -207,15 +191,15 @@ const IDL = { }, { name: "authority", - type: "publicKey", + type: "pubkey", }, { - name: "defaultProposalConfig", - type: "publicKey", + name: "default_proposal_config", + type: "pubkey", }, { - name: "proposalProgram", - type: "publicKey", + name: "proposal_program", + type: "pubkey", }, { name: "uri", @@ -225,7 +209,7 @@ const IDL = { }, }, { - name: "ChoiceArg", + name: "InitializeProposalArgsV0", type: { kind: "struct", fields: [ @@ -235,44 +219,64 @@ const IDL = { }, { name: "uri", - docs: ["Any other data that you may want to put in here"], + type: "string", + }, + { + name: "max_choices_per_voter", + type: "u16", + }, + { + name: "choices", type: { - option: "string", + vec: { + defined: { + name: "ChoiceArg", + }, + }, + }, + }, + { + name: "tags", + type: { + vec: "string", }, }, ], }, }, { - name: "InitializeProposalArgsV0", + name: "OrganizationV0", type: { kind: "struct", fields: [ { - name: "name", - type: "string", + name: "num_proposals", + type: "u32", }, { - name: "uri", - type: "string", + name: "authority", + docs: ["Authority to create proposals under this organization"], + type: "pubkey", }, { - name: "maxChoicesPerVoter", - type: "u16", + name: "default_proposal_config", + type: "pubkey", }, { - name: "choices", - type: { - vec: { - defined: "ChoiceArg", - }, - }, + name: "proposal_program", + type: "pubkey", }, { - name: "tags", - type: { - vec: "string", - }, + name: "name", + type: "string", + }, + { + name: "uri", + type: "string", + }, + { + name: "bump_seed", + type: "u8", }, ], }, @@ -285,19 +289,19 @@ const IDL = { { name: "authority", type: { - option: "publicKey", + option: "pubkey", }, }, { - name: "defaultProposalConfig", + name: "default_proposal_config", type: { - option: "publicKey", + option: "pubkey", }, }, { - name: "proposalProgram", + name: "proposal_program", type: { - option: "publicKey", + option: "pubkey", }, }, { diff --git a/packages/organization-wallet-sdk/CHANGELOG.md b/packages/organization-wallet-sdk/CHANGELOG.md index 1e0d2c1..7745e0d 100644 --- a/packages/organization-wallet-sdk/CHANGELOG.md +++ b/packages/organization-wallet-sdk/CHANGELOG.md @@ -3,6 +3,54 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.5-alpha.0](https://github.com/helium/modular-governance/compare/v0.0.15...v0.1.5-alpha.0) (2025-03-19) + +**Note:** Version bump only for package @helium/organization-wallet-sdk + + + + + +## [0.1.4](https://github.com/helium/modular-governance/compare/v0.0.15...v0.1.4) (2025-02-24) + +**Note:** Version bump only for package @helium/organization-wallet-sdk + + + + + +## [0.1.3](https://github.com/helium/modular-governance/compare/v0.0.15...v0.1.3) (2025-02-24) + +**Note:** Version bump only for package @helium/organization-wallet-sdk + + + + + +## [0.1.2](https://github.com/helium/modular-governance/compare/v0.0.15...v0.1.2) (2025-02-24) + +**Note:** Version bump only for package @helium/organization-wallet-sdk + + + + + +## [0.1.1](https://github.com/helium/modular-governance/compare/v0.0.15...v0.1.1) (2025-02-14) + +**Note:** Version bump only for package @helium/organization-wallet-sdk + + + + + +# [0.1.0](https://github.com/helium/modular-governance/compare/v0.0.15...v0.1.0) (2025-02-14) + +**Note:** Version bump only for package @helium/organization-wallet-sdk + + + + + ## [0.0.15](https://github.com/helium/modular-governance/compare/v0.0.14...v0.0.15) (2024-12-06) **Note:** Version bump only for package @helium/organization-wallet-sdk diff --git a/packages/organization-wallet-sdk/package.json b/packages/organization-wallet-sdk/package.json index 65d1fa6..9804427 100644 --- a/packages/organization-wallet-sdk/package.json +++ b/packages/organization-wallet-sdk/package.json @@ -5,7 +5,7 @@ "registry": "https://registry.npmjs.org/" }, "license": "Apache-2.0", - "version": "0.0.15", + "version": "0.1.5-alpha.0", "description": "Interface to the organization wallet smart contract", "repository": { "type": "git", @@ -31,10 +31,10 @@ "prebuild": "npm run clean && npm run package" }, "dependencies": { - "@coral-xyz/anchor": "^0.28.0", - "@helium/anchor-resolvers": "^0.5.0", - "@helium/modular-governance-idls": "^0.0.15", - "@helium/proposal-sdk": "^0.0.15" + "@coral-xyz/anchor": "^0.31.0", + "@helium/anchor-resolvers": "^0.10.0-alpha.6", + "@helium/modular-governance-idls": "^0.1.5-alpha.0", + "@helium/proposal-sdk": "^0.1.5-alpha.0" }, "devDependencies": { "git-format-staged": "^2.1.3", diff --git a/packages/organization-wallet-sdk/src/functions/executeTransaction.ts b/packages/organization-wallet-sdk/src/functions/executeTransaction.ts index b2799fc..3825bfd 100644 --- a/packages/organization-wallet-sdk/src/functions/executeTransaction.ts +++ b/packages/organization-wallet-sdk/src/functions/executeTransaction.ts @@ -40,11 +40,8 @@ export async function executeTransaction({ return program.methods .executeTransactionV0() - .accounts({ + .accountsPartial({ choiceTransaction, - organizationWallet, - proposal, - wallet, // @ts-ignore refund: refund || program.provider.wallet.publicKey, }) diff --git a/packages/organization-wallet-sdk/src/index.ts b/packages/organization-wallet-sdk/src/index.ts index 405610b..189fed2 100644 --- a/packages/organization-wallet-sdk/src/index.ts +++ b/packages/organization-wallet-sdk/src/index.ts @@ -9,7 +9,7 @@ export * from "./resolvers"; export { executeTransaction } from "./functions/executeTransaction"; export type CompiledTransactionArgV0 = - IdlTypes["CompiledTransactionArgV0"]; + IdlTypes["compiledTransactionArgV0"]; export type CustomAccountResolverFactory = (programId: PublicKey) => CustomAccountResolver; diff --git a/packages/organization-wallet-sdk/src/init.ts b/packages/organization-wallet-sdk/src/init.ts index 0c8dd4b..e85451d 100644 --- a/packages/organization-wallet-sdk/src/init.ts +++ b/packages/organization-wallet-sdk/src/init.ts @@ -15,7 +15,6 @@ export async function init( const organizationWalletProgram = new Program( idl as OrganizationWallet, - programId, provider, undefined, () => organizationWalletResolvers(programId) diff --git a/packages/proposal-sdk/CHANGELOG.md b/packages/proposal-sdk/CHANGELOG.md index 6c183b4..8bae9f8 100644 --- a/packages/proposal-sdk/CHANGELOG.md +++ b/packages/proposal-sdk/CHANGELOG.md @@ -3,6 +3,54 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.5-alpha.0](https://github.com/helium/modular-governance/compare/v0.0.15...v0.1.5-alpha.0) (2025-03-19) + +**Note:** Version bump only for package @helium/proposal-sdk + + + + + +## [0.1.4](https://github.com/helium/modular-governance/compare/v0.0.15...v0.1.4) (2025-02-24) + +**Note:** Version bump only for package @helium/proposal-sdk + + + + + +## [0.1.3](https://github.com/helium/modular-governance/compare/v0.0.15...v0.1.3) (2025-02-24) + +**Note:** Version bump only for package @helium/proposal-sdk + + + + + +## [0.1.2](https://github.com/helium/modular-governance/compare/v0.0.15...v0.1.2) (2025-02-24) + +**Note:** Version bump only for package @helium/proposal-sdk + + + + + +## [0.1.1](https://github.com/helium/modular-governance/compare/v0.0.15...v0.1.1) (2025-02-14) + +**Note:** Version bump only for package @helium/proposal-sdk + + + + + +# [0.1.0](https://github.com/helium/modular-governance/compare/v0.0.15...v0.1.0) (2025-02-14) + +**Note:** Version bump only for package @helium/proposal-sdk + + + + + ## [0.0.15](https://github.com/helium/modular-governance/compare/v0.0.14...v0.0.15) (2024-12-06) **Note:** Version bump only for package @helium/proposal-sdk diff --git a/packages/proposal-sdk/package.json b/packages/proposal-sdk/package.json index ba5a318..70a7e0e 100644 --- a/packages/proposal-sdk/package.json +++ b/packages/proposal-sdk/package.json @@ -5,7 +5,7 @@ "registry": "https://registry.npmjs.org/" }, "license": "Apache-2.0", - "version": "0.0.15", + "version": "0.1.5-alpha.0", "description": "Interface to the proposal smart contract", "repository": { "type": "git", @@ -31,9 +31,9 @@ "prebuild": "npm run clean && npm run package" }, "dependencies": { - "@coral-xyz/anchor": "^0.28.0", - "@helium/anchor-resolvers": "^0.5.0", - "@helium/modular-governance-idls": "^0.0.15" + "@coral-xyz/anchor": "^0.31.0", + "@helium/anchor-resolvers": "^0.10.0-alpha.6", + "@helium/modular-governance-idls": "^0.1.5-alpha.0" }, "devDependencies": { "git-format-staged": "^2.1.3", diff --git a/packages/proposal-sdk/src/index.ts b/packages/proposal-sdk/src/index.ts index 2229dd3..06e084c 100644 --- a/packages/proposal-sdk/src/index.ts +++ b/packages/proposal-sdk/src/index.ts @@ -19,14 +19,13 @@ export async function init( idl = await Program.fetchIdl(programId, provider); // This is an Anchor 0.30+ IDL. Return the old IDLs // @ts-ignore - if (!idl || idl?.address) { + if (!idl || !idl?.address) { idl = IDL as any; } } const proposal = new Program( idl as Proposal, - programId, provider, undefined, () => proposalResolvers @@ -36,199 +35,195 @@ export async function init( } const IDL = { - version: "0.1.1", - name: "proposal", + address: "propFYxqmVcufMhk5esNMrexq2ogHbbC2kP9PU1qxKs", + metadata: { + name: "proposal", + version: "0.1.1", + spec: "0.1.0", + description: "Created with Anchor", + }, instructions: [ { - name: "initializeProposalV0", + name: "initialize_proposal_config_v0", + discriminator: [126, 56, 75, 243, 150, 18, 71, 178], accounts: [ { name: "payer", - isMut: true, - isSigner: true, - }, - { - name: "namespace", - isMut: false, - isSigner: true, - docs: [ - "Every proposal must have a namespace to prevent seed collision", - ], - }, - { - name: "proposal", - isMut: true, - isSigner: false, + writable: true, + signer: true, }, { name: "owner", - isMut: false, - isSigner: false, + signer: true, }, { - name: "proposalConfig", - isMut: false, - isSigner: false, + name: "proposal_config", + writable: true, + pda: { + seeds: [ + { + kind: "const", + value: [ + 112, 114, 111, 112, 111, 115, 97, 108, 95, 99, 111, 110, 102, + 105, 103, + ], + }, + { + kind: "arg", + path: "args.name", + }, + ], + }, }, { - name: "systemProgram", - isMut: false, - isSigner: false, + name: "system_program", + address: "11111111111111111111111111111111", }, ], args: [ { name: "args", type: { - defined: "InitializeProposalArgsV0", + defined: { + name: "InitializeProposalConfigArgsV0", + }, }, }, ], }, { - name: "initializeProposalConfigV0", + name: "initialize_proposal_v0", + discriminator: [63, 235, 9, 201, 163, 171, 206, 33], accounts: [ { name: "payer", - isMut: true, - isSigner: true, + writable: true, + signer: true, + }, + { + name: "namespace", + docs: [ + "Every proposal must have a namespace to prevent seed collision", + ], + signer: true, + }, + { + name: "proposal", + writable: true, }, { name: "owner", - isMut: false, - isSigner: true, }, { - name: "proposalConfig", - isMut: true, - isSigner: false, - pda: { - seeds: [ - { - kind: "const", - type: "string", - value: "proposal_config", - }, - { - kind: "arg", - type: { - defined: "InitializeProposalConfigArgsV0", - }, - path: "args.name", - }, - ], - }, + name: "proposal_config", }, { - name: "systemProgram", - isMut: false, - isSigner: false, + name: "system_program", + address: "11111111111111111111111111111111", }, ], args: [ { name: "args", type: { - defined: "InitializeProposalConfigArgsV0", + defined: { + name: "InitializeProposalArgsV0", + }, }, }, ], }, { - name: "voteV0", + name: "update_proposal_config_v0", + discriminator: [10, 35, 154, 40, 71, 42, 34, 68], accounts: [ { - name: "voteController", - isMut: false, - isSigner: true, + name: "proposal_config", + writable: true, }, { - name: "voter", - isMut: false, - isSigner: false, - }, - { - name: "stateController", - isMut: true, - isSigner: false, - }, - { - name: "proposalConfig", - isMut: false, - isSigner: false, - relations: ["on_vote_hook", "state_controller", "vote_controller"], - }, - { - name: "proposal", - isMut: true, - isSigner: false, + name: "authority", + signer: true, relations: ["proposal_config"], }, - { - name: "onVoteHook", - isMut: false, - isSigner: false, - }, ], args: [ { name: "args", type: { - defined: "VoteArgsV0", + defined: { + name: "UpdateProposalConfigArgsV0", + }, }, }, ], }, { - name: "updateStateV0", + name: "update_state_v0", + discriminator: [234, 64, 38, 223, 224, 216, 29, 82], accounts: [ { - name: "stateController", - isMut: false, - isSigner: true, + name: "state_controller", + signer: true, + relations: ["proposal_config"], }, { name: "proposal", - isMut: true, - isSigner: false, - relations: ["proposal_config"], + writable: true, }, { - name: "proposalConfig", - isMut: false, - isSigner: false, - relations: ["state_controller"], + name: "proposal_config", + relations: ["proposal"], }, ], args: [ { name: "args", type: { - defined: "UpdateStateArgsV0", + defined: { + name: "UpdateStateArgsV0", + }, }, }, ], }, { - name: "updateProposalConfigV0", + name: "vote_v0", + discriminator: [82, 47, 20, 22, 108, 59, 245, 115], accounts: [ { - name: "proposalConfig", - isMut: true, - isSigner: false, - relations: ["authority"], + name: "vote_controller", + signer: true, + relations: ["proposal_config"], }, { - name: "authority", - isMut: false, - isSigner: true, + name: "voter", + }, + { + name: "state_controller", + writable: true, + relations: ["proposal_config"], + }, + { + name: "proposal_config", + relations: ["proposal"], + }, + { + name: "proposal", + writable: true, + }, + { + name: "on_vote_hook", + relations: ["proposal_config"], }, ], args: [ { name: "args", type: { - defined: "UpdateProposalConfigArgsV0", + defined: { + name: "VoteArgsV0", + }, }, }, ], @@ -236,84 +231,80 @@ const IDL = { ], accounts: [ { - name: "proposalConfigV0", + name: "ProposalConfigV0", + discriminator: [162, 41, 210, 200, 205, 177, 228, 11], + }, + { + name: "ProposalV0", + discriminator: [254, 194, 16, 171, 214, 20, 192, 81], + }, + ], + errors: [ + { + code: 6000, + name: "ArithmeticError", + msg: "Error in arithmetic", + }, + { + code: 6001, + name: "StringTooLong", + msg: "String exceeds limits", + }, + ], + types: [ + { + name: "Choice", type: { kind: "struct", fields: [ { - name: "voteController", - docs: ["Signer that controls voting and vote weights"], - type: "publicKey", - }, - { - name: "stateController", - docs: [ - "Signer that controls the transitions of `ProposalState`", - "You can either use the default `state-controller` smart contract", - "Or you can implement a program that calls the `resolve_v0` method.", - "The vote can only be resolved when this `resolution_settings` PDA signs `resolve_v0`. This allows", - "you to trigger resolution on either (a) a vote, (b) a timestamp, or (c) some custom trigger with clockwork", - ], - type: "publicKey", - }, - { - name: "onVoteHook", + name: "weight", docs: [ - "Optional program that will be called with `on_vote_v0` after every vote. This allows you to resolve", - "the vote eagerly. For most use cases, this should just be the owner of the state controller.", - "WARNING: This program has full authority to set the outcome of votes, make sure you trust it", + "Total vote weight behind this choice. u128 to support u64 tokens multiplied by a large multiplier (as in helium)", ], - type: "publicKey", + type: "u128", }, { name: "name", type: "string", }, { - name: "bumpSeed", - type: "u8", - }, - { - name: "authority", - type: "publicKey", + name: "uri", + docs: ["Any other data that you may want to put in here"], + type: { + option: "string", + }, }, ], }, }, { - name: "proposalV0", + name: "ChoiceArg", type: { kind: "struct", fields: [ { - name: "namespace", - type: "publicKey", - }, - { - name: "owner", - type: "publicKey", + name: "name", + type: "string", }, { - name: "state", + name: "uri", + docs: ["Any other data that you may want to put in here"], type: { - defined: "ProposalState", + option: "string", }, }, - { - name: "createdAt", - type: "i64", - }, - { - name: "proposalConfig", - type: "publicKey", - }, - { - name: "maxChoicesPerVoter", - docs: ["Allows for multiple selection votes"], - type: "u16", - }, + ], + }, + }, + { + name: "InitializeProposalArgsV0", + type: { + kind: "struct", + fields: [ { name: "seed", + docs: ["Allow a custom seed for indexing"], type: "bytes", }, { @@ -322,32 +313,32 @@ const IDL = { }, { name: "uri", - docs: ["URI to json containing name, description, etc"], type: "string", }, { - name: "tags", - type: { - vec: "string", - }, + name: "max_choices_per_voter", + docs: ["Allows for multiple selection votes"], + type: "u16", }, { name: "choices", type: { vec: { - defined: "Choice", + defined: { + name: "ChoiceArg", + }, }, }, }, { - name: "bumpSeed", - type: "u8", + name: "tags", + type: { + vec: "string", + }, }, ], }, }, - ], - types: [ { name: "InitializeProposalConfigArgsV0", type: { @@ -358,12 +349,12 @@ const IDL = { type: "string", }, { - name: "voteController", + name: "vote_controller", docs: ["Signer that controls voting and vote weights"], - type: "publicKey", + type: "pubkey", }, { - name: "stateController", + name: "state_controller", docs: [ "Signer that controls the transitions of `ProposalState`", "You can either use the default `state-controller` smart contract", @@ -371,50 +362,155 @@ const IDL = { "The vote can only be resolved when this `resolution_settings` PDA signs `resolve_v0`. This allows", "you to trigger resolution on either (a) a vote, (b) a timestamp, or (c) some custom trigger with clockwork", ], - type: "publicKey", + type: "pubkey", }, { - name: "onVoteHook", + name: "on_vote_hook", docs: [ "Optional program that will be called with `on_vote_v0` after every vote", "Defaults to the owner of `resolution_settings`, which allows it to reactively call resolve_v0", ], - type: "publicKey", + type: "pubkey", }, { name: "authority", - type: "publicKey", + type: "pubkey", }, ], }, }, { - name: "ChoiceArg", + name: "ProposalConfigV0", type: { kind: "struct", fields: [ + { + name: "vote_controller", + docs: ["Signer that controls voting and vote weights"], + type: "pubkey", + }, + { + name: "state_controller", + docs: [ + "Signer that controls the transitions of `ProposalState`", + "You can either use the default `state-controller` smart contract", + "Or you can implement a program that calls the `resolve_v0` method.", + "The vote can only be resolved when this `resolution_settings` PDA signs `resolve_v0`. This allows", + "you to trigger resolution on either (a) a vote, (b) a timestamp, or (c) some custom trigger with clockwork", + ], + type: "pubkey", + }, + { + name: "on_vote_hook", + docs: [ + "Optional program that will be called with `on_vote_v0` after every vote. This allows you to resolve", + "the vote eagerly. For most use cases, this should just be the owner of the state controller.", + "WARNING: This program has full authority to set the outcome of votes, make sure you trust it", + ], + type: "pubkey", + }, { name: "name", type: "string", }, { - name: "uri", - docs: ["Any other data that you may want to put in here"], - type: { - option: "string", - }, + name: "bump_seed", + type: "u8", + }, + { + name: "authority", + type: "pubkey", }, ], }, }, { - name: "InitializeProposalArgsV0", + name: "ProposalState", + type: { + kind: "enum", + variants: [ + { + name: "Draft", + }, + { + name: "Cancelled", + }, + { + name: "Voting", + fields: [ + { + name: "start_ts", + type: "i64", + }, + ], + }, + { + name: "Resolved", + fields: [ + { + name: "choices", + type: { + vec: "u16", + }, + }, + { + name: "end_ts", + type: "i64", + }, + ], + }, + { + name: "Custom", + fields: [ + { + name: "name", + type: "string", + }, + { + name: "bin", + type: "bytes", + }, + ], + }, + ], + }, + }, + { + name: "ProposalV0", type: { kind: "struct", fields: [ + { + name: "namespace", + type: "pubkey", + }, + { + name: "owner", + type: "pubkey", + }, + { + name: "state", + type: { + defined: { + name: "ProposalState", + }, + }, + }, + { + name: "created_at", + type: "i64", + }, + { + name: "proposal_config", + type: "pubkey", + }, + { + name: "max_choices_per_voter", + docs: ["Allows for multiple selection votes"], + type: "u16", + }, { name: "seed", - docs: ["Allow a custom seed for indexing"], type: "bytes", }, { @@ -423,26 +519,28 @@ const IDL = { }, { name: "uri", + docs: ["URI to json containing name, description, etc"], type: "string", }, { - name: "maxChoicesPerVoter", - docs: ["Allows for multiple selection votes"], - type: "u16", + name: "tags", + type: { + vec: "string", + }, }, { name: "choices", type: { vec: { - defined: "ChoiceArg", + defined: { + name: "Choice", + }, }, }, }, { - name: "tags", - type: { - vec: "string", - }, + name: "bump_seed", + type: "u8", }, ], }, @@ -453,27 +551,27 @@ const IDL = { kind: "struct", fields: [ { - name: "voteController", + name: "vote_controller", type: { - option: "publicKey", + option: "pubkey", }, }, { - name: "stateController", + name: "state_controller", type: { - option: "publicKey", + option: "pubkey", }, }, { - name: "onVoteHook", + name: "on_vote_hook", type: { - option: "publicKey", + option: "pubkey", }, }, { name: "authority", type: { - option: "publicKey", + option: "pubkey", }, }, ], @@ -485,9 +583,11 @@ const IDL = { kind: "struct", fields: [ { - name: "newState", + name: "new_state", type: { - defined: "ProposalState", + defined: { + name: "ProposalState", + }, }, }, ], @@ -507,101 +607,12 @@ const IDL = { type: "u128", }, { - name: "removeVote", + name: "remove_vote", docs: ["This is a remove operation"], type: "bool", }, ], }, }, - { - name: "Choice", - type: { - kind: "struct", - fields: [ - { - name: "weight", - docs: [ - "Total vote weight behind this choice. u128 to support u64 tokens multiplied by a large multiplier (as in helium)", - ], - type: "u128", - }, - { - name: "name", - type: "string", - }, - { - name: "uri", - docs: ["Any other data that you may want to put in here"], - type: { - option: "string", - }, - }, - ], - }, - }, - { - name: "ProposalState", - type: { - kind: "enum", - variants: [ - { - name: "Draft", - }, - { - name: "Cancelled", - }, - { - name: "Voting", - fields: [ - { - name: "start_ts", - type: "i64", - }, - ], - }, - { - name: "Resolved", - fields: [ - { - name: "choices", - type: { - vec: "u16", - }, - }, - { - name: "end_ts", - type: "i64", - }, - ], - }, - { - name: "Custom", - fields: [ - { - name: "name", - type: "string", - }, - { - name: "bin", - type: "bytes", - }, - ], - }, - ], - }, - }, - ], - errors: [ - { - code: 6000, - name: "ArithmeticError", - msg: "Error in arithmetic", - }, - { - code: 6001, - name: "StringTooLong", - msg: "String exceeds limits", - }, ], }; \ No newline at end of file diff --git a/packages/state-controller-sdk/CHANGELOG.md b/packages/state-controller-sdk/CHANGELOG.md index c2f9439..1f649e3 100644 --- a/packages/state-controller-sdk/CHANGELOG.md +++ b/packages/state-controller-sdk/CHANGELOG.md @@ -3,6 +3,54 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.5-alpha.0](https://github.com/helium/modular-governance/compare/v0.0.15...v0.1.5-alpha.0) (2025-03-19) + +**Note:** Version bump only for package @helium/state-controller-sdk + + + + + +## [0.1.4](https://github.com/helium/modular-governance/compare/v0.0.15...v0.1.4) (2025-02-24) + +**Note:** Version bump only for package @helium/state-controller-sdk + + + + + +## [0.1.3](https://github.com/helium/modular-governance/compare/v0.0.15...v0.1.3) (2025-02-24) + +**Note:** Version bump only for package @helium/state-controller-sdk + + + + + +## [0.1.2](https://github.com/helium/modular-governance/compare/v0.0.15...v0.1.2) (2025-02-24) + +**Note:** Version bump only for package @helium/state-controller-sdk + + + + + +## [0.1.1](https://github.com/helium/modular-governance/compare/v0.0.15...v0.1.1) (2025-02-14) + +**Note:** Version bump only for package @helium/state-controller-sdk + + + + + +# [0.1.0](https://github.com/helium/modular-governance/compare/v0.0.15...v0.1.0) (2025-02-14) + +**Note:** Version bump only for package @helium/state-controller-sdk + + + + + ## [0.0.15](https://github.com/helium/modular-governance/compare/v0.0.14...v0.0.15) (2024-12-06) **Note:** Version bump only for package @helium/state-controller-sdk diff --git a/packages/state-controller-sdk/package.json b/packages/state-controller-sdk/package.json index a9ff514..5d3e6cc 100644 --- a/packages/state-controller-sdk/package.json +++ b/packages/state-controller-sdk/package.json @@ -5,7 +5,7 @@ "registry": "https://registry.npmjs.org/" }, "license": "Apache-2.0", - "version": "0.0.15", + "version": "0.1.5-alpha.0", "description": "Interface to the state controller smart contract", "repository": { "type": "git", @@ -31,9 +31,9 @@ "prebuild": "npm run clean && npm run package" }, "dependencies": { - "@coral-xyz/anchor": "^0.28.0", - "@helium/anchor-resolvers": "^0.5.0", - "@helium/modular-governance-idls": "^0.0.15" + "@coral-xyz/anchor": "^0.31.0", + "@helium/anchor-resolvers": "^0.10.0-alpha.6", + "@helium/modular-governance-idls": "^0.1.5-alpha.0" }, "devDependencies": { "git-format-staged": "^2.1.3", diff --git a/packages/state-controller-sdk/src/index.ts b/packages/state-controller-sdk/src/index.ts index b00ce00..b74dc3a 100644 --- a/packages/state-controller-sdk/src/index.ts +++ b/packages/state-controller-sdk/src/index.ts @@ -19,14 +19,13 @@ export async function init( idl = await Program.fetchIdl(programId, provider); // This is an Anchor 0.30+ IDL. Return the old IDLs // @ts-ignore - if (!idl || idl?.address) { + if (!idl || !idl?.address) { idl = IDL as any; } } const stateController = new Program( idl as StateController, - programId, provider, undefined, () => stateControllerResolvers @@ -36,192 +35,232 @@ export async function init( } const IDL = { - version: "0.1.2", - name: "state_controller", + address: "stcfiqW3fwD9QCd8Bqr1NBLrs7dftZHBQe7RiMMA4aM", + metadata: { + name: "state_controller", + version: "0.1.2", + spec: "0.1.0", + description: "Created with Anchor", + }, instructions: [ { - name: "onVoteV0", - accounts: [ - { - name: "voter", - isMut: false, - isSigner: false, - }, - { - name: "voteController", - isMut: false, - isSigner: true, - }, - { - name: "stateController", - isMut: true, - isSigner: false, - }, - { - name: "proposal", - isMut: false, - isSigner: false, - relations: ["proposal_config"], - }, - { - name: "proposalConfig", - isMut: false, - isSigner: false, - relations: ["state_controller", "vote_controller"], - }, - ], - args: [ - { - name: "args", - type: { - defined: "VoteArgsV0", - }, - }, - ], - returns: { - option: { - vec: "u16", - }, - }, - }, - { - name: "initializeResolutionSettingsV0", + name: "initialize_resolution_settings_v0", + discriminator: [87, 126, 140, 66, 245, 25, 95, 181], accounts: [ { name: "payer", - isMut: true, - isSigner: true, + writable: true, + signer: true, }, { - name: "resolutionSettings", - isMut: true, - isSigner: false, + name: "resolution_settings", + writable: true, pda: { seeds: [ { kind: "const", - type: "string", - value: "resolution_settings", + value: [ + 114, 101, 115, 111, 108, 117, 116, 105, 111, 110, 95, 115, + 101, 116, 116, 105, 110, 103, 115, + ], }, { kind: "arg", - type: { - defined: "InitializeResolutionSettingsArgsV0", - }, path: "args.name", }, ], }, }, { - name: "systemProgram", - isMut: false, - isSigner: false, + name: "system_program", + address: "11111111111111111111111111111111", }, ], args: [ { name: "args", type: { - defined: "InitializeResolutionSettingsArgsV0", + defined: { + name: "InitializeResolutionSettingsArgsV0", + }, }, }, ], }, { - name: "updateStateV0", + name: "on_vote_v0", + discriminator: [140, 62, 3, 226, 87, 248, 128, 33], accounts: [ { - name: "owner", - isMut: false, - isSigner: true, + name: "voter", }, { - name: "proposal", - isMut: true, - isSigner: false, - relations: ["owner", "proposal_config"], + name: "vote_controller", + signer: true, + relations: ["proposal_config"], }, { - name: "proposalConfig", - isMut: false, - isSigner: false, - relations: ["state_controller"], + name: "state_controller", + writable: true, + relations: ["proposal_config"], }, { - name: "stateController", - isMut: false, - isSigner: false, + name: "proposal", }, { - name: "proposalProgram", - isMut: false, - isSigner: false, + name: "proposal_config", + relations: ["proposal"], }, ], args: [ { name: "args", type: { - defined: "UpdateStateArgsV0", + defined: { + name: "VoteArgsV0", + }, }, }, ], + returns: { + option: { + vec: "u16", + }, + }, }, { - name: "resolveV0", + name: "resolve_v0", + discriminator: [245, 242, 15, 52, 90, 76, 188, 125], accounts: [ { - name: "stateController", - isMut: true, - isSigner: false, + name: "state_controller", + writable: true, + relations: ["proposal_config"], }, { name: "proposal", - isMut: true, - isSigner: false, - relations: ["proposal_config"], + writable: true, }, { - name: "proposalConfig", - isMut: false, - isSigner: false, - relations: ["state_controller"], + name: "proposal_config", + relations: ["proposal"], }, { - name: "proposalProgram", - isMut: false, - isSigner: false, + name: "proposal_program", }, ], args: [], }, + { + name: "update_state_v0", + discriminator: [234, 64, 38, 223, 224, 216, 29, 82], + accounts: [ + { + name: "owner", + signer: true, + relations: ["proposal"], + }, + { + name: "proposal", + writable: true, + }, + { + name: "proposal_config", + relations: ["proposal"], + }, + { + name: "state_controller", + relations: ["proposal_config"], + }, + { + name: "proposal_program", + }, + ], + args: [ + { + name: "args", + type: { + defined: { + name: "UpdateStateArgsV0", + }, + }, + }, + ], + }, ], accounts: [ { - name: "resolutionSettingsV0", + name: "ProposalConfigV0", + discriminator: [162, 41, 210, 200, 205, 177, 228, 11], + }, + { + name: "ProposalV0", + discriminator: [254, 194, 16, 171, 214, 20, 192, 81], + }, + { + name: "ResolutionSettingsV0", + discriminator: [169, 38, 51, 69, 190, 118, 10, 130], + }, + ], + errors: [ + { + code: 6000, + name: "ProposalAlreadyResolved", + msg: "Proposal was already resolved. Call resolve_v0", + }, + { + code: 6001, + name: "ChoicesEmpty", + msg: "Resolved choices must not be empty", + }, + { + code: 6002, + name: "EndTimestampPassed", + msg: "End timestamp has already passed", + }, + { + code: 6003, + name: "InvalidOffset", + msg: "Offset must be a positive integer", + }, + { + code: 6004, + name: "InvalidPercentage", + msg: "Percentage may not be less than 0 or greater than PERCENTAGE_DIVISOR", + }, + { + code: 6005, + name: "InvalidTopN", + msg: "Top n must be greater than 0", + }, + ], + types: [ + { + name: "Choice", type: { kind: "struct", fields: [ + { + name: "weight", + docs: [ + "Total vote weight behind this choice. u128 to support u64 tokens multiplied by a large multiplier (as in helium)", + ], + type: "u128", + }, { name: "name", type: "string", }, { - name: "settings", + name: "uri", + docs: ["Any other data that you may want to put in here"], type: { - defined: "ResolutionStrategy", + option: "string", }, }, - { - name: "bumpSeed", - type: "u8", - }, ], }, }, - ], - types: [ { name: "InitializeResolutionSettingsArgsV0", type: { @@ -234,94 +273,125 @@ const IDL = { { name: "settings", type: { - defined: "ResolutionStrategy", + defined: { + name: "ResolutionStrategy", + }, }, }, ], }, }, { - name: "VoteArgsV0", + name: "ProposalConfigV0", type: { kind: "struct", fields: [ { - name: "choice", - type: "u16", + name: "vote_controller", + docs: ["Signer that controls voting and vote weights"], + type: "pubkey", }, { - name: "weight", - type: "u128", + name: "state_controller", + docs: [ + "Signer that controls the transitions of `ProposalState`", + "You can either use the default `state-controller` smart contract", + "Or you can implement a program that calls the `resolve_v0` method.", + "The vote can only be resolved when this `resolution_settings` PDA signs `resolve_v0`. This allows", + "you to trigger resolution on either (a) a vote, (b) a timestamp, or (c) some custom trigger with clockwork", + ], + type: "pubkey", }, { - name: "removeVote", - docs: ["This is a remove operation"], - type: "bool", + name: "on_vote_hook", + docs: [ + "Optional program that will be called with `on_vote_v0` after every vote. This allows you to resolve", + "the vote eagerly. For most use cases, this should just be the owner of the state controller.", + "WARNING: This program has full authority to set the outcome of votes, make sure you trust it", + ], + type: "pubkey", }, - ], - }, - }, - { - name: "UpdateStateArgsV0", - type: { - kind: "struct", - fields: [ { - name: "newState", - type: { - defined: "ProposalState", - }, + name: "name", + type: "string", + }, + { + name: "bump_seed", + type: "u8", + }, + { + name: "authority", + type: "pubkey", }, ], }, }, { - name: "ResolutionStrategy", - docs: [ - "Reverse polish notation calculator", - "https://en.wikipedia.org/wiki/Reverse_Polish_notation", - "Do this to have a flat structure since rust doesn't like unbounded nesting of types", - ], + name: "ProposalV0", type: { kind: "struct", fields: [ { - name: "nodes", + name: "namespace", + type: "pubkey", + }, + { + name: "owner", + type: "pubkey", + }, + { + name: "state", type: { - vec: { - defined: "ResolutionNode", + defined: { + name: "proposal::state::ProposalState", }, }, }, - ], - }, - }, - { - name: "ProposalState", - type: { - kind: "enum", - variants: [ { - name: "Draft", + name: "created_at", + type: "i64", }, { - name: "Cancelled", + name: "proposal_config", + type: "pubkey", }, { - name: "Voting", + name: "max_choices_per_voter", + docs: ["Allows for multiple selection votes"], + type: "u16", }, { - name: "Custom", - fields: [ - { - name: "name", - type: "string", - }, - { - name: "bin", - type: "bytes", + name: "seed", + type: "bytes", + }, + { + name: "name", + type: "string", + }, + { + name: "uri", + docs: ["URI to json containing name, description, etc"], + type: "string", + }, + { + name: "tags", + type: { + vec: "string", + }, + }, + { + name: "choices", + type: { + vec: { + defined: { + name: "Choice", + }, }, - ], + }, + }, + { + name: "bump_seed", + type: "u8", }, ], }, @@ -433,37 +503,170 @@ const IDL = { ], }, }, - ], - errors: [ { - code: 6000, - name: "ProposalAlreadyResolved", - msg: "Proposal was already resolved. Call resolve_v0", + name: "ResolutionSettingsV0", + type: { + kind: "struct", + fields: [ + { + name: "name", + type: "string", + }, + { + name: "settings", + type: { + defined: { + name: "ResolutionStrategy", + }, + }, + }, + { + name: "bump_seed", + type: "u8", + }, + ], + }, }, { - code: 6001, - name: "ChoicesEmpty", - msg: "Resolved choices must not be empty", + name: "ResolutionStrategy", + docs: [ + "Reverse polish notation calculator", + "https://en.wikipedia.org/wiki/Reverse_Polish_notation", + "Do this to have a flat structure since rust doesn't like unbounded nesting of types", + ], + type: { + kind: "struct", + fields: [ + { + name: "nodes", + type: { + vec: { + defined: { + name: "ResolutionNode", + }, + }, + }, + }, + ], + }, }, { - code: 6002, - name: "EndTimestampPassed", - msg: "End timestamp has already passed", + name: "UpdateStateArgsV0", + type: { + kind: "struct", + fields: [ + { + name: "new_state", + type: { + defined: { + name: "state_controller::instructions::update_state_v0::ProposalState", + }, + }, + }, + ], + }, }, { - code: 6003, - name: "InvalidOffset", - msg: "Offset must be a positive integer", + name: "VoteArgsV0", + type: { + kind: "struct", + fields: [ + { + name: "choice", + type: "u16", + }, + { + name: "weight", + type: "u128", + }, + { + name: "remove_vote", + docs: ["This is a remove operation"], + type: "bool", + }, + ], + }, }, { - code: 6004, - name: "InvalidPercentage", - msg: "Percentage may not be less than 0 or greater than PERCENTAGE_DIVISOR", + name: "proposal::state::ProposalState", + type: { + kind: "enum", + variants: [ + { + name: "Draft", + }, + { + name: "Cancelled", + }, + { + name: "Voting", + fields: [ + { + name: "start_ts", + type: "i64", + }, + ], + }, + { + name: "Resolved", + fields: [ + { + name: "choices", + type: { + vec: "u16", + }, + }, + { + name: "end_ts", + type: "i64", + }, + ], + }, + { + name: "Custom", + fields: [ + { + name: "name", + type: "string", + }, + { + name: "bin", + type: "bytes", + }, + ], + }, + ], + }, }, { - code: 6005, - name: "InvalidTopN", - msg: "Top n must be greater than 0", + name: "state_controller::instructions::update_state_v0::ProposalState", + type: { + kind: "enum", + variants: [ + { + name: "Draft", + }, + { + name: "Cancelled", + }, + { + name: "Voting", + }, + { + name: "Custom", + fields: [ + { + name: "name", + type: "string", + }, + { + name: "bin", + type: "bytes", + }, + ], + }, + ], + }, }, ], }; \ No newline at end of file diff --git a/packages/token-voter-sdk/CHANGELOG.md b/packages/token-voter-sdk/CHANGELOG.md index fec9f22..fef7c86 100644 --- a/packages/token-voter-sdk/CHANGELOG.md +++ b/packages/token-voter-sdk/CHANGELOG.md @@ -3,6 +3,54 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.5-alpha.0](https://github.com/helium/modular-governance/compare/v0.0.15...v0.1.5-alpha.0) (2025-03-19) + +**Note:** Version bump only for package @helium/token-voter-sdk + + + + + +## [0.1.4](https://github.com/helium/modular-governance/compare/v0.0.15...v0.1.4) (2025-02-24) + +**Note:** Version bump only for package @helium/token-voter-sdk + + + + + +## [0.1.3](https://github.com/helium/modular-governance/compare/v0.0.15...v0.1.3) (2025-02-24) + +**Note:** Version bump only for package @helium/token-voter-sdk + + + + + +## [0.1.2](https://github.com/helium/modular-governance/compare/v0.0.15...v0.1.2) (2025-02-24) + +**Note:** Version bump only for package @helium/token-voter-sdk + + + + + +## [0.1.1](https://github.com/helium/modular-governance/compare/v0.0.15...v0.1.1) (2025-02-14) + +**Note:** Version bump only for package @helium/token-voter-sdk + + + + + +# [0.1.0](https://github.com/helium/modular-governance/compare/v0.0.15...v0.1.0) (2025-02-14) + +**Note:** Version bump only for package @helium/token-voter-sdk + + + + + ## [0.0.15](https://github.com/helium/modular-governance/compare/v0.0.14...v0.0.15) (2024-12-06) **Note:** Version bump only for package @helium/token-voter-sdk diff --git a/packages/token-voter-sdk/package.json b/packages/token-voter-sdk/package.json index 0c065be..89c3d8f 100644 --- a/packages/token-voter-sdk/package.json +++ b/packages/token-voter-sdk/package.json @@ -5,7 +5,7 @@ "registry": "https://registry.npmjs.org/" }, "license": "Apache-2.0", - "version": "0.0.15", + "version": "0.1.5-alpha.0", "description": "Interface to the token voter smart contract", "repository": { "type": "git", @@ -31,9 +31,9 @@ "prebuild": "npm run clean && npm run package" }, "dependencies": { - "@coral-xyz/anchor": "^0.28.0", - "@helium/anchor-resolvers": "^0.5.0", - "@helium/modular-governance-idls": "^0.0.15", + "@coral-xyz/anchor": "^0.31.0", + "@helium/anchor-resolvers": "^0.10.0-alpha.6", + "@helium/modular-governance-idls": "^0.1.5-alpha.0", "@solana/spl-token": "^0.3.8" }, "devDependencies": { diff --git a/packages/token-voter-sdk/src/functions/deposit.ts b/packages/token-voter-sdk/src/functions/deposit.ts index c68f8ab..fab0943 100644 --- a/packages/token-voter-sdk/src/functions/deposit.ts +++ b/packages/token-voter-sdk/src/functions/deposit.ts @@ -58,7 +58,7 @@ export async function deposit({ .preInstructions( await createMintInstructions(program.provider, 0, receipt, receipt, mintKeypair) ) - .accounts({ + .accountsPartial({ tokenVoter, mint: mintKeypair.publicKey, recipient, diff --git a/packages/token-voter-sdk/src/index.ts b/packages/token-voter-sdk/src/index.ts index c10b204..6bd57b1 100644 --- a/packages/token-voter-sdk/src/index.ts +++ b/packages/token-voter-sdk/src/index.ts @@ -21,7 +21,6 @@ export async function init( const tokenVoter = new Program( idl as TokenVoter, - programId, provider, undefined, () => tokenVoterResolvers diff --git a/programs/nft_proxy/Cargo.toml b/programs/nft_proxy/Cargo.toml index cb3ce98..c9699c1 100644 --- a/programs/nft_proxy/Cargo.toml +++ b/programs/nft_proxy/Cargo.toml @@ -9,6 +9,7 @@ crate-type = ["cdylib", "lib"] name = "nft_proxy" [features] +idl-build = ["anchor-lang/idl-build", "anchor-spl/idl-build"] no-entrypoint = [] no-idl = [] no-log-ix-name = [] @@ -17,8 +18,7 @@ default = [] devnet = [] [dependencies] -anchor-lang = { git = "https://github.com/ChewingGlass/anchor", branch = "bugfix/cpi-polymorphism", features = ["init-if-needed"] } -anchor-spl = { git = "https://github.com/ChewingGlass/anchor", branch = "bugfix/cpi-polymorphism", features = ["token"] } +anchor-lang = { workspace = true } +anchor-spl = { workspace = true } bytemuck = "1.14.0" -time = "0.3.36" diff --git a/programs/nft_proxy/src/instructions/assign_proxy_v0.rs b/programs/nft_proxy/src/instructions/assign_proxy_v0.rs index 92a153c..8a2ab01 100644 --- a/programs/nft_proxy/src/instructions/assign_proxy_v0.rs +++ b/programs/nft_proxy/src/instructions/assign_proxy_v0.rs @@ -1,8 +1,10 @@ -use crate::error::ErrorCode; use anchor_lang::prelude::*; use anchor_spl::token::{Mint, TokenAccount}; -use crate::state::{ProxyAssignmentV0, ProxyConfigV0}; +use crate::{ + error::ErrorCode, + state::{ProxyAssignmentV0, ProxyConfigV0}, +}; #[derive(AnchorSerialize, AnchorDeserialize)] pub struct AssignProxyArgsV0 { @@ -117,7 +119,7 @@ pub fn handler(ctx: Context, args: AssignProxyArgsV0) -> Result<( } else { ctx.accounts.current_proxy_assignment.rent_refund }, - bump_seed: ctx.bumps["current_proxy_assignment"], + bump_seed: ctx.bumps.current_proxy_assignment, // If this is a recursive proxy (ie not the initial proxy), use the existing expiration time expiration_time: if ctx.accounts.current_proxy_assignment.expiration_time > 0 && ctx.accounts.current_proxy_assignment.voter != Pubkey::default() @@ -148,7 +150,7 @@ pub fn handler(ctx: Context, args: AssignProxyArgsV0) -> Result<( } else { ctx.accounts.next_proxy_assignment.rent_refund }, - bump_seed: ctx.bumps["next_proxy_assignment"], + bump_seed: ctx.bumps.next_proxy_assignment, expiration_time: args.expiration_time, }); diff --git a/programs/nft_voter/Cargo.toml b/programs/nft_voter/Cargo.toml index d24e162..b7a4478 100644 --- a/programs/nft_voter/Cargo.toml +++ b/programs/nft_voter/Cargo.toml @@ -9,6 +9,7 @@ crate-type = ["cdylib", "lib"] name = "nft_voter" [features] +idl-build = ["anchor-lang/idl-build", "anchor-spl/idl-build", "proposal/idl-build", "nft-proxy/idl-build"] no-entrypoint = [] no-idl = [] no-log-ix-name = [] @@ -18,9 +19,8 @@ devnet = [] serde-feature = ["serde"] [dependencies] -anchor-lang = { git = "https://github.com/ChewingGlass/anchor", branch = "bugfix/cpi-polymorphism", features = ["init-if-needed"] } -anchor-spl = { git = "https://github.com/ChewingGlass/anchor", branch = "bugfix/cpi-polymorphism", features = ["token"] } +anchor-lang = { workspace = true } +anchor-spl = { workspace = true } proposal = { path = "../proposal", features = ["no-entrypoint", "cpi"] } nft-proxy = { path = "../nft_proxy", features = ["cpi"] } -serde = { version = "1.0", features = ["derive"], optional = true } -time = "0.3.36" \ No newline at end of file +serde = { version = "1.0", features = ["derive"], optional = true } \ No newline at end of file diff --git a/programs/nft_voter/src/instructions/initialize_nft_voter_v0.rs b/programs/nft_voter/src/instructions/initialize_nft_voter_v0.rs index 21dba3b..d1bc95a 100644 --- a/programs/nft_voter/src/instructions/initialize_nft_voter_v0.rs +++ b/programs/nft_voter/src/instructions/initialize_nft_voter_v0.rs @@ -37,7 +37,7 @@ pub fn handler(ctx: Context, args: InitializeNftVoterArgsV .map(|k| k.key()) .unwrap_or_default(); ctx.accounts.nft_voter.set_inner(NftVoterV0 { - bump_seed: ctx.bumps["nft_voter"], + bump_seed: ctx.bumps.nft_voter, name: args.name, authority: args.authority, collection: ctx.accounts.collection.key(), diff --git a/programs/nft_voter/src/instructions/proxied_relinquish_vote_v0.rs b/programs/nft_voter/src/instructions/proxied_relinquish_vote_v0.rs index b92eea3..5281c63 100644 --- a/programs/nft_voter/src/instructions/proxied_relinquish_vote_v0.rs +++ b/programs/nft_voter/src/instructions/proxied_relinquish_vote_v0.rs @@ -1,11 +1,12 @@ use anchor_lang::prelude::*; -use anchor_spl::token::Mint; +use anchor_spl::{ + metadata::{mpl_token_metadata, MetadataAccount}, + token::Mint, +}; use nft_proxy::state::ProxyAssignmentV0; use proposal::{ProposalConfigV0, ProposalV0}; -use crate::{ - error::ErrorCode, metaplex::MetadataAccount, nft_voter_seeds, state::*, RelinquishVoteArgsV0, -}; +use crate::{error::ErrorCode, nft_voter_seeds, state::*, RelinquishVoteArgsV0}; #[derive(Accounts)] pub struct ProxiedRelinquishVoteV0<'info> { @@ -26,7 +27,7 @@ pub struct ProxiedRelinquishVoteV0<'info> { pub mint: Box>, #[account( seeds = ["metadata".as_bytes(), MetadataAccount::owner().as_ref(), mint.key().as_ref()], - seeds::program = MetadataAccount::owner(), + seeds::program = mpl_token_metadata::ID, bump, constraint = metadata.collection.as_ref().map(|col| col.verified && col.key == nft_voter.collection).unwrap_or_else(|| false) )] diff --git a/programs/nft_voter/src/instructions/proxied_vote_v0.rs b/programs/nft_voter/src/instructions/proxied_vote_v0.rs index 0a60f38..a2449c8 100644 --- a/programs/nft_voter/src/instructions/proxied_vote_v0.rs +++ b/programs/nft_voter/src/instructions/proxied_vote_v0.rs @@ -1,9 +1,12 @@ use anchor_lang::prelude::*; -use anchor_spl::token::Mint; +use anchor_spl::{ + metadata::{mpl_token_metadata, MetadataAccount}, + token::Mint, +}; use nft_proxy::state::ProxyAssignmentV0; use proposal::{ProposalConfigV0, ProposalV0}; -use crate::{error::ErrorCode, metaplex::MetadataAccount, nft_voter_seeds, state::*, VoteArgsV0}; +use crate::{error::ErrorCode, nft_voter_seeds, state::*, VoteArgsV0}; #[derive(Accounts)] pub struct ProxyVoteV0<'info> { @@ -30,8 +33,8 @@ pub struct ProxyVoteV0<'info> { pub voter: Signer<'info>, pub mint: Box>, #[account( - seeds = ["metadata".as_bytes(), MetadataAccount::owner().as_ref(), mint.key().as_ref()], - seeds::program = MetadataAccount::owner(), + seeds = ["metadata".as_bytes(), mpl_token_metadata::ID.as_ref(), mint.key().as_ref()], + seeds::program = mpl_token_metadata::ID, bump, constraint = metadata.collection.as_ref().map(|col| col.verified && col.key == nft_voter.collection).unwrap_or_else(|| false) )] @@ -67,7 +70,7 @@ pub fn handler(ctx: Context, args: VoteArgsV0) -> Result<()> { marker.rent_refund = ctx.accounts.payer.key(); } marker.proposal = ctx.accounts.proposal.key(); - marker.bump_seed = ctx.bumps["marker"]; + marker.bump_seed = ctx.bumps.marker; marker.voter = ctx.accounts.voter.key(); marker.nft_voter = ctx.accounts.nft_voter.key(); marker.mint = ctx.accounts.mint.key(); diff --git a/programs/nft_voter/src/instructions/relinquish_vote_v0.rs b/programs/nft_voter/src/instructions/relinquish_vote_v0.rs index ccf999a..2ad4371 100644 --- a/programs/nft_voter/src/instructions/relinquish_vote_v0.rs +++ b/programs/nft_voter/src/instructions/relinquish_vote_v0.rs @@ -1,9 +1,11 @@ -use crate::{error::ErrorCode, metaplex::MetadataAccount}; use anchor_lang::prelude::*; -use anchor_spl::token::{Mint, TokenAccount}; +use anchor_spl::{ + metadata::{mpl_token_metadata, MetadataAccount}, + token::{Mint, TokenAccount}, +}; use proposal::{ProposalConfigV0, ProposalV0}; -use crate::{nft_voter_seeds, state::*}; +use crate::{error::ErrorCode, nft_voter_seeds, state::*}; #[derive(AnchorSerialize, AnchorDeserialize, Clone, Default)] pub struct RelinquishVoteArgsV0 { @@ -28,8 +30,8 @@ pub struct RelinquishVoteV0<'info> { pub voter: Signer<'info>, pub mint: Box>, #[account( - seeds = ["metadata".as_bytes(), MetadataAccount::owner().as_ref(), mint.key().as_ref()], - seeds::program = MetadataAccount::owner(), + seeds = ["metadata".as_bytes(), mpl_token_metadata::ID.as_ref(), mint.key().as_ref()], + seeds::program = mpl_token_metadata::ID, bump, constraint = metadata.collection.as_ref().map(|col| col.verified && col.key == nft_voter.collection).unwrap_or_else(|| false) )] diff --git a/programs/nft_voter/src/instructions/vote_v0.rs b/programs/nft_voter/src/instructions/vote_v0.rs index eb619c5..d82a2e4 100644 --- a/programs/nft_voter/src/instructions/vote_v0.rs +++ b/programs/nft_voter/src/instructions/vote_v0.rs @@ -1,8 +1,11 @@ use anchor_lang::prelude::*; -use anchor_spl::token::{Mint, TokenAccount}; +use anchor_spl::{ + metadata::{mpl_token_metadata, MetadataAccount}, + token::{Mint, TokenAccount}, +}; use proposal::{ProposalConfigV0, ProposalV0}; -use crate::{error::ErrorCode, metaplex::MetadataAccount, nft_voter_seeds, state::*}; +use crate::{error::ErrorCode, nft_voter_seeds, state::*}; #[derive(AnchorSerialize, AnchorDeserialize, Clone, Default)] pub struct VoteArgsV0 { @@ -25,8 +28,8 @@ pub struct VoteV0<'info> { pub voter: Signer<'info>, pub mint: Box>, #[account( - seeds = ["metadata".as_bytes(), MetadataAccount::owner().as_ref(), mint.key().as_ref()], - seeds::program = MetadataAccount::owner(), + seeds = ["metadata".as_bytes(), mpl_token_metadata::ID.as_ref(), mint.key().as_ref()], + seeds::program = mpl_token_metadata::ID, bump, constraint = metadata.collection.as_ref().map(|col| col.verified && col.key == nft_voter.collection).unwrap_or_else(|| false) )] @@ -68,7 +71,7 @@ pub fn handler(ctx: Context, args: VoteArgsV0) -> Result<()> { marker.rent_refund = ctx.accounts.payer.key(); } marker.proposal = ctx.accounts.proposal.key(); - marker.bump_seed = ctx.bumps["marker"]; + marker.bump_seed = ctx.bumps.marker; marker.voter = ctx.accounts.voter.key(); marker.nft_voter = ctx.accounts.nft_voter.key(); marker.mint = ctx.accounts.mint.key(); diff --git a/programs/nft_voter/src/lib.rs b/programs/nft_voter/src/lib.rs index fab36b5..5dbdb6a 100644 --- a/programs/nft_voter/src/lib.rs +++ b/programs/nft_voter/src/lib.rs @@ -4,7 +4,6 @@ declare_id!("nftvLQ5t6xe2nQF1NBmBBmn15ed59tU6vSCkwQNEqdc"); pub mod error; pub mod instructions; -pub mod metaplex; pub mod state; pub use instructions::*; diff --git a/programs/nft_voter/src/metaplex.rs b/programs/nft_voter/src/metaplex.rs deleted file mode 100644 index cfae86b..0000000 --- a/programs/nft_voter/src/metaplex.rs +++ /dev/null @@ -1,175 +0,0 @@ -use std::{ops::Deref, str::FromStr}; - -use anchor_lang::prelude::*; -use borsh::{BorshDeserialize, BorshSerialize}; - -#[repr(C)] -#[cfg_attr(feature = "serde-feature", derive(Serialize, Deserialize))] -#[derive(BorshSerialize, BorshDeserialize, PartialEq, Eq, Debug, Clone, Copy)] -pub enum Key { - Uninitialized, - EditionV1, - MasterEditionV1, - ReservationListV1, - MetadataV1, - ReservationListV2, - MasterEditionV2, - EditionMarker, - UseAuthorityRecord, - CollectionAuthorityRecord, - TokenOwnedEscrow, - TokenRecord, - MetadataDelegate, -} - -#[repr(C)] -#[cfg_attr(feature = "serde-feature", derive(Serialize, Deserialize))] -#[derive(Clone, BorshSerialize, BorshDeserialize, Debug, PartialEq, Eq)] -pub struct Metadata { - /// Account discriminator. - pub key: Key, - /// Address of the update authority. - #[cfg_attr(feature = "serde-feature", serde(with = "As::"))] - pub update_authority: Pubkey, - /// Address of the mint. - #[cfg_attr(feature = "serde-feature", serde(with = "As::"))] - pub mint: Pubkey, - /// Asset data. - pub data: Data, - // Immutable, once flipped, all sales of this metadata are considered secondary. - pub primary_sale_happened: bool, - // Whether or not the data struct is mutable, default is not - pub is_mutable: bool, - /// nonce for easy calculation of editions, if present - pub edition_nonce: Option, - pub token_standard: Option, - /// Collection - pub collection: Option, - /// Uses - pub uses: Option, - /// Collection Details - pub collection_details: Option, - /// Programmable Config - pub programmable_config: Option, -} - -#[repr(C)] -#[cfg_attr(feature = "serde-feature", derive(Serialize, Deserialize))] -#[derive(BorshSerialize, BorshDeserialize, PartialEq, Eq, Debug, Clone)] -pub enum CollectionDetails { - V1 { size: u64 }, -} - -/// Configuration for programmable assets. -#[repr(C)] -#[cfg_attr(feature = "serde-feature", derive(Serialize, Deserialize))] -#[derive(BorshSerialize, BorshDeserialize, PartialEq, Eq, Debug, Clone)] -pub enum ProgrammableConfig { - V1 { - /// Programmable authorization rules. - #[cfg_attr( - feature = "serde-feature", - serde( - deserialize_with = "deser_option_pubkey", - serialize_with = "ser_option_pubkey" - ) - )] - rule_set: Option, - }, -} - -#[repr(C)] -#[cfg_attr(feature = "serde-feature", derive(Serialize, Deserialize))] -#[derive(BorshSerialize, BorshDeserialize, PartialEq, Eq, Debug, Clone)] -pub struct Uses { - // 17 bytes + Option byte - pub use_method: UseMethod, //1 - pub remaining: u64, //8 - pub total: u64, //8 -} - -#[repr(C)] -#[cfg_attr(feature = "serde-feature", derive(Serialize, Deserialize))] -#[derive(BorshSerialize, BorshDeserialize, PartialEq, Eq, Debug, Clone)] -pub enum UseMethod { - Burn, - Multiple, - Single, -} - -#[derive(Clone, Debug, PartialEq)] -pub struct MetadataAccount(Metadata); - -impl anchor_lang::AccountDeserialize for MetadataAccount { - fn try_deserialize(buf: &mut &[u8]) -> anchor_lang::Result { - let md = Self::try_deserialize_unchecked(buf)?; - Ok(md) - } - - fn try_deserialize_unchecked(buf: &mut &[u8]) -> anchor_lang::Result { - let md = Metadata::deserialize(buf)?; - Ok(Self(md)) - } -} - -impl anchor_lang::AccountSerialize for MetadataAccount {} - -impl anchor_lang::Owner for MetadataAccount { - fn owner() -> Pubkey { - Pubkey::from_str("metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s").unwrap() - } -} - -impl Deref for MetadataAccount { - type Target = Metadata; - fn deref(&self) -> &Self::Target { - &self.0 - } -} - -#[repr(C)] -#[cfg_attr(feature = "serde-feature", derive(Serialize, Deserialize))] -#[derive(BorshSerialize, BorshDeserialize, PartialEq, Eq, Debug, Clone)] -pub struct Collection { - pub verified: bool, - #[cfg_attr(feature = "serde-feature", serde(with = "As::"))] - pub key: Pubkey, -} - -#[repr(C)] -#[cfg_attr(feature = "serde-feature", derive(Serialize, Deserialize))] -#[derive(BorshSerialize, BorshDeserialize, PartialEq, Eq, Debug, Clone, Copy)] -pub enum TokenStandard { - NonFungible, // This is a master edition - FungibleAsset, // A token with metadata that can also have attributes - Fungible, // A token with simple metadata - NonFungibleEdition, // This is a limited edition - ProgrammableNonFungible, // NonFungible with programmable configuration -} - -#[repr(C)] -#[cfg_attr(feature = "serde-feature", derive(Serialize, Deserialize))] -#[derive(BorshSerialize, BorshDeserialize, PartialEq, Debug, Clone, Eq, Hash)] -pub struct Creator { - #[cfg_attr(feature = "serde-feature", serde(with = "As::"))] - pub address: Pubkey, - pub verified: bool, - // In percentages, NOT basis points ;) Watch out! - pub share: u8, -} - -#[repr(C)] -#[cfg_attr(feature = "serde-feature", derive(Serialize, Deserialize))] -#[derive(BorshSerialize, BorshDeserialize, Default, PartialEq, Eq, Debug, Clone)] -pub struct Data { - /// The name of the asset - pub name: String, - /// The symbol for the asset - pub symbol: String, - /// URI pointing to JSON representing the asset - pub uri: String, - /// Royalty basis points that goes to creators in secondary sales (0-10000) - pub seller_fee_basis_points: u16, - /// Array of creators, optional - pub creators: Option>, -} diff --git a/programs/organization/Cargo.toml b/programs/organization/Cargo.toml index 2c79734..533f145 100644 --- a/programs/organization/Cargo.toml +++ b/programs/organization/Cargo.toml @@ -9,6 +9,7 @@ crate-type = ["cdylib", "lib"] name = "organization" [features] +idl-build = ["anchor-lang/idl-build", "anchor-spl/idl-build", "proposal/idl-build"] no-entrypoint = [] no-idl = [] no-log-ix-name = [] @@ -17,8 +18,6 @@ default = [] devnet = [] [dependencies] -anchor-lang = { git = "https://github.com/ChewingGlass/anchor", branch = "bugfix/cpi-polymorphism" } -anchor-spl = { git = "https://github.com/ChewingGlass/anchor", branch = "bugfix/cpi-polymorphism" } +anchor-lang = { workspace = true } +anchor-spl = { workspace = true } proposal = { path = "../proposal", features = ["no-entrypoint", "cpi"] } -time = "0.3.36" - diff --git a/programs/organization/src/instructions/initialize_organization_v0.rs b/programs/organization/src/instructions/initialize_organization_v0.rs index 92effe2..340be03 100644 --- a/programs/organization/src/instructions/initialize_organization_v0.rs +++ b/programs/organization/src/instructions/initialize_organization_v0.rs @@ -1,6 +1,7 @@ -use crate::state::*; use anchor_lang::prelude::*; +use crate::state::*; + #[derive(AnchorSerialize, AnchorDeserialize, Clone, Default)] pub struct InitializeOrganizationArgsV0 { pub name: String, @@ -37,7 +38,7 @@ pub fn handler( ctx.accounts.organization.set_inner(OrganizationV0 { name: args.name, authority: args.authority, - bump_seed: ctx.bumps["organization"], + bump_seed: ctx.bumps.organization, num_proposals: 0, default_proposal_config: args.default_proposal_config, proposal_program: args.proposal_program, diff --git a/programs/organization_wallet/Cargo.toml b/programs/organization_wallet/Cargo.toml index 7114f7a..d20c4cd 100644 --- a/programs/organization_wallet/Cargo.toml +++ b/programs/organization_wallet/Cargo.toml @@ -9,6 +9,7 @@ crate-type = ["cdylib", "lib"] name = "organization_wallet" [features] +idl-build = ["anchor-lang/idl-build", "anchor-spl/idl-build", "proposal/idl-build", "organization/idl-build"] no-entrypoint = [] no-idl = [] no-log-ix-name = [] @@ -17,8 +18,7 @@ default = [] devnet = [] [dependencies] -anchor-lang = { git = "https://github.com/ChewingGlass/anchor", branch = "bugfix/cpi-polymorphism", features = ["init-if-needed"] } -anchor-spl = { git = "https://github.com/ChewingGlass/anchor", branch = "bugfix/cpi-polymorphism" } +anchor-lang = { workspace = true } +anchor-spl = { workspace = true } proposal = { path = "../proposal", features = ["no-entrypoint", "cpi"] } organization = { path = "../organization", features = ["no-entrypoint", "cpi"] } -time = "0.3.36" diff --git a/programs/organization_wallet/src/instructions/initialize_organization_wallet_v0.rs b/programs/organization_wallet/src/instructions/initialize_organization_wallet_v0.rs index 53a36a5..41ef727 100644 --- a/programs/organization_wallet/src/instructions/initialize_organization_wallet_v0.rs +++ b/programs/organization_wallet/src/instructions/initialize_organization_wallet_v0.rs @@ -1,7 +1,8 @@ -use crate::state::*; use anchor_lang::prelude::*; use organization::state::OrganizationV0; +use crate::state::*; + #[derive(AnchorSerialize, AnchorDeserialize, Clone, Default)] pub struct InitializeOrganizationWalletArgsV0 { pub name: String, @@ -54,7 +55,7 @@ pub fn handler( index: args.index, wallet_bump_seed: wallet_bump, proposal_configs: args.proposal_configs, - bump_seed: ctx.bumps["organization_wallet"], + bump_seed: ctx.bumps.organization_wallet, }); Ok(()) } diff --git a/programs/organization_wallet/src/instructions/set_transactions_v0.rs b/programs/organization_wallet/src/instructions/set_transactions_v0.rs index 6368cdb..53c43b7 100644 --- a/programs/organization_wallet/src/instructions/set_transactions_v0.rs +++ b/programs/organization_wallet/src/instructions/set_transactions_v0.rs @@ -1,8 +1,8 @@ -use crate::error::ErrorCode; -use crate::{resize_to_fit::resize_to_fit, state::*}; use anchor_lang::prelude::*; use proposal::{ProposalState, ProposalV0}; +use crate::{error::ErrorCode, resize_to_fit::resize_to_fit, state::*}; + #[derive(AnchorSerialize, AnchorDeserialize, Clone, Default)] pub struct CompiledTransactionArgV0 { // Accounts are ordered as follows: @@ -84,7 +84,7 @@ pub fn handler(ctx: Context, args: SetTransactionsArgsV0) -> organization_wallet: ctx.accounts.organization_wallet.key(), proposal: ctx.accounts.proposal.key(), wallet_proposal: ctx.accounts.wallet_proposal.key(), - bump_seed: ctx.bumps["choice_transaction"], + bump_seed: ctx.bumps.choice_transaction, disable_execution_offset: args.disable_execution_offset, allow_execution_offset: args.allow_execution_offset, transaction: CompiledTransactionV0 { diff --git a/programs/proposal/Cargo.toml b/programs/proposal/Cargo.toml index 2669ca9..d90d2f6 100644 --- a/programs/proposal/Cargo.toml +++ b/programs/proposal/Cargo.toml @@ -9,6 +9,7 @@ crate-type = ["cdylib", "lib"] name = "proposal" [features] +idl-build = ["anchor-lang/idl-build", "anchor-spl/idl-build", "vote-hook-interface/idl-build"] no-entrypoint = [] no-idl = [] no-log-ix-name = [] @@ -17,7 +18,6 @@ default = [] devnet = [] [dependencies] -anchor-lang = { git = "https://github.com/ChewingGlass/anchor", branch = "bugfix/cpi-polymorphism" } -anchor-spl = { git = "https://github.com/ChewingGlass/anchor", branch = "bugfix/cpi-polymorphism" } +anchor-lang = { workspace = true } +anchor-spl = { workspace = true } vote-hook-interface = { path = "../vote_hook_interface", features = ["no-entrypoint", "cpi"] } -time = "0.3.36" \ No newline at end of file diff --git a/programs/proposal/src/instructions/initialize_proposal_config_v0.rs b/programs/proposal/src/instructions/initialize_proposal_config_v0.rs index 1dd3460..e7fa475 100644 --- a/programs/proposal/src/instructions/initialize_proposal_config_v0.rs +++ b/programs/proposal/src/instructions/initialize_proposal_config_v0.rs @@ -1,6 +1,7 @@ -use crate::state::*; use anchor_lang::prelude::*; +use crate::state::*; + #[derive(AnchorSerialize, AnchorDeserialize, Clone, Default)] pub struct InitializeProposalConfigArgsV0 { pub name: String, @@ -44,7 +45,7 @@ pub fn handler( vote_controller: args.vote_controller, state_controller: args.state_controller, on_vote_hook: args.on_vote_hook, - bump_seed: ctx.bumps["proposal_config"], + bump_seed: ctx.bumps.proposal_config, authority: args.authority, }); Ok(()) diff --git a/programs/proposal/src/instructions/initialize_proposal_v0.rs b/programs/proposal/src/instructions/initialize_proposal_v0.rs index a6aaf70..be8f26d 100644 --- a/programs/proposal/src/instructions/initialize_proposal_v0.rs +++ b/programs/proposal/src/instructions/initialize_proposal_v0.rs @@ -1,7 +1,7 @@ -use crate::errors::ErrorCode; -use crate::state::*; use anchor_lang::prelude::*; +use crate::{errors::ErrorCode, state::*}; + #[derive(InitSpace, AnchorSerialize, AnchorDeserialize, Clone, Default)] pub struct ChoiceArg { #[max_len(200)] @@ -90,7 +90,7 @@ pub fn handler(ctx: Context, args: InitializeProposalArgsV name: args.name, uri: args.uri, choices: args.choices.into_iter().map(|c| c.into()).collect(), - bump_seed: ctx.bumps["proposal"], + bump_seed: ctx.bumps.proposal, }); Ok(()) } diff --git a/programs/state_controller/Cargo.toml b/programs/state_controller/Cargo.toml index b322682..26b2b5b 100644 --- a/programs/state_controller/Cargo.toml +++ b/programs/state_controller/Cargo.toml @@ -9,6 +9,7 @@ crate-type = ["cdylib", "lib"] name = "state_controller" [features] +idl-build = ["anchor-lang/idl-build", "anchor-spl/idl-build", "proposal/idl-build"] no-entrypoint = [] no-idl = [] no-log-ix-name = [] @@ -17,7 +18,6 @@ default = [] devnet = [] [dependencies] -anchor-lang = { git = "https://github.com/ChewingGlass/anchor", branch = "bugfix/cpi-polymorphism" } -anchor-spl = { git = "https://github.com/ChewingGlass/anchor", branch = "bugfix/cpi-polymorphism" } +anchor-lang = { workspace = true } +anchor-spl = { workspace = true } proposal = { path = "../proposal", features = ["no-entrypoint", "cpi"] } -time = "0.3.36" diff --git a/programs/state_controller/src/instructions/initialize_resolution_settings_v0.rs b/programs/state_controller/src/instructions/initialize_resolution_settings_v0.rs index 141bbca..ad467de 100644 --- a/programs/state_controller/src/instructions/initialize_resolution_settings_v0.rs +++ b/programs/state_controller/src/instructions/initialize_resolution_settings_v0.rs @@ -1,6 +1,7 @@ -use crate::state::*; use anchor_lang::prelude::*; +use crate::state::*; + #[derive(AnchorSerialize, AnchorDeserialize, Clone, Default)] pub struct InitializeResolutionSettingsArgsV0 { pub name: String, @@ -33,7 +34,7 @@ pub fn handler( .accounts .resolution_settings .set_inner(ResolutionSettingsV0 { - bump_seed: ctx.bumps["resolution_settings"], + bump_seed: ctx.bumps.resolution_settings, settings: args.settings, name: args.name, }); diff --git a/programs/state_controller/src/instructions/update_state_v0.rs b/programs/state_controller/src/instructions/update_state_v0.rs index 9b46e90..2ccb287 100644 --- a/programs/state_controller/src/instructions/update_state_v0.rs +++ b/programs/state_controller/src/instructions/update_state_v0.rs @@ -1,45 +1,10 @@ -use crate::resolution_setting_seeds; -use crate::state::*; use anchor_lang::prelude::*; -use proposal::ProposalConfigV0; -use proposal::ProposalState as CpiProposalState; -use proposal::ProposalV0; use proposal::{ cpi::{accounts::UpdateStateV0 as CpiUpdateStateV0, update_state_v0}, - UpdateStateArgsV0 as CpiUpdateStateArgsV0, + ProposalConfigV0, ProposalState, ProposalV0, UpdateStateArgsV0 as CpiUpdateStateArgsV0, }; -#[derive(AnchorSerialize, AnchorDeserialize, Clone, Default, PartialEq)] -pub enum ProposalState { - // Allow drafting proposal, in this state can add instructions and such to it - #[default] - Draft, - Cancelled, - Voting, - /// Allow voting controller to set to a custom state, - /// this allows for the implementation of more complex - /// states like Vetoed, drafts, signing off, etc. - /// This could have been an int, but then UIs would need to understand - /// the calling contract to grab an enum from it. Rather just have something clean - /// even though it takes a bit more space. - Custom { - name: String, - bin: Vec, - }, -} - -impl From for CpiProposalState { - fn from(value: ProposalState) -> Self { - match value { - ProposalState::Draft => CpiProposalState::Draft, - ProposalState::Cancelled => CpiProposalState::Cancelled, - ProposalState::Voting => CpiProposalState::Voting { - start_ts: Clock::get().unwrap().unix_timestamp, - }, - ProposalState::Custom { name, bin } => CpiProposalState::Custom { name, bin }, - } - } -} +use crate::{resolution_setting_seeds, state::*}; #[derive(AnchorSerialize, AnchorDeserialize, Clone, Default)] pub struct UpdateStateArgsV0 { @@ -58,8 +23,8 @@ pub struct UpdateStateV0<'info> { has_one = proposal_config, constraint = match proposal.state { // Voting can only go to state cancelled. - CpiProposalState::Voting { .. } => args.new_state == ProposalState::Cancelled, - CpiProposalState::Resolved { .. } => false, + ProposalState::Voting { .. } => args.new_state == ProposalState::Cancelled, + ProposalState::Resolved { .. } => false, _ => true } )] @@ -85,7 +50,7 @@ pub fn handler(ctx: Context, args: UpdateStateArgsV0) -> Result<( &[resolution_setting_seeds!(ctx.accounts.state_controller)], ), CpiUpdateStateArgsV0 { - new_state: args.new_state.into(), + new_state: args.new_state, }, )?; diff --git a/programs/token_voter/Cargo.toml b/programs/token_voter/Cargo.toml index a04d371..b066b1a 100644 --- a/programs/token_voter/Cargo.toml +++ b/programs/token_voter/Cargo.toml @@ -9,6 +9,7 @@ crate-type = ["cdylib", "lib"] name = "token_voter" [features] +idl-build = ["anchor-lang/idl-build", "anchor-spl/idl-build", "proposal/idl-build"] no-entrypoint = [] no-idl = [] no-log-ix-name = [] @@ -18,8 +19,7 @@ devnet = [] serde-feature = ["serde"] [dependencies] -anchor-lang = { git = "https://github.com/ChewingGlass/anchor", branch = "bugfix/cpi-polymorphism", features = ["init-if-needed"] } -anchor-spl = { git = "https://github.com/ChewingGlass/anchor", branch = "bugfix/cpi-polymorphism", features = ["token"] } +anchor-lang = { workspace = true } +anchor-spl = { workspace = true } proposal = { path = "../proposal", features = ["no-entrypoint", "cpi"] } -serde = { version = "1.0", features = ["derive"], optional = true } -time = "0.3.36" \ No newline at end of file +serde = { version = "1.0", features = ["derive"], optional = true } \ No newline at end of file diff --git a/programs/token_voter/src/instructions/deposit_v0.rs b/programs/token_voter/src/instructions/deposit_v0.rs index a2ac152..ce40711 100644 --- a/programs/token_voter/src/instructions/deposit_v0.rs +++ b/programs/token_voter/src/instructions/deposit_v0.rs @@ -1,16 +1,19 @@ -use crate::metaplex::{ - create_master_edition_v3, create_metadata_accounts_v3, verify_sized_collection_item, Collection, - CreateMasterEditionV3, CreateMetadataAccountsV3, DataV2, Metadata, VerifySizedCollectionItem, -}; -use crate::receipt_seeds; -use crate::state::*; -use crate::token_voter_seeds; -use anchor_lang::prelude::*; -use anchor_spl::associated_token::AssociatedToken; -use anchor_spl::token::{self, Transfer}; -use anchor_spl::token::{Mint, MintTo, Token, TokenAccount}; use std::mem::size_of; +use anchor_lang::prelude::*; +use anchor_spl::{ + associated_token::AssociatedToken, + metadata::{ + create_master_edition_v3, create_metadata_accounts_v3, + mpl_token_metadata::types::{Collection, DataV2}, + verify_sized_collection_item, CreateMasterEditionV3, CreateMetadataAccountsV3, Metadata, + VerifySizedCollectionItem, + }, + token::{self, Mint, MintTo, Token, TokenAccount, Transfer}, +}; + +use crate::{receipt_seeds, state::*, token_voter_seeds}; + #[derive(AnchorSerialize, AnchorDeserialize, Clone, Default)] pub struct DepositArgsV0 { pub amount: u64, @@ -138,7 +141,7 @@ pub fn handler(ctx: Context, args: DepositArgsV0) -> Result<()> { ctx.accounts.receipt.set_inner(ReceiptV0 { token_voter: ctx.accounts.token_voter.key(), mint: ctx.accounts.mint.key(), - bump_seed: ctx.bumps["receipt"], + bump_seed: ctx.bumps.receipt, amount: args.amount, num_active_votes: 0, }); diff --git a/programs/token_voter/src/instructions/initialize_token_voter_v0.rs b/programs/token_voter/src/instructions/initialize_token_voter_v0.rs index 7159cf6..7bb23fa 100644 --- a/programs/token_voter/src/instructions/initialize_token_voter_v0.rs +++ b/programs/token_voter/src/instructions/initialize_token_voter_v0.rs @@ -1,17 +1,15 @@ use anchor_lang::prelude::*; use anchor_spl::{ associated_token::AssociatedToken, + metadata::{ + create_master_edition_v3, create_metadata_accounts_v3, + mpl_token_metadata::types::{CollectionDetails, DataV2}, + CreateMasterEditionV3, CreateMetadataAccountsV3, Metadata, + }, token::{self, Mint, MintTo, Token, TokenAccount}, }; -use crate::{ - metaplex::{ - create_master_edition_v3, create_metadata_accounts_v3, CollectionDetails, - CreateMasterEditionV3, CreateMetadataAccountsV3, DataV2, Metadata, - }, - state::*, - token_voter_seeds, -}; +use crate::{state::*, token_voter_seeds}; #[derive(AnchorSerialize, AnchorDeserialize, Clone, Default)] pub struct InitializeTokenVoterArgsV0 { @@ -91,7 +89,7 @@ pub fn handler( args: InitializeTokenVoterArgsV0, ) -> Result<()> { ctx.accounts.token_voter.set_inner(TokenVoterV0 { - bump_seed: ctx.bumps["token_voter"], + bump_seed: ctx.bumps.token_voter, name: args.name, authority: args.authority, deposit_mint: ctx.accounts.mint.key(), diff --git a/programs/token_voter/src/instructions/vote_v0.rs b/programs/token_voter/src/instructions/vote_v0.rs index b9c2b22..6e16e39 100644 --- a/programs/token_voter/src/instructions/vote_v0.rs +++ b/programs/token_voter/src/instructions/vote_v0.rs @@ -64,7 +64,7 @@ pub struct VoteV0<'info> { pub fn handler(ctx: Context, args: VoteArgsV0) -> Result<()> { let marker = &mut ctx.accounts.marker; marker.proposal = ctx.accounts.proposal.key(); - marker.bump_seed = ctx.bumps["marker"]; + marker.bump_seed = ctx.bumps.marker; marker.voter = ctx.accounts.voter.key(); marker.mint = ctx.accounts.mint.key(); marker.token_voter = ctx.accounts.token_voter.key(); diff --git a/programs/token_voter/src/instructions/withdraw_v0.rs b/programs/token_voter/src/instructions/withdraw_v0.rs index f23d170..398341a 100644 --- a/programs/token_voter/src/instructions/withdraw_v0.rs +++ b/programs/token_voter/src/instructions/withdraw_v0.rs @@ -1,14 +1,11 @@ use anchor_lang::prelude::*; use anchor_spl::{ associated_token::AssociatedToken, + metadata::{burn_nft, mpl_token_metadata, BurnNft, Metadata}, token::{self, CloseAccount, Mint, Token, TokenAccount, Transfer}, }; -use crate::{ - metaplex::{burn, Burn, Metadata}, - receipt_seeds, - state::*, -}; +use crate::{receipt_seeds, state::*}; #[derive(Accounts)] pub struct WithdrawV0<'info> { @@ -43,8 +40,8 @@ pub struct WithdrawV0<'info> { #[account( mut, - seeds = ["metadata".as_bytes(), token_metadata_program.key().as_ref(), mint.key().as_ref()], - seeds::program = token_metadata_program.key(), + seeds = ["metadata".as_bytes(), mpl_token_metadata::ID.as_ref(), mint.key().as_ref()], + seeds::program = mpl_token_metadata::ID, bump, )] /// CHECK: Checked by cpi @@ -52,8 +49,8 @@ pub struct WithdrawV0<'info> { /// CHECK: Handled by cpi #[account( mut, - seeds = ["metadata".as_bytes(), token_metadata_program.key().as_ref(), mint.key().as_ref(), "edition".as_bytes()], - seeds::program = token_metadata_program.key(), + seeds = ["metadata".as_bytes(), mpl_token_metadata::ID.as_ref(), mint.key().as_ref(), "edition".as_bytes()], + seeds::program = mpl_token_metadata::ID, bump, )] pub master_edition: UncheckedAccount<'info>, @@ -91,18 +88,17 @@ pub struct WithdrawV0<'info> { pub token_program: Program<'info, Token>, pub associated_token_program: Program<'info, AssociatedToken>, pub token_metadata_program: Program<'info, Metadata>, - pub rent: Sysvar<'info, Rent>, } impl<'info> WithdrawV0<'info> { - fn burn_nft_ctx(&self) -> CpiContext<'_, '_, '_, 'info, Burn<'info>> { - let cpi_accounts = Burn { + fn burn_nft_ctx(&self) -> CpiContext<'_, '_, '_, 'info, BurnNft<'info>> { + let cpi_accounts = BurnNft { metadata: self.metadata.to_account_info(), owner: self.owner.to_account_info(), mint: self.mint.to_account_info(), - token_account: self.receipt_token_account.to_account_info(), - master_edition_account: self.master_edition.to_account_info(), - collection: self.collection_metadata.to_account_info(), + token: self.receipt_token_account.to_account_info(), + edition: self.master_edition.to_account_info(), + spl_token: self.token_program.to_account_info(), }; CpiContext::new(self.token_metadata_program.to_account_info(), cpi_accounts) } @@ -129,7 +125,13 @@ impl<'info> WithdrawV0<'info> { pub fn handler(ctx: Context) -> Result<()> { let signer_seeds: &[&[&[u8]]] = &[receipt_seeds!(ctx.accounts.receipt)]; - burn(ctx.accounts.burn_nft_ctx())?; + burn_nft( + ctx + .accounts + .burn_nft_ctx() + .with_remaining_accounts(vec![ctx.accounts.collection_metadata.to_account_info()]), + Some(ctx.accounts.collection_metadata.key()), + )?; token::transfer( ctx .accounts diff --git a/programs/token_voter/src/lib.rs b/programs/token_voter/src/lib.rs index 754e780..859c586 100644 --- a/programs/token_voter/src/lib.rs +++ b/programs/token_voter/src/lib.rs @@ -4,7 +4,6 @@ declare_id!("tokvN2E37T6NgLi6uQ8uj32959TZPUf2Jo8dXjLKBjF"); pub mod error; pub mod instructions; -pub mod metaplex; pub mod state; pub use instructions::*; diff --git a/programs/token_voter/src/metaplex.rs b/programs/token_voter/src/metaplex.rs deleted file mode 100644 index e355197..0000000 --- a/programs/token_voter/src/metaplex.rs +++ /dev/null @@ -1,488 +0,0 @@ -use std::str::FromStr; - -use anchor_lang::{ - prelude::*, - solana_program::{self, instruction::Instruction}, -}; -use anchor_spl::token::spl_token; -use borsh::{BorshDeserialize, BorshSerialize}; - -#[derive(Accounts)] -pub struct Burn<'info> { - /// CHECK: No - pub metadata: AccountInfo<'info>, - /// CHECK: No - pub owner: AccountInfo<'info>, - /// CHECK: No - pub mint: AccountInfo<'info>, - /// CHECK: No - pub token_account: AccountInfo<'info>, - /// CHECK: No - pub master_edition_account: AccountInfo<'info>, - /// CHECK: No - pub collection: AccountInfo<'info>, -} - -pub fn burn<'info>(ctx: CpiContext<'_, '_, '_, 'info, Burn<'info>>) -> Result<()> { - let ix = burn_impl( - Pubkey::from_str("metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s").unwrap(), - *ctx.accounts.metadata.key, - *ctx.accounts.owner.key, - *ctx.accounts.mint.key, - *ctx.accounts.token_account.key, - *ctx.accounts.master_edition_account.key, - *ctx.accounts.collection.key, - ); - solana_program::program::invoke_signed( - &ix, - &ToAccountInfos::to_account_infos(&ctx), - ctx.signer_seeds, - ) - .map_err(Into::into) -} - -#[allow(clippy::too_many_arguments)] -pub fn burn_impl( - program_id: Pubkey, - metadata: Pubkey, - owner: Pubkey, - mint: Pubkey, - token_account: Pubkey, - master_edition_account: Pubkey, - collection: Pubkey, -) -> Instruction { - let accounts = vec![ - AccountMeta::new(metadata, false), - AccountMeta::new(owner, true), - AccountMeta::new(mint, false), - AccountMeta::new(token_account, false), - AccountMeta::new(master_edition_account, false), - AccountMeta::new_readonly(spl_token::id(), false), - AccountMeta::new(collection, false), - ]; - - Instruction { - program_id, - accounts, - data: MetadataInstruction::BurnNft.try_to_vec().unwrap(), - } -} - -#[repr(C)] -#[cfg_attr(feature = "serde-feature", derive(Serialize, Deserialize))] -#[derive(BorshSerialize, BorshDeserialize, PartialEq, Eq, Debug, Clone)] -pub struct DataV2 { - /// The name of the asset - pub name: String, - /// The symbol for the asset - pub symbol: String, - /// URI pointing to JSON representing the asset - pub uri: String, - /// Royalty basis points that goes to creators in secondary sales (0-10000) - pub seller_fee_basis_points: u16, - /// Array of creators, optional - pub creators: Option>, - /// Collection - pub collection: Option, - /// Uses - pub uses: Option, -} - -#[repr(C)] -#[cfg_attr(feature = "serde-feature", derive(Serialize, Deserialize))] -#[derive(BorshSerialize, BorshDeserialize, PartialEq, Eq, Debug, Clone)] -pub struct Uses { - // 17 bytes + Option byte - pub use_method: UseMethod, //1 - pub remaining: u64, //8 - pub total: u64, //8 -} - -#[repr(C)] -#[cfg_attr(feature = "serde-feature", derive(Serialize, Deserialize))] -#[derive(BorshSerialize, BorshDeserialize, PartialEq, Eq, Debug, Clone)] -pub enum UseMethod { - Burn, - Multiple, - Single, -} - -#[repr(C)] -#[cfg_attr(feature = "serde-feature", derive(Serialize, Deserialize))] -#[derive(BorshSerialize, BorshDeserialize, PartialEq, Debug, Clone, Eq, Hash)] -pub struct Creator { - #[cfg_attr(feature = "serde-feature", serde(with = "As::"))] - pub address: Pubkey, - pub verified: bool, - // In percentages, NOT basis points ;) Watch out! - pub share: u8, -} - -#[repr(C)] -#[cfg_attr(feature = "serde-feature", derive(Serialize, Deserialize))] -#[derive(BorshSerialize, BorshDeserialize, PartialEq, Eq, Debug, Clone)] -pub struct Collection { - pub verified: bool, - #[cfg_attr(feature = "serde-feature", serde(with = "As::"))] - pub key: Pubkey, -} - -#[repr(C)] -#[cfg_attr(feature = "serde-feature", derive(Serialize, Deserialize))] -#[derive(BorshSerialize, BorshDeserialize, PartialEq, Eq, Debug, Clone)] -pub enum CollectionDetails { - V1 { size: u64 }, -} - -#[derive(Accounts)] -pub struct CreateMetadataAccountsV3<'info> { - /// CHECK: No - pub metadata: AccountInfo<'info>, - /// CHECK: No - pub mint: AccountInfo<'info>, - /// CHECK: No - pub mint_authority: AccountInfo<'info>, - /// CHECK: No - pub payer: AccountInfo<'info>, - /// CHECK: No - pub update_authority: AccountInfo<'info>, - /// CHECK: No - pub system_program: AccountInfo<'info>, - /// CHECK: No - pub rent: AccountInfo<'info>, -} - -pub fn create_metadata_accounts_v3<'info>( - ctx: CpiContext<'_, '_, '_, 'info, CreateMetadataAccountsV3<'info>>, - data: DataV2, - is_mutable: bool, - update_authority_is_signer: bool, - details: Option, -) -> Result<()> { - let DataV2 { - name, - symbol, - uri, - creators, - seller_fee_basis_points, - collection, - uses, - } = data; - let ix = create_metadata_accounts_v3_impl( - Pubkey::from_str("metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s").unwrap(), - *ctx.accounts.metadata.key, - *ctx.accounts.mint.key, - *ctx.accounts.mint_authority.key, - *ctx.accounts.payer.key, - *ctx.accounts.update_authority.key, - name, - symbol, - uri, - creators, - seller_fee_basis_points, - update_authority_is_signer, - is_mutable, - collection, - uses, - details, - ); - solana_program::program::invoke_signed( - &ix, - &ToAccountInfos::to_account_infos(&ctx), - ctx.signer_seeds, - ) - .map_err(Into::into) -} - -#[derive(Clone)] -pub struct Metadata; - -impl anchor_lang::Id for Metadata { - fn id() -> Pubkey { - Pubkey::from_str("metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s").unwrap() - } -} - -#[derive(Accounts)] -pub struct CreateMasterEditionV3<'info> { - /// CHECK: No - pub edition: AccountInfo<'info>, - /// CHECK: No - pub mint: AccountInfo<'info>, - /// CHECK: No - pub update_authority: AccountInfo<'info>, - /// CHECK: No - pub mint_authority: AccountInfo<'info>, - /// CHECK: No - pub payer: AccountInfo<'info>, - /// CHECK: No - pub metadata: AccountInfo<'info>, - /// CHECK: No - pub token_program: AccountInfo<'info>, - /// CHECK: No - pub system_program: AccountInfo<'info>, - /// CHECK: No - pub rent: AccountInfo<'info>, -} - -pub fn create_master_edition_v3<'info>( - ctx: CpiContext<'_, '_, '_, 'info, CreateMasterEditionV3<'info>>, - max_supply: Option, -) -> Result<()> { - let ix = create_master_edition_v3_impl( - Pubkey::from_str("metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s").unwrap(), - *ctx.accounts.edition.key, - *ctx.accounts.mint.key, - *ctx.accounts.update_authority.key, - *ctx.accounts.mint_authority.key, - *ctx.accounts.metadata.key, - *ctx.accounts.payer.key, - max_supply, - ); - solana_program::program::invoke_signed( - &ix, - &ToAccountInfos::to_account_infos(&ctx), - ctx.signer_seeds, - ) - .map_err(Into::into) -} - -pub fn verify_sized_collection_item<'info>( - ctx: CpiContext<'_, '_, '_, 'info, VerifySizedCollectionItem<'info>>, - collection_authority_record: Option, -) -> Result<()> { - let ix = verify_sized_collection_item_impl( - Pubkey::from_str("metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s").unwrap(), - *ctx.accounts.metadata.key, - *ctx.accounts.collection_authority.key, - *ctx.accounts.payer.key, - *ctx.accounts.collection_mint.key, - *ctx.accounts.collection_metadata.key, - *ctx.accounts.collection_master_edition.key, - collection_authority_record, - ); - solana_program::program::invoke_signed( - &ix, - &ToAccountInfos::to_account_infos(&ctx), - ctx.signer_seeds, - ) - .map_err(Into::into) -} - -#[derive(Accounts)] -pub struct VerifySizedCollectionItem<'info> { - /// CHECK: No - pub payer: AccountInfo<'info>, - /// CHECK: No - pub metadata: AccountInfo<'info>, - /// CHECK: No - pub collection_authority: AccountInfo<'info>, - /// CHECK: No - pub collection_mint: AccountInfo<'info>, - /// CHECK: No - #[account(mut)] - pub collection_metadata: AccountInfo<'info>, - /// CHECK: No - pub collection_master_edition: AccountInfo<'info>, -} - -//# Create Metadata Accounts V3 -- Supports v1.3 Collection Details -/// -///Create a new Metadata Account -/// -/// ### Accounts: -/// -/// 0. `[writable]` Metadata account -/// 1. `[]` Mint account -/// 2. `[signer]` Mint authority -/// 3. `[signer]` payer -/// 4. `[signer]` Update authority -/// 5. `[]` System program -/// 6. Optional `[]` Rent sysvar -/// -/// Creates an CreateMetadataAccounts instruction -#[allow(clippy::too_many_arguments)] -pub fn create_metadata_accounts_v3_impl( - program_id: Pubkey, - metadata_account: Pubkey, - mint: Pubkey, - mint_authority: Pubkey, - payer: Pubkey, - update_authority: Pubkey, - name: String, - symbol: String, - uri: String, - creators: Option>, - seller_fee_basis_points: u16, - update_authority_is_signer: bool, - is_mutable: bool, - collection: Option, - uses: Option, - collection_details: Option, -) -> Instruction { - Instruction { - program_id, - accounts: vec![ - AccountMeta::new(metadata_account, false), - AccountMeta::new_readonly(mint, false), - AccountMeta::new_readonly(mint_authority, true), - AccountMeta::new(payer, true), - AccountMeta::new_readonly(update_authority, update_authority_is_signer), - AccountMeta::new_readonly(solana_program::system_program::id(), false), - ], - data: MetadataInstruction::CreateMetadataAccountV3(CreateMetadataAccountArgsV3 { - data: DataV2 { - name, - symbol, - uri, - seller_fee_basis_points, - creators, - collection, - uses, - }, - is_mutable, - collection_details, - }) - .try_to_vec() - .unwrap(), - } -} - -#[repr(C)] -#[cfg_attr(feature = "serde-feature", derive(Serialize, Deserialize))] -#[derive(BorshSerialize, BorshDeserialize, PartialEq, Eq, Debug, Clone)] -pub struct CreateMasterEditionArgs { - /// If set, means that no more than this number of editions can ever be minted. This is immutable. - pub max_supply: Option, -} - -#[repr(C)] -#[cfg_attr(feature = "serde-feature", derive(Serialize, Deserialize))] -#[derive(BorshSerialize, BorshDeserialize, PartialEq, Eq, Debug, Clone)] -/// Args for create call -pub struct CreateMetadataAccountArgsV3 { - /// Note that unique metadatas are disabled for now. - pub data: DataV2, - /// Whether you want your metadata to be updateable in the future. - pub is_mutable: bool, - /// If this is a collection parent NFT. - pub collection_details: Option, -} - -/// # Verify Collection V2 -- Supports v1.3 Collection Details -/// -/// If a MetadataAccount Has a Collection allow the UpdateAuthority of the Collection to Verify the NFT Belongs in the Collection -/// -/// ### Accounts: -/// -/// 0. `[writable]` Metadata account -/// 1. `[signer]` Collection Update authority -/// 2. `[signer]` payer -/// 3. `[]` Mint of the Collection -/// 4. `[writable]` Metadata Account of the Collection -/// 5. `[]` MasterEdition2 Account of the Collection Token -#[allow(clippy::too_many_arguments)] -pub fn verify_sized_collection_item_impl( - program_id: Pubkey, - metadata: Pubkey, - collection_authority: Pubkey, - payer: Pubkey, - collection_mint: Pubkey, - collection: Pubkey, - collection_master_edition_account: Pubkey, - collection_authority_record: Option, -) -> Instruction { - let mut accounts = vec![ - AccountMeta::new(metadata, false), - AccountMeta::new_readonly(collection_authority, true), - AccountMeta::new(payer, true), - AccountMeta::new_readonly(collection_mint, false), - AccountMeta::new(collection, false), - AccountMeta::new_readonly(collection_master_edition_account, false), - ]; - - if let Some(record) = collection_authority_record { - accounts.push(AccountMeta::new_readonly(record, false)); - } - - Instruction { - program_id, - accounts, - data: MetadataInstruction::VerifySizedCollectionItem - .try_to_vec() - .unwrap(), - } -} - -/// creates a create_master_edition instruction -#[allow(clippy::too_many_arguments)] -pub fn create_master_edition_v3_impl( - program_id: Pubkey, - edition: Pubkey, - mint: Pubkey, - update_authority: Pubkey, - mint_authority: Pubkey, - metadata: Pubkey, - payer: Pubkey, - max_supply: Option, -) -> Instruction { - let accounts = vec![ - AccountMeta::new(edition, false), - AccountMeta::new(mint, false), - AccountMeta::new_readonly(update_authority, true), - AccountMeta::new_readonly(mint_authority, true), - AccountMeta::new(payer, true), - AccountMeta::new(metadata, false), - AccountMeta::new_readonly(spl_token::id(), false), - AccountMeta::new_readonly(solana_program::system_program::id(), false), - ]; - - Instruction { - program_id, - accounts, - data: MetadataInstruction::CreateMasterEditionV3(CreateMasterEditionArgs { max_supply }) - .try_to_vec() - .unwrap(), - } -} - -#[repr(C)] -/// Instructions supported by the Metadata program. -#[derive(BorshSerialize, BorshDeserialize, Clone)] -#[rustfmt::skip] -enum MetadataInstruction { - CreateMetadataAccount, - UpdateMetadataAccount, - DeprecatedCreateMasterEdition, - DeprecatedMintNewEditionFromMasterEditionViaPrintingToken, - UpdatePrimarySaleHappenedViaToken, - DeprecatedSetReservationList, - DeprecatedCreateReservationList, - SignMetadata, - DeprecatedMintPrintingTokensViaToken, - DeprecatedMintPrintingTokens, - CreateMasterEdition, - MintNewEditionFromMasterEditionViaToken, - ConvertMasterEditionV1ToV2, - MintNewEditionFromMasterEditionViaVaultProxy, - PuffMetadata, - UpdateMetadataAccountV2, - CreateMetadataAccountV2, - CreateMasterEditionV3(CreateMasterEditionArgs), - VerifyCollection, - Utilize, - ApproveUseAuthority, - RevokeUseAuthority, - UnverifyCollection, - ApproveCollectionAuthority, - RevokeCollectionAuthority, - SetAndVerifyCollection, - FreezeDelegatedAccount, - ThawDelegatedAccount, - RemoveCreatorVerification, - BurnNft, - VerifySizedCollectionItem, - UnverifySizedCollectionItem, - SetAndVerifySizedCollectionItem, - CreateMetadataAccountV3(CreateMetadataAccountArgsV3) -} diff --git a/programs/vote_hook_interface/Cargo.toml b/programs/vote_hook_interface/Cargo.toml index e6a4eb2..bcc1b57 100644 --- a/programs/vote_hook_interface/Cargo.toml +++ b/programs/vote_hook_interface/Cargo.toml @@ -9,6 +9,7 @@ crate-type = ["cdylib", "lib"] name = "vote_hook_interface" [features] +idl-build = ["anchor-lang/idl-build", "anchor-spl/idl-build"] no-entrypoint = [] no-idl = [] no-log-ix-name = [] @@ -17,6 +18,5 @@ default = [] devnet = [] [dependencies] -anchor-lang = { git = "https://github.com/ChewingGlass/anchor", branch = "bugfix/cpi-polymorphism" } -anchor-spl = { git = "https://github.com/ChewingGlass/anchor", branch = "bugfix/cpi-polymorphism" } -time = "0.3.36" +anchor-lang = { workspace = true } +anchor-spl = { workspace = true } diff --git a/scripts/generate-idl-docs.ts b/scripts/generate-idl-docs.ts index 2bde2d3..3e4ea6d 100644 --- a/scripts/generate-idl-docs.ts +++ b/scripts/generate-idl-docs.ts @@ -45,7 +45,7 @@ type Type = { const generateIdlDocs = (idlJson: any) => { const { instructions, accounts, types } = idlJson; - const realFileName = idlJson.name + const realFileName = idlJson.metadata.name .split(".")[0] .replace(/_/g, " ") .replace(/(^|\s)\S/g, (L) => L.toUpperCase()); @@ -118,7 +118,7 @@ If you are looking for a quick start guide, check out the [Getting Started](/doc }; const generateType = (type: Type, types: Type[]) => { - if (type.kind === "enum") { + if (type?.kind === "enum") { let mdFile = `| Variant | Fields | | ------- | ------ | `; @@ -135,7 +135,7 @@ const generateType = (type: Type, types: Type[]) => { `; }); return mdFile; - } else if (type.kind === "struct") { + } else if (type?.kind === "struct") { let mdFile = `| Field | Type | | ----- | ---- | `; @@ -161,7 +161,7 @@ const generateType = (type: Type, types: Type[]) => { `; }); return mdFile; - } else if (type.kind === "option") { + } else if (type?.kind === "option") { return `Option<${generateType(type.type, types)}>`; } return type; diff --git a/tests/nft-voter.ts b/tests/nft-voter.ts index 8a0febc..327f9f9 100644 --- a/tests/nft-voter.ts +++ b/tests/nft-voter.ts @@ -94,7 +94,7 @@ describe("nft-voter", () => { }, ], }) - .accounts({ + .accountsPartial({ authority: me, }) .rpcAndKeys()); @@ -106,7 +106,7 @@ describe("nft-voter", () => { name, authority: me, }) - .accounts({ + .accountsPartial({ collection, proxyConfig, }) @@ -143,7 +143,7 @@ describe("nft-voter", () => { ], tags: ["test", "tags"], }) - .accounts({ proposalConfig }) + .accountsPartial({ proposalConfig, owner: me, namespace: me, payer: me }) .rpcAndKeys({ skipPreflight: true })); await proposalProgram.methods @@ -154,7 +154,7 @@ describe("nft-voter", () => { }, }, }) - .accounts({ proposal }) + .accountsPartial({ proposal }) .rpc(); }); @@ -165,7 +165,7 @@ describe("nft-voter", () => { .voteV0({ choice: 0, }) - .accounts({ mint, proposal, nftVoter }) + .accountsPartial({ mint, proposal, nftVoter }) .rpcAndKeys({ skipPreflight: true }); let acct = await proposalProgram.account.proposalV0.fetch(proposal!); @@ -177,7 +177,7 @@ describe("nft-voter", () => { .relinquishVoteV0({ choice: 0, }) - .accounts({ mint, proposal, nftVoter }) + .accountsPartial({ mint, proposal, nftVoter }) .rpc({ skipPreflight: true }); acct = await proposalProgram.account.proposalV0.fetch(proposal!); @@ -194,7 +194,7 @@ describe("nft-voter", () => { .assignProxyV0({ expirationTime: new BN(new Date().valueOf() / 1000 + 10000), }) - .accounts({ + .accountsPartial({ proxyConfig, asset: mint, recipient: proxy.publicKey, @@ -214,7 +214,7 @@ describe("nft-voter", () => { .proxiedVoteV0({ choice: 0, }) - .accounts({ + .accountsPartial({ mint, proposal, nftVoter, @@ -233,7 +233,7 @@ describe("nft-voter", () => { .proxiedRelinquishVoteV0({ choice: 0, }) - .accounts({ + .accountsPartial({ mint, proposal, nftVoter, @@ -256,7 +256,7 @@ describe("nft-voter", () => { .proxiedVoteV0({ choice: 0, }) - .accounts({ + .accountsPartial({ mint, proposal, nftVoter, @@ -280,7 +280,7 @@ describe("nft-voter", () => { .relinquishVoteV0({ choice: 0, }) - .accounts({ + .accountsPartial({ mint, proposal, nftVoter, @@ -296,7 +296,7 @@ describe("nft-voter", () => { .voteV0({ choice: 1, }) - .accounts({ + .accountsPartial({ mint, proposal, nftVoter, @@ -323,7 +323,7 @@ describe("nft-voter", () => { )[0]; await proxyProgram.methods .unassignProxyV0() - .accounts({ + .accountsPartial({ proxyAssignment: toUnassignProxy, prevProxyAssignment: myProxy, currentProxyAssignment: myProxy, diff --git a/tests/organization-wallet.ts b/tests/organization-wallet.ts index 2178d29..8394fa6 100644 --- a/tests/organization-wallet.ts +++ b/tests/organization-wallet.ts @@ -108,7 +108,7 @@ describe("organization wallet", () => { name: "My Wallet", proposalConfigs: [proposalConfig!], }) - .accounts({ + .accountsPartial({ organization, }) .rpcAndKeys({ skipPreflight: true }); @@ -140,7 +140,7 @@ describe("organization wallet", () => { name: "My Wallet", proposalConfigs: [proposalConfig!], }) - .accounts({ + .accountsPartial({ organization, }) .rpcAndKeys({ skipPreflight: true })); @@ -163,7 +163,7 @@ describe("organization wallet", () => { ], tags: ["test", "tags"], }) - .accounts({ organization }) + .accountsPartial({ organization }) .rpcAndKeys({ skipPreflight: true })); }); @@ -209,7 +209,7 @@ describe("organization wallet", () => { disableExecutionOffset: 60 * 60 * 24 * 7, }) .remainingAccounts(remainingAccounts) - .accounts({ + .accountsPartial({ proposal, organizationWallet, }) @@ -226,7 +226,7 @@ describe("organization wallet", () => { }, }, }) - .accounts({ + .accountsPartial({ proposal, }) .rpc({ skipPreflight: true }); @@ -265,7 +265,7 @@ describe("organization wallet", () => { name: otherName, proposalConfigs: null, }) - .accounts({ + .accountsPartial({ organizationWallet, organization, authority: me, @@ -288,7 +288,7 @@ describe("organization wallet", () => { name: null, proposalConfigs: [otherProposalConfig!], }) - .accounts({ + .accountsPartial({ organizationWallet, organization, authority: me, @@ -315,7 +315,7 @@ describe("organization wallet", () => { name: null, proposalConfigs, }) - .accounts({ + .accountsPartial({ organizationWallet, organization, authority: me, @@ -339,7 +339,7 @@ describe("organization wallet", () => { proposalProgram: null, uri: null, }) - .accounts({ + .accountsPartial({ organization, authority: me, }) @@ -353,7 +353,7 @@ describe("organization wallet", () => { name: otherName, proposalConfigs: [otherProposalConfig!], }) - .accounts({ + .accountsPartial({ organizationWallet, organization, authority: me, @@ -389,7 +389,7 @@ describe("organization wallet", () => { name: otherName, proposalConfigs: [otherProposalConfig!], }) - .accounts({ + .accountsPartial({ organizationWallet, organization: otherOrganization, authority: me, diff --git a/tests/organization.ts b/tests/organization.ts index 119e8ea..7028a43 100644 --- a/tests/organization.ts +++ b/tests/organization.ts @@ -97,7 +97,7 @@ describe("organization", () => { proposalProgram: me, authority: PublicKey.default, }) - .accounts({ organization }) + .accountsPartial({ organization }) .rpc({ skipPreflight: true }); const acct = await program.account.organizationV0.fetch(organization!); @@ -127,7 +127,7 @@ describe("organization", () => { ], tags: ["test", "tags"], }) - .accounts({ organization }) + .accountsPartial({ organization }) .rpcAndKeys({ skipPreflight: true }); const acct = await proposalProgram.account.proposalV0.fetch(proposal!); @@ -168,7 +168,7 @@ describe("organization", () => { ], tags: ["test", "tags"], }) - .accounts({ organization }) + .accountsPartial({ organization }) .rpcAndKeys({ skipPreflight: true })); await proposalProgram.methods .updateStateV0({ @@ -178,7 +178,7 @@ describe("organization", () => { }, }, }) - .accounts({ proposal }) + .accountsPartial({ proposal }) .rpc(); }); it("allows voting on the proposal", async () => { @@ -188,7 +188,7 @@ describe("organization", () => { weight: new anchor.BN(1), removeVote: false, }) - .accounts({ proposal, voter: me }) + .accountsPartial({ proposal, voter: me }) .rpc({ skipPreflight: true }); }); }); diff --git a/tests/proposal.ts b/tests/proposal.ts index a11818a..a53dcb0 100644 --- a/tests/proposal.ts +++ b/tests/proposal.ts @@ -96,7 +96,7 @@ describe("proposal", () => { onVoteHook, authority, }) - .accounts({ proposalConfig }) + .accountsPartial({ proposalConfig }) .rpc(); const acct = await program.account.proposalConfigV0.fetch( @@ -125,7 +125,7 @@ describe("proposal", () => { await program.methods .updateProposalConfigV0(args as any) - .accounts({ proposalConfig }) + .accountsPartial({ proposalConfig }) .rpc(); const acct = await program.account.proposalConfigV0.fetch( @@ -157,7 +157,7 @@ describe("proposal", () => { onVoteHook: null, authority, }) - .accounts({ proposalConfig }) + .accountsPartial({ proposalConfig }) .rpc(); try { @@ -168,7 +168,7 @@ describe("proposal", () => { onVoteHook: PublicKey.default, authority: me, }) - .accounts({ + .accountsPartial({ proposalConfig, }) .simulate(); @@ -202,7 +202,7 @@ describe("proposal", () => { ], tags: ["test", "tags"], }) - .accounts({ proposalConfig }) + .accountsPartial({ proposalConfig }) .rpcAndKeys(); const acct = await program.account.proposalV0.fetch(proposal!); @@ -239,7 +239,7 @@ describe("proposal", () => { ], tags: ["test", "tags"], }) - .accounts({ proposalConfig }) + .accountsPartial({ proposalConfig }) .rpcAndKeys() ).pubkeys.proposal!; }); @@ -253,7 +253,7 @@ describe("proposal", () => { }, }, }) - .accounts({ proposal }) + .accountsPartial({ proposal }) .rpc(); await program.methods .voteV0({ @@ -261,7 +261,7 @@ describe("proposal", () => { weight: new anchor.BN(2), removeVote: false, }) - .accounts({ proposal, voter: me }) + .accountsPartial({ proposal, voter: me }) .rpc({ skipPreflight: true }); let acct = await program.account.proposalV0.fetch(proposal); @@ -273,7 +273,7 @@ describe("proposal", () => { weight: new anchor.BN(1), removeVote: true, }) - .accounts({ proposal, voter: me }) + .accountsPartial({ proposal, voter: me }) .rpc(); acct = await program.account.proposalV0.fetch(proposal); @@ -285,7 +285,7 @@ describe("proposal", () => { .updateStateV0({ newState: { custom: { name: "hello", bin: Buffer.from([]) } }, }) - .accounts({ proposal }) + .accountsPartial({ proposal }) .rpc({ skipPreflight: true }); const acct = await program.account.proposalV0.fetch(proposal); diff --git a/tests/state-controller.ts b/tests/state-controller.ts index 0553915..762c223 100644 --- a/tests/state-controller.ts +++ b/tests/state-controller.ts @@ -89,14 +89,18 @@ describe("state-controller", () => { ], tags: ["test", "tags"], }) - .accounts({ proposalConfig }) + .accountsPartial({ proposalConfig }) .rpcAndKeys({ skipPreflight: true })); await program.methods .updateStateV0({ - newState: { voting: {} }, + newState: { + voting: { + startTs: new anchor.BN(Date.now() / 1000), + }, + }, }) - .accounts({ proposal }) + .accountsPartial({ proposal }) .rpc(); }); @@ -106,7 +110,7 @@ describe("state-controller", () => { }); it("resolves to the choice selected", async () => { - await program.methods.resolveV0().accounts({ proposal }).rpc(); + await program.methods.resolveV0().accountsPartial({ proposal }).rpc(); const acct = await proposalProgram.account.proposalV0.fetch(proposal!); expect(acct.state.resolved?.choices).to.deep.eq([1]); @@ -119,7 +123,7 @@ describe("state-controller", () => { }); it("resolves to all choices", async () => { - await program.methods.resolveV0().accounts({ proposal }).rpc(); + await program.methods.resolveV0().accountsPartial({ proposal }).rpc(); const acct = await proposalProgram.account.proposalV0.fetch(proposal!); expect(acct.state.resolved?.choices).to.deep.eq([0, 1, 2]); @@ -132,7 +136,7 @@ describe("state-controller", () => { }); it("not resolve", async () => { - await program.methods.resolveV0().accounts({ proposal }).rpc(); + await program.methods.resolveV0().accountsPartial({ proposal }).rpc(); const acct = await proposalProgram.account.proposalV0.fetch(proposal!); expect(Boolean(acct.state.voting)).to.be.true; @@ -146,7 +150,7 @@ describe("state-controller", () => { it("resolves to all choices", async () => { await sleep(3000); - await program.methods.resolveV0().accounts({ proposal }).rpc(); + await program.methods.resolveV0().accountsPartial({ proposal }).rpc(); const acct = await proposalProgram.account.proposalV0.fetch(proposal!); expect(acct.state.resolved?.choices).to.deep.eq([0, 1, 2]); @@ -170,7 +174,7 @@ describe("state-controller", () => { weight: new anchor.BN(1), removeVote: false, }) - .accounts({ proposal, voter: me }) + .accountsPartial({ proposal, voter: me }) .rpc({ skipPreflight: true }); const acct = await proposalProgram.account.proposalV0.fetch(proposal!); @@ -192,7 +196,7 @@ describe("state-controller", () => { weight: new anchor.BN(1), removeVote: false, }) - .accounts({ proposal, voter: me }) + .accountsPartial({ proposal, voter: me }) .rpc({ skipPreflight: true }); const acct = await proposalProgram.account.proposalV0.fetch(proposal!); @@ -223,7 +227,7 @@ describe("state-controller", () => { weight: new anchor.BN(1), removeVote: false, }) - .accounts({ proposal, voter: me }) + .accountsPartial({ proposal, voter: me }) .rpc({ skipPreflight: true }); const acct = await proposalProgram.account.proposalV0.fetch(proposal!); @@ -254,7 +258,7 @@ describe("state-controller", () => { weight: new anchor.BN(5), removeVote: false, }) - .accounts({ proposal, voter: me }) + .accountsPartial({ proposal, voter: me }) .rpc({ skipPreflight: true }); let acct = await proposalProgram.account.proposalV0.fetch(proposal!); @@ -266,12 +270,12 @@ describe("state-controller", () => { weight: new anchor.BN(3), removeVote: false, }) - .accounts({ proposal, voter: me }) + .accountsPartial({ proposal, voter: me }) .rpc({ skipPreflight: true }); await sleep(10000); - await program.methods.resolveV0().accounts({ proposal }).rpc(); + await program.methods.resolveV0().accountsPartial({ proposal }).rpc(); acct = await proposalProgram.account.proposalV0.fetch(proposal!); expect(acct.state.resolved?.choices).to.deep.eq([1]); @@ -284,7 +288,7 @@ describe("state-controller", () => { weight: new anchor.BN(2), removeVote: false, }) - .accounts({ proposal, voter: me }) + .accountsPartial({ proposal, voter: me }) .rpc({ skipPreflight: true }); let acct = await proposalProgram.account.proposalV0.fetch(proposal!); @@ -296,11 +300,11 @@ describe("state-controller", () => { weight: new anchor.BN(3), removeVote: false, }) - .accounts({ proposal, voter: me }) + .accountsPartial({ proposal, voter: me }) .rpc({ skipPreflight: true }); await sleep(10000); - await program.methods.resolveV0().accounts({ proposal }).rpc(); + await program.methods.resolveV0().accountsPartial({ proposal }).rpc(); acct = await proposalProgram.account.proposalV0.fetch(proposal!); expect(acct.state.resolved?.choices).to.deep.eq([]); @@ -327,10 +331,10 @@ describe("state-controller", () => { weight: new anchor.BN(3), removeVote: false, }) - .accounts({ proposal, voter: me }) + .accountsPartial({ proposal, voter: me }) .rpc({ skipPreflight: true }); - await program.methods.resolveV0().accounts({ proposal }).rpc(); + await program.methods.resolveV0().accountsPartial({ proposal }).rpc(); let acct = await proposalProgram.account.proposalV0.fetch(proposal!); expect(Boolean(acct.state.voting)).to.be.true; @@ -341,7 +345,7 @@ describe("state-controller", () => { weight: new anchor.BN(5), removeVote: false, }) - .accounts({ proposal, voter: me }) + .accountsPartial({ proposal, voter: me }) .rpc({ skipPreflight: true }); acct = await proposalProgram.account.proposalV0.fetch(proposal!); @@ -355,17 +359,17 @@ describe("state-controller", () => { weight: new anchor.BN(3), removeVote: false, }) - .accounts({ proposal, voter: me }) + .accountsPartial({ proposal, voter: me }) .rpc({ skipPreflight: true }); - await program.methods.resolveV0().accounts({ proposal }).rpc(); + await program.methods.resolveV0().accountsPartial({ proposal }).rpc(); let acct = await proposalProgram.account.proposalV0.fetch(proposal!); expect(Boolean(acct.state.voting)).to.be.true; await sleep(6000); - await program.methods.resolveV0().accounts({ proposal }).rpc(); + await program.methods.resolveV0().accountsPartial({ proposal }).rpc(); acct = await proposalProgram.account.proposalV0.fetch(proposal!); expect(acct.state.resolved?.choices).to.deep.eq([]); @@ -395,7 +399,7 @@ describe("state-controller", () => { weight: new anchor.BN(5), removeVote: false, }) - .accounts({ proposal, voter: me }) + .accountsPartial({ proposal, voter: me }) .rpc({ skipPreflight: true }); let acct = await proposalProgram.account.proposalV0.fetch(proposal!); @@ -407,11 +411,11 @@ describe("state-controller", () => { weight: new anchor.BN(1), removeVote: false, }) - .accounts({ proposal, voter: me }) + .accountsPartial({ proposal, voter: me }) .rpc({ skipPreflight: true }); await sleep(10000); - await program.methods.resolveV0().accounts({ proposal }).rpc(); + await program.methods.resolveV0().accountsPartial({ proposal }).rpc(); acct = await proposalProgram.account.proposalV0.fetch(proposal!); expect(acct.state.resolved?.choices).to.deep.eq([1]); @@ -444,7 +448,7 @@ describe("state-controller", () => { weight: new anchor.BN(2), removeVote: false, }) - .accounts({ proposal, voter: me }) + .accountsPartial({ proposal, voter: me }) .rpc({ skipPreflight: true }); let acct = await proposalProgram.account.proposalV0.fetch(proposal!); @@ -456,11 +460,14 @@ describe("state-controller", () => { weight: new anchor.BN(5), removeVote: false, }) - .accounts({ proposal, voter: me }) + .accountsPartial({ proposal, voter: me }) .rpc({ skipPreflight: true }); await sleep(10000); - console.log("txid", await program.methods.resolveV0().accounts({ proposal }).rpc()); + console.log( + "txid", + await program.methods.resolveV0().accountsPartial({ proposal }).rpc() + ); acct = await proposalProgram.account.proposalV0.fetch(proposal!); expect(acct.state.resolved?.choices).to.deep.eq([1]); diff --git a/tests/token-voter.ts b/tests/token-voter.ts index f204e6a..0234ca0 100644 --- a/tests/token-voter.ts +++ b/tests/token-voter.ts @@ -59,7 +59,7 @@ describe("token-voter", () => { .preInstructions([ ComputeBudgetProgram.setComputeUnitLimit({ units: 500000 }), ]) - .accounts({ + .accountsPartial({ mint, }) .rpcAndKeys({ skipPreflight: true })); @@ -94,7 +94,7 @@ describe("token-voter", () => { ], tags: ["test", "tags"], }) - .accounts({ proposalConfig }) + .accountsPartial({ proposalConfig }) .rpcAndKeys({ skipPreflight: true })); await proposalProgram.methods @@ -105,7 +105,7 @@ describe("token-voter", () => { }, }, }) - .accounts({ proposal }) + .accountsPartial({ proposal }) .rpc(); }); @@ -143,7 +143,11 @@ describe("token-voter", () => { it("allows withdrawing tokens", async () => { await program.methods .withdrawV0() - .accounts({ receipt, refund: me }) + .accountsPartial({ + receipt: receipt!, + refund: me, + payer: me, + }) .rpc({ skipPreflight: true }); expect(await program.account.receiptV0.fetchNullable(receipt!)).to.be @@ -151,13 +155,19 @@ describe("token-voter", () => { }); it("allows voting on and relinquishing votes on the proposal", async () => { + console.log("vote") const { pubkeys: { marker }, } = await program.methods .voteV0({ choice: 0, }) - .accounts({ receipt, proposal }) + .accounts({ + payer: me, + receipt: receipt!, + proposal: proposal!, + proposalProgram: proposalProgram.programId, + }) .rpcAndKeys({ skipPreflight: true }); let acct = await proposalProgram.account.proposalV0.fetch(proposal!); @@ -169,7 +179,13 @@ describe("token-voter", () => { .relinquishVoteV0({ choice: 0, }) - .accounts({ receipt, proposal, refund: me }) + .accountsPartial({ + marker: marker!, + receipt: receipt!, + proposal: proposal!, + refund: me, + proposalProgram: proposalProgram.programId, + }) .rpc({ skipPreflight: true }); acct = await proposalProgram.account.proposalV0.fetch(proposal!); diff --git a/yarn.lock b/yarn.lock index c1363be..7b9a79f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -67,6 +67,13 @@ dependencies: regenerator-runtime "^0.14.0" +"@babel/runtime@^7.25.0": + version "7.26.9" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.26.9.tgz#aa4c6facc65b9cb3f87d75125ffd47781b475433" + integrity sha512-aA63XwOkcl4xxQa3HjPMqOP6LiK0ZDv3mUPYEFXkpHbaFjtGggE1A61FjFzJnB+p7/oy2gA8E+rcBNl/zC1tMg== + dependencies: + regenerator-runtime "^0.14.0" + "@bundlr-network/client@^0.8.8": version "0.8.9" resolved "https://registry.yarnpkg.com/@bundlr-network/client/-/client-0.8.9.tgz#58e969a5d80f8d25d212d46bb7a060730a3c1736" @@ -92,6 +99,16 @@ near-api-js "^0.44.2" near-seed-phrase "^0.2.0" +"@coral-xyz/anchor-errors@^0.30.1": + version "0.30.1" + resolved "https://registry.yarnpkg.com/@coral-xyz/anchor-errors/-/anchor-errors-0.30.1.tgz#bdfd3a353131345244546876eb4afc0e125bec30" + integrity sha512-9Mkradf5yS5xiLWrl9WrpjqOrAV+/W2RQHDlbnAZBivoGpOs1ECjoDCkVk4aRG8ZdiFiB8zQEVlxf+8fKkmSfQ== + +"@coral-xyz/anchor-errors@^0.31.0": + version "0.31.0" + resolved "https://registry.yarnpkg.com/@coral-xyz/anchor-errors/-/anchor-errors-0.31.0.tgz#dfc7329fca152b598842f68175efe5000825b51b" + integrity sha512-SUERksFSQ+4F11hkROIwHq4mcoSMXJxwVWLoklefi4dU679zVWFVcTq6O7otvjY8wlUaRXeE+iYcQWZTw2ll6w== + "@coral-xyz/anchor@0.28.0", "@coral-xyz/anchor@^0.28.0": version "0.28.0" resolved "https://registry.yarnpkg.com/@coral-xyz/anchor/-/anchor-0.28.0.tgz#8345c3c9186a91f095f704d7b90cd256f7e8b2dc" @@ -113,6 +130,46 @@ superstruct "^0.15.4" toml "^3.0.0" +"@coral-xyz/anchor@^0.30.1": + version "0.30.1" + resolved "https://registry.yarnpkg.com/@coral-xyz/anchor/-/anchor-0.30.1.tgz#17f3e9134c28cd0ea83574c6bab4e410bcecec5d" + integrity sha512-gDXFoF5oHgpriXAaLpxyWBHdCs8Awgf/gLHIo6crv7Aqm937CNdY+x+6hoj7QR5vaJV7MxWSQ0NGFzL3kPbWEQ== + dependencies: + "@coral-xyz/anchor-errors" "^0.30.1" + "@coral-xyz/borsh" "^0.30.1" + "@noble/hashes" "^1.3.1" + "@solana/web3.js" "^1.68.0" + bn.js "^5.1.2" + bs58 "^4.0.1" + buffer-layout "^1.2.2" + camelcase "^6.3.0" + cross-fetch "^3.1.5" + crypto-hash "^1.3.0" + eventemitter3 "^4.0.7" + pako "^2.0.3" + snake-case "^3.0.4" + superstruct "^0.15.4" + toml "^3.0.0" + +"@coral-xyz/anchor@^0.31.0": + version "0.31.0" + resolved "https://registry.yarnpkg.com/@coral-xyz/anchor/-/anchor-0.31.0.tgz#76b84541e6fdfbd6c661584cdc418453a6416f12" + integrity sha512-Yb1NwP1s4cWhAw7wL7vOLHSWWw3cD5D9pRCVSeJpdqPaI+w7sfRLScnVJL6ViYMZynB7nAG/5HcUPKUnY0L9rw== + dependencies: + "@coral-xyz/anchor-errors" "^0.31.0" + "@coral-xyz/borsh" "^0.31.0" + "@noble/hashes" "^1.3.1" + "@solana/web3.js" "^1.69.0" + bn.js "^5.1.2" + bs58 "^4.0.1" + buffer-layout "^1.2.2" + camelcase "^6.3.0" + cross-fetch "^3.1.5" + eventemitter3 "^4.0.7" + pako "^2.0.3" + superstruct "^0.15.4" + toml "^3.0.0" + "@coral-xyz/borsh@^0.26.0": version "0.26.0" resolved "https://registry.yarnpkg.com/@coral-xyz/borsh/-/borsh-0.26.0.tgz#d054f64536d824634969e74138f9f7c52bbbc0d5" @@ -129,6 +186,22 @@ bn.js "^5.1.2" buffer-layout "^1.2.0" +"@coral-xyz/borsh@^0.30.1": + version "0.30.1" + resolved "https://registry.yarnpkg.com/@coral-xyz/borsh/-/borsh-0.30.1.tgz#869d8833abe65685c72e9199b8688477a4f6b0e3" + integrity sha512-aaxswpPrCFKl8vZTbxLssA2RvwX2zmKLlRCIktJOwW+VpVwYtXRtlWiIP+c2pPRKneiTiWCN2GEMSH9j1zTlWQ== + dependencies: + bn.js "^5.1.2" + buffer-layout "^1.2.0" + +"@coral-xyz/borsh@^0.31.0": + version "0.31.0" + resolved "https://registry.yarnpkg.com/@coral-xyz/borsh/-/borsh-0.31.0.tgz#eb77239b75f3ea9e771b1ee0821712caf664cb32" + integrity sha512-DwdQ5fuj+rGQCTKRnxnW1W2lvcpBaFc9m9M1TcGGlm+bwCcggmDgbLKLgF+LjIrKnc7Nd+bCACx5RA9YTK2I4Q== + dependencies: + bn.js "^5.1.2" + buffer-layout "^1.2.0" + "@eslint/eslintrc@^1.3.3": version "1.4.1" resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.4.1.tgz#af58772019a2d271b7e2d4c23ff4ddcba3ccfb3e" @@ -498,28 +571,28 @@ dependencies: client-only "^0.0.1" -"@helium/account-fetch-cache-hooks@^0.5.0": - version "0.5.0" - resolved "https://registry.yarnpkg.com/@helium/account-fetch-cache-hooks/-/account-fetch-cache-hooks-0.5.0.tgz#8b2bbb8fce696eebe59f30812dd0ffb56b895aad" - integrity sha512-5+KyDHtWLzw2CknwD7UBPufryoQepigA8ta21nk6G4l8nXq0nvu6EnPOPMwHR89PJxw+hDY+cm2kfzgnapnLQw== +"@helium/account-fetch-cache-hooks@^0.10.0-alpha.3", "@helium/account-fetch-cache-hooks@^0.10.0-alpha.6": + version "0.10.0-alpha.6" + resolved "https://registry.yarnpkg.com/@helium/account-fetch-cache-hooks/-/account-fetch-cache-hooks-0.10.0-alpha.6.tgz#f666489c101401554b41355307fe71769285ba76" + integrity sha512-sKukmN/z/YpfUPW77mqvrqOA/lmWUIbuwS9ZIW95IhKTeSM608W/E3dHRc0dpcyl1shRcy7pJYE+bUl48QxU8w== dependencies: - "@helium/account-fetch-cache" "^0.5.0" - "@solana/web3.js" "^1.78.4" + "@helium/account-fetch-cache" "^0.10.0-alpha.6" + "@solana/web3.js" "^1.91.1" react-async-hook "^4.0.0" -"@helium/account-fetch-cache@^0.4.3": - version "0.4.3" - resolved "https://registry.yarnpkg.com/@helium/account-fetch-cache/-/account-fetch-cache-0.4.3.tgz#279d50ebf8a0d0d677017d487e7d6e28d9fb5af4" - integrity sha512-Oywq02vNCeP44c5gwrIw5I6MqMRqX4p+gi8UYsx7tQiqrp1LxxQcZItg6rjJUM7fMFU38o1Qz2BeZkQYU/kybA== +"@helium/account-fetch-cache@0.10.0-alpha.3": + version "0.10.0-alpha.3" + resolved "https://registry.yarnpkg.com/@helium/account-fetch-cache/-/account-fetch-cache-0.10.0-alpha.3.tgz#04a8a21690c2c45f1040f32045176fa6676fd905" + integrity sha512-TwaoBQ7yNc79XzsTo+lya4yqpNMjachf0EmWyz3hP0btMYCL7HVuRnkC/YOQ8SUl/g5h26zv09DiSGaqgG8KFA== dependencies: - "@solana/web3.js" "^1.78.4" + "@solana/web3.js" "^1.91.1" -"@helium/account-fetch-cache@^0.5.0": - version "0.5.0" - resolved "https://registry.yarnpkg.com/@helium/account-fetch-cache/-/account-fetch-cache-0.5.0.tgz#b0951fd5c44d242197daa3a1ce9bdb02945bc6ac" - integrity sha512-fvPJq+nwzn8O37ASaWmPQKQX3IdaMIPFo+tIG4xLipyD6IFiGyySDB/VBnSk0DM4EYaUEOa3c0iAbl4KUKH+Og== +"@helium/account-fetch-cache@^0.10.0-alpha.6": + version "0.10.0-alpha.6" + resolved "https://registry.yarnpkg.com/@helium/account-fetch-cache/-/account-fetch-cache-0.10.0-alpha.6.tgz#1201b6b532734fda9e10498afda59718a80c6c07" + integrity sha512-AgPIKpuaBCrgfm4hpEzlf54nkWAGN1K9g6woL32rt7N2vp0YhgtWTr7akos6J6KqE7BdBwkaXyrrklyLi4BaAA== dependencies: - "@solana/web3.js" "^1.78.4" + "@solana/web3.js" "^1.91.1" "@helium/address@^4.10.2": version "4.10.2" @@ -530,48 +603,24 @@ js-sha256 "^0.9.0" multiformats "^9.6.4" -"@helium/anchor-resolvers@^0.2.": - version "0.2.5" - resolved "https://registry.yarnpkg.com/@helium/anchor-resolvers/-/anchor-resolvers-0.2.5.tgz#d23fcd319d1f2444d9ebfa2273f9339beb8204bd" - integrity sha512-AOVa93cbFEUSDHR6OWHk5SlwwrnyStAZbjM1AGGUJdZEVzR1YnkYCl8aFZtVBCkCPmFz5iZDBjEx32chhRsEJA== - dependencies: - "@solana/spl-token" "^0.3.6" - "@solana/web3.js" "^1.43.4" - -"@helium/anchor-resolvers@^0.2.17": - version "0.2.21" - resolved "https://registry.yarnpkg.com/@helium/anchor-resolvers/-/anchor-resolvers-0.2.21.tgz#8cd13bca3e7af83ffff3ab754dcf9f788d26e57e" - integrity sha512-rz3GJaULGmokjrq63v4sy683PMUkL31jrK5wVX01tzCYbI1woC9vISoPd3oSSuauZqQXdBhhQ49GKrpzi49JbA== - dependencies: - "@solana/spl-token" "^0.3.6" - "@solana/web3.js" "^1.43.4" - -"@helium/anchor-resolvers@^0.4.3": - version "0.4.3" - resolved "https://registry.yarnpkg.com/@helium/anchor-resolvers/-/anchor-resolvers-0.4.3.tgz#6d7afba53b5e58d265e3f2d482521f2eef664c5e" - integrity sha512-VUEWucAdRyBgQ2XhnCQNn8L1fAp/dk8dOlrz8RudVFruEvJaUvmLwLKAKQJkt8dVoapcOBh3ywO7c9avop58TQ== +"@helium/anchor-resolvers@^0.10.0-alpha.6": + version "0.10.0-alpha.6" + resolved "https://registry.yarnpkg.com/@helium/anchor-resolvers/-/anchor-resolvers-0.10.0-alpha.6.tgz#8fc9821fcff73504291c556fae009e62a1463012" + integrity sha512-9YwURdu7Jj76n1KlAuzlP1hBuT1MSET3tV7m4Wx6StTLU7gMu2LVEKMESwKJlwjAdSf0UqFqP/LResbe7T9vJA== dependencies: "@solana/spl-token" "^0.3.8" - "@solana/web3.js" "^1.78.4" + "@solana/web3.js" "^1.91.1" -"@helium/anchor-resolvers@^0.5.0": - version "0.5.0" - resolved "https://registry.yarnpkg.com/@helium/anchor-resolvers/-/anchor-resolvers-0.5.0.tgz#499fbcd82411d07b148d7015a1e6432020a3f82d" - integrity sha512-qJeTh4KfRCWn3uKd1hQqa/CqAep6BUnJBvMxlu39rlOfeD+W6EymJX6E9qxTggfzd6CLxI//BTlL2pPm/HqmSg== +"@helium/helium-react-hooks@^0.10.0-alpha.3": + version "0.10.0-alpha.6" + resolved "https://registry.yarnpkg.com/@helium/helium-react-hooks/-/helium-react-hooks-0.10.0-alpha.6.tgz#8078b5dfbe45935f21ad3dcec1a346610d659a9f" + integrity sha512-Nya7sH4raK4acqhn4iLELAzB+wpTRXmJX21urd1c2kKvoNl9+H5ckMg0z/EHx4cWz7XNIM24KJs/EWfV3jqAxQ== dependencies: + "@coral-xyz/anchor" "^0.30.1" + "@helium/account-fetch-cache" "^0.10.0-alpha.6" + "@helium/account-fetch-cache-hooks" "^0.10.0-alpha.6" "@solana/spl-token" "^0.3.8" - "@solana/web3.js" "^1.78.4" - -"@helium/helium-react-hooks@^0.5.0": - version "0.5.0" - resolved "https://registry.yarnpkg.com/@helium/helium-react-hooks/-/helium-react-hooks-0.5.0.tgz#92c114e31ae5eb592554c49dd7709612273af367" - integrity sha512-bo9HhYj+qS9ML4J74xptco2JYp2SGy2tmCQFMKr0ywZYlnghr6oUry5rHrEYRgr9krzVKfRESfpAC3zy++RqMg== - dependencies: - "@coral-xyz/anchor" "^0.28.0" - "@helium/account-fetch-cache" "^0.5.0" - "@helium/account-fetch-cache-hooks" "^0.5.0" - "@solana/spl-token" "^0.3.8" - "@solana/web3.js" "^1.78.4" + "@solana/web3.js" "^1.91.1" bs58 "^4.0.1" pako "^2.0.3" react-async-hook "^4.0.0" @@ -584,19 +633,19 @@ "@coral-xyz/anchor" "^0.28.0" "@solana/web3.js" "^1.78.4" -"@helium/spl-utils@^0.4.3": - version "0.4.3" - resolved "https://registry.yarnpkg.com/@helium/spl-utils/-/spl-utils-0.4.3.tgz#9da76c006182e1e8a356234e6c583b1b09a733ed" - integrity sha512-LID4Irvco/J0f+WcR7aF2BfSGpCMM09SfL+XLDYF7PHE15h3AoUsPHSELRZ7XXWUW95EQhuiOO6SxgIBCZbmJQ== +"@helium/spl-utils@^0.10.0-alpha.6": + version "0.10.0-alpha.6" + resolved "https://registry.yarnpkg.com/@helium/spl-utils/-/spl-utils-0.10.0-alpha.6.tgz#722fbd78d28251888e9856fae8a3acc0a10f7b63" + integrity sha512-4pPD4swvkUz46Zn2yI65CAii/SF1qw3WT3sQkecwu8kSMgjw5UsULUFSKun0R+fM3uK6gJbGrZop9700ASADMA== dependencies: - "@coral-xyz/anchor" "^0.28.0" - "@helium/account-fetch-cache" "^0.4.3" + "@coral-xyz/anchor" "^0.30.1" + "@helium/account-fetch-cache" "^0.10.0-alpha.6" "@helium/address" "^4.10.2" - "@helium/anchor-resolvers" "^0.4.3" + "@helium/anchor-resolvers" "^0.10.0-alpha.6" "@metaplex-foundation/mpl-token-metadata" "^2.10.0" "@solana/spl-account-compression" "^0.1.7" "@solana/spl-token" "^0.3.8" - "@solana/web3.js" "^1.78.4" + "@solana/web3.js" "^1.91.1" axios "^1.5.0" bn.js "^5.2.0" borsh "^0.7.0" @@ -1590,6 +1639,13 @@ dependencies: "@noble/hashes" "1.3.2" +"@noble/curves@^1.4.2": + version "1.8.1" + resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.8.1.tgz#19bc3970e205c99e4bdb1c64a4785706bce497ff" + integrity sha512-warwspo+UYUPep0Q+vtdVB4Ugn8GGQj8iyB3gnRWsztmUHTI3S1nhdiWNsPUGL0vud7JlRRk1XEu7Lq1KGTnMQ== + dependencies: + "@noble/hashes" "1.7.1" + "@noble/ed25519@^1.6.1", "@noble/ed25519@^1.7.1": version "1.7.3" resolved "https://registry.yarnpkg.com/@noble/ed25519/-/ed25519-1.7.3.tgz#57e1677bf6885354b466c38e2b620c62f45a7123" @@ -1605,6 +1661,11 @@ resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.3.2.tgz#6f26dbc8fbc7205873ce3cee2f690eba0d421b39" integrity sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ== +"@noble/hashes@1.7.1", "@noble/hashes@^1.4.0": + version "1.7.1" + resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.7.1.tgz#5738f6d765710921e7a751e00c20ae091ed8db0f" + integrity sha512-B8XBPsn4vT/KJAGqDzbwztd+6Yte3P4V7iafm24bxgDe/mlRuK6xmWPuCNrKt2vDafZ8MfJLlchDG/vYafQEjQ== + "@nodelib/fs.scandir@2.1.5": version "2.1.5" resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" @@ -2017,7 +2078,7 @@ bigint-buffer "^1.1.5" bignumber.js "^9.0.1" -"@solana/buffer-layout@^4.0.0": +"@solana/buffer-layout@^4.0.0", "@solana/buffer-layout@^4.0.1": version "4.0.1" resolved "https://registry.yarnpkg.com/@solana/buffer-layout/-/buffer-layout-4.0.1.tgz#b996235eaec15b1e0b5092a8ed6028df77fa6c15" integrity sha512-E1ImOIAD1tBZFRdjeM4/pzTiTApC0AOBGwyAMS4fwIodCWArzJ3DWdoh8cKxeFM2fElkxBh2Aqts1BPC373rHA== @@ -2108,7 +2169,7 @@ rpc-websockets "^7.5.1" superstruct "^0.14.2" -"@solana/web3.js@^1.32.0", "@solana/web3.js@^1.43.4", "@solana/web3.js@^1.68.0": +"@solana/web3.js@^1.32.0", "@solana/web3.js@^1.68.0": version "1.77.3" resolved "https://registry.yarnpkg.com/@solana/web3.js/-/web3.js-1.77.3.tgz#2cbeaa1dd24f8fa386ac924115be82354dfbebab" integrity sha512-PHaO0BdoiQRPpieC1p31wJsBaxwIOWLh8j2ocXNKX8boCQVldt26Jqm2tZE4KlrvnCIV78owPLv1pEUgqhxZ3w== @@ -2129,6 +2190,27 @@ rpc-websockets "^7.5.1" superstruct "^0.14.2" +"@solana/web3.js@^1.69.0", "@solana/web3.js@^1.91.1": + version "1.98.0" + resolved "https://registry.yarnpkg.com/@solana/web3.js/-/web3.js-1.98.0.tgz#21ecfe8198c10831df6f0cfde7f68370d0405917" + integrity sha512-nz3Q5OeyGFpFCR+erX2f6JPt3sKhzhYcSycBCSPkWjzSVDh/Rr1FqTVMRe58FKO16/ivTUcuJjeS5MyBvpkbzA== + dependencies: + "@babel/runtime" "^7.25.0" + "@noble/curves" "^1.4.2" + "@noble/hashes" "^1.4.0" + "@solana/buffer-layout" "^4.0.1" + agentkeepalive "^4.5.0" + bigint-buffer "^1.1.5" + bn.js "^5.2.1" + borsh "^0.7.0" + bs58 "^4.0.1" + buffer "6.0.3" + fast-stable-stringify "^1.0.0" + jayson "^4.1.1" + node-fetch "^2.7.0" + rpc-websockets "^9.0.2" + superstruct "^2.0.2" + "@solana/web3.js@^1.78.4": version "1.87.3" resolved "https://registry.yarnpkg.com/@solana/web3.js/-/web3.js-1.87.3.tgz#36871af8d41221d34bfefcf897f158e1793b3356" @@ -2162,6 +2244,13 @@ dependencies: tslib "^2.4.0" +"@swc/helpers@^0.5.11": + version "0.5.15" + resolved "https://registry.yarnpkg.com/@swc/helpers/-/helpers-0.5.15.tgz#79efab344c5819ecf83a43f3f9f811fc84b516d7" + integrity sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g== + dependencies: + tslib "^2.8.0" + "@tailwindcss/typography@^0.5.7": version "0.5.9" resolved "https://registry.yarnpkg.com/@tailwindcss/typography/-/typography-0.5.9.tgz#027e4b0674929daaf7c921c900beee80dbad93e8" @@ -2272,6 +2361,11 @@ dependencies: "@types/node" "*" +"@types/uuid@^8.3.4": + version "8.3.4" + resolved "https://registry.yarnpkg.com/@types/uuid/-/uuid-8.3.4.tgz#bd86a43617df0594787d38b735f55c805becf1bc" + integrity sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw== + "@types/ws@^7.4.4": version "7.4.7" resolved "https://registry.yarnpkg.com/@types/ws/-/ws-7.4.7.tgz#f7c390a36f7a0679aa69de2d501319f4f8d9b702" @@ -2279,6 +2373,13 @@ dependencies: "@types/node" "*" +"@types/ws@^8.2.2": + version "8.5.14" + resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.5.14.tgz#93d44b268c9127d96026cf44353725dd9b6c3c21" + integrity sha512-bd/YFLW+URhBzMXurx7lWByOu+xzU9+kb3RboOteXYDfW+tr+JZa99OyNmPINEGB/ahzKrEuc8rcv4gnpJmxTw== + dependencies: + "@types/node" "*" + "@typescript-eslint/parser@^5.21.0": version "5.62.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.62.0.tgz#1b63d082d849a2fcae8a569248fbe2ee1b8a56c7" @@ -2416,6 +2517,13 @@ agentkeepalive@^4.3.0: dependencies: humanize-ms "^1.2.1" +agentkeepalive@^4.5.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/agentkeepalive/-/agentkeepalive-4.6.0.tgz#35f73e94b3f40bf65f105219c623ad19c136ea6a" + integrity sha512-kja8j7PjmncONqaTsB8fQ+wE2mSU2DJ9D4XKoJ5PFWIdRMa6SLSN1ff4mOr4jCbfRSsxR4keIiySJU0N9T5hIQ== + dependencies: + humanize-ms "^1.2.1" + aggregate-error@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a" @@ -4409,6 +4517,11 @@ eventemitter3@^4.0.4, eventemitter3@^4.0.7: resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f" integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== +eventemitter3@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-5.0.1.tgz#53f5ffd0a492ac800721bb42c66b841de96423c4" + integrity sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA== + evp_bytestokey@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02" @@ -5542,6 +5655,24 @@ jayson@^4.1.0: uuid "^8.3.2" ws "^7.4.5" +jayson@^4.1.1: + version "4.1.3" + resolved "https://registry.yarnpkg.com/jayson/-/jayson-4.1.3.tgz#db9be2e4287d9fef4fc05b5fe367abe792c2eee8" + integrity sha512-LtXh5aYZodBZ9Fc3j6f2w+MTNcnxteMOrb+QgIouguGOulWi0lieEkOUg+HkjjFs0DGoWDds6bi4E9hpNFLulQ== + dependencies: + "@types/connect" "^3.4.33" + "@types/node" "^12.12.54" + "@types/ws" "^7.4.4" + JSONStream "^1.3.5" + commander "^2.20.3" + delay "^5.0.0" + es6-promisify "^5.0.0" + eyes "^0.1.8" + isomorphic-ws "^4.0.1" + json-stringify-safe "^5.0.1" + uuid "^8.3.2" + ws "^7.5.10" + jiti@^1.18.2: version "1.19.1" resolved "https://registry.yarnpkg.com/jiti/-/jiti-1.19.1.tgz#fa99e4b76a23053e0e7cde098efe1704a14c16f1" @@ -6434,6 +6565,13 @@ node-fetch@^2.6.1, node-fetch@^2.6.11, node-fetch@^2.6.12, node-fetch@^2.6.7: dependencies: whatwg-url "^5.0.0" +node-fetch@^2.7.0: + version "2.7.0" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.7.0.tgz#d0f0fa6e3e2dc1d27efcd8ad99d550bda94d187d" + integrity sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A== + dependencies: + whatwg-url "^5.0.0" + node-gyp-build@^4.2.0, node-gyp-build@^4.3.0: version "4.6.0" resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.6.0.tgz#0c52e4cbf54bbd28b709820ef7b6a3c2d6209055" @@ -7627,6 +7765,22 @@ rpc-websockets@^7.5.1: bufferutil "^4.0.1" utf-8-validate "^5.0.2" +rpc-websockets@^9.0.2: + version "9.0.5" + resolved "https://registry.yarnpkg.com/rpc-websockets/-/rpc-websockets-9.0.5.tgz#7257489a54023ab371430acb08f65f0e795f499e" + integrity sha512-beIDQsnbug/SmxY7k+W3jSGmKEDy+mnvR0XMsgPWHvxyKxaw7VLMenkEgrWb6D4Bw5Hr6zXyv0Awd+sgwsg3Ow== + dependencies: + "@swc/helpers" "^0.5.11" + "@types/uuid" "^8.3.4" + "@types/ws" "^8.2.2" + buffer "^6.0.3" + eventemitter3 "^5.0.1" + uuid "^8.3.2" + ws "^8.5.0" + optionalDependencies: + bufferutil "^4.0.1" + utf-8-validate "^5.0.2" + run-async@^2.4.0: version "2.4.1" resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.4.1.tgz#8440eccf99ea3e70bd409d49aab88e10c189a455" @@ -8141,6 +8295,11 @@ superstruct@^0.15.4: resolved "https://registry.yarnpkg.com/superstruct/-/superstruct-0.15.5.tgz#0f0a8d3ce31313f0d84c6096cd4fa1bfdedc9dab" integrity sha512-4AOeU+P5UuE/4nOUkmcQdW5y7i9ndt1cQd/3iUe+LTz3RxESf/W/5lg4B74HbDMMv8PHnPnGCQFH45kBcrQYoQ== +superstruct@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/superstruct/-/superstruct-2.0.2.tgz#3f6d32fbdc11c357deff127d591a39b996300c54" + integrity sha512-uV+TFRZdXsqXTL2pRvujROjdZQ4RAlBUS5BTh9IGm+jTqQntYThciG/qu57Gs69yjnVUSqdxF9YLmSnpupBW9A== + supports-color@8.1.1: version "8.1.1" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" @@ -8450,6 +8609,11 @@ tslib@^2.0.3, tslib@^2.1.0, tslib@^2.3.0, tslib@^2.4.0: resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.0.tgz#b295854684dbda164e181d259a22cd779dcd7bc3" integrity sha512-7At1WUettjcSRHXCyYtTselblcHl9PJFFVKiCAy/bY97+BPZXSQ2wbq0P9s8tK2G7dFQfNnlJnPAiArVBVBsfA== +tslib@^2.8.0: + version "2.8.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.8.1.tgz#612efe4ed235d567e8aba5f2a5fab70280ade83f" + integrity sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w== + tsutils@^3.21.0: version "3.21.0" resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" @@ -8854,6 +9018,11 @@ ws@^7.4.5: resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.9.tgz#54fa7db29f4c7cec68b1ddd3a89de099942bb591" integrity sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q== +ws@^7.5.10: + version "7.5.10" + resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.10.tgz#58b5c20dc281633f6c19113f39b349bd8bd558d9" + integrity sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ== + ws@^8.5.0: version "8.13.0" resolved "https://registry.yarnpkg.com/ws/-/ws-8.13.0.tgz#9a9fb92f93cf41512a0735c8f4dd09b8a1211cd0" From 156e4250e0ba450db3878b57622ac84a7743ce24 Mon Sep 17 00:00:00 2001 From: Noah Prince Date: Fri, 21 Mar 2025 07:54:58 -0700 Subject: [PATCH 25/25] chore(release): publish 0.1.5 --- CHANGELOG.md | 8 ++++++++ lerna.json | 2 +- packages/docsite/CHANGELOG.md | 8 ++++++++ packages/docsite/package.json | 2 +- packages/modular-governance-hooks/CHANGELOG.md | 8 ++++++++ packages/modular-governance-hooks/package.json | 6 +++--- packages/modular-governance-idls/CHANGELOG.md | 8 ++++++++ packages/modular-governance-idls/package.json | 2 +- packages/nft-proxy-sdk/CHANGELOG.md | 8 ++++++++ packages/nft-proxy-sdk/package.json | 2 +- packages/nft-voter-sdk/CHANGELOG.md | 8 ++++++++ packages/nft-voter-sdk/package.json | 6 +++--- packages/organization-sdk/CHANGELOG.md | 8 ++++++++ packages/organization-sdk/package.json | 6 +++--- packages/organization-wallet-sdk/CHANGELOG.md | 8 ++++++++ packages/organization-wallet-sdk/package.json | 6 +++--- packages/proposal-sdk/CHANGELOG.md | 8 ++++++++ packages/proposal-sdk/package.json | 4 ++-- packages/state-controller-sdk/CHANGELOG.md | 8 ++++++++ packages/state-controller-sdk/package.json | 4 ++-- packages/token-voter-sdk/CHANGELOG.md | 8 ++++++++ packages/token-voter-sdk/package.json | 4 ++-- 22 files changed, 110 insertions(+), 22 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4a14c9a..ce76373 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.5](https://github.com/helium/modular-governance/compare/v0.0.15...v0.1.5) (2025-03-21) + +**Note:** Version bump only for package modular-governance + + + + + ## [0.1.5-alpha.0](https://github.com/helium/modular-governance/compare/v0.0.15...v0.1.5-alpha.0) (2025-03-19) **Note:** Version bump only for package modular-governance diff --git a/lerna.json b/lerna.json index 4f5536a..36f6315 100644 --- a/lerna.json +++ b/lerna.json @@ -4,5 +4,5 @@ "packages/*" ], "useWorkspaces": true, - "version": "0.1.5-alpha.0" + "version": "0.1.5" } diff --git a/packages/docsite/CHANGELOG.md b/packages/docsite/CHANGELOG.md index a0fa040..d28f0bd 100644 --- a/packages/docsite/CHANGELOG.md +++ b/packages/docsite/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.5](https://github.com/helium/modular-governance/compare/v0.0.15...v0.1.5) (2025-03-21) + +**Note:** Version bump only for package governance-docs + + + + + ## [0.1.5-alpha.0](https://github.com/helium/modular-governance/compare/v0.0.15...v0.1.5-alpha.0) (2025-03-19) **Note:** Version bump only for package governance-docs diff --git a/packages/docsite/package.json b/packages/docsite/package.json index ade65ca..96d3e0a 100644 --- a/packages/docsite/package.json +++ b/packages/docsite/package.json @@ -1,6 +1,6 @@ { "name": "governance-docs", - "version": "0.1.5-alpha.0", + "version": "0.1.5", "private": true, "scripts": { "dev": "next dev", diff --git a/packages/modular-governance-hooks/CHANGELOG.md b/packages/modular-governance-hooks/CHANGELOG.md index 155cf4c..e621638 100644 --- a/packages/modular-governance-hooks/CHANGELOG.md +++ b/packages/modular-governance-hooks/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.5](https://github.com/helium/modular-governance/compare/v0.0.15...v0.1.5) (2025-03-21) + +**Note:** Version bump only for package @helium/modular-governance-hooks + + + + + ## [0.1.5-alpha.0](https://github.com/helium/modular-governance/compare/v0.0.15...v0.1.5-alpha.0) (2025-03-19) **Note:** Version bump only for package @helium/modular-governance-hooks diff --git a/packages/modular-governance-hooks/package.json b/packages/modular-governance-hooks/package.json index 5f2fc63..af6985e 100644 --- a/packages/modular-governance-hooks/package.json +++ b/packages/modular-governance-hooks/package.json @@ -6,7 +6,7 @@ "registry": "https://registry.npmjs.org/" }, "license": "Apache-2.0", - "version": "0.1.5-alpha.0", + "version": "0.1.5", "description": "React hooks for modular governance", "repository": { "type": "git", @@ -36,8 +36,8 @@ "@helium/account-fetch-cache": "0.10.0-alpha.3", "@helium/account-fetch-cache-hooks": "^0.10.0-alpha.3", "@helium/helium-react-hooks": "^0.10.0-alpha.3", - "@helium/modular-governance-idls": "^0.1.5-alpha.0", - "@helium/organization-sdk": "^0.1.5-alpha.0", + "@helium/modular-governance-idls": "^0.1.5", + "@helium/organization-sdk": "^0.1.5", "@solana/web3.js": "^1.78.4" }, "devDependencies": { diff --git a/packages/modular-governance-idls/CHANGELOG.md b/packages/modular-governance-idls/CHANGELOG.md index 49f1045..a16717e 100644 --- a/packages/modular-governance-idls/CHANGELOG.md +++ b/packages/modular-governance-idls/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.5](https://github.com/helium/modular-governance/compare/v0.0.15...v0.1.5) (2025-03-21) + +**Note:** Version bump only for package @helium/modular-governance-idls + + + + + ## [0.1.5-alpha.0](https://github.com/helium/modular-governance/compare/v0.0.15...v0.1.5-alpha.0) (2025-03-19) **Note:** Version bump only for package @helium/modular-governance-idls diff --git a/packages/modular-governance-idls/package.json b/packages/modular-governance-idls/package.json index 21b99c8..82bcc52 100644 --- a/packages/modular-governance-idls/package.json +++ b/packages/modular-governance-idls/package.json @@ -1,6 +1,6 @@ { "name": "@helium/modular-governance-idls", - "version": "0.1.5-alpha.0", + "version": "0.1.5", "description": "Exported idls", "publishConfig": { "access": "public", diff --git a/packages/nft-proxy-sdk/CHANGELOG.md b/packages/nft-proxy-sdk/CHANGELOG.md index 0c64b54..7445c7f 100644 --- a/packages/nft-proxy-sdk/CHANGELOG.md +++ b/packages/nft-proxy-sdk/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.5](https://github.com/helium/modular-governance/compare/v0.0.15...v0.1.5) (2025-03-21) + +**Note:** Version bump only for package @helium/nft-proxy-sdk + + + + + ## [0.1.5-alpha.0](https://github.com/helium/modular-governance/compare/v0.0.15...v0.1.5-alpha.0) (2025-03-19) **Note:** Version bump only for package @helium/nft-proxy-sdk diff --git a/packages/nft-proxy-sdk/package.json b/packages/nft-proxy-sdk/package.json index 2974ecc..61b2227 100644 --- a/packages/nft-proxy-sdk/package.json +++ b/packages/nft-proxy-sdk/package.json @@ -5,7 +5,7 @@ "registry": "https://registry.npmjs.org/" }, "license": "Apache-2.0", - "version": "0.1.5-alpha.0", + "version": "0.1.5", "description": "Interface to the nft proxy smart contract", "repository": { "type": "git", diff --git a/packages/nft-voter-sdk/CHANGELOG.md b/packages/nft-voter-sdk/CHANGELOG.md index 001bab2..92aca38 100644 --- a/packages/nft-voter-sdk/CHANGELOG.md +++ b/packages/nft-voter-sdk/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.5](https://github.com/helium/modular-governance/compare/v0.0.15...v0.1.5) (2025-03-21) + +**Note:** Version bump only for package @helium/nft-voter-sdk + + + + + ## [0.1.5-alpha.0](https://github.com/helium/modular-governance/compare/v0.0.15...v0.1.5-alpha.0) (2025-03-19) **Note:** Version bump only for package @helium/nft-voter-sdk diff --git a/packages/nft-voter-sdk/package.json b/packages/nft-voter-sdk/package.json index 28d8a09..952021d 100644 --- a/packages/nft-voter-sdk/package.json +++ b/packages/nft-voter-sdk/package.json @@ -5,7 +5,7 @@ "registry": "https://registry.npmjs.org/" }, "license": "Apache-2.0", - "version": "0.1.5-alpha.0", + "version": "0.1.5", "description": "Interface to the nft voter smart contract", "repository": { "type": "git", @@ -33,8 +33,8 @@ "dependencies": { "@coral-xyz/anchor": "^0.31.0", "@helium/anchor-resolvers": "^0.10.0-alpha.6", - "@helium/modular-governance-idls": "^0.1.5-alpha.0", - "@helium/nft-proxy-sdk": "^0.1.5-alpha.0", + "@helium/modular-governance-idls": "^0.1.5", + "@helium/nft-proxy-sdk": "^0.1.5", "@solana/spl-token": "^0.3.8" }, "devDependencies": { diff --git a/packages/organization-sdk/CHANGELOG.md b/packages/organization-sdk/CHANGELOG.md index e2c7154..e144b42 100644 --- a/packages/organization-sdk/CHANGELOG.md +++ b/packages/organization-sdk/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.5](https://github.com/helium/modular-governance/compare/v0.0.15...v0.1.5) (2025-03-21) + +**Note:** Version bump only for package @helium/organization-sdk + + + + + ## [0.1.5-alpha.0](https://github.com/helium/modular-governance/compare/v0.0.15...v0.1.5-alpha.0) (2025-03-19) **Note:** Version bump only for package @helium/organization-sdk diff --git a/packages/organization-sdk/package.json b/packages/organization-sdk/package.json index 9e01d96..c1b5dea 100644 --- a/packages/organization-sdk/package.json +++ b/packages/organization-sdk/package.json @@ -5,7 +5,7 @@ "registry": "https://registry.npmjs.org/" }, "license": "Apache-2.0", - "version": "0.1.5-alpha.0", + "version": "0.1.5", "description": "Interface to the organization smart contract", "repository": { "type": "git", @@ -33,8 +33,8 @@ "dependencies": { "@coral-xyz/anchor": "^0.31.0", "@helium/anchor-resolvers": "^0.10.0-alpha.6", - "@helium/modular-governance-idls": "^0.1.5-alpha.0", - "@helium/proposal-sdk": "^0.1.5-alpha.0" + "@helium/modular-governance-idls": "^0.1.5", + "@helium/proposal-sdk": "^0.1.5" }, "devDependencies": { "git-format-staged": "^2.1.3", diff --git a/packages/organization-wallet-sdk/CHANGELOG.md b/packages/organization-wallet-sdk/CHANGELOG.md index 7745e0d..a8c047c 100644 --- a/packages/organization-wallet-sdk/CHANGELOG.md +++ b/packages/organization-wallet-sdk/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.5](https://github.com/helium/modular-governance/compare/v0.0.15...v0.1.5) (2025-03-21) + +**Note:** Version bump only for package @helium/organization-wallet-sdk + + + + + ## [0.1.5-alpha.0](https://github.com/helium/modular-governance/compare/v0.0.15...v0.1.5-alpha.0) (2025-03-19) **Note:** Version bump only for package @helium/organization-wallet-sdk diff --git a/packages/organization-wallet-sdk/package.json b/packages/organization-wallet-sdk/package.json index 9804427..2e0ddf2 100644 --- a/packages/organization-wallet-sdk/package.json +++ b/packages/organization-wallet-sdk/package.json @@ -5,7 +5,7 @@ "registry": "https://registry.npmjs.org/" }, "license": "Apache-2.0", - "version": "0.1.5-alpha.0", + "version": "0.1.5", "description": "Interface to the organization wallet smart contract", "repository": { "type": "git", @@ -33,8 +33,8 @@ "dependencies": { "@coral-xyz/anchor": "^0.31.0", "@helium/anchor-resolvers": "^0.10.0-alpha.6", - "@helium/modular-governance-idls": "^0.1.5-alpha.0", - "@helium/proposal-sdk": "^0.1.5-alpha.0" + "@helium/modular-governance-idls": "^0.1.5", + "@helium/proposal-sdk": "^0.1.5" }, "devDependencies": { "git-format-staged": "^2.1.3", diff --git a/packages/proposal-sdk/CHANGELOG.md b/packages/proposal-sdk/CHANGELOG.md index 8bae9f8..bef2cc9 100644 --- a/packages/proposal-sdk/CHANGELOG.md +++ b/packages/proposal-sdk/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.5](https://github.com/helium/modular-governance/compare/v0.0.15...v0.1.5) (2025-03-21) + +**Note:** Version bump only for package @helium/proposal-sdk + + + + + ## [0.1.5-alpha.0](https://github.com/helium/modular-governance/compare/v0.0.15...v0.1.5-alpha.0) (2025-03-19) **Note:** Version bump only for package @helium/proposal-sdk diff --git a/packages/proposal-sdk/package.json b/packages/proposal-sdk/package.json index 70a7e0e..b61d86f 100644 --- a/packages/proposal-sdk/package.json +++ b/packages/proposal-sdk/package.json @@ -5,7 +5,7 @@ "registry": "https://registry.npmjs.org/" }, "license": "Apache-2.0", - "version": "0.1.5-alpha.0", + "version": "0.1.5", "description": "Interface to the proposal smart contract", "repository": { "type": "git", @@ -33,7 +33,7 @@ "dependencies": { "@coral-xyz/anchor": "^0.31.0", "@helium/anchor-resolvers": "^0.10.0-alpha.6", - "@helium/modular-governance-idls": "^0.1.5-alpha.0" + "@helium/modular-governance-idls": "^0.1.5" }, "devDependencies": { "git-format-staged": "^2.1.3", diff --git a/packages/state-controller-sdk/CHANGELOG.md b/packages/state-controller-sdk/CHANGELOG.md index 1f649e3..4d899e2 100644 --- a/packages/state-controller-sdk/CHANGELOG.md +++ b/packages/state-controller-sdk/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.5](https://github.com/helium/modular-governance/compare/v0.0.15...v0.1.5) (2025-03-21) + +**Note:** Version bump only for package @helium/state-controller-sdk + + + + + ## [0.1.5-alpha.0](https://github.com/helium/modular-governance/compare/v0.0.15...v0.1.5-alpha.0) (2025-03-19) **Note:** Version bump only for package @helium/state-controller-sdk diff --git a/packages/state-controller-sdk/package.json b/packages/state-controller-sdk/package.json index 5d3e6cc..6537692 100644 --- a/packages/state-controller-sdk/package.json +++ b/packages/state-controller-sdk/package.json @@ -5,7 +5,7 @@ "registry": "https://registry.npmjs.org/" }, "license": "Apache-2.0", - "version": "0.1.5-alpha.0", + "version": "0.1.5", "description": "Interface to the state controller smart contract", "repository": { "type": "git", @@ -33,7 +33,7 @@ "dependencies": { "@coral-xyz/anchor": "^0.31.0", "@helium/anchor-resolvers": "^0.10.0-alpha.6", - "@helium/modular-governance-idls": "^0.1.5-alpha.0" + "@helium/modular-governance-idls": "^0.1.5" }, "devDependencies": { "git-format-staged": "^2.1.3", diff --git a/packages/token-voter-sdk/CHANGELOG.md b/packages/token-voter-sdk/CHANGELOG.md index fef7c86..57e45a3 100644 --- a/packages/token-voter-sdk/CHANGELOG.md +++ b/packages/token-voter-sdk/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.5](https://github.com/helium/modular-governance/compare/v0.0.15...v0.1.5) (2025-03-21) + +**Note:** Version bump only for package @helium/token-voter-sdk + + + + + ## [0.1.5-alpha.0](https://github.com/helium/modular-governance/compare/v0.0.15...v0.1.5-alpha.0) (2025-03-19) **Note:** Version bump only for package @helium/token-voter-sdk diff --git a/packages/token-voter-sdk/package.json b/packages/token-voter-sdk/package.json index 89c3d8f..cb7c8ef 100644 --- a/packages/token-voter-sdk/package.json +++ b/packages/token-voter-sdk/package.json @@ -5,7 +5,7 @@ "registry": "https://registry.npmjs.org/" }, "license": "Apache-2.0", - "version": "0.1.5-alpha.0", + "version": "0.1.5", "description": "Interface to the token voter smart contract", "repository": { "type": "git", @@ -33,7 +33,7 @@ "dependencies": { "@coral-xyz/anchor": "^0.31.0", "@helium/anchor-resolvers": "^0.10.0-alpha.6", - "@helium/modular-governance-idls": "^0.1.5-alpha.0", + "@helium/modular-governance-idls": "^0.1.5", "@solana/spl-token": "^0.3.8" }, "devDependencies": {