forked from cerc-io/laconicd-deprecated
Compare commits
21
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1ba3cd8d9b | ||
|
|
c431d4eca5 | ||
|
|
366752a77c | ||
|
|
75bcf1f5a5 | ||
|
|
f84d438d60 | ||
|
|
e829f2e2b6 | ||
|
|
28d4ca85fc | ||
|
|
db1d70ffef | ||
|
|
af814fcd5f | ||
|
|
6b04c0ee5e | ||
|
|
72ec75a857 | ||
|
|
ca8c83999c | ||
|
|
474371531d | ||
|
|
e7eac028a2 | ||
|
|
bdb0586e01 | ||
|
|
e119d27ca0 | ||
|
|
055e323f3b | ||
|
|
9ea31b81f5 | ||
|
|
d4b13e2859 | ||
|
|
9f31e1b556 | ||
|
|
c0a197da92 |
+144
-86
@@ -15,33 +15,17 @@ jobs:
|
||||
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
|
||||
if: "!startsWith(github.ref, 'refs/tags/') && github.ref != 'refs/heads/main'"
|
||||
|
||||
install-tparse:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/setup-go@v2.1.4
|
||||
with:
|
||||
go-version: 1.18
|
||||
- name: Display Go Version
|
||||
run: go version
|
||||
- name: Install tparse
|
||||
run: |
|
||||
export GO111MODULE="on" && go install github.com/mfridman/tparse@latest
|
||||
- uses: actions/cache@v3
|
||||
with:
|
||||
path: ~/go/bin
|
||||
key: ${{ runner.os }}-go-tparse-binary
|
||||
|
||||
test-unit-cover:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/setup-go@v2.1.4
|
||||
- uses: actions/setup-go@v3
|
||||
with:
|
||||
go-version: 1.18
|
||||
check-latest: true
|
||||
- uses: actions/checkout@v3
|
||||
- uses: technote-space/get-diff-action@v6.0.1
|
||||
- uses: technote-space/get-diff-action@v6.1.1
|
||||
with:
|
||||
PATTERNS: |
|
||||
**/**.sol
|
||||
**/**.go
|
||||
go.mod
|
||||
go.sum
|
||||
@@ -49,7 +33,7 @@ jobs:
|
||||
run: |
|
||||
make test-unit-cover
|
||||
if: env.GIT_DIFF
|
||||
- uses: codecov/codecov-action@v2.1.0
|
||||
- uses: codecov/codecov-action@v3
|
||||
with:
|
||||
file: ./coverage.txt
|
||||
fail_ci_if_error: true
|
||||
@@ -59,87 +43,33 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 10
|
||||
steps:
|
||||
- uses: actions/setup-go@v2.1.4
|
||||
- uses: actions/setup-go@v3
|
||||
with:
|
||||
go-version: 1.18
|
||||
check-latest: true
|
||||
- uses: actions/checkout@v3
|
||||
- uses: technote-space/get-diff-action@v6.0.1
|
||||
- uses: technote-space/get-diff-action@v6.1.1
|
||||
id: git_diff
|
||||
with:
|
||||
SUFFIX_FILTER: |
|
||||
.go
|
||||
.mod
|
||||
.sum
|
||||
PATTERNS: |
|
||||
**/**.go
|
||||
go.mod
|
||||
go.sum
|
||||
- name: test-importer
|
||||
run: |
|
||||
make test-import
|
||||
if: env.GIT_DIFF
|
||||
|
||||
test-solidity:
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 240
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
batch: ['1-3', '2-3', '3-3']
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/setup-go@v2
|
||||
with:
|
||||
go-version: 1.18
|
||||
- uses: technote-space/get-diff-action@v6.0.1
|
||||
id: git_diff
|
||||
with:
|
||||
PATTERNS: |
|
||||
**/**.sol
|
||||
**/**.go
|
||||
tests/solidity/**/*.js
|
||||
tests/solidity/**/*.sh
|
||||
go.mod
|
||||
go.sum
|
||||
- name: test-solidity
|
||||
run: |
|
||||
./scripts/run-solidity-tests.sh --batch=${{ matrix.batch }}
|
||||
if: env.GIT_DIFF
|
||||
|
||||
liveness-test:
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 10
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/setup-go@v2.1.4
|
||||
with:
|
||||
go-version: 1.18
|
||||
- uses: technote-space/get-diff-action@v6.0.1
|
||||
id: git_diff
|
||||
with:
|
||||
PATTERNS: |
|
||||
**/**.go
|
||||
go.mod
|
||||
go.sum
|
||||
- name: Install Starport
|
||||
run: |
|
||||
curl https://get.starport.network/starport! | bash
|
||||
if: env.GIT_DIFF
|
||||
- name: Start Local Network via Starport
|
||||
run: |
|
||||
starport chain serve --reset-once -v -c ./starport.yml > starport.out 2>&1 &
|
||||
if: env.GIT_DIFF
|
||||
- name: Test Local Network Liveness
|
||||
run: |
|
||||
sleep 2m
|
||||
./contrib/scripts/test_localnet_liveness.sh 100 5 50 localhost
|
||||
if: env.GIT_DIFF
|
||||
|
||||
test-rpc:
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 15
|
||||
steps:
|
||||
- uses: actions/setup-go@v2.1.4
|
||||
- uses: actions/setup-go@v3
|
||||
with:
|
||||
go-version: 1.18
|
||||
check-latest: true
|
||||
- uses: actions/checkout@v3
|
||||
- uses: technote-space/get-diff-action@v6.0.1
|
||||
- uses: technote-space/get-diff-action@v6.1.1
|
||||
with:
|
||||
PATTERNS: |
|
||||
**/**.sol
|
||||
@@ -155,11 +85,12 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 15
|
||||
steps:
|
||||
- uses: actions/setup-go@v2.1.4
|
||||
- uses: actions/setup-go@v3
|
||||
with:
|
||||
go-version: 1.18
|
||||
check-latest: true
|
||||
- uses: actions/checkout@v3
|
||||
- uses: technote-space/get-diff-action@v6.0.1
|
||||
- uses: technote-space/get-diff-action@v6.1.1
|
||||
with:
|
||||
PATTERNS: |
|
||||
**/**.sol
|
||||
@@ -170,3 +101,130 @@ jobs:
|
||||
run: |
|
||||
make test-integration
|
||||
if: env.GIT_DIFF
|
||||
|
||||
# integration_tests:
|
||||
# runs-on: ubuntu-latest
|
||||
# steps:
|
||||
# - uses: actions/checkout@v2
|
||||
# - uses: cachix/install-nix-action@v18
|
||||
# - uses: cachix/cachix-action@v11
|
||||
# with:
|
||||
# name: ethermint
|
||||
# signingKey: "${{ secrets.CACHIX_SIGNING_KEY }}"
|
||||
# - uses: technote-space/get-diff-action@v6.1.1
|
||||
# with:
|
||||
# PATTERNS: |
|
||||
# **/**.sol
|
||||
# **/**.go
|
||||
# go.mod
|
||||
# go.sum
|
||||
# tests/integration_tests/**
|
||||
# - name: Run integration tests
|
||||
# run: make run-integration-tests
|
||||
# if: env.GIT_DIFF
|
||||
# - name: 'Tar debug files'
|
||||
# if: failure()
|
||||
# run: tar cfz debug_files.tar.gz -C /tmp/pytest-of-runner .
|
||||
# - uses: actions/upload-artifact@v3
|
||||
# if: failure()
|
||||
# with:
|
||||
# name: debug-files
|
||||
# path: debug_files.tar.gz
|
||||
# if-no-files-found: ignore
|
||||
|
||||
# upload-cache:
|
||||
# if: github.event_name == 'push'
|
||||
# needs: ["integration_tests"]
|
||||
# strategy:
|
||||
# matrix:
|
||||
# os: [macos-latest]
|
||||
# runs-on: ${{ matrix.os }}
|
||||
# steps:
|
||||
# - uses: actions/checkout@v2
|
||||
# - uses: cachix/install-nix-action@v18
|
||||
# - uses: cachix/cachix-action@v11
|
||||
# with:
|
||||
# name: ethermint
|
||||
# signingKey: "${{ secrets.CACHIX_SIGNING_KEY }}"
|
||||
# - name: 'instantiate integration test env'
|
||||
# run: nix-store -r $(nix-instantiate tests/integration_tests/shell.nix)
|
||||
|
||||
test-sim-nondeterminism:
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 25
|
||||
steps:
|
||||
- uses: actions/setup-go@v3
|
||||
with:
|
||||
go-version: 1.18
|
||||
check-latest: true
|
||||
- uses: actions/checkout@v3
|
||||
- uses: technote-space/get-diff-action@v6.1.1
|
||||
with:
|
||||
PATTERNS: |
|
||||
**/**.go
|
||||
go.mod
|
||||
go.sum
|
||||
- name: Test simulation nondeterminism
|
||||
run: |
|
||||
make test-sim-nondeterminism
|
||||
if: env.GIT_DIFF
|
||||
|
||||
test-sim-random-genesis-fast:
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 25
|
||||
steps:
|
||||
- uses: actions/setup-go@v3
|
||||
with:
|
||||
go-version: 1.18
|
||||
check-latest: true
|
||||
- uses: actions/checkout@v3
|
||||
- uses: technote-space/get-diff-action@v6.1.1
|
||||
with:
|
||||
PATTERNS: |
|
||||
**/**.go
|
||||
go.mod
|
||||
go.sum
|
||||
- name: Test simulation with random genesis
|
||||
run: |
|
||||
make test-sim-random-genesis-fast
|
||||
if: env.GIT_DIFF
|
||||
|
||||
test-sim-import-export:
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 25
|
||||
steps:
|
||||
- uses: actions/setup-go@v3
|
||||
with:
|
||||
go-version: 1.18
|
||||
check-latest: true
|
||||
- uses: actions/checkout@v3
|
||||
- uses: technote-space/get-diff-action@v6.1.1
|
||||
with:
|
||||
PATTERNS: |
|
||||
**/**.go
|
||||
go.mod
|
||||
go.sum
|
||||
- name: Simulation of import and export genesis
|
||||
run: |
|
||||
make test-sim-import-export
|
||||
if: env.GIT_DIFF
|
||||
|
||||
test-sim-after-import:
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 25
|
||||
steps:
|
||||
- uses: actions/setup-go@v3
|
||||
with:
|
||||
go-version: 1.18
|
||||
check-latest: true
|
||||
- uses: actions/checkout@v3
|
||||
- uses: technote-space/get-diff-action@v6.1.1
|
||||
with:
|
||||
PATTERNS: |
|
||||
**/**.go
|
||||
go.mod
|
||||
go.sum
|
||||
- name: Test simulation after import
|
||||
run: |
|
||||
make test-sim-after-import
|
||||
if: env.GIT_DIFF
|
||||
@@ -1,78 +1,30 @@
|
||||
<!--
|
||||
parent:
|
||||
order: false
|
||||
-->
|
||||
|
||||
<div align="center">
|
||||
<h1> Ethermint </h1>
|
||||
<h1> Laconic Network </h1>
|
||||
</div>
|
||||
|
||||

|
||||

|
||||
|
||||
<div align="center">
|
||||
<a href="https://github.com/evmos/ethermint/releases/latest">
|
||||
<img alt="Version" src="https://img.shields.io/github/tag/tharsis/ethermint.svg" />
|
||||
</a>
|
||||
<a href="https://github.com/evmos/ethermint/blob/main/LICENSE">
|
||||
<img alt="License: Apache-2.0" src="https://img.shields.io/github/license/tharsis/ethermint.svg" />
|
||||
</a>
|
||||
<a href="https://pkg.go.dev/github.com/evmos/ethermint">
|
||||
<img alt="GoDoc" src="https://godoc.org/github.com/evmos/ethermint?status.svg" />
|
||||
</a>
|
||||
<a href="https://goreportcard.com/report/github.com/evmos/ethermint">
|
||||
<img alt="Go report card" src="https://goreportcard.com/badge/github.com/evmos/ethermint"/>
|
||||
</a>
|
||||
<a href="https://bestpractices.coreinfrastructure.org/projects/5018">
|
||||
<img alt="Lines of code" src="https://img.shields.io/tokei/lines/github/tharsis/ethermint">
|
||||
</a>
|
||||
</div>
|
||||
<div align="center">
|
||||
<a href="https://discord.gg/trje9XuAmy">
|
||||
<img alt="Discord" src="https://img.shields.io/discord/809048090249134080.svg" />
|
||||
</a>
|
||||
<a href="https://github.com/evmos/ethermint/actions?query=branch%3Amain+workflow%3ALint">
|
||||
<img alt="Lint Status" src="https://github.com/evmos/ethermint/actions/workflows/lint.yml/badge.svg?branch=main" />
|
||||
</a>
|
||||
<a href="https://codecov.io/gh/tharsis/ethermint">
|
||||
<img alt="Code Coverage" src="https://codecov.io/gh/tharsis/ethermint/branch/main/graph/badge.svg" />
|
||||
</a>
|
||||
</div>
|
||||
|
||||
Ethermint is a scalable and interoperable Ethereum library, built on Proof-of-Stake with fast-finality using the [Cosmos SDK](https://github.com/cosmos/cosmos-sdk/) which runs on top of [Tendermint Core](https://github.com/tendermint/tendermint) consensus engine.
|
||||
The Source of Proof. Laconic is a next generation data availability & verifiability layer with cryptographic proofs, powering internet-scale Web3 applications, built on Proof-of-Stake with fast-finality using the [Cosmos SDK](https://github.com/cosmos/cosmos-sdk/) which runs on top of [Tendermint Core](https://github.com/tendermint/tendermint) consensus engine.
|
||||
|
||||
**Note**: Requires [Go 1.18+](https://golang.org/dl/)
|
||||
|
||||
## Installation
|
||||
|
||||
For prerequisites and detailed build instructions please read the Evmos [Installation](https://evmos.dev/quickstart/installation.html) instructions. Once the dependencies are installed, run:
|
||||
|
||||
```bash
|
||||
make install
|
||||
```
|
||||
|
||||
Or check out the latest [release](https://github.com/evmos/ethermint/releases).
|
||||
|
||||
## Quick Start
|
||||
|
||||
To learn how the Ethermint works from a high-level perspective, go to the [Introduction](https://evmos.dev/intro/overview.html) section from the documentation. You can also check the instructions to [Run a Node](https://evmos.dev/quickstart/run_node.html).
|
||||
|
||||
For an example on how Ethermint can be used on any Cosmos-SDK chain, please refer to [Evmos](https://www.github.com/tharsis/evmos).
|
||||
|
||||
## Community
|
||||
|
||||
The following chat channels and forums are a great spot to ask questions about Ethermint:
|
||||
|
||||
- [Evmos Twitter](https://twitter.com/EvmosOrg)
|
||||
- [Evmos Discord](https://discord.gg/trje9XuAmy)
|
||||
- [Evmos Telegram](https://t.me/EvmosOrg)
|
||||
- [Tharsis Twitter](https://twitter.com/TharsisHQ)
|
||||
- [Laconic Twitter](https://twitter.com/laconicnetwork)
|
||||
- [Discord](https://discord.com/invite/ukhbBemyxY)
|
||||
- [Website](https://laconic.com)
|
||||
|
||||
## Contributing
|
||||
|
||||
Looking for a good place to start contributing? Check out some [`good first issues`](https://github.com/evmos/ethermint/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22).
|
||||
Looking for a good place to start contributing? Check out some [`good first issues`](https://github.com/cerc-io/laconicd/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22).
|
||||
|
||||
For additional instructions, standards and style guides, please refer to the [Contributing](./CONTRIBUTING.md) document.
|
||||
|
||||
## Careers
|
||||
|
||||
See our open positions on [Cosmos Jobs](https://jobs.cosmos.network/project/evmos-d0sk1uxuh-remote/), [Notion](https://tharsis.notion.site), or feel free to [reach out](mailto:careers@thars.is) via email.
|
||||
|
||||
+34
-34
@@ -121,9 +121,9 @@ import (
|
||||
"github.com/cerc-io/laconicd/x/bond"
|
||||
bondkeeper "github.com/cerc-io/laconicd/x/bond/keeper"
|
||||
bondtypes "github.com/cerc-io/laconicd/x/bond/types"
|
||||
"github.com/cerc-io/laconicd/x/nameservice"
|
||||
nameservicekeeper "github.com/cerc-io/laconicd/x/nameservice/keeper"
|
||||
nameservicetypes "github.com/cerc-io/laconicd/x/nameservice/types"
|
||||
registry "github.com/cerc-io/laconicd/x/registry"
|
||||
registrykeeper "github.com/cerc-io/laconicd/x/registry/keeper"
|
||||
registrytypes "github.com/cerc-io/laconicd/x/registry/types"
|
||||
)
|
||||
|
||||
func init() {
|
||||
@@ -172,25 +172,25 @@ var (
|
||||
// Laconic modules
|
||||
auction.AppModuleBasic{},
|
||||
bond.AppModuleBasic{},
|
||||
nameservice.AppModuleBasic{},
|
||||
registry.AppModuleBasic{},
|
||||
)
|
||||
|
||||
// module account permissions
|
||||
maccPerms = map[string][]string{
|
||||
authtypes.FeeCollectorName: nil,
|
||||
distrtypes.ModuleName: nil,
|
||||
minttypes.ModuleName: {authtypes.Minter},
|
||||
stakingtypes.BondedPoolName: {authtypes.Burner, authtypes.Staking},
|
||||
stakingtypes.NotBondedPoolName: {authtypes.Burner, authtypes.Staking},
|
||||
govtypes.ModuleName: {authtypes.Burner},
|
||||
ibctransfertypes.ModuleName: {authtypes.Minter, authtypes.Burner},
|
||||
evmtypes.ModuleName: {authtypes.Minter, authtypes.Burner}, // used for secure addition and subtraction of balance using module account
|
||||
auctiontypes.ModuleName: nil,
|
||||
auctiontypes.AuctionBurnModuleAccountName: nil,
|
||||
nameservicetypes.ModuleName: nil,
|
||||
nameservicetypes.RecordRentModuleAccountName: nil,
|
||||
nameservicetypes.AuthorityRentModuleAccountName: nil,
|
||||
bondtypes.ModuleName: nil,
|
||||
authtypes.FeeCollectorName: nil,
|
||||
distrtypes.ModuleName: nil,
|
||||
minttypes.ModuleName: {authtypes.Minter},
|
||||
stakingtypes.BondedPoolName: {authtypes.Burner, authtypes.Staking},
|
||||
stakingtypes.NotBondedPoolName: {authtypes.Burner, authtypes.Staking},
|
||||
govtypes.ModuleName: {authtypes.Burner},
|
||||
ibctransfertypes.ModuleName: {authtypes.Minter, authtypes.Burner},
|
||||
evmtypes.ModuleName: {authtypes.Minter, authtypes.Burner}, // used for secure addition and subtraction of balance using module account
|
||||
auctiontypes.ModuleName: nil,
|
||||
auctiontypes.AuctionBurnModuleAccountName: nil,
|
||||
registrytypes.ModuleName: nil,
|
||||
registrytypes.RecordRentModuleAccountName: nil,
|
||||
registrytypes.AuthorityRentModuleAccountName: nil,
|
||||
bondtypes.ModuleName: nil,
|
||||
}
|
||||
|
||||
// module accounts that are allowed to receive tokens
|
||||
@@ -248,10 +248,10 @@ type EthermintApp struct {
|
||||
FeeMarketKeeper feemarketkeeper.Keeper
|
||||
|
||||
// laconic keepers
|
||||
AuctionKeeper auctionkeeper.Keeper
|
||||
BondKeeper bondkeeper.Keeper
|
||||
NameServiceKeeper nameservicekeeper.Keeper
|
||||
NameServiceRecordKeeper nameservicekeeper.RecordKeeper
|
||||
AuctionKeeper auctionkeeper.Keeper
|
||||
BondKeeper bondkeeper.Keeper
|
||||
RegistryKeeper registrykeeper.Keeper
|
||||
RegistryRecordKeeper registrykeeper.RecordKeeper
|
||||
|
||||
// the module manager
|
||||
mm *module.Manager
|
||||
@@ -306,7 +306,7 @@ func NewEthermintApp(
|
||||
// laconic keys
|
||||
auctiontypes.StoreKey,
|
||||
bondtypes.StoreKey,
|
||||
nameservicetypes.StoreKey,
|
||||
registrytypes.StoreKey,
|
||||
)
|
||||
|
||||
// Add the EVM transient store key
|
||||
@@ -436,19 +436,19 @@ func NewEthermintApp(
|
||||
appCodec, app.GetSubspace(auctiontypes.ModuleName),
|
||||
)
|
||||
|
||||
app.NameServiceRecordKeeper = nameservicekeeper.NewRecordKeeper(app.AuctionKeeper, keys[nameservicetypes.StoreKey], appCodec)
|
||||
app.RegistryRecordKeeper = registrykeeper.NewRecordKeeper(app.AuctionKeeper, keys[registrytypes.StoreKey], appCodec)
|
||||
|
||||
app.AuctionKeeper.SetUsageKeepers([]auctiontypes.AuctionUsageKeeper{app.NameServiceRecordKeeper})
|
||||
app.AuctionKeeper.SetUsageKeepers([]auctiontypes.AuctionUsageKeeper{app.RegistryRecordKeeper})
|
||||
|
||||
app.BondKeeper = bondkeeper.NewKeeper(
|
||||
appCodec, app.AccountKeeper, app.BankKeeper,
|
||||
[]bondtypes.BondUsageKeeper{app.NameServiceRecordKeeper}, keys[bondtypes.StoreKey], app.GetSubspace(bondtypes.ModuleName),
|
||||
[]bondtypes.BondUsageKeeper{app.RegistryRecordKeeper}, keys[bondtypes.StoreKey], app.GetSubspace(bondtypes.ModuleName),
|
||||
)
|
||||
|
||||
app.NameServiceKeeper = nameservicekeeper.NewKeeper(
|
||||
app.RegistryKeeper = registrykeeper.NewKeeper(
|
||||
appCodec, app.AccountKeeper, app.BankKeeper,
|
||||
app.NameServiceRecordKeeper, app.BondKeeper, app.AuctionKeeper,
|
||||
keys[nameservicetypes.StoreKey], app.GetSubspace(nameservicetypes.ModuleName),
|
||||
app.RegistryRecordKeeper, app.BondKeeper, app.AuctionKeeper,
|
||||
keys[registrytypes.StoreKey], app.GetSubspace(registrytypes.ModuleName),
|
||||
)
|
||||
|
||||
// Create IBC Keeper
|
||||
@@ -539,7 +539,7 @@ func NewEthermintApp(
|
||||
// laconic modules
|
||||
auction.NewAppModule(appCodec, app.AuctionKeeper),
|
||||
bond.NewAppModule(appCodec, app.BondKeeper),
|
||||
nameservice.NewAppModule(app.NameServiceKeeper),
|
||||
registry.NewAppModule(app.RegistryKeeper),
|
||||
)
|
||||
|
||||
// During begin block slashing happens after distr.BeginBlocker so that
|
||||
@@ -573,7 +573,7 @@ func NewEthermintApp(
|
||||
// laconic modules
|
||||
auctiontypes.ModuleName,
|
||||
bondtypes.ModuleName,
|
||||
nameservicetypes.ModuleName,
|
||||
registrytypes.ModuleName,
|
||||
)
|
||||
|
||||
// NOTE: fee market module must go last in order to retrieve the block gas used.
|
||||
@@ -602,7 +602,7 @@ func NewEthermintApp(
|
||||
// laconic modules
|
||||
auctiontypes.ModuleName,
|
||||
bondtypes.ModuleName,
|
||||
nameservicetypes.ModuleName,
|
||||
registrytypes.ModuleName,
|
||||
)
|
||||
|
||||
// NOTE: The genutils module must occur after staking so that pools are
|
||||
@@ -638,7 +638,7 @@ func NewEthermintApp(
|
||||
// laconic modules
|
||||
auctiontypes.ModuleName,
|
||||
bondtypes.ModuleName,
|
||||
nameservicetypes.ModuleName,
|
||||
registrytypes.ModuleName,
|
||||
// NOTE: crisis module must go at the end to check for invariants on each module
|
||||
crisistypes.ModuleName,
|
||||
)
|
||||
@@ -917,6 +917,6 @@ func initParamsKeeper(appCodec codec.BinaryCodec, legacyAmino *codec.LegacyAmino
|
||||
// laconic subspaces
|
||||
paramsKeeper.Subspace(auctiontypes.ModuleName)
|
||||
paramsKeeper.Subspace(bondtypes.ModuleName)
|
||||
paramsKeeper.Subspace(nameservicetypes.ModuleName)
|
||||
paramsKeeper.Subspace(registrytypes.ModuleName)
|
||||
return paramsKeeper
|
||||
}
|
||||
|
||||
@@ -301,6 +301,17 @@ func TestAppSimulationAfterImport(t *testing.T) {
|
||||
exported, err := app.ExportAppStateAndValidators(true, []string{})
|
||||
require.NoError(t, err)
|
||||
|
||||
defer func() {
|
||||
if r := recover(); r != nil {
|
||||
err := fmt.Sprintf("%v", r)
|
||||
if !strings.Contains(err, "validator set is empty after InitGenesis") {
|
||||
panic(r)
|
||||
}
|
||||
logger.Info("Skipping simulation as all validators have been unbonded")
|
||||
logger.Info("err", err, "stacktrace", string(debug.Stack()))
|
||||
}
|
||||
}()
|
||||
|
||||
fmt.Printf("importing genesis...\n")
|
||||
|
||||
_, newDB, newDir, _, _, err := simapp.SetupSimulation("leveldb-app-sim-2", "Simulation-2")
|
||||
|
||||
+280
-201
File diff suppressed because it is too large
Load Diff
Binary file not shown.
|
Before Width: | Height: | Size: 64 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 147 KiB |
@@ -8,9 +8,9 @@ require (
|
||||
github.com/armon/go-metrics v0.4.1
|
||||
github.com/btcsuite/btcd v0.22.1
|
||||
github.com/btcsuite/btcutil v1.0.3-0.20201208143702-a53e38424cce
|
||||
github.com/cosmos/cosmos-sdk v0.46.2-0.20220920160224-9454b97ccb77
|
||||
github.com/cosmos/cosmos-sdk v0.46.3
|
||||
github.com/cosmos/go-bip39 v1.0.0
|
||||
github.com/cosmos/ibc-go/v5 v5.0.0
|
||||
github.com/cosmos/ibc-go/v5 v5.0.1
|
||||
github.com/davecgh/go-spew v1.1.1
|
||||
github.com/deckarep/golang-set v1.8.0
|
||||
github.com/ethereum/go-ethereum v1.10.19
|
||||
@@ -38,24 +38,25 @@ require (
|
||||
github.com/spf13/viper v1.13.0
|
||||
github.com/status-im/keycard-go v0.0.0-20200402102358-957c09536969
|
||||
github.com/stretchr/testify v1.8.0
|
||||
github.com/tendermint/tendermint v0.34.21
|
||||
github.com/tendermint/tendermint v0.34.22
|
||||
github.com/tendermint/tm-db v0.6.7
|
||||
github.com/tyler-smith/go-bip39 v1.1.0
|
||||
github.com/vektah/gqlparser/v2 v2.5.1
|
||||
golang.org/x/net v0.0.0-20220909164309-bea034e7d591
|
||||
golang.org/x/text v0.3.7
|
||||
google.golang.org/genproto v0.0.0-20221014213838-99cd37c6964a
|
||||
google.golang.org/grpc v1.50.0
|
||||
golang.org/x/net v0.2.0
|
||||
golang.org/x/text v0.4.0
|
||||
google.golang.org/genproto v0.0.0-20221118155620-16455021b5e6
|
||||
google.golang.org/grpc v1.50.1
|
||||
google.golang.org/protobuf v1.28.1
|
||||
gopkg.in/yaml.v3 v3.0.1
|
||||
sigs.k8s.io/yaml v1.3.0
|
||||
)
|
||||
|
||||
require (
|
||||
cloud.google.com/go v0.102.1 // indirect
|
||||
cloud.google.com/go/compute v1.7.0 // indirect
|
||||
cloud.google.com/go/iam v0.4.0 // indirect
|
||||
cloud.google.com/go/storage v1.22.1 // indirect
|
||||
cloud.google.com/go v0.105.0 // indirect
|
||||
cloud.google.com/go/compute v1.12.1 // indirect
|
||||
cloud.google.com/go/compute/metadata v0.2.1 // indirect
|
||||
cloud.google.com/go/iam v0.7.0 // indirect
|
||||
cloud.google.com/go/storage v1.27.0 // indirect
|
||||
cosmossdk.io/errors v1.0.0-beta.7 // indirect
|
||||
filippo.io/edwards25519 v1.0.0-rc.1 // indirect
|
||||
github.com/99designs/keyring v1.2.1 // indirect
|
||||
@@ -80,7 +81,7 @@ require (
|
||||
github.com/cosmos/btcutil v1.0.4 // indirect
|
||||
github.com/cosmos/cosmos-proto v1.0.0-alpha7 // indirect
|
||||
github.com/cosmos/gorocksdb v1.2.0 // indirect
|
||||
github.com/cosmos/iavl v0.19.2-0.20220916140702-9b6be3095313 // indirect
|
||||
github.com/cosmos/iavl v0.19.3 // indirect
|
||||
github.com/cosmos/ledger-cosmos-go v0.11.1 // indirect
|
||||
github.com/cosmos/ledger-go v0.9.2 // indirect
|
||||
github.com/creachadair/taskgroup v0.3.2 // indirect
|
||||
@@ -110,12 +111,11 @@ require (
|
||||
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
|
||||
github.com/golang/snappy v0.0.4 // indirect
|
||||
github.com/google/btree v1.0.1 // indirect
|
||||
github.com/google/go-cmp v0.5.8 // indirect
|
||||
github.com/google/go-cmp v0.5.9 // indirect
|
||||
github.com/google/orderedcode v0.0.1 // indirect
|
||||
github.com/google/uuid v1.3.0 // indirect
|
||||
github.com/googleapis/enterprise-certificate-proxy v0.1.0 // indirect
|
||||
github.com/googleapis/gax-go/v2 v2.4.0 // indirect
|
||||
github.com/googleapis/go-type-adapters v1.0.0 // indirect
|
||||
github.com/googleapis/enterprise-certificate-proxy v0.2.0 // indirect
|
||||
github.com/googleapis/gax-go/v2 v2.6.0 // indirect
|
||||
github.com/gorilla/handlers v1.5.1 // indirect
|
||||
github.com/grpc-ecosystem/go-grpc-middleware v1.3.0 // indirect
|
||||
github.com/gsterjov/go-libsecret v0.0.0-20161001094733-a6f4afe4910c // indirect
|
||||
@@ -131,7 +131,7 @@ require (
|
||||
github.com/hdevalence/ed25519consensus v0.0.0-20220222234857-c00d1f31bab3 // indirect
|
||||
github.com/holiman/bloomfilter/v2 v2.0.3 // indirect
|
||||
github.com/huin/goupnp v1.0.3 // indirect
|
||||
github.com/inconshreveable/mousetrap v1.0.0 // indirect
|
||||
github.com/inconshreveable/mousetrap v1.0.1 // indirect
|
||||
github.com/ipfs/go-block-format v0.0.2 // indirect
|
||||
github.com/ipfs/go-ipfs-util v0.0.1 // indirect
|
||||
github.com/ipfs/go-ipld-format v0.0.1 // indirect
|
||||
@@ -149,7 +149,7 @@ require (
|
||||
github.com/mattn/go-isatty v0.0.16 // indirect
|
||||
github.com/mattn/go-runewidth v0.0.9 // indirect
|
||||
github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 // indirect
|
||||
github.com/mimoo/StrobeGo v0.0.0-20181016162300-f8f6d4d2b643 // indirect
|
||||
github.com/mimoo/StrobeGo v0.0.0-20210601165009-122bf33a46e0 // indirect
|
||||
github.com/minio/highwayhash v1.0.2 // indirect
|
||||
github.com/minio/sha256-simd v1.0.0 // indirect
|
||||
github.com/mitchellh/go-homedir v1.1.0 // indirect
|
||||
@@ -172,10 +172,10 @@ require (
|
||||
github.com/prometheus/common v0.34.0 // indirect
|
||||
github.com/prometheus/procfs v0.7.3 // indirect
|
||||
github.com/prometheus/tsdb v0.7.1 // indirect
|
||||
github.com/rcrowley/go-metrics v0.0.0-20200313005456-10cdbea86bc0 // indirect
|
||||
github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 // indirect
|
||||
github.com/rjeczalik/notify v0.9.1 // indirect
|
||||
github.com/rs/zerolog v1.27.0 // indirect
|
||||
github.com/sasha-s/go-deadlock v0.2.1-0.20190427202633-1595213edefa // indirect
|
||||
github.com/sasha-s/go-deadlock v0.3.1 // indirect
|
||||
github.com/shirou/gopsutil v3.21.4-0.20210419000835-c7a38de76ee5+incompatible // indirect
|
||||
github.com/spaolacci/murmur3 v1.1.0 // indirect
|
||||
github.com/spf13/afero v1.9.2 // indirect
|
||||
@@ -194,14 +194,14 @@ require (
|
||||
github.com/zondax/hid v0.9.1-0.20220302062450-5552068d2266 // indirect
|
||||
go.etcd.io/bbolt v1.3.6 // indirect
|
||||
go.opencensus.io v0.23.0 // indirect
|
||||
golang.org/x/crypto v0.0.0-20221012134737-56aed061732a // indirect
|
||||
golang.org/x/crypto v0.3.0 // indirect
|
||||
golang.org/x/exp v0.0.0-20220722155223-a9213eeb770e // indirect
|
||||
golang.org/x/oauth2 v0.0.0-20220622183110-fd043fe589d2 // indirect
|
||||
golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4 // indirect
|
||||
golang.org/x/sys v0.0.0-20220913175220-63ea55921009 // indirect
|
||||
golang.org/x/term v0.0.0-20220722155259-a9ba230a4035 // indirect
|
||||
golang.org/x/oauth2 v0.0.0-20221014153046-6fdb5e3db783 // indirect
|
||||
golang.org/x/sync v0.1.0 // indirect
|
||||
golang.org/x/sys v0.2.0 // indirect
|
||||
golang.org/x/term v0.2.0 // indirect
|
||||
golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect
|
||||
google.golang.org/api v0.93.0 // indirect
|
||||
google.golang.org/api v0.102.0 // indirect
|
||||
google.golang.org/appengine v1.6.7 // indirect
|
||||
gopkg.in/ini.v1 v1.67.0 // indirect
|
||||
gopkg.in/natefinch/npipe.v2 v2.0.0-20160621034901-c1b8fa8bdcce // indirect
|
||||
|
||||
@@ -19,21 +19,8 @@ cloud.google.com/go v0.65.0/go.mod h1:O5N8zS7uWy9vkA9vayVHs65eM1ubvY4h553ofrNHOb
|
||||
cloud.google.com/go v0.72.0/go.mod h1:M+5Vjvlc2wnp6tjzE102Dw08nGShTscUx2nZMufOKPI=
|
||||
cloud.google.com/go v0.74.0/go.mod h1:VV1xSbzvo+9QJOxLDaJfTjx5e+MePCpCWwvftOeQmWk=
|
||||
cloud.google.com/go v0.75.0/go.mod h1:VGuuCn7PG0dwsd5XPVm2Mm3wlh3EL55/79EKB6hlPTY=
|
||||
cloud.google.com/go v0.78.0/go.mod h1:QjdrLG0uq+YwhjoVOLsS1t7TW8fs36kLs4XO5R5ECHg=
|
||||
cloud.google.com/go v0.79.0/go.mod h1:3bzgcEeQlzbuEAYu4mrWhKqWjmpprinYgKJLgKHnbb8=
|
||||
cloud.google.com/go v0.81.0/go.mod h1:mk/AM35KwGk/Nm2YSeZbxXdrNK3KZOYHmLkOqC2V6E0=
|
||||
cloud.google.com/go v0.83.0/go.mod h1:Z7MJUsANfY0pYPdw0lbnivPx4/vhy/e2FEkSkF7vAVY=
|
||||
cloud.google.com/go v0.84.0/go.mod h1:RazrYuxIK6Kb7YrzzhPoLmCVzl7Sup4NrbKPg8KHSUM=
|
||||
cloud.google.com/go v0.87.0/go.mod h1:TpDYlFy7vuLzZMMZ+B6iRiELaY7z/gJPaqbMx6mlWcY=
|
||||
cloud.google.com/go v0.90.0/go.mod h1:kRX0mNRHe0e2rC6oNakvwQqzyDmg57xJ+SZU1eT2aDQ=
|
||||
cloud.google.com/go v0.93.3/go.mod h1:8utlLll2EF5XMAV15woO4lSbWQlk8rer9aLOfLh7+YI=
|
||||
cloud.google.com/go v0.94.1/go.mod h1:qAlAugsXlC+JWO+Bke5vCtc9ONxjQT3drlTTnAplMW4=
|
||||
cloud.google.com/go v0.97.0/go.mod h1:GF7l59pYBVlXQIBLx3a761cZ41F9bBH3JUlihCt2Udc=
|
||||
cloud.google.com/go v0.99.0/go.mod h1:w0Xx2nLzqWJPuozYQX+hFfCSI8WioryfRDzkoI/Y2ZA=
|
||||
cloud.google.com/go v0.100.2/go.mod h1:4Xra9TjzAeYHrl5+oeLlzbM2k3mjVhZh4UqTZ//w99A=
|
||||
cloud.google.com/go v0.102.0/go.mod h1:oWcCzKlqJ5zgHQt9YsaeTY9KzIvjyy0ArmiBUgpQ+nc=
|
||||
cloud.google.com/go v0.102.1 h1:vpK6iQWv/2uUeFJth4/cBHsQAGjn1iIE6AAlxipRaA0=
|
||||
cloud.google.com/go v0.102.1/go.mod h1:XZ77E9qnTEnrgEOvr4xzfdX5TRo7fB4T2F4O6+34hIU=
|
||||
cloud.google.com/go v0.105.0 h1:DNtEKRBAAzeS4KyIory52wWHuClNaXJ5x1F7xa4q+5Y=
|
||||
cloud.google.com/go v0.105.0/go.mod h1:PrLgOJNe5nfE9UMxKxgXj4mD3voiP+YQ6gdt6KMFOKM=
|
||||
cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o=
|
||||
cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE=
|
||||
cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc=
|
||||
@@ -41,18 +28,15 @@ cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUM
|
||||
cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc=
|
||||
cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ=
|
||||
cloud.google.com/go/bigtable v1.2.0/go.mod h1:JcVAOl45lrTmQfLj7T6TxyMzIN/3FGGcFm+2xVAli2o=
|
||||
cloud.google.com/go/compute v0.1.0/go.mod h1:GAesmwr110a34z04OlxYkATPBEfVhkymfTBXtfbBFow=
|
||||
cloud.google.com/go/compute v1.3.0/go.mod h1:cCZiE1NHEtai4wiufUhW8I8S1JKkAnhnQJWM7YD99wM=
|
||||
cloud.google.com/go/compute v1.5.0/go.mod h1:9SMHyhJlzhlkJqrPAc839t2BZFTSk6Jdj6mkzQJeu0M=
|
||||
cloud.google.com/go/compute v1.6.0/go.mod h1:T29tfhtVbq1wvAPo0E3+7vhgmkOYeXjhFvz/FMzPu0s=
|
||||
cloud.google.com/go/compute v1.6.1/go.mod h1:g85FgpzFvNULZ+S8AYq87axRKuf2Kh7deLqV/jJ3thU=
|
||||
cloud.google.com/go/compute v1.7.0 h1:v/k9Eueb8aAJ0vZuxKMrgm6kPhCLZU9HxFU+AFDs9Uk=
|
||||
cloud.google.com/go/compute v1.7.0/go.mod h1:435lt8av5oL9P3fv1OEzSbSUe+ybHXGMPQHHZWZxy9U=
|
||||
cloud.google.com/go/compute v1.12.1 h1:gKVJMEyqV5c/UnpzjjQbo3Rjvvqpr9B1DFSbJC4OXr0=
|
||||
cloud.google.com/go/compute v1.12.1/go.mod h1:e8yNOBcBONZU1vJKCvCoDw/4JQsA0dpM4x/6PIIOocU=
|
||||
cloud.google.com/go/compute/metadata v0.2.1 h1:efOwf5ymceDhK6PKMnnrTHP4pppY5L22mle96M1yP48=
|
||||
cloud.google.com/go/compute/metadata v0.2.1/go.mod h1:jgHgmJd2RKBGzXqF5LR2EZMGxBkeanZ9wwa75XHJgOM=
|
||||
cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE=
|
||||
cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk=
|
||||
cloud.google.com/go/iam v0.3.0/go.mod h1:XzJPvDayI+9zsASAFO68Hk07u3z+f+JrT2xXNdp4bnY=
|
||||
cloud.google.com/go/iam v0.4.0 h1:YBYU00SCDzZJdHqVc4I5d6lsklcYIjQZa1YmEz4jlSE=
|
||||
cloud.google.com/go/iam v0.4.0/go.mod h1:cbaZxyScUhxl7ZAkNWiALgihfP75wS/fUsVNaa1r3vA=
|
||||
cloud.google.com/go/iam v0.7.0 h1:k4MuwOsS7zGJJ+QfZ5vBK8SgHBAvYN/23BWsiihJ1vs=
|
||||
cloud.google.com/go/iam v0.7.0/go.mod h1:H5Br8wRaDGNc8XP3keLc4unfUUZeyH3Sfl9XpQEYOeg=
|
||||
cloud.google.com/go/longrunning v0.3.0 h1:NjljC+FYPV3uh5/OwWT6pVU+doBqMg2x/rZlE+CamDs=
|
||||
cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I=
|
||||
cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw=
|
||||
cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA=
|
||||
@@ -63,8 +47,8 @@ cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohl
|
||||
cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs=
|
||||
cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0=
|
||||
cloud.google.com/go/storage v1.14.0/go.mod h1:GrKmX003DSIwi9o29oFT7YDnHYwZoctc3fOKtUw0Xmo=
|
||||
cloud.google.com/go/storage v1.22.1 h1:F6IlQJZrZM++apn9V5/VfS3gbTUYg98PS3EMQAzqtfg=
|
||||
cloud.google.com/go/storage v1.22.1/go.mod h1:S8N1cAStu7BOeFfE8KAQzmyyLkK8p/vmRq6kuBTW58Y=
|
||||
cloud.google.com/go/storage v1.27.0 h1:YOO045NZI9RKfCj1c5A/ZtuuENUc8OAW+gHdGnDgyMQ=
|
||||
cloud.google.com/go/storage v1.27.0/go.mod h1:x9DOL8TK/ygDUMieqwfhdpQryTeEkhGKMi80i/iqR2s=
|
||||
collectd.org v0.3.0/go.mod h1:A/8DzQBkF6abtvrT2j/AU/4tiBgJWYyh0y/oB/4MlWE=
|
||||
cosmossdk.io/errors v1.0.0-beta.7 h1:gypHW76pTQGVnHKo6QBkb4yFOJjC+sUGRc5Al3Odj1w=
|
||||
cosmossdk.io/errors v1.0.0-beta.7/go.mod h1:mz6FQMJRku4bY7aqS/Gwfcmr/ue91roMEKAmDUDpBfE=
|
||||
@@ -231,12 +215,6 @@ github.com/cloudflare/cloudflare-go v0.14.0/go.mod h1:EnwdgGMaFOruiPZRFSgn+TsQ3h
|
||||
github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc=
|
||||
github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk=
|
||||
github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk=
|
||||
github.com/cncf/udpa/go v0.0.0-20210930031921-04548b0d99d4/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI=
|
||||
github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
|
||||
github.com/cncf/xds/go v0.0.0-20210805033703-aa0b78936158/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
|
||||
github.com/cncf/xds/go v0.0.0-20210922020428-25de7278fc84/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
|
||||
github.com/cncf/xds/go v0.0.0-20211001041855-01bcc9b48dfe/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
|
||||
github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
|
||||
github.com/cockroachdb/apd/v2 v2.0.2 h1:weh8u7Cneje73dDh+2tEVLUvyBc89iwepWCD8b8034E=
|
||||
github.com/cockroachdb/apd/v2 v2.0.2/go.mod h1:DDxRlzC2lo3/vSlmSoS7JkqbbrARPuFOGr0B9pvN3Gw=
|
||||
github.com/cockroachdb/datadriven v0.0.0-20190809214429-80d97fb3cbaa/go.mod h1:zn76sxSg3SzpJ0PPJaLDCu+Bu0Lg3sKTORVIj19EIF8=
|
||||
@@ -261,17 +239,17 @@ github.com/cosmos/btcutil v1.0.4 h1:n7C2ngKXo7UC9gNyMNLbzqz7Asuf+7Qv4gnX/rOdQ44=
|
||||
github.com/cosmos/btcutil v1.0.4/go.mod h1:Ffqc8Hn6TJUdDgHBwIZLtrLQC1KdJ9jGJl/TvgUaxbU=
|
||||
github.com/cosmos/cosmos-proto v1.0.0-alpha7 h1:yqYUOHF2jopwZh4dVQp3xgqwftE5/2hkrwIV6vkUbO0=
|
||||
github.com/cosmos/cosmos-proto v1.0.0-alpha7/go.mod h1:dosO4pSAbJF8zWCzCoTWP7nNsjcvSUBQmniFxDg5daw=
|
||||
github.com/cosmos/cosmos-sdk v0.46.2-0.20220920160224-9454b97ccb77 h1:uYNxojyADGcjw5zg7PFyUJ8wxT9rWB4e30CDDy0yicE=
|
||||
github.com/cosmos/cosmos-sdk v0.46.2-0.20220920160224-9454b97ccb77/go.mod h1:0aUPGPU6PWaDEaHNjtgrpNhgxo9bAUrQ7BO7XCvFOfs=
|
||||
github.com/cosmos/cosmos-sdk v0.46.3 h1:2jdJYcSwh4AtFJKGoNGvmEy2mKDWtGaVZphGpvedljQ=
|
||||
github.com/cosmos/cosmos-sdk v0.46.3/go.mod h1:AynIAjXwtS3T/ApdhNCz/7/KGMbZSUBbKRTcbukb2ic=
|
||||
github.com/cosmos/go-bip39 v0.0.0-20180819234021-555e2067c45d/go.mod h1:tSxLoYXyBmiFeKpvmq4dzayMdCjCnu8uqmCysIGBT2Y=
|
||||
github.com/cosmos/go-bip39 v1.0.0 h1:pcomnQdrdH22njcAatO0yWojsUnCO3y2tNoV1cb6hHY=
|
||||
github.com/cosmos/go-bip39 v1.0.0/go.mod h1:RNJv0H/pOIVgxw6KS7QeX2a0Uo0aKUlfhZ4xuwvCdJw=
|
||||
github.com/cosmos/gorocksdb v1.2.0 h1:d0l3jJG8M4hBouIZq0mDUHZ+zjOx044J3nGRskwTb4Y=
|
||||
github.com/cosmos/gorocksdb v1.2.0/go.mod h1:aaKvKItm514hKfNJpUJXnnOWeBnk2GL4+Qw9NHizILw=
|
||||
github.com/cosmos/iavl v0.19.2-0.20220916140702-9b6be3095313 h1:R7CnaI/0OLwOusy7n9750n8fqQ3yCQ8OJQI2L3ws9RA=
|
||||
github.com/cosmos/iavl v0.19.2-0.20220916140702-9b6be3095313/go.mod h1:X9PKD3J0iFxdmgNLa7b2LYWdsGd90ToV5cAONApkEPw=
|
||||
github.com/cosmos/ibc-go/v5 v5.0.0 h1:MkObdarpoICPHXoRg/Ne9NRix4j7eQlJZq74/uzH3Zc=
|
||||
github.com/cosmos/ibc-go/v5 v5.0.0/go.mod h1:Wqsguq98Iuns8tgTv8+xaGYbC+Q8zJfbpjzT6IgMJbs=
|
||||
github.com/cosmos/iavl v0.19.3 h1:cESO0OwTTxQm5rmyESKW+zESheDUYI7CcZDWWDwnuxg=
|
||||
github.com/cosmos/iavl v0.19.3/go.mod h1:X9PKD3J0iFxdmgNLa7b2LYWdsGd90ToV5cAONApkEPw=
|
||||
github.com/cosmos/ibc-go/v5 v5.0.1 h1:ZI5xCi6RDOL+hyu6Wx/w6JoAYFlOoK5hijsRTVWo+RA=
|
||||
github.com/cosmos/ibc-go/v5 v5.0.1/go.mod h1:LX0DHLW3dfi/1e4BJzi8MGLWmQ4DSraPEgVjyo3VzAo=
|
||||
github.com/cosmos/keyring v1.1.7-0.20210622111912-ef00f8ac3d76 h1:DdzS1m6o/pCqeZ8VOAit/gyATedRgjvkVI+UCrLpyuU=
|
||||
github.com/cosmos/keyring v1.1.7-0.20210622111912-ef00f8ac3d76/go.mod h1:0mkLWIoZuQ7uBoospo5Q9zIpqq6rYCPJDSUdeCJvPM8=
|
||||
github.com/cosmos/ledger-cosmos-go v0.11.1 h1:9JIYsGnXP613pb2vPjFeMMjBI5lEDsEaF6oYorTy6J4=
|
||||
@@ -352,10 +330,6 @@ github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.m
|
||||
github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98=
|
||||
github.com/envoyproxy/go-control-plane v0.9.7/go.mod h1:cwu0lG7PUMfa9snN8LXBig5ynNVH9qI8YYLbd1fK2po=
|
||||
github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk=
|
||||
github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk=
|
||||
github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0/go.mod h1:hliV/p42l8fGbc6Y9bQ70uLwIvmJyVE5k4iMKlh8wCQ=
|
||||
github.com/envoyproxy/go-control-plane v0.9.10-0.20210907150352-cf90f659a021/go.mod h1:AFq3mo9L8Lqqiid3OhADV3RfLJnjiw63cSpi+fDTRC0=
|
||||
github.com/envoyproxy/go-control-plane v0.10.2-0.20220325020618-49ff273808a1/go.mod h1:KJwIaB5Mv44NWtYuAOFCVOjcI94vtpEz2JU/D2v6IjE=
|
||||
github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c=
|
||||
github.com/ethereum/go-ethereum v1.10.4/go.mod h1:nEE0TP5MtxGzOMd7egIrbPJMQBnhVU3ELNxhBglIzhg=
|
||||
github.com/ethereum/go-ethereum v1.10.17/go.mod h1:Lt5WzjM07XlXc95YzrhosmR4J9Ahd6X2wyEV2SvGhk0=
|
||||
@@ -462,9 +436,7 @@ github.com/golang/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt
|
||||
github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw=
|
||||
github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw=
|
||||
github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4=
|
||||
github.com/golang/mock v1.5.0/go.mod h1:CWnOUgYIOo4TcNZ0wHX3YZCqsaM1I1Jvs6v3mP3KVu8=
|
||||
github.com/golang/mock v1.6.0 h1:ErTB+efbowRARo13NNdxyJji2egdxLGQhRaY+DUumQc=
|
||||
github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs=
|
||||
github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
|
||||
github.com/golang/protobuf v1.3.0/go.mod h1:Qd/q+1AKNOZr9uGQzbzCmRO6sUih6GTPZv6a1/R87v0=
|
||||
github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
|
||||
@@ -481,7 +453,6 @@ github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QD
|
||||
github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI=
|
||||
github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI=
|
||||
github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk=
|
||||
github.com/golang/protobuf v1.5.1/go.mod h1:DopwsBzvsk0Fs44TXzsVbJyPhcCPeIwnvohx4u74HPM=
|
||||
github.com/golang/protobuf v1.5.2 h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw=
|
||||
github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY=
|
||||
github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
|
||||
@@ -507,9 +478,8 @@ github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/
|
||||
github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
|
||||
github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
|
||||
github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
|
||||
github.com/google/go-cmp v0.5.7/go.mod h1:n+brtR0CgQNWTVd5ZUFpTBC8YFBDLK/h/bpaJ8/DtOE=
|
||||
github.com/google/go-cmp v0.5.8 h1:e6P7q2lk1O+qJJb4BtCQXlK8vWEO8V1ZeuEdJNOqZyg=
|
||||
github.com/google/go-cmp v0.5.8/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
|
||||
github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38=
|
||||
github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
|
||||
github.com/google/gofuzz v0.0.0-20170612174753-24818f796faf/go.mod h1:HP5RmnzzSNb993RKQDq4+1A4ia9nllfqcQFTQJedwGI=
|
||||
github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
|
||||
github.com/google/gofuzz v1.1.1-0.20200604201612-c04b05f3adfa h1:Q75Upo5UN4JbPFURXZ8nLKYUvF85dyFRop/vQ0Rv+64=
|
||||
@@ -519,7 +489,6 @@ github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXi
|
||||
github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0=
|
||||
github.com/google/martian/v3 v3.1.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0=
|
||||
github.com/google/martian/v3 v3.2.1 h1:d8MncMlErDFTwQGBK1xhv026j9kqhvw1Qv9IbWT1VLQ=
|
||||
github.com/google/martian/v3 v3.2.1/go.mod h1:oBOf6HBosgwRXnUGWUB05QECsc6uvmMiJ3+6W4l/CUk=
|
||||
github.com/google/orderedcode v0.0.1 h1:UzfcAexk9Vhv8+9pNOgRu41f16lHq725vPwnSeiG/Us=
|
||||
github.com/google/orderedcode v0.0.1/go.mod h1:iVyU4/qPKHY5h/wSd6rZZCDcLJNxiWO6dvsYES2Sb20=
|
||||
github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc=
|
||||
@@ -532,11 +501,6 @@ github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hf
|
||||
github.com/google/pprof v0.0.0-20201023163331-3e6fc7fc9c4c/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
|
||||
github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
|
||||
github.com/google/pprof v0.0.0-20201218002935-b9804c9f04c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
|
||||
github.com/google/pprof v0.0.0-20210122040257-d980be63207e/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
|
||||
github.com/google/pprof v0.0.0-20210226084205-cbba55b83ad5/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
|
||||
github.com/google/pprof v0.0.0-20210601050228-01bbb1931b22/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
|
||||
github.com/google/pprof v0.0.0-20210609004039-a478d1d731e9/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
|
||||
github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
|
||||
github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI=
|
||||
github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
|
||||
github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
|
||||
@@ -545,19 +509,12 @@ github.com/google/uuid v1.1.5/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+
|
||||
github.com/google/uuid v1.2.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
|
||||
github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I=
|
||||
github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
|
||||
github.com/googleapis/enterprise-certificate-proxy v0.0.0-20220520183353-fd19c99a87aa/go.mod h1:17drOmN3MwGY7t0e+Ei9b45FFGA3fBs3x36SsCg1hq8=
|
||||
github.com/googleapis/enterprise-certificate-proxy v0.1.0 h1:zO8WHNx/MYiAKJ3d5spxZXZE6KHmIQGQcAzwUzV7qQw=
|
||||
github.com/googleapis/enterprise-certificate-proxy v0.1.0/go.mod h1:17drOmN3MwGY7t0e+Ei9b45FFGA3fBs3x36SsCg1hq8=
|
||||
github.com/googleapis/enterprise-certificate-proxy v0.2.0 h1:y8Yozv7SZtlU//QXbezB6QkpuE6jMD2/gfzk4AftXjs=
|
||||
github.com/googleapis/enterprise-certificate-proxy v0.2.0/go.mod h1:8C0jb7/mgJe/9KK8Lm7X9ctZC2t60YyIpYEI16jx0Qg=
|
||||
github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg=
|
||||
github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk=
|
||||
github.com/googleapis/gax-go/v2 v2.1.0/go.mod h1:Q3nei7sK6ybPYH7twZdmQpAd1MKb7pfu6SK+H1/DsU0=
|
||||
github.com/googleapis/gax-go/v2 v2.1.1/go.mod h1:hddJymUZASv3XPyGkUpKj8pPO47Rmb0eJc8R6ouapiM=
|
||||
github.com/googleapis/gax-go/v2 v2.2.0/go.mod h1:as02EH8zWkzwUoLbBaFeQ+arQaj/OthfcblKl4IGNaM=
|
||||
github.com/googleapis/gax-go/v2 v2.3.0/go.mod h1:b8LNqSzNabLiUpXKkY7HAR5jr6bIT99EXz9pXxye9YM=
|
||||
github.com/googleapis/gax-go/v2 v2.4.0 h1:dS9eYAjhrE2RjmzYw2XAPvcXfmcQLtFEQWn0CR82awk=
|
||||
github.com/googleapis/gax-go/v2 v2.4.0/go.mod h1:XOTVJ59hdnfJLIP/dh8n5CGryZR2LxK9wbMD5+iXC6c=
|
||||
github.com/googleapis/go-type-adapters v1.0.0 h1:9XdMn+d/G57qq1s8dNc5IesGCXHf6V2HZ2JwRxfA2tA=
|
||||
github.com/googleapis/go-type-adapters v1.0.0/go.mod h1:zHW75FOG2aur7gAO2B+MLby+cLsWGBF62rFAi7WjWO4=
|
||||
github.com/googleapis/gax-go/v2 v2.6.0 h1:SXk3ABtQYDT/OH8jAyvEOQ58mgawq5C4o/4/89qN2ZU=
|
||||
github.com/googleapis/gax-go/v2 v2.6.0/go.mod h1:1mjbznJAPHFpesgE5ucqfYEscaz5kMdcIDwU/6+DDoY=
|
||||
github.com/googleapis/google-cloud-go-testing v0.0.0-20200911160855-bcd43fbb19e8/go.mod h1:dvDLG8qkwmyD9a/MJJN3XJcT3xFxOKAvTZGvuZmac9g=
|
||||
github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1 h1:EGx4pi6eqNxGaHF6qqu48+N2wcFQ5qg5FXgOdqsJ5d8=
|
||||
github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY=
|
||||
@@ -652,8 +609,9 @@ github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:
|
||||
github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc=
|
||||
github.com/improbable-eng/grpc-web v0.15.0 h1:BN+7z6uNXZ1tQGcNAuaU1YjsLTApzkjt2tzCixLaUPQ=
|
||||
github.com/improbable-eng/grpc-web v0.15.0/go.mod h1:1sy9HKV4Jt9aEs9JSnkWlRJPuPtwNr0l57L4f878wP8=
|
||||
github.com/inconshreveable/mousetrap v1.0.0 h1:Z8tu5sraLXCXIcARxBp/8cbvlwVa7Z1NHg9XEKhtSvM=
|
||||
github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8=
|
||||
github.com/inconshreveable/mousetrap v1.0.1 h1:U3uMjPSQEBMNp1lFxmllqCPM6P5u/Xq7Pgzkat/bFNc=
|
||||
github.com/inconshreveable/mousetrap v1.0.1/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw=
|
||||
github.com/influxdata/flux v0.65.1/go.mod h1:J754/zds0vvpfwuq7Gc2wRdVwEodfpCFM7mYlOw2LqY=
|
||||
github.com/influxdata/influxdb v1.8.3/go.mod h1:JugdFhsvvI8gadxOI6noqNeeBHvWNTbfYGtiAn+2jhI=
|
||||
github.com/influxdata/influxdb-client-go/v2 v2.4.0/go.mod h1:vLNHdxTJkIf2mSLvGrpj8TCcISApPoXkaxP8g9uRlW8=
|
||||
@@ -806,8 +764,9 @@ github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182aff
|
||||
github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg=
|
||||
github.com/miguelmota/go-ethereum-hdwallet v0.1.1 h1:zdXGlHao7idpCBjEGTXThVAtMKs+IxAgivZ75xqkWK0=
|
||||
github.com/miguelmota/go-ethereum-hdwallet v0.1.1/go.mod h1:f9m9uXokAHA6WNoYOPjj4AqjJS5pquQRiYYj/XSyPYc=
|
||||
github.com/mimoo/StrobeGo v0.0.0-20181016162300-f8f6d4d2b643 h1:hLDRPB66XQT/8+wG9WsDpiCvZf1yKO7sz7scAjSlBa0=
|
||||
github.com/mimoo/StrobeGo v0.0.0-20181016162300-f8f6d4d2b643/go.mod h1:43+3pMjjKimDBf5Kr4ZFNGbLql1zKkbImw+fZbw3geM=
|
||||
github.com/mimoo/StrobeGo v0.0.0-20210601165009-122bf33a46e0 h1:QRUSJEgZn2Snx0EmT/QLXibWjSUDjKWvXIT19NBVp94=
|
||||
github.com/mimoo/StrobeGo v0.0.0-20210601165009-122bf33a46e0/go.mod h1:43+3pMjjKimDBf5Kr4ZFNGbLql1zKkbImw+fZbw3geM=
|
||||
github.com/minio/blake2b-simd v0.0.0-20160723061019-3f5f724cb5b1/go.mod h1:pD8RvIylQ358TN4wwqatJ8rNavkEINozVn9DtGI3dfQ=
|
||||
github.com/minio/highwayhash v1.0.2 h1:Aak5U0nElisjDCfPSG79Tgzkn2gl66NxOMspRrKnA/g=
|
||||
github.com/minio/highwayhash v1.0.2/go.mod h1:BQskDq+xkJ12lmlUUi7U0M5Swg3EWR+dLTk+kldvVxY=
|
||||
@@ -987,8 +946,8 @@ github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40T
|
||||
github.com/rakyll/statik v0.1.7 h1:OF3QCZUuyPxuGEP7B4ypUa7sB/iHtqOTDYZXGM8KOdQ=
|
||||
github.com/rakyll/statik v0.1.7/go.mod h1:AlZONWzMtEnMs7W4e/1LURLiI49pIMmp6V9Unghqrcc=
|
||||
github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4=
|
||||
github.com/rcrowley/go-metrics v0.0.0-20200313005456-10cdbea86bc0 h1:MkV+77GLUNo5oJ0jf870itWm3D0Sjh7+Za9gazKc5LQ=
|
||||
github.com/rcrowley/go-metrics v0.0.0-20200313005456-10cdbea86bc0/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4=
|
||||
github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 h1:N/ElC8H3+5XpJzTSTfLsJV/mx9Q9g7kxmchpfZyxgzM=
|
||||
github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4=
|
||||
github.com/regen-network/cosmos-proto v0.3.1 h1:rV7iM4SSFAagvy8RiyhiACbWEGotmqzywPxOvwMdxcg=
|
||||
github.com/regen-network/cosmos-proto v0.3.1/go.mod h1:jO0sVX6a1B36nmE8C9xBFXpNwWejXC7QqCOnH3O0+YM=
|
||||
github.com/regen-network/protobuf v1.3.3-alpha.regen.1 h1:OHEc+q5iIAXpqiqFKeLpu5NwTIkVXUs48vFMwzqpqY4=
|
||||
@@ -1011,8 +970,8 @@ github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQD
|
||||
github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
|
||||
github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts=
|
||||
github.com/samuel/go-zookeeper v0.0.0-20190923202752-2cc03de413da/go.mod h1:gi+0XIa01GRL2eRQVjQkKGqKF3SF9vZR/HnPullcV2E=
|
||||
github.com/sasha-s/go-deadlock v0.2.1-0.20190427202633-1595213edefa h1:0U2s5loxrTy6/VgfVoLuVLFJcURKLH49ie0zSch7gh4=
|
||||
github.com/sasha-s/go-deadlock v0.2.1-0.20190427202633-1595213edefa/go.mod h1:F73l+cr82YSh10GxyRI6qZiCgK64VaZjwesgfQ1/iLM=
|
||||
github.com/sasha-s/go-deadlock v0.3.1 h1:sqv7fDNShgjcaxkO0JNcOAlr8B9+cV5Ey/OB71efZx0=
|
||||
github.com/sasha-s/go-deadlock v0.3.1/go.mod h1:F73l+cr82YSh10GxyRI6qZiCgK64VaZjwesgfQ1/iLM=
|
||||
github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc=
|
||||
github.com/segmentio/fasthash v1.0.3/go.mod h1:waKX8l2N8yckOgmSsXJi7x1ZfdKZ4x7KRMzBtS3oedY=
|
||||
github.com/segmentio/kafka-go v0.1.0/go.mod h1:X6itGqS9L4jDletMsxZ7Dz+JFWxM6JHfPOCvTvk+EJo=
|
||||
@@ -1090,8 +1049,8 @@ github.com/tendermint/crypto v0.0.0-20191022145703-50d29ede1e15 h1:hqAk8riJvK4RM
|
||||
github.com/tendermint/crypto v0.0.0-20191022145703-50d29ede1e15/go.mod h1:z4YtwM70uOnk8h0pjJYlj3zdYwi9l03By6iAIF5j/Pk=
|
||||
github.com/tendermint/go-amino v0.16.0 h1:GyhmgQKvqF82e2oZeuMSp9JTN0N09emoSZlb2lyGa2E=
|
||||
github.com/tendermint/go-amino v0.16.0/go.mod h1:TQU0M1i/ImAo+tYpZi73AU3V/dKeCoMC9Sphe2ZwGME=
|
||||
github.com/tendermint/tendermint v0.34.21 h1:UiGGnBFHVrZhoQVQ7EfwSOLuCtarqCSsRf8VrklqB7s=
|
||||
github.com/tendermint/tendermint v0.34.21/go.mod h1:XDvfg6U7grcFTDx7VkzxnhazQ/bspGJAn4DZ6DcLLjQ=
|
||||
github.com/tendermint/tendermint v0.34.22 h1:XMhtC8s8QqJO4l/dn+TkQvevTRSow3Vixjclr41o+2Q=
|
||||
github.com/tendermint/tendermint v0.34.22/go.mod h1:YpP5vBEAKUT4g6oyfjKgFeZmdB/GjkJAxfF+cgmJg6Y=
|
||||
github.com/tendermint/tm-db v0.6.7 h1:fE00Cbl0jayAoqlExN6oyQJ7fR/ZtoVOmvPJ//+shu8=
|
||||
github.com/tendermint/tm-db v0.6.7/go.mod h1:byQDzFkZV1syXr/ReXS808NxA2xvyuuVgXOJ/088L6I=
|
||||
github.com/tidwall/gjson v1.12.1/go.mod h1:/wbyibRr2FHMks5tjHJ5F8dMZh3AcwJEMf5vlfC0lxk=
|
||||
@@ -1166,7 +1125,6 @@ go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
|
||||
go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk=
|
||||
go.opencensus.io v0.23.0 h1:gqCw0LfLxScz8irSi8exQc7fyQ0fKQU/qnC/X8+V/1M=
|
||||
go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E=
|
||||
go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI=
|
||||
go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE=
|
||||
go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE=
|
||||
go.uber.org/atomic v1.5.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ=
|
||||
@@ -1201,8 +1159,8 @@ golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm
|
||||
golang.org/x/crypto v0.0.0-20210711020723-a769d52b0f97/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
|
||||
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
|
||||
golang.org/x/crypto v0.0.0-20211108221036-ceb1ce70b4fa/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
|
||||
golang.org/x/crypto v0.0.0-20221012134737-56aed061732a h1:NmSIgad6KjE6VvHciPZuNRTKxGhlPfD6OA87W/PLkqg=
|
||||
golang.org/x/crypto v0.0.0-20221012134737-56aed061732a/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
|
||||
golang.org/x/crypto v0.3.0 h1:a06MkbcxBrEFc0w0QIZWXrH/9cCX6KJyWbBOIwAn+7A=
|
||||
golang.org/x/crypto v0.3.0/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4=
|
||||
golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
|
||||
golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
|
||||
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
|
||||
@@ -1233,7 +1191,6 @@ golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRu
|
||||
golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
|
||||
golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
|
||||
golang.org/x/lint v0.0.0-20201208152925-83fdc39ff7b5/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
|
||||
golang.org/x/lint v0.0.0-20210508222113-6edffad5e616/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
|
||||
golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE=
|
||||
golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o=
|
||||
golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc=
|
||||
@@ -1295,9 +1252,7 @@ golang.org/x/net v0.0.0-20201224014010-6772e930b67b/go.mod h1:m0MpNAwzfU5UDzcl9v
|
||||
golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
|
||||
golang.org/x/net v0.0.0-20210220033124-5f55cee0dc0d/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
|
||||
golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
|
||||
golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc=
|
||||
golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM=
|
||||
golang.org/x/net v0.0.0-20210503060351-7fd8e65b6420/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
|
||||
golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
|
||||
golang.org/x/net v0.0.0-20210610132358-84b48f89b13b/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
|
||||
golang.org/x/net v0.0.0-20210614182718-04defd469f4e/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
|
||||
@@ -1305,14 +1260,9 @@ golang.org/x/net v0.0.0-20210805182204-aaa1db679c0d/go.mod h1:9nx3DQGgdP8bBQD5qx
|
||||
golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
|
||||
golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk=
|
||||
golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk=
|
||||
golang.org/x/net v0.0.0-20220325170049-de3da57026de/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk=
|
||||
golang.org/x/net v0.0.0-20220412020605-290c469a71a5/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk=
|
||||
golang.org/x/net v0.0.0-20220425223048-2871e0cb64e4/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk=
|
||||
golang.org/x/net v0.0.0-20220607020251-c690dde0001d/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
|
||||
golang.org/x/net v0.0.0-20220624214902-1bab6f366d9e/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
|
||||
golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
|
||||
golang.org/x/net v0.0.0-20220909164309-bea034e7d591 h1:D0B/7al0LLrVC8aWF4+oxpv/m8bc7ViFfVS8/gXGdqI=
|
||||
golang.org/x/net v0.0.0-20220909164309-bea034e7d591/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk=
|
||||
golang.org/x/net v0.2.0 h1:sZfSu1wtKLGlWI4ZZayP0ck9Y73K1ynO6gqzTdBVdPU=
|
||||
golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY=
|
||||
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
|
||||
golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
|
||||
golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
|
||||
@@ -1322,19 +1272,10 @@ golang.org/x/oauth2 v0.0.0-20200902213428-5d25da1a8d43/go.mod h1:KelEdhl1UZF7XfJ
|
||||
golang.org/x/oauth2 v0.0.0-20201109201403-9fd604954f58/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
|
||||
golang.org/x/oauth2 v0.0.0-20201208152858-08078c50e5b5/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
|
||||
golang.org/x/oauth2 v0.0.0-20210218202405-ba52d332ba99/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
|
||||
golang.org/x/oauth2 v0.0.0-20210220000619-9bb904979d93/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
|
||||
golang.org/x/oauth2 v0.0.0-20210313182246-cd4f82c27b84/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-20210628180205-a41e5a781914/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
|
||||
golang.org/x/oauth2 v0.0.0-20210805134026-6f1e6394065a/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
|
||||
golang.org/x/oauth2 v0.0.0-20210819190943-2bc19b11175f/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
|
||||
golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
|
||||
golang.org/x/oauth2 v0.0.0-20220223155221-ee480838109b/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc=
|
||||
golang.org/x/oauth2 v0.0.0-20220309155454-6242fa91716a/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc=
|
||||
golang.org/x/oauth2 v0.0.0-20220411215720-9780585627b5/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc=
|
||||
golang.org/x/oauth2 v0.0.0-20220608161450-d0670ef3b1eb/go.mod h1:jaDAt6Dkxork7LmZnYtzbRWj0W47D86a3TGe0YHBvmE=
|
||||
golang.org/x/oauth2 v0.0.0-20220622183110-fd043fe589d2 h1:+jnHzr9VPj32ykQVai5DNahi9+NSp7yYuCsl5eAQtL0=
|
||||
golang.org/x/oauth2 v0.0.0-20220622183110-fd043fe589d2/go.mod h1:jaDAt6Dkxork7LmZnYtzbRWj0W47D86a3TGe0YHBvmE=
|
||||
golang.org/x/oauth2 v0.0.0-20221014153046-6fdb5e3db783 h1:nt+Q6cXKz4MosCSpnbMtqiQ8Oz0pxTef2B4Vca2lvfk=
|
||||
golang.org/x/oauth2 v0.0.0-20221014153046-6fdb5e3db783/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg=
|
||||
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=
|
||||
@@ -1346,9 +1287,9 @@ golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJ
|
||||
golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.0.0-20220601150217-0de741cfad7f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4 h1:uVc8UZUe6tr40fFVnUP5Oj+veunVezqYl9z7DYw9xzw=
|
||||
golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.1.0 h1:wsuoTGHzEhffawBOhz5CYhcrV4IdKZbEyZjBMuTp12o=
|
||||
golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
@@ -1413,56 +1354,37 @@ golang.org/x/sys v0.0.0-20201201145000-ef89a241ccb3/go.mod h1:h1NjWce9XRLGQEsW7w
|
||||
golang.org/x/sys v0.0.0-20210104204734-6f8348627aad/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20210220050731-9a76102bfb43/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20210225134936-a50acf3fe073/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20210305230114-8fe3ee5dd75b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20210315160823-c6e025ad8005/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20210316164454-77fc1eacc6aa/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20210324051608-47abb6519492/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20210420205809-ac73e9fd8988/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20210423185535-09eb48e85fd7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.0.0-20210514084401-e8d321eab015/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.0.0-20210603081109-ebe580a85c40/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.0.0-20210603125802-9665404d3644/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.0.0-20210806184541-e5e7981a1069/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.0.0-20210809222454-d867a43fc93e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.0.0-20210816183151-1e6c022a8912/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.0.0-20210819135213-f52c844e1c1c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.0.0-20210823070655-63515b42dcdf/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.0.0-20210908233432-aa78b53d3365/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.0.0-20211019181941-9d821ace8654/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.0.0-20211124211545-fe61309f8881/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.0.0-20211210111614-af8b64212486/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.0.0-20220114195835-da31bd327af9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.0.0-20220128215802-99c3d69c2c27/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.0.0-20220209214540-3681064d5158/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.0.0-20220227234510-4e6760a101f9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.0.0-20220328115105-d36c6a25d886/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.0.0-20220412211240-33da011f77ad/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.0.0-20220502124256-b6088ccd6cba/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.0.0-20220503163025-988cb79eb6c6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.0.0-20220517195934-5e4e11fc645e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.0.0-20220610221304-9f5ed59c137d/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.0.0-20220624220833-87e55d714810/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.0.0-20220913175220-63ea55921009 h1:PuvuRMeLWqsf/ZdT1UUZz0syhioyv1mzuFZsXs4fvhw=
|
||||
golang.org/x/sys v0.0.0-20220913175220-63ea55921009/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.2.0 h1:ljd4t30dBnAvMZaQCevtY0xLLD0A+bRZXbgLMLU1F/A=
|
||||
golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw=
|
||||
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
|
||||
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
|
||||
golang.org/x/term v0.0.0-20220722155259-a9ba230a4035 h1:Q5284mrmYTpACcm+eAKjKJH48BBwSyfJqmmGDTtT8Vc=
|
||||
golang.org/x/term v0.0.0-20220722155259-a9ba230a4035/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
|
||||
golang.org/x/term v0.2.0 h1:z85xZCsEl7bi/KwbNADeBYoOP0++7W1ipu+aGnpwzRM=
|
||||
golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc=
|
||||
golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
||||
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
||||
golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
||||
@@ -1471,8 +1393,9 @@ golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
|
||||
golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
|
||||
golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
|
||||
golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
|
||||
golang.org/x/text v0.3.7 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk=
|
||||
golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
|
||||
golang.org/x/text v0.4.0 h1:BrVqGRd7+k1DiOgtnFvAkoQEWQvBc25ouMJM6429SFg=
|
||||
golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
|
||||
golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
|
||||
golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
|
||||
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
|
||||
@@ -1538,10 +1461,6 @@ golang.org/x/tools v0.0.0-20210105154028-b0ab187a4818/go.mod h1:emZCQorbCU4vsT4f
|
||||
golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
|
||||
golang.org/x/tools v0.0.0-20210108195828-e2f9c7f1fc8e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
|
||||
golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0=
|
||||
golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
|
||||
golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
|
||||
golang.org/x/tools v0.1.3/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
|
||||
golang.org/x/tools v0.1.4/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
|
||||
golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
|
||||
golang.org/x/tools v0.1.10/go.mod h1:Uh6Zz+xoGYZom868N8YTex3t7RhtHDBrE8Gzo9bV56E=
|
||||
golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=
|
||||
@@ -1549,9 +1468,6 @@ golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8T
|
||||
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||
golang.org/x/xerrors v0.0.0-20220411194840-2f41105eb62f/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||
golang.org/x/xerrors v0.0.0-20220517211312-f3a8303e98df/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8=
|
||||
golang.org/x/xerrors v0.0.0-20220609144429-65e65417b02f/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8=
|
||||
golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 h1:H2TDz8ibqkAF6YGhCdN3jS9O0/s90v0rJh3X/OLHEUk=
|
||||
golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8=
|
||||
gonum.org/v1/gonum v0.0.0-20180816165407-929014505bf4/go.mod h1:Y+Yx5eoAFn32cQvJDxZx5Dpnq+c3wtXuadVZAcxbbBo=
|
||||
@@ -1580,28 +1496,8 @@ google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz513
|
||||
google.golang.org/api v0.35.0/go.mod h1:/XrVsuzM0rZmrsbjJutiuftIzeuTQcEeaYcSk/mQ1dg=
|
||||
google.golang.org/api v0.36.0/go.mod h1:+z5ficQTmoYpPn8LCUNVpK5I7hwkpjbcgqA7I34qYtE=
|
||||
google.golang.org/api v0.40.0/go.mod h1:fYKFpnQN0DsDSKRVRcQSDQNtqWPfM9i+zNPxepjRCQ8=
|
||||
google.golang.org/api v0.41.0/go.mod h1:RkxM5lITDfTzmyKFPt+wGrCJbVfniCr2ool8kTBzRTU=
|
||||
google.golang.org/api v0.43.0/go.mod h1:nQsDGjRXMo4lvh5hP0TKqF244gqhGcr/YSIykhUk/94=
|
||||
google.golang.org/api v0.47.0/go.mod h1:Wbvgpq1HddcWVtzsVLyfLp8lDg6AA241LmgIL59tHXo=
|
||||
google.golang.org/api v0.48.0/go.mod h1:71Pr1vy+TAZRPkPs/xlCf5SsU8WjuAWv1Pfjbtukyy4=
|
||||
google.golang.org/api v0.50.0/go.mod h1:4bNT5pAuq5ji4SRZm+5QIkjny9JAyVD/3gaSihNefaw=
|
||||
google.golang.org/api v0.51.0/go.mod h1:t4HdrdoNgyN5cbEfm7Lum0lcLDLiise1F8qDKX00sOU=
|
||||
google.golang.org/api v0.54.0/go.mod h1:7C4bFFOvVDGXjfDTAsgGwDgAxRDeQ4X8NvUedIt6z3k=
|
||||
google.golang.org/api v0.55.0/go.mod h1:38yMfeP1kfjsl8isn0tliTjIb1rJXcQi4UXlbqivdVE=
|
||||
google.golang.org/api v0.56.0/go.mod h1:38yMfeP1kfjsl8isn0tliTjIb1rJXcQi4UXlbqivdVE=
|
||||
google.golang.org/api v0.57.0/go.mod h1:dVPlbZyBo2/OjBpmvNdpn2GRm6rPy75jyU7bmhdrMgI=
|
||||
google.golang.org/api v0.61.0/go.mod h1:xQRti5UdCmoCEqFxcz93fTl338AVqDgyaDRuOZ3hg9I=
|
||||
google.golang.org/api v0.63.0/go.mod h1:gs4ij2ffTRXwuzzgJl/56BdwJaA194ijkfn++9tDuPo=
|
||||
google.golang.org/api v0.67.0/go.mod h1:ShHKP8E60yPsKNw/w8w+VYaj9H6buA5UqDp8dhbQZ6g=
|
||||
google.golang.org/api v0.70.0/go.mod h1:Bs4ZM2HGifEvXwd50TtW70ovgJffJYw2oRCOFU/SkfA=
|
||||
google.golang.org/api v0.71.0/go.mod h1:4PyU6e6JogV1f9eA4voyrTY2batOLdgZ5qZ5HOCc4j8=
|
||||
google.golang.org/api v0.74.0/go.mod h1:ZpfMZOVRMywNyvJFeqL9HRWBgAuRfSjJFpe9QtRRyDs=
|
||||
google.golang.org/api v0.75.0/go.mod h1:pU9QmyHLnzlpar1Mjt4IbapUCy8J+6HD6GeELN69ljA=
|
||||
google.golang.org/api v0.78.0/go.mod h1:1Sg78yoMLOhlQTeF+ARBoytAcH1NNyyl390YMy6rKmw=
|
||||
google.golang.org/api v0.80.0/go.mod h1:xY3nI94gbvBrE0J6NHXhxOmW97HG7Khjkku6AFB3Hyg=
|
||||
google.golang.org/api v0.84.0/go.mod h1:NTsGnUFJMYROtiquksZHBWtHfeMC7iYthki7Eq3pa8o=
|
||||
google.golang.org/api v0.93.0 h1:T2xt9gi0gHdxdnRkVQhT8mIvPaXKNsDNWz+L696M66M=
|
||||
google.golang.org/api v0.93.0/go.mod h1:+Sem1dnrKlrXMR/X0bPnMWyluQe4RsNoYfmNLhOIkzw=
|
||||
google.golang.org/api v0.102.0 h1:JxJl2qQ85fRMPNvlZY/enexbxpCjLwGhZUtgfGeQ51I=
|
||||
google.golang.org/api v0.102.0/go.mod h1:3VFl6/fzoA+qNuS1N1/VfXY4LjoXN/wzeIp7TweWwGo=
|
||||
google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
|
||||
google.golang.org/appengine v1.2.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
|
||||
google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
|
||||
@@ -1654,54 +1550,9 @@ google.golang.org/genproto v0.0.0-20201210142538-e3217bee35cc/go.mod h1:FWY/as6D
|
||||
google.golang.org/genproto v0.0.0-20201214200347-8c77b98c765d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
|
||||
google.golang.org/genproto v0.0.0-20210108203827-ffc7fda8c3d7/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
|
||||
google.golang.org/genproto v0.0.0-20210126160654-44e461bb6506/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
|
||||
google.golang.org/genproto v0.0.0-20210222152913-aa3ee6e6a81c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
|
||||
google.golang.org/genproto v0.0.0-20210226172003-ab064af71705/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
|
||||
google.golang.org/genproto v0.0.0-20210303154014-9728d6b83eeb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
|
||||
google.golang.org/genproto v0.0.0-20210310155132-4ce2db91004e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
|
||||
google.golang.org/genproto v0.0.0-20210319143718-93e7006c17a6/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
|
||||
google.golang.org/genproto v0.0.0-20210329143202-679c6ae281ee/go.mod h1:9lPAdzaEmUacj36I+k7YKbEc5CXzPIeORRgDAUOu28A=
|
||||
google.golang.org/genproto v0.0.0-20210402141018-6c239bbf2bb1/go.mod h1:9lPAdzaEmUacj36I+k7YKbEc5CXzPIeORRgDAUOu28A=
|
||||
google.golang.org/genproto v0.0.0-20210513213006-bf773b8c8384/go.mod h1:P3QM42oQyzQSnHPnZ/vqoCdDmzH28fzWByN9asMeM8A=
|
||||
google.golang.org/genproto v0.0.0-20210602131652-f16073e35f0c/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0=
|
||||
google.golang.org/genproto v0.0.0-20210604141403-392c879c8b08/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0=
|
||||
google.golang.org/genproto v0.0.0-20210608205507-b6d2f5bf0d7d/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0=
|
||||
google.golang.org/genproto v0.0.0-20210624195500-8bfb893ecb84/go.mod h1:SzzZ/N+nwJDaO1kznhnlzqS8ocJICar6hYhVyhi++24=
|
||||
google.golang.org/genproto v0.0.0-20210713002101-d411969a0d9a/go.mod h1:AxrInvYm1dci+enl5hChSFPOmmUF1+uAa/UsgNRWd7k=
|
||||
google.golang.org/genproto v0.0.0-20210716133855-ce7ef5c701ea/go.mod h1:AxrInvYm1dci+enl5hChSFPOmmUF1+uAa/UsgNRWd7k=
|
||||
google.golang.org/genproto v0.0.0-20210728212813-7823e685a01f/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48=
|
||||
google.golang.org/genproto v0.0.0-20210805201207-89edb61ffb67/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48=
|
||||
google.golang.org/genproto v0.0.0-20210813162853-db860fec028c/go.mod h1:cFeNkxwySK631ADgubI+/XFU/xp8FD5KIVV4rj8UC5w=
|
||||
google.golang.org/genproto v0.0.0-20210821163610-241b8fcbd6c8/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY=
|
||||
google.golang.org/genproto v0.0.0-20210828152312-66f60bf46e71/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY=
|
||||
google.golang.org/genproto v0.0.0-20210831024726-fe130286e0e2/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY=
|
||||
google.golang.org/genproto v0.0.0-20210903162649-d08c68adba83/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY=
|
||||
google.golang.org/genproto v0.0.0-20210909211513-a8c4777a87af/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY=
|
||||
google.golang.org/genproto v0.0.0-20210924002016-3dee208752a0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc=
|
||||
google.golang.org/genproto v0.0.0-20211118181313-81c1377c94b1/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc=
|
||||
google.golang.org/genproto v0.0.0-20211206160659-862468c7d6e0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc=
|
||||
google.golang.org/genproto v0.0.0-20211208223120-3a66f561d7aa/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc=
|
||||
google.golang.org/genproto v0.0.0-20211221195035-429b39de9b1c/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc=
|
||||
google.golang.org/genproto v0.0.0-20220126215142-9970aeb2e350/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc=
|
||||
google.golang.org/genproto v0.0.0-20220207164111-0872dc986b00/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc=
|
||||
google.golang.org/genproto v0.0.0-20220218161850-94dd64e39d7c/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI=
|
||||
google.golang.org/genproto v0.0.0-20220222213610-43724f9ea8cf/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI=
|
||||
google.golang.org/genproto v0.0.0-20220304144024-325a89244dc8/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI=
|
||||
google.golang.org/genproto v0.0.0-20220310185008-1973136f34c6/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI=
|
||||
google.golang.org/genproto v0.0.0-20220324131243-acbaeb5b85eb/go.mod h1:hAL49I2IFola2sVEjAn7MEwsja0xp51I0tlGAf9hz4E=
|
||||
google.golang.org/genproto v0.0.0-20220407144326-9054f6ed7bac/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo=
|
||||
google.golang.org/genproto v0.0.0-20220413183235-5e96e2839df9/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo=
|
||||
google.golang.org/genproto v0.0.0-20220414192740-2d67ff6cf2b4/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo=
|
||||
google.golang.org/genproto v0.0.0-20220421151946-72621c1f0bd3/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo=
|
||||
google.golang.org/genproto v0.0.0-20220429170224-98d788798c3e/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo=
|
||||
google.golang.org/genproto v0.0.0-20220505152158-f39f71e6c8f3/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4=
|
||||
google.golang.org/genproto v0.0.0-20220518221133-4f43b3371335/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4=
|
||||
google.golang.org/genproto v0.0.0-20220523171625-347a074981d8/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4=
|
||||
google.golang.org/genproto v0.0.0-20220608133413-ed9918b62aac/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA=
|
||||
google.golang.org/genproto v0.0.0-20220616135557-88e70c0c3a90/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA=
|
||||
google.golang.org/genproto v0.0.0-20220617124728-180714bec0ad/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA=
|
||||
google.golang.org/genproto v0.0.0-20220624142145-8cd45d7dbd1f/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA=
|
||||
google.golang.org/genproto v0.0.0-20221014213838-99cd37c6964a h1:GH6UPn3ixhWcKDhpnEC55S75cerLPdpp3hrhfKYjZgw=
|
||||
google.golang.org/genproto v0.0.0-20221014213838-99cd37c6964a/go.mod h1:1vXfmgAz9N9Jx0QA82PqRVauvCz1SGSz739p0f183jM=
|
||||
google.golang.org/genproto v0.0.0-20221118155620-16455021b5e6 h1:a2S6M0+660BgMNl++4JPlcAO/CjkqYItDEZwkoDQK7c=
|
||||
google.golang.org/genproto v0.0.0-20221118155620-16455021b5e6/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg=
|
||||
google.golang.org/grpc v1.17.0/go.mod h1:6QZJwpn2B+Zp71q/5VxRsJ6NXXVCE5NRUHRo+f3cWCs=
|
||||
google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
|
||||
google.golang.org/grpc v1.19.1/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
|
||||
@@ -1726,23 +1577,8 @@ google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTp
|
||||
google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc=
|
||||
google.golang.org/grpc v1.34.0/go.mod h1:WotjhfgOW/POjDeRt8vscBtXq+2VjORFy659qA51WJ8=
|
||||
google.golang.org/grpc v1.35.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU=
|
||||
google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU=
|
||||
google.golang.org/grpc v1.36.1/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU=
|
||||
google.golang.org/grpc v1.37.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM=
|
||||
google.golang.org/grpc v1.37.1/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM=
|
||||
google.golang.org/grpc v1.38.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM=
|
||||
google.golang.org/grpc v1.39.0/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE=
|
||||
google.golang.org/grpc v1.39.1/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE=
|
||||
google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34=
|
||||
google.golang.org/grpc v1.40.1/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34=
|
||||
google.golang.org/grpc v1.44.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU=
|
||||
google.golang.org/grpc v1.45.0/go.mod h1:lN7owxKUQEqMfSyQikvvk5tf/6zMPsrK+ONuO11+0rQ=
|
||||
google.golang.org/grpc v1.46.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk=
|
||||
google.golang.org/grpc v1.46.2/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk=
|
||||
google.golang.org/grpc v1.47.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk=
|
||||
google.golang.org/grpc v1.50.0 h1:fPVVDxY9w++VjTZsYvXWqEf9Rqar/e+9zYfxKK+W+YU=
|
||||
google.golang.org/grpc v1.50.0/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI=
|
||||
google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw=
|
||||
google.golang.org/grpc v1.50.1 h1:DS/BukOZWp8s6p4Dt/tOaJaTQyPyOoCcrjroHuCeLzY=
|
||||
google.golang.org/grpc v1.50.1/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI=
|
||||
google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8=
|
||||
google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0=
|
||||
google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM=
|
||||
|
||||
+12
-12
@@ -7,7 +7,7 @@ import (
|
||||
|
||||
auctiontypes "github.com/cerc-io/laconicd/x/auction/types"
|
||||
bondtypes "github.com/cerc-io/laconicd/x/bond/types"
|
||||
nstypes "github.com/cerc-io/laconicd/x/nameservice/types"
|
||||
registrytypes "github.com/cerc-io/laconicd/x/registry/types"
|
||||
"github.com/cosmos/cosmos-sdk/client"
|
||||
authtypes "github.com/cosmos/cosmos-sdk/x/auth/types"
|
||||
banktypes "github.com/cosmos/cosmos-sdk/x/bank/types"
|
||||
@@ -32,12 +32,12 @@ func (r *Resolver) Query() QueryResolver {
|
||||
type queryResolver struct{ *Resolver }
|
||||
|
||||
func (q queryResolver) LookupAuthorities(ctx context.Context, names []string) ([]*AuthorityRecord, error) {
|
||||
nsQueryClient := nstypes.NewQueryClient(q.ctx)
|
||||
nsQueryClient := registrytypes.NewQueryClient(q.ctx)
|
||||
auctionQueryClient := auctiontypes.NewQueryClient(q.ctx)
|
||||
gqlResponse := []*AuthorityRecord{}
|
||||
|
||||
for _, name := range names {
|
||||
res, err := nsQueryClient.Whois(context.Background(), &nstypes.QueryWhoisRequest{Name: name})
|
||||
res, err := nsQueryClient.Whois(context.Background(), ®istrytypes.QueryWhoisRequest{Name: name})
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -73,10 +73,10 @@ func (q queryResolver) LookupAuthorities(ctx context.Context, names []string) ([
|
||||
}
|
||||
|
||||
func (q queryResolver) ResolveNames(ctx context.Context, names []string) ([]*Record, error) {
|
||||
nsQueryClient := nstypes.NewQueryClient(q.ctx)
|
||||
nsQueryClient := registrytypes.NewQueryClient(q.ctx)
|
||||
var gqlResponse []*Record
|
||||
for _, name := range names {
|
||||
res, err := nsQueryClient.ResolveCrn(context.Background(), &nstypes.QueryResolveCrn{Crn: name})
|
||||
res, err := nsQueryClient.ResolveCrn(context.Background(), ®istrytypes.QueryResolveCrn{Crn: name})
|
||||
if err != nil {
|
||||
// Return nil for record not found.
|
||||
gqlResponse = append(gqlResponse, nil)
|
||||
@@ -94,11 +94,11 @@ func (q queryResolver) ResolveNames(ctx context.Context, names []string) ([]*Rec
|
||||
}
|
||||
|
||||
func (q queryResolver) LookupNames(ctx context.Context, names []string) ([]*NameRecord, error) {
|
||||
nsQueryClient := nstypes.NewQueryClient(q.ctx)
|
||||
nsQueryClient := registrytypes.NewQueryClient(q.ctx)
|
||||
var gqlResponse []*NameRecord
|
||||
|
||||
for _, name := range names {
|
||||
res, err := nsQueryClient.LookupCrn(context.Background(), &nstypes.QueryLookupCrn{Crn: name})
|
||||
res, err := nsQueryClient.LookupCrn(context.Background(), ®istrytypes.QueryLookupCrn{Crn: name})
|
||||
if err != nil {
|
||||
// Return nil for name not found.
|
||||
gqlResponse = append(gqlResponse, nil)
|
||||
@@ -116,11 +116,11 @@ func (q queryResolver) LookupNames(ctx context.Context, names []string) ([]*Name
|
||||
}
|
||||
|
||||
func (q queryResolver) QueryRecords(ctx context.Context, attributes []*KeyValueInput, all *bool) ([]*Record, error) {
|
||||
nsQueryClient := nstypes.NewQueryClient(q.ctx)
|
||||
nsQueryClient := registrytypes.NewQueryClient(q.ctx)
|
||||
|
||||
res, err := nsQueryClient.ListRecords(
|
||||
context.Background(),
|
||||
&nstypes.QueryListRecordsRequest{
|
||||
®istrytypes.QueryListRecordsRequest{
|
||||
Attributes: parseRequestAttributes(attributes),
|
||||
All: (all != nil && *all),
|
||||
},
|
||||
@@ -144,11 +144,11 @@ func (q queryResolver) QueryRecords(ctx context.Context, attributes []*KeyValueI
|
||||
}
|
||||
|
||||
func (q queryResolver) GetRecordsByIds(ctx context.Context, ids []string) ([]*Record, error) {
|
||||
nsQueryClient := nstypes.NewQueryClient(q.ctx)
|
||||
nsQueryClient := registrytypes.NewQueryClient(q.ctx)
|
||||
gqlResponse := make([]*Record, len(ids))
|
||||
|
||||
for i, id := range ids {
|
||||
res, err := nsQueryClient.GetRecord(context.Background(), &nstypes.QueryRecordByIDRequest{Id: id})
|
||||
res, err := nsQueryClient.GetRecord(context.Background(), ®istrytypes.QueryRecordByIDRequest{Id: id})
|
||||
if err != nil {
|
||||
// Return nil for record not found.
|
||||
gqlResponse[i] = nil
|
||||
@@ -186,7 +186,7 @@ func (q queryResolver) GetStatus(ctx context.Context) (*Status, error) {
|
||||
}
|
||||
|
||||
return &Status{
|
||||
Version: NameServiceVersion,
|
||||
Version: RegistryVersion,
|
||||
Node: nodeInfo,
|
||||
Sync: syncInfo,
|
||||
Validator: validatorInfo,
|
||||
|
||||
+12
-12
@@ -9,7 +9,7 @@ import (
|
||||
|
||||
auctiontypes "github.com/cerc-io/laconicd/x/auction/types"
|
||||
bondtypes "github.com/cerc-io/laconicd/x/bond/types"
|
||||
nstypes "github.com/cerc-io/laconicd/x/nameservice/types"
|
||||
registrytypes "github.com/cerc-io/laconicd/x/registry/types"
|
||||
sdk "github.com/cosmos/cosmos-sdk/types"
|
||||
)
|
||||
|
||||
@@ -40,7 +40,7 @@ func getGQLCoins(coins sdk.Coins) []*Coin {
|
||||
return gqlCoins
|
||||
}
|
||||
|
||||
func GetGQLNameAuthorityRecord(record *nstypes.NameAuthority) (*AuthorityRecord, error) {
|
||||
func GetGQLNameAuthorityRecord(record *registrytypes.NameAuthority) (*AuthorityRecord, error) {
|
||||
if record == nil {
|
||||
return nil, nil
|
||||
}
|
||||
@@ -55,7 +55,7 @@ func GetGQLNameAuthorityRecord(record *nstypes.NameAuthority) (*AuthorityRecord,
|
||||
}, nil
|
||||
}
|
||||
|
||||
func getGQLRecord(ctx context.Context, resolver QueryResolver, record nstypes.Record) (*Record, error) {
|
||||
func getGQLRecord(ctx context.Context, resolver QueryResolver, record registrytypes.Record) (*Record, error) {
|
||||
// Nil record.
|
||||
if record.Deleted {
|
||||
return nil, nil
|
||||
@@ -84,7 +84,7 @@ func getGQLRecord(ctx context.Context, resolver QueryResolver, record nstypes.Re
|
||||
}, nil
|
||||
}
|
||||
|
||||
func getGQLNameRecord(record *nstypes.NameRecord) (*NameRecord, error) {
|
||||
func getGQLNameRecord(record *registrytypes.NameRecord) (*NameRecord, error) {
|
||||
if record == nil {
|
||||
return nil, fmt.Errorf("got nil record")
|
||||
}
|
||||
@@ -100,7 +100,7 @@ func getGQLNameRecord(record *nstypes.NameRecord) (*NameRecord, error) {
|
||||
}, nil
|
||||
}
|
||||
|
||||
func getNameRecordEntry(record *nstypes.NameRecordEntry) *NameRecordEntry {
|
||||
func getNameRecordEntry(record *registrytypes.NameRecordEntry) *NameRecordEntry {
|
||||
return &NameRecordEntry{
|
||||
ID: record.Id,
|
||||
Height: strconv.FormatUint(record.Height, 10),
|
||||
@@ -163,7 +163,7 @@ func GetGQLAuction(auction *auctiontypes.Auction, bids []*auctiontypes.Bid) (*Au
|
||||
return &gqlAuction, nil
|
||||
}
|
||||
|
||||
func getReferences(ctx context.Context, resolver QueryResolver, r *nstypes.RecordType) ([]*Record, error) {
|
||||
func getReferences(ctx context.Context, resolver QueryResolver, r *registrytypes.RecordType) ([]*Record, error) {
|
||||
var ids []string
|
||||
|
||||
// #nosec G705
|
||||
@@ -184,7 +184,7 @@ func getReferences(ctx context.Context, resolver QueryResolver, r *nstypes.Recor
|
||||
return resolver.GetRecordsByIds(ctx, ids)
|
||||
}
|
||||
|
||||
func getAttributes(r *nstypes.RecordType) ([]*KeyValue, error) {
|
||||
func getAttributes(r *registrytypes.RecordType) ([]*KeyValue, error) {
|
||||
return mapToKeyValuePairs(r.Attributes)
|
||||
}
|
||||
|
||||
@@ -253,13 +253,13 @@ func mapToKeyValuePairs(attrs map[string]interface{}) ([]*KeyValue, error) {
|
||||
return kvPairs, nil
|
||||
}
|
||||
|
||||
func parseRequestAttributes(attrs []*KeyValueInput) []*nstypes.QueryListRecordsRequest_KeyValueInput {
|
||||
kvPairs := []*nstypes.QueryListRecordsRequest_KeyValueInput{}
|
||||
func parseRequestAttributes(attrs []*KeyValueInput) []*registrytypes.QueryListRecordsRequest_KeyValueInput {
|
||||
kvPairs := []*registrytypes.QueryListRecordsRequest_KeyValueInput{}
|
||||
|
||||
for _, value := range attrs {
|
||||
kvPair := &nstypes.QueryListRecordsRequest_KeyValueInput{
|
||||
kvPair := ®istrytypes.QueryListRecordsRequest_KeyValueInput{
|
||||
Key: value.Key,
|
||||
Value: &nstypes.QueryListRecordsRequest_ValueInput{},
|
||||
Value: ®istrytypes.QueryListRecordsRequest_ValueInput{},
|
||||
}
|
||||
|
||||
if value.Value.String != nil {
|
||||
@@ -283,7 +283,7 @@ func parseRequestAttributes(attrs []*KeyValueInput) []*nstypes.QueryListRecordsR
|
||||
}
|
||||
|
||||
if value.Value.Reference != nil {
|
||||
reference := &nstypes.QueryListRecordsRequest_ReferenceInput{
|
||||
reference := ®istrytypes.QueryListRecordsRequest_ReferenceInput{
|
||||
Id: value.Value.Reference.ID,
|
||||
}
|
||||
|
||||
|
||||
+2
-2
@@ -1,4 +1,4 @@
|
||||
package gql
|
||||
|
||||
// NameServiceVersion is the registry API version.
|
||||
const NameServiceVersion = "0.3.0"
|
||||
// RegistryVersion is the registry API version.
|
||||
const RegistryVersion = "0.3.0"
|
||||
|
||||
@@ -33,28 +33,28 @@ cat $HOME/.laconicd/config/genesis.json | jq '.app_state["crisis"]["constant_fee
|
||||
cat $HOME/.laconicd/config/genesis.json | jq '.app_state["gov"]["deposit_params"]["min_deposit"][0]["denom"]="aphoton"' > $HOME/.laconicd/config/tmp_genesis.json && mv $HOME/.laconicd/config/tmp_genesis.json $HOME/.laconicd/config/genesis.json
|
||||
cat $HOME/.laconicd/config/genesis.json | jq '.app_state["mint"]["params"]["mint_denom"]="aphoton"' > $HOME/.laconicd/config/tmp_genesis.json && mv $HOME/.laconicd/config/tmp_genesis.json $HOME/.laconicd/config/genesis.json
|
||||
# Custom modules
|
||||
cat $HOME/.laconicd/config/genesis.json | jq '.app_state["nameservice"]["params"]["record_rent"]["denom"]="aphoton"' > $HOME/.laconicd/config/tmp_genesis.json && mv $HOME/.laconicd/config/tmp_genesis.json $HOME/.laconicd/config/genesis.json
|
||||
cat $HOME/.laconicd/config/genesis.json | jq '.app_state["nameservice"]["params"]["authority_rent"]["denom"]="aphoton"' > $HOME/.laconicd/config/tmp_genesis.json && mv $HOME/.laconicd/config/tmp_genesis.json $HOME/.laconicd/config/genesis.json
|
||||
cat $HOME/.laconicd/config/genesis.json | jq '.app_state["nameservice"]["params"]["authority_auction_commit_fee"]["denom"]="aphoton"' > $HOME/.laconicd/config/tmp_genesis.json && mv $HOME/.laconicd/config/tmp_genesis.json $HOME/.laconicd/config/genesis.json
|
||||
cat $HOME/.laconicd/config/genesis.json | jq '.app_state["nameservice"]["params"]["authority_auction_reveal_fee"]["denom"]="aphoton"' > $HOME/.laconicd/config/tmp_genesis.json && mv $HOME/.laconicd/config/tmp_genesis.json $HOME/.laconicd/config/genesis.json
|
||||
cat $HOME/.laconicd/config/genesis.json | jq '.app_state["nameservice"]["params"]["authority_auction_minimum_bid"]["denom"]="aphoton"' > $HOME/.laconicd/config/tmp_genesis.json && mv $HOME/.laconicd/config/tmp_genesis.json $HOME/.laconicd/config/genesis.json
|
||||
cat $HOME/.laconicd/config/genesis.json | jq '.app_state["registry"]["params"]["record_rent"]["denom"]="aphoton"' > $HOME/.laconicd/config/tmp_genesis.json && mv $HOME/.laconicd/config/tmp_genesis.json $HOME/.laconicd/config/genesis.json
|
||||
cat $HOME/.laconicd/config/genesis.json | jq '.app_state["registry"]["params"]["authority_rent"]["denom"]="aphoton"' > $HOME/.laconicd/config/tmp_genesis.json && mv $HOME/.laconicd/config/tmp_genesis.json $HOME/.laconicd/config/genesis.json
|
||||
cat $HOME/.laconicd/config/genesis.json | jq '.app_state["registry"]["params"]["authority_auction_commit_fee"]["denom"]="aphoton"' > $HOME/.laconicd/config/tmp_genesis.json && mv $HOME/.laconicd/config/tmp_genesis.json $HOME/.laconicd/config/genesis.json
|
||||
cat $HOME/.laconicd/config/genesis.json | jq '.app_state["registry"]["params"]["authority_auction_reveal_fee"]["denom"]="aphoton"' > $HOME/.laconicd/config/tmp_genesis.json && mv $HOME/.laconicd/config/tmp_genesis.json $HOME/.laconicd/config/genesis.json
|
||||
cat $HOME/.laconicd/config/genesis.json | jq '.app_state["registry"]["params"]["authority_auction_minimum_bid"]["denom"]="aphoton"' > $HOME/.laconicd/config/tmp_genesis.json && mv $HOME/.laconicd/config/tmp_genesis.json $HOME/.laconicd/config/genesis.json
|
||||
|
||||
if [[ "$TEST_NAMESERVICE_EXPIRY" == "true" ]]; then
|
||||
if [[ "$TEST_REGISTRY_EXPIRY" == "true" ]]; then
|
||||
echo "Setting timers for expiry tests."
|
||||
|
||||
cat $HOME/.laconicd/config/genesis.json | jq '.app_state["nameservice"]["params"]["record_rent_duration"]="60s"' > $HOME/.laconicd/config/tmp_genesis.json && mv $HOME/.laconicd/config/tmp_genesis.json $HOME/.laconicd/config/genesis.json
|
||||
cat $HOME/.laconicd/config/genesis.json | jq '.app_state["nameservice"]["params"]["authority_grace_period"]="60s"' > $HOME/.laconicd/config/tmp_genesis.json && mv $HOME/.laconicd/config/tmp_genesis.json $HOME/.laconicd/config/genesis.json
|
||||
cat $HOME/.laconicd/config/genesis.json | jq '.app_state["nameservice"]["params"]["authority_rent_duration"]="60s"' > $HOME/.laconicd/config/tmp_genesis.json && mv $HOME/.laconicd/config/tmp_genesis.json $HOME/.laconicd/config/genesis.json
|
||||
cat $HOME/.laconicd/config/genesis.json | jq '.app_state["registry"]["params"]["record_rent_duration"]="60s"' > $HOME/.laconicd/config/tmp_genesis.json && mv $HOME/.laconicd/config/tmp_genesis.json $HOME/.laconicd/config/genesis.json
|
||||
cat $HOME/.laconicd/config/genesis.json | jq '.app_state["registry"]["params"]["authority_grace_period"]="60s"' > $HOME/.laconicd/config/tmp_genesis.json && mv $HOME/.laconicd/config/tmp_genesis.json $HOME/.laconicd/config/genesis.json
|
||||
cat $HOME/.laconicd/config/genesis.json | jq '.app_state["registry"]["params"]["authority_rent_duration"]="60s"' > $HOME/.laconicd/config/tmp_genesis.json && mv $HOME/.laconicd/config/tmp_genesis.json $HOME/.laconicd/config/genesis.json
|
||||
fi
|
||||
|
||||
if [[ "$TEST_AUCTION_ENABLED" == "true" ]]; then
|
||||
echo "Enabling auction and setting timers."
|
||||
|
||||
cat $HOME/.laconicd/config/genesis.json | jq '.app_state["nameservice"]["params"]["authority_auction_enabled"]=true' > $HOME/.laconicd/config/tmp_genesis.json && mv $HOME/.laconicd/config/tmp_genesis.json $HOME/.laconicd/config/genesis.json
|
||||
cat $HOME/.laconicd/config/genesis.json | jq '.app_state["nameservice"]["params"]["authority_rent_duration"]="60s"' > $HOME/.laconicd/config/tmp_genesis.json && mv $HOME/.laconicd/config/tmp_genesis.json $HOME/.laconicd/config/genesis.json
|
||||
cat $HOME/.laconicd/config/genesis.json | jq '.app_state["nameservice"]["params"]["authority_grace_period"]="300s"' > $HOME/.laconicd/config/tmp_genesis.json && mv $HOME/.laconicd/config/tmp_genesis.json $HOME/.laconicd/config/genesis.json
|
||||
cat $HOME/.laconicd/config/genesis.json | jq '.app_state["nameservice"]["params"]["authority_auction_commits_duration"]="60s"' > $HOME/.laconicd/config/tmp_genesis.json && mv $HOME/.laconicd/config/tmp_genesis.json $HOME/.laconicd/config/genesis.json
|
||||
cat $HOME/.laconicd/config/genesis.json | jq '.app_state["nameservice"]["params"]["authority_auction_reveals_duration"]="60s"' > $HOME/.laconicd/config/tmp_genesis.json && mv $HOME/.laconicd/config/tmp_genesis.json $HOME/.laconicd/config/genesis.json
|
||||
cat $HOME/.laconicd/config/genesis.json | jq '.app_state["registry"]["params"]["authority_auction_enabled"]=true' > $HOME/.laconicd/config/tmp_genesis.json && mv $HOME/.laconicd/config/tmp_genesis.json $HOME/.laconicd/config/genesis.json
|
||||
cat $HOME/.laconicd/config/genesis.json | jq '.app_state["registry"]["params"]["authority_rent_duration"]="60s"' > $HOME/.laconicd/config/tmp_genesis.json && mv $HOME/.laconicd/config/tmp_genesis.json $HOME/.laconicd/config/genesis.json
|
||||
cat $HOME/.laconicd/config/genesis.json | jq '.app_state["registry"]["params"]["authority_grace_period"]="300s"' > $HOME/.laconicd/config/tmp_genesis.json && mv $HOME/.laconicd/config/tmp_genesis.json $HOME/.laconicd/config/genesis.json
|
||||
cat $HOME/.laconicd/config/genesis.json | jq '.app_state["registry"]["params"]["authority_auction_commits_duration"]="60s"' > $HOME/.laconicd/config/tmp_genesis.json && mv $HOME/.laconicd/config/tmp_genesis.json $HOME/.laconicd/config/genesis.json
|
||||
cat $HOME/.laconicd/config/genesis.json | jq '.app_state["registry"]["params"]["authority_auction_reveals_duration"]="60s"' > $HOME/.laconicd/config/tmp_genesis.json && mv $HOME/.laconicd/config/tmp_genesis.json $HOME/.laconicd/config/genesis.json
|
||||
fi
|
||||
|
||||
# increase block time (?)
|
||||
@@ -111,4 +111,4 @@ if [[ $1 == "pending" ]]; then
|
||||
fi
|
||||
|
||||
# Start the node (remove the --pruning=nothing flag if historical queries are not needed)
|
||||
laconicd start --pruning=nothing --evm.tracer=json $TRACE --log_level $LOGLEVEL --minimum-gas-prices=0.0001aphoton --json-rpc.api eth,txpool,personal,net,debug,web3,miner --api.enable
|
||||
laconicd start --pruning=nothing --evm.tracer=json $TRACE --log_level $LOGLEVEL --minimum-gas-prices=0.0001aphoton --json-rpc.api eth,txpool,personal,net,debug,web3,miner --api.enable --gql-server --gql-playground
|
||||
|
||||
@@ -0,0 +1,31 @@
|
||||
syntax = "proto3";
|
||||
package vulcanize.registry.v1beta1;
|
||||
|
||||
import "gogoproto/gogo.proto";
|
||||
|
||||
option go_package = "github.com/cerc-io/laconicd/x/registry/types";
|
||||
|
||||
message ServiceProviderRegistration {
|
||||
string bond_id = 1 [(gogoproto.moretags) = "json:\"bondId\" yaml:\"bondId\""];
|
||||
string laconic_id = 2 [(gogoproto.moretags) = "json:\"laconicId\" yaml:\"laconicId\""];
|
||||
X500 x500 = 3 [(gogoproto.moretags) = "json:\"x500\" yaml:\"x500\""];
|
||||
string type = 4 [(gogoproto.moretags) = "json:\"type\" yaml:\"type\""];
|
||||
}
|
||||
|
||||
message X500 {
|
||||
string common_name = 1 [(gogoproto.moretags) = "json:\"commonName\" yaml:\"commonName\""];
|
||||
string organization_unit = 2 [(gogoproto.moretags) = "json:\"organizationUnit\" yaml:\"organizationUnit\""];
|
||||
string organization_name = 3 [(gogoproto.moretags) = "json:\"organizationName\" yaml:\"organizationName\""];
|
||||
string locality_name = 4 [(gogoproto.moretags) = "json:\"localityName\" yaml:\"localityName\""];
|
||||
string state_name = 5 [(gogoproto.moretags) = "json:\"stateName\" yaml:\"stateName\""];
|
||||
string country = 6 [(gogoproto.moretags) = "json:\"country\" yaml:\"country\""];
|
||||
}
|
||||
|
||||
message WebsiteRegistrationRecord {
|
||||
string url = 1 [(gogoproto.moretags) = "json:\"url\" yaml:\"url\""];
|
||||
string repo_registration_record_cid = 2
|
||||
[(gogoproto.moretags) = "json:\"repoRegistrationRecordCID\" yaml:\"repoRegistrationRecordCID\""];
|
||||
string build_artifact_cid = 3 [(gogoproto.moretags) = "json:\"buildArtifactCID\" yaml:\"buildArtifactCID\""];
|
||||
string tls_cert_cid = 4 [(gogoproto.moretags) = "json:\"TLSCertCID\" yaml:\"TLSCertCID\""];
|
||||
string type = 5 [(gogoproto.moretags) = "json:\"type\" yaml:\"type\""];
|
||||
}
|
||||
+5
-5
@@ -1,14 +1,14 @@
|
||||
syntax = "proto3";
|
||||
package vulcanize.nameservice.v1beta1;
|
||||
package vulcanize.registry.v1beta1;
|
||||
|
||||
import "gogoproto/gogo.proto";
|
||||
import "vulcanize/nameservice/v1beta1/nameservice.proto";
|
||||
import "vulcanize/registry/v1beta1/registry.proto";
|
||||
|
||||
option go_package = "github.com/cerc-io/laconicd/x/nameservice/types";
|
||||
option go_package = "github.com/cerc-io/laconicd/x/registry/types";
|
||||
|
||||
// GenesisState defines the nameservice module's genesis state.
|
||||
// GenesisState defines the registry module's genesis state.
|
||||
message GenesisState {
|
||||
// params defines all the params of nameservice module.
|
||||
// params defines all the params of registry module.
|
||||
Params params = 1 [(gogoproto.nullable) = false];
|
||||
// records
|
||||
repeated Record records = 2
|
||||
+31
-31
@@ -1,71 +1,71 @@
|
||||
syntax = "proto3";
|
||||
package vulcanize.nameservice.v1beta1;
|
||||
package vulcanize.registry.v1beta1;
|
||||
|
||||
import "vulcanize/nameservice/v1beta1/nameservice.proto";
|
||||
import "vulcanize/registry/v1beta1/registry.proto";
|
||||
import "google/api/annotations.proto";
|
||||
import "cosmos/base/query/v1beta1/pagination.proto";
|
||||
import "gogoproto/gogo.proto";
|
||||
import "cosmos/base/v1beta1/coin.proto";
|
||||
|
||||
option go_package = "github.com/cerc-io/laconicd/x/nameservice/types";
|
||||
option go_package = "github.com/cerc-io/laconicd/x/registry/types";
|
||||
|
||||
// Query defines the gRPC querier service for nameservice module
|
||||
// Query defines the gRPC querier service for registry module
|
||||
service Query {
|
||||
// Params queries the nameservice module params.
|
||||
// Params queries the registry module params.
|
||||
rpc Params(QueryParamsRequest) returns (QueryParamsResponse) {
|
||||
option (google.api.http).get = "/vulcanize/nameservice/v1beta1/params";
|
||||
option (google.api.http).get = "/vulcanize/registry/v1beta1/params";
|
||||
}
|
||||
// List records
|
||||
rpc ListRecords(QueryListRecordsRequest) returns (QueryListRecordsResponse) {
|
||||
option (google.api.http).get = "/vulcanize/nameservice/v1beta1/records";
|
||||
option (google.api.http).get = "/vulcanize/registry/v1beta1/records";
|
||||
}
|
||||
// Get record by id
|
||||
rpc GetRecord(QueryRecordByIDRequest) returns (QueryRecordByIDResponse) {
|
||||
option (google.api.http).get = "/vulcanize/nameservice/v1beta1/records/{id}";
|
||||
option (google.api.http).get = "/vulcanize/registry/v1beta1/records/{id}";
|
||||
}
|
||||
// Get records by bond id
|
||||
rpc GetRecordByBondID(QueryRecordByBondIDRequest) returns (QueryRecordByBondIDResponse) {
|
||||
option (google.api.http).get = "/vulcanize/nameservice/v1beta1/records-by-bond-id/{id}";
|
||||
option (google.api.http).get = "/vulcanize/registry/v1beta1/records-by-bond-id/{id}";
|
||||
}
|
||||
// Get nameservice module balance
|
||||
rpc GetNameServiceModuleBalance(GetNameServiceModuleBalanceRequest) returns (GetNameServiceModuleBalanceResponse) {
|
||||
option (google.api.http).get = "/vulcanize/nameservice/v1beta1/balance";
|
||||
// Get registry module balance
|
||||
rpc GetRegistryModuleBalance(GetRegistryModuleBalanceRequest) returns (GetRegistryModuleBalanceResponse) {
|
||||
option (google.api.http).get = "/vulcanize/registry/v1beta1/balance";
|
||||
}
|
||||
// List name records
|
||||
rpc ListNameRecords(QueryListNameRecordsRequest) returns (QueryListNameRecordsResponse) {
|
||||
option (google.api.http).get = "/vulcanize/nameservice/v1beta1/names";
|
||||
option (google.api.http).get = "/vulcanize/registry/v1beta1/names";
|
||||
}
|
||||
// Whois method retrieve the name authority info
|
||||
rpc Whois(QueryWhoisRequest) returns (QueryWhoisResponse) {
|
||||
option (google.api.http).get = "/vulcanize/nameservice/v1beta1/whois/{name}";
|
||||
option (google.api.http).get = "/vulcanize/registry/v1beta1/whois/{name}";
|
||||
}
|
||||
// LookupCrn
|
||||
rpc LookupCrn(QueryLookupCrn) returns (QueryLookupCrnResponse) {
|
||||
option (google.api.http).get = "/vulcanize/nameservice/v1beta1/lookup";
|
||||
option (google.api.http).get = "/vulcanize/registry/v1beta1/lookup";
|
||||
}
|
||||
// ResolveCrn
|
||||
rpc ResolveCrn(QueryResolveCrn) returns (QueryResolveCrnResponse) {
|
||||
option (google.api.http).get = "/vulcanize/nameservice/v1beta1/resolve";
|
||||
option (google.api.http).get = "/vulcanize/registry/v1beta1/resolve";
|
||||
}
|
||||
// GetRecordExpiryQueue
|
||||
rpc GetRecordExpiryQueue(QueryGetRecordExpiryQueue) returns (QueryGetRecordExpiryQueueResponse) {
|
||||
option (google.api.http).get = "/vulcanize/nameservice/v1beta1/record-expiry";
|
||||
option (google.api.http).get = "/vulcanize/registry/v1beta1/record-expiry";
|
||||
}
|
||||
// GetAuthorityExpiryQueue
|
||||
rpc GetAuthorityExpiryQueue(QueryGetAuthorityExpiryQueue) returns (QueryGetAuthorityExpiryQueueResponse) {
|
||||
option (google.api.http).get = "/vulcanize/nameservice/v1beta1/authority-expiry";
|
||||
option (google.api.http).get = "/vulcanize/registry/v1beta1/authority-expiry";
|
||||
}
|
||||
}
|
||||
|
||||
// QueryParamsRequest is request type for nameservice params
|
||||
// QueryParamsRequest is request type for registry params
|
||||
message QueryParamsRequest {}
|
||||
|
||||
// QueryParamsResponse is response type for nameservice params
|
||||
// QueryParamsResponse is response type for registry params
|
||||
message QueryParamsResponse {
|
||||
Params params = 1;
|
||||
}
|
||||
|
||||
// QueryListRecordsRequest is request type for nameservice records list
|
||||
// QueryListRecordsRequest is request type for registry records list
|
||||
message QueryListRecordsRequest {
|
||||
message ReferenceInput {
|
||||
string id = 1;
|
||||
@@ -91,19 +91,19 @@ message QueryListRecordsRequest {
|
||||
cosmos.base.query.v1beta1.PageRequest pagination = 3;
|
||||
}
|
||||
|
||||
// QueryListRecordsResponse is response type for nameservice records list
|
||||
// QueryListRecordsResponse is response type for registry records list
|
||||
message QueryListRecordsResponse {
|
||||
repeated Record records = 1 [(gogoproto.nullable) = false];
|
||||
// pagination defines the pagination in the response.
|
||||
cosmos.base.query.v1beta1.PageResponse pagination = 2;
|
||||
}
|
||||
|
||||
// QueryRecordByIDRequest is request type for nameservice records by id
|
||||
// QueryRecordByIDRequest is request type for registry records by id
|
||||
message QueryRecordByIDRequest {
|
||||
string id = 1;
|
||||
}
|
||||
|
||||
// QueryRecordByIDResponse is response type for nameservice records by id
|
||||
// QueryRecordByIDResponse is response type for registry records by id
|
||||
message QueryRecordByIDResponse {
|
||||
Record record = 1 [(gogoproto.nullable) = false];
|
||||
}
|
||||
@@ -122,15 +122,15 @@ message QueryRecordByBondIDResponse {
|
||||
cosmos.base.query.v1beta1.PageResponse pagination = 2;
|
||||
}
|
||||
|
||||
// GetNameServiceModuleBalanceRequest is request type for nameservice module accounts balance
|
||||
message GetNameServiceModuleBalanceRequest {}
|
||||
// GetRegistryModuleBalanceRequest is request type for registry module accounts balance
|
||||
message GetRegistryModuleBalanceRequest {}
|
||||
|
||||
// GetNameServiceModuleBalanceResponse is response type for nameservice module accounts balance
|
||||
message GetNameServiceModuleBalanceResponse {
|
||||
// GetRegistryModuleBalanceResponse is response type for registry module accounts balance
|
||||
message GetRegistryModuleBalanceResponse {
|
||||
repeated AccountBalance balances = 1;
|
||||
}
|
||||
|
||||
// AccountBalance is nameservice module account balance
|
||||
// AccountBalance is registry module account balance
|
||||
message AccountBalance {
|
||||
string account_name = 1 [(gogoproto.moretags) = "json:\"accountName\" yaml:\"accountName\""];
|
||||
repeated cosmos.base.v1beta1.Coin balance = 3 [
|
||||
@@ -140,13 +140,13 @@ message AccountBalance {
|
||||
];
|
||||
}
|
||||
|
||||
// QueryListNameRecordsRequest is request type for nameservice names records
|
||||
// QueryListNameRecordsRequest is request type for registry names records
|
||||
message QueryListNameRecordsRequest {
|
||||
// pagination defines an optional pagination for the request.
|
||||
cosmos.base.query.v1beta1.PageRequest pagination = 1;
|
||||
}
|
||||
|
||||
// QueryListNameRecordsResponse is response type for nameservice names records
|
||||
// QueryListNameRecordsResponse is response type for registry names records
|
||||
message QueryListNameRecordsResponse {
|
||||
repeated NameEntry names = 1 [(gogoproto.nullable) = false];
|
||||
// pagination defines the pagination in the response.
|
||||
+15
-13
@@ -1,14 +1,15 @@
|
||||
syntax = "proto3";
|
||||
package vulcanize.nameservice.v1beta1;
|
||||
package vulcanize.registry.v1beta1;
|
||||
|
||||
import "google/protobuf/duration.proto";
|
||||
import "google/protobuf/timestamp.proto";
|
||||
import "gogoproto/gogo.proto";
|
||||
import "cosmos/base/v1beta1/coin.proto";
|
||||
import "google/protobuf/any.proto";
|
||||
|
||||
option go_package = "github.com/cerc-io/laconicd/x/nameservice/types";
|
||||
option go_package = "github.com/cerc-io/laconicd/x/registry/types";
|
||||
|
||||
// Params defines the nameservice module parameters
|
||||
// Params defines the registry module parameters
|
||||
message Params {
|
||||
cosmos.base.v1beta1.Coin record_rent = 1
|
||||
[(gogoproto.nullable) = false, (gogoproto.moretags) = "json:\"record_rent\" yaml:\"record_rent\""];
|
||||
@@ -55,19 +56,20 @@ message Params {
|
||||
];
|
||||
}
|
||||
|
||||
// Params defines the nameservice module records
|
||||
// Params defines the registry module records
|
||||
message Record {
|
||||
string id = 1 [(gogoproto.moretags) = "json:\"id\" yaml:\"id\""];
|
||||
string bond_id = 2 [(gogoproto.moretags) = "json:\"bondId\" yaml:\"bondId\""];
|
||||
string create_time = 3 [(gogoproto.moretags) = "json:\"createTime\" yaml:\"createTime\""];
|
||||
string expiry_time = 4 [(gogoproto.moretags) = "json:\"expiryTime\" yaml:\"expiryTime\""];
|
||||
bool deleted = 5;
|
||||
repeated string owners = 6 [(gogoproto.moretags) = "json:\"owners\" yaml:\"owners\""];
|
||||
string attributes = 7 [(gogoproto.moretags) = "json:\"attributes\" yaml:\"attributes\""];
|
||||
repeated string names = 8 [(gogoproto.moretags) = "json:\"names\" yaml:\"names\""];
|
||||
string id = 1 [(gogoproto.moretags) = "json:\"id\" yaml:\"id\""];
|
||||
string bond_id = 2 [(gogoproto.moretags) = "json:\"bondId\" yaml:\"bondId\""];
|
||||
string create_time = 3 [(gogoproto.moretags) = "json:\"createTime\" yaml:\"createTime\""];
|
||||
string expiry_time = 4 [(gogoproto.moretags) = "json:\"expiryTime\" yaml:\"expiryTime\""];
|
||||
bool deleted = 5;
|
||||
repeated string owners = 6 [(gogoproto.moretags) = "json:\"owners\" yaml:\"owners\""];
|
||||
google.protobuf.Any attributes = 7 [(gogoproto.moretags) = "json:\"attributes\" yaml:\"attributes\""];
|
||||
repeated string names = 8 [(gogoproto.moretags) = "json:\"names\" yaml:\"names\""];
|
||||
string type = 9 [(gogoproto.moretags) = "json:\"types\" yaml:\"types\""];
|
||||
}
|
||||
|
||||
// AuthorityEntry defines the nameservice module AuthorityEntries
|
||||
// AuthorityEntry defines the registry module AuthorityEntries
|
||||
message AuthorityEntry {
|
||||
string name = 1;
|
||||
NameAuthority entry = 2;
|
||||
+3
-3
@@ -1,10 +1,10 @@
|
||||
syntax = "proto3";
|
||||
package vulcanize.nameservice.v1beta1;
|
||||
package vulcanize.registry.v1beta1;
|
||||
|
||||
import "gogoproto/gogo.proto";
|
||||
import "vulcanize/nameservice/v1beta1/nameservice.proto";
|
||||
import "vulcanize/registry/v1beta1/registry.proto";
|
||||
|
||||
option go_package = "github.com/cerc-io/laconicd/x/nameservice/types";
|
||||
option go_package = "github.com/cerc-io/laconicd/x/registry/types";
|
||||
|
||||
// Msg
|
||||
service Msg {
|
||||
Executable
+56
@@ -0,0 +1,56 @@
|
||||
dotenv: .env
|
||||
ethermint_9000-1:
|
||||
cmd: laconicd
|
||||
start-flags: "--trace"
|
||||
app-config:
|
||||
minimum-gas-prices: 0aphoton
|
||||
index-events:
|
||||
- ethereum_tx.ethereumTxHash
|
||||
json-rpc:
|
||||
address: "0.0.0.0:{EVMRPC_PORT}"
|
||||
ws-address: "0.0.0.0:{EVMRPC_PORT_WS}"
|
||||
api: "eth,net,web3,debug"
|
||||
validators:
|
||||
- coins: 1000000000000000000stake,10000000000000000000000aphoton
|
||||
staked: 1000000000000000000stake
|
||||
mnemonic: ${VALIDATOR1_MNEMONIC}
|
||||
- coins: 1000000000000000000stake,10000000000000000000000aphoton
|
||||
staked: 1000000000000000000stake
|
||||
mnemonic: ${VALIDATOR2_MNEMONIC}
|
||||
accounts:
|
||||
- name: community
|
||||
coins: 10000000000000000000000aphoton
|
||||
mnemonic: ${COMMUNITY_MNEMONIC}
|
||||
- name: signer1
|
||||
coins: 20000000000000000000000aphoton
|
||||
mnemonic: ${SIGNER1_MNEMONIC}
|
||||
- name: signer2
|
||||
coins: 30000000000000000000000aphoton
|
||||
mnemonic: ${SIGNER2_MNEMONIC}
|
||||
|
||||
genesis:
|
||||
consensus_params:
|
||||
block:
|
||||
max_bytes: "1048576"
|
||||
max_gas: "81500000"
|
||||
app_state:
|
||||
evm:
|
||||
params:
|
||||
evm_denom: aphoton
|
||||
gov:
|
||||
voting_params:
|
||||
voting_period: "10s"
|
||||
deposit_params:
|
||||
max_deposit_period: "10s"
|
||||
min_deposit:
|
||||
- denom: "aphoton"
|
||||
amount: "1"
|
||||
transfer:
|
||||
params:
|
||||
receive_enabled: true
|
||||
send_enabled: true
|
||||
feemarket:
|
||||
params:
|
||||
no_base_fee: false
|
||||
base_fee: "100000000000"
|
||||
min_gas_multiplier: "0"
|
||||
@@ -70,6 +70,7 @@ func AddTxFlags(cmd *cobra.Command) (*cobra.Command, error) {
|
||||
cmd.PersistentFlags().String(flags.FlagFrom, "", "Name or address of private key with which to sign")
|
||||
cmd.PersistentFlags().String(flags.FlagFees, "", "Fees to pay along with transaction; eg: 10aphoton")
|
||||
cmd.PersistentFlags().String(flags.FlagGasPrices, "", "Gas prices to determine the transaction fee (e.g. 10aphoton)")
|
||||
cmd.PersistentFlags().String(flags.FlagGas, "300000", "gas limit to set per-transaction; set to auto to calculate sufficient gas automatically. Note: auto option doesn't always report accurate results. Set a valid coin value to adjust the result. Can be used instead of fees. (default 300000)")
|
||||
cmd.PersistentFlags().String(flags.FlagNode, "tcp://localhost:26657", "<host>:<port> to tendermint rpc interface for this chain") //nolint:lll
|
||||
cmd.PersistentFlags().Float64(flags.FlagGasAdjustment, flags.DefaultGasAdjustment, "adjustment factor to be multiplied against the estimate returned by the tx simulation; if the gas limit is set manually this flag is ignored ") //nolint:lll
|
||||
cmd.PersistentFlags().StringP(flags.FlagBroadcastMode, "b", flags.BroadcastSync, "Transaction broadcasting mode (sync|async|block)")
|
||||
|
||||
@@ -1,19 +1,19 @@
|
||||
# Validator Guide for laconic_81337-4 Testnet
|
||||
# Validator Guide for laconic_81337-5 Testnet
|
||||
|
||||
## Hardware Prerequisites
|
||||
|
||||
### Supported
|
||||
|
||||
- **Operating System (OS):** Ubuntu 20.04
|
||||
- **CPU:** 1 core
|
||||
- **RAM:** 2GB
|
||||
- **CPU:** 2 core
|
||||
- **RAM:** 8GB
|
||||
- **Storage:** 25GB SSD
|
||||
|
||||
### Recommended
|
||||
|
||||
- **Operating System (OS):** Ubuntu 20.04
|
||||
- **CPU:** 2 core
|
||||
- **RAM:** 4GB
|
||||
- **RAM:** 8GB
|
||||
- **Storage:** 50GB SSD
|
||||
|
||||
## Network Prerequisites
|
||||
@@ -21,9 +21,15 @@
|
||||
- **TCP 26656** for Peer-to-Peer Network Communication
|
||||
- **TCP 26660** for Prometheus Metrics (doesn't have to be exposed publicly)
|
||||
|
||||
# Validator Setup
|
||||
# Blockchain client Setup
|
||||
|
||||
## Install required software packages
|
||||
There are two options of running a laconicd
|
||||
1. As a systemd service
|
||||
2. In a docker container
|
||||
|
||||
## Systemd service
|
||||
Skip this section if you use docker
|
||||
### Install required software packages
|
||||
|
||||
```sh
|
||||
# Update Ubuntu
|
||||
@@ -36,14 +42,14 @@ sudo apt install git curl build-essential make jq -y
|
||||
|
||||
---
|
||||
|
||||
## Install Go
|
||||
### Install Go
|
||||
|
||||
```sh
|
||||
# Remove any existing installation of `go`
|
||||
sudo rm -rf /usr/local/go
|
||||
|
||||
# Install Go version 1.17.2
|
||||
curl https://dl.google.com/go/go1.17.2.linux-amd64.tar.gz | sudo tar -C/usr/local -zxvf -
|
||||
# Install Go version 1.18.8
|
||||
curl https://dl.google.com/go/go1.18.8.linux-amd64.tar.gz | sudo tar -C/usr/local -zxvf -
|
||||
|
||||
# Update env variables to include go
|
||||
cat <<'EOF' >>$HOME/.profile
|
||||
@@ -66,7 +72,7 @@ go version
|
||||
|
||||
---
|
||||
|
||||
## Install `laconic`
|
||||
### Install `laconic`
|
||||
|
||||
```sh
|
||||
git clone https://github.com/cerc-io/laconicd.git
|
||||
@@ -74,7 +80,7 @@ cd laconicd
|
||||
|
||||
# Checkout main branch
|
||||
git fetch --all
|
||||
git checkout main
|
||||
git checkout v0.6.0
|
||||
|
||||
# Build and install laconic
|
||||
make install
|
||||
@@ -96,45 +102,36 @@ server_name: laconicd
|
||||
|
||||
---
|
||||
|
||||
## Initialize Validator Node
|
||||
## Docker container
|
||||
|
||||
**Not required if you have already initialized before**
|
||||
|
||||
```sh
|
||||
# Initialize the validator node
|
||||
laconicd init <your-node-moniker> --chain-id laconic_81337-4
|
||||
```
|
||||
|
||||
Running the above commands will initialize the validator node with default configuration. The config files will be saved in the default location (`~/.laconicd/config`).
|
||||
|
||||
**NOTE:** Backup your node and validator keys. You will need to use these keys at a later point in time.
|
||||
There are different commands to initialize a validator and to run a validator node.
|
||||
See "Docker" section in corresponding chapters.
|
||||
It is important to mount a host directory (`~/.laconicd` in this documentation) to `/root/.laconicd` directory inside the container, so all blockchain data, configuration and keys persist between container restarts.
|
||||
For running a validator node it is also required to publish container's port 26656 and (optionally) 26660 to the host.
|
||||
|
||||
---
|
||||
|
||||
## Overwrite Validator Initialization from previous testnet
|
||||
# Initialize Validator Node
|
||||
|
||||
**Required for `laconic_81337-4`**
|
||||
**Not required if you have already initialized before**
|
||||
|
||||
First we have to reset the previous genesis state (only because the `laconic_81337-3` testnet failed) whereafter we can initialize the validator node for `laconic_81337-4`
|
||||
Make sure the directory `~/.laconicd` does not exist or is empty
|
||||
|
||||
---
|
||||
>**Docker**<br/>
|
||||
>In order to run the below commands in a docker container:
|
||||
>```sh
|
||||
>docker run -ti -v ~/.laconicd:/root/.laconicd \
|
||||
>git.vdb.to/cerc-io/laconicd/laconicd:v0.6.0 /bin/sh
|
||||
>```
|
||||
---
|
||||
|
||||
```sh
|
||||
# Stop your node (in case it was still running)
|
||||
systemctl stop laconicd
|
||||
|
||||
# Keep a backup of your old validator directory
|
||||
cp -a ~/.laconicd ~/backup-laconic_81337-2
|
||||
|
||||
# Reset the state of your validator
|
||||
laconicd tendermint unsafe-reset-all --home $HOME/.laconicd
|
||||
|
||||
# Remove your previous genesis transactions
|
||||
rm $HOME/.laconicd/config/gentx/gentx*.json
|
||||
|
||||
# Overwrite your genesis state with the new chain-id
|
||||
laconicd init --overwrite <your-node-moniker> --chain-id laconic_81337-4
|
||||
# Initialize the validator node
|
||||
laconicd init <your-node-moniker> --chain-id laconic_81337-5
|
||||
```
|
||||
|
||||
Running the above commands will re-initialize the validator node with default configuration. The config files will be saved in the default location (`~/.laconicd/config`).
|
||||
Running the above commands will initialize the validator node with default configuration. The config files will be saved in the default location (`~/.laconicd/config`).
|
||||
|
||||
**NOTE:** Backup your node and validator keys. You will need to use these keys at a later point in time.
|
||||
|
||||
@@ -171,11 +168,12 @@ Create Your `gentx` transaction file
|
||||
```sh
|
||||
laconicd gentx <key-name> 12900000000000000000000achk \
|
||||
--pubkey=$(laconicd tendermint show-validator) \
|
||||
--chain-id="laconic_81337-4" \
|
||||
--chain-id="laconic_81337-5" \
|
||||
--moniker="<your-moniker-name>" \
|
||||
--website="<your-validator-website>" \
|
||||
--details="<your-validator-description>" \
|
||||
--identity="<your-keybase-public-key>" \
|
||||
--ip="<your-node-public-ip-address>" \
|
||||
--commission-rate="0.10" \
|
||||
--commission-max-rate="0.20" \
|
||||
--commission-max-change-rate="0.01" \
|
||||
@@ -192,18 +190,18 @@ laconicd gentx <key-name> 12900000000000000000000achk \
|
||||
|
||||
## Submit Your gentx
|
||||
|
||||
Submit your `gentx` file to the [https://github.com/cerc-io/laconic-testnet]() repository in the following format:
|
||||
Submit your `gentx` file to the [https://github.com/cerc-io/laconic-testnet](https://github.com/cerc-io/laconic-testnet) repository in the following format:
|
||||
`<validator-moniker>-gentx.json`
|
||||
|
||||
**NOTE:** (Do NOT use spaces in the file name)
|
||||
|
||||
To submit the gentx file, follow the below process:
|
||||
|
||||
- Fork the [https://github.com/cerc-io/laconic-testnet]() repository
|
||||
- Upload your gentx file in the `laconic_81337-4/config/gentxs` folder
|
||||
- Submit Pull Request to [https://github.com/cerc-io/laconic-testnet]() with name `ADD <your-moniker> gentx`
|
||||
- Fork the [https://github.com/cerc-io/laconic-testnet](https://github.com/cerc-io/laconic-testnet) repository
|
||||
- Upload your gentx file in the `laconic_81337-5/config/gentxs` folder
|
||||
- Submit Pull Request to [https://github.com/cerc-io/laconic-testnet](https://github.com/cerc-io/laconic-testnet) with name `ADD <your-moniker> gentx`
|
||||
|
||||
The genesis file will be published in the `laconic_81337-4/config/` folder within the [https://github.com/cerc-io/laconic-testnet]() repository.
|
||||
The genesis file will be published in the `laconic_81337-5/config/` folder within the [https://github.com/cerc-io/laconic-testnet](https://github.com/cerc-io/laconic-testnet) repository.
|
||||
|
||||
# CONTINUE WITH BELOW STEPS ONLY AFTER GENESIS FILE HAS BEEN PUBLISHED
|
||||
|
||||
@@ -213,11 +211,16 @@ The genesis file will be published in the `laconic_81337-4/config/` folder withi
|
||||
# Set seed & peers variable
|
||||
seeds="<seeds node list here>"
|
||||
peers="<peers node list here>"
|
||||
external_address="<node public IP address>"
|
||||
moniker="<your moniker>"
|
||||
|
||||
# Update seeds, persistent_peers and prometheus parameters in config.toml
|
||||
sed -i.bak -e "s/^seeds *=.*/seeds = \"$seeds\"/; s/^persistent_peers *=.*/persistent_peers = \"$peers\"/; s/^prometheus *=.*/prometheus = true/" $HOME/.laconicd/config/config.toml
|
||||
sed -i.bak -e "s/^seeds *=.*/seeds = \"$seeds\"/; s/^persistent_peers *=.*/persistent_peers = \"$peers\"/; s/^prometheus *=.*/prometheus = true/; s/^moniker *=.*/moniker = \"$moniker\"/; s/^external_address *=.*/external_address = \"tcp:\/\/$external_address:26656\"/" $HOME/.laconicd/config/config.toml
|
||||
```
|
||||
---
|
||||
|
||||
# Create systemd validator service
|
||||
## Create systemd validator service (skip for Docker)
|
||||
```sh
|
||||
sudo tee /etc/systemd/system/laconicd.service > /dev/null <<EOF
|
||||
[Unit]
|
||||
Description=laconicd Daemon
|
||||
@@ -225,7 +228,7 @@ After=network-online.target
|
||||
|
||||
[Service]
|
||||
User=$USER
|
||||
ExecStart=$(which laconicd) start --mode validator --gql-playground --gql-server --log_level=warn
|
||||
ExecStart=$(which laconicd) start --gql-playground --gql-server --log_level=warn
|
||||
Restart=always
|
||||
RestartSec=3
|
||||
LimitNOFILE=65535
|
||||
@@ -246,9 +249,7 @@ Check status of service
|
||||
sudo systemctl status laconicd
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Helpful Commands
|
||||
### Helpful Commands for systemd service
|
||||
|
||||
```sh
|
||||
# Check logs
|
||||
@@ -263,12 +264,47 @@ journalctl --since "1 day ago" -u laconicd
|
||||
# Check logs with follow flag
|
||||
journalctl -f -u laconicd
|
||||
|
||||
```
|
||||
---
|
||||
## Run validator node in Docker container
|
||||
### Create docker container
|
||||
In this example the Tendermint RPC and Prometheus metrics ports are exposed only to localhost. You may want to change 127.0.0.1 to private or public network interface of your host if you need to access these ports remotely.
|
||||
|
||||
```sh
|
||||
docker create --name laconic-testnet-5 -v ~/.laconicd:/root/.laconicd -p 26656:26656 -p 127.0.0.1:26657:26657 -p 127.0.0.1:26660:26660 git.vdb.to/cerc-io/laconicd/laconicd:v0.6.0 laconicd start --gql-playground --gql-server --log_level=warn
|
||||
```
|
||||
|
||||
### Run validator node
|
||||
|
||||
```sh
|
||||
docker start laconic-testnet-5
|
||||
```
|
||||
|
||||
### Check validator node logs
|
||||
|
||||
```sh
|
||||
docker logs laconic-testnet-5
|
||||
```
|
||||
|
||||
### Run shell inside docker container
|
||||
|
||||
```sh
|
||||
docker exec -ti laconic-testnet-5 /bin/sh
|
||||
```
|
||||
---
|
||||
## Helpful commands
|
||||
|
||||
```sh
|
||||
# Check discovered peers
|
||||
curl http://localhost:26657/net_info
|
||||
|
||||
# Check network consensus state
|
||||
curl http://localhost:26657/consensus_state
|
||||
|
||||
# Check the sync status of your validator node
|
||||
# Check the sync status of your validator node (for docker need to run shell inside the container fist)
|
||||
laconicd status | jq .SyncInfo
|
||||
```
|
||||
---
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,52 @@
|
||||
# Originally from: https://github.com/devcontainers/images/blob/main/src/javascript-node/.devcontainer/Dockerfile
|
||||
# [Choice] Node.js version (use -bullseye variants on local arm64/Apple Silicon): 18, 16, 14, 18-bullseye, 16-bullseye, 14-bullseye, 18-buster, 16-buster, 14-buster
|
||||
ARG VARIANT=16-bullseye
|
||||
FROM node:${VARIANT}
|
||||
|
||||
ARG USERNAME=node
|
||||
ARG NPM_GLOBAL=/usr/local/share/npm-global
|
||||
|
||||
# Add NPM global to PATH.
|
||||
ENV PATH=${NPM_GLOBAL}/bin:${PATH}
|
||||
|
||||
RUN \
|
||||
# Configure global npm install location, use group to adapt to UID/GID changes
|
||||
if ! cat /etc/group | grep -e "^npm:" > /dev/null 2>&1; then groupadd -r npm; fi \
|
||||
&& usermod -a -G npm ${USERNAME} \
|
||||
&& umask 0002 \
|
||||
&& mkdir -p ${NPM_GLOBAL} \
|
||||
&& touch /usr/local/etc/npmrc \
|
||||
&& chown ${USERNAME}:npm ${NPM_GLOBAL} /usr/local/etc/npmrc \
|
||||
&& chmod g+s ${NPM_GLOBAL} \
|
||||
&& npm config -g set prefix ${NPM_GLOBAL} \
|
||||
&& su ${USERNAME} -c "npm config -g set prefix ${NPM_GLOBAL}" \
|
||||
# Install eslint
|
||||
&& su ${USERNAME} -c "umask 0002 && npm install -g eslint" \
|
||||
&& npm cache clean --force > /dev/null 2>&1
|
||||
|
||||
# [Optional] Uncomment this section to install additional OS packages.
|
||||
# RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \
|
||||
# && apt-get -y install --no-install-recommends <your-package-list-here>
|
||||
|
||||
# [Optional] Uncomment if you want to install an additional version of node using nvm
|
||||
# ARG EXTRA_NODE_VERSION=10
|
||||
# RUN su node -c "source /usr/local/share/nvm/nvm.sh && nvm install ${EXTRA_NODE_VERSION}"
|
||||
|
||||
# [Optional] Uncomment if you want to install more global node modules
|
||||
# RUN su node -c "npm install -g <your-package-list-here>"
|
||||
|
||||
WORKDIR /
|
||||
COPY entrypoint.sh .
|
||||
ENTRYPOINT ["/entrypoint.sh"]
|
||||
# Placeholder CMD : generally this will be overridden at run time like :
|
||||
# docker run -it -v /home/builder/cerc/laconic-sdk:/workspace cerc/builder-js sh -c 'cd /workspace && yarn && yarn build'
|
||||
CMD node --version
|
||||
|
||||
# Temp hack, clone the laconic-sdk repo here
|
||||
WORKDIR /app
|
||||
RUN \
|
||||
git clone https://github.com/cerc-io/laconic-sdk.git \
|
||||
&& cd laconic-sdk \
|
||||
&& yarn install
|
||||
|
||||
WORKDIR /app/laconic-sdk
|
||||
Executable
+3
@@ -0,0 +1,3 @@
|
||||
#!/usr/bin/env bash
|
||||
docker build -t cerc-io/laconicd:local-test ../../
|
||||
|
||||
Executable
+3
@@ -0,0 +1,3 @@
|
||||
#!/usr/bin/env bash
|
||||
docker build -t cerc-io/laconic-sdk-tester:local-test -f Dockerfile-sdk .
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
services:
|
||||
laconicd:
|
||||
restart: unless-stopped
|
||||
image: cerc-io/laconicd:local-test
|
||||
command: ["sh", "/docker-entrypoint-scripts.d/create-fixturenet.sh"]
|
||||
volumes:
|
||||
- ../../init.sh:/docker-entrypoint-scripts.d/create-fixturenet.sh
|
||||
healthcheck:
|
||||
test: ["CMD", "wget", "-nv", "-t1", "--spider", "http://localhost:6060"]
|
||||
interval: 1s
|
||||
timeout: 5s
|
||||
retries: 30
|
||||
ports:
|
||||
- "6060"
|
||||
- "26657"
|
||||
- "26656"
|
||||
- "9473"
|
||||
- "8545"
|
||||
- "8546"
|
||||
- "9090"
|
||||
- "9091"
|
||||
- "1317"
|
||||
|
||||
sdk-test-runner:
|
||||
image: cerc-io/laconic-sdk-tester:local-test
|
||||
depends_on:
|
||||
laconicd:
|
||||
condition: service_healthy
|
||||
command: tail -F /dev/null
|
||||
Executable
+3
@@ -0,0 +1,3 @@
|
||||
#!/bin/sh
|
||||
exec "$@"
|
||||
|
||||
Executable
+12
@@ -0,0 +1,12 @@
|
||||
#!/usr/bin/env bash
|
||||
if [ -n "$CERC_SCRIPT_DEBUG" ]; then
|
||||
set -x
|
||||
fi
|
||||
# Get the key from laconicd
|
||||
laconicd_key=$( docker compose exec laconicd echo y | laconicd keys export mykey --unarmored-hex --unsafe )
|
||||
# Set parameters for the test suite
|
||||
cosmos_chain_id=laconic_9000-1
|
||||
laconicd_rest_endpoint=http://laconicd:1317
|
||||
laconicd_gql_endpoint=http://laconicd:9473/api
|
||||
# Run tests
|
||||
docker compose exec sdk-test-runner sh -c "COSMOS_CHAIN_ID=${cosmos_chain_id} LACONICD_REST_ENDPOINT=${laconicd_rest_endpoint} LACONICD_GQL_ENDPOINT=${laconicd_gql_endpoint} PRIVATE_KEY=${laconicd_key} yarn test"
|
||||
@@ -4,6 +4,7 @@ import (
|
||||
"context"
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"math/rand" // #nosec G702
|
||||
|
||||
"github.com/gorilla/mux"
|
||||
"github.com/grpc-ecosystem/grpc-gateway/runtime"
|
||||
@@ -19,6 +20,9 @@ import (
|
||||
|
||||
"github.com/cerc-io/laconicd/x/auction/client/cli"
|
||||
"github.com/cerc-io/laconicd/x/auction/keeper"
|
||||
simtypes "github.com/cosmos/cosmos-sdk/types/simulation"
|
||||
|
||||
"github.com/cerc-io/laconicd/x/auction/simulation"
|
||||
"github.com/cerc-io/laconicd/x/auction/types"
|
||||
)
|
||||
|
||||
@@ -140,3 +144,25 @@ func (am AppModule) ExportGenesis(ctx sdk.Context, cdc codec.JSONCodec) json.Raw
|
||||
gs := ExportGenesis(ctx, am.keeper)
|
||||
return cdc.MustMarshalJSON(&gs)
|
||||
}
|
||||
|
||||
func (AppModule) GenerateGenesisState(simState *module.SimulationState) {
|
||||
simulation.RandomizedGenState(simState)
|
||||
}
|
||||
|
||||
// WeightedOperations returns the all the fee market module operations with their respective weights.
|
||||
func (am AppModule) WeightedOperations(simState module.SimulationState) []simtypes.WeightedOperation {
|
||||
return nil
|
||||
}
|
||||
|
||||
// RandomizedParams creates randomized fee market param changes for the simulator.
|
||||
func (AppModule) RandomizedParams(r *rand.Rand) []simtypes.ParamChange {
|
||||
return nil
|
||||
}
|
||||
|
||||
// RegisterStoreDecoder registers a decoder for fee market module's types
|
||||
func (am AppModule) RegisterStoreDecoder(sdr sdk.StoreDecoderRegistry) {}
|
||||
|
||||
// ProposalContents doesn't return any content functions for governance proposals.
|
||||
func (AppModule) ProposalContents(simState module.SimulationState) []simtypes.WeightedProposalContent {
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
package simulation
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"time"
|
||||
|
||||
"github.com/cosmos/cosmos-sdk/types/module"
|
||||
|
||||
"github.com/cerc-io/laconicd/x/auction/types"
|
||||
sdk "github.com/cosmos/cosmos-sdk/types"
|
||||
)
|
||||
|
||||
// RandomizedGenState generates a random GenesisState
|
||||
func RandomizedGenState(simState *module.SimulationState) {
|
||||
auctionParams := types.NewParams(time.Duration(simState.Rand.Intn(1000))*time.Second,
|
||||
time.Duration(simState.Rand.Intn(1000))*time.Second,
|
||||
sdk.NewCoin(sdk.DefaultBondDenom, sdk.NewInt(int64(simState.Rand.Intn(10000000000)))),
|
||||
sdk.NewCoin(sdk.DefaultBondDenom, sdk.NewInt(int64(simState.Rand.Intn(10000000000)))),
|
||||
sdk.NewCoin(sdk.DefaultBondDenom, sdk.NewInt(int64(simState.Rand.Intn(10000000000)))),
|
||||
)
|
||||
|
||||
auctionGenesis := types.NewGenesisState(auctionParams, []*types.Auction{})
|
||||
|
||||
bz, err := json.MarshalIndent(auctionGenesis, "", " ")
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
fmt.Printf("Selected randomly generated %s parameters:\n%s\n", types.ModuleName, bz)
|
||||
|
||||
simState.GenState[types.ModuleName] = simState.Cdc.MustMarshalJSON(auctionGenesis)
|
||||
}
|
||||
@@ -4,6 +4,14 @@ package types
|
||||
// chain config values.
|
||||
func DefaultGenesisState() *GenesisState {
|
||||
return &GenesisState{
|
||||
Params: DefaultParams(),
|
||||
Params: DefaultParams(),
|
||||
Auctions: []*Auction{},
|
||||
}
|
||||
}
|
||||
|
||||
func NewGenesisState(params Params, auctions []*Auction) *GenesisState {
|
||||
return &GenesisState{
|
||||
Params: params,
|
||||
Auctions: auctions,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -32,8 +32,14 @@ var (
|
||||
|
||||
var _ types.ParamSet = &Params{}
|
||||
|
||||
func NewParams() Params {
|
||||
return DefaultParams()
|
||||
func NewParams(commitsDuration time.Duration, revealsDuration time.Duration, commitFee sdk.Coin, revealFee sdk.Coin, minimumBid sdk.Coin) Params {
|
||||
return Params{
|
||||
CommitsDuration: commitsDuration,
|
||||
RevealsDuration: revealsDuration,
|
||||
CommitFee: commitFee,
|
||||
RevealFee: revealFee,
|
||||
MinimumBid: minimumBid,
|
||||
}
|
||||
}
|
||||
|
||||
// ParamKeyTable - ParamTable for bond module.
|
||||
|
||||
@@ -162,7 +162,7 @@ func (s *IntegrationTestSuite) TestGRPCGetBondByID() {
|
||||
|
||||
// extract bond id from bonds list
|
||||
bond := queryResponse.GetBonds()[0]
|
||||
return bond.GetID()
|
||||
return bond.GetId()
|
||||
},
|
||||
},
|
||||
}
|
||||
@@ -181,11 +181,11 @@ func (s *IntegrationTestSuite) TestGRPCGetBondByID() {
|
||||
err = val.ClientCtx.Codec.UnmarshalJSON(resp, &bonds)
|
||||
|
||||
if tc.expErr {
|
||||
sr.Empty(bonds.GetBond().GetID())
|
||||
sr.Empty(bonds.GetBond().GetId())
|
||||
} else {
|
||||
sr.NoError(err)
|
||||
sr.NotZero(bonds.GetBond().GetID())
|
||||
sr.Equal(bonds.GetBond().GetID(), bondID)
|
||||
sr.NotZero(bonds.GetBond().GetId())
|
||||
sr.Equal(bonds.GetBond().GetId(), bondID)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
@@ -205,7 +205,7 @@ func (s *IntegrationTestSuite) TestGetQueryBondByID() {
|
||||
|
||||
// extract bond id from bonds list
|
||||
bond := queryResponse.GetBonds()[0]
|
||||
return bond.GetID()
|
||||
return bond.GetId()
|
||||
},
|
||||
},
|
||||
}
|
||||
@@ -225,9 +225,9 @@ func (s *IntegrationTestSuite) TestGetQueryBondByID() {
|
||||
err = clientCtx.Codec.UnmarshalJSON(out.Bytes(), &queryResponse)
|
||||
sr.NoError(err)
|
||||
if tc.err {
|
||||
sr.Zero(len(queryResponse.GetBond().GetID()))
|
||||
sr.Zero(len(queryResponse.GetBond().GetId()))
|
||||
} else {
|
||||
sr.NotZero(len(queryResponse.GetBond().GetID()))
|
||||
sr.NotZero(len(queryResponse.GetBond().GetId()))
|
||||
sr.Equal(s.accountAddress, queryResponse.GetBond().GetOwner())
|
||||
}
|
||||
})
|
||||
|
||||
@@ -118,7 +118,7 @@ func (s *IntegrationTestSuite) TestTxRefillBond() {
|
||||
|
||||
// extract bond id from bonds list
|
||||
bond := queryResponse.GetBonds()[0]
|
||||
tc.args = append([]string{bond.GetID()}, tc.args...)
|
||||
tc.args = append([]string{bond.GetId()}, tc.args...)
|
||||
}
|
||||
out, err := clitestutil.ExecTestCLICmd(clientCtx, cmd, tc.args)
|
||||
if tc.err {
|
||||
@@ -204,7 +204,7 @@ func (s *IntegrationTestSuite) TestTxWithdrawAmountFromBond() {
|
||||
|
||||
// extract bond id from bonds list
|
||||
bond := queryResponse.GetBonds()[0]
|
||||
tc.args = append([]string{bond.GetID()}, tc.args...)
|
||||
tc.args = append([]string{bond.GetId()}, tc.args...)
|
||||
}
|
||||
out, err := clitestutil.ExecTestCLICmd(clientCtx, cmd, tc.args)
|
||||
if tc.err {
|
||||
@@ -288,7 +288,7 @@ func (s *IntegrationTestSuite) TestTxCancelBond() {
|
||||
|
||||
// extract bond id from bonds list
|
||||
bond := queryResponse.GetBonds()[0]
|
||||
tc.args = append([]string{bond.GetID()}, tc.args...)
|
||||
tc.args = append([]string{bond.GetId()}, tc.args...)
|
||||
}
|
||||
out, err := clitestutil.ExecTestCLICmd(clientCtx, cmd, tc.args)
|
||||
if tc.err {
|
||||
@@ -312,7 +312,7 @@ func (s *IntegrationTestSuite) TestTxCancelBond() {
|
||||
err = clientCtx.Codec.UnmarshalJSON(out.Bytes(), &queryResponse)
|
||||
sr.NoError(err)
|
||||
|
||||
sr.Zero(queryResponse.GetBond().GetID())
|
||||
sr.Zero(queryResponse.GetBond().GetId())
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
@@ -28,11 +28,11 @@ func (q Querier) Params(c context.Context, _ *types.QueryParamsRequest) (*types.
|
||||
|
||||
func (q Querier) GetBondByID(c context.Context, req *types.QueryGetBondByIDRequest) (*types.QueryGetBondByIDResponse, error) {
|
||||
ctx := sdk.UnwrapSDKContext(c)
|
||||
bondID := req.GetID()
|
||||
bondID := req.GetId()
|
||||
if len(bondID) == 0 {
|
||||
return nil, sdkerrors.Wrap(sdkerrors.ErrInvalidRequest, "bond id required")
|
||||
}
|
||||
bond := q.Keeper.GetBond(ctx, req.GetID())
|
||||
bond := q.Keeper.GetBond(ctx, req.GetId())
|
||||
return &types.QueryGetBondByIDResponse{Bond: &bond}, nil
|
||||
}
|
||||
|
||||
|
||||
@@ -124,7 +124,7 @@ func (suite *KeeperTestSuite) TestGrpcQueryBondBondId() {
|
||||
if !test.errResponse {
|
||||
suiteRequire.Nil(err)
|
||||
suiteRequire.NotNil(resp.GetBond())
|
||||
suiteRequire.Equal(test.req.Id, resp.GetBond().GetID())
|
||||
suiteRequire.Equal(test.req.Id, resp.GetBond().GetId())
|
||||
} else {
|
||||
suiteRequire.NotNil(err)
|
||||
suiteRequire.Error(err)
|
||||
|
||||
@@ -4,15 +4,18 @@ import (
|
||||
"context"
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"math/rand" // #nosec G702
|
||||
|
||||
"github.com/cerc-io/laconicd/x/bond/client/cli"
|
||||
"github.com/cerc-io/laconicd/x/bond/keeper"
|
||||
"github.com/cerc-io/laconicd/x/bond/simulation"
|
||||
"github.com/cerc-io/laconicd/x/bond/types"
|
||||
"github.com/cosmos/cosmos-sdk/client"
|
||||
"github.com/cosmos/cosmos-sdk/codec"
|
||||
codectypes "github.com/cosmos/cosmos-sdk/codec/types"
|
||||
sdk "github.com/cosmos/cosmos-sdk/types"
|
||||
"github.com/cosmos/cosmos-sdk/types/module"
|
||||
simtypes "github.com/cosmos/cosmos-sdk/types/simulation"
|
||||
"github.com/gorilla/mux"
|
||||
"github.com/grpc-ecosystem/grpc-gateway/runtime"
|
||||
"github.com/spf13/cobra"
|
||||
@@ -99,6 +102,28 @@ func (am AppModule) ExportGenesis(ctx sdk.Context, cdc codec.JSONCodec) json.Raw
|
||||
return cdc.MustMarshalJSON(&gs)
|
||||
}
|
||||
|
||||
func (AppModule) GenerateGenesisState(simState *module.SimulationState) {
|
||||
simulation.RandomizedGenState(simState)
|
||||
}
|
||||
|
||||
// WeightedOperations returns the all the fee market module operations with their respective weights.
|
||||
func (am AppModule) WeightedOperations(simState module.SimulationState) []simtypes.WeightedOperation {
|
||||
return nil
|
||||
}
|
||||
|
||||
// RandomizedParams creates randomized fee market param changes for the simulator.
|
||||
func (AppModule) RandomizedParams(r *rand.Rand) []simtypes.ParamChange {
|
||||
return nil
|
||||
}
|
||||
|
||||
// RegisterStoreDecoder registers a decoder for fee market module's types
|
||||
func (am AppModule) RegisterStoreDecoder(sdr sdk.StoreDecoderRegistry) {}
|
||||
|
||||
// ProposalContents doesn't return any content functions for governance proposals.
|
||||
func (AppModule) ProposalContents(simState module.SimulationState) []simtypes.WeightedProposalContent {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (am AppModule) RegisterInvariants(registry sdk.InvariantRegistry) {
|
||||
keeper.RegisterInvariants(registry, am.keeper)
|
||||
}
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
package simulation
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
|
||||
"github.com/cosmos/cosmos-sdk/types/module"
|
||||
|
||||
"github.com/cerc-io/laconicd/x/bond/types"
|
||||
sdk "github.com/cosmos/cosmos-sdk/types"
|
||||
)
|
||||
|
||||
// RandomizedGenState generates a random GenesisState
|
||||
func RandomizedGenState(simState *module.SimulationState) {
|
||||
bondParams := types.NewParams(sdk.NewCoin(sdk.DefaultBondDenom, sdk.NewInt(int64(simState.Rand.Intn(10000000000)))))
|
||||
bondGenesis := types.NewGenesisState(bondParams, []*types.Bond{})
|
||||
|
||||
bz, err := json.MarshalIndent(bondGenesis, "", " ")
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
fmt.Printf("Selected randomly generated %s parameters:\n%s\n", types.ModuleName, bz)
|
||||
|
||||
simState.GenState[types.ModuleName] = simState.Cdc.MustMarshalJSON(bondGenesis)
|
||||
}
|
||||
Generated
+1
-1
@@ -114,7 +114,7 @@ func (m *Bond) XXX_DiscardUnknown() {
|
||||
|
||||
var xxx_messageInfo_Bond proto.InternalMessageInfo
|
||||
|
||||
func (m *Bond) GetID() string {
|
||||
func (m *Bond) GetId() string {
|
||||
if m != nil {
|
||||
return m.Id
|
||||
}
|
||||
|
||||
@@ -5,5 +5,13 @@ package types
|
||||
func DefaultGenesisState() *GenesisState {
|
||||
return &GenesisState{
|
||||
Params: DefaultParams(),
|
||||
Bonds: []*Bond{},
|
||||
}
|
||||
}
|
||||
|
||||
func NewGenesisState(params Params, bonds []*Bond) *GenesisState {
|
||||
return &GenesisState{
|
||||
Params: params,
|
||||
Bonds: bonds,
|
||||
}
|
||||
}
|
||||
|
||||
Generated
+1
-1
@@ -252,7 +252,7 @@ func (m *QueryGetBondByIDRequest) XXX_DiscardUnknown() {
|
||||
|
||||
var xxx_messageInfo_QueryGetBondByIDRequest proto.InternalMessageInfo
|
||||
|
||||
func (m *QueryGetBondByIDRequest) GetID() string {
|
||||
func (m *QueryGetBondByIDRequest) GetId() string {
|
||||
if m != nil {
|
||||
return m.Id
|
||||
}
|
||||
|
||||
@@ -1,272 +0,0 @@
|
||||
package keeper_test
|
||||
|
||||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
"os"
|
||||
|
||||
"github.com/cerc-io/laconicd/x/nameservice/client/cli"
|
||||
nameservicetypes "github.com/cerc-io/laconicd/x/nameservice/types"
|
||||
)
|
||||
|
||||
func (suite *KeeperTestSuite) TestGrpcQueryParams() {
|
||||
grpcClient := suite.queryClient
|
||||
|
||||
testCases := []struct {
|
||||
msg string
|
||||
req *nameservicetypes.QueryParamsRequest
|
||||
}{
|
||||
{
|
||||
"Get Params",
|
||||
&nameservicetypes.QueryParamsRequest{},
|
||||
},
|
||||
}
|
||||
for _, test := range testCases {
|
||||
suite.Run(fmt.Sprintf("Case %s ", test.msg), func() {
|
||||
resp, _ := grpcClient.Params(context.Background(), test.req)
|
||||
defaultParams := nameservicetypes.DefaultParams()
|
||||
suite.Require().Equal(defaultParams.String(), resp.GetParams().String())
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
func (suite *KeeperTestSuite) TestGrpcGetRecordLists() {
|
||||
grpcClient, ctx := suite.queryClient, suite.ctx
|
||||
sr := suite.Require()
|
||||
var recordId string
|
||||
testCases := []struct {
|
||||
msg string
|
||||
req *nameservicetypes.QueryListRecordsRequest
|
||||
createRecord bool
|
||||
expErr bool
|
||||
noOfRecords int
|
||||
}{
|
||||
{
|
||||
"Empty Records",
|
||||
&nameservicetypes.QueryListRecordsRequest{},
|
||||
false,
|
||||
false,
|
||||
0,
|
||||
},
|
||||
{
|
||||
"List Records",
|
||||
&nameservicetypes.QueryListRecordsRequest{},
|
||||
true,
|
||||
false,
|
||||
1,
|
||||
},
|
||||
}
|
||||
for _, test := range testCases {
|
||||
suite.Run(fmt.Sprintf("Case %s ", test.msg), func() {
|
||||
if test.createRecord {
|
||||
dir, err := os.Getwd()
|
||||
sr.NoError(err)
|
||||
payload, err := cli.GetPayloadFromFile(dir + "/../helpers/examples/example1.yml")
|
||||
sr.NoError(err)
|
||||
record, err := suite.app.NameServiceKeeper.ProcessSetRecord(ctx, nameservicetypes.MsgSetRecord{
|
||||
BondId: suite.bond.GetID(),
|
||||
Signer: suite.accounts[0].String(),
|
||||
Payload: payload.ToPayload(),
|
||||
})
|
||||
sr.NoError(err)
|
||||
sr.NotNil(record.ID)
|
||||
}
|
||||
resp, err := grpcClient.ListRecords(context.Background(), test.req)
|
||||
if test.expErr {
|
||||
suite.Error(err)
|
||||
} else {
|
||||
sr.NoError(err)
|
||||
sr.Equal(test.noOfRecords, len(resp.GetRecords()))
|
||||
if test.createRecord {
|
||||
recordId = resp.GetRecords()[0].GetID()
|
||||
sr.NotZero(resp.GetRecords())
|
||||
sr.Equal(resp.GetRecords()[0].GetBondId(), suite.bond.GetID())
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
// Get the records by record id
|
||||
testCases1 := []struct {
|
||||
msg string
|
||||
req *nameservicetypes.QueryRecordByIDRequest
|
||||
createRecord bool
|
||||
expErr bool
|
||||
noOfRecords int
|
||||
}{
|
||||
{
|
||||
"Invalid Request without record id",
|
||||
&nameservicetypes.QueryRecordByIDRequest{},
|
||||
false,
|
||||
true,
|
||||
0,
|
||||
},
|
||||
{
|
||||
"With Record ID",
|
||||
&nameservicetypes.QueryRecordByIDRequest{
|
||||
Id: recordId,
|
||||
},
|
||||
true,
|
||||
false,
|
||||
1,
|
||||
},
|
||||
}
|
||||
for _, test := range testCases1 {
|
||||
suite.Run(fmt.Sprintf("Case %s ", test.msg), func() {
|
||||
resp, err := grpcClient.GetRecord(context.Background(), test.req)
|
||||
if test.expErr {
|
||||
suite.Error(err)
|
||||
} else {
|
||||
sr.NoError(err)
|
||||
sr.NotNil(resp.GetRecord())
|
||||
if test.createRecord {
|
||||
sr.Equal(resp.GetRecord().BondId, suite.bond.GetID())
|
||||
sr.Equal(resp.GetRecord().Id, recordId)
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
// Get the records by record id
|
||||
testCasesByBondID := []struct {
|
||||
msg string
|
||||
req *nameservicetypes.QueryRecordByBondIDRequest
|
||||
createRecord bool
|
||||
expErr bool
|
||||
noOfRecords int
|
||||
}{
|
||||
{
|
||||
"Invalid Request without bond id",
|
||||
&nameservicetypes.QueryRecordByBondIDRequest{},
|
||||
false,
|
||||
true,
|
||||
0,
|
||||
},
|
||||
{
|
||||
"With Bond ID",
|
||||
&nameservicetypes.QueryRecordByBondIDRequest{
|
||||
Id: suite.bond.GetID(),
|
||||
},
|
||||
true,
|
||||
false,
|
||||
1,
|
||||
},
|
||||
}
|
||||
for _, test := range testCasesByBondID {
|
||||
suite.Run(fmt.Sprintf("Case %s ", test.msg), func() {
|
||||
resp, err := grpcClient.GetRecordByBondID(context.Background(), test.req)
|
||||
if test.expErr {
|
||||
sr.Zero(resp.GetRecords())
|
||||
} else {
|
||||
sr.NoError(err)
|
||||
sr.NotNil(resp.GetRecords())
|
||||
if test.createRecord {
|
||||
sr.NotZero(resp.GetRecords())
|
||||
sr.Equal(resp.GetRecords()[0].GetBondId(), suite.bond.GetID())
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
func (suite *KeeperTestSuite) TestGrpcQueryNameserviceModuleBalance() {
|
||||
grpcClient, ctx := suite.queryClient, suite.ctx
|
||||
sr := suite.Require()
|
||||
testCases := []struct {
|
||||
msg string
|
||||
req *nameservicetypes.GetNameServiceModuleBalanceRequest
|
||||
createRecord bool
|
||||
expErr bool
|
||||
noOfRecords int
|
||||
}{
|
||||
{
|
||||
"Get Module Balance",
|
||||
&nameservicetypes.GetNameServiceModuleBalanceRequest{},
|
||||
true,
|
||||
false,
|
||||
1,
|
||||
},
|
||||
}
|
||||
for _, test := range testCases {
|
||||
suite.Run(fmt.Sprintf("Case %s ", test.msg), func() {
|
||||
if test.createRecord {
|
||||
dir, err := os.Getwd()
|
||||
sr.NoError(err)
|
||||
payload, err := cli.GetPayloadFromFile(dir + "/../helpers/examples/example1.yml")
|
||||
sr.NoError(err)
|
||||
record, err := suite.app.NameServiceKeeper.ProcessSetRecord(ctx, nameservicetypes.MsgSetRecord{
|
||||
BondId: suite.bond.GetID(),
|
||||
Signer: suite.accounts[0].String(),
|
||||
Payload: payload.ToPayload(),
|
||||
})
|
||||
sr.NoError(err)
|
||||
sr.NotNil(record.ID)
|
||||
}
|
||||
resp, err := grpcClient.GetNameServiceModuleBalance(context.Background(), test.req)
|
||||
if test.expErr {
|
||||
suite.Error(err)
|
||||
} else {
|
||||
sr.NoError(err)
|
||||
sr.Equal(test.noOfRecords, len(resp.GetBalances()))
|
||||
if test.createRecord {
|
||||
balance := resp.GetBalances()[0]
|
||||
sr.Equal(balance.AccountName, nameservicetypes.RecordRentModuleAccountName)
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
func (suite *KeeperTestSuite) TestGrpcQueryWhoIS() {
|
||||
grpcClient, ctx := suite.queryClient, suite.ctx
|
||||
sr := suite.Require()
|
||||
authorityName := "TestGrpcQueryWhoIS"
|
||||
|
||||
testCases := []struct {
|
||||
msg string
|
||||
req *nameservicetypes.QueryWhoisRequest
|
||||
createName bool
|
||||
expErr bool
|
||||
noOfRecords int
|
||||
}{
|
||||
{
|
||||
"Invalid Request without name",
|
||||
&nameservicetypes.QueryWhoisRequest{},
|
||||
false,
|
||||
true,
|
||||
1,
|
||||
},
|
||||
{
|
||||
"Success",
|
||||
&nameservicetypes.QueryWhoisRequest{},
|
||||
true,
|
||||
false,
|
||||
1,
|
||||
},
|
||||
}
|
||||
for _, test := range testCases {
|
||||
suite.Run(fmt.Sprintf("Case %s ", test.msg), func() {
|
||||
if test.createName {
|
||||
err := suite.app.NameServiceKeeper.ProcessReserveAuthority(ctx, nameservicetypes.MsgReserveAuthority{
|
||||
Name: authorityName,
|
||||
Signer: suite.accounts[0].String(),
|
||||
Owner: suite.accounts[0].String(),
|
||||
})
|
||||
sr.NoError(err)
|
||||
test.req = &nameservicetypes.QueryWhoisRequest{Name: authorityName}
|
||||
}
|
||||
resp, err := grpcClient.Whois(context.Background(), test.req)
|
||||
if test.expErr {
|
||||
sr.Zero(len(resp.NameAuthority.AuctionId))
|
||||
} else {
|
||||
sr.NoError(err)
|
||||
if test.createName {
|
||||
nameAuth := resp.NameAuthority
|
||||
sr.NotNil(nameAuth)
|
||||
sr.Equal(nameAuth.OwnerAddress, suite.accounts[0].String())
|
||||
sr.Equal(nameservicetypes.AuthorityActive, nameAuth.Status)
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
@@ -19,7 +19,7 @@ $ make build
|
||||
## Get Params
|
||||
|
||||
```bash
|
||||
$ ./build/laconicd q nameservice params -o json | jq .
|
||||
$ ./build/laconicd q registry params -o json | jq .
|
||||
{
|
||||
"params": {
|
||||
"record_rent": {
|
||||
@@ -58,7 +58,7 @@ $ ./build/laconicd q nameservice params -o json | jq .
|
||||
> First you have to Create bond
|
||||
|
||||
```bash
|
||||
$ ./build/laconicd tx nameservice set ~/Desktop/examples/records/example1.yml 95f68b1b862bfd1609b0c9aaf7300287b92fec90ac64027092c3e723af36e83d --from root --chain-id ethermint_9000-1 --yes -o json
|
||||
$ ./build/laconicd tx registry set ~/Desktop/examples/records/service_provider_example.yml 95f68b1b862bfd1609b0c9aaf7300287b92fec90ac64027092c3e723af36e83d --from root --chain-id ethermint_9000-1 --yes -o json
|
||||
{
|
||||
"height": "0",
|
||||
"txhash": "BA44ABE1194724694E7CB290F9F3121DB4E63E1A030D95CB84813EEA132CF95F",
|
||||
@@ -78,7 +78,7 @@ $ ./build/laconicd tx nameservice set ~/Desktop/examples/records/example1.yml 95
|
||||
## Get records list
|
||||
|
||||
```bash
|
||||
$ ./build/laconicd q nameservice list -o json | jq
|
||||
$ ./build/laconicd q registry list -o json | jq
|
||||
[
|
||||
{
|
||||
"id": "bafyreih7un2ntk235wshncebus5emlozdhdixrrv675my5umb6fgdergae",
|
||||
@@ -104,7 +104,7 @@ $ ./build/laconicd q nameservice list -o json | jq
|
||||
## Get record by id
|
||||
|
||||
```bash
|
||||
$ ./build/laconicd q nameservice get bafyreih7un2ntk235wshncebus5emlozdhdixrrv675my5umb6fgdergae -o json | jq .
|
||||
$ ./build/laconicd q registry get bafyreih7un2ntk235wshncebus5emlozdhdixrrv675my5umb6fgdergae -o json | jq .
|
||||
{
|
||||
"record": {
|
||||
"id": "bafyreih7un2ntk235wshncebus5emlozdhdixrrv675my5umb6fgdergae",
|
||||
@@ -121,7 +121,7 @@ $ ./build/laconicd q nameservice get bafyreih7un2ntk235wshncebus5emlozdhdixrrv67
|
||||
## Reserve name
|
||||
|
||||
```bash
|
||||
./build/laconicd tx nameservice reserve-name hello --from root --chain-id ethermint_9000-1 --owner $(./build/laconicd key
|
||||
./build/laconicd tx registry reserve-name hello --from root --chain-id ethermint_9000-1 --owner $(./build/laconicd key
|
||||
s show root -a) -y -o json | jq .
|
||||
{
|
||||
"height": "0",
|
||||
@@ -143,7 +143,7 @@ s show root -a) -y -o json | jq .
|
||||
## Query Whois for name authority
|
||||
|
||||
```bash
|
||||
./build/laconicd q nameservice whois hello -o json | jq .
|
||||
./build/laconicd q registry whois hello -o json | jq .
|
||||
{
|
||||
"name_authority": {
|
||||
"owner_public_key": "Au3hH1tzL1KgZfXfA71jGYSe5RV9Wg95kwhBWs8V+N+h",
|
||||
@@ -158,10 +158,10 @@ s show root -a) -y -o json | jq .
|
||||
|
||||
```
|
||||
|
||||
## Query the nameservice module balance
|
||||
## Query the registry module balance
|
||||
|
||||
```bash
|
||||
$ ./build/laconicd q nameservice balance -o json | jq .
|
||||
$ ./build/laconicd q registry balance -o json | jq .
|
||||
{
|
||||
"balances": [
|
||||
{
|
||||
@@ -181,14 +181,14 @@ $ ./build/laconicd q nameservice balance -o json | jq .
|
||||
## add bond to the authority
|
||||
|
||||
```bash
|
||||
$ ./build/laconicd tx nameservice authority-bond [Authority Name] [Bond ID ] --from root --chain-id ethermint_9000-1 -y -o json | jq .
|
||||
$ ./build/laconicd tx nameservice authority-bond hello 95f68b1b862bfd1609b0c9aaf7300287b92fec90ac64027092c3e723af36e83d --from root --chain-id ethermint_9000-1 -y -o json | jq .
|
||||
$ ./build/laconicd tx registry authority-bond [Authority Name] [Bond ID ] --from root --chain-id ethermint_9000-1 -y -o json | jq .
|
||||
$ ./build/laconicd tx registry authority-bond hello 95f68b1b862bfd1609b0c9aaf7300287b92fec90ac64027092c3e723af36e83d --from root --chain-id ethermint_9000-1 -y -o json | jq .
|
||||
```
|
||||
|
||||
## Query the records by associate bond id
|
||||
|
||||
```bash
|
||||
$ ./build/laconicd q nameservice query-by-bond 95f68b1b862bfd1609b0c9aaf7300287b92fec90ac64027092c3e723af36e83d -o json | jq .
|
||||
$ ./build/laconicd q registry query-by-bond 95f68b1b862bfd1609b0c9aaf7300287b92fec90ac64027092c3e723af36e83d -o json | jq .
|
||||
{
|
||||
"records": [
|
||||
{
|
||||
@@ -209,8 +209,8 @@ $ ./build/laconicd q nameservice query-by-bond 95f68b1b862bfd1609b0c9aaf7300287b
|
||||
## dissociate bond from record
|
||||
|
||||
```bash
|
||||
$ ./build/laconicd tx nameservice dissociate-bond bafyreih7un2ntk235wshncebus5emlozdhdixrrv675my5umb6fgdergae --from root --chain-id ethermint_9000-1
|
||||
{"body":{"messages":[{"@type":"/vulcanize.nameservice.v1beta1.MsgDissociateBond","record_id":"bafyreih7un2ntk235wshncebus5emlozdhdixrrv675my5umb6fgdergae","signer":"ethm1mfdjngh5jvjs9lqtt9a7y2hlgw8v3syh3hsqzk"}],"memo":"","timeout_height":"0","extension_options":[],"non_critical_extension_options":[]},"auth_info":{"signer_infos":[],"fee":{"amount":[],"gas_limit":"200000","payer":"","granter":""}},"signatures":[]}
|
||||
$ ./build/laconicd tx registry dissociate-bond bafyreih7un2ntk235wshncebus5emlozdhdixrrv675my5umb6fgdergae --from root --chain-id ethermint_9000-1
|
||||
{"body":{"messages":[{"@type":"/vulcanize.registry.v1beta1.MsgDissociateBond","record_id":"bafyreih7un2ntk235wshncebus5emlozdhdixrrv675my5umb6fgdergae","signer":"ethm1mfdjngh5jvjs9lqtt9a7y2hlgw8v3syh3hsqzk"}],"memo":"","timeout_height":"0","extension_options":[],"non_critical_extension_options":[]},"auth_info":{"signer_infos":[],"fee":{"amount":[],"gas_limit":"200000","payer":"","granter":""}},"signatures":[]}
|
||||
|
||||
confirm transaction before signing and broadcasting [y/N]: y
|
||||
code: 0
|
||||
@@ -231,7 +231,7 @@ txhash: 7AFEF524CB0D92D6576FC08601A787786E802449888FD8DDAA7635698CC85060
|
||||
## Associate bond with record
|
||||
|
||||
```bash
|
||||
./build/laconicd tx nameservice associate-bond bafyreih7un2ntk235wshncebus5emlozdhdixrrv675my5umb6fgdergae c3f7a78c5042d2003880962ba31ff3b01fcf5942960e0bc3ca331f816346a440 --from root --chain-id ethermint_9000-1 -y -o json | jq .
|
||||
./build/laconicd tx registry associate-bond bafyreih7un2ntk235wshncebus5emlozdhdixrrv675my5umb6fgdergae c3f7a78c5042d2003880962ba31ff3b01fcf5942960e0bc3ca331f816346a440 --from root --chain-id ethermint_9000-1 -y -o json | jq .
|
||||
{
|
||||
"height": "0",
|
||||
"txhash": "F75C2BF2FE73668AE1332E1237F924AC549E31E822A56394DE5AC17200B199F9",
|
||||
@@ -252,7 +252,7 @@ txhash: 7AFEF524CB0D92D6576FC08601A787786E802449888FD8DDAA7635698CC85060
|
||||
## dissociate-records => remove all record from bond
|
||||
|
||||
```bash
|
||||
$./build/laconicd tx nameservice dissociate-records c3f7a78c5042d2003880962ba31ff3b01fcf5942960e0bc3ca331f816346a440 --from root --chain-id ethermint_9000-1 -y -o json | jq .
|
||||
$./build/laconicd tx registry dissociate-records c3f7a78c5042d2003880962ba31ff3b01fcf5942960e0bc3ca331f816346a440 --from root --chain-id ethermint_9000-1 -y -o json | jq .
|
||||
{
|
||||
"height": "0",
|
||||
"txhash": "0316F503E5DEA47CB108AE6C7C7FFAF3F71CC56BC22F63CB97322E1BE48B33B9",
|
||||
@@ -274,14 +274,14 @@ $./build/laconicd tx nameservice dissociate-records c3f7a78c5042d2003880962ba31f
|
||||
> When a record is expires , needs to renew record
|
||||
|
||||
```bash
|
||||
$ ./build/laconicd tx nameservice renew-record bafyreih7un2ntk235wshncebus5emlozdhdixrrv675my5umb6fgdergae --from root --chain-id ethermint_9000-1
|
||||
$ ./build/laconicd tx registry renew-record bafyreih7un2ntk235wshncebus5emlozdhdixrrv675my5umb6fgdergae --from root --chain-id ethermint_9000-1
|
||||
|
||||
```
|
||||
|
||||
## Set the authority name
|
||||
|
||||
```bash
|
||||
$ ./build/laconicd tx nameservice set-name crn://hello/test test_hello_cid --from root --chain-id ethermint_9000-1 -y -o json | jq .
|
||||
$ ./build/laconicd tx registry set-name crn://hello/test test_hello_cid --from root --chain-id ethermint_9000-1 -y -o json | jq .
|
||||
{
|
||||
"height": "0",
|
||||
"txhash": "66A63C73B076EEE9A2F7605354448EDEB161F0115D4D03AF68C01BA28DB97486",
|
||||
@@ -301,7 +301,7 @@ $ ./build/laconicd tx nameservice set-name crn://hello/test test_hello_cid --fr
|
||||
## Delete the name
|
||||
|
||||
```bash
|
||||
$./build/laconicd tx nameservice delete-name crn://hello/test --from root --chain-id ethermint_9000-1 -y
|
||||
$./build/laconicd tx registry delete-name crn://hello/test --from root --chain-id ethermint_9000-1 -y
|
||||
code: 0
|
||||
codespace: ""
|
||||
data: ""
|
||||
@@ -320,7 +320,7 @@ txhash: A3FF4C46BAC7BD6E54BBB743A49830AE8C6F6FE59282384789CBA323C1FE540C
|
||||
## List of Authorities Expire Queue
|
||||
|
||||
```bash
|
||||
$ ./build/laconicd q nameservice authority-expiry -o json | jq .
|
||||
$ ./build/laconicd q registry authority-expiry -o json | jq .
|
||||
{
|
||||
"authorities": [],
|
||||
"pagination": null
|
||||
@@ -331,7 +331,7 @@ $ ./build/laconicd q nameservice authority-expiry -o json | jq .
|
||||
## List of Records Expire Queue
|
||||
|
||||
```bash
|
||||
$ ./build/laconicd q nameservice record-expiry -o json | jq .
|
||||
$ ./build/laconicd q registry record-expiry -o json | jq .
|
||||
{
|
||||
"records": [],
|
||||
"pagination": null
|
||||
@@ -1,7 +1,7 @@
|
||||
package nameservice
|
||||
package registry
|
||||
|
||||
import (
|
||||
"github.com/cerc-io/laconicd/x/nameservice/keeper"
|
||||
"github.com/cerc-io/laconicd/x/registry/keeper"
|
||||
sdk "github.com/cosmos/cosmos-sdk/types"
|
||||
abci "github.com/tendermint/tendermint/abci/types"
|
||||
)
|
||||
@@ -5,7 +5,7 @@ import (
|
||||
"fmt"
|
||||
"strings"
|
||||
|
||||
"github.com/cerc-io/laconicd/x/nameservice/types"
|
||||
"github.com/cerc-io/laconicd/x/registry/types"
|
||||
"github.com/cosmos/cosmos-sdk/client"
|
||||
"github.com/cosmos/cosmos-sdk/client/flags"
|
||||
"github.com/cosmos/cosmos-sdk/version"
|
||||
@@ -14,14 +14,14 @@ import (
|
||||
|
||||
// GetQueryCmd returns the cli query commands for this module
|
||||
func GetQueryCmd() *cobra.Command {
|
||||
bondQueryCmd := &cobra.Command{
|
||||
registryQueryCmd := &cobra.Command{
|
||||
Use: types.ModuleName,
|
||||
Short: "Querying commands for the nameservice module",
|
||||
Short: "Querying commands for the registry module",
|
||||
DisableFlagParsing: true,
|
||||
SuggestionsMinimumDistance: 2,
|
||||
RunE: client.ValidateCmd,
|
||||
}
|
||||
bondQueryCmd.AddCommand(
|
||||
registryQueryCmd.AddCommand(
|
||||
GetCmdWhoIs(),
|
||||
GetCmdResolve(),
|
||||
GetCmdLookupCRN(),
|
||||
@@ -34,7 +34,7 @@ func GetQueryCmd() *cobra.Command {
|
||||
GetCmdBalance(),
|
||||
GetCmdNames(),
|
||||
)
|
||||
return bondQueryCmd
|
||||
return registryQueryCmd
|
||||
}
|
||||
|
||||
// GetCmdWhoIs queries a whois info for a name.
|
||||
@@ -292,7 +292,7 @@ $ %s query %s balance
|
||||
return err
|
||||
}
|
||||
queryClient := types.NewQueryClient(clientCtx)
|
||||
res, err := queryClient.GetNameServiceModuleBalance(cmd.Context(), &types.GetNameServiceModuleBalanceRequest{})
|
||||
res, err := queryClient.GetRegistryModuleBalance(cmd.Context(), &types.GetRegistryModuleBalanceRequest{})
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@@ -6,7 +6,7 @@ import (
|
||||
"strings"
|
||||
|
||||
"github.com/cerc-io/laconicd/server/flags"
|
||||
"github.com/cerc-io/laconicd/x/nameservice/types"
|
||||
"github.com/cerc-io/laconicd/x/registry/types"
|
||||
"github.com/cosmos/cosmos-sdk/client"
|
||||
"github.com/cosmos/cosmos-sdk/client/tx"
|
||||
sdk "github.com/cosmos/cosmos-sdk/types"
|
||||
@@ -17,15 +17,15 @@ import (
|
||||
|
||||
// NewTxCmd returns a root CLI command handler for all x/bond transaction commands.
|
||||
func NewTxCmd() *cobra.Command {
|
||||
bondTxCmd := &cobra.Command{
|
||||
registryTxCmd := &cobra.Command{
|
||||
Use: types.ModuleName,
|
||||
Short: "nameservice transaction subcommands",
|
||||
Short: "registry transaction subcommands",
|
||||
DisableFlagParsing: true,
|
||||
SuggestionsMinimumDistance: 2,
|
||||
RunE: client.ValidateCmd,
|
||||
}
|
||||
|
||||
bondTxCmd.AddCommand(
|
||||
registryTxCmd.AddCommand(
|
||||
GetCmdSetRecord(),
|
||||
GetCmdRenewRecord(),
|
||||
GetCmdAssociateBond(),
|
||||
@@ -38,7 +38,7 @@ func NewTxCmd() *cobra.Command {
|
||||
GetCmdDeleteName(),
|
||||
)
|
||||
|
||||
return bondTxCmd
|
||||
return registryTxCmd
|
||||
}
|
||||
|
||||
// GetCmdSetRecord is the CLI command for creating/updating a record.
|
||||
@@ -61,12 +61,17 @@ $ %s tx %s set [payload file path] [bond-id]
|
||||
return err
|
||||
}
|
||||
|
||||
payload, err := GetPayloadFromFile(args[0])
|
||||
payloadType, err := GetPayloadFromFile(args[0])
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
msg := types.NewMsgSetRecord(payload.ToPayload(), args[1], clientCtx.GetFromAddress())
|
||||
payload, err := payloadType.ToPayload()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
msg := types.NewMsgSetRecord(payload, args[1], clientCtx.GetFromAddress())
|
||||
err = msg.ValidateBasic()
|
||||
if err != nil {
|
||||
return err
|
||||
@@ -6,8 +6,8 @@ import (
|
||||
"os"
|
||||
"time"
|
||||
|
||||
"github.com/cerc-io/laconicd/x/nameservice/client/cli"
|
||||
nstypes "github.com/cerc-io/laconicd/x/nameservice/types"
|
||||
"github.com/cerc-io/laconicd/x/registry/client/cli"
|
||||
nstypes "github.com/cerc-io/laconicd/x/registry/types"
|
||||
"github.com/cosmos/cosmos-sdk/client/flags"
|
||||
clitestutil "github.com/cosmos/cosmos-sdk/testutil/cli"
|
||||
"github.com/cosmos/cosmos-sdk/testutil/rest"
|
||||
@@ -18,7 +18,7 @@ import (
|
||||
func (s *IntegrationTestSuite) TestGRPCQueryParams() {
|
||||
val := s.network.Validators[0]
|
||||
sr := s.Require()
|
||||
reqURL := val.APIAddress + "/vulcanize/nameservice/v1beta1/params"
|
||||
reqURL := val.APIAddress + "/vulcanize/registry/v1beta1/params"
|
||||
|
||||
testCases := []struct {
|
||||
name string
|
||||
@@ -64,7 +64,7 @@ func (s *IntegrationTestSuite) TestGRPCQueryParams() {
|
||||
func (s *IntegrationTestSuite) TestGRPCQueryWhoIs() {
|
||||
val := s.network.Validators[0]
|
||||
sr := s.Require()
|
||||
reqUrl := val.APIAddress + "/vulcanize/nameservice/v1beta1/whois/%s"
|
||||
reqUrl := val.APIAddress + "/vulcanize/registry/v1beta1/whois/%s"
|
||||
authorityName := "QueryWhoIS"
|
||||
testCases := []struct {
|
||||
name string
|
||||
@@ -131,7 +131,7 @@ func (s *IntegrationTestSuite) TestGRPCQueryWhoIs() {
|
||||
func (s *IntegrationTestSuite) TestGRPCQueryLookup() {
|
||||
val := s.network.Validators[0]
|
||||
sr := s.Require()
|
||||
reqURL := val.APIAddress + "/vulcanize/nameservice/v1beta1/lookup?crn=%s"
|
||||
reqURL := val.APIAddress + "/vulcanize/registry/v1beta1/lookup?crn=%s"
|
||||
authorityName := "QueryLookUp"
|
||||
|
||||
testCases := []struct {
|
||||
@@ -184,7 +184,7 @@ func (s *IntegrationTestSuite) TestGRPCQueryLookup() {
|
||||
func (s *IntegrationTestSuite) TestGRPCQueryRecordExpiryQueue() {
|
||||
val := s.network.Validators[0]
|
||||
sr := s.Require()
|
||||
reqUrl := val.APIAddress + "/vulcanize/nameservice/v1beta1/record-expiry"
|
||||
reqUrl := val.APIAddress + "/vulcanize/registry/v1beta1/record-expiry"
|
||||
|
||||
testCases := []struct {
|
||||
name string
|
||||
@@ -209,7 +209,7 @@ func (s *IntegrationTestSuite) TestGRPCQueryRecordExpiryQueue() {
|
||||
func(bondId string) {
|
||||
dir, err := os.Getwd()
|
||||
sr.NoError(err)
|
||||
payloadPath := dir + "/example1.yml"
|
||||
payloadPath := dir + "/service_provider_example.yml"
|
||||
args := []string{
|
||||
fmt.Sprintf("--%s=%s", flags.FlagFrom, accountName),
|
||||
fmt.Sprintf("--%s=true", flags.FlagSkipConfirmation),
|
||||
@@ -256,7 +256,7 @@ func (s *IntegrationTestSuite) TestGRPCQueryRecordExpiryQueue() {
|
||||
func (s *IntegrationTestSuite) TestGRPCQueryAuthorityExpiryQueue() {
|
||||
val := s.network.Validators[0]
|
||||
sr := s.Require()
|
||||
reqUrl := val.APIAddress + "/vulcanize/nameservice/v1beta1/authority-expiry"
|
||||
reqUrl := val.APIAddress + "/vulcanize/registry/v1beta1/authority-expiry"
|
||||
|
||||
testCases := []struct {
|
||||
name string
|
||||
@@ -328,7 +328,7 @@ func (s *IntegrationTestSuite) TestGRPCQueryAuthorityExpiryQueue() {
|
||||
func (s *IntegrationTestSuite) TestGRPCQueryListRecords() {
|
||||
val := s.network.Validators[0]
|
||||
sr := s.Require()
|
||||
reqUrl := val.APIAddress + "/vulcanize/nameservice/v1beta1/records"
|
||||
reqUrl := val.APIAddress + "/vulcanize/registry/v1beta1/records"
|
||||
|
||||
testCases := []struct {
|
||||
name string
|
||||
@@ -353,7 +353,7 @@ func (s *IntegrationTestSuite) TestGRPCQueryListRecords() {
|
||||
func(bondId string) {
|
||||
dir, err := os.Getwd()
|
||||
sr.NoError(err)
|
||||
payloadPath := dir + "/example1.yml"
|
||||
payloadPath := dir + "/service_provider_example.yml"
|
||||
args := []string{
|
||||
fmt.Sprintf("--%s=%s", flags.FlagFrom, accountName),
|
||||
fmt.Sprintf("--%s=true", flags.FlagSkipConfirmation),
|
||||
@@ -398,7 +398,7 @@ func (s *IntegrationTestSuite) TestGRPCQueryListRecords() {
|
||||
func (s *IntegrationTestSuite) TestGRPCQueryGetRecordByID() {
|
||||
val := s.network.Validators[0]
|
||||
sr := s.Require()
|
||||
reqURL := val.APIAddress + "/vulcanize/nameservice/v1beta1/records/%s"
|
||||
reqURL := val.APIAddress + "/vulcanize/registry/v1beta1/records/%s"
|
||||
|
||||
testCases := []struct {
|
||||
name string
|
||||
@@ -457,8 +457,8 @@ func (s *IntegrationTestSuite) TestGRPCQueryGetRecordByID() {
|
||||
err := val.ClientCtx.Codec.UnmarshalJSON(resp, &response)
|
||||
sr.NoError(err)
|
||||
record := response.GetRecord()
|
||||
sr.NotZero(len(record.GetID()))
|
||||
sr.Equal(record.GetID(), recordID)
|
||||
sr.NotZero(len(record.GetId()))
|
||||
sr.Equal(record.GetId(), recordID)
|
||||
}
|
||||
})
|
||||
}
|
||||
@@ -467,7 +467,7 @@ func (s *IntegrationTestSuite) TestGRPCQueryGetRecordByID() {
|
||||
func (s *IntegrationTestSuite) TestGRPCQueryGetRecordByBondID() {
|
||||
val := s.network.Validators[0]
|
||||
sr := s.Require()
|
||||
reqURL := val.APIAddress + "/vulcanize/nameservice/v1beta1/records-by-bond-id/%s"
|
||||
reqURL := val.APIAddress + "/vulcanize/registry/v1beta1/records-by-bond-id/%s"
|
||||
|
||||
testCases := []struct {
|
||||
name string
|
||||
@@ -518,10 +518,10 @@ func (s *IntegrationTestSuite) TestGRPCQueryGetRecordByBondID() {
|
||||
}
|
||||
}
|
||||
|
||||
func (s *IntegrationTestSuite) TestGRPCQueryGetNameServiceModuleBalance() {
|
||||
func (s *IntegrationTestSuite) TestGRPCQueryGetRegistryModuleBalance() {
|
||||
val := s.network.Validators[0]
|
||||
sr := s.Require()
|
||||
reqURL := val.APIAddress + "/vulcanize/nameservice/v1beta1/balance"
|
||||
reqURL := val.APIAddress + "/vulcanize/registry/v1beta1/balance"
|
||||
|
||||
testCases := []struct {
|
||||
name string
|
||||
@@ -560,7 +560,7 @@ func (s *IntegrationTestSuite) TestGRPCQueryGetNameServiceModuleBalance() {
|
||||
if tc.expectErr {
|
||||
require.Contains(string(resp), tc.errorMsg)
|
||||
} else {
|
||||
var response nstypes.GetNameServiceModuleBalanceResponse
|
||||
var response nstypes.GetRegistryModuleBalanceResponse
|
||||
err := val.ClientCtx.Codec.UnmarshalJSON(resp, &response)
|
||||
sr.NoError(err)
|
||||
sr.NotZero(len(response.GetBalances()))
|
||||
@@ -572,7 +572,7 @@ func (s *IntegrationTestSuite) TestGRPCQueryGetNameServiceModuleBalance() {
|
||||
func (s *IntegrationTestSuite) TestGRPCQueryNamesList() {
|
||||
val := s.network.Validators[0]
|
||||
sr := s.Require()
|
||||
reqURL := val.APIAddress + "/vulcanize/nameservice/v1beta1/names"
|
||||
reqURL := val.APIAddress + "/vulcanize/registry/v1beta1/names"
|
||||
|
||||
testCases := []struct {
|
||||
name string
|
||||
@@ -626,7 +626,7 @@ func createRecord(bondID string, s *IntegrationTestSuite) {
|
||||
|
||||
dir, err := os.Getwd()
|
||||
sr.NoError(err)
|
||||
payloadPath := dir + "/example1.yml"
|
||||
payloadPath := dir + "/service_provider_example.yml"
|
||||
args := []string{
|
||||
fmt.Sprintf("--%s=%s", flags.FlagFrom, accountName),
|
||||
fmt.Sprintf("--%s=true", flags.FlagSkipConfirmation),
|
||||
@@ -6,8 +6,8 @@ import (
|
||||
"os"
|
||||
"time"
|
||||
|
||||
"github.com/cerc-io/laconicd/x/nameservice/client/cli"
|
||||
"github.com/cerc-io/laconicd/x/nameservice/types"
|
||||
"github.com/cerc-io/laconicd/x/registry/client/cli"
|
||||
"github.com/cerc-io/laconicd/x/registry/types"
|
||||
"github.com/cosmos/cosmos-sdk/client/flags"
|
||||
clitestutil "github.com/cosmos/cosmos-sdk/testutil/cli"
|
||||
sdk "github.com/cosmos/cosmos-sdk/types"
|
||||
@@ -79,7 +79,7 @@ func (s *IntegrationTestSuite) TestGetCmdQueryForRecords() {
|
||||
bondID := GetBondID(s)
|
||||
dir, err := os.Getwd()
|
||||
sr.NoError(err)
|
||||
payloadPath := dir + "/example1.yml"
|
||||
payloadPath := dir + "/service_provider_example.yml"
|
||||
args := []string{
|
||||
payloadPath, bondID,
|
||||
fmt.Sprintf("--%s=%s", flags.FlagFrom, accountName),
|
||||
@@ -195,22 +195,22 @@ func (s *IntegrationTestSuite) TestGetCmdQueryForRecords() {
|
||||
})
|
||||
}
|
||||
|
||||
s.T().Log("Test Cases for getting nameservice module account balance")
|
||||
testCasesForNameServiceModuleBalance := []struct {
|
||||
s.T().Log("Test Cases for getting registry module account balance")
|
||||
testCasesForRegistryModuleBalance := []struct {
|
||||
name string
|
||||
args []string
|
||||
expErr bool
|
||||
noOfRecords int
|
||||
}{
|
||||
{
|
||||
"get nameservice module accounts balance",
|
||||
"get registry module accounts balance",
|
||||
[]string{fmt.Sprintf("--%s=json", tmcli.OutputFlag)},
|
||||
false,
|
||||
1,
|
||||
},
|
||||
}
|
||||
|
||||
for _, tc := range testCasesForNameServiceModuleBalance {
|
||||
for _, tc := range testCasesForRegistryModuleBalance {
|
||||
s.Run(tc.name, func() {
|
||||
cmd := cli.GetCmdBalance()
|
||||
clientCtx := val.ClientCtx
|
||||
@@ -220,7 +220,7 @@ func (s *IntegrationTestSuite) TestGetCmdQueryForRecords() {
|
||||
sr.Error(err)
|
||||
} else {
|
||||
sr.NoError(err)
|
||||
var response types.GetNameServiceModuleBalanceResponse
|
||||
var response types.GetRegistryModuleBalanceResponse
|
||||
err = clientCtx.Codec.UnmarshalJSON(out.Bytes(), &response)
|
||||
sr.NoError(err)
|
||||
sr.Equal(tc.noOfRecords, len(response.GetBalances()))
|
||||
@@ -0,0 +1,12 @@
|
||||
|
||||
record:
|
||||
type: ServiceProviderRegistration
|
||||
bond_id: madeUpBondID
|
||||
laconic_id: madeUpLaconicID
|
||||
x500:
|
||||
common_name: cerc-io
|
||||
organization_unit: xyz
|
||||
organization_name: abc
|
||||
state_name: california
|
||||
country: US
|
||||
locality_name: local
|
||||
@@ -9,8 +9,8 @@ import (
|
||||
"github.com/cerc-io/laconicd/testutil/network"
|
||||
bondcli "github.com/cerc-io/laconicd/x/bond/client/cli"
|
||||
"github.com/cerc-io/laconicd/x/bond/types"
|
||||
"github.com/cerc-io/laconicd/x/nameservice/client/cli"
|
||||
nstypes "github.com/cerc-io/laconicd/x/nameservice/types"
|
||||
"github.com/cerc-io/laconicd/x/registry/client/cli"
|
||||
nstypes "github.com/cerc-io/laconicd/x/registry/types"
|
||||
"github.com/cosmos/cosmos-sdk/client/flags"
|
||||
"github.com/cosmos/cosmos-sdk/crypto/hd"
|
||||
"github.com/cosmos/cosmos-sdk/crypto/keyring"
|
||||
@@ -153,7 +153,7 @@ func GetBondID(s *IntegrationTestSuite) string {
|
||||
|
||||
// extract bond id from bonds list
|
||||
bond := queryResponse.GetBonds()[0]
|
||||
return bond.GetID()
|
||||
return bond.GetId()
|
||||
}
|
||||
|
||||
func (s *IntegrationTestSuite) TestGetCmdSetRecord() {
|
||||
@@ -198,7 +198,7 @@ func (s *IntegrationTestSuite) TestGetCmdSetRecord() {
|
||||
bondID := GetBondID(s)
|
||||
dir, err := os.Getwd()
|
||||
sr.NoError(err)
|
||||
payloadPath := dir + "/example1.yml"
|
||||
payloadPath := dir + "/service_provider_example.yml"
|
||||
|
||||
tc.args = append([]string{payloadPath, bondID}, tc.args...)
|
||||
}
|
||||
@@ -580,7 +580,7 @@ func (s *IntegrationTestSuite) TestGetCmdDissociateBond() {
|
||||
bondID := GetBondID(s)
|
||||
dir, err := os.Getwd()
|
||||
sr.NoError(err)
|
||||
payloadPath := dir + "/example1.yml"
|
||||
payloadPath := dir + "/service_provider_example.yml"
|
||||
|
||||
args := []string{
|
||||
payloadPath, bondID,
|
||||
@@ -822,7 +822,7 @@ func (s *IntegrationTestSuite) TestGetCmdAssociateBond() {
|
||||
bondID := GetBondID(s)
|
||||
dir, err := os.Getwd()
|
||||
sr.NoError(err)
|
||||
payloadPath := dir + "/example1.yml"
|
||||
payloadPath := dir + "/service_provider_example.yml"
|
||||
|
||||
txArgs := []string{
|
||||
payloadPath, bondID,
|
||||
@@ -0,0 +1,6 @@
|
||||
record:
|
||||
type: WebsiteRegistrationRecord
|
||||
url: https://cerc.io
|
||||
repo_registration_record_cid: QmSnuWmxptJZdLJpKRarxBMS2Ju2oANVrgbr2xWbie9b2D
|
||||
build_artifact_cid: QmP8jTG1m9GSDJLCbeWhVSVgEzCPPwXRdCRuJtQ5Tz9Kc9
|
||||
tls_cert_cid: QmbWqxBEKC3P8tqsKc98xmWNzrzDtRLMiMPL8wBuTGsMnR
|
||||
@@ -1,10 +1,10 @@
|
||||
package nameservice
|
||||
package registry
|
||||
|
||||
import (
|
||||
"time"
|
||||
|
||||
"github.com/cerc-io/laconicd/x/nameservice/keeper"
|
||||
"github.com/cerc-io/laconicd/x/nameservice/types"
|
||||
"github.com/cerc-io/laconicd/x/registry/keeper"
|
||||
"github.com/cerc-io/laconicd/x/registry/types"
|
||||
sdk "github.com/cosmos/cosmos-sdk/types"
|
||||
abci "github.com/tendermint/tendermint/abci/types"
|
||||
)
|
||||
@@ -0,0 +1,12 @@
|
||||
|
||||
record:
|
||||
type: ServiceProviderRegistration
|
||||
bond_id: madeUpBondID
|
||||
laconic_id: madeUpLaconicID
|
||||
x500:
|
||||
common_name: cerc-io
|
||||
organization_unit: xyz
|
||||
organization_name: abc
|
||||
state_name: california
|
||||
country: US
|
||||
locality_name: local
|
||||
@@ -0,0 +1,6 @@
|
||||
record:
|
||||
type: WebsiteRegistrationRecord
|
||||
url: https://cerc.io
|
||||
repo_registration_record_cid: QmSnuWmxptJZdLJpKRarxBMS2Ju2oANVrgbr2xWbie9b2D
|
||||
build_artifact_cid: QmP8jTG1m9GSDJLCbeWhVSVgEzCPPwXRdCRuJtQ5Tz9Kc9
|
||||
tls_cerc_cid: QmbWqxBEKC3P8tqsKc98xmWNzrzDtRLMiMPL8wBuTGsMnR
|
||||
@@ -62,7 +62,7 @@ func UnMarshalMapFromJSONBytes(bytes []byte) map[string]interface{} {
|
||||
var val map[string]interface{}
|
||||
err := json.Unmarshal(bytes, &val)
|
||||
if err != nil {
|
||||
panic("Marshal error.")
|
||||
panic("Unmarshal error.")
|
||||
}
|
||||
|
||||
return val
|
||||
@@ -3,7 +3,7 @@ package keeper
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/cerc-io/laconicd/x/nameservice/types"
|
||||
"github.com/cerc-io/laconicd/x/registry/types"
|
||||
sdk "github.com/cosmos/cosmos-sdk/types"
|
||||
sdkerrors "github.com/cosmos/cosmos-sdk/types/errors"
|
||||
)
|
||||
@@ -32,9 +32,11 @@ func (q Querier) ListRecords(c context.Context, req *types.QueryListRecordsReque
|
||||
all := req.GetAll()
|
||||
var records []types.Record
|
||||
if len(attributes) > 0 {
|
||||
records = q.Keeper.MatchRecords(ctx, func(record *types.RecordType) bool {
|
||||
return MatchOnAttributes(record, attributes, all)
|
||||
})
|
||||
var err error
|
||||
records, err = q.Keeper.RecordsFromAttributes(ctx, attributes, all)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
} else {
|
||||
records = q.Keeper.ListRecords(ctx)
|
||||
}
|
||||
@@ -58,10 +60,10 @@ func (q Querier) GetRecordByBondID(c context.Context, req *types.QueryRecordByBo
|
||||
return &types.QueryRecordByBondIDResponse{Records: records}, nil
|
||||
}
|
||||
|
||||
func (q Querier) GetNameServiceModuleBalance(c context.Context, _ *types.GetNameServiceModuleBalanceRequest) (*types.GetNameServiceModuleBalanceResponse, error) {
|
||||
func (q Querier) GetRegistryModuleBalance(c context.Context, _ *types.GetRegistryModuleBalanceRequest) (*types.GetRegistryModuleBalanceResponse, error) {
|
||||
ctx := sdk.UnwrapSDKContext(c)
|
||||
balances := q.Keeper.GetModuleBalances(ctx)
|
||||
return &types.GetNameServiceModuleBalanceResponse{
|
||||
return &types.GetRegistryModuleBalanceResponse{
|
||||
Balances: balances,
|
||||
}, nil
|
||||
}
|
||||
@@ -112,115 +114,3 @@ func (q Querier) GetAuthorityExpiryQueue(c context.Context, _ *types.QueryGetAut
|
||||
authorities := q.Keeper.GetAuthorityExpiryQueue(ctx)
|
||||
return &types.QueryGetAuthorityExpiryQueueResponse{Authorities: authorities}, nil
|
||||
}
|
||||
|
||||
func matchOnRecordField(record *types.RecordType, attr *types.QueryListRecordsRequest_KeyValueInput) (fieldFound bool, matched bool) {
|
||||
fieldFound = false
|
||||
matched = true
|
||||
|
||||
switch attr.Key {
|
||||
case BondIDAttributeName:
|
||||
{
|
||||
fieldFound = true
|
||||
if record.BondID != attr.Value.GetString_() {
|
||||
matched = false
|
||||
return
|
||||
}
|
||||
}
|
||||
case ExpiryTimeAttributeName:
|
||||
{
|
||||
fieldFound = true
|
||||
if record.ExpiryTime != attr.Value.GetString_() {
|
||||
matched = false
|
||||
return
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
func MatchOnAttributes(record *types.RecordType, attributes []*types.QueryListRecordsRequest_KeyValueInput, all bool) bool {
|
||||
// Filter deleted records.
|
||||
if record.Deleted {
|
||||
return false
|
||||
}
|
||||
|
||||
// If ONLY named records are requested, check for that condition first.
|
||||
if !all && len(record.Names) == 0 {
|
||||
return false
|
||||
}
|
||||
|
||||
recAttrs := record.Attributes
|
||||
|
||||
for _, attr := range attributes {
|
||||
// First try matching on record struct fields.
|
||||
fieldFound, matched := matchOnRecordField(record, attr)
|
||||
|
||||
if fieldFound {
|
||||
if !matched {
|
||||
return false
|
||||
}
|
||||
|
||||
continue
|
||||
}
|
||||
|
||||
recAttrVal, recAttrFound := recAttrs[attr.Key]
|
||||
if !recAttrFound {
|
||||
return false
|
||||
}
|
||||
|
||||
if attr.Value.Type == "int" {
|
||||
recAttrValInt, ok := recAttrVal.(int)
|
||||
if !ok || int(attr.Value.GetInt()) != recAttrValInt {
|
||||
return false
|
||||
}
|
||||
}
|
||||
|
||||
if attr.Value.Type == "float" {
|
||||
recAttrValFloat, ok := recAttrVal.(float64)
|
||||
if !ok || attr.Value.GetFloat() != recAttrValFloat {
|
||||
return false
|
||||
}
|
||||
}
|
||||
|
||||
if attr.Value.Type == "string" {
|
||||
recAttrValString, ok := recAttrVal.(string)
|
||||
if !ok {
|
||||
return false
|
||||
}
|
||||
|
||||
if attr.Value.GetString_() != recAttrValString {
|
||||
return false
|
||||
}
|
||||
}
|
||||
|
||||
if attr.Value.Type == "boolean" {
|
||||
recAttrValBool, ok := recAttrVal.(bool)
|
||||
if !ok || attr.Value.GetBoolean() != recAttrValBool {
|
||||
return false
|
||||
}
|
||||
}
|
||||
|
||||
if attr.Value.Type == "reference" {
|
||||
obj, ok := recAttrVal.(map[string]interface{})
|
||||
if !ok {
|
||||
// Attr value is not an object.
|
||||
return false
|
||||
}
|
||||
|
||||
if _, ok := obj["/"].(string); !ok {
|
||||
// Attr value is not a reference.
|
||||
return false
|
||||
}
|
||||
|
||||
recAttrValRefID := obj["/"].(string)
|
||||
if recAttrValRefID != attr.Value.GetReference().GetId() {
|
||||
return false
|
||||
}
|
||||
}
|
||||
|
||||
// TODO: Handle arrays.
|
||||
}
|
||||
|
||||
return true
|
||||
}
|
||||
@@ -0,0 +1,339 @@
|
||||
package keeper_test
|
||||
|
||||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
"os"
|
||||
|
||||
"github.com/cerc-io/laconicd/x/registry/client/cli"
|
||||
"github.com/cerc-io/laconicd/x/registry/helpers"
|
||||
"github.com/cerc-io/laconicd/x/registry/keeper"
|
||||
registrytypes "github.com/cerc-io/laconicd/x/registry/types"
|
||||
)
|
||||
|
||||
func (suite *KeeperTestSuite) TestGrpcQueryParams() {
|
||||
grpcClient := suite.queryClient
|
||||
|
||||
testCases := []struct {
|
||||
msg string
|
||||
req *registrytypes.QueryParamsRequest
|
||||
}{
|
||||
{
|
||||
"Get Params",
|
||||
®istrytypes.QueryParamsRequest{},
|
||||
},
|
||||
}
|
||||
for _, test := range testCases {
|
||||
suite.Run(fmt.Sprintf("Case %s ", test.msg), func() {
|
||||
resp, _ := grpcClient.Params(context.Background(), test.req)
|
||||
defaultParams := registrytypes.DefaultParams()
|
||||
suite.Require().Equal(defaultParams.String(), resp.GetParams().String())
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
func (suite *KeeperTestSuite) TestGrpcGetRecordLists() {
|
||||
grpcClient, ctx := suite.queryClient, suite.ctx
|
||||
sr := suite.Require()
|
||||
var recordId string
|
||||
examples := []string{
|
||||
"/../helpers/examples/service_provider_example.yml",
|
||||
"/../helpers/examples/website_registration_example.yml",
|
||||
}
|
||||
testCases := []struct {
|
||||
msg string
|
||||
req *registrytypes.QueryListRecordsRequest
|
||||
createRecords bool
|
||||
expErr bool
|
||||
noOfRecords int
|
||||
}{
|
||||
{
|
||||
"Empty Records",
|
||||
®istrytypes.QueryListRecordsRequest{},
|
||||
false,
|
||||
false,
|
||||
0,
|
||||
},
|
||||
{
|
||||
"List Records",
|
||||
®istrytypes.QueryListRecordsRequest{},
|
||||
true,
|
||||
false,
|
||||
2,
|
||||
},
|
||||
{
|
||||
"Filter with type",
|
||||
®istrytypes.QueryListRecordsRequest{
|
||||
Attributes: []*registrytypes.QueryListRecordsRequest_KeyValueInput{
|
||||
{
|
||||
Key: "type",
|
||||
Value: ®istrytypes.QueryListRecordsRequest_ValueInput{
|
||||
Type: "string",
|
||||
String_: "WebsiteRegistrationRecord",
|
||||
},
|
||||
},
|
||||
},
|
||||
All: true,
|
||||
},
|
||||
true,
|
||||
false,
|
||||
1,
|
||||
},
|
||||
{
|
||||
"Filter with attributes ServiceProviderRegistration",
|
||||
®istrytypes.QueryListRecordsRequest{
|
||||
Attributes: []*registrytypes.QueryListRecordsRequest_KeyValueInput{
|
||||
{
|
||||
Key: "x500state_name",
|
||||
Value: ®istrytypes.QueryListRecordsRequest_ValueInput{
|
||||
Type: "string",
|
||||
String_: "california",
|
||||
},
|
||||
},
|
||||
},
|
||||
All: true,
|
||||
},
|
||||
true,
|
||||
false,
|
||||
1,
|
||||
},
|
||||
}
|
||||
for _, test := range testCases {
|
||||
suite.Run(fmt.Sprintf("Case %s ", test.msg), func() {
|
||||
if test.createRecords {
|
||||
for _, example := range examples {
|
||||
dir, err := os.Getwd()
|
||||
sr.NoError(err)
|
||||
payloadType, err := cli.GetPayloadFromFile(fmt.Sprint(dir, example))
|
||||
sr.NoError(err)
|
||||
payload, err := payloadType.ToPayload()
|
||||
sr.NoError(err)
|
||||
record, err := suite.app.RegistryKeeper.ProcessSetRecord(ctx, registrytypes.MsgSetRecord{
|
||||
BondId: suite.bond.GetId(),
|
||||
Signer: suite.accounts[0].String(),
|
||||
Payload: payload,
|
||||
})
|
||||
sr.NoError(err)
|
||||
sr.NotNil(record.ID)
|
||||
}
|
||||
}
|
||||
resp, err := grpcClient.ListRecords(context.Background(), test.req)
|
||||
if test.expErr {
|
||||
suite.Error(err)
|
||||
} else {
|
||||
sr.NoError(err)
|
||||
sr.Equal(test.noOfRecords, len(resp.GetRecords()))
|
||||
if test.createRecords {
|
||||
recordId = resp.GetRecords()[0].GetId()
|
||||
sr.NotZero(resp.GetRecords())
|
||||
sr.Equal(resp.GetRecords()[0].GetBondId(), suite.bond.GetId())
|
||||
|
||||
for _, record := range resp.GetRecords() {
|
||||
bz, err := registrytypes.GetJSONBytesFromAny(*record.Attributes)
|
||||
sr.NoError(err)
|
||||
recAttr := helpers.UnMarshalMapFromJSONBytes(bz)
|
||||
for _, attr := range test.req.GetAttributes() {
|
||||
if attr.Key[:4] == "x500" {
|
||||
sr.Equal(keeper.GetAttributeValue(attr.Value), recAttr["x500"].(map[string]interface{})[attr.Key[4:]])
|
||||
} else {
|
||||
sr.Equal(keeper.GetAttributeValue(attr.Value), recAttr[attr.Key])
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
// Get the records by record id
|
||||
testCases1 := []struct {
|
||||
msg string
|
||||
req *registrytypes.QueryRecordByIDRequest
|
||||
createRecord bool
|
||||
expErr bool
|
||||
noOfRecords int
|
||||
}{
|
||||
{
|
||||
"Invalid Request without record id",
|
||||
®istrytypes.QueryRecordByIDRequest{},
|
||||
false,
|
||||
true,
|
||||
0,
|
||||
},
|
||||
{
|
||||
"With Record ID",
|
||||
®istrytypes.QueryRecordByIDRequest{
|
||||
Id: recordId,
|
||||
},
|
||||
true,
|
||||
false,
|
||||
1,
|
||||
},
|
||||
}
|
||||
for _, test := range testCases1 {
|
||||
suite.Run(fmt.Sprintf("Case %s ", test.msg), func() {
|
||||
resp, err := grpcClient.GetRecord(context.Background(), test.req)
|
||||
if test.expErr {
|
||||
suite.Error(err)
|
||||
} else {
|
||||
sr.NoError(err)
|
||||
sr.NotNil(resp.GetRecord())
|
||||
if test.createRecord {
|
||||
sr.Equal(resp.GetRecord().BondId, suite.bond.GetId())
|
||||
sr.Equal(resp.GetRecord().Id, recordId)
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
// Get the records by record id
|
||||
testCasesByBondID := []struct {
|
||||
msg string
|
||||
req *registrytypes.QueryRecordByBondIDRequest
|
||||
createRecord bool
|
||||
expErr bool
|
||||
noOfRecords int
|
||||
}{
|
||||
{
|
||||
"Invalid Request without bond id",
|
||||
®istrytypes.QueryRecordByBondIDRequest{},
|
||||
false,
|
||||
true,
|
||||
0,
|
||||
},
|
||||
{
|
||||
"With Bond ID",
|
||||
®istrytypes.QueryRecordByBondIDRequest{
|
||||
Id: suite.bond.GetId(),
|
||||
},
|
||||
true,
|
||||
false,
|
||||
1,
|
||||
},
|
||||
}
|
||||
for _, test := range testCasesByBondID {
|
||||
suite.Run(fmt.Sprintf("Case %s ", test.msg), func() {
|
||||
resp, err := grpcClient.GetRecordByBondID(context.Background(), test.req)
|
||||
if test.expErr {
|
||||
sr.Zero(resp.GetRecords())
|
||||
} else {
|
||||
sr.NoError(err)
|
||||
sr.NotNil(resp.GetRecords())
|
||||
if test.createRecord {
|
||||
sr.NotZero(resp.GetRecords())
|
||||
sr.Equal(resp.GetRecords()[0].GetBondId(), suite.bond.GetId())
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
func (suite *KeeperTestSuite) TestGrpcQueryRegistryModuleBalance() {
|
||||
grpcClient, ctx := suite.queryClient, suite.ctx
|
||||
sr := suite.Require()
|
||||
examples := []string{
|
||||
"/../helpers/examples/service_provider_example.yml",
|
||||
"/../helpers/examples/website_registration_example.yml",
|
||||
}
|
||||
testCases := []struct {
|
||||
msg string
|
||||
req *registrytypes.GetRegistryModuleBalanceRequest
|
||||
createRecords bool
|
||||
expErr bool
|
||||
noOfRecords int
|
||||
}{
|
||||
{
|
||||
"Get Module Balance",
|
||||
®istrytypes.GetRegistryModuleBalanceRequest{},
|
||||
true,
|
||||
false,
|
||||
1,
|
||||
},
|
||||
}
|
||||
for _, test := range testCases {
|
||||
suite.Run(fmt.Sprintf("Case %s ", test.msg), func() {
|
||||
if test.createRecords {
|
||||
dir, err := os.Getwd()
|
||||
sr.NoError(err)
|
||||
for _, example := range examples {
|
||||
payloadType, err := cli.GetPayloadFromFile(fmt.Sprint(dir, example))
|
||||
sr.NoError(err)
|
||||
payload, err := payloadType.ToPayload()
|
||||
sr.NoError(err)
|
||||
record, err := suite.app.RegistryKeeper.ProcessSetRecord(ctx, registrytypes.MsgSetRecord{
|
||||
BondId: suite.bond.GetId(),
|
||||
Signer: suite.accounts[0].String(),
|
||||
Payload: payload,
|
||||
})
|
||||
sr.NoError(err)
|
||||
sr.NotNil(record.ID)
|
||||
}
|
||||
}
|
||||
resp, err := grpcClient.GetRegistryModuleBalance(context.Background(), test.req)
|
||||
if test.expErr {
|
||||
suite.Error(err)
|
||||
} else {
|
||||
sr.NoError(err)
|
||||
sr.Equal(test.noOfRecords, len(resp.GetBalances()))
|
||||
if test.createRecords {
|
||||
balance := resp.GetBalances()[0]
|
||||
sr.Equal(balance.AccountName, registrytypes.RecordRentModuleAccountName)
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
func (suite *KeeperTestSuite) TestGrpcQueryWhoIS() {
|
||||
grpcClient, ctx := suite.queryClient, suite.ctx
|
||||
sr := suite.Require()
|
||||
authorityName := "TestGrpcQueryWhoIS"
|
||||
|
||||
testCases := []struct {
|
||||
msg string
|
||||
req *registrytypes.QueryWhoisRequest
|
||||
createName bool
|
||||
expErr bool
|
||||
noOfRecords int
|
||||
}{
|
||||
{
|
||||
"Invalid Request without name",
|
||||
®istrytypes.QueryWhoisRequest{},
|
||||
false,
|
||||
true,
|
||||
1,
|
||||
},
|
||||
{
|
||||
"Success",
|
||||
®istrytypes.QueryWhoisRequest{},
|
||||
true,
|
||||
false,
|
||||
1,
|
||||
},
|
||||
}
|
||||
for _, test := range testCases {
|
||||
suite.Run(fmt.Sprintf("Case %s ", test.msg), func() {
|
||||
if test.createName {
|
||||
err := suite.app.RegistryKeeper.ProcessReserveAuthority(ctx, registrytypes.MsgReserveAuthority{
|
||||
Name: authorityName,
|
||||
Signer: suite.accounts[0].String(),
|
||||
Owner: suite.accounts[0].String(),
|
||||
})
|
||||
sr.NoError(err)
|
||||
test.req = ®istrytypes.QueryWhoisRequest{Name: authorityName}
|
||||
}
|
||||
resp, err := grpcClient.Whois(context.Background(), test.req)
|
||||
if test.expErr {
|
||||
sr.Zero(len(resp.NameAuthority.AuctionId))
|
||||
} else {
|
||||
sr.NoError(err)
|
||||
if test.createName {
|
||||
nameAuth := resp.NameAuthority
|
||||
sr.NotNil(nameAuth)
|
||||
sr.Equal(nameAuth.OwnerAddress, suite.accounts[0].String())
|
||||
sr.Equal(registrytypes.AuthorityActive, nameAuth.Status)
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
@@ -1,11 +1,11 @@
|
||||
package keeper
|
||||
|
||||
import (
|
||||
"github.com/cerc-io/laconicd/x/nameservice/types"
|
||||
"github.com/cerc-io/laconicd/x/registry/types"
|
||||
sdk "github.com/cosmos/cosmos-sdk/types"
|
||||
)
|
||||
|
||||
// RegisterInvariants registers all nameservice module invariants.
|
||||
// RegisterInvariants registers all registry module invariants.
|
||||
func RegisterInvariants(ir sdk.InvariantRegistry, k Keeper) {
|
||||
ir.RegisterRoute(types.ModuleName, "record", RecordInvariants(k))
|
||||
}
|
||||
@@ -2,14 +2,15 @@ package keeper
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"sort"
|
||||
"time"
|
||||
|
||||
auctionkeeper "github.com/cerc-io/laconicd/x/auction/keeper"
|
||||
bondkeeper "github.com/cerc-io/laconicd/x/bond/keeper"
|
||||
"github.com/cerc-io/laconicd/x/nameservice/helpers"
|
||||
"github.com/cerc-io/laconicd/x/nameservice/types"
|
||||
"github.com/cerc-io/laconicd/x/registry/helpers"
|
||||
"github.com/cerc-io/laconicd/x/registry/types"
|
||||
"github.com/cosmos/cosmos-sdk/codec"
|
||||
"github.com/cosmos/cosmos-sdk/codec/legacy"
|
||||
storetypes "github.com/cosmos/cosmos-sdk/store/types"
|
||||
@@ -45,6 +46,9 @@ var (
|
||||
// PrefixBondIDToAuthoritiesIndex is the prefix for the Bond ID -> [Authority] index.
|
||||
PrefixBondIDToAuthoritiesIndex = []byte{0x06}
|
||||
|
||||
// PrefixAttributesIndex is the prefix for the registry Record.Attribute -> []Record.ID index
|
||||
PrefixAttributesIndex = []byte{0x07}
|
||||
|
||||
// PrefixExpiryTimeToRecordsIndex is the prefix for the Expiry Time -> [Record] index.
|
||||
PrefixExpiryTimeToRecordsIndex = []byte{0x10}
|
||||
|
||||
@@ -71,7 +75,7 @@ type Keeper struct {
|
||||
paramSubspace paramtypes.Subspace
|
||||
}
|
||||
|
||||
// NewKeeper creates new instances of the nameservice Keeper
|
||||
// NewKeeper creates new instances of the registry Keeper
|
||||
func NewKeeper(cdc codec.BinaryCodec, accountKeeper auth.AccountKeeper, bankKeeper bank.Keeper, recordKeeper RecordKeeper,
|
||||
bondKeeper bondkeeper.Keeper, auctionKeeper auctionkeeper.Keeper, storeKey storetypes.StoreKey, ps paramtypes.Subspace,
|
||||
) Keeper {
|
||||
@@ -129,27 +133,80 @@ func (k Keeper) ListRecords(ctx sdk.Context) []types.Record {
|
||||
return records
|
||||
}
|
||||
|
||||
// MatchRecords - get all matching records.
|
||||
func (k Keeper) MatchRecords(ctx sdk.Context, matchFn func(*types.RecordType) bool) []types.Record {
|
||||
var records []types.Record
|
||||
|
||||
store := ctx.KVStore(k.storeKey)
|
||||
itr := sdk.KVStorePrefixIterator(store, PrefixCIDToRecordIndex)
|
||||
defer itr.Close()
|
||||
for ; itr.Valid(); itr.Next() {
|
||||
bz := store.Get(itr.Key())
|
||||
if bz != nil {
|
||||
var obj types.Record
|
||||
k.cdc.MustUnmarshal(bz, &obj)
|
||||
obj = recordObjToRecord(store, obj)
|
||||
record := obj.ToRecordType()
|
||||
if matchFn(&record) {
|
||||
records = append(records, obj)
|
||||
}
|
||||
func (k Keeper) RecordsFromAttributes(ctx sdk.Context, attributes []*types.QueryListRecordsRequest_KeyValueInput, all bool) ([]types.Record, error) {
|
||||
resultRecordIds := []string{}
|
||||
for i, attr := range attributes {
|
||||
val := GetAttributeValue(attr.Value)
|
||||
attributeIndex := GetAttributesIndexKey(attr.Key, val)
|
||||
recordIds, err := k.GetAttributeMapping(ctx, attributeIndex)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if i == 0 {
|
||||
resultRecordIds = recordIds
|
||||
} else {
|
||||
resultRecordIds = getIntersection(recordIds, resultRecordIds)
|
||||
}
|
||||
}
|
||||
|
||||
return records
|
||||
records := []types.Record{}
|
||||
for _, id := range resultRecordIds {
|
||||
record := k.GetRecord(ctx, id)
|
||||
if record.Deleted {
|
||||
continue
|
||||
}
|
||||
if !all && len(record.Names) == 0 {
|
||||
continue
|
||||
}
|
||||
records = append(records, record)
|
||||
}
|
||||
return records, nil
|
||||
}
|
||||
|
||||
func GetAttributeValue(input *types.QueryListRecordsRequest_ValueInput) interface{} {
|
||||
if input.Type == "int" {
|
||||
return input.GetInt()
|
||||
}
|
||||
if input.Type == "float" {
|
||||
return input.GetFloat()
|
||||
}
|
||||
if input.Type == "string" {
|
||||
return input.GetString_()
|
||||
}
|
||||
if input.Type == "boolean" {
|
||||
return input.GetBoolean()
|
||||
}
|
||||
if input.Type == "reference" {
|
||||
return input.GetReference().GetId()
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func getIntersection(a []string, b []string) []string {
|
||||
result := []string{}
|
||||
if len(a) < len(b) {
|
||||
for _, str := range a {
|
||||
if contains(b, str) {
|
||||
result = append(result, str)
|
||||
}
|
||||
}
|
||||
} else {
|
||||
for _, str := range b {
|
||||
if contains(a, str) {
|
||||
result = append(result, str)
|
||||
}
|
||||
}
|
||||
}
|
||||
return result
|
||||
}
|
||||
|
||||
func contains(arr []string, str string) bool {
|
||||
for _, s := range arr {
|
||||
if s == str {
|
||||
return true
|
||||
}
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
func (k Keeper) GetRecordExpiryQueue(ctx sdk.Context) []*types.ExpiryQueueRecord {
|
||||
@@ -229,8 +286,17 @@ func (k Keeper) processRecord(ctx sdk.Context, record *types.RecordType, isRenew
|
||||
record.ExpiryTime = ctx.BlockHeader().Time.Add(params.RecordRentDuration).Format(time.RFC3339)
|
||||
record.Deleted = false
|
||||
|
||||
k.PutRecord(ctx, record.ToRecordObj())
|
||||
k.InsertRecordExpiryQueue(ctx, record.ToRecordObj())
|
||||
recordObj, err := record.ToRecordObj()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
k.PutRecord(ctx, recordObj)
|
||||
|
||||
if err := k.ProcessAttributes(ctx, *record); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
k.InsertRecordExpiryQueue(ctx, recordObj)
|
||||
|
||||
// Renewal doesn't change the name and bond indexes.
|
||||
if !isRenewal {
|
||||
@@ -247,6 +313,90 @@ func (k Keeper) PutRecord(ctx sdk.Context, record types.Record) {
|
||||
k.updateBlockChangeSetForRecord(ctx, record.Id)
|
||||
}
|
||||
|
||||
func (k Keeper) ProcessAttributes(ctx sdk.Context, record types.RecordType) error {
|
||||
switch record.Attributes["type"] {
|
||||
case "ServiceProviderRegistration":
|
||||
{
|
||||
// #nosec G705
|
||||
for key := range record.Attributes {
|
||||
if key == "x500" {
|
||||
// #nosec G705
|
||||
for x500Key, x500Val := range record.Attributes[key].(map[string]interface{}) {
|
||||
indexKey := GetAttributesIndexKey(fmt.Sprintf("x500%s", x500Key), x500Val)
|
||||
if err := k.SetAttributeMapping(ctx, indexKey, record.ID); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
} else {
|
||||
indexKey := GetAttributesIndexKey(key, record.Attributes[key])
|
||||
if err := k.SetAttributeMapping(ctx, indexKey, record.ID); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
case "WebsiteRegistrationRecord":
|
||||
{
|
||||
// #nosec G705
|
||||
for key := range record.Attributes {
|
||||
indexKey := GetAttributesIndexKey(key, record.Attributes[key])
|
||||
if err := k.SetAttributeMapping(ctx, indexKey, record.ID); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
}
|
||||
default:
|
||||
return fmt.Errorf("unsupported record type %s", record.Attributes["type"])
|
||||
}
|
||||
|
||||
expiryTimeKey := GetAttributesIndexKey(ExpiryTimeAttributeName, record.ExpiryTime)
|
||||
if err := k.SetAttributeMapping(ctx, expiryTimeKey, record.ID); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func GetAttributesIndexKey(key string, value interface{}) []byte {
|
||||
keyString := fmt.Sprintf("%s%s", key, value)
|
||||
return append(PrefixAttributesIndex, []byte(keyString)...)
|
||||
}
|
||||
|
||||
func (k Keeper) SetAttributeMapping(ctx sdk.Context, key []byte, recordID string) error {
|
||||
store := ctx.KVStore(k.storeKey)
|
||||
var recordIds []string
|
||||
if store.Has(key) {
|
||||
err := json.Unmarshal(store.Get(key), &recordIds)
|
||||
if err != nil {
|
||||
return fmt.Errorf("cannot unmarshal byte array, error, %w", err)
|
||||
}
|
||||
} else {
|
||||
recordIds = []string{}
|
||||
}
|
||||
recordIds = append(recordIds, recordID)
|
||||
bz, err := json.Marshal(recordIds)
|
||||
if err != nil {
|
||||
return fmt.Errorf("cannot marshal string array, error, %w", err)
|
||||
}
|
||||
store.Set(key, bz)
|
||||
return nil
|
||||
}
|
||||
|
||||
func (k Keeper) GetAttributeMapping(ctx sdk.Context, key []byte) ([]string, error) {
|
||||
store := ctx.KVStore(k.storeKey)
|
||||
|
||||
if !store.Has(key) {
|
||||
return nil, fmt.Errorf("store doesn't have key")
|
||||
}
|
||||
|
||||
var recordIds []string
|
||||
if err := json.Unmarshal(store.Get(key), &recordIds); err != nil {
|
||||
return nil, fmt.Errorf("cannont unmarshal byte array, error, %w", err)
|
||||
}
|
||||
|
||||
return recordIds, nil
|
||||
}
|
||||
|
||||
// AddBondToRecordIndexEntry adds the Bond ID -> [Record] index entry.
|
||||
func (k Keeper) AddBondToRecordIndexEntry(ctx sdk.Context, bondID string, id string) {
|
||||
store := ctx.KVStore(k.storeKey)
|
||||
@@ -399,7 +549,7 @@ func (k Keeper) TryTakeRecordRent(ctx sdk.Context, record types.Record) {
|
||||
k.AddBondToRecordIndexEntry(ctx, record.BondId, record.Id)
|
||||
}
|
||||
|
||||
// GetModuleBalances gets the nameservice module account(s) balances.
|
||||
// GetModuleBalances gets the registry module account(s) balances.
|
||||
func (k Keeper) GetModuleBalances(ctx sdk.Context) []*types.AccountBalance {
|
||||
var balances []*types.AccountBalance
|
||||
accountNames := []string{types.RecordRentModuleAccountName, types.AuthorityRentModuleAccountName}
|
||||
@@ -6,8 +6,8 @@ import (
|
||||
|
||||
"github.com/cerc-io/laconicd/app"
|
||||
bondtypes "github.com/cerc-io/laconicd/x/bond/types"
|
||||
nameservicekeeper "github.com/cerc-io/laconicd/x/nameservice/keeper"
|
||||
"github.com/cerc-io/laconicd/x/nameservice/types"
|
||||
registrykeeper "github.com/cerc-io/laconicd/x/registry/keeper"
|
||||
"github.com/cerc-io/laconicd/x/registry/types"
|
||||
"github.com/cosmos/cosmos-sdk/baseapp"
|
||||
"github.com/cosmos/cosmos-sdk/simapp"
|
||||
sdk "github.com/cosmos/cosmos-sdk/types"
|
||||
@@ -34,7 +34,7 @@ func (suite *KeeperTestSuite) SetupTest() {
|
||||
})
|
||||
ctx := testApp.BaseApp.NewContext(false, tmproto.Header{})
|
||||
|
||||
querier := nameservicekeeper.Querier{Keeper: testApp.NameServiceKeeper}
|
||||
querier := registrykeeper.Querier{Keeper: testApp.RegistryKeeper}
|
||||
|
||||
queryHelper := baseapp.NewQueryServerTestHelper(ctx, testApp.InterfaceRegistry())
|
||||
types.RegisterQueryServer(queryHelper, querier)
|
||||
@@ -64,7 +64,7 @@ func TestParams(t *testing.T) {
|
||||
ctx := testApp.BaseApp.NewContext(false, tmproto.Header{})
|
||||
|
||||
expParams := types.DefaultParams()
|
||||
params := testApp.NameServiceKeeper.GetParams(ctx)
|
||||
params := testApp.RegistryKeeper.GetParams(ctx)
|
||||
require.True(t, params.Equal(expParams))
|
||||
}
|
||||
|
||||
@@ -3,7 +3,7 @@ package keeper
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/cerc-io/laconicd/x/nameservice/types"
|
||||
"github.com/cerc-io/laconicd/x/registry/types"
|
||||
sdk "github.com/cosmos/cosmos-sdk/types"
|
||||
)
|
||||
|
||||
@@ -39,7 +39,7 @@ func (m msgServer) SetRecord(c context.Context, msg *types.MsgSetRecord) (*types
|
||||
types.EventTypeSetRecord,
|
||||
sdk.NewAttribute(types.AttributeKeySigner, msg.GetSigner()),
|
||||
sdk.NewAttribute(types.AttributeKeyBondID, msg.GetBondId()),
|
||||
sdk.NewAttribute(types.AttributeKeyPayload, msg.Payload.String()),
|
||||
sdk.NewAttribute(types.AttributeKeyPayload, msg.Payload.Record.Id),
|
||||
),
|
||||
sdk.NewEvent(
|
||||
sdk.EventTypeMessage,
|
||||
@@ -273,7 +273,6 @@ func (m msgServer) ReAssociateRecords(c context.Context, msg *types.MsgReAssocia
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
ctx.EventManager().EmitEvents(sdk.Events{
|
||||
sdk.NewEvent(
|
||||
types.EventTypeReAssociateRecords,
|
||||
@@ -8,8 +8,8 @@ import (
|
||||
"time"
|
||||
|
||||
auctiontypes "github.com/cerc-io/laconicd/x/auction/types"
|
||||
"github.com/cerc-io/laconicd/x/nameservice/helpers"
|
||||
"github.com/cerc-io/laconicd/x/nameservice/types"
|
||||
"github.com/cerc-io/laconicd/x/registry/helpers"
|
||||
"github.com/cerc-io/laconicd/x/registry/types"
|
||||
"github.com/cosmos/cosmos-sdk/codec"
|
||||
cryptotypes "github.com/cosmos/cosmos-sdk/crypto/types"
|
||||
sdk "github.com/cosmos/cosmos-sdk/types"
|
||||
@@ -1,7 +1,7 @@
|
||||
package keeper
|
||||
|
||||
import (
|
||||
"github.com/cerc-io/laconicd/x/nameservice/types"
|
||||
"github.com/cerc-io/laconicd/x/registry/types"
|
||||
sdk "github.com/cosmos/cosmos-sdk/types"
|
||||
)
|
||||
|
||||
@@ -7,7 +7,7 @@ import (
|
||||
auctionkeeper "github.com/cerc-io/laconicd/x/auction/keeper"
|
||||
auctiontypes "github.com/cerc-io/laconicd/x/auction/types"
|
||||
bondtypes "github.com/cerc-io/laconicd/x/bond/types"
|
||||
"github.com/cerc-io/laconicd/x/nameservice/types"
|
||||
"github.com/cerc-io/laconicd/x/registry/types"
|
||||
"github.com/cosmos/cosmos-sdk/codec"
|
||||
storetypes "github.com/cosmos/cosmos-sdk/store/types"
|
||||
sdk "github.com/cosmos/cosmos-sdk/types"
|
||||
@@ -125,7 +125,7 @@ func (k Keeper) RemoveBondToRecordIndexEntry(ctx sdk.Context, bondID string, id
|
||||
store.Delete(getBondIDToRecordsIndexKey(bondID, id))
|
||||
}
|
||||
|
||||
// NewRecordKeeper creates new instances of the nameservice RecordKeeper
|
||||
// NewRecordKeeper creates new instances of the registry RecordKeeper
|
||||
func NewRecordKeeper(auctionKeeper auctionkeeper.Keeper, storeKey storetypes.StoreKey, cdc codec.BinaryCodec) RecordKeeper {
|
||||
return RecordKeeper{
|
||||
auctionKeeper: auctionKeeper,
|
||||
@@ -1,8 +1,8 @@
|
||||
package keeper
|
||||
|
||||
import (
|
||||
"github.com/cerc-io/laconicd/x/nameservice/helpers"
|
||||
"github.com/cerc-io/laconicd/x/nameservice/types"
|
||||
"github.com/cerc-io/laconicd/x/registry/helpers"
|
||||
"github.com/cerc-io/laconicd/x/registry/types"
|
||||
"github.com/cosmos/cosmos-sdk/codec"
|
||||
sdk "github.com/cosmos/cosmos-sdk/types"
|
||||
)
|
||||
@@ -1,18 +1,21 @@
|
||||
package nameservice
|
||||
package registry
|
||||
|
||||
import (
|
||||
"context"
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"math/rand" // #nosec G702
|
||||
|
||||
"github.com/cerc-io/laconicd/x/nameservice/client/cli"
|
||||
"github.com/cerc-io/laconicd/x/nameservice/keeper"
|
||||
"github.com/cerc-io/laconicd/x/nameservice/types"
|
||||
"github.com/cerc-io/laconicd/x/registry/client/cli"
|
||||
"github.com/cerc-io/laconicd/x/registry/keeper"
|
||||
"github.com/cerc-io/laconicd/x/registry/simulation"
|
||||
"github.com/cerc-io/laconicd/x/registry/types"
|
||||
"github.com/cosmos/cosmos-sdk/client"
|
||||
"github.com/cosmos/cosmos-sdk/codec"
|
||||
codectypes "github.com/cosmos/cosmos-sdk/codec/types"
|
||||
sdk "github.com/cosmos/cosmos-sdk/types"
|
||||
"github.com/cosmos/cosmos-sdk/types/module"
|
||||
simtypes "github.com/cosmos/cosmos-sdk/types/simulation"
|
||||
"github.com/gorilla/mux"
|
||||
"github.com/grpc-ecosystem/grpc-gateway/runtime"
|
||||
"github.com/spf13/cobra"
|
||||
@@ -89,6 +92,28 @@ func (am AppModule) ExportGenesis(ctx sdk.Context, cdc codec.JSONCodec) json.Raw
|
||||
return cdc.MustMarshalJSON(&gs)
|
||||
}
|
||||
|
||||
func (AppModule) GenerateGenesisState(simState *module.SimulationState) {
|
||||
simulation.RandomizedGenState(simState)
|
||||
}
|
||||
|
||||
// WeightedOperations returns the all the fee market module operations with their respective weights.
|
||||
func (am AppModule) WeightedOperations(simState module.SimulationState) []simtypes.WeightedOperation {
|
||||
return nil
|
||||
}
|
||||
|
||||
// RandomizedParams creates randomized fee market param changes for the simulator.
|
||||
func (AppModule) RandomizedParams(r *rand.Rand) []simtypes.ParamChange {
|
||||
return nil
|
||||
}
|
||||
|
||||
// RegisterStoreDecoder registers a decoder for fee market module's types
|
||||
func (am AppModule) RegisterStoreDecoder(sdr sdk.StoreDecoderRegistry) {}
|
||||
|
||||
// ProposalContents doesn't return any content functions for governance proposals.
|
||||
func (AppModule) ProposalContents(simState module.SimulationState) []simtypes.WeightedProposalContent {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (am AppModule) RegisterInvariants(registry sdk.InvariantRegistry) {
|
||||
keeper.RegisterInvariants(registry, am.keeper)
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
package simulation
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"time"
|
||||
|
||||
"github.com/cosmos/cosmos-sdk/types/module"
|
||||
|
||||
"github.com/cerc-io/laconicd/x/registry/types"
|
||||
sdk "github.com/cosmos/cosmos-sdk/types"
|
||||
)
|
||||
|
||||
// RandomizedGenState generates a random GenesisState
|
||||
func RandomizedGenState(simState *module.SimulationState) {
|
||||
registryParams := types.NewParams(sdk.NewCoin(sdk.DefaultBondDenom, sdk.NewInt(int64(simState.Rand.Intn(10000000000)))),
|
||||
time.Duration(simState.Rand.Intn(1000))*time.Second,
|
||||
sdk.NewCoin(sdk.DefaultBondDenom, sdk.NewInt(int64(simState.Rand.Intn(10000000000)))),
|
||||
time.Duration(simState.Rand.Intn(1000))*time.Second,
|
||||
time.Duration(simState.Rand.Intn(1000))*time.Second,
|
||||
false,
|
||||
time.Duration(simState.Rand.Intn(1000))*time.Second,
|
||||
time.Duration(simState.Rand.Intn(1000))*time.Second,
|
||||
sdk.NewCoin(sdk.DefaultBondDenom, sdk.NewInt(int64(simState.Rand.Intn(10000000000)))),
|
||||
sdk.NewCoin(sdk.DefaultBondDenom, sdk.NewInt(int64(simState.Rand.Intn(10000000000)))),
|
||||
sdk.NewCoin(sdk.DefaultBondDenom, sdk.NewInt(int64(simState.Rand.Intn(10000000000)))),
|
||||
)
|
||||
|
||||
registryGenesis := types.NewGenesisState(registryParams, []types.Record{}, []types.AuthorityEntry{}, []types.NameEntry{})
|
||||
|
||||
bz, err := json.MarshalIndent(registryGenesis, "", " ")
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
fmt.Printf("Selected randomly generated %s parameters:\n%s\n", types.ModuleName, bz)
|
||||
|
||||
simState.GenState[types.ModuleName] = simState.Cdc.MustMarshalJSON(®istryGenesis)
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
package types
|
||||
|
||||
type Attributes interface {
|
||||
GetType() string
|
||||
}
|
||||
Generated
+1309
File diff suppressed because it is too large
Load Diff
@@ -11,17 +11,17 @@ import (
|
||||
// RegisterLegacyAminoCodec registers the necessary x/bond interfaces and concrete types
|
||||
// on the provided LegacyAmino codec. These types are used for Amino JSON serialization.
|
||||
func RegisterLegacyAminoCodec(cdc *codec.LegacyAmino) {
|
||||
cdc.RegisterConcrete(&MsgSetName{}, "nameservice/SetName", nil)
|
||||
cdc.RegisterConcrete(&MsgReserveAuthority{}, "nameservice/ReserveAuthority", nil)
|
||||
cdc.RegisterConcrete(&MsgDeleteNameAuthority{}, "nameservice/DeleteAuthority", nil)
|
||||
cdc.RegisterConcrete(&MsgSetAuthorityBond{}, "nameservice/SetAuthorityBond", nil)
|
||||
cdc.RegisterConcrete(&MsgSetName{}, "registry/SetName", nil)
|
||||
cdc.RegisterConcrete(&MsgReserveAuthority{}, "registry/ReserveAuthority", nil)
|
||||
cdc.RegisterConcrete(&MsgDeleteNameAuthority{}, "registry/DeleteAuthority", nil)
|
||||
cdc.RegisterConcrete(&MsgSetAuthorityBond{}, "registry/SetAuthorityBond", nil)
|
||||
|
||||
cdc.RegisterConcrete(&MsgSetRecord{}, "nameservice/SetRecord", nil)
|
||||
cdc.RegisterConcrete(&MsgRenewRecord{}, "nameservice/RenewRecord", nil)
|
||||
cdc.RegisterConcrete(&MsgAssociateBond{}, "nameservice/AssociateBond", nil)
|
||||
cdc.RegisterConcrete(&MsgDissociateBond{}, "nameservice/DissociateBond", nil)
|
||||
cdc.RegisterConcrete(&MsgDissociateRecords{}, "nameservice/DissociateRecords", nil)
|
||||
cdc.RegisterConcrete(&MsgReAssociateRecords{}, "nameservice/ReassociateRecords", nil)
|
||||
cdc.RegisterConcrete(&MsgSetRecord{}, "registry/SetRecord", nil)
|
||||
cdc.RegisterConcrete(&MsgRenewRecord{}, "registry/RenewRecord", nil)
|
||||
cdc.RegisterConcrete(&MsgAssociateBond{}, "registry/AssociateBond", nil)
|
||||
cdc.RegisterConcrete(&MsgDissociateBond{}, "registry/DissociateBond", nil)
|
||||
cdc.RegisterConcrete(&MsgDissociateRecords{}, "registry/DissociateRecords", nil)
|
||||
cdc.RegisterConcrete(&MsgReAssociateRecords{}, "registry/ReassociateRecords", nil)
|
||||
}
|
||||
|
||||
func RegisterInterfaces(registry types.InterfaceRegistry) {
|
||||
@@ -38,6 +38,18 @@ func RegisterInterfaces(registry types.InterfaceRegistry) {
|
||||
&MsgDissociateRecords{},
|
||||
&MsgReAssociateRecords{},
|
||||
)
|
||||
|
||||
registry.RegisterInterface(
|
||||
"vulcanize.registry.v1beta1.ServiceProvideRegistration",
|
||||
(*Attributes)(nil),
|
||||
&ServiceProviderRegistration{},
|
||||
)
|
||||
|
||||
registry.RegisterInterface(
|
||||
"vulcanize.registry.v1beta1.WebsiteRegistrationRecord",
|
||||
(*Attributes)(nil),
|
||||
&WebsiteRegistrationRecord{},
|
||||
)
|
||||
msgservice.RegisterMsgServiceDesc(registry, &_Msg_serviceDesc)
|
||||
}
|
||||
|
||||
@@ -13,7 +13,10 @@ func NewGenesisState(params Params, records []Record, authorities []AuthorityEnt
|
||||
// chain config values.
|
||||
func DefaultGenesisState() *GenesisState {
|
||||
return &GenesisState{
|
||||
Params: DefaultParams(),
|
||||
Params: DefaultParams(),
|
||||
Records: []Record{},
|
||||
Authorities: []AuthorityEntry{},
|
||||
Names: []NameEntry{},
|
||||
}
|
||||
}
|
||||
|
||||
+30
-30
@@ -1,5 +1,5 @@
|
||||
// Code generated by protoc-gen-gogo. DO NOT EDIT.
|
||||
// source: vulcanize/nameservice/v1beta1/genesis.proto
|
||||
// source: vulcanize/registry/v1beta1/genesis.proto
|
||||
|
||||
package types
|
||||
|
||||
@@ -23,9 +23,9 @@ var _ = math.Inf
|
||||
// proto package needs to be updated.
|
||||
const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package
|
||||
|
||||
// GenesisState defines the nameservice module's genesis state.
|
||||
// GenesisState defines the registry module's genesis state.
|
||||
type GenesisState struct {
|
||||
// params defines all the params of nameservice module.
|
||||
// params defines all the params of registry module.
|
||||
Params Params `protobuf:"bytes,1,opt,name=params,proto3" json:"params"`
|
||||
// records
|
||||
Records []Record `protobuf:"bytes,2,rep,name=records,proto3" json:"records" json:"records" yaml:"records"`
|
||||
@@ -39,7 +39,7 @@ func (m *GenesisState) Reset() { *m = GenesisState{} }
|
||||
func (m *GenesisState) String() string { return proto.CompactTextString(m) }
|
||||
func (*GenesisState) ProtoMessage() {}
|
||||
func (*GenesisState) Descriptor() ([]byte, []int) {
|
||||
return fileDescriptor_fe7037a2b22e67ef, []int{0}
|
||||
return fileDescriptor_8e599869d3a2e5ff, []int{0}
|
||||
}
|
||||
func (m *GenesisState) XXX_Unmarshal(b []byte) error {
|
||||
return m.Unmarshal(b)
|
||||
@@ -97,37 +97,37 @@ func (m *GenesisState) GetNames() []NameEntry {
|
||||
}
|
||||
|
||||
func init() {
|
||||
proto.RegisterType((*GenesisState)(nil), "vulcanize.nameservice.v1beta1.GenesisState")
|
||||
proto.RegisterType((*GenesisState)(nil), "vulcanize.registry.v1beta1.GenesisState")
|
||||
}
|
||||
|
||||
func init() {
|
||||
proto.RegisterFile("vulcanize/nameservice/v1beta1/genesis.proto", fileDescriptor_fe7037a2b22e67ef)
|
||||
proto.RegisterFile("vulcanize/registry/v1beta1/genesis.proto", fileDescriptor_8e599869d3a2e5ff)
|
||||
}
|
||||
|
||||
var fileDescriptor_fe7037a2b22e67ef = []byte{
|
||||
// 345 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0xd1, 0xc1, 0x4e, 0xfa, 0x30,
|
||||
0x1c, 0x07, 0xf0, 0xed, 0x0f, 0x7f, 0x4c, 0x86, 0xa7, 0xc5, 0xc3, 0x24, 0x61, 0x20, 0x09, 0x09,
|
||||
0x89, 0x61, 0x0d, 0x7a, 0xf3, 0xe6, 0x8c, 0x31, 0x5e, 0x8c, 0x99, 0x37, 0x6f, 0xa5, 0xfc, 0x1c,
|
||||
0x35, 0xac, 0x25, 0x6d, 0x21, 0xce, 0x83, 0xcf, 0xe0, 0x13, 0xf8, 0x3c, 0x1c, 0x39, 0x7a, 0x22,
|
||||
0x06, 0xde, 0xc0, 0x27, 0x30, 0xb4, 0x45, 0xe7, 0x05, 0xbc, 0xad, 0xcb, 0xf7, 0xfb, 0xfd, 0x34,
|
||||
0xa9, 0x77, 0x3c, 0x9d, 0x8c, 0x08, 0x66, 0xf4, 0x19, 0x10, 0xc3, 0x19, 0x48, 0x10, 0x53, 0x4a,
|
||||
0x00, 0x4d, 0x7b, 0x7d, 0x50, 0xb8, 0x87, 0x52, 0x60, 0x20, 0xa9, 0x8c, 0xc6, 0x82, 0x2b, 0xee,
|
||||
0xd7, 0xbf, 0xc3, 0x51, 0x21, 0x1c, 0xd9, 0x70, 0xed, 0x20, 0xe5, 0x29, 0xd7, 0x49, 0xb4, 0xfe,
|
||||
0x32, 0xa5, 0x1a, 0xda, 0x2e, 0x14, 0x87, 0x74, 0xa1, 0xf5, 0x56, 0xf2, 0xf6, 0xaf, 0x8c, 0x7b,
|
||||
0xa7, 0xb0, 0x02, 0xff, 0xc2, 0xab, 0x8c, 0xb1, 0xc0, 0x99, 0x0c, 0xdc, 0xa6, 0xdb, 0xa9, 0x9e,
|
||||
0xb4, 0xa3, 0xad, 0xf7, 0x88, 0x6e, 0x75, 0x38, 0x2e, 0xcf, 0x16, 0x0d, 0x27, 0xb1, 0x55, 0xff,
|
||||
0xc1, 0xdb, 0x13, 0x40, 0xb8, 0x18, 0xc8, 0xe0, 0x5f, 0xb3, 0xf4, 0x87, 0x95, 0x44, 0xa7, 0xe3,
|
||||
0xf6, 0x7a, 0xe5, 0x73, 0xd1, 0xa8, 0x3f, 0x4a, 0xce, 0xce, 0x5a, 0x76, 0xa3, 0xd5, 0xcc, 0x71,
|
||||
0x36, 0xfa, 0x39, 0x26, 0x9b, 0x71, 0xff, 0xc5, 0xab, 0xe2, 0x89, 0x1a, 0x72, 0x41, 0x15, 0x05,
|
||||
0x19, 0x94, 0xb4, 0xd5, 0xdd, 0x61, 0x9d, 0xdb, 0x46, 0x7e, 0xc9, 0x94, 0xc8, 0xe3, 0xae, 0x35,
|
||||
0xdb, 0xc6, 0x2c, 0xec, 0x6d, 0xdc, 0xe2, 0xaf, 0xa4, 0x08, 0xfa, 0xd8, 0xfb, 0xaf, 0x85, 0xa0,
|
||||
0xac, 0xe5, 0xce, 0x0e, 0xf9, 0x06, 0x67, 0x60, 0xd0, 0x23, 0x8b, 0x1e, 0x1a, 0x54, 0x87, 0x37,
|
||||
0x9c, 0x39, 0x24, 0x66, 0x39, 0xbe, 0x9e, 0x2d, 0x43, 0x77, 0xbe, 0x0c, 0xdd, 0x8f, 0x65, 0xe8,
|
||||
0xbe, 0xae, 0x42, 0x67, 0xbe, 0x0a, 0x9d, 0xf7, 0x55, 0xe8, 0xdc, 0xa3, 0x94, 0xaa, 0xe1, 0xa4,
|
||||
0x1f, 0x11, 0x9e, 0x21, 0x02, 0x82, 0x74, 0x29, 0x47, 0x23, 0x4c, 0x38, 0xa3, 0x64, 0x80, 0x9e,
|
||||
0x7e, 0xbd, 0xbf, 0xca, 0xc7, 0x20, 0xfb, 0x15, 0xfd, 0xe4, 0xa7, 0x5f, 0x01, 0x00, 0x00, 0xff,
|
||||
0xff, 0x38, 0x14, 0xaf, 0x6f, 0x87, 0x02, 0x00, 0x00,
|
||||
var fileDescriptor_8e599869d3a2e5ff = []byte{
|
||||
// 340 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x84, 0x91, 0xb1, 0x4e, 0xc2, 0x40,
|
||||
0x18, 0x80, 0x5b, 0x41, 0x4c, 0x8a, 0x53, 0xe3, 0x50, 0x49, 0x2c, 0xd8, 0x84, 0x04, 0x8d, 0xf4,
|
||||
0x82, 0x6e, 0x4e, 0xda, 0x44, 0xdd, 0x8c, 0xa9, 0x9b, 0x83, 0xc9, 0x71, 0xfc, 0x29, 0x67, 0x68,
|
||||
0x8f, 0xdc, 0x1d, 0xc4, 0xea, 0x4b, 0x18, 0x9f, 0x8a, 0x91, 0xd1, 0x89, 0x18, 0x78, 0x03, 0x9f,
|
||||
0xc0, 0x70, 0x77, 0x05, 0x16, 0x71, 0xbb, 0xff, 0xf2, 0xfd, 0xdf, 0x37, 0xfc, 0x4e, 0x6b, 0x3c,
|
||||
0x1a, 0x10, 0x9c, 0xd1, 0x37, 0x40, 0x1c, 0x12, 0x2a, 0x24, 0xcf, 0xd1, 0xb8, 0xd3, 0x05, 0x89,
|
||||
0x3b, 0x28, 0x81, 0x0c, 0x04, 0x15, 0xe1, 0x90, 0x33, 0xc9, 0xdc, 0xda, 0x8a, 0x0c, 0x0b, 0x32,
|
||||
0x34, 0x64, 0xed, 0x20, 0x61, 0x09, 0x53, 0x18, 0x5a, 0xbe, 0xf4, 0x46, 0xed, 0x64, 0x8b, 0x7b,
|
||||
0xa5, 0x50, 0x68, 0xf0, 0x59, 0x72, 0xf6, 0xef, 0x74, 0xee, 0x51, 0x62, 0x09, 0xee, 0x95, 0x53,
|
||||
0x19, 0x62, 0x8e, 0x53, 0xe1, 0xd9, 0x0d, 0xbb, 0x55, 0x3d, 0x0f, 0xc2, 0xbf, 0xf3, 0xe1, 0x83,
|
||||
0x22, 0xa3, 0xf2, 0x64, 0x56, 0xb7, 0x62, 0xb3, 0xe7, 0x12, 0x67, 0x8f, 0x03, 0x61, 0xbc, 0x27,
|
||||
0xbc, 0x9d, 0x46, 0xe9, 0x3f, 0x45, 0xac, 0xd0, 0xa8, 0xb9, 0x54, 0xfc, 0xcc, 0xea, 0x47, 0x2f,
|
||||
0x82, 0x65, 0x97, 0x81, 0x11, 0x04, 0x8d, 0x1c, 0xa7, 0x83, 0xf5, 0x18, 0x17, 0x66, 0xf7, 0xdd,
|
||||
0xa9, 0xe2, 0x91, 0xec, 0x33, 0x4e, 0x25, 0x05, 0xe1, 0x95, 0x54, 0xe8, 0x74, 0x5b, 0xe8, 0xda,
|
||||
0xe0, 0xf9, 0x4d, 0x26, 0x79, 0x1e, 0xb5, 0x4d, 0xb0, 0xa9, 0x83, 0x1b, 0xb2, 0x22, 0xba, 0xf9,
|
||||
0x15, 0x6f, 0xd6, 0xdc, 0x67, 0x67, 0x37, 0xc3, 0x29, 0x08, 0xaf, 0xac, 0xb2, 0xcd, 0x6d, 0xd9,
|
||||
0x7b, 0x9c, 0x82, 0x2e, 0x1e, 0x9b, 0xe2, 0xa1, 0x2e, 0x2a, 0x43, 0xd1, 0xd2, 0x43, 0xac, 0xb5,
|
||||
0xd1, 0xed, 0x64, 0xee, 0xdb, 0xd3, 0xb9, 0x6f, 0x7f, 0xcf, 0x7d, 0xfb, 0x63, 0xe1, 0x5b, 0xd3,
|
||||
0x85, 0x6f, 0x7d, 0x2d, 0x7c, 0xeb, 0xe9, 0x2c, 0xa1, 0xb2, 0x3f, 0xea, 0x86, 0x84, 0xa5, 0x88,
|
||||
0x00, 0x27, 0x6d, 0xca, 0xd0, 0x00, 0x13, 0x96, 0x51, 0xd2, 0x43, 0xaf, 0xeb, 0x6b, 0xcb, 0x7c,
|
||||
0x08, 0xa2, 0x5b, 0x51, 0x37, 0xbe, 0xf8, 0x0d, 0x00, 0x00, 0xff, 0xff, 0xba, 0xb2, 0x8e, 0x8c,
|
||||
0x6c, 0x02, 0x00, 0x00,
|
||||
}
|
||||
|
||||
func (m *GenesisState) Marshal() (dAtA []byte, err error) {
|
||||
@@ -2,7 +2,7 @@ package types
|
||||
|
||||
const (
|
||||
// ModuleName is the name of the staking module
|
||||
ModuleName = "nameservice"
|
||||
ModuleName = "registry"
|
||||
|
||||
// RecordRentModuleAccountName is the name of the module account that keeps track of record rents paid.
|
||||
RecordRentModuleAccountName = "record_rent"
|
||||
+239
-239
File diff suppressed because it is too large
Load Diff
@@ -1,5 +1,5 @@
|
||||
// Code generated by protoc-gen-grpc-gateway. DO NOT EDIT.
|
||||
// source: vulcanize/nameservice/v1beta1/query.proto
|
||||
// source: vulcanize/registry/v1beta1/query.proto
|
||||
|
||||
/*
|
||||
Package types is a reverse proxy.
|
||||
@@ -211,20 +211,20 @@ func local_request_Query_GetRecordByBondID_0(ctx context.Context, marshaler runt
|
||||
|
||||
}
|
||||
|
||||
func request_Query_GetNameServiceModuleBalance_0(ctx context.Context, marshaler runtime.Marshaler, client QueryClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
|
||||
var protoReq GetNameServiceModuleBalanceRequest
|
||||
func request_Query_GetRegistryModuleBalance_0(ctx context.Context, marshaler runtime.Marshaler, client QueryClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
|
||||
var protoReq GetRegistryModuleBalanceRequest
|
||||
var metadata runtime.ServerMetadata
|
||||
|
||||
msg, err := client.GetNameServiceModuleBalance(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD))
|
||||
msg, err := client.GetRegistryModuleBalance(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD))
|
||||
return msg, metadata, err
|
||||
|
||||
}
|
||||
|
||||
func local_request_Query_GetNameServiceModuleBalance_0(ctx context.Context, marshaler runtime.Marshaler, server QueryServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
|
||||
var protoReq GetNameServiceModuleBalanceRequest
|
||||
func local_request_Query_GetRegistryModuleBalance_0(ctx context.Context, marshaler runtime.Marshaler, server QueryServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
|
||||
var protoReq GetRegistryModuleBalanceRequest
|
||||
var metadata runtime.ServerMetadata
|
||||
|
||||
msg, err := server.GetNameServiceModuleBalance(ctx, &protoReq)
|
||||
msg, err := server.GetRegistryModuleBalance(ctx, &protoReq)
|
||||
return msg, metadata, err
|
||||
|
||||
}
|
||||
@@ -549,7 +549,7 @@ func RegisterQueryHandlerServer(ctx context.Context, mux *runtime.ServeMux, serv
|
||||
|
||||
})
|
||||
|
||||
mux.Handle("GET", pattern_Query_GetNameServiceModuleBalance_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
|
||||
mux.Handle("GET", pattern_Query_GetRegistryModuleBalance_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
|
||||
ctx, cancel := context.WithCancel(req.Context())
|
||||
defer cancel()
|
||||
inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req)
|
||||
@@ -558,14 +558,14 @@ func RegisterQueryHandlerServer(ctx context.Context, mux *runtime.ServeMux, serv
|
||||
runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
|
||||
return
|
||||
}
|
||||
resp, md, err := local_request_Query_GetNameServiceModuleBalance_0(rctx, inboundMarshaler, server, req, pathParams)
|
||||
resp, md, err := local_request_Query_GetRegistryModuleBalance_0(rctx, inboundMarshaler, server, req, pathParams)
|
||||
ctx = runtime.NewServerMetadataContext(ctx, md)
|
||||
if err != nil {
|
||||
runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
|
||||
return
|
||||
}
|
||||
|
||||
forward_Query_GetNameServiceModuleBalance_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...)
|
||||
forward_Query_GetRegistryModuleBalance_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...)
|
||||
|
||||
})
|
||||
|
||||
@@ -810,7 +810,7 @@ func RegisterQueryHandlerClient(ctx context.Context, mux *runtime.ServeMux, clie
|
||||
|
||||
})
|
||||
|
||||
mux.Handle("GET", pattern_Query_GetNameServiceModuleBalance_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
|
||||
mux.Handle("GET", pattern_Query_GetRegistryModuleBalance_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
|
||||
ctx, cancel := context.WithCancel(req.Context())
|
||||
defer cancel()
|
||||
inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req)
|
||||
@@ -819,14 +819,14 @@ func RegisterQueryHandlerClient(ctx context.Context, mux *runtime.ServeMux, clie
|
||||
runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
|
||||
return
|
||||
}
|
||||
resp, md, err := request_Query_GetNameServiceModuleBalance_0(rctx, inboundMarshaler, client, req, pathParams)
|
||||
resp, md, err := request_Query_GetRegistryModuleBalance_0(rctx, inboundMarshaler, client, req, pathParams)
|
||||
ctx = runtime.NewServerMetadataContext(ctx, md)
|
||||
if err != nil {
|
||||
runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
|
||||
return
|
||||
}
|
||||
|
||||
forward_Query_GetNameServiceModuleBalance_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...)
|
||||
forward_Query_GetRegistryModuleBalance_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...)
|
||||
|
||||
})
|
||||
|
||||
@@ -954,27 +954,27 @@ func RegisterQueryHandlerClient(ctx context.Context, mux *runtime.ServeMux, clie
|
||||
}
|
||||
|
||||
var (
|
||||
pattern_Query_Params_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"vulcanize", "nameservice", "v1beta1", "params"}, "", runtime.AssumeColonVerbOpt(true)))
|
||||
pattern_Query_Params_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"vulcanize", "registry", "v1beta1", "params"}, "", runtime.AssumeColonVerbOpt(true)))
|
||||
|
||||
pattern_Query_ListRecords_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"vulcanize", "nameservice", "v1beta1", "records"}, "", runtime.AssumeColonVerbOpt(true)))
|
||||
pattern_Query_ListRecords_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"vulcanize", "registry", "v1beta1", "records"}, "", runtime.AssumeColonVerbOpt(true)))
|
||||
|
||||
pattern_Query_GetRecord_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 1, 0, 4, 1, 5, 4}, []string{"vulcanize", "nameservice", "v1beta1", "records", "id"}, "", runtime.AssumeColonVerbOpt(true)))
|
||||
pattern_Query_GetRecord_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 1, 0, 4, 1, 5, 4}, []string{"vulcanize", "registry", "v1beta1", "records", "id"}, "", runtime.AssumeColonVerbOpt(true)))
|
||||
|
||||
pattern_Query_GetRecordByBondID_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 1, 0, 4, 1, 5, 4}, []string{"vulcanize", "nameservice", "v1beta1", "records-by-bond-id", "id"}, "", runtime.AssumeColonVerbOpt(true)))
|
||||
pattern_Query_GetRecordByBondID_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 1, 0, 4, 1, 5, 4}, []string{"vulcanize", "registry", "v1beta1", "records-by-bond-id", "id"}, "", runtime.AssumeColonVerbOpt(true)))
|
||||
|
||||
pattern_Query_GetNameServiceModuleBalance_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"vulcanize", "nameservice", "v1beta1", "balance"}, "", runtime.AssumeColonVerbOpt(true)))
|
||||
pattern_Query_GetRegistryModuleBalance_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"vulcanize", "registry", "v1beta1", "balance"}, "", runtime.AssumeColonVerbOpt(true)))
|
||||
|
||||
pattern_Query_ListNameRecords_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"vulcanize", "nameservice", "v1beta1", "names"}, "", runtime.AssumeColonVerbOpt(true)))
|
||||
pattern_Query_ListNameRecords_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"vulcanize", "registry", "v1beta1", "names"}, "", runtime.AssumeColonVerbOpt(true)))
|
||||
|
||||
pattern_Query_Whois_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 1, 0, 4, 1, 5, 4}, []string{"vulcanize", "nameservice", "v1beta1", "whois", "name"}, "", runtime.AssumeColonVerbOpt(true)))
|
||||
pattern_Query_Whois_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 1, 0, 4, 1, 5, 4}, []string{"vulcanize", "registry", "v1beta1", "whois", "name"}, "", runtime.AssumeColonVerbOpt(true)))
|
||||
|
||||
pattern_Query_LookupCrn_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"vulcanize", "nameservice", "v1beta1", "lookup"}, "", runtime.AssumeColonVerbOpt(true)))
|
||||
pattern_Query_LookupCrn_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"vulcanize", "registry", "v1beta1", "lookup"}, "", runtime.AssumeColonVerbOpt(true)))
|
||||
|
||||
pattern_Query_ResolveCrn_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"vulcanize", "nameservice", "v1beta1", "resolve"}, "", runtime.AssumeColonVerbOpt(true)))
|
||||
pattern_Query_ResolveCrn_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"vulcanize", "registry", "v1beta1", "resolve"}, "", runtime.AssumeColonVerbOpt(true)))
|
||||
|
||||
pattern_Query_GetRecordExpiryQueue_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"vulcanize", "nameservice", "v1beta1", "record-expiry"}, "", runtime.AssumeColonVerbOpt(true)))
|
||||
pattern_Query_GetRecordExpiryQueue_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"vulcanize", "registry", "v1beta1", "record-expiry"}, "", runtime.AssumeColonVerbOpt(true)))
|
||||
|
||||
pattern_Query_GetAuthorityExpiryQueue_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"vulcanize", "nameservice", "v1beta1", "authority-expiry"}, "", runtime.AssumeColonVerbOpt(true)))
|
||||
pattern_Query_GetAuthorityExpiryQueue_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"vulcanize", "registry", "v1beta1", "authority-expiry"}, "", runtime.AssumeColonVerbOpt(true)))
|
||||
)
|
||||
|
||||
var (
|
||||
@@ -986,7 +986,7 @@ var (
|
||||
|
||||
forward_Query_GetRecordByBondID_0 = runtime.ForwardResponseMessage
|
||||
|
||||
forward_Query_GetNameServiceModuleBalance_0 = runtime.ForwardResponseMessage
|
||||
forward_Query_GetRegistryModuleBalance_0 = runtime.ForwardResponseMessage
|
||||
|
||||
forward_Query_ListNameRecords_0 = runtime.ForwardResponseMessage
|
||||
|
||||
+450
-387
File diff suppressed because it is too large
Load Diff
+123
-123
@@ -1,5 +1,5 @@
|
||||
// Code generated by protoc-gen-gogo. DO NOT EDIT.
|
||||
// source: vulcanize/nameservice/v1beta1/tx.proto
|
||||
// source: vulcanize/registry/v1beta1/tx.proto
|
||||
|
||||
package types
|
||||
|
||||
@@ -39,7 +39,7 @@ func (m *MsgSetRecord) Reset() { *m = MsgSetRecord{} }
|
||||
func (m *MsgSetRecord) String() string { return proto.CompactTextString(m) }
|
||||
func (*MsgSetRecord) ProtoMessage() {}
|
||||
func (*MsgSetRecord) Descriptor() ([]byte, []int) {
|
||||
return fileDescriptor_b66a805dda801ce9, []int{0}
|
||||
return fileDescriptor_4db93ede4fa65546, []int{0}
|
||||
}
|
||||
func (m *MsgSetRecord) XXX_Unmarshal(b []byte) error {
|
||||
return m.Unmarshal(b)
|
||||
@@ -98,7 +98,7 @@ func (m *MsgSetRecordResponse) Reset() { *m = MsgSetRecordResponse{} }
|
||||
func (m *MsgSetRecordResponse) String() string { return proto.CompactTextString(m) }
|
||||
func (*MsgSetRecordResponse) ProtoMessage() {}
|
||||
func (*MsgSetRecordResponse) Descriptor() ([]byte, []int) {
|
||||
return fileDescriptor_b66a805dda801ce9, []int{1}
|
||||
return fileDescriptor_4db93ede4fa65546, []int{1}
|
||||
}
|
||||
func (m *MsgSetRecordResponse) XXX_Unmarshal(b []byte) error {
|
||||
return m.Unmarshal(b)
|
||||
@@ -144,7 +144,7 @@ func (m *Payload) Reset() { *m = Payload{} }
|
||||
func (m *Payload) String() string { return proto.CompactTextString(m) }
|
||||
func (*Payload) ProtoMessage() {}
|
||||
func (*Payload) Descriptor() ([]byte, []int) {
|
||||
return fileDescriptor_b66a805dda801ce9, []int{2}
|
||||
return fileDescriptor_4db93ede4fa65546, []int{2}
|
||||
}
|
||||
func (m *Payload) XXX_Unmarshal(b []byte) error {
|
||||
return m.Unmarshal(b)
|
||||
@@ -198,7 +198,7 @@ func (m *MsgSetName) Reset() { *m = MsgSetName{} }
|
||||
func (m *MsgSetName) String() string { return proto.CompactTextString(m) }
|
||||
func (*MsgSetName) ProtoMessage() {}
|
||||
func (*MsgSetName) Descriptor() ([]byte, []int) {
|
||||
return fileDescriptor_b66a805dda801ce9, []int{3}
|
||||
return fileDescriptor_4db93ede4fa65546, []int{3}
|
||||
}
|
||||
func (m *MsgSetName) XXX_Unmarshal(b []byte) error {
|
||||
return m.Unmarshal(b)
|
||||
@@ -256,7 +256,7 @@ func (m *MsgSetNameResponse) Reset() { *m = MsgSetNameResponse{} }
|
||||
func (m *MsgSetNameResponse) String() string { return proto.CompactTextString(m) }
|
||||
func (*MsgSetNameResponse) ProtoMessage() {}
|
||||
func (*MsgSetNameResponse) Descriptor() ([]byte, []int) {
|
||||
return fileDescriptor_b66a805dda801ce9, []int{4}
|
||||
return fileDescriptor_4db93ede4fa65546, []int{4}
|
||||
}
|
||||
func (m *MsgSetNameResponse) XXX_Unmarshal(b []byte) error {
|
||||
return m.Unmarshal(b)
|
||||
@@ -297,7 +297,7 @@ func (m *MsgReserveAuthority) Reset() { *m = MsgReserveAuthority{} }
|
||||
func (m *MsgReserveAuthority) String() string { return proto.CompactTextString(m) }
|
||||
func (*MsgReserveAuthority) ProtoMessage() {}
|
||||
func (*MsgReserveAuthority) Descriptor() ([]byte, []int) {
|
||||
return fileDescriptor_b66a805dda801ce9, []int{5}
|
||||
return fileDescriptor_4db93ede4fa65546, []int{5}
|
||||
}
|
||||
func (m *MsgReserveAuthority) XXX_Unmarshal(b []byte) error {
|
||||
return m.Unmarshal(b)
|
||||
@@ -355,7 +355,7 @@ func (m *MsgReserveAuthorityResponse) Reset() { *m = MsgReserveAuthority
|
||||
func (m *MsgReserveAuthorityResponse) String() string { return proto.CompactTextString(m) }
|
||||
func (*MsgReserveAuthorityResponse) ProtoMessage() {}
|
||||
func (*MsgReserveAuthorityResponse) Descriptor() ([]byte, []int) {
|
||||
return fileDescriptor_b66a805dda801ce9, []int{6}
|
||||
return fileDescriptor_4db93ede4fa65546, []int{6}
|
||||
}
|
||||
func (m *MsgReserveAuthorityResponse) XXX_Unmarshal(b []byte) error {
|
||||
return m.Unmarshal(b)
|
||||
@@ -395,7 +395,7 @@ func (m *MsgSetAuthorityBond) Reset() { *m = MsgSetAuthorityBond{} }
|
||||
func (m *MsgSetAuthorityBond) String() string { return proto.CompactTextString(m) }
|
||||
func (*MsgSetAuthorityBond) ProtoMessage() {}
|
||||
func (*MsgSetAuthorityBond) Descriptor() ([]byte, []int) {
|
||||
return fileDescriptor_b66a805dda801ce9, []int{7}
|
||||
return fileDescriptor_4db93ede4fa65546, []int{7}
|
||||
}
|
||||
func (m *MsgSetAuthorityBond) XXX_Unmarshal(b []byte) error {
|
||||
return m.Unmarshal(b)
|
||||
@@ -453,7 +453,7 @@ func (m *MsgSetAuthorityBondResponse) Reset() { *m = MsgSetAuthorityBond
|
||||
func (m *MsgSetAuthorityBondResponse) String() string { return proto.CompactTextString(m) }
|
||||
func (*MsgSetAuthorityBondResponse) ProtoMessage() {}
|
||||
func (*MsgSetAuthorityBondResponse) Descriptor() ([]byte, []int) {
|
||||
return fileDescriptor_b66a805dda801ce9, []int{8}
|
||||
return fileDescriptor_4db93ede4fa65546, []int{8}
|
||||
}
|
||||
func (m *MsgSetAuthorityBondResponse) XXX_Unmarshal(b []byte) error {
|
||||
return m.Unmarshal(b)
|
||||
@@ -492,7 +492,7 @@ func (m *MsgDeleteNameAuthority) Reset() { *m = MsgDeleteNameAuthority{}
|
||||
func (m *MsgDeleteNameAuthority) String() string { return proto.CompactTextString(m) }
|
||||
func (*MsgDeleteNameAuthority) ProtoMessage() {}
|
||||
func (*MsgDeleteNameAuthority) Descriptor() ([]byte, []int) {
|
||||
return fileDescriptor_b66a805dda801ce9, []int{9}
|
||||
return fileDescriptor_4db93ede4fa65546, []int{9}
|
||||
}
|
||||
func (m *MsgDeleteNameAuthority) XXX_Unmarshal(b []byte) error {
|
||||
return m.Unmarshal(b)
|
||||
@@ -543,7 +543,7 @@ func (m *MsgDeleteNameAuthorityResponse) Reset() { *m = MsgDeleteNameAut
|
||||
func (m *MsgDeleteNameAuthorityResponse) String() string { return proto.CompactTextString(m) }
|
||||
func (*MsgDeleteNameAuthorityResponse) ProtoMessage() {}
|
||||
func (*MsgDeleteNameAuthorityResponse) Descriptor() ([]byte, []int) {
|
||||
return fileDescriptor_b66a805dda801ce9, []int{10}
|
||||
return fileDescriptor_4db93ede4fa65546, []int{10}
|
||||
}
|
||||
func (m *MsgDeleteNameAuthorityResponse) XXX_Unmarshal(b []byte) error {
|
||||
return m.Unmarshal(b)
|
||||
@@ -582,7 +582,7 @@ func (m *MsgRenewRecord) Reset() { *m = MsgRenewRecord{} }
|
||||
func (m *MsgRenewRecord) String() string { return proto.CompactTextString(m) }
|
||||
func (*MsgRenewRecord) ProtoMessage() {}
|
||||
func (*MsgRenewRecord) Descriptor() ([]byte, []int) {
|
||||
return fileDescriptor_b66a805dda801ce9, []int{11}
|
||||
return fileDescriptor_4db93ede4fa65546, []int{11}
|
||||
}
|
||||
func (m *MsgRenewRecord) XXX_Unmarshal(b []byte) error {
|
||||
return m.Unmarshal(b)
|
||||
@@ -633,7 +633,7 @@ func (m *MsgRenewRecordResponse) Reset() { *m = MsgRenewRecordResponse{}
|
||||
func (m *MsgRenewRecordResponse) String() string { return proto.CompactTextString(m) }
|
||||
func (*MsgRenewRecordResponse) ProtoMessage() {}
|
||||
func (*MsgRenewRecordResponse) Descriptor() ([]byte, []int) {
|
||||
return fileDescriptor_b66a805dda801ce9, []int{12}
|
||||
return fileDescriptor_4db93ede4fa65546, []int{12}
|
||||
}
|
||||
func (m *MsgRenewRecordResponse) XXX_Unmarshal(b []byte) error {
|
||||
return m.Unmarshal(b)
|
||||
@@ -673,7 +673,7 @@ func (m *MsgAssociateBond) Reset() { *m = MsgAssociateBond{} }
|
||||
func (m *MsgAssociateBond) String() string { return proto.CompactTextString(m) }
|
||||
func (*MsgAssociateBond) ProtoMessage() {}
|
||||
func (*MsgAssociateBond) Descriptor() ([]byte, []int) {
|
||||
return fileDescriptor_b66a805dda801ce9, []int{13}
|
||||
return fileDescriptor_4db93ede4fa65546, []int{13}
|
||||
}
|
||||
func (m *MsgAssociateBond) XXX_Unmarshal(b []byte) error {
|
||||
return m.Unmarshal(b)
|
||||
@@ -731,7 +731,7 @@ func (m *MsgAssociateBondResponse) Reset() { *m = MsgAssociateBondRespon
|
||||
func (m *MsgAssociateBondResponse) String() string { return proto.CompactTextString(m) }
|
||||
func (*MsgAssociateBondResponse) ProtoMessage() {}
|
||||
func (*MsgAssociateBondResponse) Descriptor() ([]byte, []int) {
|
||||
return fileDescriptor_b66a805dda801ce9, []int{14}
|
||||
return fileDescriptor_4db93ede4fa65546, []int{14}
|
||||
}
|
||||
func (m *MsgAssociateBondResponse) XXX_Unmarshal(b []byte) error {
|
||||
return m.Unmarshal(b)
|
||||
@@ -770,7 +770,7 @@ func (m *MsgDissociateBond) Reset() { *m = MsgDissociateBond{} }
|
||||
func (m *MsgDissociateBond) String() string { return proto.CompactTextString(m) }
|
||||
func (*MsgDissociateBond) ProtoMessage() {}
|
||||
func (*MsgDissociateBond) Descriptor() ([]byte, []int) {
|
||||
return fileDescriptor_b66a805dda801ce9, []int{15}
|
||||
return fileDescriptor_4db93ede4fa65546, []int{15}
|
||||
}
|
||||
func (m *MsgDissociateBond) XXX_Unmarshal(b []byte) error {
|
||||
return m.Unmarshal(b)
|
||||
@@ -821,7 +821,7 @@ func (m *MsgDissociateBondResponse) Reset() { *m = MsgDissociateBondResp
|
||||
func (m *MsgDissociateBondResponse) String() string { return proto.CompactTextString(m) }
|
||||
func (*MsgDissociateBondResponse) ProtoMessage() {}
|
||||
func (*MsgDissociateBondResponse) Descriptor() ([]byte, []int) {
|
||||
return fileDescriptor_b66a805dda801ce9, []int{16}
|
||||
return fileDescriptor_4db93ede4fa65546, []int{16}
|
||||
}
|
||||
func (m *MsgDissociateBondResponse) XXX_Unmarshal(b []byte) error {
|
||||
return m.Unmarshal(b)
|
||||
@@ -860,7 +860,7 @@ func (m *MsgDissociateRecords) Reset() { *m = MsgDissociateRecords{} }
|
||||
func (m *MsgDissociateRecords) String() string { return proto.CompactTextString(m) }
|
||||
func (*MsgDissociateRecords) ProtoMessage() {}
|
||||
func (*MsgDissociateRecords) Descriptor() ([]byte, []int) {
|
||||
return fileDescriptor_b66a805dda801ce9, []int{17}
|
||||
return fileDescriptor_4db93ede4fa65546, []int{17}
|
||||
}
|
||||
func (m *MsgDissociateRecords) XXX_Unmarshal(b []byte) error {
|
||||
return m.Unmarshal(b)
|
||||
@@ -911,7 +911,7 @@ func (m *MsgDissociateRecordsResponse) Reset() { *m = MsgDissociateRecor
|
||||
func (m *MsgDissociateRecordsResponse) String() string { return proto.CompactTextString(m) }
|
||||
func (*MsgDissociateRecordsResponse) ProtoMessage() {}
|
||||
func (*MsgDissociateRecordsResponse) Descriptor() ([]byte, []int) {
|
||||
return fileDescriptor_b66a805dda801ce9, []int{18}
|
||||
return fileDescriptor_4db93ede4fa65546, []int{18}
|
||||
}
|
||||
func (m *MsgDissociateRecordsResponse) XXX_Unmarshal(b []byte) error {
|
||||
return m.Unmarshal(b)
|
||||
@@ -951,7 +951,7 @@ func (m *MsgReAssociateRecords) Reset() { *m = MsgReAssociateRecords{} }
|
||||
func (m *MsgReAssociateRecords) String() string { return proto.CompactTextString(m) }
|
||||
func (*MsgReAssociateRecords) ProtoMessage() {}
|
||||
func (*MsgReAssociateRecords) Descriptor() ([]byte, []int) {
|
||||
return fileDescriptor_b66a805dda801ce9, []int{19}
|
||||
return fileDescriptor_4db93ede4fa65546, []int{19}
|
||||
}
|
||||
func (m *MsgReAssociateRecords) XXX_Unmarshal(b []byte) error {
|
||||
return m.Unmarshal(b)
|
||||
@@ -1009,7 +1009,7 @@ func (m *MsgReAssociateRecordsResponse) Reset() { *m = MsgReAssociateRec
|
||||
func (m *MsgReAssociateRecordsResponse) String() string { return proto.CompactTextString(m) }
|
||||
func (*MsgReAssociateRecordsResponse) ProtoMessage() {}
|
||||
func (*MsgReAssociateRecordsResponse) Descriptor() ([]byte, []int) {
|
||||
return fileDescriptor_b66a805dda801ce9, []int{20}
|
||||
return fileDescriptor_4db93ede4fa65546, []int{20}
|
||||
}
|
||||
func (m *MsgReAssociateRecordsResponse) XXX_Unmarshal(b []byte) error {
|
||||
return m.Unmarshal(b)
|
||||
@@ -1039,90 +1039,90 @@ func (m *MsgReAssociateRecordsResponse) XXX_DiscardUnknown() {
|
||||
var xxx_messageInfo_MsgReAssociateRecordsResponse proto.InternalMessageInfo
|
||||
|
||||
func init() {
|
||||
proto.RegisterType((*MsgSetRecord)(nil), "vulcanize.nameservice.v1beta1.MsgSetRecord")
|
||||
proto.RegisterType((*MsgSetRecordResponse)(nil), "vulcanize.nameservice.v1beta1.MsgSetRecordResponse")
|
||||
proto.RegisterType((*Payload)(nil), "vulcanize.nameservice.v1beta1.Payload")
|
||||
proto.RegisterType((*MsgSetName)(nil), "vulcanize.nameservice.v1beta1.MsgSetName")
|
||||
proto.RegisterType((*MsgSetNameResponse)(nil), "vulcanize.nameservice.v1beta1.MsgSetNameResponse")
|
||||
proto.RegisterType((*MsgReserveAuthority)(nil), "vulcanize.nameservice.v1beta1.MsgReserveAuthority")
|
||||
proto.RegisterType((*MsgReserveAuthorityResponse)(nil), "vulcanize.nameservice.v1beta1.MsgReserveAuthorityResponse")
|
||||
proto.RegisterType((*MsgSetAuthorityBond)(nil), "vulcanize.nameservice.v1beta1.MsgSetAuthorityBond")
|
||||
proto.RegisterType((*MsgSetAuthorityBondResponse)(nil), "vulcanize.nameservice.v1beta1.MsgSetAuthorityBondResponse")
|
||||
proto.RegisterType((*MsgDeleteNameAuthority)(nil), "vulcanize.nameservice.v1beta1.MsgDeleteNameAuthority")
|
||||
proto.RegisterType((*MsgDeleteNameAuthorityResponse)(nil), "vulcanize.nameservice.v1beta1.MsgDeleteNameAuthorityResponse")
|
||||
proto.RegisterType((*MsgRenewRecord)(nil), "vulcanize.nameservice.v1beta1.MsgRenewRecord")
|
||||
proto.RegisterType((*MsgRenewRecordResponse)(nil), "vulcanize.nameservice.v1beta1.MsgRenewRecordResponse")
|
||||
proto.RegisterType((*MsgAssociateBond)(nil), "vulcanize.nameservice.v1beta1.MsgAssociateBond")
|
||||
proto.RegisterType((*MsgAssociateBondResponse)(nil), "vulcanize.nameservice.v1beta1.MsgAssociateBondResponse")
|
||||
proto.RegisterType((*MsgDissociateBond)(nil), "vulcanize.nameservice.v1beta1.MsgDissociateBond")
|
||||
proto.RegisterType((*MsgDissociateBondResponse)(nil), "vulcanize.nameservice.v1beta1.MsgDissociateBondResponse")
|
||||
proto.RegisterType((*MsgDissociateRecords)(nil), "vulcanize.nameservice.v1beta1.MsgDissociateRecords")
|
||||
proto.RegisterType((*MsgDissociateRecordsResponse)(nil), "vulcanize.nameservice.v1beta1.MsgDissociateRecordsResponse")
|
||||
proto.RegisterType((*MsgReAssociateRecords)(nil), "vulcanize.nameservice.v1beta1.MsgReAssociateRecords")
|
||||
proto.RegisterType((*MsgReAssociateRecordsResponse)(nil), "vulcanize.nameservice.v1beta1.MsgReAssociateRecordsResponse")
|
||||
proto.RegisterType((*MsgSetRecord)(nil), "vulcanize.registry.v1beta1.MsgSetRecord")
|
||||
proto.RegisterType((*MsgSetRecordResponse)(nil), "vulcanize.registry.v1beta1.MsgSetRecordResponse")
|
||||
proto.RegisterType((*Payload)(nil), "vulcanize.registry.v1beta1.Payload")
|
||||
proto.RegisterType((*MsgSetName)(nil), "vulcanize.registry.v1beta1.MsgSetName")
|
||||
proto.RegisterType((*MsgSetNameResponse)(nil), "vulcanize.registry.v1beta1.MsgSetNameResponse")
|
||||
proto.RegisterType((*MsgReserveAuthority)(nil), "vulcanize.registry.v1beta1.MsgReserveAuthority")
|
||||
proto.RegisterType((*MsgReserveAuthorityResponse)(nil), "vulcanize.registry.v1beta1.MsgReserveAuthorityResponse")
|
||||
proto.RegisterType((*MsgSetAuthorityBond)(nil), "vulcanize.registry.v1beta1.MsgSetAuthorityBond")
|
||||
proto.RegisterType((*MsgSetAuthorityBondResponse)(nil), "vulcanize.registry.v1beta1.MsgSetAuthorityBondResponse")
|
||||
proto.RegisterType((*MsgDeleteNameAuthority)(nil), "vulcanize.registry.v1beta1.MsgDeleteNameAuthority")
|
||||
proto.RegisterType((*MsgDeleteNameAuthorityResponse)(nil), "vulcanize.registry.v1beta1.MsgDeleteNameAuthorityResponse")
|
||||
proto.RegisterType((*MsgRenewRecord)(nil), "vulcanize.registry.v1beta1.MsgRenewRecord")
|
||||
proto.RegisterType((*MsgRenewRecordResponse)(nil), "vulcanize.registry.v1beta1.MsgRenewRecordResponse")
|
||||
proto.RegisterType((*MsgAssociateBond)(nil), "vulcanize.registry.v1beta1.MsgAssociateBond")
|
||||
proto.RegisterType((*MsgAssociateBondResponse)(nil), "vulcanize.registry.v1beta1.MsgAssociateBondResponse")
|
||||
proto.RegisterType((*MsgDissociateBond)(nil), "vulcanize.registry.v1beta1.MsgDissociateBond")
|
||||
proto.RegisterType((*MsgDissociateBondResponse)(nil), "vulcanize.registry.v1beta1.MsgDissociateBondResponse")
|
||||
proto.RegisterType((*MsgDissociateRecords)(nil), "vulcanize.registry.v1beta1.MsgDissociateRecords")
|
||||
proto.RegisterType((*MsgDissociateRecordsResponse)(nil), "vulcanize.registry.v1beta1.MsgDissociateRecordsResponse")
|
||||
proto.RegisterType((*MsgReAssociateRecords)(nil), "vulcanize.registry.v1beta1.MsgReAssociateRecords")
|
||||
proto.RegisterType((*MsgReAssociateRecordsResponse)(nil), "vulcanize.registry.v1beta1.MsgReAssociateRecordsResponse")
|
||||
}
|
||||
|
||||
func init() {
|
||||
proto.RegisterFile("vulcanize/nameservice/v1beta1/tx.proto", fileDescriptor_b66a805dda801ce9)
|
||||
proto.RegisterFile("vulcanize/registry/v1beta1/tx.proto", fileDescriptor_4db93ede4fa65546)
|
||||
}
|
||||
|
||||
var fileDescriptor_b66a805dda801ce9 = []byte{
|
||||
// 877 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x57, 0xcb, 0x6e, 0xdb, 0x46,
|
||||
0x14, 0x15, 0x25, 0x57, 0xaa, 0xae, 0x5a, 0xc3, 0x66, 0x55, 0x43, 0xa5, 0x6b, 0x52, 0xa5, 0x61,
|
||||
0x43, 0x85, 0x61, 0xb1, 0x96, 0x5b, 0xd4, 0x70, 0x6b, 0xa0, 0x16, 0x9a, 0x20, 0x5e, 0x28, 0x08,
|
||||
0xe8, 0x45, 0x80, 0x6c, 0x0c, 0x8a, 0x1c, 0xd0, 0x34, 0x24, 0x8e, 0x40, 0x52, 0x96, 0x15, 0x03,
|
||||
0xc9, 0x26, 0x40, 0x80, 0xac, 0xf2, 0x15, 0x41, 0x7e, 0x22, 0xc8, 0xd6, 0x4b, 0x2f, 0xb3, 0x12,
|
||||
0x02, 0xfb, 0x0f, 0xb4, 0xcd, 0x26, 0xe0, 0xf0, 0x35, 0xd4, 0xc3, 0x7a, 0xc4, 0xbb, 0xe1, 0xcc,
|
||||
0x3d, 0xf7, 0x9c, 0x7b, 0x66, 0x2e, 0x87, 0x84, 0xcd, 0xf3, 0x76, 0x43, 0x55, 0x4c, 0xe3, 0x39,
|
||||
0x92, 0x4c, 0xa5, 0x89, 0x6c, 0x64, 0x9d, 0x1b, 0x2a, 0x92, 0xce, 0x77, 0xea, 0xc8, 0x51, 0x76,
|
||||
0x24, 0xe7, 0xa2, 0xdc, 0xb2, 0xb0, 0x83, 0xd9, 0xb5, 0x30, 0xae, 0x4c, 0xc5, 0x95, 0xfd, 0x38,
|
||||
0x2e, 0xaf, 0x63, 0x1d, 0x93, 0x48, 0xc9, 0x1d, 0x79, 0x20, 0x4e, 0xba, 0x3b, 0x39, 0x9d, 0x88,
|
||||
0x00, 0xc4, 0xf7, 0x0c, 0xfc, 0x50, 0xb3, 0xf5, 0x63, 0xe4, 0xc8, 0x48, 0xc5, 0x96, 0xc6, 0xee,
|
||||
0x41, 0xa6, 0x8e, 0x4d, 0xed, 0xc4, 0xd0, 0x0a, 0x4c, 0x91, 0x29, 0x65, 0xab, 0x42, 0xbf, 0x27,
|
||||
0xac, 0x9e, 0xd9, 0xd8, 0xdc, 0x17, 0xdd, 0x85, 0x23, 0x4d, 0x2c, 0x76, 0x95, 0x66, 0x23, 0x7c,
|
||||
0x92, 0xd3, 0xde, 0x80, 0x5d, 0x81, 0xb4, 0x6d, 0xe8, 0x26, 0xb2, 0x0a, 0x49, 0x17, 0x28, 0xfb,
|
||||
0x4f, 0xec, 0x43, 0xc8, 0xb4, 0x94, 0x6e, 0x03, 0x2b, 0x5a, 0x21, 0x55, 0x64, 0x4a, 0xb9, 0xca,
|
||||
0x66, 0xf9, 0xce, 0xd2, 0xca, 0x4f, 0xbc, 0xe8, 0xea, 0xc2, 0x55, 0x4f, 0x48, 0xc8, 0x01, 0x58,
|
||||
0xdc, 0x84, 0x3c, 0xad, 0x54, 0x46, 0x76, 0x0b, 0x9b, 0x36, 0x62, 0x17, 0x21, 0x19, 0x88, 0x95,
|
||||
0x93, 0x86, 0x26, 0x7e, 0x64, 0x20, 0xe3, 0xa7, 0x60, 0x0f, 0x20, 0x6d, 0x91, 0x68, 0xb2, 0x9e,
|
||||
0xab, 0x6c, 0x4c, 0xa0, 0xf6, 0x53, 0xfb, 0x20, 0xb6, 0x0d, 0xe0, 0x16, 0xa1, 0x38, 0x6d, 0x0b,
|
||||
0xd9, 0x85, 0x64, 0x31, 0x55, 0xca, 0x55, 0x4a, 0x13, 0x52, 0x1c, 0x07, 0x80, 0xea, 0x96, 0xab,
|
||||
0xbf, 0xdf, 0x13, 0xd6, 0x3d, 0xf7, 0xa2, 0x4c, 0x81, 0x83, 0xd4, 0x8c, 0x4c, 0x11, 0x89, 0x8f,
|
||||
0x00, 0xbc, 0x4a, 0x1f, 0x2b, 0x4d, 0xc4, 0x2e, 0x41, 0x4a, 0xb5, 0x4c, 0xbf, 0x40, 0x77, 0x48,
|
||||
0x66, 0x0c, 0xcd, 0xb7, 0xd9, 0x1d, 0x52, 0xde, 0xa7, 0x68, 0xef, 0xc5, 0x3c, 0xb0, 0x51, 0xa6,
|
||||
0xc0, 0x31, 0xf1, 0x29, 0xfc, 0x54, 0xb3, 0x75, 0x99, 0x48, 0x47, 0x87, 0x6d, 0xe7, 0x14, 0x5b,
|
||||
0x86, 0xd3, 0x65, 0x59, 0x58, 0x70, 0x0b, 0xf2, 0x99, 0xc8, 0x78, 0xec, 0xa6, 0xe6, 0xe1, 0x3b,
|
||||
0xdc, 0x89, 0xf8, 0xbc, 0x07, 0x71, 0x0d, 0x56, 0x47, 0x24, 0x0e, 0x79, 0x2f, 0x09, 0xef, 0x31,
|
||||
0x72, 0xc2, 0xa5, 0x2a, 0x36, 0xb5, 0x91, 0xbc, 0xd4, 0x31, 0x4c, 0xce, 0x7b, 0x0c, 0xe3, 0x56,
|
||||
0x78, 0xda, 0x06, 0xc9, 0x43, 0x6d, 0x55, 0x58, 0xa9, 0xd9, 0xfa, 0xff, 0xa8, 0x81, 0x1c, 0xe4,
|
||||
0x9a, 0x15, 0xd9, 0x32, 0xec, 0xff, 0x18, 0x53, 0xc4, 0x22, 0xf0, 0xa3, 0x73, 0x84, 0x2c, 0x67,
|
||||
0xb0, 0x48, 0x0c, 0x32, 0x51, 0xc7, 0xef, 0xb7, 0xff, 0x20, 0xeb, 0x1d, 0xb6, 0xa8, 0xe3, 0xd6,
|
||||
0xfb, 0x3d, 0x41, 0xf0, 0x4a, 0xf5, 0x96, 0xa2, 0x62, 0xc3, 0x67, 0xf9, 0xfb, 0x60, 0x38, 0x56,
|
||||
0x4d, 0x81, 0x54, 0x44, 0x71, 0x85, 0x2a, 0xde, 0x31, 0xb0, 0x54, 0xb3, 0xf5, 0x43, 0xdb, 0xc6,
|
||||
0xaa, 0xa1, 0x38, 0x88, 0xec, 0xc2, 0xb7, 0x0b, 0xb9, 0xff, 0x3d, 0xe3, 0xa0, 0x30, 0xa8, 0x33,
|
||||
0x2c, 0xa2, 0x09, 0xcb, 0xae, 0xd9, 0xc6, 0x3d, 0x17, 0x31, 0xce, 0xcd, 0x55, 0xf8, 0x65, 0x88,
|
||||
0x2e, 0xd4, 0x72, 0x4a, 0x5e, 0x4d, 0xd1, 0xa2, 0xe7, 0xb7, 0x7d, 0xff, 0x2f, 0x53, 0x91, 0x87,
|
||||
0x5f, 0x47, 0x31, 0x85, 0x4a, 0x3e, 0x30, 0xf0, 0x33, 0xd9, 0xf5, 0xc3, 0x41, 0x2d, 0x0f, 0x20,
|
||||
0x67, 0xa2, 0xce, 0x49, 0x5c, 0xcf, 0x46, 0xbf, 0x27, 0xfc, 0xe6, 0xe9, 0x31, 0x51, 0xa7, 0x1a,
|
||||
0x93, 0x14, 0x4d, 0xc8, 0xd9, 0x70, 0xec, 0xa6, 0xc1, 0x0d, 0xed, 0x24, 0xbe, 0xd1, 0x54, 0x1a,
|
||||
0xdc, 0xd0, 0xe2, 0x69, 0xa2, 0x09, 0x39, 0x1b, 0x8e, 0xc7, 0xee, 0xb8, 0x00, 0x6b, 0x23, 0xe5,
|
||||
0x07, 0x05, 0x56, 0xbe, 0x64, 0x21, 0x55, 0xb3, 0x75, 0x16, 0x43, 0x36, 0xba, 0xb4, 0xb6, 0x26,
|
||||
0xbc, 0x93, 0xe9, 0x7b, 0x83, 0xdb, 0x9d, 0x21, 0x38, 0xf4, 0x35, 0xc1, 0xb6, 0x21, 0x47, 0xf7,
|
||||
0xed, 0xf6, 0xe4, 0x2c, 0x54, 0x38, 0xf7, 0xd7, 0x4c, 0xe1, 0x14, 0xed, 0x25, 0xfc, 0x18, 0xef,
|
||||
0x53, 0x69, 0x72, 0xa6, 0x18, 0x80, 0xfb, 0x7b, 0x46, 0x00, 0x45, 0xfe, 0x02, 0x16, 0x07, 0x1a,
|
||||
0xec, 0x8f, 0xc9, 0xc9, 0xe2, 0x08, 0x6e, 0x6f, 0x56, 0x04, 0xc5, 0xff, 0x9a, 0x81, 0xe5, 0xe1,
|
||||
0xae, 0xda, 0x9d, 0x25, 0xa3, 0x0f, 0xe2, 0xfe, 0x99, 0x03, 0x44, 0x29, 0x79, 0xc3, 0x00, 0x3b,
|
||||
0xa2, 0xa9, 0xfe, 0x9c, 0x66, 0x5b, 0x07, 0x51, 0xdc, 0xbf, 0xf3, 0xa0, 0x28, 0x31, 0x06, 0x64,
|
||||
0x82, 0x8f, 0x83, 0xdf, 0xa7, 0x3a, 0xcc, 0x6e, 0x28, 0xb7, 0x33, 0x75, 0x28, 0x45, 0xf5, 0xd2,
|
||||
0x3d, 0xf5, 0xe4, 0x3a, 0x27, 0x74, 0x95, 0x69, 0x94, 0xc7, 0x6f, 0x7f, 0x6e, 0x7f, 0x76, 0x0c,
|
||||
0x25, 0xe0, 0x15, 0x03, 0x10, 0xdd, 0xa8, 0xec, 0x14, 0x7d, 0x34, 0xe2, 0xfe, 0xe5, 0x0e, 0xe6,
|
||||
0x82, 0xc5, 0x65, 0x2c, 0x0d, 0x7d, 0xb8, 0x54, 0xa6, 0x72, 0x34, 0x86, 0x99, 0xc6, 0x8d, 0xb1,
|
||||
0xdf, 0x28, 0x89, 0xea, 0xd1, 0xd5, 0x0d, 0xcf, 0x5c, 0xdf, 0xf0, 0xcc, 0xe7, 0x1b, 0x9e, 0x79,
|
||||
0x7b, 0xcb, 0x27, 0xae, 0x6f, 0xf9, 0xc4, 0xa7, 0x5b, 0x3e, 0xf1, 0x4c, 0xd2, 0x0d, 0xe7, 0xb4,
|
||||
0x5d, 0x2f, 0xab, 0xb8, 0x29, 0xa9, 0xc8, 0x52, 0xb7, 0x0d, 0x2c, 0x35, 0x14, 0x15, 0x9b, 0x86,
|
||||
0xaa, 0x49, 0x17, 0xb1, 0xbf, 0x01, 0xa7, 0xdb, 0x42, 0x76, 0x3d, 0x4d, 0x7e, 0x00, 0x76, 0xbf,
|
||||
0x06, 0x00, 0x00, 0xff, 0xff, 0xdb, 0x60, 0x57, 0xb3, 0x90, 0x0c, 0x00, 0x00,
|
||||
var fileDescriptor_4db93ede4fa65546 = []byte{
|
||||
// 869 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x56, 0xcd, 0x6e, 0xdb, 0x46,
|
||||
0x10, 0x16, 0x25, 0x57, 0xaa, 0x46, 0xad, 0x61, 0xb3, 0xaa, 0xa1, 0xd2, 0x35, 0xa9, 0x52, 0xb0,
|
||||
0xa1, 0xb6, 0xb6, 0x68, 0xab, 0x2d, 0xea, 0xfa, 0x54, 0xab, 0x4d, 0x90, 0x1c, 0x14, 0x04, 0xf4,
|
||||
0x21, 0x40, 0x2e, 0x06, 0x45, 0x2e, 0x68, 0x1a, 0x12, 0x57, 0xe0, 0x52, 0x96, 0x95, 0x00, 0x01,
|
||||
0x02, 0xe4, 0x01, 0xf2, 0x12, 0xc9, 0x3b, 0xe4, 0xe0, 0xbb, 0x8f, 0x3e, 0xe6, 0x24, 0x04, 0xf6,
|
||||
0x1b, 0xe8, 0x09, 0x02, 0xfe, 0x2f, 0xf5, 0x47, 0x29, 0xf1, 0x6d, 0xc8, 0xfd, 0x66, 0xbe, 0x6f,
|
||||
0xbe, 0xdd, 0xe1, 0x12, 0x2a, 0x17, 0xbd, 0xb6, 0xaa, 0x98, 0xc6, 0x0b, 0x24, 0x59, 0x48, 0x37,
|
||||
0x88, 0x6d, 0x0d, 0xa4, 0x8b, 0x83, 0x16, 0xb2, 0x95, 0x03, 0xc9, 0xbe, 0xac, 0x75, 0x2d, 0x6c,
|
||||
0x63, 0x96, 0x0b, 0x41, 0xb5, 0x00, 0x54, 0xf3, 0x41, 0x5c, 0x51, 0xc7, 0x3a, 0x76, 0x61, 0x92,
|
||||
0x13, 0x79, 0x19, 0xdc, 0xaf, 0x73, 0xca, 0x86, 0x25, 0x5c, 0xa8, 0xf8, 0x8e, 0x81, 0xef, 0x9a,
|
||||
0x44, 0x3f, 0x41, 0xb6, 0x8c, 0x54, 0x6c, 0x69, 0xec, 0x21, 0xe4, 0x5a, 0xd8, 0xd4, 0x4e, 0x0d,
|
||||
0xad, 0xc4, 0x94, 0x99, 0x6a, 0xbe, 0x21, 0x8c, 0x86, 0xc2, 0xe6, 0x39, 0xc1, 0xe6, 0x91, 0xe8,
|
||||
0x2c, 0x3c, 0xd6, 0xc4, 0xf2, 0x40, 0xe9, 0xb4, 0xc3, 0x27, 0x39, 0xeb, 0x05, 0xec, 0x06, 0x64,
|
||||
0x89, 0xa1, 0x9b, 0xc8, 0x2a, 0xa5, 0x9d, 0x44, 0xd9, 0x7f, 0x62, 0xff, 0x83, 0x5c, 0x57, 0x19,
|
||||
0xb4, 0xb1, 0xa2, 0x95, 0x32, 0x65, 0xa6, 0x5a, 0xa8, 0x57, 0x6a, 0xb3, 0x3b, 0xaa, 0x3d, 0xf5,
|
||||
0xa0, 0x8d, 0x95, 0xeb, 0xa1, 0x90, 0x92, 0x83, 0x4c, 0x71, 0x07, 0x8a, 0xb4, 0x4c, 0x19, 0x91,
|
||||
0x2e, 0x36, 0x09, 0x62, 0x57, 0x21, 0x1d, 0x28, 0x95, 0xd3, 0x86, 0x26, 0x7e, 0x60, 0x20, 0xe7,
|
||||
0x97, 0x60, 0x8f, 0x20, 0x6b, 0xb9, 0x68, 0x77, 0xbd, 0x50, 0x17, 0xe7, 0xf1, 0xfa, 0x75, 0xfd,
|
||||
0x0c, 0xd6, 0x02, 0x70, 0xe4, 0x2b, 0x76, 0xcf, 0x42, 0xa4, 0x94, 0x2e, 0x67, 0xaa, 0x85, 0xfa,
|
||||
0xf6, 0xbc, 0xfc, 0x93, 0x00, 0xdd, 0xf8, 0xdd, 0x51, 0x3e, 0x1a, 0x0a, 0x15, 0xcf, 0xb4, 0xa8,
|
||||
0x4c, 0x60, 0x1c, 0xf5, 0x46, 0xa6, 0x58, 0xc4, 0x47, 0x00, 0x5e, 0x8f, 0x4f, 0x94, 0x0e, 0x62,
|
||||
0xd7, 0x20, 0xa3, 0x5a, 0xa6, 0xdf, 0x9a, 0x13, 0xba, 0x6f, 0x0c, 0xcd, 0x77, 0xd7, 0x09, 0x29,
|
||||
0xcb, 0x33, 0xb4, 0xe5, 0x62, 0x11, 0xd8, 0xa8, 0x52, 0xe0, 0x95, 0xf8, 0x0c, 0x7e, 0x68, 0x12,
|
||||
0x5d, 0x46, 0x04, 0x59, 0x17, 0xe8, 0xb8, 0x67, 0x9f, 0x61, 0xcb, 0xb0, 0x07, 0x2c, 0x0b, 0x2b,
|
||||
0xa6, 0xd2, 0x41, 0x3e, 0x93, 0x1b, 0xcf, 0xdc, 0xcb, 0x22, 0x7c, 0x83, 0xfb, 0x11, 0x9f, 0xf7,
|
||||
0x20, 0x6e, 0xc1, 0xe6, 0x94, 0xc2, 0x21, 0xef, 0x4b, 0x97, 0xf7, 0x04, 0xd9, 0xe1, 0x52, 0x03,
|
||||
0x9b, 0xda, 0x54, 0x5e, 0xea, 0xf4, 0xa5, 0xbf, 0xf4, 0xf4, 0xc5, 0xad, 0xf0, 0xb4, 0x8d, 0x93,
|
||||
0x87, 0xda, 0x1a, 0xb0, 0xd1, 0x24, 0xfa, 0xff, 0xa8, 0x8d, 0x6c, 0xe4, 0x98, 0x15, 0xd9, 0x32,
|
||||
0xe9, 0xff, 0x0c, 0x53, 0xc4, 0x32, 0xf0, 0xd3, 0x6b, 0x84, 0x2c, 0xe7, 0xb0, 0xea, 0x1a, 0x64,
|
||||
0xa2, 0xbe, 0x3f, 0x66, 0xff, 0x42, 0xde, 0x3b, 0x69, 0xd1, 0xa0, 0x55, 0x46, 0x43, 0x41, 0xf0,
|
||||
0x5a, 0xf5, 0x96, 0xa2, 0x66, 0xc3, 0x67, 0xf9, 0xdb, 0x20, 0x9c, 0xa9, 0xa6, 0xe4, 0x76, 0x44,
|
||||
0x71, 0x85, 0x2a, 0xde, 0x33, 0xb0, 0xd6, 0x24, 0xfa, 0x31, 0x21, 0x58, 0x35, 0x14, 0x1b, 0xb9,
|
||||
0xbb, 0xf0, 0xf5, 0x42, 0xee, 0x7f, 0xcf, 0x38, 0x28, 0x8d, 0xeb, 0x0c, 0x9b, 0xe8, 0xc0, 0xba,
|
||||
0x63, 0xb6, 0x71, 0xcf, 0x4d, 0xcc, 0x72, 0x73, 0x13, 0x7e, 0x9a, 0xa0, 0x0b, 0xb5, 0x9c, 0xb9,
|
||||
0x1f, 0xa5, 0x68, 0xd1, 0xf3, 0x9b, 0xdc, 0xff, 0x37, 0x54, 0xe4, 0xe1, 0xe7, 0x69, 0x4c, 0xa1,
|
||||
0x92, 0x2b, 0x06, 0x7e, 0x74, 0x77, 0xfd, 0x78, 0x5c, 0xcb, 0x03, 0x28, 0x98, 0xa8, 0x7f, 0x1a,
|
||||
0xd7, 0xb3, 0x3d, 0x1a, 0x0a, 0xbf, 0x78, 0x7a, 0x4c, 0xd4, 0x6f, 0xc4, 0x24, 0x45, 0x2f, 0xe4,
|
||||
0x7c, 0x18, 0x3b, 0x65, 0x70, 0x5b, 0x3b, 0x8d, 0x6f, 0x34, 0x55, 0x06, 0xb7, 0xb5, 0x78, 0x99,
|
||||
0xe8, 0x85, 0x9c, 0x0f, 0xe3, 0x99, 0x3b, 0x2e, 0xc0, 0xd6, 0x54, 0xf9, 0x41, 0x83, 0xf5, 0xab,
|
||||
0x3c, 0x64, 0x9a, 0x44, 0x67, 0x0d, 0xc8, 0x47, 0x77, 0x55, 0x75, 0xde, 0x07, 0x99, 0xbe, 0x2e,
|
||||
0xb8, 0xfd, 0x45, 0x91, 0xa1, 0xa3, 0x29, 0x16, 0x43, 0x81, 0x9e, 0xd8, 0xdf, 0x12, 0x4a, 0x50,
|
||||
0x58, 0xae, 0xbe, 0x38, 0x96, 0x22, 0xec, 0xc1, 0xf7, 0xf1, 0xd9, 0xdc, 0x4d, 0x28, 0x13, 0x43,
|
||||
0x73, 0x7f, 0x2e, 0x83, 0xa6, 0x68, 0x2f, 0x61, 0x75, 0x6c, 0x9c, 0xf6, 0x12, 0x2a, 0xc5, 0xe1,
|
||||
0xdc, 0x5f, 0x4b, 0xc1, 0x29, 0xe6, 0xd7, 0x0c, 0xac, 0x4f, 0x4e, 0xcf, 0xfe, 0xc2, 0xe5, 0xfc,
|
||||
0x0c, 0xee, 0x70, 0xd9, 0x0c, 0x4a, 0xc3, 0x1b, 0x06, 0xd8, 0x29, 0x63, 0x73, 0x90, 0xb8, 0x83,
|
||||
0xe3, 0x29, 0xdc, 0x3f, 0x4b, 0xa7, 0x50, 0x32, 0x54, 0xc8, 0x05, 0x17, 0xff, 0x4e, 0xf2, 0x59,
|
||||
0x75, 0x70, 0x5c, 0x6d, 0x31, 0x1c, 0x45, 0x32, 0x70, 0x4e, 0xb4, 0x7b, 0x49, 0xbb, 0x44, 0x52,
|
||||
0xa2, 0xe0, 0xf8, 0x85, 0xce, 0xfd, 0xbd, 0x64, 0x02, 0x45, 0xfd, 0x0a, 0x20, 0xba, 0x20, 0xd9,
|
||||
0xa4, 0xf9, 0x98, 0x72, 0x97, 0x72, 0x47, 0xcb, 0xe7, 0xc4, 0xf8, 0xd7, 0x26, 0x7e, 0x40, 0xa4,
|
||||
0x64, 0x03, 0x63, 0x09, 0x89, 0xfd, 0xcf, 0xfc, 0xcb, 0x48, 0x35, 0x1e, 0x5e, 0xdf, 0xf2, 0xcc,
|
||||
0xcd, 0x2d, 0xcf, 0x7c, 0xba, 0xe5, 0x99, 0xb7, 0x77, 0x7c, 0xea, 0xe6, 0x8e, 0x4f, 0x7d, 0xbc,
|
||||
0xe3, 0x53, 0xcf, 0x77, 0x75, 0xc3, 0x3e, 0xeb, 0xb5, 0x6a, 0x2a, 0xee, 0x48, 0x2a, 0xb2, 0xd4,
|
||||
0x3d, 0x03, 0x4b, 0x6d, 0x45, 0xc5, 0xa6, 0xa1, 0x6a, 0xd2, 0x65, 0xf4, 0x03, 0x6f, 0x0f, 0xba,
|
||||
0x88, 0xb4, 0xb2, 0xee, 0x6f, 0xfb, 0x1f, 0x9f, 0x03, 0x00, 0x00, 0xff, 0xff, 0x38, 0xa4, 0xc4,
|
||||
0xcc, 0x3a, 0x0c, 0x00, 0x00,
|
||||
}
|
||||
|
||||
// Reference imports to suppress errors if they are not otherwise used.
|
||||
@@ -1169,7 +1169,7 @@ func NewMsgClient(cc grpc1.ClientConn) MsgClient {
|
||||
|
||||
func (c *msgClient) SetRecord(ctx context.Context, in *MsgSetRecord, opts ...grpc.CallOption) (*MsgSetRecordResponse, error) {
|
||||
out := new(MsgSetRecordResponse)
|
||||
err := c.cc.Invoke(ctx, "/vulcanize.nameservice.v1beta1.Msg/SetRecord", in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, "/vulcanize.registry.v1beta1.Msg/SetRecord", in, out, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -1178,7 +1178,7 @@ func (c *msgClient) SetRecord(ctx context.Context, in *MsgSetRecord, opts ...grp
|
||||
|
||||
func (c *msgClient) RenewRecord(ctx context.Context, in *MsgRenewRecord, opts ...grpc.CallOption) (*MsgRenewRecordResponse, error) {
|
||||
out := new(MsgRenewRecordResponse)
|
||||
err := c.cc.Invoke(ctx, "/vulcanize.nameservice.v1beta1.Msg/RenewRecord", in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, "/vulcanize.registry.v1beta1.Msg/RenewRecord", in, out, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -1187,7 +1187,7 @@ func (c *msgClient) RenewRecord(ctx context.Context, in *MsgRenewRecord, opts ..
|
||||
|
||||
func (c *msgClient) AssociateBond(ctx context.Context, in *MsgAssociateBond, opts ...grpc.CallOption) (*MsgAssociateBondResponse, error) {
|
||||
out := new(MsgAssociateBondResponse)
|
||||
err := c.cc.Invoke(ctx, "/vulcanize.nameservice.v1beta1.Msg/AssociateBond", in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, "/vulcanize.registry.v1beta1.Msg/AssociateBond", in, out, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -1196,7 +1196,7 @@ func (c *msgClient) AssociateBond(ctx context.Context, in *MsgAssociateBond, opt
|
||||
|
||||
func (c *msgClient) DissociateBond(ctx context.Context, in *MsgDissociateBond, opts ...grpc.CallOption) (*MsgDissociateBondResponse, error) {
|
||||
out := new(MsgDissociateBondResponse)
|
||||
err := c.cc.Invoke(ctx, "/vulcanize.nameservice.v1beta1.Msg/DissociateBond", in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, "/vulcanize.registry.v1beta1.Msg/DissociateBond", in, out, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -1205,7 +1205,7 @@ func (c *msgClient) DissociateBond(ctx context.Context, in *MsgDissociateBond, o
|
||||
|
||||
func (c *msgClient) DissociateRecords(ctx context.Context, in *MsgDissociateRecords, opts ...grpc.CallOption) (*MsgDissociateRecordsResponse, error) {
|
||||
out := new(MsgDissociateRecordsResponse)
|
||||
err := c.cc.Invoke(ctx, "/vulcanize.nameservice.v1beta1.Msg/DissociateRecords", in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, "/vulcanize.registry.v1beta1.Msg/DissociateRecords", in, out, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -1214,7 +1214,7 @@ func (c *msgClient) DissociateRecords(ctx context.Context, in *MsgDissociateReco
|
||||
|
||||
func (c *msgClient) ReAssociateRecords(ctx context.Context, in *MsgReAssociateRecords, opts ...grpc.CallOption) (*MsgReAssociateRecordsResponse, error) {
|
||||
out := new(MsgReAssociateRecordsResponse)
|
||||
err := c.cc.Invoke(ctx, "/vulcanize.nameservice.v1beta1.Msg/ReAssociateRecords", in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, "/vulcanize.registry.v1beta1.Msg/ReAssociateRecords", in, out, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -1223,7 +1223,7 @@ func (c *msgClient) ReAssociateRecords(ctx context.Context, in *MsgReAssociateRe
|
||||
|
||||
func (c *msgClient) SetName(ctx context.Context, in *MsgSetName, opts ...grpc.CallOption) (*MsgSetNameResponse, error) {
|
||||
out := new(MsgSetNameResponse)
|
||||
err := c.cc.Invoke(ctx, "/vulcanize.nameservice.v1beta1.Msg/SetName", in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, "/vulcanize.registry.v1beta1.Msg/SetName", in, out, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -1232,7 +1232,7 @@ func (c *msgClient) SetName(ctx context.Context, in *MsgSetName, opts ...grpc.Ca
|
||||
|
||||
func (c *msgClient) ReserveName(ctx context.Context, in *MsgReserveAuthority, opts ...grpc.CallOption) (*MsgReserveAuthorityResponse, error) {
|
||||
out := new(MsgReserveAuthorityResponse)
|
||||
err := c.cc.Invoke(ctx, "/vulcanize.nameservice.v1beta1.Msg/ReserveName", in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, "/vulcanize.registry.v1beta1.Msg/ReserveName", in, out, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -1241,7 +1241,7 @@ func (c *msgClient) ReserveName(ctx context.Context, in *MsgReserveAuthority, op
|
||||
|
||||
func (c *msgClient) DeleteName(ctx context.Context, in *MsgDeleteNameAuthority, opts ...grpc.CallOption) (*MsgDeleteNameAuthorityResponse, error) {
|
||||
out := new(MsgDeleteNameAuthorityResponse)
|
||||
err := c.cc.Invoke(ctx, "/vulcanize.nameservice.v1beta1.Msg/DeleteName", in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, "/vulcanize.registry.v1beta1.Msg/DeleteName", in, out, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -1250,7 +1250,7 @@ func (c *msgClient) DeleteName(ctx context.Context, in *MsgDeleteNameAuthority,
|
||||
|
||||
func (c *msgClient) SetAuthorityBond(ctx context.Context, in *MsgSetAuthorityBond, opts ...grpc.CallOption) (*MsgSetAuthorityBondResponse, error) {
|
||||
out := new(MsgSetAuthorityBondResponse)
|
||||
err := c.cc.Invoke(ctx, "/vulcanize.nameservice.v1beta1.Msg/SetAuthorityBond", in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, "/vulcanize.registry.v1beta1.Msg/SetAuthorityBond", in, out, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -1330,7 +1330,7 @@ func _Msg_SetRecord_Handler(srv interface{}, ctx context.Context, dec func(inter
|
||||
}
|
||||
info := &grpc.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: "/vulcanize.nameservice.v1beta1.Msg/SetRecord",
|
||||
FullMethod: "/vulcanize.registry.v1beta1.Msg/SetRecord",
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
return srv.(MsgServer).SetRecord(ctx, req.(*MsgSetRecord))
|
||||
@@ -1348,7 +1348,7 @@ func _Msg_RenewRecord_Handler(srv interface{}, ctx context.Context, dec func(int
|
||||
}
|
||||
info := &grpc.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: "/vulcanize.nameservice.v1beta1.Msg/RenewRecord",
|
||||
FullMethod: "/vulcanize.registry.v1beta1.Msg/RenewRecord",
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
return srv.(MsgServer).RenewRecord(ctx, req.(*MsgRenewRecord))
|
||||
@@ -1366,7 +1366,7 @@ func _Msg_AssociateBond_Handler(srv interface{}, ctx context.Context, dec func(i
|
||||
}
|
||||
info := &grpc.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: "/vulcanize.nameservice.v1beta1.Msg/AssociateBond",
|
||||
FullMethod: "/vulcanize.registry.v1beta1.Msg/AssociateBond",
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
return srv.(MsgServer).AssociateBond(ctx, req.(*MsgAssociateBond))
|
||||
@@ -1384,7 +1384,7 @@ func _Msg_DissociateBond_Handler(srv interface{}, ctx context.Context, dec func(
|
||||
}
|
||||
info := &grpc.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: "/vulcanize.nameservice.v1beta1.Msg/DissociateBond",
|
||||
FullMethod: "/vulcanize.registry.v1beta1.Msg/DissociateBond",
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
return srv.(MsgServer).DissociateBond(ctx, req.(*MsgDissociateBond))
|
||||
@@ -1402,7 +1402,7 @@ func _Msg_DissociateRecords_Handler(srv interface{}, ctx context.Context, dec fu
|
||||
}
|
||||
info := &grpc.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: "/vulcanize.nameservice.v1beta1.Msg/DissociateRecords",
|
||||
FullMethod: "/vulcanize.registry.v1beta1.Msg/DissociateRecords",
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
return srv.(MsgServer).DissociateRecords(ctx, req.(*MsgDissociateRecords))
|
||||
@@ -1420,7 +1420,7 @@ func _Msg_ReAssociateRecords_Handler(srv interface{}, ctx context.Context, dec f
|
||||
}
|
||||
info := &grpc.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: "/vulcanize.nameservice.v1beta1.Msg/ReAssociateRecords",
|
||||
FullMethod: "/vulcanize.registry.v1beta1.Msg/ReAssociateRecords",
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
return srv.(MsgServer).ReAssociateRecords(ctx, req.(*MsgReAssociateRecords))
|
||||
@@ -1438,7 +1438,7 @@ func _Msg_SetName_Handler(srv interface{}, ctx context.Context, dec func(interfa
|
||||
}
|
||||
info := &grpc.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: "/vulcanize.nameservice.v1beta1.Msg/SetName",
|
||||
FullMethod: "/vulcanize.registry.v1beta1.Msg/SetName",
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
return srv.(MsgServer).SetName(ctx, req.(*MsgSetName))
|
||||
@@ -1456,7 +1456,7 @@ func _Msg_ReserveName_Handler(srv interface{}, ctx context.Context, dec func(int
|
||||
}
|
||||
info := &grpc.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: "/vulcanize.nameservice.v1beta1.Msg/ReserveName",
|
||||
FullMethod: "/vulcanize.registry.v1beta1.Msg/ReserveName",
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
return srv.(MsgServer).ReserveName(ctx, req.(*MsgReserveAuthority))
|
||||
@@ -1474,7 +1474,7 @@ func _Msg_DeleteName_Handler(srv interface{}, ctx context.Context, dec func(inte
|
||||
}
|
||||
info := &grpc.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: "/vulcanize.nameservice.v1beta1.Msg/DeleteName",
|
||||
FullMethod: "/vulcanize.registry.v1beta1.Msg/DeleteName",
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
return srv.(MsgServer).DeleteName(ctx, req.(*MsgDeleteNameAuthority))
|
||||
@@ -1492,7 +1492,7 @@ func _Msg_SetAuthorityBond_Handler(srv interface{}, ctx context.Context, dec fun
|
||||
}
|
||||
info := &grpc.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: "/vulcanize.nameservice.v1beta1.Msg/SetAuthorityBond",
|
||||
FullMethod: "/vulcanize.registry.v1beta1.Msg/SetAuthorityBond",
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
return srv.(MsgServer).SetAuthorityBond(ctx, req.(*MsgSetAuthorityBond))
|
||||
@@ -1501,7 +1501,7 @@ func _Msg_SetAuthorityBond_Handler(srv interface{}, ctx context.Context, dec fun
|
||||
}
|
||||
|
||||
var _Msg_serviceDesc = grpc.ServiceDesc{
|
||||
ServiceName: "vulcanize.nameservice.v1beta1.Msg",
|
||||
ServiceName: "vulcanize.registry.v1beta1.Msg",
|
||||
HandlerType: (*MsgServer)(nil),
|
||||
Methods: []grpc.MethodDesc{
|
||||
{
|
||||
@@ -1546,7 +1546,7 @@ var _Msg_serviceDesc = grpc.ServiceDesc{
|
||||
},
|
||||
},
|
||||
Streams: []grpc.StreamDesc{},
|
||||
Metadata: "vulcanize/nameservice/v1beta1/tx.proto",
|
||||
Metadata: "vulcanize/registry/v1beta1/tx.proto",
|
||||
}
|
||||
|
||||
func (m *MsgSetRecord) Marshal() (dAtA []byte, err error) {
|
||||
@@ -2,9 +2,14 @@ package types
|
||||
|
||||
import (
|
||||
"crypto/sha256"
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"strings"
|
||||
|
||||
"github.com/cerc-io/laconicd/x/nameservice/helpers"
|
||||
"github.com/cerc-io/laconicd/x/registry/helpers"
|
||||
codectypes "github.com/cosmos/cosmos-sdk/codec/types"
|
||||
canonicalJson "github.com/gibson042/canonicaljson-go"
|
||||
"github.com/gogo/protobuf/proto"
|
||||
)
|
||||
|
||||
const (
|
||||
@@ -21,25 +26,63 @@ type PayloadType struct {
|
||||
|
||||
// ToPayload converts PayloadType to Payload object.
|
||||
// Why? Because go-amino can't handle maps: https://github.com/tendermint/go-amino/issues/4.
|
||||
func (payloadObj *PayloadType) ToPayload() Payload {
|
||||
func (payloadObj *PayloadType) ToPayload() (Payload, error) {
|
||||
attributes, err := payLoadAttributes(payloadObj.Record)
|
||||
if err != nil {
|
||||
return Payload{}, err
|
||||
}
|
||||
payload := Payload{
|
||||
Record: &Record{
|
||||
Deleted: false,
|
||||
Owners: nil,
|
||||
Attributes: helpers.BytesToBase64(helpers.MarshalMapToJSONBytes(payloadObj.Record)),
|
||||
Attributes: attributes,
|
||||
},
|
||||
Signatures: payloadObj.Signatures,
|
||||
}
|
||||
return payload
|
||||
return payload, nil
|
||||
}
|
||||
|
||||
func payLoadAttributes(recordPayLoad map[string]interface{}) (*codectypes.Any, error) {
|
||||
recordType, ok := recordPayLoad["type"]
|
||||
if !ok {
|
||||
return &codectypes.Any{}, fmt.Errorf("cannot get type from payload")
|
||||
}
|
||||
bz := helpers.MarshalMapToJSONBytes(recordPayLoad)
|
||||
|
||||
switch recordType.(string) {
|
||||
case "ServiceProviderRegistration":
|
||||
{
|
||||
var attributes ServiceProviderRegistration
|
||||
err := json.Unmarshal(bz, &attributes)
|
||||
if err != nil {
|
||||
return &codectypes.Any{}, err
|
||||
}
|
||||
return codectypes.NewAnyWithValue(&attributes)
|
||||
}
|
||||
case "WebsiteRegistrationRecord":
|
||||
{
|
||||
var attributes WebsiteRegistrationRecord
|
||||
err := json.Unmarshal(bz, &attributes)
|
||||
if err != nil {
|
||||
return &codectypes.Any{}, err
|
||||
}
|
||||
return codectypes.NewAnyWithValue(&attributes)
|
||||
}
|
||||
default:
|
||||
return &codectypes.Any{}, fmt.Errorf("unsupported record type %s", recordType.(string))
|
||||
}
|
||||
}
|
||||
|
||||
// ToReadablePayload converts Payload to PayloadType
|
||||
// It will unmarshal with record attributes
|
||||
func (payload Payload) ToReadablePayload() PayloadType {
|
||||
var payloadType PayloadType
|
||||
bz, err := GetJSONBytesFromAny(*payload.Record.Attributes)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
|
||||
payloadType.Record = helpers.UnMarshalMapFromJSONBytes(helpers.BytesFromBase64(payload.Record.Attributes))
|
||||
|
||||
payloadType.Record = helpers.UnMarshalMapFromJSONBytes(bz)
|
||||
payloadType.Signatures = payload.Signatures
|
||||
|
||||
return payloadType
|
||||
@@ -57,11 +100,53 @@ func (r *Record) ToRecordType() RecordType {
|
||||
resourceObj.Deleted = r.Deleted
|
||||
resourceObj.Owners = r.Owners
|
||||
resourceObj.Names = r.Names
|
||||
resourceObj.Attributes = helpers.UnMarshalMapFromJSONBytes(helpers.BytesFromBase64(r.Attributes))
|
||||
|
||||
bz, err := GetJSONBytesFromAny(*r.Attributes)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
resourceObj.Attributes = helpers.UnMarshalMapFromJSONBytes(bz)
|
||||
|
||||
return resourceObj
|
||||
}
|
||||
|
||||
func GetJSONBytesFromAny(any codectypes.Any) ([]byte, error) {
|
||||
var bz []byte
|
||||
s := strings.Split(any.TypeUrl, ".")
|
||||
switch s[len(s)-1] {
|
||||
case "ServiceProviderRegistration":
|
||||
{
|
||||
var attributes ServiceProviderRegistration
|
||||
err := proto.Unmarshal(any.Value, &attributes)
|
||||
if err != nil {
|
||||
panic("Proto unmarshal error")
|
||||
}
|
||||
|
||||
bz, err = json.Marshal(attributes)
|
||||
if err != nil {
|
||||
panic("JSON marshal error")
|
||||
}
|
||||
}
|
||||
case "WebsiteRegistrationRecord":
|
||||
{
|
||||
var attributes WebsiteRegistrationRecord
|
||||
err := proto.Unmarshal(any.Value, &attributes)
|
||||
if err != nil {
|
||||
panic("Proto unmarshal error")
|
||||
}
|
||||
|
||||
bz, err = json.Marshal(attributes)
|
||||
if err != nil {
|
||||
panic("JSON marshal error")
|
||||
}
|
||||
}
|
||||
default:
|
||||
return nil, fmt.Errorf("unsupported type %s", s[len(s)-1])
|
||||
}
|
||||
|
||||
return bz, nil
|
||||
}
|
||||
|
||||
// RecordType represents a WNS record.
|
||||
type RecordType struct {
|
||||
ID string `json:"id,omitempty"`
|
||||
@@ -76,7 +161,12 @@ type RecordType struct {
|
||||
|
||||
// ToRecordObj converts Record to RecordObj.
|
||||
// Why? Because go-amino can't handle maps: https://github.com/tendermint/go-amino/issues/4.
|
||||
func (r *RecordType) ToRecordObj() Record {
|
||||
func (r *RecordType) ToRecordObj() (Record, error) {
|
||||
attributes, err := payLoadAttributes(r.Attributes)
|
||||
if err != nil {
|
||||
return Record{}, err
|
||||
}
|
||||
|
||||
var resourceObj Record
|
||||
|
||||
resourceObj.Id = r.ID
|
||||
@@ -85,9 +175,9 @@ func (r *RecordType) ToRecordObj() Record {
|
||||
resourceObj.ExpiryTime = r.ExpiryTime
|
||||
resourceObj.Deleted = r.Deleted
|
||||
resourceObj.Owners = r.Owners
|
||||
resourceObj.Attributes = helpers.BytesToBase64(helpers.MarshalMapToJSONBytes(r.Attributes))
|
||||
resourceObj.Attributes = attributes
|
||||
|
||||
return resourceObj
|
||||
return resourceObj, nil
|
||||
}
|
||||
|
||||
// CanonicalJSON returns the canonical JSON representation of the record.
|
||||
Reference in New Issue
Block a user