Giter Club home page Giter Club logo

anchor-basset-contracts's People

Contributors

ezaanm avatar msntcs avatar r-amiri avatar yun-yeo avatar zavgorodnii avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

anchor-basset-contracts's Issues

Backlog

A list of the things we think we want to do, maybe not quite ready for work, but high likelihood of being worked on.

This is the staging area where specs should get fleshed out.

No limit on the list size, but we should reconsider if it gets long.

┆Issue is synchronized with this Trello card by Unito
┆Attachments: Backlog.png

Re-design ClaimReward message

Currently, the ClaimReward implementation does not work as we expected. We need to adapt it to CosmWasm.
We have to pass the functionalities of the handle_reward to the reward contracts. The reward contract is supposed to handle computing global_index and user's_index and reward distribution.

┆Issue is synchronized with this Trello card by Unito

[BUG] update_global_index fails if anchor_basset_reward has denoms with no exchange rate available

Describe the bug
The update_global_index handler fails if there are tokens with unknown exchange rates on the anchor_basset_reward contract balance:

{"error":"rpc error: code = InvalidArgument desc = failed to execute message; message index: 0: dispatch: dispatch: ibc/0471F1C4E7AFD3F07702BEF6DC365268D64570F7C1FDC98EA6098DD6DE59817B: no price registered with oracle: invalid request"}

To Reproduce
For the current mainnet: send any IBC token to the reward contract and try to execute update_global_index.

Context & versions
0.2.0
0.1.0

(if applicable) suggested solution
The solution is to handle only the tokens with known exchange rates.

Better to avoid `unwrap`

It is better to avoid unwrap in a production code.

Just replace it with ?. Maybe worth to fix it in moving to cosmwasm 0.14 version


Same here:

let decimals = get_decimals(all_reward_with_decimals).unwrap();
and
holder.balance = (holder.balance - amount).unwrap();

state.total_balance = (state.total_balance - amount).unwrap();

Handle slashing event during the unbonding period

Currently, we do not consider the possibility of having a slashing event during the unbonding period. An accurate implementation should consider slashing event during the unbonding period and consider the new exchange_rate after slashing event.

┆Issue is synchronized with this Trello card by Unito

Code Review

This list is for items in code review.

When a task has gotten approval, it moves off to Testing.

If there are too many cards here, we should break off from other tasks to get code review done.

┆Issue is synchronized with this Trello card by Unito
┆Attachments: Code Review.png

Testing

Cards come here after being code reviewed, and we're in a place for QA and fixing things QA finds. Design review also happens at this stage.

If we have too many cards here, we should throw a flag and figure out whether we're building things that take too many passes of QA, or if we're bottlenecked on QA time.

┆Issue is synchronized with this Trello card by Unito
┆Attachments: Verifying.png

Doing

These are the things that folks are working on.

All our engineers should have at least one item in this state.

If there are too few things here, they should be pulled off Todo.

When doing is done, cards move to Code Review.

┆Issue is synchronized with this Trello card by Unito
┆Attachments: Doing.png

Re-design InitBurn and FinishBurn messages

Currently, InitBurn and FinishBurn works with a structure similar to <EpocId, <HumanAddr, Uint128>>. Using this structure like this adds a level of complexity while handling the FinishBurn message.
The solution is using a structure like this:
<HumanAddr, <EpocId, Uint128>>.

┆Issue is synchronized with this Trello card by Unito

To Do

This is a list of things that are good to pull off to work on, prioritized.

If there are too few items here, we should swarm against getting tasks ready for work.

┆Issue is synchronized with this Trello card by Unito
┆Attachments: To-Do.png

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.