near-ndc / astraplusplus Goto Github PK
View Code? Open in Web Editor NEWHome Page: https://near.org/astraplusplus.ndctools.near/widget/home
Home Page: https://near.org/astraplusplus.ndctools.near/widget/home
See navigations for DAOs im in
THis was case in https://app.astrodao.com
Proposals only display start time, but I would like to know when they end.
Turn existing function call proposals into FC call proposal temaplte
A clear and concise description of the feature you are proposing.
Acceptance criterion
Hey,
when a proposal expired its status stays as "InProgress" as long as it doesn't get finalized. See e.g. this proposal:
https://near.org/astraplusplus.ndctools.near/widget/home?page=dao&tab=proposals&daoId=shitzu.sputnik-dao.near&proposalId=33
There can also be failed proposals. A FunctionCall proposal gets into failed status, when it has been approved but the tx failed, e.g. here:
https://near.org/astraplusplus.ndctools.near/widget/home?page=dao&tab=proposals&daoId=shitzu.sputnik-dao.near&proposalId=27
In order to finalize a proposal you can use act_proposal
function and send Action::Finalize
:
https://github.com/near-daos/sputnik-dao-contract/blob/main/sputnikdao2/src/proposals.rs#L585-L592
There are also edge cases explained:
Nevertheless no matter about the edge case, any expired or failed proposal should be able to be finalized, which should be really easy to add. There just needs to be a button to prompt the user to send the act_proposal
tx.
It just happened to us, that we finalized a proposal for a token transfer, but the receiving account was not yet registered to the token contract via calling storage_deposit
. Here is the tx:
https://nearblocks.io/txns/9CjZkVbfAXy54fxD3oGyymemmniQvCy2KP7HYBK4dM8M#execution
In order to prevent this, I propose the solution to check in Astra++ UI whether the receiving account is already registered. This is fairly easy to check. You just call the view function ft_balance_of
on that token contract. If it returns null
, then that account is not yet registered and the UI should prompt to sign a tx to pay the storage deposit on behalf of that user.
Hey,
when voting on a FunctionCall proposal it might be critical to attach max Gas to the vote itself.
It the proposal succeeds it will do the cross contract call that has been defined in the proposal. This call might need more than the hardcoded 200TGas that is currently attached to the vote button.
If the proposal fails, because not enough Gas has been attached to the vote that triggers the cross contract call, then the proposal needs to be recreated.
FuctionCall proposals support sending multiple actions to the same contract aka Batch Transactions:
https://github.com/near-daos/sputnik-dao-contract/blob/main/sputnikdao2/src/proposals.rs#L75
Right now we can only insert the arguments for a single action when creating a FunctionCall proposal. I would like to have the ability to create Batch Transactions.
https://near.org/astraplusplus.ndctools.near/widget/home?page=dao&tab=proposals&daoId=voting-body-v1.ndc-gwg.near&proposalId=10
this is a super consent proposal, but show votes of simple majority
Hey,
when creating a FunctionCall proposal there is no check, if the proposed attached Gas makes any sense. I can attach more than 300TGas. There should be safety checks for this.
Also bear in mind that attaching 300TGas will also always fail. The Gas you insert here is the Gas that will be attached to the cross contract call. Some Gas will be consumed prior to doing this call. There should be a flat Gas fee that should be subtracted from this. I think with 270TGas we would definitely be on the safe side as an upper limit.
on DAO page see similar DAOs based on DAO actions, similar members and name and descriptiona s well as follow history
My proposals
pageA clear and concise description of the feature you are proposing.
Filter global proposal feed by proposal type
#48 where you can filter by proposal type
Filter DAO proposals by Function call type (specific method + contract)
Save configurations for astro dao that turns off certain tabs so can have more focused dao experience
eg: https://near.org/astraplusplus.ndctools.near/widget/home?page=dao&tab=proposals&daoId=shitzu.sputnik-dao.near&proposalId=29
the eligible voters are 10, and threshold is set to 1/2, so it should be 6 not 5
If the "everyone" group is allowed to vote on a proposal such votes will be displayed, if you click on the "x voters" button to see who voted, but the number doesn't add up to all votes.
Here are 4 voters, 2 from DAO members, 2 from everyone. The button displays 2 voters instead of 4
As a DAO user I would like to see the liquidity pool shares of that DAO on Ref Finance. These LP shares have a USD valuation, because they can be unwrapped to the respective tokens of that pool.
Ref Finance uses the Multi Token standard for LP shares, but I noticed that it's not exactly compliant with the spec, but since it's Near Protocol's major DEX it would be good to support their interface, which can be found in their smart contract.
Add DAO Filters + Search
Hey,
when you share a link to a proposal like this:
https://near.org/astraplusplus.ndctools.near/widget/home?page=dao&tab=proposals&daoId=shitzu.sputnik-dao.near&proposalId=34
there is no way to navigate to the list of all proposals. I assumed that clicking the proposal tab should send you back. It properly removes the proposalId
from the query parameters, but it doesn't navigate to the proposals. It just reloads the currently displayed proposal.
It would also be nice to have a "<-- back to proposal overview" button to make this more clear.
When creating a FunctionCall proposal it is very confusing, that Gas should be given in Gas (instead of e.g. TGas), but Deposit right below should be given in NEAR instead of yoctoNEAR. These need to be labeled properly.
It's also kind of annoying to insert 0.000000000000000000000001, if you need to attach 1 yoctoNEAR for e.g. ft_transfer_call
.
Default Role for council member to person deploying in dao
Hey,
it becomes a recurring problem, that the indexer is either broken or slow and we need to wait multiple hours eventually for our proposal to show up. I don't see a reason why an external API should be used to fetch proposals, if there is a view function, which does exactly this:
https://github.com/near-daos/sputnik-dao-contract/blob/main/sputnikdao2/src/views.rs#L89
It's really easy to call (example via CLI):
near contract call-function as-read-only shitzu.sputnik-dao.near get_proposals json-args '{"from_index": 0, "limit": 100}' network-config mainnet now
Idk what would be the exact limit for pagination. That depends on the proposals that are serialized, so better use something conservative.
Propose to Add A List of Members to Roles in 1 Transaction
ChangeConfig
and ChangePolicyUpdateParameters
in proposals args in proposals pageToggle Pikespeak Indexer in props for component
If you have specific ideas or suggestions for improvement, outline them here. Be clear about how the suggested changes will benefit the project.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.