Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Development -> Main #713

Closed
wants to merge 28 commits into from
Closed

Development -> Main #713

wants to merge 28 commits into from

Conversation

JakeHartnell
Copy link
Member

@JakeHartnell JakeHartnell commented Jun 14, 2023

No description provided.

@github-actions
Copy link

github-actions bot commented Jul 3, 2023

Cosm-Orc Gas Usage

Contract Op Name Gas Used Old Gas Used Gas Diff File
dao_dao_core Store__Store 6297548 6180873 +1.8877% ci/integration-tests/src/helpers/chain.rs:98
dao_pre_propose_single Store__Store 4279324 4168525 +2.6580% ci/integration-tests/src/helpers/chain.rs:98
dao_proposal_single Store__Store 6789079 6672533 +1.7467% ci/integration-tests/src/helpers/chain.rs:98
cw20_stake Store__Store 4039409 3958328 +2.0484% ci/integration-tests/src/helpers/chain.rs:98
cw20_stake_external_rewards Store__Store 3389630 3350513 +1.1675% ci/integration-tests/src/helpers/chain.rs:98
cw20_stake_reward_distributor Store__Store 2897606 2841017 +1.9919% ci/integration-tests/src/helpers/chain.rs:98
cw_admin_factory Store__Store 2071755 2019807 +2.5719% ci/integration-tests/src/helpers/chain.rs:98
cw_fund_distributor Store__Store 3433089 3362993 +2.0843% ci/integration-tests/src/helpers/chain.rs:98
cw_payroll_factory Store__Store 3756022 3698198 +1.5636% ci/integration-tests/src/helpers/chain.rs:98
cw_token_swap Store__Store 2429112 2382897 +1.9394% ci/integration-tests/src/helpers/chain.rs:98
cw_vesting Store__Store 4292883 4237984 +1.2954% ci/integration-tests/src/helpers/chain.rs:98
dao_migrator Store__Store 5202909 5126651 +1.4875% ci/integration-tests/src/helpers/chain.rs:98
dao_pre_propose_approval_single Store__Store 5040906 4924660 +2.3605% ci/integration-tests/src/helpers/chain.rs:98
dao_pre_propose_approver Store__Store 3765057 3675123 +2.4471% ci/integration-tests/src/helpers/chain.rs:98
dao_pre_propose_multiple Store__Store 4358416 4246824 +2.6277% ci/integration-tests/src/helpers/chain.rs:98
dao_proposal_condorcet Store__Store 4712211 4625956 +1.8646% ci/integration-tests/src/helpers/chain.rs:98
dao_proposal_multiple Store__Store 6611576 6470617 +2.1784% ci/integration-tests/src/helpers/chain.rs:98
dao_voting_cw20_staked Store__Store 3665035 3622525 +1.1735% ci/integration-tests/src/helpers/chain.rs:98
dao_voting_cw4 Store__Store 2665777 2686291 -0.7637% ci/integration-tests/src/helpers/chain.rs:98
dao_voting_cw721_staked Store__Store 4648095 3348121 +38.8270% ci/integration-tests/src/helpers/chain.rs:98
dao_voting_cw721_staked Instantiate__instantiate_dao_voting_cw721_staked 180303 178255 +1.1489% ci/integration-tests/src/tests/dao_voting_cw721_staked_test.rs:49
dao_voting_native_staked Store__Store 3032182 2989815 +1.4170% ci/integration-tests/src/helpers/chain.rs:98
Raw Report for 0367c84
Contract Op Name Gas Used Gas Wanted File
cw20_base Execute__cw20_base_increase_allowance 142201 190586 ci/integration-tests/src/helpers/helper.rs:216
cw20_base Execute__send_and_stake_cw20 234268 328683 ci/integration-tests/src/helpers/helper.rs:180
cw20_base Execute__exc_stake_stake_tokens 234536 320954 ci/integration-tests/src/tests/cw20_stake_test.rs:76
cw20_base Store__Store 4191041 6263772 ci/integration-tests/src/helpers/chain.rs:98
cw721_base Instantiate__instantiate_cw721_base 166518 227061 ci/integration-tests/src/tests/dao_voting_cw721_staked_test.rs:22
cw721_base Store__Store 3975657 5940696 ci/integration-tests/src/helpers/chain.rs:98
cw721_base Execute__mint_nft 140715 188355 ci/integration-tests/src/tests/dao_voting_cw721_staked_test.rs:96
cw721_base Execute__stake_nft 234592 329169 ci/integration-tests/src/tests/dao_voting_cw721_staked_test.rs:79
dao_dao_core Instantiate__create_dao 1275506 1890450 ci/integration-tests/src/helpers/helper.rs:101
dao_dao_core Execute__exc_items_rm 192822 266513 ci/integration-tests/src/tests/cw_core_test.rs:171
dao_dao_core Execute__exc_items_set 194489 269016 ci/integration-tests/src/tests/cw_core_test.rs:136
dao_dao_core Instantiate__exc_items_create_dao 1276556 1892027 ci/integration-tests/src/helpers/helper.rs:101
dao_dao_core Instantiate__exc_stake_create_dao 1275482 1890414 ci/integration-tests/src/helpers/helper.rs:101
dao_dao_core Store__Store 6297548 9423533 ci/integration-tests/src/helpers/chain.rs:98
dao_dao_core Instantiate__inst_dao_no_admin 1275506 1890450 ci/integration-tests/src/helpers/helper.rs:101
dao_dao_core Execute__exc_admin_msgs_pause_dao 194615 269205 ci/integration-tests/src/tests/cw_core_test.rs:76
dao_dao_core Instantiate__exc_admin_msgs_create_dao 1275506 1890450 ci/integration-tests/src/helpers/helper.rs:101
dao_dao_core Instantiate__exc_admin_msgs_create_dao_with_admin 1276556 1892027 ci/integration-tests/src/helpers/helper.rs:101
dao_dao_core Instantiate__inst_admin_create_dao 1276556 1892027 ci/integration-tests/src/helpers/helper.rs:101
dao_pre_propose_single Execute__pre_propose_propose 1806427 2686829 ci/integration-tests/src/helpers/helper.rs:235
dao_pre_propose_single Store__Store 4279324 6396197 ci/integration-tests/src/helpers/chain.rs:98
dao_proposal_single Execute__dao_proposal_single_vote 5992028 8965158 ci/integration-tests/src/helpers/helper.rs:285
dao_proposal_single Store__Store 6789079 10160769 ci/integration-tests/src/helpers/chain.rs:98
cw20_stake Store__Store 4039409 6036324 ci/integration-tests/src/helpers/chain.rs:98
cw20_stake_external_rewards Store__Store 3389630 5061656 ci/integration-tests/src/helpers/chain.rs:98
cw20_stake_reward_distributor Store__Store 2897606 4323620 ci/integration-tests/src/helpers/chain.rs:98
cw4_group Store__Store 2793580 4167581 ci/integration-tests/src/helpers/chain.rs:98
cw721_roles Store__Store 5063861 7573002 ci/integration-tests/src/helpers/chain.rs:98
cw_admin_factory Store__Store 2071755 3084843 ci/integration-tests/src/helpers/chain.rs:98
cw_fund_distributor Store__Store 3433089 5126844 ci/integration-tests/src/helpers/chain.rs:98
cw_payroll_factory Store__Store 3756022 5611244 ci/integration-tests/src/helpers/chain.rs:98
cw_token_swap Store__Store 2429112 3620879 ci/integration-tests/src/helpers/chain.rs:98
cw_vesting Store__Store 4292883 6416535 ci/integration-tests/src/helpers/chain.rs:98
cw_vesting Execute__delegate 206744 287399 ci/integration-tests/src/tests/cw_vesting_test.rs:103
cw_vesting Execute__undelegate 251807 332348 ci/integration-tests/src/tests/cw_vesting_test.rs:142
cw_vesting Execute__withdraw_reward 191363 264324 ci/integration-tests/src/tests/cw_vesting_test.rs:124
cw_vesting Instantiate__instantiate 227550 318608 ci/integration-tests/src/tests/cw_vesting_test.rs:59
dao_migrator Store__Store 5202909 7781574 ci/integration-tests/src/helpers/chain.rs:98
dao_pre_propose_approval_single Store__Store 5040906 7538565 ci/integration-tests/src/helpers/chain.rs:98
dao_pre_propose_approver Store__Store 3765057 5624796 ci/integration-tests/src/helpers/chain.rs:98
dao_pre_propose_multiple Store__Store 4358416 6514835 ci/integration-tests/src/helpers/chain.rs:98
dao_proposal_condorcet Store__Store 4712211 7045527 ci/integration-tests/src/helpers/chain.rs:98
dao_proposal_multiple Store__Store 6611576 9894575 ci/integration-tests/src/helpers/chain.rs:98
dao_voting_cw20_staked Store__Store 3665035 5474763 ci/integration-tests/src/helpers/chain.rs:98
dao_voting_cw4 Store__Store 2665777 3975876 ci/integration-tests/src/helpers/chain.rs:98
dao_voting_cw721_roles Store__Store 2839938 4237118 ci/integration-tests/src/helpers/chain.rs:98
dao_voting_cw721_staked Store__Store 4648095 6949353 ci/integration-tests/src/helpers/chain.rs:98
dao_voting_cw721_staked Execute__claim_nfts 5710872 8543412 ci/integration-tests/src/tests/dao_voting_cw721_staked_test.rs:129
dao_voting_cw721_staked Instantiate__instantiate_dao_voting_cw721_staked 180303 247739 ci/integration-tests/src/tests/dao_voting_cw721_staked_test.rs:49
dao_voting_cw721_staked Execute__unstake_nfts 230320 322761 ci/integration-tests/src/tests/dao_voting_cw721_staked_test.rs:114
dao_voting_native_staked Store__Store 3032182 4525484 ci/integration-tests/src/helpers/chain.rs:98
multiple_contracts Execute__batch_cw721_stake_max_claims 4198067 6256677 ci/integration-tests/src/tests/dao_voting_cw721_staked_test.rs:258

JakeHartnell and others added 3 commits July 9, 2023 13:56
* Refactor cw4 voting

* Fix up tests and bugs

* Add test for using an existing group contract

* Update schema

* Fix clippy

* nightly -> stable for CI

nightly broke a bunch of linting stuff, we should probably be using stable
* Initial contract commits

* Clean up

* Start building out the contracts more

* Untested first version of roles NFT contract

* Move ActiveThreshold to dao-voting package

* Fix up many bugs in cw721-roles

* Refactor into multiple files

* Rename contracts

* Clean up helpers

* More ActiveThreshold fixups

* Clean up dao-voting-cw721-roles tests

* Bug fixes and starting tests for cw721-roles

* MVP roles voting contract

* MVP voting-cw721-roles contract and tests

* Fix transfer / send and clean up

* Create NFT contract on instantiation dao-voting-cw721-staked

* Add ActiveThreshold support to dao-voting-cw721-staked

* More dao-voting-cw721-roles tests, clippy cleanup

* Update schemas

* Update readmes, clean up msg exports

* Add basic test for instantiate NFT contract with dao-voting-cw721-roles

* Fix WASM build

* Update cw721 and cw721-base to 0.17

* Update contracts/external/cw721-roles/src/contract.rs

Co-authored-by: Art3miX <[email protected]>

* Address code review comments, more comments

* Add active threshold tests, fix math

* Clean up

* Implement Art3Mix suggested change

* Add optional on-chain role

* Fix WASM build

* Add ext methods to update role NFTs

* Add more info to README.md

* Update contract description

* Ignore doc test

* Make clippy happy

* Update schemas

* Fixups, tests for NFT sending to increase test coverage

* Add ListMembers query and test

* Add test coverage for hooks

* More test coverage for dao-voting-cw721-staked

* Remove unused hooks code from roles voting module

* Update schema, make clippy happy

* Try and fix integration tests -Z option not available in stable

* Try running integration tests with stable rust

* Use older nightly version

* Another attempt to fix integration tests

* Fix dao-voting-cw721-staked

* Minor cleanup

* More cleanup, bump workspace-optimizer version

* More cleanup

* Introduce dao-cw721-extensions package, fix wasm build

---------

Co-authored-by: Art3miX <[email protected]>
taitruong and others added 2 commits July 10, 2023 21:31
* update lib versions

* generate schema: `just gen`

---------

Co-authored-by: Tai 'Mr. T' Truong <[email protected]>
@codecov
Copy link

codecov bot commented Aug 2, 2023

Codecov Report

Patch coverage: 95.51% and project coverage change: +0.10% 🎉

Comparison is base (7f89ad1) 93.94% compared to head (7756251) 94.04%.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #713      +/-   ##
==========================================
+ Coverage   93.94%   94.04%   +0.10%     
==========================================
  Files          60       62       +2     
  Lines        5215     5610     +395     
==========================================
+ Hits         4899     5276     +377     
- Misses        316      334      +18     
Files Changed Coverage Δ
...acts/voting/dao-voting-cw20-staked/src/contract.rs 93.85% <ø> (ø)
...tracts/voting/dao-voting-cw721-staked/src/state.rs 100.00% <ø> (ø)
packages/dao-voting/src/threshold.rs 100.00% <ø> (ø)
...acts/voting/dao-voting-cw721-roles/src/contract.rs 91.39% <91.39%> (ø)
...cts/voting/dao-voting-cw721-staked/src/contract.rs 95.15% <94.07%> (-1.28%) ⬇️
contracts/voting/dao-voting-cw4/src/contract.rs 94.44% <96.36%> (-1.06%) ⬇️
contracts/external/cw721-roles/src/contract.rs 98.04% <98.04%> (ø)
packages/dao-voting/src/voting.rs 98.52% <100.00%> (ø)

... and 2 files with indirect coverage changes

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

albttx and others added 14 commits August 19, 2023 13:22
* chore(ci): action release-contracts

* Apply suggestions from code review

---------

Co-authored-by: Jake Hartnell <[email protected]>
* Support a wider variety of NFT contracts

Makes the interface for instantiating a new collection a bit more generic
to account for most types of cw721 and sg721 contracts.

* Improve test coverage

* Address PR comments, check errors

* Apply @bekauz's suggestion

* Add migrate message

New features don't require any state migrations. Both `ACTIVE_THRESHOLD` and `HOOKS` are uninitialized if none are set, so no migration logic needed.

* More test coverage
* docs.rs shield.io badges

missing docs.rs:
cw-fund-distributor
cw-tokenfactory-issuer
cw721-roles
dao-voting-cw721-roles
dao-voting-token-factory-staked

* Readme h1 touchups

* Removed extra linebreaks

* Main README.md shields

Added shields for:
* github latest release
* Discord
* x/Twitter

* Change contract docs.rs shield to latest release instead of v2.2.0

* Add docs.rs logo to contract shields

* Add crates.io to contract shields

* Add commit activity and contributor count to main README.md shields

* Added logos to commit activity and contributor main README.md shields

Rearranged shields

* Added DAO DAO DAO to main README.md shields
* Add missing hooks to dao-voting-native-staked, start adding tests

* Fix group contract attribute key emits "address"

* Fix absoluteCount can be configured to be greater than the total
NFT supply

* Fix absoluteCount threshold for a new token is not validated

* Fix issuer contract can be blacklisted

* Fix Stargaze collection info bug, and absolute count validation

sg721 has two addresses that control it. The `minter` which can mint
NFTs, and the `creator` which can update collection metadata and
royalties.

We now set both of those to be the DAO.

* Fix incorrect events are emitted for whitelist

* Fix lack of denom validation

* Fix BEFORE_SEND_HOOK_FEATURES_ENABLED is not exposed through smart queries

* Fix misleading from attribute when burning funds

* Fix broken tests from denom validation

* Fix inconsistent attribute namings and orderings

* Fix INITITIAL_NFTS spelling XD

* Fix counterintuitive variable namings

* Better API for cw-tokenfactory-issuer

Many of these methods are not needed thanks to Authz.

* Appease clippy gods

* Reduce unneeded gas consumption by setting admin directly

* Fix unneeded reply_always when instantiating new token

* Remove unused function

* Improve comments

* Use “Migrate only if newer” pattern

* Clean up and fix issuer test-tube tests

* Combine all dao-related hooks into a single package

* Improve code resuse by consilidating stake hooks

* Clean up types

* Remove need for unused TokenFactoryQuery, use shared stake hooks

* Fix stake hook tests, update schema

* Incorporate NFT staking hooks into dao-hooks package

* Add cw4::MemberChangedHookMsg and clean up dao-hooks pkg

* Make clippy happy, use only migrate newer across all voting contracts

* cargo fmt

* clippy on latest rust version

* Improve unstaking_duration validation reuse

* Allowlist should apply to transfers from *or to* an address

For example, a DAO may wish to white list a Token Staking contract (to
allow users to stake their tokens in the DAO) or a Merkle Drop contract
(to allow users to claim their tokens).

* Add info on renouncing Token Factory Admin

* Remove outdated comments

* Remove commented out metadata test

Osmosis test tube doesn't support metadata queries anymore, we assume
metadata is set properly by the Cosmos SDK and this is well tested
upstream.

* More informative error to address BlockBeforeSend hook executing on minting or burning

This is intended functionality. If a token is frozen, a DAO needs to
both grant a minter allowance as well as adding the minter to the
allowlist to allow for token transfers when the token is frozen.

The new error message should make next steps clear if this edge case is
encountered.

* Use tagged versions or upstream git repos for deps

* Better code documentation for cw-tokenfactory-issuer

* Make it possible to unset BeforeSendHook, or set to a different contract

DAOs may wish to disable the BeforeSendHook at some point, or
potentially set it to a custom cosmwasm contract if they wish to
customize functionality a bit more.

Modifies the SetBeforeSendHook method to allow for this, and adds tests
that it's indeed possible to set it to nil.

* Default to BeforeSendHook features being disabled

These are powerful features, but many may not want them as they can be
abused. DAOs that want these features will have to explicitly enable
them via a governance prop.

* BeforeSendHook refactor and tests

* Cleanup TODO, verify correct error

* Accurate comment

* Improve active threshold validation reuse

* Don't create issuer for existing tokens

* Reorg so we can have only one native token voting contract

* No need to have an issuer for existing tokens

* Update Schema

* Fix up integration tests

* Remove owner from dao-voting-cw721-staked

The concept of ownership doesn't really make sense for voting contracts.
IMO the owner should always be the DAO.

* Improve TF docs

* Implement two-step ownership transfer for cw_tokenfactory_issue

* Tests for renouncing ownership

* Fix package name.

* Fix integration tests

* set_before_update_hook -> set_before_send_hook

* Address remaining TODOs

---------

Co-authored-by: Jake Hartnell <[email protected]>
* Add error to FailedProposalExecution response

Minimal information is shown when a proposal execution fails, and this could give users a better clue of what went wrong.
It should probably be used in all reply_on_error handles.

* Avoid possible panic from unwrap_err()
* Start outlining factory pattern work

* Add FactoryCallbacks, build out test-contract

* Factory callback for NFT contracts

* Remove unneeded files, generate Schema

* Fix WASM build

* Move test-contracts to contracts/test

Needed for workspace optimizer as we are now using test contract
binaries with tests

* Clippy. : )

* Breakout sg-minter-factory contract

* # This is a combination of 2 commits.
# This is the 1st commit message:

Simpler NFT factory test

# The commit message #2 will be skipped:

# f

* Simpler NFT factory test

* Remove sg-minter-factory (for now)

* Implement factory pattern for NFTs

* Better tests and token factory cleanup

* Remove Stargaze support (supported via factory now)

Context: after speaking with the team, they want all NFTs on the
platform to utilize the fairburn mechanism. In addition, many artists
creating new collections on Stargaze also want to create a minter for
that collection to allow for sales. The factory pattern now allows for both.

* Docs and comments on factory pattern, clean up

* FactoryCallback -> TokenFactoryCallback

* Fix NFT factory and tests

* Fixup and tests for passthrough of funds

* Better test coverage for factory pattern

* Update InvalidActivePercentage error message for accuracy

* Reuse validation logic, and fix bug that slipped through audit : )

* Fix possible to instantiate new collection with zero supply of NFTs, add tests

We now validate supply regardless of what ActiveThreshold is set to.

* Granular allowlisting of minters

* Validate unstaking duration on instantiation and update config

* TokenContract query should return optional type

* ModuleInstantiateInfo callback to accept ownership of new NFT contract

Ownship transfer process is two steps now, so the DAO needs to accept
the ownership transfer.

* Audit fixups and improvements related to factories

- Extends dao-test-custom-factory to mint NFTs
- Validate ActiveThreshold in NFT factory test contract
- Add ModuleInstantiateCallback to nft factory call backs
- Fix transfer ownership in factory test contract
- Add ModuleInstantiateCallback to nft factory callbacks
- Test ownership set correctly in token factory factory
- Test for module instantiate callback in NFT factory
- Include note that custom factory contracts MUST handle validation logic

The most important change here is the that both
`dao-voting-cw721-staked` and `dao-voting-token-staked` implement
ModuleInstantiateCallback now, which allows for more complicated setup possibilities.

* Use tagged cw-multi-test release

* Add integration tests for dao-voting-cw721-staked

* Split up test tube and integration tests

---------

Co-authored-by: Jake Hartnell <[email protected]>
@JakeHartnell JakeHartnell changed the title [WIP] Development -> Main Development -> Main Nov 9, 2023
@JakeHartnell
Copy link
Member Author

Let's do this now that we're at v2.3.0. 💪

* Add missing query to dao-pre-propose-approver.

* Made map name more descriptive and return option instead of error on missing ID.

* Renamed query to be more clear.

* Updated type.
* Adds missing ability to query for completed proposals and view the created proposal ID when approved.

* Fixed tests.

* Updated type.
NoahSaso and others added 7 commits November 16, 2023 13:02
* Add go toolchain to build test tube CI

* TT CI on all push

* Verify TT CI compile error on no go

* Revert "Verify TT CI compile error on no go"

This reverts commit 2199c8e.

* Revert "TT CI on all push"

This reverts commit de6f571.
* Update deprecated function names to_binary and from_binary #761

* bump cosmwasm-std to latest

* replace from_json_binary to from_json

* fmt

* bump cw-multi-test to latest

* replace from_slice to from_json

* replace to_vec with to_json_vec

* clippy fix

* bump osmosis-std and osmosis-test-tube to latest

* bump prost to latest

* revert osmosis-std, osmosis-test-tube & prost bump

* Fix up test tube errors

* cargo fmt

* Fixups from merge

* Clippy

* Another merge fixup

---------

Co-authored-by: Massvdev <[email protected]>
Co-authored-by: Dat-Andre <[email protected]>
* Initial timelock / veto implementation

* Add refund logic for veto

* Refactor timelock

Should break less of the existing tests, doesn't lead to weird migration
state (passed at time zero), and if timelock configuration is updated it
won't affect currently open proposals.

* Start v2 migration

* Start writing tests

* Fix build and basic tests

* Fix veto checks, add more tests

* Cleanup unneeded changes

* Veto before proposal passes feature (early veto)

Allows for the vetoer to veto a proposal before it passes is
veto_before_passed is set to true. Some DAOs may want this to be able to
speed up their process.

* Improve code reuse with proposal_completed_hooks

* Fix formatting

* Start fixing up migration tests

* dao-migrator test fixups

* Tests pass, made TODO notes on future work

* using Expiration & Duration for timelock; some cleanups

* readme

* unit tests wip

* unit tests

* fmt; test for vetoing non-open/timelocked props

* adding semver dependency; v3 migration test assertions

* readme veto extension; validating migration from v2 versions

* manual to_json_binary in pr scope

* lockfile

* clippy fmt

* happy clippy

* schemas

* test tube timelock fields

* fmt

* Bugfix: use timelock from proposal instead of config

Co-authored-by: noah <[email protected]>

* Better doc comment

Co-authored-by: noah <[email protected]>

* Cleanup unused code

* checking validating vetoer early in veto; sanity check in execution from timelocked state

* veto updating state before logic

* pre propose error NotClosedOrExecuted renaming to NotCompleted

* renaming Timelocked prop status to VetoTimelock; timelock rename to veto

* replacing notion of timelock with veto config

* just gen

* revert v2 migration on prop-single

* Reverted migrator changes and added veto to migration params.

* Updated dao-migrator schema.

* Ran clippy and formatter.

* Move proposal into passed state after the veto time lock expires.

* Updated schema.

* Fixed comments.

* Fixed schema again.

* Added veto to dao-proposal-multiple.

* prop multi tests

* validating veto config

* lints

* cleanup tests

* Fixed veto expiration calculation and removed timelock duration validation.

* Updated veto README and added to dao-proposal-multiple.

* Updated schema.

* Added validation that timelock_duration is the same units as the max_voting_period, and fixed tests. Also fixed missing timelock status handler.

---------

Co-authored-by: bekauz <[email protected]>
Co-authored-by: noah <[email protected]>
Co-authored-by: Jake Hartnell <[email protected]>
Co-authored-by: Noah Saso <[email protected]>
@JakeHartnell
Copy link
Member Author

Not sure what we want to do with the main branch, so closing for now. 😂

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants