Skip to content

Commit

Permalink
got it to work
Browse files Browse the repository at this point in the history
  • Loading branch information
domsteil committed Nov 15, 2021
1 parent c6b728a commit 40beef3
Show file tree
Hide file tree
Showing 21 changed files with 64 additions and 146 deletions.
11 changes: 1 addition & 10 deletions app/app.go
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ import (
ibctransfertypes "github.com/cosmos/ibc-go/modules/apps/transfer/types"
ibc "github.com/cosmos/ibc-go/modules/core"
ibcclient "github.com/cosmos/ibc-go/modules/core/02-client"
porttypes "github.com/cosmos/ibc-go/modules/core/05-port/types"
ibcporttypes "github.com/cosmos/ibc-go/modules/core/05-port/types"
ibchost "github.com/cosmos/ibc-go/modules/core/24-host"
ibckeeper "github.com/cosmos/ibc-go/modules/core/keeper"
"github.com/spf13/cast"
Expand All @@ -83,10 +83,6 @@ import (
tmos "github.com/tendermint/tendermint/libs/os"
dbm "github.com/tendermint/tm-db"

"github.com/CosmWasm/wasmd/x/wasm"
wasmclient "github.com/CosmWasm/wasmd/x/wasm/client"
wasmkeeper "github.com/CosmWasm/wasmd/x/wasm/keeper"

"github.com/tendermint/spm/cosmoscmd"
"github.com/tendermint/spm/openapiconsole"

Expand Down Expand Up @@ -142,7 +138,6 @@ var (
transfer.AppModuleBasic{},
vesting.AppModuleBasic{},
// this line is used by starport scaffolding # stargate/app/moduleBasic
wasm.AppModuleBasic{},
)

// module account permissions
Expand All @@ -155,7 +150,6 @@ var (
govtypes.ModuleName: {authtypes.Burner},
ibctransfertypes.ModuleName: {authtypes.Minter, authtypes.Burner},
// this line is used by starport scaffolding # stargate/app/maccPerms
wasm.ModuleName: {authtypes.Burner},
}
)

Expand Down Expand Up @@ -212,8 +206,6 @@ type App struct {
ScopedTransferKeeper capabilitykeeper.ScopedKeeper

// this line is used by starport scaffolding # stargate/app/keeperDeclaration
wasmKeeper wasm.Keeper
scopedWasmKeeper capabilitykeeper.ScopedKeeper

// the module manager
mm *module.Manager
Expand Down Expand Up @@ -383,7 +375,6 @@ func New(
params.NewAppModule(app.ParamsKeeper),
transferModule,
// this line is used by starport scaffolding # stargate/app/appModule
wasm.NewAppModule(appCodec, &app.wasmKeeper, app.StakingKeeper),
)

// During begin block slashing happens after distr.BeginBlocker so that
Expand Down
21 changes: 16 additions & 5 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -3,18 +3,29 @@ module github.com/stateset/stateset-blockchain
go 1.16

require (
github.com/btcsuite/btcutil v1.0.3-0.20201208143702-a53e38424cce
github.com/cosmos/cosmos-sdk v0.44.1
github.com/cosmos/go-bip39 v1.0.0
github.com/cosmos/ibc-go v1.2.0
github.com/golang/protobuf v1.5.2 // indirect
github.com/go-kit/kit v0.10.0
github.com/gogo/protobuf v1.3.3
github.com/golang/protobuf v1.5.2
github.com/google/go-cmp v0.5.6 // indirect
github.com/grpc-ecosystem/grpc-gateway v1.16.0 // indirect
github.com/grpc-ecosystem/grpc-gateway/v2 v2.6.0 // indirect
github.com/regen-network/cosmos-proto v0.3.1 // indirect
github.com/gorilla/mux v1.8.0
github.com/grpc-ecosystem/grpc-gateway v1.16.0
github.com/json-iterator/go v1.1.11
github.com/pkg/errors v0.9.1
github.com/prometheus/client_golang v1.11.0
github.com/spf13/cast v1.3.1
github.com/spf13/cobra v1.2.1
github.com/stretchr/testify v1.7.0
github.com/tendermint/spm v0.1.5
github.com/tendermint/tendermint v0.34.13
github.com/tendermint/tm-db v0.6.4
google.golang.org/genproto v0.0.0-20210903162649-d08c68adba83 // indirect
golang.org/x/crypto v0.0.0-20210513164829-c07d793c2f9a
google.golang.org/genproto v0.0.0-20210903162649-d08c68adba83
google.golang.org/grpc v1.40.0
google.golang.org/protobuf v1.27.1
)

replace (
Expand Down
6 changes: 0 additions & 6 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -309,7 +309,6 @@ github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4
github.com/fullstorydev/grpcurl v1.6.0/go.mod h1:ZQ+ayqbKMJNhzLmbpCiurTVlaK2M/3nqZCxaQ2Ze/sM=
github.com/fzipp/gocyclo v0.3.1/go.mod h1:DJHO6AUmbdqj2ET4Z9iArSuwWgYDRryYt2wASxc7x3E=
github.com/gballet/go-libpcsclite v0.0.0-20190607065134-2772fd86a8ff/go.mod h1:x7DCsMOv1taUwEWCzT4cmDeAkigA5/QCwUodaVOe8Ww=
github.com/ghodss/yaml v1.0.0 h1:wQHKEahhL6wmXdzwWG11gIVCkOv05bNOh+Rxn0yngAk=
github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04=
github.com/gin-contrib/sse v0.1.0 h1:Y/yl/+YNO8GZSjAhjMsSuLt29uWRFHdHYUb5lYOV9qE=
github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI=
Expand Down Expand Up @@ -369,8 +368,6 @@ github.com/gofrs/flock v0.8.1/go.mod h1:F1TvTiK9OcQqauNUHlbJvyl9Qa1QvF/gOUDKA14j
github.com/gogo/gateway v1.1.0 h1:u0SuhL9+Il+UbjM9VIE3ntfRujKbvVpFvNB4HbjeVQ0=
github.com/gogo/gateway v1.1.0/go.mod h1:S7rR8FRQyG3QFESeSv4l2WnsyzlCLG0CzBbUUo/mbic=
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
github.com/golang/glog v1.0.0 h1:nfP3RFugxnNRyKgeWd4oI1nYvXpxrx8ck8ZrcizshdQ=
github.com/golang/glog v1.0.0/go.mod h1:EWib/APOK0SL3dFbYqvxE3UYd8E6s1ouQ7iEp/0LWV4=
github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
Expand Down Expand Up @@ -512,8 +509,6 @@ github.com/grpc-ecosystem/grpc-gateway v1.12.1/go.mod h1:8XEsbTttt/W+VvjtQhLACqC
github.com/grpc-ecosystem/grpc-gateway v1.14.7/go.mod h1:oYZKL012gGh6LMyg/xA7Q2yq6j8bu0wa+9w14EEthWU=
github.com/grpc-ecosystem/grpc-gateway v1.16.0 h1:gmcG1KaJ57LophUzW0Hy8NmPhnMZb4M0+kPpLofRdBo=
github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw=
github.com/grpc-ecosystem/grpc-gateway/v2 v2.6.0 h1:rgxjzoDmDXw5q8HONgyHhBas4to0/XWRo/gPpJhsUNQ=
github.com/grpc-ecosystem/grpc-gateway/v2 v2.6.0/go.mod h1:qrJPVzv9YlhsrxJc3P/Q85nr0w1lIRikTl4JlhdDH5w=
github.com/gsterjov/go-libsecret v0.0.0-20161001094733-a6f4afe4910c h1:6rhixN/i8ZofjG1Y75iExal34USq5p+wiN1tpie8IrU=
github.com/gsterjov/go-libsecret v0.0.0-20161001094733-a6f4afe4910c/go.mod h1:NMPJylDgVpX0MLRlPy15sqSwOFv/U1GZ2m21JhFfek0=
github.com/gtank/merlin v0.1.1-0.20191105220539-8318aed1a79f/go.mod h1:T86dnYJhcGOh5BjZFCJWTDeTK7XW8uE+E21Cy/bIQ+s=
Expand Down Expand Up @@ -1234,7 +1229,6 @@ golang.org/x/oauth2 v0.0.0-20210220000619-9bb904979d93/go.mod h1:KelEdhl1UZF7XfJ
golang.org/x/oauth2 v0.0.0-20210313182246-cd4f82c27b84/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
golang.org/x/oauth2 v0.0.0-20210402161424-2e8d93401602/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
golang.org/x/oauth2 v0.0.0-20210819190943-2bc19b11175f/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
Expand Down
32 changes: 16 additions & 16 deletions vue/src/store/generated/stateset/stateset-blockchain/did/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -199,67 +199,67 @@ export default {
throw new SpVuexError('QueryClient:QueryAddressFromBase58EncodedPubkey', 'API Node Unavailable. Could not perform query: ' + e.message);
}
},
async sendMsgAddDid({ rootGetters }, { value, fee = [], memo = '' }) {
async sendMsgAddCredential({ rootGetters }, { value, fee = [], memo = '' }) {
try {
const txClient = await initTxClient(rootGetters);
const msg = await txClient.msgAddDid(value);
const msg = await txClient.msgAddCredential(value);
const result = await txClient.signAndBroadcast([msg], { fee: { amount: fee,
gas: "200000" }, memo });
return result;
}
catch (e) {
if (e == MissingWalletError) {
throw new SpVuexError('TxClient:MsgAddDid:Init', 'Could not initialize signing client. Wallet is required.');
throw new SpVuexError('TxClient:MsgAddCredential:Init', 'Could not initialize signing client. Wallet is required.');
}
else {
throw new SpVuexError('TxClient:MsgAddDid:Send', 'Could not broadcast Tx: ' + e.message);
throw new SpVuexError('TxClient:MsgAddCredential:Send', 'Could not broadcast Tx: ' + e.message);
}
}
},
async sendMsgAddCredential({ rootGetters }, { value, fee = [], memo = '' }) {
async sendMsgAddDid({ rootGetters }, { value, fee = [], memo = '' }) {
try {
const txClient = await initTxClient(rootGetters);
const msg = await txClient.msgAddCredential(value);
const msg = await txClient.msgAddDid(value);
const result = await txClient.signAndBroadcast([msg], { fee: { amount: fee,
gas: "200000" }, memo });
return result;
}
catch (e) {
if (e == MissingWalletError) {
throw new SpVuexError('TxClient:MsgAddCredential:Init', 'Could not initialize signing client. Wallet is required.');
throw new SpVuexError('TxClient:MsgAddDid:Init', 'Could not initialize signing client. Wallet is required.');
}
else {
throw new SpVuexError('TxClient:MsgAddCredential:Send', 'Could not broadcast Tx: ' + e.message);
throw new SpVuexError('TxClient:MsgAddDid:Send', 'Could not broadcast Tx: ' + e.message);
}
}
},
async MsgAddDid({ rootGetters }, { value }) {
async MsgAddCredential({ rootGetters }, { value }) {
try {
const txClient = await initTxClient(rootGetters);
const msg = await txClient.msgAddDid(value);
const msg = await txClient.msgAddCredential(value);
return msg;
}
catch (e) {
if (e == MissingWalletError) {
throw new SpVuexError('TxClient:MsgAddDid:Init', 'Could not initialize signing client. Wallet is required.');
throw new SpVuexError('TxClient:MsgAddCredential:Init', 'Could not initialize signing client. Wallet is required.');
}
else {
throw new SpVuexError('TxClient:MsgAddDid:Create', 'Could not create message: ' + e.message);
throw new SpVuexError('TxClient:MsgAddCredential:Create', 'Could not create message: ' + e.message);
}
}
},
async MsgAddCredential({ rootGetters }, { value }) {
async MsgAddDid({ rootGetters }, { value }) {
try {
const txClient = await initTxClient(rootGetters);
const msg = await txClient.msgAddCredential(value);
const msg = await txClient.msgAddDid(value);
return msg;
}
catch (e) {
if (e == MissingWalletError) {
throw new SpVuexError('TxClient:MsgAddCredential:Init', 'Could not initialize signing client. Wallet is required.');
throw new SpVuexError('TxClient:MsgAddDid:Init', 'Could not initialize signing client. Wallet is required.');
}
else {
throw new SpVuexError('TxClient:MsgAddCredential:Create', 'Could not create message: ' + e.message);
throw new SpVuexError('TxClient:MsgAddDid:Create', 'Could not create message: ' + e.message);
}
}
},
Expand Down
32 changes: 16 additions & 16 deletions vue/src/store/generated/stateset/stateset-blockchain/did/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -251,61 +251,61 @@ export default {
},


async sendMsgAddDid({ rootGetters }, { value, fee = [], memo = '' }) {
async sendMsgAddCredential({ rootGetters }, { value, fee = [], memo = '' }) {
try {
const txClient=await initTxClient(rootGetters)
const msg = await txClient.msgAddDid(value)
const msg = await txClient.msgAddCredential(value)
const result = await txClient.signAndBroadcast([msg], {fee: { amount: fee,
gas: "200000" }, memo})
return result
} catch (e) {
if (e == MissingWalletError) {
throw new SpVuexError('TxClient:MsgAddDid:Init', 'Could not initialize signing client. Wallet is required.')
throw new SpVuexError('TxClient:MsgAddCredential:Init', 'Could not initialize signing client. Wallet is required.')
}else{
throw new SpVuexError('TxClient:MsgAddDid:Send', 'Could not broadcast Tx: '+ e.message)
throw new SpVuexError('TxClient:MsgAddCredential:Send', 'Could not broadcast Tx: '+ e.message)
}
}
},
async sendMsgAddCredential({ rootGetters }, { value, fee = [], memo = '' }) {
async sendMsgAddDid({ rootGetters }, { value, fee = [], memo = '' }) {
try {
const txClient=await initTxClient(rootGetters)
const msg = await txClient.msgAddCredential(value)
const msg = await txClient.msgAddDid(value)
const result = await txClient.signAndBroadcast([msg], {fee: { amount: fee,
gas: "200000" }, memo})
return result
} catch (e) {
if (e == MissingWalletError) {
throw new SpVuexError('TxClient:MsgAddCredential:Init', 'Could not initialize signing client. Wallet is required.')
throw new SpVuexError('TxClient:MsgAddDid:Init', 'Could not initialize signing client. Wallet is required.')
}else{
throw new SpVuexError('TxClient:MsgAddCredential:Send', 'Could not broadcast Tx: '+ e.message)
throw new SpVuexError('TxClient:MsgAddDid:Send', 'Could not broadcast Tx: '+ e.message)
}
}
},

async MsgAddDid({ rootGetters }, { value }) {
async MsgAddCredential({ rootGetters }, { value }) {
try {
const txClient=await initTxClient(rootGetters)
const msg = await txClient.msgAddDid(value)
const msg = await txClient.msgAddCredential(value)
return msg
} catch (e) {
if (e == MissingWalletError) {
throw new SpVuexError('TxClient:MsgAddDid:Init', 'Could not initialize signing client. Wallet is required.')
throw new SpVuexError('TxClient:MsgAddCredential:Init', 'Could not initialize signing client. Wallet is required.')
}else{
throw new SpVuexError('TxClient:MsgAddDid:Create', 'Could not create message: ' + e.message)
throw new SpVuexError('TxClient:MsgAddCredential:Create', 'Could not create message: ' + e.message)

}
}
},
async MsgAddCredential({ rootGetters }, { value }) {
async MsgAddDid({ rootGetters }, { value }) {
try {
const txClient=await initTxClient(rootGetters)
const msg = await txClient.msgAddCredential(value)
const msg = await txClient.msgAddDid(value)
return msg
} catch (e) {
if (e == MissingWalletError) {
throw new SpVuexError('TxClient:MsgAddCredential:Init', 'Could not initialize signing client. Wallet is required.')
throw new SpVuexError('TxClient:MsgAddDid:Init', 'Could not initialize signing client. Wallet is required.')
}else{
throw new SpVuexError('TxClient:MsgAddCredential:Create', 'Could not create message: ' + e.message)
throw new SpVuexError('TxClient:MsgAddDid:Create', 'Could not create message: ' + e.message)

}
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import { StdFee } from "@cosmjs/launchpad";
import { OfflineSigner, EncodeObject } from "@cosmjs/proto-signing";
import { Api } from "./rest";
import { MsgAddDid } from "./types/stateset/did/v1beta1/tx";
import { MsgAddCredential } from "./types/stateset/did/v1beta1/tx";
import { MsgAddDid } from "./types/stateset/did/v1beta1/tx";
export declare const MissingWalletError: Error;
interface TxClientOptions {
addr: string;
Expand All @@ -13,8 +13,8 @@ interface SignAndBroadcastOptions {
}
declare const txClient: (wallet: OfflineSigner, { addr: addr }?: TxClientOptions) => Promise<{
signAndBroadcast: (msgs: EncodeObject[], { fee, memo }?: SignAndBroadcastOptions) => Promise<import("@cosmjs/stargate").BroadcastTxResponse>;
msgAddDid: (data: MsgAddDid) => EncodeObject;
msgAddCredential: (data: MsgAddCredential) => EncodeObject;
msgAddDid: (data: MsgAddDid) => EncodeObject;
}>;
interface QueryClientOptions {
addr: string;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@
import { SigningStargateClient } from "@cosmjs/stargate";
import { Registry } from "@cosmjs/proto-signing";
import { Api } from "./rest";
import { MsgAddDid } from "./types/stateset/did/v1beta1/tx";
import { MsgAddCredential } from "./types/stateset/did/v1beta1/tx";
import { MsgAddDid } from "./types/stateset/did/v1beta1/tx";
const types = [
["/did.MsgAddDid", MsgAddDid],
["/did.MsgAddCredential", MsgAddCredential],
["/did.MsgAddDid", MsgAddDid],
];
export const MissingWalletError = new Error("wallet is required");
const registry = new Registry(types);
Expand All @@ -21,8 +21,8 @@ const txClient = async (wallet, { addr: addr } = { addr: "http://localhost:26657
const { address } = (await wallet.getAccounts())[0];
return {
signAndBroadcast: (msgs, { fee, memo } = { fee: defaultFee, memo: "" }) => client.signAndBroadcast(address, msgs, fee, memo),
msgAddDid: (data) => ({ typeUrl: "/did.MsgAddDid", value: data }),
msgAddCredential: (data) => ({ typeUrl: "/did.MsgAddCredential", value: data }),
msgAddDid: (data) => ({ typeUrl: "/did.MsgAddDid", value: data }),
};
};
const queryClient = async ({ addr: addr } = { addr: "http://localhost:1317" }) => {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,13 @@ import { StdFee } from "@cosmjs/launchpad";
import { SigningStargateClient } from "@cosmjs/stargate";
import { Registry, OfflineSigner, EncodeObject, DirectSecp256k1HdWallet } from "@cosmjs/proto-signing";
import { Api } from "./rest";
import { MsgAddDid } from "./types/stateset/did/v1beta1/tx";
import { MsgAddCredential } from "./types/stateset/did/v1beta1/tx";
import { MsgAddDid } from "./types/stateset/did/v1beta1/tx";


const types = [
["/did.MsgAddDid", MsgAddDid],
["/did.MsgAddCredential", MsgAddCredential],
["/did.MsgAddDid", MsgAddDid],

];
export const MissingWalletError = new Error("wallet is required");
Expand Down Expand Up @@ -39,8 +39,8 @@ const txClient = async (wallet: OfflineSigner, { addr: addr }: TxClientOptions =

return {
signAndBroadcast: (msgs: EncodeObject[], { fee, memo }: SignAndBroadcastOptions = {fee: defaultFee, memo: ""}) => client.signAndBroadcast(address, msgs, fee,memo),
msgAddDid: (data: MsgAddDid): EncodeObject => ({ typeUrl: "/did.MsgAddDid", value: data }),
msgAddCredential: (data: MsgAddCredential): EncodeObject => ({ typeUrl: "/did.MsgAddCredential", value: data }),
msgAddDid: (data: MsgAddDid): EncodeObject => ({ typeUrl: "/did.MsgAddDid", value: data }),

};
};
Expand Down
2 changes: 0 additions & 2 deletions x/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,5 @@ These are the modules that make Stateset:
- `x/agreement`: Agreement logic.
- `x/common`: Common logic.
- `x/did`: DID logic.
- `x/ibc`: IBC logic.
- `x/invoice`: Invoice logic.
- `x/purchaseorder`: Purchase Order logic.
- `x/wasm`: CosmWasm Smart Contracts.
2 changes: 1 addition & 1 deletion x/agreement/keeper/ibcAgreement.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import (
"net/url"
"time"

app "github.com/stateset/stateset-blockchain/types"
app "github.com/stateset/stateset-blockchain/app"
"github.com/cosmos/cosmos-sdk/codec"
"github.com/cosmos/cosmos-sdk/store/gaskv"
sdk "github.com/cosmos/cosmos-sdk/types"
Expand Down
2 changes: 1 addition & 1 deletion x/agreement/keeper/keeper.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import (
"net/url"
"time"

app "github.com/stateset/stateset-blockchain/types"
app "github.com/stateset/stateset-blockchain/app"
"github.com/cosmos/cosmos-sdk/codec"
"github.com/cosmos/cosmos-sdk/store/gaskv"
sdk "github.com/cosmos/cosmos-sdk/types"
Expand Down
2 changes: 1 addition & 1 deletion x/common/util.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ import (

sdk "github.com/cosmos/cosmos-sdk/types"
"github.com/cosmos/cosmos-sdk/types/rest"
apptypes "github.com/stateset/stateset-blockchain/types"
apptypes "github.com/stateset/stateset-blockchain/app"
)

const (
Expand Down

0 comments on commit 40beef3

Please sign in to comment.