Git Product home page Git Product logo

modules's Introduction

Cosmos Modules

banner

license

Note: This repository is meant to house modules that are created outside of the Cosmos-SDK repository.

Note: Requires Go 1.13+

Quick Start

To learn how the SDK works from a high-level perspective, go to the SDK Intro.

If you want to get started quickly and learn how to build on top of the SDK, please follow the SDK Application Tutorial. You can also fork the tutorial's repo to get started building your own Cosmos SDK application.

For more, please go to the Cosmos SDK Docs

To find out more about the Cosmos-SDK, you can find documentation here.

This repo organizes modules into 3 subfolders:

  • stable/: this folder houses modules that are stable, production-ready, and well-maintained.
  • incubator/: this folder houses modules that are buildable but makes no guarantees on stability or production-readiness. Once a module meets all requirements specified in contributing guidelines, the owners can make a PR to move module into stable/ folder. Must be approved by at least one modules maintainer for the module to be moved.
  • inactive/: Any stale module from the previous 2 folders may be moved to the inactive folder if it is no longer being maintained by its owners. modules maintainers reserve the right to move a module into this folder after public discussion in an issue and a specified grace period for module owners to restart work on module.

Any changes to where modules are located will only happen on major releases of the modules repo to ensure we only break import paths on major releases.

Modules maintainers

While each individual module will be owned and maintained by the individual contributors of that module, there will need to be maintainers of the modules repo overall to coordinate moving modules between the different folders and enforcing the requirements for inclusion in the modules repo.

For now, the maintainers of the modules repo will be the SDK team but we intend to eventually expand this responsibility to other members of the Cosmos community.

modules's People

Contributors

adityasripal avatar alexanderbez avatar kimurayu45z avatar liangping avatar okwme avatar preminem avatar tac0turtle avatar usetech-llc 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

Watchers

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

modules's Issues

Dependabot can't resolve your Go dependency files

Dependabot can't resolve your Go dependency files.

As a result, Dependabot couldn't update your dependencies.

The error Dependabot encountered was:

go: github.com/cosmos/[email protected] requires
	github.com/gogo/[email protected]: reading github.com/gogo/protobuf/go.mod at revision v1.3.3: unknown revision

If you think the above is an error on Dependabot's side please don't hesitate to get in touch - we'll do whatever we can to fix it.

View the update logs.

Dependabot can't resolve your Go dependency files

Dependabot can't resolve your Go dependency files.

As a result, Dependabot couldn't update your dependencies.

The error Dependabot encountered was:


If you think the above is an error on Dependabot's side please don't hesitate to get in touch - we'll do whatever we can to fix it.

View the update logs.

Simple Auth Minter Module

I'm looking for a simple module that:

  • Receive a transaction containing: a) an amount of coin to mint; b) a recipient address
  • Validate the tx signature against an multisig address stored as a constant in the module
  • Mint the specified number of coins
  • Send the newly minted coins to the specified recipient

Does a module like this already exist? If not, what would be a good starting point. I looked at Peggy: https://github.com/cosmos/peggy/blob/1c44884c0fd2ccc2e49130323ca25cb64b0e446a/x/ethbridge/keeper/keeper.go#L50 and the Faucet in here, so I have a general idea. Any specific tips or sample code would help.

Dependabot can't resolve your Go dependency files

Dependabot can't resolve your Go dependency files.

As a result, Dependabot couldn't update your dependencies.

The error Dependabot encountered was:

go: github.com/cosmos/[email protected] requires
	github.com/gogo/[email protected]: reading github.com/gogo/protobuf/go.mod at revision v1.3.3: unknown revision

If you think the above is an error on Dependabot's side please don't hesitate to get in touch - we'll do whatever we can to fix it.

View the update logs.

fix NFT sims preformance

Summary of Bug

Adding the x/nft simulation messages makes the Simapp tests very slow (46m) which is >2x than the avg sim time. This was experienced during the last commits of cosmos/cosmos-sdk#4838. The solution was to remove the nft simulations from the simapp until we solve this issue. This could probably related to either #6 or the custom (Un)MarshalJSON used by the nft module used to return an Object-like response instead of an Array.

The most affected simulation seems to be test_sim_nondeterminism, the other sim tests finish earlier but wait for it to finish. Weirdly enough, test_sim_nondeterminism doesn't run any invariants that could explain the bad performance.

I reduced the NFT operations weight and the number of accounts that hold NFTs (from 50% to 15%) but didn't improve the performance much.

Version

a90002f

Steps to Reproduce

  • Add the nft module to the sim manager
  • Add nft operations

(see 68a1a9c)

cc: @rigelrozanski @alexanderbez @okwme


For Admin Use

  • Not duplicate issue
  • Appropriate labels applied
  • Appropriate contributors tagged
  • Contributor assigned/self-assigned

coinswap Module

Summary

Add a module that implements the functionality of uniswap

Problem Definition

As more assets are added to the hub/network, it will be useful to have a decentralized asset exchange. Uniswap is a fairly simple and accessible exchange that could fulfill this role.

Proposal

This module takes four different types of messages. One for each of the following actions: creating an exchange between two coins, swapping coins, adding liquidity to an exchange, removing liquidity from an exchange. A param for the native asset used to swap between coins will need to be specified. Each exchange will use its coin denomination as its unique id. Coins can only be directly swapped with the native asset. All other swaps will do an extra swap with the native asset to return the desired output coin.

Uniswap refers to the tokens receieved in exchange for contributing to a liquidity pool as UNI, that naming convention has been maintained in this write up. Uniswap uses x*y=k invariant to set prices. In this implementation nativePool * coinPool = k. Uniswap enforces a fee of %0.3 paid to liquidity providers, this can be added as a param. Uniswap allows for two types of orders, buy/sell. In a buy order, the input is calculated, the output is specified. In a sell order, the input is specified, the output is calculated

msgs.go

type MsgCreateExchange struct {
    NewCoin string
}

Initializes a new exchange pair between the specified coin and the native asset

type MsgSwapOrder struct {
    SwapDenom  string         // The desired denomination either to be bought or sold
    Coin       sdk.Coin       // The specified amount to be either bought or sold 
    Bound      sdk.Int        // If buy order, maximum amount of coins to be sold; otherwise minimum amount of coins to be bought
    Deadline   time.Time      // deadline for the transaction to still be considered valid
    Recipient  sdk.AccAddress // address output coin is being sent to
    IsBuyOrder bool           // boolean indicating whether the order should be treated as a buy or sell
}

If exchanging between 2 coins that are not the native asset, input coin -> native then native -> output coin. Otherwise, simply swap between native asset and specified coin. The cost of buying or selling is determined by current ratio at the time the transaction is included in a block. Bound is used to limit the amount a user is willing to buy or sell.

type MsgAddLiquidity struct {
    DepositAmount sdk.Int  // exact amount of native asset being add to the liquidity pool
    ExchangeDenom string   // denomination of the exchange being added to  
    MinLiquidity  sdk.Int  // lower bound UNI sender is willing to accept for deposited coins
    MaxCoins      sdk.Int  // maximum amount of the coin the sender is willing to deposit. 
    Deadline      time.Time 
}

DepositAmount is 50% of the total value that is added. Must deposit an amount for native asset and coin pair; If first provider, then amount deposited determines exchange ratio (arbitrage traders bring prices to equilibrium if the ratio is off). The bounds are used to manage price changes between tx signed and executed. If the total liquidity is 0 for this exchange, then MaxCoins is used for the amount of the exchange coin to be deposited

type MsgRemoveLiquidity struct {
    WithdrawAmount sdk.Int // amount of UNI to be burned to withdraw liquidity from an exchange
    ExchangeDenom  string  // denomination of the exchange being withdrawn from
    MinNative      sdk.Int // minimum amount of the native asset the sender is willing to accept
    MinCoins       sdk.Int // minimum amount of the exchange coin the sender is willing to accept
    Deadline       time.Time
}

ante.go

  • exchange registry
    • check if exchange already exists
    • check if denom provided is valid?
  • sell order
    • check that sender has > msg.Input.Amount
  • buy order
    • check that sender has > msg.MaxCoins
  • adding liquidy
    • check that sender has sufficient amount of the native asset and exchange coin
  • removing liquid
    • check that sender has sufficient amount of UNI to burn

keeper.go

type Keeper struct {
    // The key used to access the store which maps accounts to UNI balances
    key sdk.StoreKey

    // The reference to the CoinKeeper to modify balances after swaps or liquidity is deposited/withdrawn
    ck BankKeeper

    // The codec codec for binary encoding/decoding.
    cdc *codec.Codec

    CreateExchange(ctx sdk.context, coinDenom string)
    Deposit(ctx sdk.context, amount sdk.Int, acc sdk.AccAddress) // Add Liquidity, adds specified amount of UNI to account
    Withdraw(ctx sdk.context, amount sdk.Int, acc sdk.AccAddress) // Remove Liquidity, removes specified amount of UNI from account

    // The following differs in where the fee is taken from
    // Return the amount of coins sold given the output amount being bought
    GetInputAmount(ctx sdk.context, outputAmount, inputDenom, outputDenom) sdk.Int // Buy order
    // Return the amount of coins bought given the output amount being sold
    GetOutputAmount(ctx sdk.context, inputAmount, inputDenom, outputDenom) sdk.Int // Sell order
}

Formulas for calculating buy/sell amount will be taken from the uniswap implementation
GetInputAmount() would correspond to GetOutputPrice()
GetOutputAmount() would correspond to GetInputPrice()

handleMsgCreateExchange

  • add new exchange pairing

handleMsgSwapOrder

if msg.IsBuyOrder {
    inputAmount := GetInputAmount(ctx, msg.Output.Amount, msg.InputDenom, msg.Output.Denom)
    ck.SendCoins(ctx, exchangeAcc, senderAcc, msg.Output)
    coinSold := sdk.NewCoin(msg.InputDenom, inputAmount)
    ck.SendCoins(ctx, senderAcc, exchangeAcc, coinSold)
} else {
    outputAmount := GetOutputAmount(ctx, msg.Input.Amount, msg.Input.Denom, msg.OutputDenom)
    ck.SendCoins(ctx, senderAcc, exchangeAcc, msg.Input)
    coinBought := sdk.NewCoin(msg.OutputDenom, outputAmount)
    ck.SendCoins(ctx, exchangeAcc, senderAcc, coinBought)
}

handleAddLiquidity

UNI Minted = totalLiquidity * nativeDeposited / nativePool
coinDeposited = coinPool * nativeDeposited / nativePool
nativeCoin = sdk.NewCoin(nativeDenom, msg.DepositAmount)
exchangeCoin = sdk.NewCoin(msg.ExchangeDenom, coinDeposited)
ck.SendCoins(ctx, senderAcc, exchangeAcc, nativeCoin)
ck.SendCoins(ctx, senderAcc, exchangeAcc, exchangeCoin)
keeper.Deposit(ctx, UNI Minted)

totalLiquidity is the total number of UNI in existence

handleRemoveLiquidity

nativeWithdrawn = UNI burned * nativePool / totalLiquidity
coinWithdrawn = UNI burned * coinPool / totalLiquidity
nativeCoin = sdk.NewCoin(nativeDenom, msg.nativeWithdrawn)
exchangeCoin = sdk.NewCoin(msg.ExchangeDenom, coinWithdrawn)
Withdraw(ctx, UNI burned)
ck.SendCoins(ctx, exchangeAcc, senderAcc, nativeCoin)
ck.SendCoins(ctx, exchangeAcc, senderAcc, exchangeCoin)

params.go

  • specify native asset for exchanging between coins
  • specify fee percent to be taken for each swap

Notes:
Each exchange will need to maintain a balance of liquidity that is deposited into it.What would be the best way to create accounts for each exchange? If exchanges have accounts with the CoinKeeper then the total liquidity of each exchange can be retrieved from there.


For Admin Use

  • Not duplicate issue
  • Appropriate labels applied
  • Appropriate contributors tagged
  • Contributor assigned/self-assigned

Dependabot can't resolve your Go dependency files

Dependabot can't resolve your Go dependency files.

As a result, Dependabot couldn't update your dependencies.

The error Dependabot encountered was:


If you think the above is an error on Dependabot's side please don't hesitate to get in touch - we'll do whatever we can to fix it.

View the update logs.

Dependabot can't resolve your Go dependency files

Dependabot can't resolve your Go dependency files.

As a result, Dependabot couldn't update your dependencies.

The error Dependabot encountered was:

go: github.com/cosmos/[email protected] requires
	github.com/gogo/[email protected]: reading github.com/gogo/protobuf/go.mod at revision v1.3.3: unknown revision

If you think the above is an error on Dependabot's side please don't hesitate to get in touch - we'll do whatever we can to fix it.

View the update logs.

Dependabot can't resolve your Go dependency files

Dependabot can't resolve your Go dependency files.

As a result, Dependabot couldn't update your dependencies.

The error Dependabot encountered was:


If you think the above is an error on Dependabot's side please don't hesitate to get in touch - we'll do whatever we can to fix it.

View the update logs.

Dependabot can't resolve your Go dependency files

Dependabot can't resolve your Go dependency files.

As a result, Dependabot couldn't update your dependencies.

The error Dependabot encountered was:

go: github.com/cosmos/[email protected] requires
	github.com/gogo/[email protected]: reading github.com/gogo/protobuf/go.mod at revision v1.3.3: unknown revision

If you think the above is an error on Dependabot's side please don't hesitate to get in touch - we'll do whatever we can to fix it.

View the update logs.

fix: nft sims

nft sims are failing currently. This does not pretain to the module but how an account address is call from the simulated accounts.

Is this repository alive?

Is this repository alive?
If so, I can contribute to migrate program codes of "nft" module to latest Cosmos SDK (stargate). I grasped the comprehensive understanding of developing stargate module(amino→protobuf3, .proto type definition, etc...).
Furthermore, I have afford to implement oracle module with stargate compatibility.
#30

Also I can create client library for nft module and oracle module after stargate migration completed.
https://github.com/cosmos-client/cosmos-client-ts

Thanks
Kimura Yu (LCNEM, Inc.)

Dependabot can't resolve your Go dependency files

Dependabot can't resolve your Go dependency files.

As a result, Dependabot couldn't update your dependencies.

The error Dependabot encountered was:

go: github.com/cosmos/[email protected] requires
	github.com/gogo/[email protected]: reading github.com/gogo/protobuf/go.mod at revision v1.3.3: unknown revision

If you think the above is an error on Dependabot's side please don't hesitate to get in touch - we'll do whatever we can to fix it.

View the update logs.

Dependabot can't resolve your Go dependency files

Dependabot can't resolve your Go dependency files.

As a result, Dependabot couldn't update your dependencies.

The error Dependabot encountered was:


If you think the above is an error on Dependabot's side please don't hesitate to get in touch - we'll do whatever we can to fix it.

View the update logs.

Dependabot can't resolve your Go dependency files

Dependabot can't resolve your Go dependency files.

As a result, Dependabot couldn't update your dependencies.

The error Dependabot encountered was:

go: github.com/cosmos/[email protected] requires
	github.com/gogo/[email protected]: reading github.com/gogo/protobuf/go.mod at revision v1.3.3: unknown revision

If you think the above is an error on Dependabot's side please don't hesitate to get in touch - we'll do whatever we can to fix it.

View the update logs.

query nft supply crypto-kitties error

Hey, I made an error while querying, I couldn't find a problem.

After I mint an nft, I executed the following query command ,

  • gaiacli query nft supply crypto-kitties

  • gaiacli query nft owner cosmos1gghjut3ccd8ay0zduzj64hwre2fxs9ld75ru9p

  • gaiacli query nft collection crypto-kitties

  • gaiacli query nft denoms

  • gaiacli query nft token crypto-kitties id

the two command queries got the error, other three commands can get the correct result.

  1. gaiacli query nft supply crypto-kitties

  2. gaiacli query nft collection crypto-kitties

Error 1

executed gaiacli query nft supply crypto-kitties , get the following error:

ERROR: cannot parse disfix JSON wrapper: invalid character '\x01' looking for beginning of value

The query method for cliCtx.QueryWithData has no errors and the res= [1 0 0 0 0 0 0 0].

// GetCmdQueryCollectionSupply queries the supply of a nft collection
func GetCmdQueryCollectionSupply(queryRoute string, cdc *codec.Codec) *cobra.Command {
         ......
         res, _, err := cliCtx.QueryWithData(fmt.Sprintf("custom/%s/supply/%s", queryRoute, denom), bz)
         if err != nil {
            return err
         }

         var out exported.NFT
         err = cdc.UnmarshalJSON(res, &out)
         if err != nil {
            return err
         }

         return cliCtx.PrintOutput(out)
      },
   }
}

This method err = cdc.UnmarshalJSON(res, &out) gives an error:

ERROR: cannot parse disfix JSON wrapper: invalid character '\x01' looking for beginning of value


Error 2

executed gaiacli query nft collection crypto-kitties, also this method err = cdc.UnmarshalJSON(res, &out) gives an error:

ERROR: JSON encoding of interfaces require non-empty type field.

Dependabot can't resolve your Go dependency files

Dependabot can't resolve your Go dependency files.

As a result, Dependabot couldn't update your dependencies.

The error Dependabot encountered was:

go: github.com/cosmos/[email protected] requires
	github.com/gogo/[email protected]: reading github.com/gogo/protobuf/go.mod at revision v1.3.3: unknown revision

If you think the above is an error on Dependabot's side please don't hesitate to get in touch - we'll do whatever we can to fix it.

View the update logs.

Is this repository abandoned? What's the status of the PoA module?

The first sentence is the Cosmos SDK documentation says:

"The Cosmos SDK is an open-source framework for building multi-asset public Proof-of-Stake (PoS) blockchains, like the Cosmos Hub, as well as permissioned Proof-of-Authority (PoA) blockchains"

Unfortunately this is not true, as there is no official PoA module for the SDK.

I find it being developed here, but stagnated since 4 years ago.
So what's the current status on it? Why was it abandoned?

Dependabot can't resolve your Go dependency files

Dependabot can't resolve your Go dependency files.

As a result, Dependabot couldn't update your dependencies.

The error Dependabot encountered was:

go: github.com/cosmos/[email protected] requires
	github.com/gogo/[email protected]: reading github.com/gogo/protobuf/go.mod at revision v1.3.3: unknown revision

If you think the above is an error on Dependabot's side please don't hesitate to get in touch - we'll do whatever we can to fix it.

View the update logs.

Dependabot can't resolve your Go dependency files

Dependabot can't resolve your Go dependency files.

As a result, Dependabot couldn't update your dependencies.

The error Dependabot encountered was:


If you think the above is an error on Dependabot's side please don't hesitate to get in touch - we'll do whatever we can to fix it.

View the update logs.

Fix sims

After sort update, simulations broke because of an assumption about the order of collectionIds (sims assumed order was kitties doggos but after sort they are forced to be doggos then kitties)

Dependabot can't resolve your Go dependency files

Dependabot can't resolve your Go dependency files.

As a result, Dependabot couldn't update your dependencies.

The error Dependabot encountered was:


If you think the above is an error on Dependabot's side please don't hesitate to get in touch - we'll do whatever we can to fix it.

View the update logs.

Dependabot can't resolve your Go dependency files

Dependabot can't resolve your Go dependency files.

As a result, Dependabot couldn't update your dependencies.

The error Dependabot encountered was:

go: github.com/cosmos/[email protected] requires
	github.com/gogo/[email protected]: reading github.com/gogo/protobuf/go.mod at revision v1.3.3: unknown revision

If you think the above is an error on Dependabot's side please don't hesitate to get in touch - we'll do whatever we can to fix it.

View the update logs.

Dependabot can't resolve your Go dependency files

Dependabot can't resolve your Go dependency files.

As a result, Dependabot couldn't update your dependencies.

The error Dependabot encountered was:


If you think the above is an error on Dependabot's side please don't hesitate to get in touch - we'll do whatever we can to fix it.

View the update logs.

CI

With Github actions being free I would like to add it to this repo and its modules. This will include simulation checking and other things. are there any objections

Dependabot can't resolve your Go dependency files

Dependabot can't resolve your Go dependency files.

As a result, Dependabot couldn't update your dependencies.

The error Dependabot encountered was:

go: github.com/cosmos/[email protected] requires
	github.com/gogo/[email protected]: reading github.com/gogo/protobuf/go.mod at revision v1.3.3: unknown revision

If you think the above is an error on Dependabot's side please don't hesitate to get in touch - we'll do whatever we can to fix it.

View the update logs.

Module level app.go

uhhhh why do we have an app defined on the module ? I don't see the need to define one for each module.

Also, the NFT module is not stable. It still has performance issues that need to be resolved so I'd move it to beta

concern from @fedekunze
#1 (comment)

Dependabot can't resolve your Go dependency files

Dependabot can't resolve your Go dependency files.

As a result, Dependabot couldn't update your dependencies.

The error Dependabot encountered was:


If you think the above is an error on Dependabot's side please don't hesitate to get in touch - we'll do whatever we can to fix it.

View the update logs.

0.38 tracker

when 0.38 is released we should go through updating the nft and POA(also completing it) modules

  • nft module update & ci expansion
  • poa update and completeion + complete ci

nft module REST bugs

garbled...

ttps://jac-api.lcnem.net/nft/supply/jaccard

furthermore, edit metadata api seems not to be working.

go 1.14

require (
	github.com/btcsuite/btcd v0.0.0-20190807005414-4063feeff79a // indirect
	github.com/cosmos/cosmos-sdk v0.38.3
	github.com/cosmos/modules/incubator/nft v0.0.0-20200518161001-afaac0f3116c
	github.com/golang/mock v1.3.1 // indirect
	github.com/onsi/ginkgo v1.8.0 // indirect
	github.com/onsi/gomega v1.5.0 // indirect
	github.com/rcrowley/go-metrics v0.0.0-20190706150252-9beb055b7962 // indirect
	github.com/spf13/afero v1.2.2 // indirect
	github.com/spf13/cobra v0.0.6
	github.com/spf13/viper v1.6.2
	github.com/stretchr/testify v1.5.1
	github.com/tendermint/go-amino v0.15.1
	github.com/tendermint/tendermint v0.33.3
	github.com/tendermint/tm-db v0.5.1
)

Dependabot can't resolve your Go dependency files

Dependabot can't resolve your Go dependency files.

As a result, Dependabot couldn't update your dependencies.

The error Dependabot encountered was:

go: github.com/cosmos/[email protected] requires
	github.com/gogo/[email protected]: reading github.com/gogo/protobuf/go.mod at revision v1.3.3: unknown revision

If you think the above is an error on Dependabot's side please don't hesitate to get in touch - we'll do whatever we can to fix it.

View the update logs.

Dependabot can't resolve your Go dependency files

Dependabot can't resolve your Go dependency files.

As a result, Dependabot couldn't update your dependencies.

The error Dependabot encountered was:

go: github.com/cosmos/[email protected] requires
	github.com/gogo/[email protected]: reading github.com/gogo/protobuf/go.mod at revision v1.3.3: unknown revision

If you think the above is an error on Dependabot's side please don't hesitate to get in touch - we'll do whatever we can to fix it.

View the update logs.

Dependabot can't resolve your Go dependency files

Dependabot can't resolve your Go dependency files.

As a result, Dependabot couldn't update your dependencies.

The error Dependabot encountered was:

go: github.com/cosmos/[email protected] requires
	github.com/gogo/[email protected]: reading github.com/gogo/protobuf/go.mod at revision v1.3.3: unknown revision

If you think the above is an error on Dependabot's side please don't hesitate to get in touch - we'll do whatever we can to fix it.

View the update logs.

Dependabot can't resolve your Go dependency files

Dependabot can't resolve your Go dependency files.

As a result, Dependabot couldn't update your dependencies.

The error Dependabot encountered was:

go: github.com/cosmos/[email protected] requires
	github.com/gogo/[email protected]: reading github.com/gogo/protobuf/go.mod at revision v1.3.3: unknown revision

If you think the above is an error on Dependabot's side please don't hesitate to get in touch - we'll do whatever we can to fix it.

View the update logs.

SDK Intro is throwing a 404

Quick Start: To learn how the SDK works from a high-level perspective, go to the SDK Intro.

SDK Intro link is throwing a 404.

make demo apps?

Some of the modules need customization at the app level (like NFT should have a custom handler). I have a demo app for the NFT module in my personal repo, but maye it would be good for demo implementations of different modules to live here as well? or maybe they should live in burner-chains with a new name closer to demo-chains?

Dependabot can't resolve your Go dependency files

Dependabot can't resolve your Go dependency files.

As a result, Dependabot couldn't update your dependencies.

The error Dependabot encountered was:

go: github.com/cosmos/[email protected] requires
	github.com/gogo/[email protected]: reading github.com/gogo/protobuf/go.mod at revision v1.3.3: unknown revision

If you think the above is an error on Dependabot's side please don't hesitate to get in touch - we'll do whatever we can to fix it.

View the update logs.

Dependabot can't resolve your Go dependency files

Dependabot can't resolve your Go dependency files.

As a result, Dependabot couldn't update your dependencies.

The error Dependabot encountered was:


If you think the above is an error on Dependabot's side please don't hesitate to get in touch - we'll do whatever we can to fix it.

View the update logs.

Dependabot can't resolve your Go dependency files

Dependabot can't resolve your Go dependency files.

As a result, Dependabot couldn't update your dependencies.

The error Dependabot encountered was:

go: github.com/cosmos/[email protected] requires
	github.com/gogo/[email protected]: reading github.com/gogo/protobuf/go.mod at revision v1.3.3: unknown revision

If you think the above is an error on Dependabot's side please don't hesitate to get in touch - we'll do whatever we can to fix it.

View the update logs.

Dependabot can't resolve your Go dependency files

Dependabot can't resolve your Go dependency files.

As a result, Dependabot couldn't update your dependencies.

The error Dependabot encountered was:


If you think the above is an error on Dependabot's side please don't hesitate to get in touch - we'll do whatever we can to fix it.

View the update logs.

NFT Module - Use Store Indexes

Stemming from


Eliminate structs IDCollection, Collection and replace their functionality with index lookups

The NFT design should be restructured to eliminate the:

  • Owner struct
  • IDCollection struct

We should instead by applying the use of secondary indexes similarly to how the staking module stores references to the same validators by: operator-address, consensus-address, power, etc. (see example https://github.com/cosmos/cosmos-sdk/blob/master/x/staking/keeper/validator.go#L70)
(see spec: https://github.com/cosmos/cosmos-sdk/blob/master/docs/spec/staking/01_state.md#validator)

This way we should be able to easily create functions on the NFTKeeper to get the NFTs efficiently without requiring these extra object. For example I'd suggest the keeper look like:

type NFTKeeper interface {
    GetNFTByID(string) NFT
    GetCollectionByDenom(string) []*NFT
    GetCollectionsByOwner(sdk.AccAddress) []Collection
}

Or something along those lines.


Additionally this means that all this Collection back-updating logic can be removed (see cosmos/cosmos-sdk#4209 (comment))

Dependabot can't resolve your Go dependency files

Dependabot can't resolve your Go dependency files.

As a result, Dependabot couldn't update your dependencies.

The error Dependabot encountered was:

go: github.com/cosmos/[email protected] requires
	github.com/gogo/[email protected]: reading github.com/gogo/protobuf/go.mod at revision v1.3.3: unknown revision

If you think the above is an error on Dependabot's side please don't hesitate to get in touch - we'll do whatever we can to fix it.

View the update logs.

Dependabot can't resolve your Go dependency files

Dependabot can't resolve your Go dependency files.

As a result, Dependabot couldn't update your dependencies.

The error Dependabot encountered was:

go: github.com/cosmos/[email protected] requires
	github.com/gogo/[email protected]: reading github.com/gogo/protobuf/go.mod at revision v1.3.3: unknown revision

If you think the above is an error on Dependabot's side please don't hesitate to get in touch - we'll do whatever we can to fix it.

View the update logs.

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.