-
Notifications
You must be signed in to change notification settings - Fork 70
feat: Add support for submitting general DAO proposals #492
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
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@vsavchyn-dev Niiice! This looks really good and already works mostly fine. I would like to only ask to address the minor review requests and we are good to go!
src/transaction_signature_options/submit_dao_proposal/dao_kind_arguments.rs
Outdated
Show resolved
Hide resolved
also removed `from_near` inside `src/types/near_token.rs` as it is not used anymore
630974f
to
a2c8622
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@race-of-sloths score 13
@vsavchyn-dev Thank you for your contribution! Your pull request is now a part of the Race of Sloths! Current status: executed
Your contribution is much appreciated with a final score of 13! @frol received 25 Sloth Points for reviewing and scoring this pull request. Congratulations @vsavchyn-dev! Your PR was highly scored and you completed another monthly streak! To keep your monthly streak make another pull request next month and get 8+ score for it What is the Race of SlothsRace of Sloths is a friendly competition where you can participate in challenges and compete with other open-source contributors within your normal workflow For contributors:
For maintainers:
Feel free to check our website for additional details! Bot commands
|
## 🤖 New release * `near-cli-rs`: 0.20.0 -> 0.21.0 (⚠ API breaking changes) ### ⚠ `near-cli-rs` breaking changes ```text --- failure enum_no_repr_variant_discriminant_changed: enum variant had its discriminant change value --- Description: The enum's variant had its discriminant value change. This breaks downstream code that used its value via a numeric cast like `as isize`. ref: https://doc.rust-lang.org/reference/items/enumerations.html#assigning-discriminant-values impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/enum_no_repr_variant_discriminant_changed.ron Failed in: variant ContractActionsDiscriminants::DownloadAbi 4 -> 5 in /tmp/.tmpHq8aq0/near-cli-rs/src/commands/contract/mod.rs:61 variant ContractActionsDiscriminants::DownloadWasm 5 -> 6 in /tmp/.tmpHq8aq0/near-cli-rs/src/commands/contract/mod.rs:64 variant ContractActionsDiscriminants::ViewStorage 6 -> 7 in /tmp/.tmpHq8aq0/near-cli-rs/src/commands/contract/mod.rs:67 variant ContractActionsDiscriminants::DownloadAbi 4 -> 5 in /tmp/.tmpHq8aq0/near-cli-rs/src/commands/contract/mod.rs:61 variant ContractActionsDiscriminants::DownloadWasm 5 -> 6 in /tmp/.tmpHq8aq0/near-cli-rs/src/commands/contract/mod.rs:64 variant ContractActionsDiscriminants::ViewStorage 6 -> 7 in /tmp/.tmpHq8aq0/near-cli-rs/src/commands/contract/mod.rs:67 --- failure enum_variant_added: enum variant added on exhaustive enum --- Description: A publicly-visible enum without #[non_exhaustive] has a new variant. ref: https://doc.rust-lang.org/cargo/reference/semver.html#enum-variant-new impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/enum_variant_added.ron Failed in: variant SignWithDiscriminants:SubmitAsDaoProposal in /tmp/.tmpHq8aq0/near-cli-rs/src/transaction_signature_options/mod.rs:64 variant SignWithDiscriminants:SubmitAsDaoProposal in /tmp/.tmpHq8aq0/near-cli-rs/src/transaction_signature_options/mod.rs:64 variant CliContractActions:Verify in /tmp/.tmpHq8aq0/near-cli-rs/src/commands/contract/mod.rs:26 variant CliSignWith:SubmitAsDaoProposal in /tmp/.tmpHq8aq0/near-cli-rs/src/transaction_signature_options/mod.rs:19 variant SignWith:SubmitAsDaoProposal in /tmp/.tmpHq8aq0/near-cli-rs/src/transaction_signature_options/mod.rs:64 variant ContractActionsDiscriminants:Verify in /tmp/.tmpHq8aq0/near-cli-rs/src/commands/contract/mod.rs:58 variant ContractActionsDiscriminants:Verify in /tmp/.tmpHq8aq0/near-cli-rs/src/commands/contract/mod.rs:58 --- failure trait_newly_sealed: pub trait became sealed --- Description: A publicly-visible trait became sealed, so downstream crates are no longer able to implement it ref: https://rust-lang.github.io/api-guidelines/future-proofing.html#sealed-traits-protect-against-downstream-implementations-c-sealed impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.41.0/src/lints/trait_newly_sealed.ron Failed in: trait near_cli_rs::common::JsonRpcClientExt in file /tmp/.tmpHq8aq0/near-cli-rs/src/common.rs:2342 ``` <details><summary><i><b>Changelog</b></i></summary><p> <blockquote> ## [0.21.0](v0.20.0...v0.21.0) - 2025-07-08 ### Added - Improved support for importing implicit accounts ([#498](#498)) - Added a command to confirm locally that the deployed contract matches the source code it was built from ([#480](#480)) - Add support for submitting general DAO proposals ([#492](#492)) ### Fixed - Fixed typos in the default CLI config ([#501](#501)) - Fixed error RpcError: [missing field disable_9393_fix] ([#502](#502)) - use re-rexported version of `indicatif` module, needed for `tracing-indicatif` ([#503](#503)) - `clippy::result_large_err` warning ([#488](#488)) ### Other - Added `verify_contract`/`inspect_contract` feauture gates ([#504](#504)) - Pinned binary releases to use ubuntu-22.04 ([#506](#506)) - Fixed linting errors - non-inlined formatting syntax ([#499](#499)) - fix some typos ([#494](#494)) - simplified action struct ([#493](#493)) - added more RPCs (FAST NEAR and Lava) to the default config generation ([#491](#491)) - introduced `BoxedJsonRpcResult` type ([#490](#490)) - fixed shell configuration for command history ([#487](#487)) </blockquote> </p></details> --- This PR was generated with [release-plz](https://github.com/release-plz/release-plz/).
This pull request closes #197, adding support for submitting transactions of type
Action::FunctionCall
andAction::Transfer
asFunctionCall
andTransfer
DAO proposal kinds respectfully.Therefore, by writing:
You can construct
Transfer
dao proposal:Added things:
DAO Proposal Functionality:
submit_dao_proposal
insrc/transaction_signature_options/mod.rs
to support converting transactions into DAO proposals. This includes defining theDaoProposal
structure and its associated arguments, contexts, and signing options.ProposalKind
enum insrc/transaction_signature_options/submit_dao_proposal/dao_kind_arguments.rs
to handle different types of DAO proposal arguments, such asTransfer
andFunctionCall
.Argument Decoding:
deep_decode_args
function insrc/common.rs
forprint_unsigned_transaction
function to recursively decode base64-encoded arguments in JSON objects. This ensures nested arguments are properly decoded, so person who submits things can see all sub-arguments in human-readable text, and not in base64.Dependency Updates:
base64
andserde_with
toCargo.toml
for handling base64 encoding/decoding and advanced serialization/deserialization (it was already included to other dependencies).Utility Enhancements:
from_near
method to theNearToken
type insrc/types/near_token.rs
.