Coder Social home page Coder Social logo

nibiruchain / nibiru Goto Github PK

View Code? Open in Web Editor NEW
180.0 180.0 200.0 62.91 MB

Nibiru Chain: The breakthrough smart contract platform ushering in the next era of money. Nibiru powers an ecosystem of dApps including perps, RWAs, and more.

Home Page: https://nibiru.fi

License: Apache License 2.0

Go 94.82% Makefile 0.61% Dockerfile 0.07% Shell 1.32% Python 0.31% Just 0.13% Solidity 0.22% JavaScript 0.02% TypeScript 2.49%
blockchain cometbft cosmos-sdk cosmwasm cryptocurrency golang nibiru-chain

nibiru's People

Contributors

agentsmithmatrix avatar blocknovator avatar caliconino avatar capneal avatar cgilbe27 avatar dependabot[bot] avatar fdymylja avatar helder-moreira avatar jgimeno avatar john-connor84 avatar k-yang avatar kai0x avatar matthiasmatt avatar mdarblade avatar nibiruheisenberg avatar omahs avatar onikonychev avatar segfaultd avatar shuoer86 avatar superfiredoge avatar testinginprod avatar th3nyst1c avatar tj327 avatar unique-divine avatar vimdiesel-cosmos avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  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  avatar  avatar  avatar

nibiru's Issues

cli: matrixd keys add fails

OS information

cat /etc/os-release

NAME="Ubuntu"
VERSION="20.04.4 LTS (Focal Fossa)"

Description of the error

I regenerated the binaries for the CLI using make install. make localnet also runs fine.

matrixd keys list returns [], so I needed to make a key to mint and burn stablecoins.

On @matthiasmatt's machine, this works fine with a command like matrixd keys add test and populates the key list. On my machine, I'm getting

Error: No such interface “org.freedesktop.DBus.Properties” on object at path /

References


Solution

The solution is to use a different keyring backend. For local development, it's sufficient to simply append

--keyring-backend=test

to the end of any command that would've raised this error.

Reserve Snapshot investigation

The Perpetual protocol has a concept called Reserve Snapshot. Not sure is this is something that is a consequence of using a Solidity smart contract, or is crucial to implement for the protocol to work.

Needs investigation.

feat(dex): implement pool weights

Liquidity pools should have target weights (even stableswap pools) because stableswap pools behave like constant product amm pools when the liquidity is too far off balance.

feat(dex): single asset join

ability for user to join with a single asset

  • do a single asset swap under the hood
  • calculate maximum number of lp shares factoring in the price impact
  • add single asset joins to the remaining coins after a multi-asset join

Define AMM interface

Define the AMM interface so we can split the implementation in two groups, one for AMM the other for the clearing house.

Transaction Fee on mint

How fees on MintStable and BurnStable work and where they're distributed

When a mint or burn transaction fee is taken out, it goes to two places: the Treasury and the Ecosystem Fund (StableEF)

feat(dex): track total liquidity

Add ability for the dex module to track and update the total liquidity in the dex.

  • read specific denom's liquidity
  • write specific denom's liquidity
  • read all liquidity
  • write all liquidity
  • add liquidity
  • remove liquidity

refactor(stablecoin): (refactor-idea) You can extract the fields from the MsgBurnStable proto and pass them individually into Keeper.BurnStable, so that the function signature doesn't have ugly proto messages when its imported to other modules.

(refactor-idea) You can extract the fields from the MsgBurnStable proto and pass them individually into Keeper.BurnStable, so that the function signature doesn't have ugly proto messages when its imported to other modules.

Originally posted by @MatrixHeisenberg in #61 (comment)

You can have the keeper functions be proto-less so that you can import them to other modules without using Msg* objects.

bug(stablecoin): Should also check that the module account has enough COLL to send to the user. I'm not sure what the proper error handling would be in this case, so maybe we'd have to panic(err).

Should also check that the module account has enough COLL to send to the user. I'm not sure what the proper error handling would be in this case, so maybe we'd have to panic(err).

@VimDiesel-Cosmos do you have any idea on what we should do in this case?

Originally posted by @MatrixHeisenberg in #61 (comment)

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.