forked from cerc-io/laconicd-deprecated
update from fork
This commit is contained in:
commit
76922d2c6f
82
.github/workflows/codeql-analysis.yml
vendored
82
.github/workflows/codeql-analysis.yml
vendored
@ -13,10 +13,10 @@ name: "CodeQL"
|
|||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches: [ main ]
|
branches: [main]
|
||||||
pull_request:
|
pull_request:
|
||||||
# The branches below must be a subset of the branches above
|
# The branches below must be a subset of the branches above
|
||||||
branches: [ main ]
|
branches: [main]
|
||||||
schedule:
|
schedule:
|
||||||
- cron: '37 21 * * 4'
|
- cron: '37 21 * * 4'
|
||||||
|
|
||||||
@ -32,53 +32,53 @@ jobs:
|
|||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
language: [ 'go' ]
|
language: ['go', 'javascript', 'python']
|
||||||
# CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python' ]
|
# CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python' ]
|
||||||
# Learn more:
|
# Learn more:
|
||||||
# https://docs.github.com/en/free-pro-team@latest/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#changing-the-languages-that-are-analyzed
|
# https://docs.github.com/en/free-pro-team@latest/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#changing-the-languages-that-are-analyzed
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout repository
|
- name: Checkout repository
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v3
|
||||||
- uses: technote-space/get-diff-action@v6.1.2
|
- uses: technote-space/get-diff-action@v6.1.2
|
||||||
with:
|
with:
|
||||||
PATTERNS: |
|
PATTERNS: |
|
||||||
**/**.sol
|
**/**.go
|
||||||
**/**.go
|
**/**.ts
|
||||||
**/**.ts
|
**/**.js
|
||||||
**/**.js
|
**/**.py
|
||||||
go.mod
|
go.mod
|
||||||
go.sum
|
go.sum
|
||||||
|
|
||||||
# Initializes the CodeQL tools for scanning.
|
# Initializes the CodeQL tools for scanning.
|
||||||
- name: Initialize CodeQL
|
- name: Initialize CodeQL
|
||||||
uses: github/codeql-action/init@v2
|
uses: github/codeql-action/init@v2
|
||||||
with:
|
with:
|
||||||
languages: ${{ matrix.language }}
|
languages: ${{ matrix.language }}
|
||||||
# If you wish to specify custom queries, you can do so here or in a config file.
|
# If you wish to specify custom queries, you can do so here or in a config file.
|
||||||
# By default, queries listed here will override any specified in a config file.
|
# By default, queries listed here will override any specified in a config file.
|
||||||
# Prefix the list here with "+" to use these queries and those in the config file.
|
# Prefix the list here with "+" to use these queries and those in the config file.
|
||||||
# queries: ./path/to/local/query, your-org/your-repo/queries@main
|
# queries: ./path/to/local/query, your-org/your-repo/queries@main
|
||||||
queries: crypto-com/cosmos-sdk-codeql@main,security-and-quality
|
queries: crypto-com/cosmos-sdk-codeql@main,security-and-quality
|
||||||
if: env.GIT_DIFF
|
if: env.GIT_DIFF
|
||||||
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
|
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
|
||||||
# If this step fails, then you should remove it and run the build manually (see below)
|
# If this step fails, then you should remove it and run the build manually (see below)
|
||||||
|
|
||||||
- name: Autobuild
|
- name: Autobuild
|
||||||
uses: github/codeql-action/autobuild@v2
|
uses: github/codeql-action/autobuild@v2
|
||||||
if: env.GIT_DIFF
|
if: env.GIT_DIFF
|
||||||
|
|
||||||
# ℹ️ Command-line programs to run using the OS shell.
|
# ℹ️ Command-line programs to run using the OS shell.
|
||||||
# 📚 https://git.io/JvXDl
|
# 📚 https://git.io/JvXDl
|
||||||
|
|
||||||
# ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
|
# ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
|
||||||
# and modify them (or add more) to build your code if your project
|
# and modify them (or add more) to build your code if your project
|
||||||
# uses a compiled language
|
# uses a compiled language
|
||||||
|
|
||||||
#- run: |
|
# - run: |
|
||||||
# make bootstrap
|
# make bootstrap
|
||||||
# make release
|
# make release
|
||||||
|
|
||||||
- name: Perform CodeQL Analysis
|
- name: Perform CodeQL Analysis
|
||||||
uses: github/codeql-action/analyze@v2
|
uses: github/codeql-action/analyze@v2
|
||||||
if: env.GIT_DIFF
|
if: env.GIT_DIFF
|
||||||
|
39
.github/workflows/lint.yml
vendored
39
.github/workflows/lint.yml
vendored
@ -33,6 +33,25 @@ jobs:
|
|||||||
github-token: ${{ secrets.github_token }}
|
github-token: ${{ secrets.github_token }}
|
||||||
# Check only if there are differences in the source code
|
# Check only if there are differences in the source code
|
||||||
if: env.GIT_DIFF
|
if: env.GIT_DIFF
|
||||||
|
markdown-lint:
|
||||||
|
name: Run markdown-lint
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
timeout-minutes: 10
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
- uses: technote-space/get-diff-action@v6.1.2
|
||||||
|
with:
|
||||||
|
PATTERNS: |
|
||||||
|
docs/**/*.md
|
||||||
|
x/**/*.md
|
||||||
|
README.md
|
||||||
|
- uses: nosborn/github-action-markdown-cli@v3.2.0
|
||||||
|
with:
|
||||||
|
files: .
|
||||||
|
config_file: .markdownlint.yml
|
||||||
|
ignore_path: .markdownlintignore
|
||||||
|
# Check only if there are differences in the source code
|
||||||
|
if: env.GIT_DIFF
|
||||||
|
|
||||||
python-lint:
|
python-lint:
|
||||||
name: Run flake8 on python integration tests
|
name: Run flake8 on python integration tests
|
||||||
@ -49,4 +68,22 @@ jobs:
|
|||||||
**/**.py
|
**/**.py
|
||||||
- run: |
|
- run: |
|
||||||
nix-shell -I nixpkgs=./nix -p test-env --run "make lint-py"
|
nix-shell -I nixpkgs=./nix -p test-env --run "make lint-py"
|
||||||
if: env.GIT_DIFF
|
if: env.GIT_DIFF
|
||||||
|
gomod2nix:
|
||||||
|
name: Check gomod2nix.toml file is up to date
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2.3.4
|
||||||
|
- uses: cachix/install-nix-action@v18
|
||||||
|
- uses: cachix/cachix-action@v12
|
||||||
|
with:
|
||||||
|
name: ethermint
|
||||||
|
- uses: technote-space/get-diff-action@v6.1.2
|
||||||
|
with:
|
||||||
|
PATTERNS: |
|
||||||
|
**/**.py
|
||||||
|
- name: run gomod2nix
|
||||||
|
run: |
|
||||||
|
nix run -f ./nix gomod2nix
|
||||||
|
git diff --no-ext-diff --exit-code
|
||||||
|
if: env.GIT_DIFF
|
||||||
|
4
.github/workflows/proto.yml
vendored
4
.github/workflows/proto.yml
vendored
@ -12,7 +12,7 @@ jobs:
|
|||||||
timeout-minutes: 5
|
timeout-minutes: 5
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
- uses: bufbuild/buf-setup-action@v1.9.0
|
- uses: bufbuild/buf-setup-action@v1.12.0
|
||||||
- uses: bufbuild/buf-lint-action@v1
|
- uses: bufbuild/buf-lint-action@v1
|
||||||
with:
|
with:
|
||||||
input: "proto"
|
input: "proto"
|
||||||
@ -21,7 +21,7 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
- uses: bufbuild/buf-setup-action@v1.9.0
|
- uses: bufbuild/buf-setup-action@v1.12.0
|
||||||
- uses: bufbuild/buf-breaking-action@v1
|
- uses: bufbuild/buf-breaking-action@v1
|
||||||
with:
|
with:
|
||||||
input: "proto"
|
input: "proto"
|
||||||
|
2
.github/workflows/stale.yml
vendored
2
.github/workflows/stale.yml
vendored
@ -7,7 +7,7 @@ jobs:
|
|||||||
stale:
|
stale:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/stale@v6
|
- uses: actions/stale@v7
|
||||||
with:
|
with:
|
||||||
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
stale-pr-message: "This pull request has been automatically marked as stale because it has not had
|
stale-pr-message: "This pull request has been automatically marked as stale because it has not had
|
||||||
|
38
.github/workflows/super-linter.yml
vendored
Normal file
38
.github/workflows/super-linter.yml
vendored
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
# This workflow executes several linters on changed files based on languages used in your code base whenever
|
||||||
|
# you push a code or open a pull request.
|
||||||
|
#
|
||||||
|
# You can adjust the behavior by modifying this file.
|
||||||
|
# For more information, see:
|
||||||
|
# https://github.com/github/super-linter
|
||||||
|
---
|
||||||
|
name: Lint Code Base
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches: ["main"]
|
||||||
|
pull_request:
|
||||||
|
branches: ["main"]
|
||||||
|
jobs:
|
||||||
|
run-lint:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout code
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
with:
|
||||||
|
# Full git history is needed to get a proper list of changed files within `super-linter`
|
||||||
|
fetch-depth: 0
|
||||||
|
|
||||||
|
- name: Lint Code Base
|
||||||
|
uses: github/super-linter@v4
|
||||||
|
env:
|
||||||
|
LINTER_RULES_PATH: /
|
||||||
|
YAML_CONFIG_FILE: .yamllint
|
||||||
|
VALIDATE_ALL_CODEBASE: false
|
||||||
|
MARKDOWN_CONFIG_FILE: .markdownlint.yml
|
||||||
|
PROTOBUF_CONFIG_FILE: .protolint.yml
|
||||||
|
VALIDATE_NATURAL_LANGUAGE: false
|
||||||
|
VALIDATE_OPENAPI: false
|
||||||
|
VALIDATE_JSCPD: false
|
||||||
|
VALIDATE_GO: false
|
||||||
|
DEFAULT_BRANCH: "main"
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
55
.github/workflows/test.yml
vendored
55
.github/workflows/test.yml
vendored
@ -36,7 +36,8 @@ jobs:
|
|||||||
- uses: codecov/codecov-action@v3
|
- uses: codecov/codecov-action@v3
|
||||||
with:
|
with:
|
||||||
file: ./coverage.txt
|
file: ./coverage.txt
|
||||||
fail_ci_if_error: false
|
fail_ci_if_error: true
|
||||||
|
token: ${{ secrets.CODECOV_TOKEN }}
|
||||||
if: env.GIT_DIFF
|
if: env.GIT_DIFF
|
||||||
|
|
||||||
test-importer:
|
test-importer:
|
||||||
@ -62,7 +63,7 @@ jobs:
|
|||||||
|
|
||||||
test-rpc:
|
test-rpc:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
timeout-minutes: 15
|
timeout-minutes: 30
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/setup-go@v3
|
- uses: actions/setup-go@v3
|
||||||
with:
|
with:
|
||||||
@ -81,8 +82,6 @@ jobs:
|
|||||||
make test-rpc
|
make test-rpc
|
||||||
if: env.GIT_DIFF
|
if: env.GIT_DIFF
|
||||||
|
|
||||||
<<<<<<< HEAD
|
|
||||||
=======
|
|
||||||
sdk_tests:
|
sdk_tests:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
@ -129,51 +128,3 @@ jobs:
|
|||||||
working-directory: tests/sdk_tests
|
working-directory: tests/sdk_tests
|
||||||
if: always()
|
if: always()
|
||||||
run: docker compose -f docker-compose-nameservice.yml down
|
run: docker compose -f docker-compose-nameservice.yml down
|
||||||
|
|
||||||
>>>>>>> 5f6a9f56bbd93f049b7f34d99dd412a10fbafeeb
|
|
||||||
# integration_tests:
|
|
||||||
# runs-on: ubuntu-latest
|
|
||||||
# steps:
|
|
||||||
# - uses: actions/checkout@v2
|
|
||||||
# - uses: cachix/install-nix-action@v18
|
|
||||||
# - uses: cachix/cachix-action@v12
|
|
||||||
# with:
|
|
||||||
# name: ethermint
|
|
||||||
# signingKey: "${{ secrets.CACHIX_SIGNING_KEY }}"
|
|
||||||
# - uses: technote-space/get-diff-action@v6.1.2
|
|
||||||
# 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@v12
|
|
||||||
# with:
|
|
||||||
# name: ethermint
|
|
||||||
# signingKey: "${{ secrets.CACHIX_SIGNING_KEY }}"
|
|
||||||
# - name: 'instantiate integration test env'
|
|
||||||
# run: nix-store -r "$(nix-instantiate tests/integration_tests/shell.nix)"
|
|
||||||
|
55
CHANGELOG.md
55
CHANGELOG.md
@ -36,17 +36,39 @@ Ref: https://keepachangelog.com/en/1.0.0/
|
|||||||
|
|
||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
|
## [v0.21.0] - 2023-01-26
|
||||||
|
|
||||||
|
### State Machine Breaking
|
||||||
|
|
||||||
|
* (feemarket) [#1509](https://github.com/evmos/ethermint/pull/1509) Deprecate usage of x/params in x/feemarket
|
||||||
|
* (evm) [#1472](https://github.com/evmos/ethermint/pull/1472) Deprecate usage of x/params in x/evm
|
||||||
|
* (deps) [#1575](https://github.com/evmos/ethermint/pull/1575) Bump ibc-go to [`v6.1.0`](https://github.com/cosmos/ibc-go/releases/tag/v6.1.0)
|
||||||
|
|
||||||
|
### Improvements
|
||||||
|
|
||||||
|
* (cli) [#1615](https://github.com/evmos/ethermint/pull/1615) Support customize db opener in `StartCmd`.
|
||||||
|
* (evm) [#1582](https://github.com/evmos/ethermint/pull/1582) Cleanup `evm` files
|
||||||
|
* (evm) [#1544](https://github.com/evmos/ethermint/pull/1544) Migrate deprecated event emitting to new `TypedEvent`
|
||||||
|
* (deps) [#1532](https://github.com/evmos/ethermint/pull/1532) Upgrade Go-Ethereum version to [`v1.10.26`](https://github.com/ethereum/go-ethereum/releases/tag/v1.10.26).
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
* (upgrade) [#1617](https://github.com/evmos/ethermint/pull/1617) Refactor `evm` module's parameters to store them under a single store key
|
||||||
|
* (rpc) [#1600](https://github.com/evmos/ethermint/pull/1600) Revert changes from `TypedEvents`
|
||||||
|
* (rpc) [#1613](https://github.com/evmos/ethermint/pull/1613) Change the default json-rpc listen address to localhost.
|
||||||
|
* (rpc) [#1611](https://github.com/evmos/ethermint/pull/1611) Add missing next fee in fee history, fix wrong oldestBlock and align earliest input as ethereum.
|
||||||
|
* (proto) [#1586](https://github.com/evmos/ethermint/pull/1586) Avoid duplicate register proto type in `evm` & `feemarket`
|
||||||
|
|
||||||
## [v0.20.0] - 2022-12-28
|
## [v0.20.0] - 2022-12-28
|
||||||
|
|
||||||
### State Machine Breaking
|
### State Machine Breaking
|
||||||
|
|
||||||
* (deps) [#1564](https://github.com/evmos/ethermint/pull/1564) Bump ibc-go to [`v5.2.0`](https://github.com/cosmos/ibc-go/releases/tag/v5.2.0)
|
* (deps) [#1564](https://github.com/evmos/ethermint/pull/1564) Bump ibc-go to [`v5.2.0`](https://github.com/cosmos/ibc-go/releases/tag/v5.2.0)
|
||||||
* (evm) [\#1272](https://github.com/evmos/ethermint/pull/1272) Implement modular interface for the EVM.
|
* (evm) [#1272](https://github.com/evmos/ethermint/pull/1272) Implement modular interface for the EVM.
|
||||||
* (deps) [#1551](https://github.com/evmos/ethermint/pull/1551) Upgrade Cosmos SDK to [`v0.46.7`](https://github.com/cosmos/cosmos-sdk/releases/tag/v0.46.7).
|
* (deps) [#1551](https://github.com/evmos/ethermint/pull/1551) Upgrade Cosmos SDK to [`v0.46.7`](https://github.com/cosmos/cosmos-sdk/releases/tag/v0.46.7).
|
||||||
* (feemarket) [#1194](https://github.com/evmos/ethermint/pull/1194) Apply feemarket to native cosmos tx.
|
* (feemarket) [#1194](https://github.com/evmos/ethermint/pull/1194) Apply feemarket to native cosmos tx.
|
||||||
* (eth) [#1346](https://github.com/evmos/ethermint/pull/1346) Added support for `sdk.Dec` and `ed25519` type on eip712.
|
* (eth) [#1346](https://github.com/evmos/ethermint/pull/1346) Added support for `sdk.Dec` and `ed25519` type on eip712.
|
||||||
* (evm) [#1452](https://github.com/evmos/ethermint/pull/1452) Simplify Gas Math in `ApplyTransaction`.
|
* (evm) [#1452](https://github.com/evmos/ethermint/pull/1452) Simplify Gas Math in `ApplyTransaction`.
|
||||||
* (eth) [#1430](https://github.com/evmos/ethermint/pull/1430) Added support for array of type `Any` on eip712.
|
* (eth) [#1430](https://github.com/evmos/ethermint/pull/1430) Added support for array of type `Any` on eip712.
|
||||||
* (ante) [1460](https://github.com/evmos/ethermint/pull/1460) Add KV Gas config on ethereum Txs.
|
* (ante) [1460](https://github.com/evmos/ethermint/pull/1460) Add KV Gas config on ethereum Txs.
|
||||||
* (eth) [#1459](https://github.com/evmos/ethermint/pull/1459) Added support for messages with optional types omitted on eip712.
|
* (eth) [#1459](https://github.com/evmos/ethermint/pull/1459) Added support for messages with optional types omitted on eip712.
|
||||||
* (geth) [#1413](https://github.com/evmos/ethermint/pull/1413) Update go-ethereum version to [`v1.10.26`](https://github.com/ethereum/go-ethereum/releases/tag/v1.10.26).
|
* (geth) [#1413](https://github.com/evmos/ethermint/pull/1413) Update go-ethereum version to [`v1.10.26`](https://github.com/ethereum/go-ethereum/releases/tag/v1.10.26).
|
||||||
@ -70,9 +92,9 @@ Ref: https://keepachangelog.com/en/1.0.0/
|
|||||||
* (evm) [#1499](https://github.com/evmos/ethermint/pull/1499) Add Shanghai and Cancun block
|
* (evm) [#1499](https://github.com/evmos/ethermint/pull/1499) Add Shanghai and Cancun block
|
||||||
* (ante) [#1455](https://github.com/evmos/ethermint/pull/1455) Refactor `AnteHandler` logic
|
* (ante) [#1455](https://github.com/evmos/ethermint/pull/1455) Refactor `AnteHandler` logic
|
||||||
* (evm) [#1444](https://github.com/evmos/ethermint/pull/1444) Improve performance of `eth_estimateGas`
|
* (evm) [#1444](https://github.com/evmos/ethermint/pull/1444) Improve performance of `eth_estimateGas`
|
||||||
* (ante) [\#1388](https://github.com/evmos/ethermint/pull/1388) Optimize AnteHandler gas consumption
|
* (ante) [#1388](https://github.com/evmos/ethermint/pull/1388) Optimize AnteHandler gas consumption
|
||||||
* (lint) [#1298](https://github.com/evmos/ethermint/pull/1298) 150 character line length limit, `gofumpt`, and linting
|
* (lint) [#1298](https://github.com/evmos/ethermint/pull/1298) 150 character line length limit, `gofumpt`, and linting
|
||||||
* (feemarket) [\#1165](https://github.com/evmos/ethermint/pull/1165) Add hint in specs about different gas terminology in Cosmos and Ethereum.
|
* (feemarket) [#1165](https://github.com/evmos/ethermint/pull/1165) Add hint in specs about different gas terminology in Cosmos and Ethereum.
|
||||||
* (cli) [#1226](https://github.com/evmos/ethermint/pull/1226) Add custom app db backend flag.
|
* (cli) [#1226](https://github.com/evmos/ethermint/pull/1226) Add custom app db backend flag.
|
||||||
* (ante) [#1289](https://github.com/evmos/ethermint/pull/1289) Change the fallback tx priority mechanism to be based on gas price.
|
* (ante) [#1289](https://github.com/evmos/ethermint/pull/1289) Change the fallback tx priority mechanism to be based on gas price.
|
||||||
* (test) [#1311](https://github.com/evmos/ethermint/pull/1311) Add integration test for the `rollback` cmd
|
* (test) [#1311](https://github.com/evmos/ethermint/pull/1311) Add integration test for the `rollback` cmd
|
||||||
@ -85,32 +107,9 @@ Ref: https://keepachangelog.com/en/1.0.0/
|
|||||||
* (test) [#1396](https://github.com/evmos/ethermint/pull/1396) Increase test coverage for the EVM module `keeper`
|
* (test) [#1396](https://github.com/evmos/ethermint/pull/1396) Increase test coverage for the EVM module `keeper`
|
||||||
* (ante) [#1397](https://github.com/evmos/ethermint/pull/1397) Refactor EIP-712 signature verification to support EIP-712 multi-signing.
|
* (ante) [#1397](https://github.com/evmos/ethermint/pull/1397) Refactor EIP-712 signature verification to support EIP-712 multi-signing.
|
||||||
* (deps) [#1416](https://github.com/evmos/ethermint/pull/1416) Bump Go version to `1.19`
|
* (deps) [#1416](https://github.com/evmos/ethermint/pull/1416) Bump Go version to `1.19`
|
||||||
* (cmd) [\#1417](https://github.com/evmos/ethermint/pull/1417) Apply Google CLI Syntax for required and optional args.
|
* (cmd) [#1417](https://github.com/evmos/ethermint/pull/1417) Apply Google CLI Syntax for required and optional args.
|
||||||
* (deps) [#1456](https://github.com/evmos/ethermint/pull/1456) Migrate errors-related functionality from "github.com/cosmos/cosmos-sdk/types/errors" (deprecated) to "cosmossdk.io/errors"
|
* (deps) [#1456](https://github.com/evmos/ethermint/pull/1456) Migrate errors-related functionality from "github.com/cosmos/cosmos-sdk/types/errors" (deprecated) to "cosmossdk.io/errors"
|
||||||
|
|
||||||
### State Machine Breaking
|
|
||||||
|
|
||||||
* (deps) [#1361](https://github.com/evmos/ethermint/pull/1361) Bump ibc-go to [`v5.0.0`](https://github.com/cosmos/ibc-go/releases/tag/v5.0.0)
|
|
||||||
* (evm) [\#1272](https://github.com/evmos/ethermint/pull/1272) Implement modular interface for the EVM.
|
|
||||||
* (deps) [#1168](https://github.com/evmos/ethermint/pull/1168) Upgrade Cosmos SDK to `v0.46`.
|
|
||||||
* (feemarket) [#1194](https://github.com/evmos/ethermint/pull/1194) Apply feemarket to native cosmos tx.
|
|
||||||
* (eth) [#1346](https://github.com/evmos/ethermint/pull/1346) Added support for `sdk.Dec` and `ed25519` type on eip712.
|
|
||||||
|
|
||||||
### API Breaking
|
|
||||||
|
|
||||||
* (ante) [#1214](https://github.com/evmos/ethermint/pull/1214) Set mempool priority to EVM transactions.
|
|
||||||
|
|
||||||
### Improvements
|
|
||||||
|
|
||||||
* (lint) [#1298](https://github.com/evmos/ethermint/pull/1298) 150 character line length limit, `gofumpt`, and linting
|
|
||||||
* (feemarket) [\#1165](https://github.com/evmos/ethermint/pull/1165) Add hint in specs about different gas terminology in Cosmos and Ethereum.
|
|
||||||
* (cli) [#1226](https://github.com/evmos/ethermint/pull/1226) Add custom app db backend flag.
|
|
||||||
* (ante) [#1289](https://github.com/evmos/ethermint/pull/1289) Change the fallback tx priority mechanism to be based on gas price.
|
|
||||||
* (test) [#1311](https://github.com/evmos/ethermint/pull/1311) Add integration test for the `rollback` cmd
|
|
||||||
* (ledger) [#1277](https://github.com/evmos/ethermint/pull/1277) Add Ledger preprocessing transaction hook for EIP-712-signed Cosmos payloads.
|
|
||||||
* (rpc) [#1296](https://github.com/evmos/ethermint/pull/1296) Add RPC Backend unit tests.
|
|
||||||
* (rpc) [#1352](https://github.com/evmos/ethermint/pull/1352) Make the grpc queries run concurrently, don't block the consensus state machine.
|
|
||||||
|
|
||||||
### Bug Fixes
|
### Bug Fixes
|
||||||
|
|
||||||
* (rpc) [#1561](https://github.com/evmos/ethermint/pull/1561) Fix call to `NewMnemonic` in `personal_newAccount`
|
* (rpc) [#1561](https://github.com/evmos/ethermint/pull/1561) Fix call to `NewMnemonic` in `personal_newAccount`
|
||||||
|
@ -17,7 +17,7 @@ COPY . .
|
|||||||
RUN make build
|
RUN make build
|
||||||
|
|
||||||
# Final image
|
# Final image
|
||||||
FROM alpine:3.17.0
|
FROM alpine:3.17.1
|
||||||
|
|
||||||
# Install ca-certificates
|
# Install ca-certificates
|
||||||
RUN apk add --update ca-certificates jq curl
|
RUN apk add --update ca-certificates jq curl
|
||||||
|
@ -4,7 +4,6 @@
|
|||||||
|
|
||||||
![banner](docs/laconic.jpeg)
|
![banner](docs/laconic.jpeg)
|
||||||
|
|
||||||
|
|
||||||
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.
|
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.19+](https://golang.org/dl/)
|
**Note**: Requires [Go 1.19+](https://golang.org/dl/)
|
||||||
|
@ -1,3 +1,18 @@
|
|||||||
|
// Copyright 2021 Evmos Foundation
|
||||||
|
// This file is part of Evmos' Ethermint library.
|
||||||
|
//
|
||||||
|
// The Ethermint library is free software: you can redistribute it and/or modify
|
||||||
|
// it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
// the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// (at your option) any later version.
|
||||||
|
//
|
||||||
|
// The Ethermint library is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU Lesser General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU Lesser General Public License
|
||||||
|
// along with the Ethermint library. If not, see https://github.com/evmos/ethermint/blob/main/LICENSE
|
||||||
package ante
|
package ante
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
@ -1,12 +0,0 @@
|
|||||||
/*
|
|
||||||
Package ante defines the SDK auth module's AnteHandler as well as an internal
|
|
||||||
AnteHandler for an Ethereum transaction (i.e MsgEthereumTx).
|
|
||||||
|
|
||||||
During CheckTx, the transaction is passed through a series of
|
|
||||||
pre-message execution validation checks such as signature and account
|
|
||||||
verification in addition to minimum fees being checked. Otherwise, during
|
|
||||||
DeliverTx, the transaction is simply passed to the EVM which will also
|
|
||||||
perform the same series of checks. The distinction is made in CheckTx to
|
|
||||||
prevent spam and DoS attacks.
|
|
||||||
*/
|
|
||||||
package ante
|
|
@ -1,3 +1,18 @@
|
|||||||
|
// Copyright 2021 Evmos Foundation
|
||||||
|
// This file is part of Evmos' Ethermint library.
|
||||||
|
//
|
||||||
|
// The Ethermint library is free software: you can redistribute it and/or modify
|
||||||
|
// it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
// the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// (at your option) any later version.
|
||||||
|
//
|
||||||
|
// The Ethermint library is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU Lesser General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU Lesser General Public License
|
||||||
|
// along with the Ethermint library. If not, see https://github.com/evmos/ethermint/blob/main/LICENSE
|
||||||
package ante
|
package ante
|
||||||
|
|
||||||
import (
|
import (
|
||||||
@ -13,7 +28,7 @@ import (
|
|||||||
authante "github.com/cosmos/cosmos-sdk/x/auth/ante"
|
authante "github.com/cosmos/cosmos-sdk/x/auth/ante"
|
||||||
"github.com/cosmos/cosmos-sdk/x/auth/migrations/legacytx"
|
"github.com/cosmos/cosmos-sdk/x/auth/migrations/legacytx"
|
||||||
authsigning "github.com/cosmos/cosmos-sdk/x/auth/signing"
|
authsigning "github.com/cosmos/cosmos-sdk/x/auth/signing"
|
||||||
ibcante "github.com/cosmos/ibc-go/v5/modules/core/ante"
|
ibcante "github.com/cosmos/ibc-go/v6/modules/core/ante"
|
||||||
|
|
||||||
"github.com/cerc-io/laconicd/crypto/ethsecp256k1"
|
"github.com/cerc-io/laconicd/crypto/ethsecp256k1"
|
||||||
"github.com/cerc-io/laconicd/ethereum/eip712"
|
"github.com/cerc-io/laconicd/ethereum/eip712"
|
||||||
|
@ -144,12 +144,13 @@ func (egcd EthGasConsumeDecorator) AnteHandle(ctx sdk.Context, tx sdk.Tx, simula
|
|||||||
// that is not bubbled up. Thus, the Tx never runs on DeliverMode
|
// that is not bubbled up. Thus, the Tx never runs on DeliverMode
|
||||||
// Error: "gas wanted -1 is negative"
|
// Error: "gas wanted -1 is negative"
|
||||||
// For more information, see issue #1554
|
// For more information, see issue #1554
|
||||||
// https://github.com/cerc-io/laconicd/issues/1554
|
// https://github.com/evmos/ethermint/issues/1554
|
||||||
newCtx := ctx.WithGasMeter(ethermint.NewInfiniteGasMeterWithLimit(gasWanted))
|
newCtx := ctx.WithGasMeter(ethermint.NewInfiniteGasMeterWithLimit(gasWanted))
|
||||||
return next(newCtx, tx, simulate)
|
return next(newCtx, tx, simulate)
|
||||||
}
|
}
|
||||||
|
|
||||||
chainCfg := egcd.evmKeeper.GetChainConfig(ctx)
|
evmParams := egcd.evmKeeper.GetParams(ctx)
|
||||||
|
chainCfg := evmParams.GetChainConfig()
|
||||||
ethCfg := chainCfg.EthereumConfig(egcd.evmKeeper.ChainID())
|
ethCfg := chainCfg.EthereumConfig(egcd.evmKeeper.ChainID())
|
||||||
|
|
||||||
blockHeight := big.NewInt(ctx.BlockHeight())
|
blockHeight := big.NewInt(ctx.BlockHeight())
|
||||||
@ -183,7 +184,7 @@ func (egcd EthGasConsumeDecorator) AnteHandle(ctx sdk.Context, tx sdk.Tx, simula
|
|||||||
gasWanted += txData.GetGas()
|
gasWanted += txData.GetGas()
|
||||||
}
|
}
|
||||||
|
|
||||||
evmDenom := egcd.evmKeeper.GetEVMDenom(ctx)
|
evmDenom := evmParams.GetEvmDenom()
|
||||||
|
|
||||||
fees, err := keeper.VerifyFee(txData, evmDenom, baseFee, homestead, istanbul, ctx.IsCheckTx())
|
fees, err := keeper.VerifyFee(txData, evmDenom, baseFee, homestead, istanbul, ctx.IsCheckTx())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -294,7 +295,7 @@ func (ctd CanTransferDecorator) AnteHandle(ctx sdk.Context, tx sdk.Tx, simulate
|
|||||||
}
|
}
|
||||||
|
|
||||||
// NOTE: pass in an empty coinbase address and nil tracer as we don't need them for the check below
|
// NOTE: pass in an empty coinbase address and nil tracer as we don't need them for the check below
|
||||||
cfg := &evmtypes.EVMConfig{
|
cfg := &statedb.EVMConfig{
|
||||||
ChainConfig: ethCfg,
|
ChainConfig: ethCfg,
|
||||||
Params: params,
|
Params: params,
|
||||||
CoinBase: common.Address{},
|
CoinBase: common.Address{},
|
||||||
|
@ -1,3 +1,18 @@
|
|||||||
|
// Copyright 2021 Evmos Foundation
|
||||||
|
// This file is part of Evmos' Ethermint library.
|
||||||
|
//
|
||||||
|
// The Ethermint library is free software: you can redistribute it and/or modify
|
||||||
|
// it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
// the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// (at your option) any later version.
|
||||||
|
//
|
||||||
|
// The Ethermint library is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU Lesser General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU Lesser General Public License
|
||||||
|
// along with the Ethermint library. If not, see https://github.com/evmos/ethermint/blob/main/LICENSE
|
||||||
package ante
|
package ante
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
@ -1,3 +1,18 @@
|
|||||||
|
// Copyright 2021 Evmos Foundation
|
||||||
|
// This file is part of Evmos' Ethermint library.
|
||||||
|
//
|
||||||
|
// The Ethermint library is free software: you can redistribute it and/or modify
|
||||||
|
// it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
// the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// (at your option) any later version.
|
||||||
|
//
|
||||||
|
// The Ethermint library is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU Lesser General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU Lesser General Public License
|
||||||
|
// along with the Ethermint library. If not, see https://github.com/evmos/ethermint/blob/main/LICENSE
|
||||||
package ante
|
package ante
|
||||||
|
|
||||||
import (
|
import (
|
||||||
@ -27,7 +42,8 @@ func NewGasWantedDecorator(
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (gwd GasWantedDecorator) AnteHandle(ctx sdk.Context, tx sdk.Tx, simulate bool, next sdk.AnteHandler) (newCtx sdk.Context, err error) {
|
func (gwd GasWantedDecorator) AnteHandle(ctx sdk.Context, tx sdk.Tx, simulate bool, next sdk.AnteHandler) (newCtx sdk.Context, err error) {
|
||||||
chainCfg := gwd.evmKeeper.GetChainConfig(ctx)
|
evmParams := gwd.evmKeeper.GetParams(ctx)
|
||||||
|
chainCfg := evmParams.GetChainConfig()
|
||||||
ethCfg := chainCfg.EthereumConfig(gwd.evmKeeper.ChainID())
|
ethCfg := chainCfg.EthereumConfig(gwd.evmKeeper.ChainID())
|
||||||
|
|
||||||
blockHeight := big.NewInt(ctx.BlockHeight())
|
blockHeight := big.NewInt(ctx.BlockHeight())
|
||||||
|
@ -1,3 +1,18 @@
|
|||||||
|
// Copyright 2021 Evmos Foundation
|
||||||
|
// This file is part of Evmos' Ethermint library.
|
||||||
|
//
|
||||||
|
// The Ethermint library is free software: you can redistribute it and/or modify
|
||||||
|
// it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
// the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// (at your option) any later version.
|
||||||
|
//
|
||||||
|
// The Ethermint library is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU Lesser General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU Lesser General Public License
|
||||||
|
// along with the Ethermint library. If not, see https://github.com/evmos/ethermint/blob/main/LICENSE
|
||||||
package ante
|
package ante
|
||||||
|
|
||||||
import (
|
import (
|
||||||
@ -73,8 +88,8 @@ func (mpd MinGasPriceDecorator) AnteHandle(ctx sdk.Context, tx sdk.Tx, simulate
|
|||||||
if minGasPrice.IsZero() || simulate {
|
if minGasPrice.IsZero() || simulate {
|
||||||
return next(ctx, tx, simulate)
|
return next(ctx, tx, simulate)
|
||||||
}
|
}
|
||||||
|
evmParams := mpd.evmKeeper.GetParams(ctx)
|
||||||
evmDenom := mpd.evmKeeper.GetEVMDenom(ctx)
|
evmDenom := evmParams.GetEvmDenom()
|
||||||
minGasPrices := sdk.DecCoins{
|
minGasPrices := sdk.DecCoins{
|
||||||
{
|
{
|
||||||
Denom: evmDenom,
|
Denom: evmDenom,
|
||||||
@ -118,7 +133,8 @@ func (empd EthMinGasPriceDecorator) AnteHandle(ctx sdk.Context, tx sdk.Tx, simul
|
|||||||
return next(ctx, tx, simulate)
|
return next(ctx, tx, simulate)
|
||||||
}
|
}
|
||||||
|
|
||||||
chainCfg := empd.evmKeeper.GetChainConfig(ctx)
|
evmParams := empd.evmKeeper.GetParams(ctx)
|
||||||
|
chainCfg := evmParams.GetChainConfig()
|
||||||
ethCfg := chainCfg.EthereumConfig(empd.evmKeeper.ChainID())
|
ethCfg := chainCfg.EthereumConfig(empd.evmKeeper.ChainID())
|
||||||
baseFee := empd.evmKeeper.GetBaseFee(ctx, ethCfg)
|
baseFee := empd.evmKeeper.GetBaseFee(ctx, ethCfg)
|
||||||
|
|
||||||
@ -176,7 +192,8 @@ func (mfd EthMempoolFeeDecorator) AnteHandle(ctx sdk.Context, tx sdk.Tx, simulat
|
|||||||
if !ctx.IsCheckTx() || simulate {
|
if !ctx.IsCheckTx() || simulate {
|
||||||
return next(ctx, tx, simulate)
|
return next(ctx, tx, simulate)
|
||||||
}
|
}
|
||||||
chainCfg := mfd.evmKeeper.GetChainConfig(ctx)
|
evmParams := mfd.evmKeeper.GetParams(ctx)
|
||||||
|
chainCfg := evmParams.GetChainConfig()
|
||||||
ethCfg := chainCfg.EthereumConfig(mfd.evmKeeper.ChainID())
|
ethCfg := chainCfg.EthereumConfig(mfd.evmKeeper.ChainID())
|
||||||
|
|
||||||
baseFee := mfd.evmKeeper.GetBaseFee(ctx, ethCfg)
|
baseFee := mfd.evmKeeper.GetBaseFee(ctx, ethCfg)
|
||||||
@ -185,7 +202,7 @@ func (mfd EthMempoolFeeDecorator) AnteHandle(ctx sdk.Context, tx sdk.Tx, simulat
|
|||||||
return next(ctx, tx, simulate)
|
return next(ctx, tx, simulate)
|
||||||
}
|
}
|
||||||
|
|
||||||
evmDenom := mfd.evmKeeper.GetEVMDenom(ctx)
|
evmDenom := evmParams.GetEvmDenom()
|
||||||
minGasPrice := ctx.MinGasPrices().AmountOf(evmDenom)
|
minGasPrice := ctx.MinGasPrices().AmountOf(evmDenom)
|
||||||
|
|
||||||
for _, msg := range tx.GetMsgs() {
|
for _, msg := range tx.GetMsgs() {
|
||||||
|
@ -1,3 +1,18 @@
|
|||||||
|
// Copyright 2021 Evmos Foundation
|
||||||
|
// This file is part of Evmos' Ethermint library.
|
||||||
|
//
|
||||||
|
// The Ethermint library is free software: you can redistribute it and/or modify
|
||||||
|
// it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
// the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// (at your option) any later version.
|
||||||
|
//
|
||||||
|
// The Ethermint library is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU Lesser General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU Lesser General Public License
|
||||||
|
// along with the Ethermint library. If not, see https://github.com/evmos/ethermint/blob/main/LICENSE
|
||||||
package ante
|
package ante
|
||||||
|
|
||||||
import (
|
import (
|
||||||
@ -9,8 +24,8 @@ import (
|
|||||||
authsigning "github.com/cosmos/cosmos-sdk/x/auth/signing"
|
authsigning "github.com/cosmos/cosmos-sdk/x/auth/signing"
|
||||||
authtypes "github.com/cosmos/cosmos-sdk/x/auth/types"
|
authtypes "github.com/cosmos/cosmos-sdk/x/auth/types"
|
||||||
|
|
||||||
ibcante "github.com/cosmos/ibc-go/v5/modules/core/ante"
|
ibcante "github.com/cosmos/ibc-go/v6/modules/core/ante"
|
||||||
ibckeeper "github.com/cosmos/ibc-go/v5/modules/core/keeper"
|
ibckeeper "github.com/cosmos/ibc-go/v6/modules/core/keeper"
|
||||||
|
|
||||||
evmtypes "github.com/cerc-io/laconicd/x/evm/types"
|
evmtypes "github.com/cerc-io/laconicd/x/evm/types"
|
||||||
)
|
)
|
||||||
|
@ -1,3 +1,18 @@
|
|||||||
|
// Copyright 2021 Evmos Foundation
|
||||||
|
// This file is part of Evmos' Ethermint library.
|
||||||
|
//
|
||||||
|
// The Ethermint library is free software: you can redistribute it and/or modify
|
||||||
|
// it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
// the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// (at your option) any later version.
|
||||||
|
//
|
||||||
|
// The Ethermint library is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU Lesser General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU Lesser General Public License
|
||||||
|
// along with the Ethermint library. If not, see https://github.com/evmos/ethermint/blob/main/LICENSE
|
||||||
package ante
|
package ante
|
||||||
|
|
||||||
import (
|
import (
|
||||||
@ -9,6 +24,7 @@ import (
|
|||||||
feemarkettypes "github.com/cerc-io/laconicd/x/feemarket/types"
|
feemarkettypes "github.com/cerc-io/laconicd/x/feemarket/types"
|
||||||
sdk "github.com/cosmos/cosmos-sdk/types"
|
sdk "github.com/cosmos/cosmos-sdk/types"
|
||||||
tx "github.com/cosmos/cosmos-sdk/types/tx"
|
tx "github.com/cosmos/cosmos-sdk/types/tx"
|
||||||
|
|
||||||
"github.com/ethereum/go-ethereum/common"
|
"github.com/ethereum/go-ethereum/common"
|
||||||
"github.com/ethereum/go-ethereum/core"
|
"github.com/ethereum/go-ethereum/core"
|
||||||
"github.com/ethereum/go-ethereum/core/vm"
|
"github.com/ethereum/go-ethereum/core/vm"
|
||||||
@ -27,16 +43,12 @@ type EVMKeeper interface {
|
|||||||
statedb.Keeper
|
statedb.Keeper
|
||||||
DynamicFeeEVMKeeper
|
DynamicFeeEVMKeeper
|
||||||
|
|
||||||
NewEVM(ctx sdk.Context, msg core.Message, cfg *evmtypes.EVMConfig, tracer vm.EVMLogger, stateDB vm.StateDB) evm.EVM
|
NewEVM(ctx sdk.Context, msg core.Message, cfg *statedb.EVMConfig, tracer vm.EVMLogger, stateDB vm.StateDB) evm.EVM
|
||||||
DeductTxCostsFromUserBalance(ctx sdk.Context, fees sdk.Coins, from common.Address) error
|
DeductTxCostsFromUserBalance(ctx sdk.Context, fees sdk.Coins, from common.Address) error
|
||||||
GetBalance(ctx sdk.Context, addr common.Address) *big.Int
|
GetBalance(ctx sdk.Context, addr common.Address) *big.Int
|
||||||
ResetTransientGasUsed(ctx sdk.Context)
|
ResetTransientGasUsed(ctx sdk.Context)
|
||||||
GetTxIndexTransient(ctx sdk.Context) uint64
|
GetTxIndexTransient(ctx sdk.Context) uint64
|
||||||
GetChainConfig(ctx sdk.Context) evmtypes.ChainConfig
|
GetParams(ctx sdk.Context) evmtypes.Params
|
||||||
GetEVMDenom(ctx sdk.Context) string
|
|
||||||
GetEnableCreate(ctx sdk.Context) bool
|
|
||||||
GetEnableCall(ctx sdk.Context) bool
|
|
||||||
GetAllowUnprotectedTxs(ctx sdk.Context) bool
|
|
||||||
}
|
}
|
||||||
|
|
||||||
type protoTxProvider interface {
|
type protoTxProvider interface {
|
||||||
|
@ -1,3 +1,18 @@
|
|||||||
|
// Copyright 2021 Evmos Foundation
|
||||||
|
// This file is part of Evmos' Ethermint library.
|
||||||
|
//
|
||||||
|
// The Ethermint library is free software: you can redistribute it and/or modify
|
||||||
|
// it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
// the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// (at your option) any later version.
|
||||||
|
//
|
||||||
|
// The Ethermint library is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU Lesser General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU Lesser General Public License
|
||||||
|
// along with the Ethermint library. If not, see https://github.com/evmos/ethermint/blob/main/LICENSE
|
||||||
package ante
|
package ante
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
@ -1,3 +1,18 @@
|
|||||||
|
// Copyright 2021 Evmos Foundation
|
||||||
|
// This file is part of Evmos' Ethermint library.
|
||||||
|
//
|
||||||
|
// The Ethermint library is free software: you can redistribute it and/or modify
|
||||||
|
// it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
// the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// (at your option) any later version.
|
||||||
|
//
|
||||||
|
// The Ethermint library is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU Lesser General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU Lesser General Public License
|
||||||
|
// along with the Ethermint library. If not, see https://github.com/evmos/ethermint/blob/main/LICENSE
|
||||||
package ante
|
package ante
|
||||||
|
|
||||||
import (
|
import (
|
||||||
@ -137,13 +152,14 @@ func (vbd EthValidateBasicDecorator) AnteHandle(ctx sdk.Context, tx sdk.Tx, simu
|
|||||||
txFee := sdk.Coins{}
|
txFee := sdk.Coins{}
|
||||||
txGasLimit := uint64(0)
|
txGasLimit := uint64(0)
|
||||||
|
|
||||||
chainCfg := vbd.evmKeeper.GetChainConfig(ctx)
|
evmParams := vbd.evmKeeper.GetParams(ctx)
|
||||||
|
chainCfg := evmParams.GetChainConfig()
|
||||||
chainID := vbd.evmKeeper.ChainID()
|
chainID := vbd.evmKeeper.ChainID()
|
||||||
ethCfg := chainCfg.EthereumConfig(chainID)
|
ethCfg := chainCfg.EthereumConfig(chainID)
|
||||||
baseFee := vbd.evmKeeper.GetBaseFee(ctx, ethCfg)
|
baseFee := vbd.evmKeeper.GetBaseFee(ctx, ethCfg)
|
||||||
enableCreate := vbd.evmKeeper.GetEnableCreate(ctx)
|
enableCreate := evmParams.GetEnableCreate()
|
||||||
enableCall := vbd.evmKeeper.GetEnableCall(ctx)
|
enableCall := evmParams.GetEnableCall()
|
||||||
evmDenom := vbd.evmKeeper.GetEVMDenom(ctx)
|
evmDenom := evmParams.GetEvmDenom()
|
||||||
|
|
||||||
for _, msg := range protoTx.GetMsgs() {
|
for _, msg := range protoTx.GetMsgs() {
|
||||||
msgEthTx, ok := msg.(*evmtypes.MsgEthereumTx)
|
msgEthTx, ok := msg.(*evmtypes.MsgEthereumTx)
|
||||||
|
@ -1,3 +1,18 @@
|
|||||||
|
// Copyright 2021 Evmos Foundation
|
||||||
|
// This file is part of Evmos' Ethermint library.
|
||||||
|
//
|
||||||
|
// The Ethermint library is free software: you can redistribute it and/or modify
|
||||||
|
// it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
// the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// (at your option) any later version.
|
||||||
|
//
|
||||||
|
// The Ethermint library is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU Lesser General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU Lesser General Public License
|
||||||
|
// along with the Ethermint library. If not, see https://github.com/evmos/ethermint/blob/main/LICENSE
|
||||||
package ante
|
package ante
|
||||||
|
|
||||||
import (
|
import (
|
||||||
@ -29,7 +44,8 @@ func NewEthSigVerificationDecorator(ek EVMKeeper) EthSigVerificationDecorator {
|
|||||||
// won't see the error message.
|
// won't see the error message.
|
||||||
func (esvd EthSigVerificationDecorator) AnteHandle(ctx sdk.Context, tx sdk.Tx, simulate bool, next sdk.AnteHandler) (newCtx sdk.Context, err error) {
|
func (esvd EthSigVerificationDecorator) AnteHandle(ctx sdk.Context, tx sdk.Tx, simulate bool, next sdk.AnteHandler) (newCtx sdk.Context, err error) {
|
||||||
chainID := esvd.evmKeeper.ChainID()
|
chainID := esvd.evmKeeper.ChainID()
|
||||||
chainCfg := esvd.evmKeeper.GetChainConfig(ctx)
|
evmParams := esvd.evmKeeper.GetParams(ctx)
|
||||||
|
chainCfg := evmParams.GetChainConfig()
|
||||||
ethCfg := chainCfg.EthereumConfig(chainID)
|
ethCfg := chainCfg.EthereumConfig(chainID)
|
||||||
blockNum := big.NewInt(ctx.BlockHeight())
|
blockNum := big.NewInt(ctx.BlockHeight())
|
||||||
signer := ethtypes.MakeSigner(ethCfg, blockNum)
|
signer := ethtypes.MakeSigner(ethCfg, blockNum)
|
||||||
@ -40,7 +56,7 @@ func (esvd EthSigVerificationDecorator) AnteHandle(ctx sdk.Context, tx sdk.Tx, s
|
|||||||
return ctx, errorsmod.Wrapf(errortypes.ErrUnknownRequest, "invalid message type %T, expected %T", msg, (*evmtypes.MsgEthereumTx)(nil))
|
return ctx, errorsmod.Wrapf(errortypes.ErrUnknownRequest, "invalid message type %T, expected %T", msg, (*evmtypes.MsgEthereumTx)(nil))
|
||||||
}
|
}
|
||||||
|
|
||||||
allowUnprotectedTxs := esvd.evmKeeper.GetAllowUnprotectedTxs(ctx)
|
allowUnprotectedTxs := evmParams.GetAllowUnprotectedTxs()
|
||||||
ethTx := msgEthTx.AsTransaction()
|
ethTx := msgEthTx.AsTransaction()
|
||||||
if !allowUnprotectedTxs && !ethTx.Protected() {
|
if !allowUnprotectedTxs && !ethTx.Protected() {
|
||||||
return ctx, errorsmod.Wrapf(
|
return ctx, errorsmod.Wrapf(
|
||||||
|
51
app/app.go
51
app/app.go
@ -1,3 +1,18 @@
|
|||||||
|
// Copyright 2021 Evmos Foundation
|
||||||
|
// This file is part of Evmos' Ethermint library.
|
||||||
|
//
|
||||||
|
// The Ethermint library is free software: you can redistribute it and/or modify
|
||||||
|
// it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
// the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// (at your option) any later version.
|
||||||
|
//
|
||||||
|
// The Ethermint library is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU Lesser General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU Lesser General Public License
|
||||||
|
// along with the Ethermint library. If not, see https://github.com/evmos/ethermint/blob/main/LICENSE
|
||||||
package app
|
package app
|
||||||
|
|
||||||
import (
|
import (
|
||||||
@ -90,15 +105,15 @@ import (
|
|||||||
upgradekeeper "github.com/cosmos/cosmos-sdk/x/upgrade/keeper"
|
upgradekeeper "github.com/cosmos/cosmos-sdk/x/upgrade/keeper"
|
||||||
upgradetypes "github.com/cosmos/cosmos-sdk/x/upgrade/types"
|
upgradetypes "github.com/cosmos/cosmos-sdk/x/upgrade/types"
|
||||||
|
|
||||||
"github.com/cosmos/ibc-go/v5/modules/apps/transfer"
|
"github.com/cosmos/ibc-go/v6/modules/apps/transfer"
|
||||||
ibctransferkeeper "github.com/cosmos/ibc-go/v5/modules/apps/transfer/keeper"
|
ibctransferkeeper "github.com/cosmos/ibc-go/v6/modules/apps/transfer/keeper"
|
||||||
ibctransfertypes "github.com/cosmos/ibc-go/v5/modules/apps/transfer/types"
|
ibctransfertypes "github.com/cosmos/ibc-go/v6/modules/apps/transfer/types"
|
||||||
ibc "github.com/cosmos/ibc-go/v5/modules/core"
|
ibc "github.com/cosmos/ibc-go/v6/modules/core"
|
||||||
ibcclient "github.com/cosmos/ibc-go/v5/modules/core/02-client"
|
ibcclient "github.com/cosmos/ibc-go/v6/modules/core/02-client"
|
||||||
ibcclientclient "github.com/cosmos/ibc-go/v5/modules/core/02-client/client"
|
ibcclientclient "github.com/cosmos/ibc-go/v6/modules/core/02-client/client"
|
||||||
porttypes "github.com/cosmos/ibc-go/v5/modules/core/05-port/types"
|
porttypes "github.com/cosmos/ibc-go/v6/modules/core/05-port/types"
|
||||||
ibchost "github.com/cosmos/ibc-go/v5/modules/core/24-host"
|
ibchost "github.com/cosmos/ibc-go/v6/modules/core/24-host"
|
||||||
ibckeeper "github.com/cosmos/ibc-go/v5/modules/core/keeper"
|
ibckeeper "github.com/cosmos/ibc-go/v6/modules/core/keeper"
|
||||||
|
|
||||||
// unnamed import of statik for swagger UI support
|
// unnamed import of statik for swagger UI support
|
||||||
_ "github.com/cerc-io/laconicd/client/docs/statik"
|
_ "github.com/cerc-io/laconicd/client/docs/statik"
|
||||||
@ -427,14 +442,18 @@ func NewEthermintApp(
|
|||||||
tracer := cast.ToString(appOpts.Get(srvflags.EVMTracer))
|
tracer := cast.ToString(appOpts.Get(srvflags.EVMTracer))
|
||||||
|
|
||||||
// Create Ethermint keepers
|
// Create Ethermint keepers
|
||||||
|
feeMarketSs := app.GetSubspace(feemarkettypes.ModuleName)
|
||||||
app.FeeMarketKeeper = feemarketkeeper.NewKeeper(
|
app.FeeMarketKeeper = feemarketkeeper.NewKeeper(
|
||||||
appCodec, app.GetSubspace(feemarkettypes.ModuleName), keys[feemarkettypes.StoreKey], tkeys[feemarkettypes.TransientKey],
|
appCodec, authtypes.NewModuleAddress(govtypes.ModuleName),
|
||||||
|
keys[feemarkettypes.StoreKey], tkeys[feemarkettypes.TransientKey], feeMarketSs,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// Set authority to x/gov module account to only expect the module account to update params
|
||||||
|
evmSs := app.GetSubspace(evmtypes.ModuleName)
|
||||||
app.EvmKeeper = evmkeeper.NewKeeper(
|
app.EvmKeeper = evmkeeper.NewKeeper(
|
||||||
appCodec, keys[evmtypes.StoreKey], tkeys[evmtypes.TransientKey], app.GetSubspace(evmtypes.ModuleName),
|
appCodec, keys[evmtypes.StoreKey], tkeys[evmtypes.TransientKey], authtypes.NewModuleAddress(govtypes.ModuleName),
|
||||||
app.AccountKeeper, app.BankKeeper, app.StakingKeeper, app.FeeMarketKeeper,
|
app.AccountKeeper, app.BankKeeper, app.StakingKeeper, app.FeeMarketKeeper,
|
||||||
nil, geth.NewEVM, tracer,
|
nil, geth.NewEVM, tracer, evmSs,
|
||||||
)
|
)
|
||||||
|
|
||||||
// Create laconic keepers
|
// Create laconic keepers
|
||||||
@ -541,8 +560,8 @@ func NewEthermintApp(
|
|||||||
ibc.NewAppModule(app.IBCKeeper),
|
ibc.NewAppModule(app.IBCKeeper),
|
||||||
transferModule,
|
transferModule,
|
||||||
// Ethermint app modules
|
// Ethermint app modules
|
||||||
evm.NewAppModule(app.EvmKeeper, app.AccountKeeper),
|
feemarket.NewAppModule(app.FeeMarketKeeper, feeMarketSs),
|
||||||
feemarket.NewAppModule(app.FeeMarketKeeper),
|
evm.NewAppModule(app.EvmKeeper, app.AccountKeeper, evmSs),
|
||||||
// laconic modules
|
// laconic modules
|
||||||
auction.NewAppModule(appCodec, app.AuctionKeeper),
|
auction.NewAppModule(appCodec, app.AuctionKeeper),
|
||||||
bond.NewAppModule(appCodec, app.BondKeeper),
|
bond.NewAppModule(appCodec, app.BondKeeper),
|
||||||
@ -913,8 +932,8 @@ func initParamsKeeper(appCodec codec.BinaryCodec, legacyAmino *codec.LegacyAmino
|
|||||||
paramsKeeper.Subspace(ibctransfertypes.ModuleName)
|
paramsKeeper.Subspace(ibctransfertypes.ModuleName)
|
||||||
paramsKeeper.Subspace(ibchost.ModuleName)
|
paramsKeeper.Subspace(ibchost.ModuleName)
|
||||||
// ethermint subspaces
|
// ethermint subspaces
|
||||||
paramsKeeper.Subspace(evmtypes.ModuleName)
|
paramsKeeper.Subspace(evmtypes.ModuleName).WithKeyTable(evmtypes.ParamKeyTable()) //nolint: staticcheck
|
||||||
paramsKeeper.Subspace(feemarkettypes.ModuleName)
|
paramsKeeper.Subspace(feemarkettypes.ModuleName).WithKeyTable(feemarkettypes.ParamKeyTable())
|
||||||
// laconic subspaces
|
// laconic subspaces
|
||||||
paramsKeeper.Subspace(auctiontypes.ModuleName)
|
paramsKeeper.Subspace(auctiontypes.ModuleName)
|
||||||
paramsKeeper.Subspace(bondtypes.ModuleName)
|
paramsKeeper.Subspace(bondtypes.ModuleName)
|
||||||
|
@ -1,3 +1,18 @@
|
|||||||
|
// Copyright 2021 Evmos Foundation
|
||||||
|
// This file is part of Evmos' Ethermint library.
|
||||||
|
//
|
||||||
|
// The Ethermint library is free software: you can redistribute it and/or modify
|
||||||
|
// it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
// the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// (at your option) any later version.
|
||||||
|
//
|
||||||
|
// The Ethermint library is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU Lesser General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU Lesser General Public License
|
||||||
|
// along with the Ethermint library. If not, see https://github.com/evmos/ethermint/blob/main/LICENSE
|
||||||
package app
|
package app
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
@ -1,3 +1,18 @@
|
|||||||
|
// Copyright 2021 Evmos Foundation
|
||||||
|
// This file is part of Evmos' Ethermint library.
|
||||||
|
//
|
||||||
|
// The Ethermint library is free software: you can redistribute it and/or modify
|
||||||
|
// it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
// the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// (at your option) any later version.
|
||||||
|
//
|
||||||
|
// The Ethermint library is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU Lesser General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU Lesser General Public License
|
||||||
|
// along with the Ethermint library. If not, see https://github.com/evmos/ethermint/blob/main/LICENSE
|
||||||
package app
|
package app
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
15
app/utils.go
15
app/utils.go
@ -1,3 +1,18 @@
|
|||||||
|
// Copyright 2021 Evmos Foundation
|
||||||
|
// This file is part of Evmos' Ethermint library.
|
||||||
|
//
|
||||||
|
// The Ethermint library is free software: you can redistribute it and/or modify
|
||||||
|
// it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
// the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// (at your option) any later version.
|
||||||
|
//
|
||||||
|
// The Ethermint library is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU Lesser General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU Lesser General Public License
|
||||||
|
// along with the Ethermint library. If not, see https://github.com/evmos/ethermint/blob/main/LICENSE
|
||||||
package app
|
package app
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
@ -1,3 +1,18 @@
|
|||||||
|
// Copyright 2021 Evmos Foundation
|
||||||
|
// This file is part of Evmos' Ethermint library.
|
||||||
|
//
|
||||||
|
// The Ethermint library is free software: you can redistribute it and/or modify
|
||||||
|
// it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
// the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// (at your option) any later version.
|
||||||
|
//
|
||||||
|
// The Ethermint library is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU Lesser General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU Lesser General Public License
|
||||||
|
// along with the Ethermint library. If not, see https://github.com/evmos/ethermint/blob/main/LICENSE
|
||||||
package client
|
package client
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
@ -1,3 +1,18 @@
|
|||||||
|
// Copyright 2021 Evmos Foundation
|
||||||
|
// This file is part of Evmos' Ethermint library.
|
||||||
|
//
|
||||||
|
// The Ethermint library is free software: you can redistribute it and/or modify
|
||||||
|
// it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
// the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// (at your option) any later version.
|
||||||
|
//
|
||||||
|
// The Ethermint library is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU Lesser General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU Lesser General Public License
|
||||||
|
// along with the Ethermint library. If not, see https://github.com/evmos/ethermint/blob/main/LICENSE
|
||||||
package debug
|
package debug
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
7
client/docs/statik/statik.go
vendored
7
client/docs/statik/statik.go
vendored
File diff suppressed because one or more lines are too long
89
client/docs/swagger-ui/swagger.yaml
vendored
89
client/docs/swagger-ui/swagger.yaml
vendored
@ -589,6 +589,7 @@ paths:
|
|||||||
Example 4: Pack and unpack a message in Go
|
Example 4: Pack and unpack a message in Go
|
||||||
|
|
||||||
foo := &pb.Foo{...}
|
foo := &pb.Foo{...}
|
||||||
|
<<<<<<< HEAD
|
||||||
<<<<<<< HEAD
|
<<<<<<< HEAD
|
||||||
any, err := ptypes.MarshalAny(foo)
|
any, err := ptypes.MarshalAny(foo)
|
||||||
...
|
...
|
||||||
@ -603,6 +604,15 @@ paths:
|
|||||||
foo := &pb.Foo{}
|
foo := &pb.Foo{}
|
||||||
if err := any.UnmarshalTo(foo); err != nil {
|
if err := any.UnmarshalTo(foo); err != nil {
|
||||||
>>>>>>> v0.20.0
|
>>>>>>> v0.20.0
|
||||||
|
=======
|
||||||
|
any, err := anypb.New(foo)
|
||||||
|
if err != nil {
|
||||||
|
...
|
||||||
|
}
|
||||||
|
...
|
||||||
|
foo := &pb.Foo{}
|
||||||
|
if err := any.UnmarshalTo(foo); err != nil {
|
||||||
|
>>>>>>> v0.21.0
|
||||||
...
|
...
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1765,6 +1775,7 @@ paths:
|
|||||||
title: >-
|
title: >-
|
||||||
Eip-4345 (bomb delay) switch block (nil = no fork, 0 =
|
Eip-4345 (bomb delay) switch block (nil = no fork, 0 =
|
||||||
already activated)
|
already activated)
|
||||||
|
<<<<<<< HEAD
|
||||||
<<<<<<< HEAD
|
<<<<<<< HEAD
|
||||||
merge_fork_block:
|
merge_fork_block:
|
||||||
type: string
|
type: string
|
||||||
@ -1775,6 +1786,11 @@ paths:
|
|||||||
gray_glacier_block:
|
gray_glacier_block:
|
||||||
type: string
|
type: string
|
||||||
title: >-
|
title: >-
|
||||||
|
=======
|
||||||
|
gray_glacier_block:
|
||||||
|
type: string
|
||||||
|
title: >-
|
||||||
|
>>>>>>> v0.21.0
|
||||||
EIP-5133 (bomb delay) switch block (nil = no fork, 0 =
|
EIP-5133 (bomb delay) switch block (nil = no fork, 0 =
|
||||||
already activated)
|
already activated)
|
||||||
merge_netsplit_block:
|
merge_netsplit_block:
|
||||||
@ -1782,7 +1798,10 @@ paths:
|
|||||||
title: >-
|
title: >-
|
||||||
Virtual fork after The Merge to use as a network
|
Virtual fork after The Merge to use as a network
|
||||||
splitter
|
splitter
|
||||||
|
<<<<<<< HEAD
|
||||||
>>>>>>> v0.20.0
|
>>>>>>> v0.20.0
|
||||||
|
=======
|
||||||
|
>>>>>>> v0.21.0
|
||||||
description: >-
|
description: >-
|
||||||
ChainConfig defines the Ethereum ChainConfig parameters
|
ChainConfig defines the Ethereum ChainConfig parameters
|
||||||
using *sdk.Int values
|
using *sdk.Int values
|
||||||
@ -1792,11 +1811,15 @@ paths:
|
|||||||
type: boolean
|
type: boolean
|
||||||
description: >-
|
description: >-
|
||||||
Allow unprotected transactions defines if replay-protected
|
Allow unprotected transactions defines if replay-protected
|
||||||
|
<<<<<<< HEAD
|
||||||
<<<<<<< HEAD
|
<<<<<<< HEAD
|
||||||
(i.e non EIP155
|
(i.e non EIP155
|
||||||
=======
|
=======
|
||||||
(i.e non EIP155
|
(i.e non EIP155
|
||||||
>>>>>>> v0.20.0
|
>>>>>>> v0.20.0
|
||||||
|
=======
|
||||||
|
(i.e non EIP155
|
||||||
|
>>>>>>> v0.21.0
|
||||||
|
|
||||||
signed) transactions can be executed on the state machine.
|
signed) transactions can be executed on the state machine.
|
||||||
title: Params defines the EVM module parameters
|
title: Params defines the EVM module parameters
|
||||||
@ -2559,6 +2582,7 @@ paths:
|
|||||||
in: query
|
in: query
|
||||||
required: false
|
required: false
|
||||||
type: string
|
type: string
|
||||||
|
<<<<<<< HEAD
|
||||||
<<<<<<< HEAD
|
<<<<<<< HEAD
|
||||||
- name: trace_config.overrides.merge_fork_block
|
- name: trace_config.overrides.merge_fork_block
|
||||||
description: >-
|
description: >-
|
||||||
@ -2567,6 +2591,10 @@ paths:
|
|||||||
=======
|
=======
|
||||||
- name: trace_config.overrides.gray_glacier_block
|
- name: trace_config.overrides.gray_glacier_block
|
||||||
description: >-
|
description: >-
|
||||||
|
=======
|
||||||
|
- name: trace_config.overrides.gray_glacier_block
|
||||||
|
description: >-
|
||||||
|
>>>>>>> v0.21.0
|
||||||
EIP-5133 (bomb delay) switch block (nil = no fork, 0 = already
|
EIP-5133 (bomb delay) switch block (nil = no fork, 0 = already
|
||||||
activated).
|
activated).
|
||||||
in: query
|
in: query
|
||||||
@ -2574,7 +2602,10 @@ paths:
|
|||||||
type: string
|
type: string
|
||||||
- name: trace_config.overrides.merge_netsplit_block
|
- name: trace_config.overrides.merge_netsplit_block
|
||||||
description: Virtual fork after The Merge to use as a network splitter.
|
description: Virtual fork after The Merge to use as a network splitter.
|
||||||
|
<<<<<<< HEAD
|
||||||
>>>>>>> v0.20.0
|
>>>>>>> v0.20.0
|
||||||
|
=======
|
||||||
|
>>>>>>> v0.21.0
|
||||||
in: query
|
in: query
|
||||||
required: false
|
required: false
|
||||||
type: string
|
type: string
|
||||||
@ -3037,6 +3068,7 @@ paths:
|
|||||||
in: query
|
in: query
|
||||||
required: false
|
required: false
|
||||||
type: string
|
type: string
|
||||||
|
<<<<<<< HEAD
|
||||||
<<<<<<< HEAD
|
<<<<<<< HEAD
|
||||||
- name: trace_config.overrides.merge_fork_block
|
- name: trace_config.overrides.merge_fork_block
|
||||||
description: >-
|
description: >-
|
||||||
@ -3045,6 +3077,10 @@ paths:
|
|||||||
=======
|
=======
|
||||||
- name: trace_config.overrides.gray_glacier_block
|
- name: trace_config.overrides.gray_glacier_block
|
||||||
description: >-
|
description: >-
|
||||||
|
=======
|
||||||
|
- name: trace_config.overrides.gray_glacier_block
|
||||||
|
description: >-
|
||||||
|
>>>>>>> v0.21.0
|
||||||
EIP-5133 (bomb delay) switch block (nil = no fork, 0 = already
|
EIP-5133 (bomb delay) switch block (nil = no fork, 0 = already
|
||||||
activated).
|
activated).
|
||||||
in: query
|
in: query
|
||||||
@ -3052,7 +3088,10 @@ paths:
|
|||||||
type: string
|
type: string
|
||||||
- name: trace_config.overrides.merge_netsplit_block
|
- name: trace_config.overrides.merge_netsplit_block
|
||||||
description: Virtual fork after The Merge to use as a network splitter.
|
description: Virtual fork after The Merge to use as a network splitter.
|
||||||
|
<<<<<<< HEAD
|
||||||
>>>>>>> v0.20.0
|
>>>>>>> v0.20.0
|
||||||
|
=======
|
||||||
|
>>>>>>> v0.21.0
|
||||||
in: query
|
in: query
|
||||||
required: false
|
required: false
|
||||||
type: string
|
type: string
|
||||||
@ -3332,6 +3371,7 @@ paths:
|
|||||||
type: string
|
type: string
|
||||||
tags:
|
tags:
|
||||||
- Query
|
- Query
|
||||||
|
<<<<<<< HEAD
|
||||||
<<<<<<< HEAD
|
<<<<<<< HEAD
|
||||||
/cosmos/auth/v1beta1/accounts:
|
/cosmos/auth/v1beta1/accounts:
|
||||||
get:
|
get:
|
||||||
@ -14197,6 +14237,8 @@ paths:
|
|||||||
- Query
|
- Query
|
||||||
=======
|
=======
|
||||||
>>>>>>> v0.20.0
|
>>>>>>> v0.20.0
|
||||||
|
=======
|
||||||
|
>>>>>>> v0.21.0
|
||||||
definitions:
|
definitions:
|
||||||
ethermint.evm.v1.ChainConfig:
|
ethermint.evm.v1.ChainConfig:
|
||||||
type: object
|
type: object
|
||||||
@ -14256,6 +14298,7 @@ definitions:
|
|||||||
title: >-
|
title: >-
|
||||||
Eip-4345 (bomb delay) switch block (nil = no fork, 0 = already
|
Eip-4345 (bomb delay) switch block (nil = no fork, 0 = already
|
||||||
activated)
|
activated)
|
||||||
|
<<<<<<< HEAD
|
||||||
<<<<<<< HEAD
|
<<<<<<< HEAD
|
||||||
merge_fork_block:
|
merge_fork_block:
|
||||||
type: string
|
type: string
|
||||||
@ -14266,12 +14309,20 @@ definitions:
|
|||||||
gray_glacier_block:
|
gray_glacier_block:
|
||||||
type: string
|
type: string
|
||||||
title: >-
|
title: >-
|
||||||
|
=======
|
||||||
|
gray_glacier_block:
|
||||||
|
type: string
|
||||||
|
title: >-
|
||||||
|
>>>>>>> v0.21.0
|
||||||
EIP-5133 (bomb delay) switch block (nil = no fork, 0 = already
|
EIP-5133 (bomb delay) switch block (nil = no fork, 0 = already
|
||||||
activated)
|
activated)
|
||||||
merge_netsplit_block:
|
merge_netsplit_block:
|
||||||
type: string
|
type: string
|
||||||
title: Virtual fork after The Merge to use as a network splitter
|
title: Virtual fork after The Merge to use as a network splitter
|
||||||
|
<<<<<<< HEAD
|
||||||
>>>>>>> v0.20.0
|
>>>>>>> v0.20.0
|
||||||
|
=======
|
||||||
|
>>>>>>> v0.21.0
|
||||||
description: >-
|
description: >-
|
||||||
ChainConfig defines the Ethereum ChainConfig parameters using *sdk.Int
|
ChainConfig defines the Ethereum ChainConfig parameters using *sdk.Int
|
||||||
values
|
values
|
||||||
@ -14674,6 +14725,7 @@ definitions:
|
|||||||
title: >-
|
title: >-
|
||||||
Eip-4345 (bomb delay) switch block (nil = no fork, 0 = already
|
Eip-4345 (bomb delay) switch block (nil = no fork, 0 = already
|
||||||
activated)
|
activated)
|
||||||
|
<<<<<<< HEAD
|
||||||
<<<<<<< HEAD
|
<<<<<<< HEAD
|
||||||
merge_fork_block:
|
merge_fork_block:
|
||||||
type: string
|
type: string
|
||||||
@ -14684,12 +14736,20 @@ definitions:
|
|||||||
gray_glacier_block:
|
gray_glacier_block:
|
||||||
type: string
|
type: string
|
||||||
title: >-
|
title: >-
|
||||||
|
=======
|
||||||
|
gray_glacier_block:
|
||||||
|
type: string
|
||||||
|
title: >-
|
||||||
|
>>>>>>> v0.21.0
|
||||||
EIP-5133 (bomb delay) switch block (nil = no fork, 0 = already
|
EIP-5133 (bomb delay) switch block (nil = no fork, 0 = already
|
||||||
activated)
|
activated)
|
||||||
merge_netsplit_block:
|
merge_netsplit_block:
|
||||||
type: string
|
type: string
|
||||||
title: Virtual fork after The Merge to use as a network splitter
|
title: Virtual fork after The Merge to use as a network splitter
|
||||||
|
<<<<<<< HEAD
|
||||||
>>>>>>> v0.20.0
|
>>>>>>> v0.20.0
|
||||||
|
=======
|
||||||
|
>>>>>>> v0.21.0
|
||||||
description: >-
|
description: >-
|
||||||
ChainConfig defines the Ethereum ChainConfig parameters using *sdk.Int
|
ChainConfig defines the Ethereum ChainConfig parameters using *sdk.Int
|
||||||
values
|
values
|
||||||
@ -14699,11 +14759,15 @@ definitions:
|
|||||||
type: boolean
|
type: boolean
|
||||||
description: >-
|
description: >-
|
||||||
Allow unprotected transactions defines if replay-protected (i.e non
|
Allow unprotected transactions defines if replay-protected (i.e non
|
||||||
|
<<<<<<< HEAD
|
||||||
<<<<<<< HEAD
|
<<<<<<< HEAD
|
||||||
EIP155
|
EIP155
|
||||||
=======
|
=======
|
||||||
EIP155
|
EIP155
|
||||||
>>>>>>> v0.20.0
|
>>>>>>> v0.20.0
|
||||||
|
=======
|
||||||
|
EIP155
|
||||||
|
>>>>>>> v0.21.0
|
||||||
|
|
||||||
signed) transactions can be executed on the state machine.
|
signed) transactions can be executed on the state machine.
|
||||||
title: Params defines the EVM module parameters
|
title: Params defines the EVM module parameters
|
||||||
@ -14858,6 +14922,7 @@ definitions:
|
|||||||
title: >-
|
title: >-
|
||||||
Eip-4345 (bomb delay) switch block (nil = no fork, 0 = already
|
Eip-4345 (bomb delay) switch block (nil = no fork, 0 = already
|
||||||
activated)
|
activated)
|
||||||
|
<<<<<<< HEAD
|
||||||
<<<<<<< HEAD
|
<<<<<<< HEAD
|
||||||
merge_fork_block:
|
merge_fork_block:
|
||||||
type: string
|
type: string
|
||||||
@ -14868,12 +14933,20 @@ definitions:
|
|||||||
gray_glacier_block:
|
gray_glacier_block:
|
||||||
type: string
|
type: string
|
||||||
title: >-
|
title: >-
|
||||||
|
=======
|
||||||
|
gray_glacier_block:
|
||||||
|
type: string
|
||||||
|
title: >-
|
||||||
|
>>>>>>> v0.21.0
|
||||||
EIP-5133 (bomb delay) switch block (nil = no fork, 0 = already
|
EIP-5133 (bomb delay) switch block (nil = no fork, 0 = already
|
||||||
activated)
|
activated)
|
||||||
merge_netsplit_block:
|
merge_netsplit_block:
|
||||||
type: string
|
type: string
|
||||||
title: Virtual fork after The Merge to use as a network splitter
|
title: Virtual fork after The Merge to use as a network splitter
|
||||||
|
<<<<<<< HEAD
|
||||||
>>>>>>> v0.20.0
|
>>>>>>> v0.20.0
|
||||||
|
=======
|
||||||
|
>>>>>>> v0.21.0
|
||||||
description: >-
|
description: >-
|
||||||
ChainConfig defines the Ethereum ChainConfig parameters using
|
ChainConfig defines the Ethereum ChainConfig parameters using
|
||||||
*sdk.Int values
|
*sdk.Int values
|
||||||
@ -14883,11 +14956,15 @@ definitions:
|
|||||||
type: boolean
|
type: boolean
|
||||||
description: >-
|
description: >-
|
||||||
Allow unprotected transactions defines if replay-protected (i.e
|
Allow unprotected transactions defines if replay-protected (i.e
|
||||||
|
<<<<<<< HEAD
|
||||||
<<<<<<< HEAD
|
<<<<<<< HEAD
|
||||||
non EIP155
|
non EIP155
|
||||||
=======
|
=======
|
||||||
non EIP155
|
non EIP155
|
||||||
>>>>>>> v0.20.0
|
>>>>>>> v0.20.0
|
||||||
|
=======
|
||||||
|
non EIP155
|
||||||
|
>>>>>>> v0.21.0
|
||||||
|
|
||||||
signed) transactions can be executed on the state machine.
|
signed) transactions can be executed on the state machine.
|
||||||
title: Params defines the EVM module parameters
|
title: Params defines the EVM module parameters
|
||||||
@ -15028,6 +15105,7 @@ definitions:
|
|||||||
title: >-
|
title: >-
|
||||||
Eip-4345 (bomb delay) switch block (nil = no fork, 0 = already
|
Eip-4345 (bomb delay) switch block (nil = no fork, 0 = already
|
||||||
activated)
|
activated)
|
||||||
|
<<<<<<< HEAD
|
||||||
<<<<<<< HEAD
|
<<<<<<< HEAD
|
||||||
merge_fork_block:
|
merge_fork_block:
|
||||||
type: string
|
type: string
|
||||||
@ -15038,12 +15116,20 @@ definitions:
|
|||||||
gray_glacier_block:
|
gray_glacier_block:
|
||||||
type: string
|
type: string
|
||||||
title: >-
|
title: >-
|
||||||
|
=======
|
||||||
|
gray_glacier_block:
|
||||||
|
type: string
|
||||||
|
title: >-
|
||||||
|
>>>>>>> v0.21.0
|
||||||
EIP-5133 (bomb delay) switch block (nil = no fork, 0 = already
|
EIP-5133 (bomb delay) switch block (nil = no fork, 0 = already
|
||||||
activated)
|
activated)
|
||||||
merge_netsplit_block:
|
merge_netsplit_block:
|
||||||
type: string
|
type: string
|
||||||
title: Virtual fork after The Merge to use as a network splitter
|
title: Virtual fork after The Merge to use as a network splitter
|
||||||
|
<<<<<<< HEAD
|
||||||
>>>>>>> v0.20.0
|
>>>>>>> v0.20.0
|
||||||
|
=======
|
||||||
|
>>>>>>> v0.21.0
|
||||||
description: >-
|
description: >-
|
||||||
ChainConfig defines the Ethereum ChainConfig parameters using *sdk.Int
|
ChainConfig defines the Ethereum ChainConfig parameters using *sdk.Int
|
||||||
values
|
values
|
||||||
@ -15394,6 +15480,7 @@ definitions:
|
|||||||
"@type": "type.googleapis.com/google.protobuf.Duration",
|
"@type": "type.googleapis.com/google.protobuf.Duration",
|
||||||
"value": "1.212s"
|
"value": "1.212s"
|
||||||
}
|
}
|
||||||
|
<<<<<<< HEAD
|
||||||
<<<<<<< HEAD
|
<<<<<<< HEAD
|
||||||
cosmos.auth.v1beta1.Params:
|
cosmos.auth.v1beta1.Params:
|
||||||
type: object
|
type: object
|
||||||
@ -21357,3 +21444,5 @@ definitions:
|
|||||||
state transition machine.
|
state transition machine.
|
||||||
=======
|
=======
|
||||||
>>>>>>> v0.20.0
|
>>>>>>> v0.20.0
|
||||||
|
=======
|
||||||
|
>>>>>>> v0.21.0
|
||||||
|
@ -1,3 +1,18 @@
|
|||||||
|
// Copyright 2021 Evmos Foundation
|
||||||
|
// This file is part of Evmos' Ethermint library.
|
||||||
|
//
|
||||||
|
// The Ethermint library is free software: you can redistribute it and/or modify
|
||||||
|
// it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
// the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// (at your option) any later version.
|
||||||
|
//
|
||||||
|
// The Ethermint library is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU Lesser General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU Lesser General Public License
|
||||||
|
// along with the Ethermint library. If not, see https://github.com/evmos/ethermint/blob/main/LICENSE
|
||||||
package client
|
package client
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
@ -1,3 +1,18 @@
|
|||||||
|
// Copyright 2021 Evmos Foundation
|
||||||
|
// This file is part of Evmos' Ethermint library.
|
||||||
|
//
|
||||||
|
// The Ethermint library is free software: you can redistribute it and/or modify
|
||||||
|
// it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
// the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// (at your option) any later version.
|
||||||
|
//
|
||||||
|
// The Ethermint library is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU Lesser General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU Lesser General Public License
|
||||||
|
// along with the Ethermint library. If not, see https://github.com/evmos/ethermint/blob/main/LICENSE
|
||||||
package client
|
package client
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
@ -1,3 +1,18 @@
|
|||||||
|
// Copyright 2021 Evmos Foundation
|
||||||
|
// This file is part of Evmos' Ethermint library.
|
||||||
|
//
|
||||||
|
// The Ethermint library is free software: you can redistribute it and/or modify
|
||||||
|
// it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
// the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// (at your option) any later version.
|
||||||
|
//
|
||||||
|
// The Ethermint library is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU Lesser General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU Lesser General Public License
|
||||||
|
// along with the Ethermint library. If not, see https://github.com/evmos/ethermint/blob/main/LICENSE
|
||||||
package client
|
package client
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
@ -1,3 +1,18 @@
|
|||||||
|
// Copyright 2021 Evmos Foundation
|
||||||
|
// This file is part of Evmos' Ethermint library.
|
||||||
|
//
|
||||||
|
// The Ethermint library is free software: you can redistribute it and/or modify
|
||||||
|
// it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
// the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// (at your option) any later version.
|
||||||
|
//
|
||||||
|
// The Ethermint library is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU Lesser General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU Lesser General Public License
|
||||||
|
// along with the Ethermint library. If not, see https://github.com/evmos/ethermint/blob/main/LICENSE
|
||||||
package keys
|
package keys
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
@ -1,3 +1,18 @@
|
|||||||
|
// Copyright 2021 Evmos Foundation
|
||||||
|
// This file is part of Evmos' Ethermint library.
|
||||||
|
//
|
||||||
|
// The Ethermint library is free software: you can redistribute it and/or modify
|
||||||
|
// it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
// the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// (at your option) any later version.
|
||||||
|
//
|
||||||
|
// The Ethermint library is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU Lesser General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU Lesser General Public License
|
||||||
|
// along with the Ethermint library. If not, see https://github.com/evmos/ethermint/blob/main/LICENSE
|
||||||
package keys
|
package keys
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
@ -1,3 +1,18 @@
|
|||||||
|
// Copyright 2021 Evmos Foundation
|
||||||
|
// This file is part of Evmos' Ethermint library.
|
||||||
|
//
|
||||||
|
// The Ethermint library is free software: you can redistribute it and/or modify
|
||||||
|
// it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
// the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// (at your option) any later version.
|
||||||
|
//
|
||||||
|
// The Ethermint library is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU Lesser General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU Lesser General Public License
|
||||||
|
// along with the Ethermint library. If not, see https://github.com/evmos/ethermint/blob/main/LICENSE
|
||||||
package client
|
package client
|
||||||
|
|
||||||
// DONTCOVER
|
// DONTCOVER
|
||||||
|
@ -1,3 +1,18 @@
|
|||||||
|
// Copyright 2021 Evmos Foundation
|
||||||
|
// This file is part of Evmos' Ethermint library.
|
||||||
|
//
|
||||||
|
// The Ethermint library is free software: you can redistribute it and/or modify
|
||||||
|
// it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
// the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// (at your option) any later version.
|
||||||
|
//
|
||||||
|
// The Ethermint library is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU Lesser General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU Lesser General Public License
|
||||||
|
// along with the Ethermint library. If not, see https://github.com/evmos/ethermint/blob/main/LICENSE
|
||||||
package config
|
package config
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
@ -1,3 +1,18 @@
|
|||||||
|
// Copyright 2021 Evmos Foundation
|
||||||
|
// This file is part of Evmos' Ethermint library.
|
||||||
|
//
|
||||||
|
// The Ethermint library is free software: you can redistribute it and/or modify
|
||||||
|
// it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
// the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// (at your option) any later version.
|
||||||
|
//
|
||||||
|
// The Ethermint library is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU Lesser General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU Lesser General Public License
|
||||||
|
// along with the Ethermint library. If not, see https://github.com/evmos/ethermint/blob/main/LICENSE
|
||||||
package main
|
package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
@ -1,3 +1,18 @@
|
|||||||
|
// Copyright 2021 Evmos Foundation
|
||||||
|
// This file is part of Evmos' Ethermint library.
|
||||||
|
//
|
||||||
|
// The Ethermint library is free software: you can redistribute it and/or modify
|
||||||
|
// it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
// the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// (at your option) any later version.
|
||||||
|
//
|
||||||
|
// The Ethermint library is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU Lesser General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU Lesser General Public License
|
||||||
|
// along with the Ethermint library. If not, see https://github.com/evmos/ethermint/blob/main/LICENSE
|
||||||
package main
|
package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
@ -1,3 +1,18 @@
|
|||||||
|
// Copyright 2021 Evmos Foundation
|
||||||
|
// This file is part of Evmos' Ethermint library.
|
||||||
|
//
|
||||||
|
// The Ethermint library is free software: you can redistribute it and/or modify
|
||||||
|
// it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
// the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// (at your option) any later version.
|
||||||
|
//
|
||||||
|
// The Ethermint library is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU Lesser General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU Lesser General Public License
|
||||||
|
// along with the Ethermint library. If not, see https://github.com/evmos/ethermint/blob/main/LICENSE
|
||||||
package main
|
package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
@ -1,3 +1,18 @@
|
|||||||
|
// Copyright 2021 Evmos Foundation
|
||||||
|
// This file is part of Evmos' Ethermint library.
|
||||||
|
//
|
||||||
|
// The Ethermint library is free software: you can redistribute it and/or modify
|
||||||
|
// it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
// the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// (at your option) any later version.
|
||||||
|
//
|
||||||
|
// The Ethermint library is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU Lesser General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU Lesser General Public License
|
||||||
|
// along with the Ethermint library. If not, see https://github.com/evmos/ethermint/blob/main/LICENSE
|
||||||
package main
|
package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
@ -115,7 +130,7 @@ func NewRootCmd() (*cobra.Command, params.EncodingConfig) {
|
|||||||
)
|
)
|
||||||
|
|
||||||
a := appCreator{encodingConfig}
|
a := appCreator{encodingConfig}
|
||||||
server.AddCommands(rootCmd, app.DefaultNodeHome, a.newApp, a.appExport, addModuleInitFlags)
|
server.AddCommands(rootCmd, server.NewDefaultStartOptions(a.newApp, app.DefaultNodeHome), a.appExport, addModuleInitFlags)
|
||||||
|
|
||||||
// add keybase, auxiliary RPC, query, and tx child commands
|
// add keybase, auxiliary RPC, query, and tx child commands
|
||||||
rootCmd.AddCommand(
|
rootCmd.AddCommand(
|
||||||
|
@ -1,3 +1,18 @@
|
|||||||
|
// Copyright 2021 Evmos Foundation
|
||||||
|
// This file is part of Evmos' Ethermint library.
|
||||||
|
//
|
||||||
|
// The Ethermint library is free software: you can redistribute it and/or modify
|
||||||
|
// it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
// the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// (at your option) any later version.
|
||||||
|
//
|
||||||
|
// The Ethermint library is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU Lesser General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU Lesser General Public License
|
||||||
|
// along with the Ethermint library. If not, see https://github.com/evmos/ethermint/blob/main/LICENSE
|
||||||
package codec
|
package codec
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
@ -1,3 +1,18 @@
|
|||||||
|
// Copyright 2021 Evmos Foundation
|
||||||
|
// This file is part of Evmos' Ethermint library.
|
||||||
|
//
|
||||||
|
// The Ethermint library is free software: you can redistribute it and/or modify
|
||||||
|
// it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
// the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// (at your option) any later version.
|
||||||
|
//
|
||||||
|
// The Ethermint library is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU Lesser General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU Lesser General Public License
|
||||||
|
// along with the Ethermint library. If not, see https://github.com/evmos/ethermint/blob/main/LICENSE
|
||||||
package codec
|
package codec
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
@ -1,3 +1,18 @@
|
|||||||
|
// Copyright 2021 Evmos Foundation
|
||||||
|
// This file is part of Evmos' Ethermint library.
|
||||||
|
//
|
||||||
|
// The Ethermint library is free software: you can redistribute it and/or modify
|
||||||
|
// it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
// the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// (at your option) any later version.
|
||||||
|
//
|
||||||
|
// The Ethermint library is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU Lesser General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU Lesser General Public License
|
||||||
|
// along with the Ethermint library. If not, see https://github.com/evmos/ethermint/blob/main/LICENSE
|
||||||
package ethsecp256k1
|
package ethsecp256k1
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
@ -1,3 +1,18 @@
|
|||||||
|
// Copyright 2021 Evmos Foundation
|
||||||
|
// This file is part of Evmos' Ethermint library.
|
||||||
|
//
|
||||||
|
// The Ethermint library is free software: you can redistribute it and/or modify
|
||||||
|
// it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
// the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// (at your option) any later version.
|
||||||
|
//
|
||||||
|
// The Ethermint library is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU Lesser General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU Lesser General Public License
|
||||||
|
// along with the Ethermint library. If not, see https://github.com/evmos/ethermint/blob/main/LICENSE
|
||||||
package hd
|
package hd
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
@ -28,7 +28,7 @@ buildGoApplication rec {
|
|||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "Ethermint is a scalable and interoperable Ethereum library, built on Proof-of-Stake with fast-finality using the Cosmos SDK which runs on top of Tendermint Core consensus engine.";
|
description = "Ethermint is a scalable and interoperable Ethereum library, built on Proof-of-Stake with fast-finality using the Cosmos SDK which runs on top of Tendermint Core consensus engine.";
|
||||||
homepage = "https://github.com/evmos/ethermint";
|
homepage = "https://github.com/cerc-io/laconicd";
|
||||||
license = licenses.asl20;
|
license = licenses.asl20;
|
||||||
mainProgram = "laconicd";
|
mainProgram = "laconicd";
|
||||||
};
|
};
|
||||||
|
@ -434,7 +434,7 @@ TraceConfig holds extra parameters to trace functions.
|
|||||||
|
|
||||||
### TransactionLogs
|
### TransactionLogs
|
||||||
TransactionLogs define the logs generated from a transaction execution
|
TransactionLogs define the logs generated from a transaction execution
|
||||||
with a given hash. It it used for import/export data as transactions are not
|
with a given hash. It is used for import/export data as transactions are not
|
||||||
persisted on blockchain state after an upgrade.
|
persisted on blockchain state after an upgrade.
|
||||||
|
|
||||||
|
|
||||||
@ -488,7 +488,7 @@ TxResult stores results of Tx execution.
|
|||||||
|
|
||||||
### GenesisAccount
|
### GenesisAccount
|
||||||
GenesisAccount defines an account to be initialized in the genesis state.
|
GenesisAccount defines an account to be initialized in the genesis state.
|
||||||
Its main difference between with Geth's GenesisAccount is that it uses a
|
Its main difference with Geth's GenesisAccount is that it uses a
|
||||||
custom storage type and that it doesn't contain the private key field.
|
custom storage type and that it doesn't contain the private key field.
|
||||||
|
|
||||||
|
|
||||||
@ -563,7 +563,7 @@ AccessListTx is the data of EIP-2930 access list transactions.
|
|||||||
<a name="ethermint.evm.v1.DynamicFeeTx"></a>
|
<a name="ethermint.evm.v1.DynamicFeeTx"></a>
|
||||||
|
|
||||||
### DynamicFeeTx
|
### DynamicFeeTx
|
||||||
DynamicFeeTx is the data of EIP-1559 dinamic fee transactions.
|
DynamicFeeTx is the data of EIP-1559 dynamic fee transactions.
|
||||||
|
|
||||||
|
|
||||||
| Field | Type | Label | Description |
|
| Field | Type | Label | Description |
|
||||||
@ -574,7 +574,7 @@ DynamicFeeTx is the data of EIP-1559 dinamic fee transactions.
|
|||||||
| `gas_fee_cap` | [string](#string) | | gas fee cap defines the max value for the gas fee |
|
| `gas_fee_cap` | [string](#string) | | gas fee cap defines the max value for the gas fee |
|
||||||
| `gas` | [uint64](#uint64) | | gas defines the gas limit defined for the transaction. |
|
| `gas` | [uint64](#uint64) | | gas defines the gas limit defined for the transaction. |
|
||||||
| `to` | [string](#string) | | hex formatted address of the recipient |
|
| `to` | [string](#string) | | hex formatted address of the recipient |
|
||||||
| `value` | [string](#string) | | value defines the the transaction amount. |
|
| `value` | [string](#string) | | value defines the transaction amount. |
|
||||||
| `data` | [bytes](#bytes) | | input defines the data payload bytes of the transaction. |
|
| `data` | [bytes](#bytes) | | input defines the data payload bytes of the transaction. |
|
||||||
| `accesses` | [AccessTuple](#ethermint.evm.v1.AccessTuple) | repeated | |
|
| `accesses` | [AccessTuple](#ethermint.evm.v1.AccessTuple) | repeated | |
|
||||||
| `v` | [bytes](#bytes) | | v defines the signature value |
|
| `v` | [bytes](#bytes) | | v defines the signature value |
|
||||||
@ -865,7 +865,7 @@ RPC method.
|
|||||||
| ----- | ---- | ----- | ----------- |
|
| ----- | ---- | ----- | ----------- |
|
||||||
| `cosmos_address` | [string](#string) | | cosmos_address is the cosmos address of the account. |
|
| `cosmos_address` | [string](#string) | | cosmos_address is the cosmos address of the account. |
|
||||||
| `sequence` | [uint64](#uint64) | | sequence is the account's sequence number. |
|
| `sequence` | [uint64](#uint64) | | sequence is the account's sequence number. |
|
||||||
| `account_number` | [uint64](#uint64) | | account_number is the account numbert |
|
| `account_number` | [uint64](#uint64) | | account_number is the account number. |
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -30,7 +30,7 @@ If recorded decisions turned out to be lacking, convene a discussion, record the
|
|||||||
|
|
||||||
Note the context/background should be written in the present tense.
|
Note the context/background should be written in the present tense.
|
||||||
|
|
||||||
Please add a entry below in your Pull Request for an ADR.
|
Please add an entry below in your Pull Request for an ADR.
|
||||||
|
|
||||||
## ADR Table of Contents
|
## ADR Table of Contents
|
||||||
|
|
||||||
|
@ -98,7 +98,7 @@ type Keeper struct {
|
|||||||
|
|
||||||
This means that a `Keeper` pointer will now directly be passed to the `vm.EVM` for accessing the state and performing state transitions.
|
This means that a `Keeper` pointer will now directly be passed to the `vm.EVM` for accessing the state and performing state transitions.
|
||||||
|
|
||||||
The ABCI `BeginBlock` and `EndBlock` are have now been refactored to only keep track of internal fields (hashes, block bloom, etc).
|
The ABCI `BeginBlock` and `EndBlock` have now been refactored to only keep track of internal fields (hashes, block bloom, etc).
|
||||||
|
|
||||||
```go
|
```go
|
||||||
func (k *Keeper) BeginBlock(ctx sdk.Context, req abci.RequestBeginBlock) {
|
func (k *Keeper) BeginBlock(ctx sdk.Context, req abci.RequestBeginBlock) {
|
||||||
@ -131,7 +131,7 @@ func (k Keeper) EndBlock(ctx sdk.Context, req abci.RequestEndBlock) []abci.Valid
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
The new `StateDB` (`Keeper`) will adopt the use of the [`TransientStore`](https://docs.cosmos.network/master/core/store.html#transient-store) that discards the existing values of the store when the block is commited.
|
The new `StateDB` (`Keeper`) will adopt the use of the [`TransientStore`](https://docs.cosmos.network/master/core/store.html#transient-store) that discards the existing values of the store when the block is committed.
|
||||||
|
|
||||||
The fields that have been modified to use the `TransientStore` are:
|
The fields that have been modified to use the `TransientStore` are:
|
||||||
|
|
||||||
|
@ -1,3 +1,18 @@
|
|||||||
|
// Copyright 2021 Evmos Foundation
|
||||||
|
// This file is part of Evmos' Ethermint library.
|
||||||
|
//
|
||||||
|
// The Ethermint library is free software: you can redistribute it and/or modify
|
||||||
|
// it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
// the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// (at your option) any later version.
|
||||||
|
//
|
||||||
|
// The Ethermint library is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU Lesser General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU Lesser General Public License
|
||||||
|
// along with the Ethermint library. If not, see https://github.com/evmos/ethermint/blob/main/LICENSE
|
||||||
package codec
|
package codec
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
@ -1,3 +1,18 @@
|
|||||||
|
// Copyright 2021 Evmos Foundation
|
||||||
|
// This file is part of Evmos' Ethermint library.
|
||||||
|
//
|
||||||
|
// The Ethermint library is free software: you can redistribute it and/or modify
|
||||||
|
// it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
// the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// (at your option) any later version.
|
||||||
|
//
|
||||||
|
// The Ethermint library is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU Lesser General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU Lesser General Public License
|
||||||
|
// along with the Ethermint library. If not, see https://github.com/evmos/ethermint/blob/main/LICENSE
|
||||||
package encoding
|
package encoding
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
@ -1,3 +1,18 @@
|
|||||||
|
// Copyright 2021 Evmos Foundation
|
||||||
|
// This file is part of Evmos' Ethermint library.
|
||||||
|
//
|
||||||
|
// The Ethermint library is free software: you can redistribute it and/or modify
|
||||||
|
// it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
// the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// (at your option) any later version.
|
||||||
|
//
|
||||||
|
// The Ethermint library is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU Lesser General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU Lesser General Public License
|
||||||
|
// along with the Ethermint library. If not, see https://github.com/evmos/ethermint/blob/main/LICENSE
|
||||||
package eip712
|
package eip712
|
||||||
|
|
||||||
import (
|
import (
|
||||||
@ -244,11 +259,6 @@ func traverseFields(
|
|||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
// If its a nil pointer, do not include in types
|
|
||||||
if fieldType.Kind() == reflect.Ptr && field.IsNil() {
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
|
|
||||||
for {
|
for {
|
||||||
if fieldType.Kind() == reflect.Ptr {
|
if fieldType.Kind() == reflect.Ptr {
|
||||||
fieldType = fieldType.Elem()
|
fieldType = fieldType.Elem()
|
||||||
|
@ -1,3 +1,18 @@
|
|||||||
|
// Copyright 2021 Evmos Foundation
|
||||||
|
// This file is part of Evmos' Ethermint library.
|
||||||
|
//
|
||||||
|
// The Ethermint library is free software: you can redistribute it and/or modify
|
||||||
|
// it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
// the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// (at your option) any later version.
|
||||||
|
//
|
||||||
|
// The Ethermint library is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU Lesser General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU Lesser General Public License
|
||||||
|
// along with the Ethermint library. If not, see https://github.com/evmos/ethermint/blob/main/LICENSE
|
||||||
package eip712
|
package eip712
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
@ -1,3 +1,18 @@
|
|||||||
|
// Copyright 2021 Evmos Foundation
|
||||||
|
// This file is part of Evmos' Ethermint library.
|
||||||
|
//
|
||||||
|
// The Ethermint library is free software: you can redistribute it and/or modify
|
||||||
|
// it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
// the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// (at your option) any later version.
|
||||||
|
//
|
||||||
|
// The Ethermint library is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU Lesser General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU Lesser General Public License
|
||||||
|
// along with the Ethermint library. If not, see https://github.com/evmos/ethermint/blob/main/LICENSE
|
||||||
package eip712
|
package eip712
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
34
go.mod
34
go.mod
@ -13,7 +13,7 @@ require (
|
|||||||
github.com/cosmos/cosmos-sdk v0.46.7
|
github.com/cosmos/cosmos-sdk v0.46.7
|
||||||
github.com/cosmos/go-bip39 v1.0.0
|
github.com/cosmos/go-bip39 v1.0.0
|
||||||
github.com/cosmos/gogoproto v1.4.3
|
github.com/cosmos/gogoproto v1.4.3
|
||||||
github.com/cosmos/ibc-go/v5 v5.2.0
|
github.com/cosmos/ibc-go/v6 v6.1.0
|
||||||
github.com/davecgh/go-spew v1.1.1
|
github.com/davecgh/go-spew v1.1.1
|
||||||
github.com/deckarep/golang-set v1.8.0
|
github.com/deckarep/golang-set v1.8.0
|
||||||
github.com/ethereum/go-ethereum v1.10.26
|
github.com/ethereum/go-ethereum v1.10.26
|
||||||
@ -31,11 +31,11 @@ require (
|
|||||||
github.com/ipld/go-ipld-prime v0.18.0
|
github.com/ipld/go-ipld-prime v0.18.0
|
||||||
github.com/miguelmota/go-ethereum-hdwallet v0.1.1
|
github.com/miguelmota/go-ethereum-hdwallet v0.1.1
|
||||||
github.com/multiformats/go-multihash v0.2.0
|
github.com/multiformats/go-multihash v0.2.0
|
||||||
github.com/onsi/ginkgo/v2 v2.5.1
|
github.com/onsi/ginkgo/v2 v2.7.0
|
||||||
github.com/onsi/gomega v1.24.1
|
github.com/onsi/gomega v1.24.2
|
||||||
github.com/pkg/errors v0.9.1
|
github.com/pkg/errors v0.9.1
|
||||||
github.com/rakyll/statik v0.1.7
|
github.com/rakyll/statik v0.1.7
|
||||||
github.com/rs/cors v1.8.2
|
github.com/rs/cors v1.8.3
|
||||||
github.com/spf13/cast v1.5.0
|
github.com/spf13/cast v1.5.0
|
||||||
github.com/spf13/cobra v1.6.1
|
github.com/spf13/cobra v1.6.1
|
||||||
github.com/spf13/viper v1.14.0
|
github.com/spf13/viper v1.14.0
|
||||||
@ -45,10 +45,10 @@ require (
|
|||||||
github.com/tendermint/tm-db v0.6.7
|
github.com/tendermint/tm-db v0.6.7
|
||||||
github.com/tyler-smith/go-bip39 v1.1.0
|
github.com/tyler-smith/go-bip39 v1.1.0
|
||||||
github.com/vektah/gqlparser/v2 v2.5.1
|
github.com/vektah/gqlparser/v2 v2.5.1
|
||||||
golang.org/x/net v0.4.0
|
golang.org/x/net v0.5.0
|
||||||
golang.org/x/text v0.5.0
|
golang.org/x/text v0.6.0
|
||||||
google.golang.org/genproto v0.0.0-20221201164419-0e50fba7f41c
|
google.golang.org/genproto v0.0.0-20221118155620-16455021b5e6
|
||||||
google.golang.org/grpc v1.51.0
|
google.golang.org/grpc v1.52.0
|
||||||
google.golang.org/protobuf v1.28.2-0.20220831092852-f930b1dc76e8
|
google.golang.org/protobuf v1.28.2-0.20220831092852-f930b1dc76e8
|
||||||
gopkg.in/yaml.v3 v3.0.1
|
gopkg.in/yaml.v3 v3.0.1
|
||||||
sigs.k8s.io/yaml v1.3.0
|
sigs.k8s.io/yaml v1.3.0
|
||||||
@ -56,9 +56,9 @@ require (
|
|||||||
|
|
||||||
require (
|
require (
|
||||||
cloud.google.com/go v0.105.0 // indirect
|
cloud.google.com/go v0.105.0 // indirect
|
||||||
cloud.google.com/go/compute v1.13.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/compute/metadata v0.2.1 // indirect
|
||||||
cloud.google.com/go/iam v0.8.0 // indirect
|
cloud.google.com/go/iam v0.7.0 // indirect
|
||||||
cloud.google.com/go/storage v1.27.0 // indirect
|
cloud.google.com/go/storage v1.27.0 // indirect
|
||||||
filippo.io/edwards25519 v1.0.0-rc.1 // indirect
|
filippo.io/edwards25519 v1.0.0-rc.1 // indirect
|
||||||
github.com/99designs/keyring v1.2.1 // indirect
|
github.com/99designs/keyring v1.2.1 // indirect
|
||||||
@ -116,7 +116,7 @@ require (
|
|||||||
github.com/google/orderedcode v0.0.1 // indirect
|
github.com/google/orderedcode v0.0.1 // indirect
|
||||||
github.com/google/uuid v1.3.0 // indirect
|
github.com/google/uuid v1.3.0 // indirect
|
||||||
github.com/googleapis/enterprise-certificate-proxy v0.2.0 // indirect
|
github.com/googleapis/enterprise-certificate-proxy v0.2.0 // indirect
|
||||||
github.com/googleapis/gax-go/v2 v2.7.0 // indirect
|
github.com/googleapis/gax-go/v2 v2.6.0 // indirect
|
||||||
github.com/gorilla/handlers v1.5.1 // indirect
|
github.com/gorilla/handlers v1.5.1 // indirect
|
||||||
github.com/grpc-ecosystem/go-grpc-middleware v1.3.0 // indirect
|
github.com/grpc-ecosystem/go-grpc-middleware v1.3.0 // indirect
|
||||||
github.com/gsterjov/go-libsecret v0.0.0-20161001094733-a6f4afe4910c // indirect
|
github.com/gsterjov/go-libsecret v0.0.0-20161001094733-a6f4afe4910c // indirect
|
||||||
@ -196,15 +196,15 @@ require (
|
|||||||
github.com/zondax/hid v0.9.1 // indirect
|
github.com/zondax/hid v0.9.1 // indirect
|
||||||
github.com/zondax/ledger-go v0.14.0 // indirect
|
github.com/zondax/ledger-go v0.14.0 // indirect
|
||||||
go.etcd.io/bbolt v1.3.6 // indirect
|
go.etcd.io/bbolt v1.3.6 // indirect
|
||||||
go.opencensus.io v0.24.0 // indirect
|
go.opencensus.io v0.23.0 // indirect
|
||||||
golang.org/x/crypto v0.4.0 // indirect
|
golang.org/x/crypto v0.3.0 // indirect
|
||||||
golang.org/x/exp v0.0.0-20220722155223-a9213eeb770e // indirect
|
golang.org/x/exp v0.0.0-20220722155223-a9213eeb770e // indirect
|
||||||
golang.org/x/oauth2 v0.0.0-20221014153046-6fdb5e3db783 // indirect
|
golang.org/x/oauth2 v0.0.0-20221014153046-6fdb5e3db783 // indirect
|
||||||
golang.org/x/sync v0.1.0 // indirect
|
golang.org/x/sync v0.1.0 // indirect
|
||||||
golang.org/x/sys v0.3.0 // indirect
|
golang.org/x/sys v0.4.0 // indirect
|
||||||
golang.org/x/term v0.3.0 // indirect
|
golang.org/x/term v0.4.0 // indirect
|
||||||
golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect
|
golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect
|
||||||
google.golang.org/api v0.103.0 // indirect
|
google.golang.org/api v0.102.0 // indirect
|
||||||
google.golang.org/appengine v1.6.7 // indirect
|
google.golang.org/appengine v1.6.7 // indirect
|
||||||
gopkg.in/ini.v1 v1.67.0 // indirect
|
gopkg.in/ini.v1 v1.67.0 // indirect
|
||||||
gopkg.in/natefinch/npipe.v2 v2.0.0-20160621034901-c1b8fa8bdcce // indirect
|
gopkg.in/natefinch/npipe.v2 v2.0.0-20160621034901-c1b8fa8bdcce // indirect
|
||||||
@ -216,8 +216,6 @@ require (
|
|||||||
replace (
|
replace (
|
||||||
// use cosmos keyring
|
// use cosmos keyring
|
||||||
github.com/99designs/keyring => github.com/cosmos/keyring v1.1.7-0.20210622111912-ef00f8ac3d76
|
github.com/99designs/keyring => github.com/cosmos/keyring v1.1.7-0.20210622111912-ef00f8ac3d76
|
||||||
// ics23 patch for dragonberry
|
|
||||||
github.com/confio/ics23/go => github.com/cosmos/cosmos-sdk/ics23/go v0.8.0
|
|
||||||
// Fix upstream GHSA-h395-qcrw-5vmq vulnerability.
|
// Fix upstream GHSA-h395-qcrw-5vmq vulnerability.
|
||||||
// TODO Remove it: https://github.com/cosmos/cosmos-sdk/issues/10409
|
// TODO Remove it: https://github.com/cosmos/cosmos-sdk/issues/10409
|
||||||
github.com/gin-gonic/gin => github.com/gin-gonic/gin v1.7.0
|
github.com/gin-gonic/gin => github.com/gin-gonic/gin v1.7.0
|
||||||
|
70
go.sum
70
go.sum
@ -28,14 +28,14 @@ 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.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/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/bigtable v1.2.0/go.mod h1:JcVAOl45lrTmQfLj7T6TxyMzIN/3FGGcFm+2xVAli2o=
|
||||||
cloud.google.com/go/compute v1.13.0 h1:AYrLkB8NPdDRslNp4Jxmzrhdr03fUAIDbiGFjLWowoU=
|
cloud.google.com/go/compute v1.12.1 h1:gKVJMEyqV5c/UnpzjjQbo3Rjvvqpr9B1DFSbJC4OXr0=
|
||||||
cloud.google.com/go/compute v1.13.0/go.mod h1:5aPTS0cUNMIc1CE546K+Th6weJUNQErARyZtRXDJ8GE=
|
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 h1:efOwf5ymceDhK6PKMnnrTHP4pppY5L22mle96M1yP48=
|
||||||
cloud.google.com/go/compute/metadata v0.2.1/go.mod h1:jgHgmJd2RKBGzXqF5LR2EZMGxBkeanZ9wwa75XHJgOM=
|
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.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/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk=
|
||||||
cloud.google.com/go/iam v0.8.0 h1:E2osAkZzxI/+8pZcxVLcDtAQx/u+hZXVryUaYQ5O0Kk=
|
cloud.google.com/go/iam v0.7.0 h1:k4MuwOsS7zGJJ+QfZ5vBK8SgHBAvYN/23BWsiihJ1vs=
|
||||||
cloud.google.com/go/iam v0.8.0/go.mod h1:lga0/y3iH6CX7sYqypWJ33hf7kkfXJag67naqGESjkE=
|
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/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.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.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw=
|
||||||
@ -220,6 +220,8 @@ github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd/go.mod h1:sE
|
|||||||
github.com/coinbase/kryptology v1.8.0/go.mod h1:RYXOAPdzOGUe3qlSFkMGn58i3xUA8hmxYHksuq+8ciI=
|
github.com/coinbase/kryptology v1.8.0/go.mod h1:RYXOAPdzOGUe3qlSFkMGn58i3xUA8hmxYHksuq+8ciI=
|
||||||
github.com/coinbase/rosetta-sdk-go v0.7.9 h1:lqllBjMnazTjIqYrOGv8h8jxjg9+hJazIGZr9ZvoCcA=
|
github.com/coinbase/rosetta-sdk-go v0.7.9 h1:lqllBjMnazTjIqYrOGv8h8jxjg9+hJazIGZr9ZvoCcA=
|
||||||
github.com/coinbase/rosetta-sdk-go v0.7.9/go.mod h1:0/knutI7XGVqXmmH4OQD8OckFrbQ8yMsUZTG7FXCR2M=
|
github.com/coinbase/rosetta-sdk-go v0.7.9/go.mod h1:0/knutI7XGVqXmmH4OQD8OckFrbQ8yMsUZTG7FXCR2M=
|
||||||
|
github.com/confio/ics23/go v0.9.0 h1:cWs+wdbS2KRPZezoaaj+qBleXgUk5WOQFMP3CQFGTr4=
|
||||||
|
github.com/confio/ics23/go v0.9.0/go.mod h1:4LPZ2NYqnYIVRklaozjNR1FScgDJ2s5Xrp+e/mYVRak=
|
||||||
github.com/consensys/bavard v0.1.8-0.20210406032232-f3452dc9b572/go.mod h1:Bpd0/3mZuaj6Sj+PqrmIquiOKy397AKGThQPaGzNXAQ=
|
github.com/consensys/bavard v0.1.8-0.20210406032232-f3452dc9b572/go.mod h1:Bpd0/3mZuaj6Sj+PqrmIquiOKy397AKGThQPaGzNXAQ=
|
||||||
github.com/consensys/bavard v0.1.8-0.20210915155054-088da2f7f54a/go.mod h1:9ItSMtA/dXMAiL7BG6bqW2m3NdSEObYWoH223nGHukI=
|
github.com/consensys/bavard v0.1.8-0.20210915155054-088da2f7f54a/go.mod h1:9ItSMtA/dXMAiL7BG6bqW2m3NdSEObYWoH223nGHukI=
|
||||||
github.com/consensys/gnark-crypto v0.4.1-0.20210426202927-39ac3d4b3f1f/go.mod h1:815PAHg3wvysy0SyIqanF8gZ0Y1wjk/hrDHD/iT88+Q=
|
github.com/consensys/gnark-crypto v0.4.1-0.20210426202927-39ac3d4b3f1f/go.mod h1:815PAHg3wvysy0SyIqanF8gZ0Y1wjk/hrDHD/iT88+Q=
|
||||||
@ -237,8 +239,6 @@ github.com/cosmos/cosmos-proto v1.0.0-beta.1 h1:iDL5qh++NoXxG8hSy93FdYJut4XfgbSh
|
|||||||
github.com/cosmos/cosmos-proto v1.0.0-beta.1/go.mod h1:8k2GNZghi5sDRFw/scPL8gMSowT1vDA+5ouxL8GjaUE=
|
github.com/cosmos/cosmos-proto v1.0.0-beta.1/go.mod h1:8k2GNZghi5sDRFw/scPL8gMSowT1vDA+5ouxL8GjaUE=
|
||||||
github.com/cosmos/cosmos-sdk v0.46.7 h1:dkGy9y2ewgqvawrUOuWb2oz3MdotVduokyreXC4bS0s=
|
github.com/cosmos/cosmos-sdk v0.46.7 h1:dkGy9y2ewgqvawrUOuWb2oz3MdotVduokyreXC4bS0s=
|
||||||
github.com/cosmos/cosmos-sdk v0.46.7/go.mod h1:fqKqz39U5IlEFb4nbQ72951myztsDzFKKDtffYJ63nk=
|
github.com/cosmos/cosmos-sdk v0.46.7/go.mod h1:fqKqz39U5IlEFb4nbQ72951myztsDzFKKDtffYJ63nk=
|
||||||
github.com/cosmos/cosmos-sdk/ics23/go v0.8.0 h1:iKclrn3YEOwk4jQHT2ulgzuXyxmzmPczUalMwW4XH9k=
|
|
||||||
github.com/cosmos/cosmos-sdk/ics23/go v0.8.0/go.mod h1:2a4dBq88TUoqoWAU5eu0lGvpFP3wWDPgdHPargtyw30=
|
|
||||||
github.com/cosmos/go-bip39 v0.0.0-20180819234021-555e2067c45d/go.mod h1:tSxLoYXyBmiFeKpvmq4dzayMdCjCnu8uqmCysIGBT2Y=
|
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 h1:pcomnQdrdH22njcAatO0yWojsUnCO3y2tNoV1cb6hHY=
|
||||||
github.com/cosmos/go-bip39 v1.0.0/go.mod h1:RNJv0H/pOIVgxw6KS7QeX2a0Uo0aKUlfhZ4xuwvCdJw=
|
github.com/cosmos/go-bip39 v1.0.0/go.mod h1:RNJv0H/pOIVgxw6KS7QeX2a0Uo0aKUlfhZ4xuwvCdJw=
|
||||||
@ -248,8 +248,8 @@ github.com/cosmos/gorocksdb v1.2.0 h1:d0l3jJG8M4hBouIZq0mDUHZ+zjOx044J3nGRskwTb4
|
|||||||
github.com/cosmos/gorocksdb v1.2.0/go.mod h1:aaKvKItm514hKfNJpUJXnnOWeBnk2GL4+Qw9NHizILw=
|
github.com/cosmos/gorocksdb v1.2.0/go.mod h1:aaKvKItm514hKfNJpUJXnnOWeBnk2GL4+Qw9NHizILw=
|
||||||
github.com/cosmos/iavl v0.19.4 h1:t82sN+Y0WeqxDLJRSpNd8YFX5URIrT+p8n6oJbJ2Dok=
|
github.com/cosmos/iavl v0.19.4 h1:t82sN+Y0WeqxDLJRSpNd8YFX5URIrT+p8n6oJbJ2Dok=
|
||||||
github.com/cosmos/iavl v0.19.4/go.mod h1:X9PKD3J0iFxdmgNLa7b2LYWdsGd90ToV5cAONApkEPw=
|
github.com/cosmos/iavl v0.19.4/go.mod h1:X9PKD3J0iFxdmgNLa7b2LYWdsGd90ToV5cAONApkEPw=
|
||||||
github.com/cosmos/ibc-go/v5 v5.2.0 h1:LxwttRQqdUJpQ3/Gc3XPg5lkRo3pcbzx65dxFIY6ONE=
|
github.com/cosmos/ibc-go/v6 v6.1.0 h1:o7oXws2vKkKfOFzJI+oNylRn44PCNt5wzHd/zKQKbvQ=
|
||||||
github.com/cosmos/ibc-go/v5 v5.2.0/go.mod h1:MhDUMDVSboK5JW2pEWHNcw0wJHaHqKV/vwwP7awGhzI=
|
github.com/cosmos/ibc-go/v6 v6.1.0/go.mod h1:CY3zh2HLfetRiW8LY6kVHMATe90Wj/UOoY8T6cuB0is=
|
||||||
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 h1:DdzS1m6o/pCqeZ8VOAit/gyATedRgjvkVI+UCrLpyuU=
|
||||||
github.com/cosmos/keyring v1.1.7-0.20210622111912-ef00f8ac3d76/go.mod h1:0mkLWIoZuQ7uBoospo5Q9zIpqq6rYCPJDSUdeCJvPM8=
|
github.com/cosmos/keyring v1.1.7-0.20210622111912-ef00f8ac3d76/go.mod h1:0mkLWIoZuQ7uBoospo5Q9zIpqq6rYCPJDSUdeCJvPM8=
|
||||||
github.com/cosmos/ledger-cosmos-go v0.12.1 h1:sMBxza5p/rNK/06nBSNmsI/WDqI0pVJFVNihy1Y984w=
|
github.com/cosmos/ledger-cosmos-go v0.12.1 h1:sMBxza5p/rNK/06nBSNmsI/WDqI0pVJFVNihy1Y984w=
|
||||||
@ -516,8 +516,8 @@ github.com/googleapis/enterprise-certificate-proxy v0.2.0 h1:y8Yozv7SZtlU//QXbez
|
|||||||
github.com/googleapis/enterprise-certificate-proxy v0.2.0/go.mod h1:8C0jb7/mgJe/9KK8Lm7X9ctZC2t60YyIpYEI16jx0Qg=
|
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.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.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk=
|
||||||
github.com/googleapis/gax-go/v2 v2.7.0 h1:IcsPKeInNvYi7eqSaDjiZqDDKu5rsmunY0Y1YupQSSQ=
|
github.com/googleapis/gax-go/v2 v2.6.0 h1:SXk3ABtQYDT/OH8jAyvEOQ58mgawq5C4o/4/89qN2ZU=
|
||||||
github.com/googleapis/gax-go/v2 v2.7.0/go.mod h1:TEop28CZZQ2y+c0VxMUmu1lV+fQx57QpBWsYpwqHJx8=
|
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/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 h1:EGx4pi6eqNxGaHF6qqu48+N2wcFQ5qg5FXgOdqsJ5d8=
|
||||||
github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY=
|
github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY=
|
||||||
@ -850,14 +850,14 @@ github.com/onsi/ginkgo v1.7.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+W
|
|||||||
github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk=
|
github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk=
|
||||||
github.com/onsi/ginkgo v1.14.0 h1:2mOpI4JVVPBN+WQRa0WKH2eXR+Ey+uK4n7Zj0aYpIQA=
|
github.com/onsi/ginkgo v1.14.0 h1:2mOpI4JVVPBN+WQRa0WKH2eXR+Ey+uK4n7Zj0aYpIQA=
|
||||||
github.com/onsi/ginkgo v1.14.0/go.mod h1:iSB4RoI2tjJc9BBv4NKIKWKya62Rps+oPG/Lv9klQyY=
|
github.com/onsi/ginkgo v1.14.0/go.mod h1:iSB4RoI2tjJc9BBv4NKIKWKya62Rps+oPG/Lv9klQyY=
|
||||||
github.com/onsi/ginkgo/v2 v2.5.1 h1:auzK7OI497k6x4OvWq+TKAcpcSAlod0doAH72oIN0Jw=
|
github.com/onsi/ginkgo/v2 v2.7.0 h1:/XxtEV3I3Eif/HobnVx9YmJgk8ENdRsuUmM+fLCFNow=
|
||||||
github.com/onsi/ginkgo/v2 v2.5.1/go.mod h1:63DOGlLAH8+REH8jUGdL3YpCpu7JODesutUjdENfUAc=
|
github.com/onsi/ginkgo/v2 v2.7.0/go.mod h1:yjiuMwPokqY1XauOgju45q3sJt6VzQ/Fict1LFVcsAo=
|
||||||
github.com/onsi/gomega v1.4.1/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA=
|
github.com/onsi/gomega v1.4.1/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA=
|
||||||
github.com/onsi/gomega v1.4.3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY=
|
github.com/onsi/gomega v1.4.3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY=
|
||||||
github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY=
|
github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY=
|
||||||
github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo=
|
github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo=
|
||||||
github.com/onsi/gomega v1.24.1 h1:KORJXNNTzJXzu4ScJWssJfJMnJ+2QJqhoQSRwNlze9E=
|
github.com/onsi/gomega v1.24.2 h1:J/tulyYK6JwBldPViHJReihxxZ+22FHs0piGjQAvoUE=
|
||||||
github.com/onsi/gomega v1.24.1/go.mod h1:3AOiACssS3/MajrniINInwbfOOtfZvplPzuRSmvt1jM=
|
github.com/onsi/gomega v1.24.2/go.mod h1:gs3J10IS7Z7r7eXRoNJIrNqU4ToQukCJhFtKrWgHWnk=
|
||||||
github.com/op/go-logging v0.0.0-20160315200505-970db520ece7/go.mod h1:HzydrMdWErDVzsI23lYNej1Htcns9BCg93Dk0bBINWk=
|
github.com/op/go-logging v0.0.0-20160315200505-970db520ece7/go.mod h1:HzydrMdWErDVzsI23lYNej1Htcns9BCg93Dk0bBINWk=
|
||||||
github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U=
|
github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U=
|
||||||
github.com/opencontainers/image-spec v1.1.0-rc2 h1:2zx/Stx4Wc5pIPDvIxHXvXtQFW/7XWJGmnM7r3wg034=
|
github.com/opencontainers/image-spec v1.1.0-rc2 h1:2zx/Stx4Wc5pIPDvIxHXvXtQFW/7XWJGmnM7r3wg034=
|
||||||
@ -963,8 +963,8 @@ github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6L
|
|||||||
github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
|
github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
|
||||||
github.com/rogpeppe/go-internal v1.8.1 h1:geMPLpDpQOgVyCg5z5GoRwLHepNdb71NXb67XFkP+Eg=
|
github.com/rogpeppe/go-internal v1.8.1 h1:geMPLpDpQOgVyCg5z5GoRwLHepNdb71NXb67XFkP+Eg=
|
||||||
github.com/rs/cors v1.7.0/go.mod h1:gFx+x8UowdsKA9AchylcLynDq+nNFfI8FkUZdN/jGCU=
|
github.com/rs/cors v1.7.0/go.mod h1:gFx+x8UowdsKA9AchylcLynDq+nNFfI8FkUZdN/jGCU=
|
||||||
github.com/rs/cors v1.8.2 h1:KCooALfAYGs415Cwu5ABvv9n9509fSiG5SQJn/AQo4U=
|
github.com/rs/cors v1.8.3 h1:O+qNyWn7Z+F9M0ILBHgMVPuB1xTOucVd5gtaYyXBpRo=
|
||||||
github.com/rs/cors v1.8.2/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU=
|
github.com/rs/cors v1.8.3/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU=
|
||||||
github.com/rs/xid v1.3.0/go.mod h1:trrq9SKmegXys3aeAKXMUTdJsYXVwGY3RLcfgqegfbg=
|
github.com/rs/xid v1.3.0/go.mod h1:trrq9SKmegXys3aeAKXMUTdJsYXVwGY3RLcfgqegfbg=
|
||||||
github.com/rs/zerolog v1.27.0 h1:1T7qCieN22GVc8S4Q2yuexzBb1EqjbgjSH9RohbMjKs=
|
github.com/rs/zerolog v1.27.0 h1:1T7qCieN22GVc8S4Q2yuexzBb1EqjbgjSH9RohbMjKs=
|
||||||
github.com/rs/zerolog v1.27.0/go.mod h1:7frBqO0oezxmnO7GF86FY++uy8I0Tk/If5ni1G9Qc0U=
|
github.com/rs/zerolog v1.27.0/go.mod h1:7frBqO0oezxmnO7GF86FY++uy8I0Tk/If5ni1G9Qc0U=
|
||||||
@ -1134,8 +1134,8 @@ go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
|
|||||||
go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
|
go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
|
||||||
go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
|
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.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk=
|
||||||
go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0=
|
go.opencensus.io v0.23.0 h1:gqCw0LfLxScz8irSi8exQc7fyQ0fKQU/qnC/X8+V/1M=
|
||||||
go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo=
|
go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E=
|
||||||
go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE=
|
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.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE=
|
||||||
go.uber.org/atomic v1.5.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ=
|
go.uber.org/atomic v1.5.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ=
|
||||||
@ -1170,8 +1170,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-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-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-20211108221036-ceb1ce70b4fa/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
|
||||||
golang.org/x/crypto v0.4.0 h1:UVQgzMY87xqpKNgb+kDsll2Igd33HszWHFLmpaRMq/8=
|
golang.org/x/crypto v0.3.0 h1:a06MkbcxBrEFc0w0QIZWXrH/9cCX6KJyWbBOIwAn+7A=
|
||||||
golang.org/x/crypto v0.4.0/go.mod h1:3quD/ATkf6oY+rnes5c3ExXTbLc8mueNue5/DoinL80=
|
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-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-20180807140117-3d87b88a115f/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
|
||||||
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
|
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
|
||||||
@ -1273,8 +1273,8 @@ golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qx
|
|||||||
golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk=
|
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-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk=
|
||||||
golang.org/x/net v0.0.0-20220722155237-a158d28d115b/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.4.0 h1:Q5QPcMlvfxFTAPV0+07Xz/MpK9NTXu2VDUuy0FeMfaU=
|
golang.org/x/net v0.5.0 h1:GyT4nK/YDHSqa1c4753ouYCDajOYKTja9Xb/OHtgvSw=
|
||||||
golang.org/x/net v0.4.0/go.mod h1:MBQ8lrhLObU/6UmLb4fmbmk5OcyYmqtbGd/9yIeKjEE=
|
golang.org/x/net v0.5.0/go.mod h1:DivGGAXEgPSlEBzxGzZI+ZLohi+xUj054jfeKui00ws=
|
||||||
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
|
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-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
|
||||||
golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
|
golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
|
||||||
@ -1390,13 +1390,13 @@ golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBc
|
|||||||
golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/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-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||||
golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||||
golang.org/x/sys v0.3.0 h1:w8ZOecv6NaNa/zC8944JTU3vz4u6Lagfk4RPQxv92NQ=
|
golang.org/x/sys v0.4.0 h1:Zr2JFtRQNX3BCZ8YtxRE9hNJYC8J6I1MVbMg6owUp18=
|
||||||
golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
golang.org/x/sys v0.4.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-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-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-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
|
||||||
golang.org/x/term v0.3.0 h1:qoo4akIqOcDME5bhc/NgxUdovd6BSS2uMsVjB56q1xI=
|
golang.org/x/term v0.4.0 h1:O7UWfv5+A2qiuulQk30kVinPoMtoIPeVaKLEgLpVkvg=
|
||||||
golang.org/x/term v0.3.0/go.mod h1:q750SLmJuPmVoN1blW3UFBPREJfb1KmY3vwxfr+nFDA=
|
golang.org/x/term v0.4.0/go.mod h1:9P2UbLfCdcvo3p/nzKvsmas4TnlujnuoV9hGgYzW1lQ=
|
||||||
golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
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.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
||||||
golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
||||||
@ -1407,8 +1407,8 @@ 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.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
|
||||||
golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
|
golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
|
||||||
golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ=
|
golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ=
|
||||||
golang.org/x/text v0.5.0 h1:OLmvp0KP+FVG99Ct/qFiL/Fhk4zp4QQnZ7b2U+5piUM=
|
golang.org/x/text v0.6.0 h1:3XmdazWV+ubf7QgHSTWeykHOci5oeekaGJBLkrkaw4k=
|
||||||
golang.org/x/text v0.5.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
|
golang.org/x/text v0.6.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-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-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
|
||||||
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
|
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
|
||||||
@ -1477,7 +1477,7 @@ golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0=
|
|||||||
golang.org/x/tools v0.1.5/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.10/go.mod h1:Uh6Zz+xoGYZom868N8YTex3t7RhtHDBrE8Gzo9bV56E=
|
||||||
golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=
|
golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=
|
||||||
golang.org/x/tools v0.2.0 h1:G6AHpWxTMGY1KyEYoAQ5WTtIekUUvDNjan3ugu60JvE=
|
golang.org/x/tools v0.4.0 h1:7mTAgkunk3fr4GAloyyCasadO6h9zSsQZbwvcaIciV4=
|
||||||
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||||
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
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-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||||
@ -1510,8 +1510,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.35.0/go.mod h1:/XrVsuzM0rZmrsbjJutiuftIzeuTQcEeaYcSk/mQ1dg=
|
||||||
google.golang.org/api v0.36.0/go.mod h1:+z5ficQTmoYpPn8LCUNVpK5I7hwkpjbcgqA7I34qYtE=
|
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.40.0/go.mod h1:fYKFpnQN0DsDSKRVRcQSDQNtqWPfM9i+zNPxepjRCQ8=
|
||||||
google.golang.org/api v0.103.0 h1:9yuVqlu2JCvcLg9p8S3fcFLZij8EPSyvODIY1rkMizQ=
|
google.golang.org/api v0.102.0 h1:JxJl2qQ85fRMPNvlZY/enexbxpCjLwGhZUtgfGeQ51I=
|
||||||
google.golang.org/api v0.103.0/go.mod h1:hGtW6nK1AC+d9si/UBhw8Xli+QMOf6xyNAyJw4qU9w0=
|
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.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.2.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
|
||||||
google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
|
google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
|
||||||
@ -1565,8 +1565,8 @@ google.golang.org/genproto v0.0.0-20201214200347-8c77b98c765d/go.mod h1:FWY/as6D
|
|||||||
google.golang.org/genproto v0.0.0-20210108203827-ffc7fda8c3d7/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-20210126160654-44e461bb6506/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-20210226172003-ab064af71705/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
|
||||||
google.golang.org/genproto v0.0.0-20221201164419-0e50fba7f41c h1:S34D59DS2GWOEwWNt4fYmTcFrtlOgukG2k9WsomZ7tg=
|
google.golang.org/genproto v0.0.0-20221118155620-16455021b5e6 h1:a2S6M0+660BgMNl++4JPlcAO/CjkqYItDEZwkoDQK7c=
|
||||||
google.golang.org/genproto v0.0.0-20221201164419-0e50fba7f41c/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg=
|
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.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.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
|
||||||
google.golang.org/grpc v1.19.1/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
|
google.golang.org/grpc v1.19.1/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
|
||||||
@ -1591,8 +1591,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.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.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.35.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU=
|
||||||
google.golang.org/grpc v1.51.0 h1:E1eGv1FTqoLIdnBCZufiSHgKjlqG6fKFf6pPWtMTh8U=
|
google.golang.org/grpc v1.52.0 h1:kd48UiU7EHsV4rnLyOJRuP/Il/UHE7gdDAQ+SZI7nZk=
|
||||||
google.golang.org/grpc v1.51.0/go.mod h1:wgNDFcnuBGmxLKI/qn4T+m5BtEBYXJPvibbUPsAIPww=
|
google.golang.org/grpc v1.52.0/go.mod h1:pu6fVzoFb+NBYNAvQL08ic+lvB2IojljRYuun5vorUY=
|
||||||
google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8=
|
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-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0=
|
||||||
google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM=
|
google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM=
|
||||||
|
@ -93,9 +93,8 @@ schema = 3
|
|||||||
version = "v0.7.9"
|
version = "v0.7.9"
|
||||||
hash = "sha256-ZWIXIXcHGjeCNgMrpXymry8/8esDDauGFfF/+gEoO1Y="
|
hash = "sha256-ZWIXIXcHGjeCNgMrpXymry8/8esDDauGFfF/+gEoO1Y="
|
||||||
[mod."github.com/confio/ics23/go"]
|
[mod."github.com/confio/ics23/go"]
|
||||||
version = "v0.8.0"
|
version = "v0.9.0"
|
||||||
hash = "sha256-mFKxFHp7RaE1L5NdtH9H9px2Cy6I5uOZVnFOgE8Nrew="
|
hash = "sha256-guD8w7YygfUp7lpTAUyXQuCPx8F3lXkcg+yR5+JOCbk="
|
||||||
replaced = "github.com/cosmos/cosmos-sdk/ics23/go"
|
|
||||||
[mod."github.com/cosmos/btcutil"]
|
[mod."github.com/cosmos/btcutil"]
|
||||||
version = "v1.0.5"
|
version = "v1.0.5"
|
||||||
hash = "sha256-t572Sr5iiHcuMKLMWa2i+LBAt192oa+G1oA371tG/eI="
|
hash = "sha256-t572Sr5iiHcuMKLMWa2i+LBAt192oa+G1oA371tG/eI="
|
||||||
@ -117,9 +116,9 @@ schema = 3
|
|||||||
[mod."github.com/cosmos/iavl"]
|
[mod."github.com/cosmos/iavl"]
|
||||||
version = "v0.19.4"
|
version = "v0.19.4"
|
||||||
hash = "sha256-EmpRZ48pjPFq/fIHneut9Vyo5QJATfb3ZO7KzWnqs9g="
|
hash = "sha256-EmpRZ48pjPFq/fIHneut9Vyo5QJATfb3ZO7KzWnqs9g="
|
||||||
[mod."github.com/cosmos/ibc-go/v5"]
|
[mod."github.com/cosmos/ibc-go/v6"]
|
||||||
version = "v5.2.0"
|
version = "v6.1.0"
|
||||||
hash = "sha256-Gfqhdz9ZKEgb7LCkHiXCwYZYUYluQ+vMew/GkssfVj8="
|
hash = "sha256-mHYCqLedcveDjfm1EiO2EMMNJqLm9u4WHwQTy1muOoc="
|
||||||
[mod."github.com/cosmos/ledger-cosmos-go"]
|
[mod."github.com/cosmos/ledger-cosmos-go"]
|
||||||
version = "v0.12.1"
|
version = "v0.12.1"
|
||||||
hash = "sha256-9+nr+/r4MyiogddS0JcXOuriPqXP4nxln8ts+mYQRcg="
|
hash = "sha256-9+nr+/r4MyiogddS0JcXOuriPqXP4nxln8ts+mYQRcg="
|
||||||
@ -337,9 +336,6 @@ schema = 3
|
|||||||
[mod."github.com/klauspost/compress"]
|
[mod."github.com/klauspost/compress"]
|
||||||
version = "v1.15.11"
|
version = "v1.15.11"
|
||||||
hash = "sha256-9MXm0TObg6DyqnYMIw3IChrorHc2ILf5djZYoM0e1J0="
|
hash = "sha256-9MXm0TObg6DyqnYMIw3IChrorHc2ILf5djZYoM0e1J0="
|
||||||
[mod."github.com/klauspost/cpuid/v2"]
|
|
||||||
version = "v2.0.9"
|
|
||||||
hash = "sha256-0rHlHzEVaDdkVbRJDhnAJjfJUmAHOYjXN5u7VoCi5uk="
|
|
||||||
[mod."github.com/lib/pq"]
|
[mod."github.com/lib/pq"]
|
||||||
version = "v1.10.6"
|
version = "v1.10.6"
|
||||||
hash = "sha256-8EhFwY/9YH5L/fd6l2beOnC3VvpegRAmCCsnDVJBqBM="
|
hash = "sha256-8EhFwY/9YH5L/fd6l2beOnC3VvpegRAmCCsnDVJBqBM="
|
||||||
@ -410,11 +406,11 @@ schema = 3
|
|||||||
version = "v0.0.5"
|
version = "v0.0.5"
|
||||||
hash = "sha256-/5i70IkH/qSW5KjGzv8aQNKh9tHoz98tqtL0K2DMFn4="
|
hash = "sha256-/5i70IkH/qSW5KjGzv8aQNKh9tHoz98tqtL0K2DMFn4="
|
||||||
[mod."github.com/onsi/ginkgo/v2"]
|
[mod."github.com/onsi/ginkgo/v2"]
|
||||||
version = "v2.5.1"
|
version = "v2.7.0"
|
||||||
hash = "sha256-VB29+H9k7l6il63oXJvsjamSUhsw/e99iI/BeTCderA="
|
hash = "sha256-BKqQKCsPA73FaQwYpAY+QsWFHIncrG5jgRhC2IiNmCk="
|
||||||
[mod."github.com/onsi/gomega"]
|
[mod."github.com/onsi/gomega"]
|
||||||
version = "v1.24.1"
|
version = "v1.25.0"
|
||||||
hash = "sha256-REfxQTDRcO23GnmJfOW8/MmPJf9oE2grVvvGiC1eSbo="
|
hash = "sha256-knaJppfBzKSMD4Gsqzx22SGrti7G5UyDBYrothAqsrs="
|
||||||
[mod."github.com/pelletier/go-toml"]
|
[mod."github.com/pelletier/go-toml"]
|
||||||
version = "v1.9.5"
|
version = "v1.9.5"
|
||||||
hash = "sha256-RJ9K1BTId0Mled7S66iGgxHkZ5JKEIsrrNaEfM8aImc="
|
hash = "sha256-RJ9K1BTId0Mled7S66iGgxHkZ5JKEIsrrNaEfM8aImc="
|
||||||
@ -461,8 +457,8 @@ schema = 3
|
|||||||
version = "v0.9.1"
|
version = "v0.9.1"
|
||||||
hash = "sha256-YLGNrHHM+mN4ElW/XWuylOnFrA/VjSY+eBuC4LN//5c="
|
hash = "sha256-YLGNrHHM+mN4ElW/XWuylOnFrA/VjSY+eBuC4LN//5c="
|
||||||
[mod."github.com/rs/cors"]
|
[mod."github.com/rs/cors"]
|
||||||
version = "v1.8.2"
|
version = "v1.8.3"
|
||||||
hash = "sha256-FxBbQVb8zIoDGGaAJKfsYV0+POkh1tyX7P6A/Lk5Vsc="
|
hash = "sha256-VgVB4HKAhPSjNg96mIEUN1bt5ZQng8Fi3ZABy3CDWQE="
|
||||||
[mod."github.com/rs/zerolog"]
|
[mod."github.com/rs/zerolog"]
|
||||||
version = "v1.27.0"
|
version = "v1.27.0"
|
||||||
hash = "sha256-BxQtP2TROeSSpj9l1irocuSfxn55UL4ugzB/og7r8eE="
|
hash = "sha256-BxQtP2TROeSSpj9l1irocuSfxn55UL4ugzB/og7r8eE="
|
||||||
@ -560,8 +556,8 @@ schema = 3
|
|||||||
version = "v0.0.0-20220722155223-a9213eeb770e"
|
version = "v0.0.0-20220722155223-a9213eeb770e"
|
||||||
hash = "sha256-kNgzydWRpjm0sZl4uXEs3LX5L0xjJtJRAFf/CTlYUN4="
|
hash = "sha256-kNgzydWRpjm0sZl4uXEs3LX5L0xjJtJRAFf/CTlYUN4="
|
||||||
[mod."golang.org/x/net"]
|
[mod."golang.org/x/net"]
|
||||||
version = "v0.4.0"
|
version = "v0.5.0"
|
||||||
hash = "sha256-7IwGZh/xg4mQz88cJio2Ov5d3jGRXKj1itlAja/EAbQ="
|
hash = "sha256-HpbIAiLs7S1+tVsaSSdbCPw1IK43A0bFFuSzPSyjLbo="
|
||||||
[mod."golang.org/x/oauth2"]
|
[mod."golang.org/x/oauth2"]
|
||||||
version = "v0.0.0-20221014153046-6fdb5e3db783"
|
version = "v0.0.0-20221014153046-6fdb5e3db783"
|
||||||
hash = "sha256-IoygidVNqyAZmN+3macDeIefK8hhJToygpcqlwehdYQ="
|
hash = "sha256-IoygidVNqyAZmN+3macDeIefK8hhJToygpcqlwehdYQ="
|
||||||
@ -569,14 +565,14 @@ schema = 3
|
|||||||
version = "v0.1.0"
|
version = "v0.1.0"
|
||||||
hash = "sha256-Hygjq9euZ0qz6TvHYQwOZEjNiTbTh1nSLRAWZ6KFGR8="
|
hash = "sha256-Hygjq9euZ0qz6TvHYQwOZEjNiTbTh1nSLRAWZ6KFGR8="
|
||||||
[mod."golang.org/x/sys"]
|
[mod."golang.org/x/sys"]
|
||||||
version = "v0.3.0"
|
version = "v0.4.0"
|
||||||
hash = "sha256-TIHhfYbZ99sCU1ZMikxwomXH5AEtD/lA1VMMW+UAhbU="
|
hash = "sha256-jchMzHCH5dg+IL/F+LqaX/fyAcB/nvHQpfBjqwaRJH0="
|
||||||
[mod."golang.org/x/term"]
|
[mod."golang.org/x/term"]
|
||||||
version = "v0.3.0"
|
version = "v0.4.0"
|
||||||
hash = "sha256-NKv2o8wz8DB/2W2h/muGEIHb+S06mBXZxhG254RpQ5s="
|
hash = "sha256-wQKxHV10TU4vCU8Re2/hFmAbur/jRWEOB8QXBzgTFNY="
|
||||||
[mod."golang.org/x/text"]
|
[mod."golang.org/x/text"]
|
||||||
version = "v0.5.0"
|
version = "v0.6.0"
|
||||||
hash = "sha256-ztH+xQyM/clOcQl+y/UEPcfNKbc3xApMbEPDDZ9up0o="
|
hash = "sha256-+bpeRWR3relKACdal6NPj+eP5dnWCplTViArSN7/qA4="
|
||||||
[mod."golang.org/x/xerrors"]
|
[mod."golang.org/x/xerrors"]
|
||||||
version = "v0.0.0-20220907171357-04be3eba64a2"
|
version = "v0.0.0-20220907171357-04be3eba64a2"
|
||||||
hash = "sha256-6+zueutgefIYmgXinOflz8qGDDDj0Zhv+2OkGhBTKno="
|
hash = "sha256-6+zueutgefIYmgXinOflz8qGDDDj0Zhv+2OkGhBTKno="
|
||||||
@ -587,11 +583,11 @@ schema = 3
|
|||||||
version = "v1.6.7"
|
version = "v1.6.7"
|
||||||
hash = "sha256-zIxGRHiq4QBvRqkrhMGMGCaVL4iM4TtlYpAi/hrivS4="
|
hash = "sha256-zIxGRHiq4QBvRqkrhMGMGCaVL4iM4TtlYpAi/hrivS4="
|
||||||
[mod."google.golang.org/genproto"]
|
[mod."google.golang.org/genproto"]
|
||||||
version = "v0.0.0-20221116193143-41c2ba794472"
|
version = "v0.0.0-20221118155620-16455021b5e6"
|
||||||
hash = "sha256-uQuxuOvWRsdMii5M5QresisVd1E+Ss8s2WfR2n7QSXk="
|
hash = "sha256-FFSliEzgr7AceO8B+ZoPAlZDFVPLeqAFg+25VQw6cFs="
|
||||||
[mod."google.golang.org/grpc"]
|
[mod."google.golang.org/grpc"]
|
||||||
version = "v1.51.0"
|
version = "v1.52.0"
|
||||||
hash = "sha256-RzH5DU13D/ulxxOouIKpdNt8eHdff7mrEnB+JUupbLU="
|
hash = "sha256-wYJ/ysugKxz1O9u6BxECTIGFJ3sv0XmxOfM+Y0jW3KQ="
|
||||||
[mod."google.golang.org/protobuf"]
|
[mod."google.golang.org/protobuf"]
|
||||||
version = "v1.28.2-0.20220831092852-f930b1dc76e8"
|
version = "v1.28.2-0.20220831092852-f930b1dc76e8"
|
||||||
hash = "sha256-li5hXlXwTJ5LIZ8bVki1AZ6UFI2gXHl33JwdX1dOrtM="
|
hash = "sha256-li5hXlXwTJ5LIZ8bVki1AZ6UFI2gXHl33JwdX1dOrtM="
|
||||||
|
@ -1,3 +1,18 @@
|
|||||||
|
// Copyright 2021 Evmos Foundation
|
||||||
|
// This file is part of Evmos' Ethermint library.
|
||||||
|
//
|
||||||
|
// The Ethermint library is free software: you can redistribute it and/or modify
|
||||||
|
// it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
// the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// (at your option) any later version.
|
||||||
|
//
|
||||||
|
// The Ethermint library is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU Lesser General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU Lesser General Public License
|
||||||
|
// along with the Ethermint library. If not, see https://github.com/evmos/ethermint/blob/main/LICENSE
|
||||||
package indexer
|
package indexer
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
36
init.sh
36
init.sh
@ -106,8 +106,42 @@ laconicd collect-gentxs
|
|||||||
# Run this to ensure everything worked and that the genesis file is setup correctly
|
# Run this to ensure everything worked and that the genesis file is setup correctly
|
||||||
laconicd validate-genesis
|
laconicd validate-genesis
|
||||||
|
|
||||||
|
# disable produce empty block and enable prometheus metrics
|
||||||
|
if [[ "$OSTYPE" == "darwin"* ]]; then
|
||||||
|
sed -i '' 's/create_empty_blocks = true/create_empty_blocks = false/g' $HOME/.ethermintd/config/config.toml
|
||||||
|
sed -i '' 's/prometheus = false/prometheus = true/' $HOME/.ethermintd/config/config.toml
|
||||||
|
sed -i '' 's/prometheus-retention-time = 0/prometheus-retention-time = 1000000000000/g' $HOME/.ethermintd/config/app.toml
|
||||||
|
sed -i '' 's/enabled = false/enabled = true/g' $HOME/.ethermintd/config/app.toml
|
||||||
|
else
|
||||||
|
sed -i 's/create_empty_blocks = true/create_empty_blocks = false/g' $HOME/.ethermintd/config/config.toml
|
||||||
|
sed -i 's/prometheus = false/prometheus = true/' $HOME/.ethermintd/config/config.toml
|
||||||
|
sed -i 's/prometheus-retention-time = "0"/prometheus-retention-time = "1000000000000"/g' $HOME/.ethermintd/config/app.toml
|
||||||
|
sed -i 's/enabled = false/enabled = true/g' $HOME/.ethermintd/config/app.toml
|
||||||
|
fi
|
||||||
|
|
||||||
if [[ $1 == "pending" ]]; then
|
if [[ $1 == "pending" ]]; then
|
||||||
echo "pending mode is on, please wait for the first block committed."
|
echo "pending mode is on, please wait for the first block committed."
|
||||||
|
if [[ $OSTYPE == "darwin"* ]]; then
|
||||||
|
sed -i '' 's/create_empty_blocks_interval = "0s"/create_empty_blocks_interval = "30s"/g' $HOME/.ethermintd/config/config.toml
|
||||||
|
sed -i '' 's/timeout_propose = "3s"/timeout_propose = "30s"/g' $HOME/.ethermintd/config/config.toml
|
||||||
|
sed -i '' 's/timeout_propose_delta = "500ms"/timeout_propose_delta = "5s"/g' $HOME/.ethermintd/config/config.toml
|
||||||
|
sed -i '' 's/timeout_prevote = "1s"/timeout_prevote = "10s"/g' $HOME/.ethermintd/config/config.toml
|
||||||
|
sed -i '' 's/timeout_prevote_delta = "500ms"/timeout_prevote_delta = "5s"/g' $HOME/.ethermintd/config/config.toml
|
||||||
|
sed -i '' 's/timeout_precommit = "1s"/timeout_precommit = "10s"/g' $HOME/.ethermintd/config/config.toml
|
||||||
|
sed -i '' 's/timeout_precommit_delta = "500ms"/timeout_precommit_delta = "5s"/g' $HOME/.ethermintd/config/config.toml
|
||||||
|
sed -i '' 's/timeout_commit = "5s"/timeout_commit = "150s"/g' $HOME/.ethermintd/config/config.toml
|
||||||
|
sed -i '' 's/timeout_broadcast_tx_commit = "10s"/timeout_broadcast_tx_commit = "150s"/g' $HOME/.ethermintd/config/config.toml
|
||||||
|
else
|
||||||
|
sed -i 's/create_empty_blocks_interval = "0s"/create_empty_blocks_interval = "30s"/g' $HOME/.ethermintd/config/config.toml
|
||||||
|
sed -i 's/timeout_propose = "3s"/timeout_propose = "30s"/g' $HOME/.ethermintd/config/config.toml
|
||||||
|
sed -i 's/timeout_propose_delta = "500ms"/timeout_propose_delta = "5s"/g' $HOME/.ethermintd/config/config.toml
|
||||||
|
sed -i 's/timeout_prevote = "1s"/timeout_prevote = "10s"/g' $HOME/.ethermintd/config/config.toml
|
||||||
|
sed -i 's/timeout_prevote_delta = "500ms"/timeout_prevote_delta = "5s"/g' $HOME/.ethermintd/config/config.toml
|
||||||
|
sed -i 's/timeout_precommit = "1s"/timeout_precommit = "10s"/g' $HOME/.ethermintd/config/config.toml
|
||||||
|
sed -i 's/timeout_precommit_delta = "500ms"/timeout_precommit_delta = "5s"/g' $HOME/.ethermintd/config/config.toml
|
||||||
|
sed -i 's/timeout_commit = "5s"/timeout_commit = "150s"/g' $HOME/.ethermintd/config/config.toml
|
||||||
|
sed -i 's/timeout_broadcast_tx_commit = "10s"/timeout_broadcast_tx_commit = "150s"/g' $HOME/.ethermintd/config/config.toml
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Start the node (remove the --pruning=nothing flag if historical queries are not needed)
|
# Start the node (remove the --pruning=nothing flag if historical queries are not needed)
|
||||||
|
@ -61,4 +61,4 @@ in buildGoModule rec {
|
|||||||
license = with licenses; [ lgpl3Plus gpl3Plus ];
|
license = with licenses; [ lgpl3Plus gpl3Plus ];
|
||||||
maintainers = with maintainers; [ adisbladis RaghavSood ];
|
maintainers = with maintainers; [ adisbladis RaghavSood ];
|
||||||
};
|
};
|
||||||
}
|
}
|
@ -2,7 +2,7 @@ version: v1
|
|||||||
plugins:
|
plugins:
|
||||||
- name: gocosmos
|
- name: gocosmos
|
||||||
out: .
|
out: .
|
||||||
opt: plugins=grpc,google/protobuf/duration.proto=google/protobuf/duration.proto=github.com/gogo/protobuf/types,Mgoogle/protobuf/struct.proto=github.com/gogo/protobuf/types,Mgoogle/protobuf/timestamp.proto=github.com/gogo/protobuf/types,Mgoogle/protobuf/wrappers.proto=github.com/gogo/protobuf/types,Mgoogle/protobuf/any.proto=github.com/cosmos/cosmos-sdk/codec/types,Mcosmos/orm/v1alpha1/orm.proto=github.com/cosmos/cosmos-sdk/api/cosmos/orm/v1alpha1
|
opt: plugins=grpc,Mgoogle/protobuf/duration.proto=Mgoogle/protobuf/duration.proto=github.com/gogo/protobuf/types,Mgoogle/protobuf/struct.proto=github.com/gogo/protobuf/types,Mgoogle/protobuf/timestamp.proto=github.com/gogo/protobuf/types,Mgoogle/protobuf/wrappers.proto=github.com/gogo/protobuf/types,Mgoogle/protobuf/any.proto=github.com/cosmos/cosmos-sdk/codec/types,Mcosmos/orm/v1alpha1/orm.proto=github.com/cosmos/cosmos-sdk/api/cosmos/orm/v1alpha1
|
||||||
- name: grpc-gateway
|
- name: grpc-gateway
|
||||||
out: .
|
out: .
|
||||||
opt: logtostderr=true,allow_colon_final_segments=true
|
opt: logtostderr=true,allow_colon_final_segments=true
|
@ -2,7 +2,7 @@ version: v1
|
|||||||
plugins:
|
plugins:
|
||||||
- name: gocosmos
|
- name: gocosmos
|
||||||
out: .
|
out: .
|
||||||
opt: plugins=grpc,google/protobuf/duration.proto=google/protobuf/duration.proto=github.com/gogo/protobuf/types,Mgoogle/protobuf/struct.proto=github.com/gogo/protobuf/types,Mgoogle/protobuf/timestamp.proto=github.com/gogo/protobuf/types,Mgoogle/protobuf/wrappers.proto=github.com/gogo/protobuf/types,Mgoogle/protobuf/any.proto=github.com/cosmos/cosmos-sdk/codec/types,Mcosmos/orm/v1alpha1/orm.proto=github.com/cosmos/cosmos-sdk/api/cosmos/orm/v1alpha1
|
opt: plugins=grpc,Mgoogle/protobuf/duration.proto=Mgoogle/protobuf/duration.proto=github.com/gogo/protobuf/types,Mgoogle/protobuf/struct.proto=github.com/gogo/protobuf/types,Mgoogle/protobuf/timestamp.proto=github.com/gogo/protobuf/types,Mgoogle/protobuf/wrappers.proto=github.com/gogo/protobuf/types,Mgoogle/protobuf/any.proto=github.com/cosmos/cosmos-sdk/codec/types,Mcosmos/orm/v1alpha1/orm.proto=github.com/cosmos/cosmos-sdk/api/cosmos/orm/v1alpha1
|
||||||
- name: grpc-gateway
|
- name: grpc-gateway
|
||||||
out: .
|
out: .
|
||||||
opt: logtostderr=true
|
opt: logtostderr=true
|
||||||
|
44
proto/ethermint/evm/v1/events.proto
Normal file
44
proto/ethermint/evm/v1/events.proto
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
syntax = "proto3";
|
||||||
|
package ethermint.evm.v1;
|
||||||
|
|
||||||
|
option go_package = "github.com/cerc-io/laconicd/x/evm/types";
|
||||||
|
|
||||||
|
// EventEthereumTx defines the event for an Ethereum transaction
|
||||||
|
message EventEthereumTx {
|
||||||
|
// amount
|
||||||
|
string amount = 1;
|
||||||
|
// eth_hash is the Ethereum hash of the transaction
|
||||||
|
string eth_hash = 2;
|
||||||
|
// index of the transaction in the block
|
||||||
|
string index = 3;
|
||||||
|
// gas_used is the amount of gas used by the transaction
|
||||||
|
string gas_used = 4;
|
||||||
|
// hash is the Tendermint hash of the transaction
|
||||||
|
string hash = 5;
|
||||||
|
// recipient of the transaction
|
||||||
|
string recipient = 6;
|
||||||
|
// eth_tx_failed contains a VM error should it occur
|
||||||
|
string eth_tx_failed = 7;
|
||||||
|
}
|
||||||
|
|
||||||
|
// EventTxLog defines the event for an Ethereum transaction log
|
||||||
|
message EventTxLog {
|
||||||
|
// tx_logs is an array of transaction logs
|
||||||
|
repeated string tx_logs = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
// EventMessage
|
||||||
|
message EventMessage {
|
||||||
|
// module which emits the event
|
||||||
|
string module = 1;
|
||||||
|
// sender of the message
|
||||||
|
string sender = 2;
|
||||||
|
// tx_type is the type of the message
|
||||||
|
string tx_type = 3;
|
||||||
|
}
|
||||||
|
|
||||||
|
// EventBlockBloom defines an Ethereum block bloom filter event
|
||||||
|
message EventBlockBloom {
|
||||||
|
// bloom is the bloom filter of the block
|
||||||
|
string bloom = 1;
|
||||||
|
}
|
@ -29,23 +29,23 @@ message ChainConfig {
|
|||||||
// homestead_block switch (nil no fork, 0 = already homestead)
|
// homestead_block switch (nil no fork, 0 = already homestead)
|
||||||
string homestead_block = 1 [
|
string homestead_block = 1 [
|
||||||
(gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Int",
|
(gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Int",
|
||||||
(gogoproto.moretags) = "yaml:\"homestead_block\""
|
(gogoproto.moretags) = "yaml:\"homestead_block\""
|
||||||
];
|
];
|
||||||
// dao_fork_block corresponds to TheDAO hard-fork switch block (nil no fork)
|
// dao_fork_block corresponds to TheDAO hard-fork switch block (nil no fork)
|
||||||
string dao_fork_block = 2 [
|
string dao_fork_block = 2 [
|
||||||
(gogoproto.customname) = "DAOForkBlock",
|
(gogoproto.customname) = "DAOForkBlock",
|
||||||
(gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Int",
|
(gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Int",
|
||||||
(gogoproto.moretags) = "yaml:\"dao_fork_block\""
|
(gogoproto.moretags) = "yaml:\"dao_fork_block\""
|
||||||
];
|
];
|
||||||
// dao_fork_support defines whether the nodes supports or opposes the DAO hard-fork
|
// dao_fork_support defines whether the nodes supports or opposes the DAO hard-fork
|
||||||
bool dao_fork_support = 3
|
bool dao_fork_support = 3
|
||||||
[(gogoproto.customname) = "DAOForkSupport", (gogoproto.moretags) = "yaml:\"dao_fork_support\""];
|
[(gogoproto.customname) = "DAOForkSupport", (gogoproto.moretags) = "yaml:\"dao_fork_support\""];
|
||||||
// eip150_block: EIP150 implements the Gas price changes
|
// eip150_block: EIP150 implements the Gas price changes
|
||||||
// (https://github.com/ethereum/EIPs/issues/150) EIP150 HF block (nil no fork)
|
// (https://github.com/ethereum/EIPs/issues/150) EIP150 HF block (nil no fork)
|
||||||
string eip150_block = 4 [
|
string eip150_block = 4 [
|
||||||
(gogoproto.customname) = "EIP150Block",
|
(gogoproto.customname) = "EIP150Block",
|
||||||
(gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Int",
|
(gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Int",
|
||||||
(gogoproto.moretags) = "yaml:\"eip150_block\""
|
(gogoproto.moretags) = "yaml:\"eip150_block\""
|
||||||
];
|
];
|
||||||
// eip150_hash: EIP150 HF hash (needed for header only clients as only gas pricing changed)
|
// eip150_hash: EIP150 HF hash (needed for header only clients as only gas pricing changed)
|
||||||
string eip150_hash = 5 [(gogoproto.customname) = "EIP150Hash", (gogoproto.moretags) = "yaml:\"byzantium_block\""];
|
string eip150_hash = 5 [(gogoproto.customname) = "EIP150Hash", (gogoproto.moretags) = "yaml:\"byzantium_block\""];
|
||||||
@ -53,43 +53,43 @@ message ChainConfig {
|
|||||||
string eip155_block = 6 [
|
string eip155_block = 6 [
|
||||||
(gogoproto.customname) = "EIP155Block",
|
(gogoproto.customname) = "EIP155Block",
|
||||||
(gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Int",
|
(gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Int",
|
||||||
(gogoproto.moretags) = "yaml:\"eip155_block\""
|
(gogoproto.moretags) = "yaml:\"eip155_block\""
|
||||||
];
|
];
|
||||||
// eip158_block: EIP158 HF block
|
// eip158_block: EIP158 HF block
|
||||||
string eip158_block = 7 [
|
string eip158_block = 7 [
|
||||||
(gogoproto.customname) = "EIP158Block",
|
(gogoproto.customname) = "EIP158Block",
|
||||||
(gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Int",
|
(gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Int",
|
||||||
(gogoproto.moretags) = "yaml:\"eip158_block\""
|
(gogoproto.moretags) = "yaml:\"eip158_block\""
|
||||||
];
|
];
|
||||||
// byzantium_block: Byzantium switch block (nil no fork, 0 = already on byzantium)
|
// byzantium_block: Byzantium switch block (nil no fork, 0 = already on byzantium)
|
||||||
string byzantium_block = 8 [
|
string byzantium_block = 8 [
|
||||||
(gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Int",
|
(gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Int",
|
||||||
(gogoproto.moretags) = "yaml:\"byzantium_block\""
|
(gogoproto.moretags) = "yaml:\"byzantium_block\""
|
||||||
];
|
];
|
||||||
// constantinople_block: Constantinople switch block (nil no fork, 0 = already activated)
|
// constantinople_block: Constantinople switch block (nil no fork, 0 = already activated)
|
||||||
string constantinople_block = 9 [
|
string constantinople_block = 9 [
|
||||||
(gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Int",
|
(gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Int",
|
||||||
(gogoproto.moretags) = "yaml:\"constantinople_block\""
|
(gogoproto.moretags) = "yaml:\"constantinople_block\""
|
||||||
];
|
];
|
||||||
// petersburg_block: Petersburg switch block (nil same as Constantinople)
|
// petersburg_block: Petersburg switch block (nil same as Constantinople)
|
||||||
string petersburg_block = 10 [
|
string petersburg_block = 10 [
|
||||||
(gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Int",
|
(gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Int",
|
||||||
(gogoproto.moretags) = "yaml:\"petersburg_block\""
|
(gogoproto.moretags) = "yaml:\"petersburg_block\""
|
||||||
];
|
];
|
||||||
// istanbul_block: Istanbul switch block (nil no fork, 0 = already on istanbul)
|
// istanbul_block: Istanbul switch block (nil no fork, 0 = already on istanbul)
|
||||||
string istanbul_block = 11 [
|
string istanbul_block = 11 [
|
||||||
(gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Int",
|
(gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Int",
|
||||||
(gogoproto.moretags) = "yaml:\"istanbul_block\""
|
(gogoproto.moretags) = "yaml:\"istanbul_block\""
|
||||||
];
|
];
|
||||||
// muir_glacier_block: Eip-2384 (bomb delay) switch block (nil no fork, 0 = already activated)
|
// muir_glacier_block: Eip-2384 (bomb delay) switch block (nil no fork, 0 = already activated)
|
||||||
string muir_glacier_block = 12 [
|
string muir_glacier_block = 12 [
|
||||||
(gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Int",
|
(gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Int",
|
||||||
(gogoproto.moretags) = "yaml:\"muir_glacier_block\""
|
(gogoproto.moretags) = "yaml:\"muir_glacier_block\""
|
||||||
];
|
];
|
||||||
// berlin_block: Berlin switch block (nil = no fork, 0 = already on berlin)
|
// berlin_block: Berlin switch block (nil = no fork, 0 = already on berlin)
|
||||||
string berlin_block = 13 [
|
string berlin_block = 13 [
|
||||||
(gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Int",
|
(gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Int",
|
||||||
(gogoproto.moretags) = "yaml:\"berlin_block\""
|
(gogoproto.moretags) = "yaml:\"berlin_block\""
|
||||||
];
|
];
|
||||||
// DEPRECATED: EWASM, YOLOV3 and Catalyst block have been deprecated
|
// DEPRECATED: EWASM, YOLOV3 and Catalyst block have been deprecated
|
||||||
reserved 14, 15, 16;
|
reserved 14, 15, 16;
|
||||||
@ -97,12 +97,12 @@ message ChainConfig {
|
|||||||
// london_block: London switch block (nil = no fork, 0 = already on london)
|
// london_block: London switch block (nil = no fork, 0 = already on london)
|
||||||
string london_block = 17 [
|
string london_block = 17 [
|
||||||
(gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Int",
|
(gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Int",
|
||||||
(gogoproto.moretags) = "yaml:\"london_block\""
|
(gogoproto.moretags) = "yaml:\"london_block\""
|
||||||
];
|
];
|
||||||
// arrow_glacier_block: Eip-4345 (bomb delay) switch block (nil = no fork, 0 = already activated)
|
// arrow_glacier_block: Eip-4345 (bomb delay) switch block (nil = no fork, 0 = already activated)
|
||||||
string arrow_glacier_block = 18 [
|
string arrow_glacier_block = 18 [
|
||||||
(gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Int",
|
(gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Int",
|
||||||
(gogoproto.moretags) = "yaml:\"arrow_glacier_block\""
|
(gogoproto.moretags) = "yaml:\"arrow_glacier_block\""
|
||||||
];
|
];
|
||||||
// DEPRECATED: merge fork block was deprecated: https://github.com/ethereum/go-ethereum/pull/24904
|
// DEPRECATED: merge fork block was deprecated: https://github.com/ethereum/go-ethereum/pull/24904
|
||||||
reserved 19;
|
reserved 19;
|
||||||
@ -127,6 +127,16 @@ message ChainConfig {
|
|||||||
(gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Int",
|
(gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Int",
|
||||||
(gogoproto.moretags) = "yaml:\"cancun_block\""
|
(gogoproto.moretags) = "yaml:\"cancun_block\""
|
||||||
];
|
];
|
||||||
|
// shanghai_block switch block (nil = no fork, 0 = already on shanghai)
|
||||||
|
string shanghai_block = 22 [
|
||||||
|
(gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Int",
|
||||||
|
(gogoproto.moretags) = "yaml:\"shanghai_block\""
|
||||||
|
];
|
||||||
|
// cancun_block switch block (nil = no fork, 0 = already on cancun)
|
||||||
|
string cancun_block = 23 [
|
||||||
|
(gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Int",
|
||||||
|
(gogoproto.moretags) = "yaml:\"cancun_block\""
|
||||||
|
];
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -78,7 +78,7 @@ service Query {
|
|||||||
|
|
||||||
// QueryAccountRequest is the request type for the Query/Account RPC method.
|
// QueryAccountRequest is the request type for the Query/Account RPC method.
|
||||||
message QueryAccountRequest {
|
message QueryAccountRequest {
|
||||||
option (gogoproto.equal) = false;
|
option (gogoproto.equal) = false;
|
||||||
option (gogoproto.goproto_getters) = false;
|
option (gogoproto.goproto_getters) = false;
|
||||||
|
|
||||||
// address is the ethereum hex address to query the account for.
|
// address is the ethereum hex address to query the account for.
|
||||||
@ -98,7 +98,7 @@ message QueryAccountResponse {
|
|||||||
// QueryCosmosAccountRequest is the request type for the Query/CosmosAccount RPC
|
// QueryCosmosAccountRequest is the request type for the Query/CosmosAccount RPC
|
||||||
// method.
|
// method.
|
||||||
message QueryCosmosAccountRequest {
|
message QueryCosmosAccountRequest {
|
||||||
option (gogoproto.equal) = false;
|
option (gogoproto.equal) = false;
|
||||||
option (gogoproto.goproto_getters) = false;
|
option (gogoproto.goproto_getters) = false;
|
||||||
|
|
||||||
// address is the ethereum hex address to query the account for.
|
// address is the ethereum hex address to query the account for.
|
||||||
@ -119,7 +119,7 @@ message QueryCosmosAccountResponse {
|
|||||||
// QueryValidatorAccountRequest is the request type for the
|
// QueryValidatorAccountRequest is the request type for the
|
||||||
// Query/ValidatorAccount RPC method.
|
// Query/ValidatorAccount RPC method.
|
||||||
message QueryValidatorAccountRequest {
|
message QueryValidatorAccountRequest {
|
||||||
option (gogoproto.equal) = false;
|
option (gogoproto.equal) = false;
|
||||||
option (gogoproto.goproto_getters) = false;
|
option (gogoproto.goproto_getters) = false;
|
||||||
|
|
||||||
// cons_address is the validator cons address to query the account for.
|
// cons_address is the validator cons address to query the account for.
|
||||||
@ -139,7 +139,7 @@ message QueryValidatorAccountResponse {
|
|||||||
|
|
||||||
// QueryBalanceRequest is the request type for the Query/Balance RPC method.
|
// QueryBalanceRequest is the request type for the Query/Balance RPC method.
|
||||||
message QueryBalanceRequest {
|
message QueryBalanceRequest {
|
||||||
option (gogoproto.equal) = false;
|
option (gogoproto.equal) = false;
|
||||||
option (gogoproto.goproto_getters) = false;
|
option (gogoproto.goproto_getters) = false;
|
||||||
|
|
||||||
// address is the ethereum hex address to query the balance for.
|
// address is the ethereum hex address to query the balance for.
|
||||||
@ -154,7 +154,7 @@ message QueryBalanceResponse {
|
|||||||
|
|
||||||
// QueryStorageRequest is the request type for the Query/Storage RPC method.
|
// QueryStorageRequest is the request type for the Query/Storage RPC method.
|
||||||
message QueryStorageRequest {
|
message QueryStorageRequest {
|
||||||
option (gogoproto.equal) = false;
|
option (gogoproto.equal) = false;
|
||||||
option (gogoproto.goproto_getters) = false;
|
option (gogoproto.goproto_getters) = false;
|
||||||
|
|
||||||
// address is the ethereum hex address to query the storage state for.
|
// address is the ethereum hex address to query the storage state for.
|
||||||
@ -173,7 +173,7 @@ message QueryStorageResponse {
|
|||||||
|
|
||||||
// QueryCodeRequest is the request type for the Query/Code RPC method.
|
// QueryCodeRequest is the request type for the Query/Code RPC method.
|
||||||
message QueryCodeRequest {
|
message QueryCodeRequest {
|
||||||
option (gogoproto.equal) = false;
|
option (gogoproto.equal) = false;
|
||||||
option (gogoproto.goproto_getters) = false;
|
option (gogoproto.goproto_getters) = false;
|
||||||
|
|
||||||
// address is the ethereum hex address to query the code for.
|
// address is the ethereum hex address to query the code for.
|
||||||
@ -189,7 +189,7 @@ message QueryCodeResponse {
|
|||||||
|
|
||||||
// QueryTxLogsRequest is the request type for the Query/TxLogs RPC method.
|
// QueryTxLogsRequest is the request type for the Query/TxLogs RPC method.
|
||||||
message QueryTxLogsRequest {
|
message QueryTxLogsRequest {
|
||||||
option (gogoproto.equal) = false;
|
option (gogoproto.equal) = false;
|
||||||
option (gogoproto.goproto_getters) = false;
|
option (gogoproto.goproto_getters) = false;
|
||||||
|
|
||||||
// hash is the ethereum transaction hex hash to query the logs for.
|
// hash is the ethereum transaction hex hash to query the logs for.
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
syntax = "proto3";
|
syntax = "proto3";
|
||||||
package ethermint.evm.v1;
|
package ethermint.evm.v1;
|
||||||
|
|
||||||
|
import "cosmos/msg/v1/msg.proto";
|
||||||
import "cosmos_proto/cosmos.proto";
|
import "cosmos_proto/cosmos.proto";
|
||||||
import "ethermint/evm/v1/evm.proto";
|
import "ethermint/evm/v1/evm.proto";
|
||||||
import "gogoproto/gogo.proto";
|
import "gogoproto/gogo.proto";
|
||||||
@ -15,6 +16,9 @@ service Msg {
|
|||||||
rpc EthereumTx(MsgEthereumTx) returns (MsgEthereumTxResponse) {
|
rpc EthereumTx(MsgEthereumTx) returns (MsgEthereumTxResponse) {
|
||||||
option (google.api.http).post = "/ethermint/evm/v1/ethereum_tx";
|
option (google.api.http).post = "/ethermint/evm/v1/ethereum_tx";
|
||||||
};
|
};
|
||||||
|
// UpdateParams defined a governance operation for updating the x/evm module parameters.
|
||||||
|
// The authority is hard-coded to the Cosmos SDK x/gov module account
|
||||||
|
rpc UpdateParams(MsgUpdateParams) returns (MsgUpdateParamsResponse);
|
||||||
}
|
}
|
||||||
|
|
||||||
// MsgEthereumTx encapsulates an Ethereum transaction as an SDK message.
|
// MsgEthereumTx encapsulates an Ethereum transaction as an SDK message.
|
||||||
@ -38,7 +42,7 @@ message MsgEthereumTx {
|
|||||||
// NOTE: All non-protected transactions (i.e non EIP155 signed) will fail if the
|
// NOTE: All non-protected transactions (i.e non EIP155 signed) will fail if the
|
||||||
// AllowUnprotectedTxs parameter is disabled.
|
// AllowUnprotectedTxs parameter is disabled.
|
||||||
message LegacyTx {
|
message LegacyTx {
|
||||||
option (gogoproto.goproto_getters) = false;
|
option (gogoproto.goproto_getters) = false;
|
||||||
option (cosmos_proto.implements_interface) = "TxData";
|
option (cosmos_proto.implements_interface) = "TxData";
|
||||||
|
|
||||||
// nonce corresponds to the account nonce (transaction sequence).
|
// nonce corresponds to the account nonce (transaction sequence).
|
||||||
@ -64,14 +68,14 @@ message LegacyTx {
|
|||||||
|
|
||||||
// AccessListTx is the data of EIP-2930 access list transactions.
|
// AccessListTx is the data of EIP-2930 access list transactions.
|
||||||
message AccessListTx {
|
message AccessListTx {
|
||||||
option (gogoproto.goproto_getters) = false;
|
option (gogoproto.goproto_getters) = false;
|
||||||
option (cosmos_proto.implements_interface) = "TxData";
|
option (cosmos_proto.implements_interface) = "TxData";
|
||||||
|
|
||||||
// chain_id of the destination EVM chain
|
// chain_id of the destination EVM chain
|
||||||
string chain_id = 1 [
|
string chain_id = 1 [
|
||||||
(gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Int",
|
(gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Int",
|
||||||
(gogoproto.customname) = "ChainID",
|
(gogoproto.customname) = "ChainID",
|
||||||
(gogoproto.jsontag) = "chainID"
|
(gogoproto.jsontag) = "chainID"
|
||||||
];
|
];
|
||||||
// nonce corresponds to the account nonce (transaction sequence).
|
// nonce corresponds to the account nonce (transaction sequence).
|
||||||
uint64 nonce = 2;
|
uint64 nonce = 2;
|
||||||
@ -99,14 +103,14 @@ message AccessListTx {
|
|||||||
|
|
||||||
// DynamicFeeTx is the data of EIP-1559 dinamic fee transactions.
|
// DynamicFeeTx is the data of EIP-1559 dinamic fee transactions.
|
||||||
message DynamicFeeTx {
|
message DynamicFeeTx {
|
||||||
option (gogoproto.goproto_getters) = false;
|
option (gogoproto.goproto_getters) = false;
|
||||||
option (cosmos_proto.implements_interface) = "TxData";
|
option (cosmos_proto.implements_interface) = "TxData";
|
||||||
|
|
||||||
// chain_id of the destination EVM chain
|
// chain_id of the destination EVM chain
|
||||||
string chain_id = 1 [
|
string chain_id = 1 [
|
||||||
(gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Int",
|
(gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Int",
|
||||||
(gogoproto.customname) = "ChainID",
|
(gogoproto.customname) = "ChainID",
|
||||||
(gogoproto.jsontag) = "chainID"
|
(gogoproto.jsontag) = "chainID"
|
||||||
];
|
];
|
||||||
// nonce corresponds to the account nonce (transaction sequence).
|
// nonce corresponds to the account nonce (transaction sequence).
|
||||||
uint64 nonce = 2;
|
uint64 nonce = 2;
|
||||||
@ -158,3 +162,19 @@ message MsgEthereumTxResponse {
|
|||||||
// gas_used specifies how much gas was consumed by the transaction
|
// gas_used specifies how much gas was consumed by the transaction
|
||||||
uint64 gas_used = 5;
|
uint64 gas_used = 5;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// MsgUpdateParams defines a Msg for updating the x/evm module parameters.
|
||||||
|
message MsgUpdateParams {
|
||||||
|
option (cosmos.msg.v1.signer) = "authority";
|
||||||
|
|
||||||
|
// authority is the address of the governance account.
|
||||||
|
string authority = 1 [(cosmos_proto.scalar) = "cosmos.AddressString"];
|
||||||
|
|
||||||
|
// params defines the x/evm parameters to update.
|
||||||
|
// NOTE: All parameters must be supplied.
|
||||||
|
Params params = 2 [(gogoproto.nullable) = false];
|
||||||
|
}
|
||||||
|
|
||||||
|
// MsgUpdateParamsResponse defines the response structure for executing a
|
||||||
|
// MsgUpdateParams message.
|
||||||
|
message MsgUpdateParamsResponse {}
|
||||||
|
18
proto/ethermint/feemarket/v1/events.proto
Normal file
18
proto/ethermint/feemarket/v1/events.proto
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
syntax = "proto3";
|
||||||
|
package ethermint.feemarket.v1;
|
||||||
|
|
||||||
|
option go_package = "github.com/cerc-io/laconicd/x/feemarket/types";
|
||||||
|
|
||||||
|
// EventFeeMarket is the event type for the fee market module
|
||||||
|
message EventFeeMarket {
|
||||||
|
// base_fee for EIP-1559 blocks
|
||||||
|
string base_fee = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
// EventBlockGas defines an Ethereum block gas event
|
||||||
|
message EventBlockGas {
|
||||||
|
// height of the block
|
||||||
|
string height = 1;
|
||||||
|
// amount of gas wanted by the block
|
||||||
|
string amount = 2;
|
||||||
|
}
|
@ -8,7 +8,7 @@ option go_package = "github.com/cerc-io/laconicd/x/feemarket/types";
|
|||||||
|
|
||||||
// GenesisState defines the feemarket module's genesis state.
|
// GenesisState defines the feemarket module's genesis state.
|
||||||
message GenesisState {
|
message GenesisState {
|
||||||
// params defines all the paramaters of the module.
|
// params defines all the parameters of the feemarket module.
|
||||||
Params params = 1 [(gogoproto.nullable) = false];
|
Params params = 1 [(gogoproto.nullable) = false];
|
||||||
// DEPRECATED: base fee is the exported value from previous software version.
|
// DEPRECATED: base fee is the exported value from previous software version.
|
||||||
// Zero by default.
|
// Zero by default.
|
||||||
|
30
proto/ethermint/feemarket/v1/tx.proto
Normal file
30
proto/ethermint/feemarket/v1/tx.proto
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
syntax = "proto3";
|
||||||
|
package ethermint.feemarket.v1;
|
||||||
|
|
||||||
|
import "cosmos/msg/v1/msg.proto";
|
||||||
|
import "cosmos_proto/cosmos.proto";
|
||||||
|
import "ethermint/feemarket/v1/feemarket.proto";
|
||||||
|
import "gogoproto/gogo.proto";
|
||||||
|
|
||||||
|
option go_package = "github.com/cerc-io/laconicd/x/feemarket/types";
|
||||||
|
|
||||||
|
// Msg defines the erc20 Msg service.
|
||||||
|
service Msg {
|
||||||
|
// UpdateParams defined a governance operation for updating the x/feemarket module parameters.
|
||||||
|
// The authority is hard-coded to the Cosmos SDK x/gov module account
|
||||||
|
rpc UpdateParams(MsgUpdateParams) returns (MsgUpdateParamsResponse);
|
||||||
|
}
|
||||||
|
|
||||||
|
// MsgUpdateParams defines a Msg for updating the x/feemarket module parameters.
|
||||||
|
message MsgUpdateParams {
|
||||||
|
option (cosmos.msg.v1.signer) = "authority";
|
||||||
|
// authority is the address of the governance account.
|
||||||
|
string authority = 1 [(cosmos_proto.scalar) = "cosmos.AddressString"];
|
||||||
|
// params defines the x/feemarket parameters to update.
|
||||||
|
// NOTE: All parameters must be supplied.
|
||||||
|
Params params = 2 [(gogoproto.nullable) = false];
|
||||||
|
}
|
||||||
|
|
||||||
|
// MsgUpdateParamsResponse defines the response structure for executing a
|
||||||
|
// MsgUpdateParams message.
|
||||||
|
message MsgUpdateParamsResponse {}
|
@ -10,9 +10,9 @@ option go_package = "github.com/cerc-io/laconicd/types";
|
|||||||
// EthAccount implements the authtypes.AccountI interface and embeds an
|
// EthAccount implements the authtypes.AccountI interface and embeds an
|
||||||
// authtypes.BaseAccount type. It is compatible with the auth AccountKeeper.
|
// authtypes.BaseAccount type. It is compatible with the auth AccountKeeper.
|
||||||
message EthAccount {
|
message EthAccount {
|
||||||
option (gogoproto.goproto_getters) = false;
|
option (gogoproto.goproto_getters) = false;
|
||||||
option (gogoproto.goproto_stringer) = false;
|
option (gogoproto.goproto_stringer) = false;
|
||||||
option (gogoproto.equal) = false;
|
option (gogoproto.equal) = false;
|
||||||
|
|
||||||
option (cosmos_proto.implements_interface) = "github.com/cosmos/cosmos-sdk/x/auth/types.AccountI";
|
option (cosmos_proto.implements_interface) = "github.com/cosmos/cosmos-sdk/x/auth/types.AccountI";
|
||||||
|
|
||||||
|
@ -5,9 +5,9 @@ import "gogoproto/gogo.proto";
|
|||||||
|
|
||||||
option go_package = "github.com/cerc-io/laconicd/types";
|
option go_package = "github.com/cerc-io/laconicd/types";
|
||||||
|
|
||||||
// ExtensionOptionDynamicFeeTx is an extension option that specify the maxPrioPrice for cosmos tx
|
// ExtensionOptionDynamicFeeTx is an extension option that specifies the maxPrioPrice for cosmos tx
|
||||||
message ExtensionOptionDynamicFeeTx {
|
message ExtensionOptionDynamicFeeTx {
|
||||||
// the same as `max_priority_fee_per_gas` in eip-1559 spec
|
// max_priority_price is the same as `max_priority_fee_per_gas` in eip-1559 spec
|
||||||
string max_priority_price = 1
|
string max_priority_price = 1
|
||||||
[(gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Int", (gogoproto.nullable) = false];
|
[(gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Int", (gogoproto.nullable) = false];
|
||||||
}
|
}
|
||||||
|
17
rpc/apis.go
17
rpc/apis.go
@ -1,5 +1,18 @@
|
|||||||
// Package rpc contains RPC handler methods and utilities to start
|
// Copyright 2021 Evmos Foundation
|
||||||
// Ethermint's Web3-compatibly JSON-RPC server.
|
// This file is part of Evmos' Ethermint library.
|
||||||
|
//
|
||||||
|
// The Ethermint library is free software: you can redistribute it and/or modify
|
||||||
|
// it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
// the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// (at your option) any later version.
|
||||||
|
//
|
||||||
|
// The Ethermint library is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU Lesser General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU Lesser General Public License
|
||||||
|
// along with the Ethermint library. If not, see https://github.com/evmos/ethermint/blob/main/LICENSE
|
||||||
package rpc
|
package rpc
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
@ -1,3 +1,18 @@
|
|||||||
|
// Copyright 2021 Evmos Foundation
|
||||||
|
// This file is part of Evmos' Ethermint library.
|
||||||
|
//
|
||||||
|
// The Ethermint library is free software: you can redistribute it and/or modify
|
||||||
|
// it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
// the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// (at your option) any later version.
|
||||||
|
//
|
||||||
|
// The Ethermint library is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU Lesser General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU Lesser General Public License
|
||||||
|
// along with the Ethermint library. If not, see https://github.com/evmos/ethermint/blob/main/LICENSE
|
||||||
package backend
|
package backend
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
@ -1,3 +1,18 @@
|
|||||||
|
// Copyright 2021 Evmos Foundation
|
||||||
|
// This file is part of Evmos' Ethermint library.
|
||||||
|
//
|
||||||
|
// The Ethermint library is free software: you can redistribute it and/or modify
|
||||||
|
// it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
// the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// (at your option) any later version.
|
||||||
|
//
|
||||||
|
// The Ethermint library is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU Lesser General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU Lesser General Public License
|
||||||
|
// along with the Ethermint library. If not, see https://github.com/evmos/ethermint/blob/main/LICENSE
|
||||||
package backend
|
package backend
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
@ -89,7 +89,6 @@ func (suite *BackendTestSuite) SetupTest() {
|
|||||||
// Add codec
|
// Add codec
|
||||||
encCfg := encoding.MakeConfig(app.ModuleBasics)
|
encCfg := encoding.MakeConfig(app.ModuleBasics)
|
||||||
suite.backend.clientCtx.Codec = encCfg.Codec
|
suite.backend.clientCtx.Codec = encCfg.Codec
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// buildEthereumTx returns an example legacy Ethereum transaction
|
// buildEthereumTx returns an example legacy Ethereum transaction
|
||||||
|
@ -1,3 +1,18 @@
|
|||||||
|
// Copyright 2021 Evmos Foundation
|
||||||
|
// This file is part of Evmos' Ethermint library.
|
||||||
|
//
|
||||||
|
// The Ethermint library is free software: you can redistribute it and/or modify
|
||||||
|
// it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
// the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// (at your option) any later version.
|
||||||
|
//
|
||||||
|
// The Ethermint library is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU Lesser General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU Lesser General Public License
|
||||||
|
// along with the Ethermint library. If not, see https://github.com/evmos/ethermint/blob/main/LICENSE
|
||||||
package backend
|
package backend
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
@ -1,3 +1,18 @@
|
|||||||
|
// Copyright 2021 Evmos Foundation
|
||||||
|
// This file is part of Evmos' Ethermint library.
|
||||||
|
//
|
||||||
|
// The Ethermint library is free software: you can redistribute it and/or modify
|
||||||
|
// it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
// the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// (at your option) any later version.
|
||||||
|
//
|
||||||
|
// The Ethermint library is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU Lesser General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU Lesser General Public License
|
||||||
|
// along with the Ethermint library. If not, see https://github.com/evmos/ethermint/blob/main/LICENSE
|
||||||
package backend
|
package backend
|
||||||
|
|
||||||
import (
|
import (
|
||||||
@ -16,6 +31,7 @@ import (
|
|||||||
"github.com/ethereum/go-ethereum/common"
|
"github.com/ethereum/go-ethereum/common"
|
||||||
"github.com/ethereum/go-ethereum/common/hexutil"
|
"github.com/ethereum/go-ethereum/common/hexutil"
|
||||||
ethtypes "github.com/ethereum/go-ethereum/core/types"
|
ethtypes "github.com/ethereum/go-ethereum/core/types"
|
||||||
|
|
||||||
"github.com/ethereum/go-ethereum/core/vm"
|
"github.com/ethereum/go-ethereum/core/vm"
|
||||||
"github.com/pkg/errors"
|
"github.com/pkg/errors"
|
||||||
"google.golang.org/grpc/codes"
|
"google.golang.org/grpc/codes"
|
||||||
|
@ -489,5 +489,4 @@ func (suite *BackendTestSuite) TestGasPrice() {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1,3 +1,18 @@
|
|||||||
|
// Copyright 2021 Evmos Foundation
|
||||||
|
// This file is part of Evmos' Ethermint library.
|
||||||
|
//
|
||||||
|
// The Ethermint library is free software: you can redistribute it and/or modify
|
||||||
|
// it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
// the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// (at your option) any later version.
|
||||||
|
//
|
||||||
|
// The Ethermint library is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU Lesser General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU Lesser General Public License
|
||||||
|
// along with the Ethermint library. If not, see https://github.com/evmos/ethermint/blob/main/LICENSE
|
||||||
package backend
|
package backend
|
||||||
|
|
||||||
import (
|
import (
|
||||||
@ -146,41 +161,42 @@ func (b *Backend) FeeHistory(
|
|||||||
) (*rpctypes.FeeHistoryResult, error) {
|
) (*rpctypes.FeeHistoryResult, error) {
|
||||||
blockEnd := int64(lastBlock)
|
blockEnd := int64(lastBlock)
|
||||||
|
|
||||||
if blockEnd <= 0 {
|
if blockEnd < 0 {
|
||||||
blockNumber, err := b.BlockNumber()
|
blockNumber, err := b.BlockNumber()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
blockEnd = int64(blockNumber)
|
blockEnd = int64(blockNumber)
|
||||||
}
|
}
|
||||||
userBlockCountInt := int64(userBlockCount)
|
|
||||||
|
blocks := int64(userBlockCount)
|
||||||
maxBlockCount := int64(b.cfg.JSONRPC.FeeHistoryCap)
|
maxBlockCount := int64(b.cfg.JSONRPC.FeeHistoryCap)
|
||||||
if userBlockCountInt > maxBlockCount {
|
if blocks > maxBlockCount {
|
||||||
return nil, fmt.Errorf("FeeHistory user block count %d higher than %d", userBlockCountInt, maxBlockCount)
|
return nil, fmt.Errorf("FeeHistory user block count %d higher than %d", blocks, maxBlockCount)
|
||||||
}
|
|
||||||
blockStart := blockEnd - userBlockCountInt
|
|
||||||
if blockStart < 0 {
|
|
||||||
blockStart = 0
|
|
||||||
}
|
}
|
||||||
|
|
||||||
blockCount := blockEnd - blockStart
|
if blockEnd+1 < blocks {
|
||||||
|
blocks = blockEnd + 1
|
||||||
|
}
|
||||||
|
// Ensure not trying to retrieve before genesis.
|
||||||
|
blockStart := blockEnd + 1 - blocks
|
||||||
oldestBlock := (*hexutil.Big)(big.NewInt(blockStart))
|
oldestBlock := (*hexutil.Big)(big.NewInt(blockStart))
|
||||||
|
|
||||||
// prepare space
|
// prepare space
|
||||||
reward := make([][]*hexutil.Big, blockCount)
|
reward := make([][]*hexutil.Big, blocks)
|
||||||
rewardCount := len(rewardPercentiles)
|
rewardCount := len(rewardPercentiles)
|
||||||
for i := 0; i < int(blockCount); i++ {
|
for i := 0; i < int(blocks); i++ {
|
||||||
reward[i] = make([]*hexutil.Big, rewardCount)
|
reward[i] = make([]*hexutil.Big, rewardCount)
|
||||||
}
|
}
|
||||||
thisBaseFee := make([]*hexutil.Big, blockCount)
|
|
||||||
thisGasUsedRatio := make([]float64, blockCount)
|
thisBaseFee := make([]*hexutil.Big, blocks+1)
|
||||||
|
thisGasUsedRatio := make([]float64, blocks)
|
||||||
|
|
||||||
// rewards should only be calculated if reward percentiles were included
|
// rewards should only be calculated if reward percentiles were included
|
||||||
calculateRewards := rewardCount != 0
|
calculateRewards := rewardCount != 0
|
||||||
|
|
||||||
// fetch block
|
// fetch block
|
||||||
for blockID := blockStart; blockID < blockEnd; blockID++ {
|
for blockID := blockStart; blockID <= blockEnd; blockID++ {
|
||||||
index := int32(blockID - blockStart)
|
index := int32(blockID - blockStart)
|
||||||
// tendermint block
|
// tendermint block
|
||||||
tendermintblock, err := b.TendermintBlockByNumber(rpctypes.BlockNumber(blockID))
|
tendermintblock, err := b.TendermintBlockByNumber(rpctypes.BlockNumber(blockID))
|
||||||
@ -209,6 +225,7 @@ func (b *Backend) FeeHistory(
|
|||||||
|
|
||||||
// copy
|
// copy
|
||||||
thisBaseFee[index] = (*hexutil.Big)(oneFeeHistory.BaseFee)
|
thisBaseFee[index] = (*hexutil.Big)(oneFeeHistory.BaseFee)
|
||||||
|
thisBaseFee[index+1] = (*hexutil.Big)(oneFeeHistory.NextBaseFee)
|
||||||
thisGasUsedRatio[index] = oneFeeHistory.GasUsedRatio
|
thisGasUsedRatio[index] = oneFeeHistory.GasUsedRatio
|
||||||
if calculateRewards {
|
if calculateRewards {
|
||||||
for j := 0; j < rewardCount; j++ {
|
for j := 0; j < rewardCount; j++ {
|
||||||
|
@ -165,7 +165,6 @@ func (suite *BackendTestSuite) TestChainId() {
|
|||||||
var header metadata.MD
|
var header metadata.MD
|
||||||
queryClient := suite.backend.queryClient.QueryClient.(*mocks.EVMQueryClient)
|
queryClient := suite.backend.queryClient.QueryClient.(*mocks.EVMQueryClient)
|
||||||
RegisterParamsInvalidHeight(queryClient, &header, int64(1))
|
RegisterParamsInvalidHeight(queryClient, &header, int64(1))
|
||||||
|
|
||||||
},
|
},
|
||||||
expChainId,
|
expChainId,
|
||||||
true,
|
true,
|
||||||
@ -338,7 +337,7 @@ func (suite *BackendTestSuite) TestFeeHistory() {
|
|||||||
RegisterParamsError(queryClient, &header, ethrpc.BlockNumber(1).Int64())
|
RegisterParamsError(queryClient, &header, ethrpc.BlockNumber(1).Int64())
|
||||||
},
|
},
|
||||||
1,
|
1,
|
||||||
0,
|
-1,
|
||||||
nil,
|
nil,
|
||||||
nil,
|
nil,
|
||||||
false,
|
false,
|
||||||
@ -352,7 +351,7 @@ func (suite *BackendTestSuite) TestFeeHistory() {
|
|||||||
RegisterParams(queryClient, &header, ethrpc.BlockNumber(1).Int64())
|
RegisterParams(queryClient, &header, ethrpc.BlockNumber(1).Int64())
|
||||||
},
|
},
|
||||||
1,
|
1,
|
||||||
0,
|
-1,
|
||||||
nil,
|
nil,
|
||||||
nil,
|
nil,
|
||||||
false,
|
false,
|
||||||
@ -387,7 +386,7 @@ func (suite *BackendTestSuite) TestFeeHistory() {
|
|||||||
{
|
{
|
||||||
"fail - Invalid base fee",
|
"fail - Invalid base fee",
|
||||||
func(validator sdk.AccAddress) {
|
func(validator sdk.AccAddress) {
|
||||||
//baseFee := sdk.NewInt(1)
|
// baseFee := sdk.NewInt(1)
|
||||||
queryClient := suite.backend.queryClient.QueryClient.(*mocks.EVMQueryClient)
|
queryClient := suite.backend.queryClient.QueryClient.(*mocks.EVMQueryClient)
|
||||||
client := suite.backend.clientCtx.Client.(*mocks.Client)
|
client := suite.backend.clientCtx.Client.(*mocks.Client)
|
||||||
suite.backend.cfg.JSONRPC.FeeHistoryCap = 2
|
suite.backend.cfg.JSONRPC.FeeHistoryCap = 2
|
||||||
@ -406,6 +405,7 @@ func (suite *BackendTestSuite) TestFeeHistory() {
|
|||||||
{
|
{
|
||||||
"pass - Valid FeeHistoryResults object",
|
"pass - Valid FeeHistoryResults object",
|
||||||
func(validator sdk.AccAddress) {
|
func(validator sdk.AccAddress) {
|
||||||
|
var header metadata.MD
|
||||||
baseFee := sdk.NewInt(1)
|
baseFee := sdk.NewInt(1)
|
||||||
queryClient := suite.backend.queryClient.QueryClient.(*mocks.EVMQueryClient)
|
queryClient := suite.backend.queryClient.QueryClient.(*mocks.EVMQueryClient)
|
||||||
client := suite.backend.clientCtx.Client.(*mocks.Client)
|
client := suite.backend.clientCtx.Client.(*mocks.Client)
|
||||||
@ -415,12 +415,14 @@ func (suite *BackendTestSuite) TestFeeHistory() {
|
|||||||
RegisterBaseFee(queryClient, baseFee)
|
RegisterBaseFee(queryClient, baseFee)
|
||||||
RegisterValidatorAccount(queryClient, validator)
|
RegisterValidatorAccount(queryClient, validator)
|
||||||
RegisterConsensusParams(client, 1)
|
RegisterConsensusParams(client, 1)
|
||||||
|
RegisterParams(queryClient, &header, 1)
|
||||||
|
RegisterParamsWithoutHeader(queryClient, 1)
|
||||||
},
|
},
|
||||||
1,
|
1,
|
||||||
1,
|
1,
|
||||||
&rpc.FeeHistoryResult{
|
&rpc.FeeHistoryResult{
|
||||||
OldestBlock: (*hexutil.Big)(big.NewInt(0)),
|
OldestBlock: (*hexutil.Big)(big.NewInt(1)),
|
||||||
BaseFee: []*hexutil.Big{(*hexutil.Big)(big.NewInt(1))},
|
BaseFee: []*hexutil.Big{(*hexutil.Big)(big.NewInt(1)), (*hexutil.Big)(big.NewInt(1))},
|
||||||
GasUsedRatio: []float64{0},
|
GasUsedRatio: []float64{0},
|
||||||
Reward: [][]*hexutil.Big{{(*hexutil.Big)(big.NewInt(0)), (*hexutil.Big)(big.NewInt(0)), (*hexutil.Big)(big.NewInt(0)), (*hexutil.Big)(big.NewInt(0))}},
|
Reward: [][]*hexutil.Big{{(*hexutil.Big)(big.NewInt(0)), (*hexutil.Big)(big.NewInt(0)), (*hexutil.Big)(big.NewInt(0)), (*hexutil.Big)(big.NewInt(0))}},
|
||||||
},
|
},
|
||||||
|
@ -1,3 +1,18 @@
|
|||||||
|
// Copyright 2021 Evmos Foundation
|
||||||
|
// This file is part of Evmos' Ethermint library.
|
||||||
|
//
|
||||||
|
// The Ethermint library is free software: you can redistribute it and/or modify
|
||||||
|
// it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
// the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// (at your option) any later version.
|
||||||
|
//
|
||||||
|
// The Ethermint library is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU Lesser General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU Lesser General Public License
|
||||||
|
// along with the Ethermint library. If not, see https://github.com/evmos/ethermint/blob/main/LICENSE
|
||||||
package backend
|
package backend
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
@ -12,7 +12,6 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
func (suite *BackendTestSuite) TestGetLogs() {
|
func (suite *BackendTestSuite) TestGetLogs() {
|
||||||
|
|
||||||
_, bz := suite.buildEthereumTx()
|
_, bz := suite.buildEthereumTx()
|
||||||
block := tmtypes.MakeBlock(1, []tmtypes.Tx{bz}, nil, nil)
|
block := tmtypes.MakeBlock(1, []tmtypes.Tx{bz}, nil, nil)
|
||||||
logs := make([]*evmtypes.Log, 0, 1)
|
logs := make([]*evmtypes.Log, 0, 1)
|
||||||
|
@ -1,3 +1,18 @@
|
|||||||
|
// Copyright 2021 Evmos Foundation
|
||||||
|
// This file is part of Evmos' Ethermint library.
|
||||||
|
//
|
||||||
|
// The Ethermint library is free software: you can redistribute it and/or modify
|
||||||
|
// it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
// the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// (at your option) any later version.
|
||||||
|
//
|
||||||
|
// The Ethermint library is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU Lesser General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU Lesser General Public License
|
||||||
|
// along with the Ethermint library. If not, see https://github.com/evmos/ethermint/blob/main/LICENSE
|
||||||
package backend
|
package backend
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
@ -191,7 +191,6 @@ func (suite *BackendTestSuite) TestSyncing() {
|
|||||||
RegisterStatus(client)
|
RegisterStatus(client)
|
||||||
status, _ := client.Status(suite.backend.ctx)
|
status, _ := client.Status(suite.backend.ctx)
|
||||||
status.SyncInfo.CatchingUp = true
|
status.SyncInfo.CatchingUp = true
|
||||||
|
|
||||||
},
|
},
|
||||||
map[string]interface{}{
|
map[string]interface{}{
|
||||||
"startingBlock": hexutil.Uint64(0),
|
"startingBlock": hexutil.Uint64(0),
|
||||||
@ -255,7 +254,7 @@ func (suite *BackendTestSuite) TestSetEtherbase() {
|
|||||||
c := sdk.NewDecCoin("aphoton", sdk.NewIntFromBigInt(big.NewInt(1)))
|
c := sdk.NewDecCoin("aphoton", sdk.NewIntFromBigInt(big.NewInt(1)))
|
||||||
suite.backend.cfg.SetMinGasPrices(sdk.DecCoins{c})
|
suite.backend.cfg.SetMinGasPrices(sdk.DecCoins{c})
|
||||||
delAddr, _ := suite.backend.GetCoinbase()
|
delAddr, _ := suite.backend.GetCoinbase()
|
||||||
//account, _ := suite.backend.clientCtx.AccountRetriever.GetAccount(suite.backend.clientCtx, delAddr)
|
// account, _ := suite.backend.clientCtx.AccountRetriever.GetAccount(suite.backend.clientCtx, delAddr)
|
||||||
delCommonAddr := common.BytesToAddress(delAddr.Bytes())
|
delCommonAddr := common.BytesToAddress(delAddr.Bytes())
|
||||||
request := &authtypes.QueryAccountRequest{Address: sdk.AccAddress(delCommonAddr.Bytes()).String()}
|
request := &authtypes.QueryAccountRequest{Address: sdk.AccAddress(delCommonAddr.Bytes()).String()}
|
||||||
requestMarshal, _ := request.Marshal()
|
requestMarshal, _ := request.Marshal()
|
||||||
|
@ -1,3 +1,18 @@
|
|||||||
|
// Copyright 2021 Evmos Foundation
|
||||||
|
// This file is part of Evmos' Ethermint library.
|
||||||
|
//
|
||||||
|
// The Ethermint library is free software: you can redistribute it and/or modify
|
||||||
|
// it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
// the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// (at your option) any later version.
|
||||||
|
//
|
||||||
|
// The Ethermint library is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU Lesser General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU Lesser General Public License
|
||||||
|
// along with the Ethermint library. If not, see https://github.com/evmos/ethermint/blob/main/LICENSE
|
||||||
package backend
|
package backend
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
@ -1,3 +1,18 @@
|
|||||||
|
// Copyright 2021 Evmos Foundation
|
||||||
|
// This file is part of Evmos' Ethermint library.
|
||||||
|
//
|
||||||
|
// The Ethermint library is free software: you can redistribute it and/or modify
|
||||||
|
// it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
// the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// (at your option) any later version.
|
||||||
|
//
|
||||||
|
// The Ethermint library is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU Lesser General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU Lesser General Public License
|
||||||
|
// along with the Ethermint library. If not, see https://github.com/evmos/ethermint/blob/main/LICENSE
|
||||||
package backend
|
package backend
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
@ -80,7 +80,7 @@ func (suite *BackendTestSuite) TestTraceTransaction() {
|
|||||||
{
|
{
|
||||||
"fail - block not found",
|
"fail - block not found",
|
||||||
func() {
|
func() {
|
||||||
//var header metadata.MD
|
// var header metadata.MD
|
||||||
client := suite.backend.clientCtx.Client.(*mocks.Client)
|
client := suite.backend.clientCtx.Client.(*mocks.Client)
|
||||||
RegisterBlockError(client, 1)
|
RegisterBlockError(client, 1)
|
||||||
},
|
},
|
||||||
@ -224,7 +224,6 @@ func (suite *BackendTestSuite) TestTraceBlock() {
|
|||||||
func() {
|
func() {
|
||||||
queryClient := suite.backend.queryClient.QueryClient.(*mocks.EVMQueryClient)
|
queryClient := suite.backend.queryClient.QueryClient.(*mocks.EVMQueryClient)
|
||||||
RegisterTraceBlock(queryClient, []*evmtypes.MsgEthereumTx{msgEthTx})
|
RegisterTraceBlock(queryClient, []*evmtypes.MsgEthereumTx{msgEthTx})
|
||||||
|
|
||||||
},
|
},
|
||||||
[]*evmtypes.TxTraceResult{},
|
[]*evmtypes.TxTraceResult{},
|
||||||
&resBlockFilled,
|
&resBlockFilled,
|
||||||
|
@ -1,3 +1,18 @@
|
|||||||
|
// Copyright 2021 Evmos Foundation
|
||||||
|
// This file is part of Evmos' Ethermint library.
|
||||||
|
//
|
||||||
|
// The Ethermint library is free software: you can redistribute it and/or modify
|
||||||
|
// it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
// the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// (at your option) any later version.
|
||||||
|
//
|
||||||
|
// The Ethermint library is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU Lesser General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU Lesser General Public License
|
||||||
|
// along with the Ethermint library. If not, see https://github.com/evmos/ethermint/blob/main/LICENSE
|
||||||
package backend
|
package backend
|
||||||
|
|
||||||
import (
|
import (
|
||||||
@ -11,6 +26,7 @@ import (
|
|||||||
"github.com/ethereum/go-ethereum/common"
|
"github.com/ethereum/go-ethereum/common"
|
||||||
"github.com/ethereum/go-ethereum/common/hexutil"
|
"github.com/ethereum/go-ethereum/common/hexutil"
|
||||||
ethtypes "github.com/ethereum/go-ethereum/core/types"
|
ethtypes "github.com/ethereum/go-ethereum/core/types"
|
||||||
|
|
||||||
"github.com/ethereum/go-ethereum/crypto"
|
"github.com/ethereum/go-ethereum/crypto"
|
||||||
"github.com/pkg/errors"
|
"github.com/pkg/errors"
|
||||||
tmrpctypes "github.com/tendermint/tendermint/rpc/core/types"
|
tmrpctypes "github.com/tendermint/tendermint/rpc/core/types"
|
||||||
|
@ -555,7 +555,6 @@ func (suite *BackendTestSuite) TestGetTransactionReceipt() {
|
|||||||
RegisterParamsWithoutHeader(queryClient, 1)
|
RegisterParamsWithoutHeader(queryClient, 1)
|
||||||
RegisterBlock(client, 1, txBz)
|
RegisterBlock(client, 1, txBz)
|
||||||
RegisterBlockResults(client, 1)
|
RegisterBlockResults(client, 1)
|
||||||
|
|
||||||
},
|
},
|
||||||
msgEthereumTx,
|
msgEthereumTx,
|
||||||
&types.Block{Header: types.Header{Height: 1}, Data: types.Data{Txs: []types.Tx{txBz}}},
|
&types.Block{Header: types.Header{Height: 1}, Data: types.Data{Txs: []types.Tx{txBz}}},
|
||||||
|
@ -1,3 +1,18 @@
|
|||||||
|
// Copyright 2021 Evmos Foundation
|
||||||
|
// This file is part of Evmos' Ethermint library.
|
||||||
|
//
|
||||||
|
// The Ethermint library is free software: you can redistribute it and/or modify
|
||||||
|
// it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
// the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// (at your option) any later version.
|
||||||
|
//
|
||||||
|
// The Ethermint library is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU Lesser General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU Lesser General Public License
|
||||||
|
// along with the Ethermint library. If not, see https://github.com/evmos/ethermint/blob/main/LICENSE
|
||||||
package backend
|
package backend
|
||||||
|
|
||||||
import (
|
import (
|
||||||
@ -15,6 +30,7 @@ import (
|
|||||||
|
|
||||||
"github.com/ethereum/go-ethereum/common"
|
"github.com/ethereum/go-ethereum/common"
|
||||||
"github.com/ethereum/go-ethereum/common/hexutil"
|
"github.com/ethereum/go-ethereum/common/hexutil"
|
||||||
|
"github.com/ethereum/go-ethereum/consensus/misc"
|
||||||
ethtypes "github.com/ethereum/go-ethereum/core/types"
|
ethtypes "github.com/ethereum/go-ethereum/core/types"
|
||||||
|
|
||||||
abci "github.com/tendermint/tendermint/abci/types"
|
abci "github.com/tendermint/tendermint/abci/types"
|
||||||
@ -117,7 +133,12 @@ func (b *Backend) processBlock(
|
|||||||
|
|
||||||
// set basefee
|
// set basefee
|
||||||
targetOneFeeHistory.BaseFee = blockBaseFee
|
targetOneFeeHistory.BaseFee = blockBaseFee
|
||||||
|
cfg := b.ChainConfig()
|
||||||
|
if cfg.IsLondon(big.NewInt(blockHeight + 1)) {
|
||||||
|
targetOneFeeHistory.NextBaseFee = misc.CalcBaseFee(cfg, b.CurrentHeader())
|
||||||
|
} else {
|
||||||
|
targetOneFeeHistory.NextBaseFee = new(big.Int)
|
||||||
|
}
|
||||||
// set gas used ratio
|
// set gas used ratio
|
||||||
gasLimitUint64, ok := (*ethBlock)["gasLimit"].(hexutil.Uint64)
|
gasLimitUint64, ok := (*ethBlock)["gasLimit"].(hexutil.Uint64)
|
||||||
if !ok {
|
if !ok {
|
||||||
|
10
rpc/doc.go
10
rpc/doc.go
@ -1,10 +0,0 @@
|
|||||||
// Package rpc contains RPC handler methods, namespaces and utilities to start
|
|
||||||
// Ethermint's Web3-compatible JSON-RPC server.
|
|
||||||
//
|
|
||||||
// The list of available namespaces are:
|
|
||||||
//
|
|
||||||
// * `rpc/namespaces/eth`: `eth` namespace. Exposes the `PublicEthereumAPI` and the `PublicFilterAPI`.
|
|
||||||
// * `rpc/namespaces/personal`: `personal` namespace. Exposes the `PrivateAccountAPI`.
|
|
||||||
// * `rpc/namespaces/net`: `net` namespace. Exposes the `PublicNetAPI`.
|
|
||||||
// * `rpc/namespaces/web3`: `web3` namespace. Exposes the `PublicWeb3API`
|
|
||||||
package rpc
|
|
@ -1,3 +1,18 @@
|
|||||||
|
// Copyright 2021 Evmos Foundation
|
||||||
|
// This file is part of Evmos' Ethermint library.
|
||||||
|
//
|
||||||
|
// The Ethermint library is free software: you can redistribute it and/or modify
|
||||||
|
// it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
// the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// (at your option) any later version.
|
||||||
|
//
|
||||||
|
// The Ethermint library is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU Lesser General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU Lesser General Public License
|
||||||
|
// along with the Ethermint library. If not, see https://github.com/evmos/ethermint/blob/main/LICENSE
|
||||||
package pubsub
|
package pubsub
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
@ -1,3 +1,18 @@
|
|||||||
|
// Copyright 2021 Evmos Foundation
|
||||||
|
// This file is part of Evmos' Ethermint library.
|
||||||
|
//
|
||||||
|
// The Ethermint library is free software: you can redistribute it and/or modify
|
||||||
|
// it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
// the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// (at your option) any later version.
|
||||||
|
//
|
||||||
|
// The Ethermint library is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU Lesser General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU Lesser General Public License
|
||||||
|
// along with the Ethermint library. If not, see https://github.com/evmos/ethermint/blob/main/LICENSE
|
||||||
package debug
|
package debug
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
@ -1,3 +1,18 @@
|
|||||||
|
// Copyright 2021 Evmos Foundation
|
||||||
|
// This file is part of Evmos' Ethermint library.
|
||||||
|
//
|
||||||
|
// The Ethermint library is free software: you can redistribute it and/or modify
|
||||||
|
// it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
// the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// (at your option) any later version.
|
||||||
|
//
|
||||||
|
// The Ethermint library is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU Lesser General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU Lesser General Public License
|
||||||
|
// along with the Ethermint library. If not, see https://github.com/evmos/ethermint/blob/main/LICENSE
|
||||||
package debug
|
package debug
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
@ -1,3 +1,18 @@
|
|||||||
|
// Copyright 2021 Evmos Foundation
|
||||||
|
// This file is part of Evmos' Ethermint library.
|
||||||
|
//
|
||||||
|
// The Ethermint library is free software: you can redistribute it and/or modify
|
||||||
|
// it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
// the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// (at your option) any later version.
|
||||||
|
//
|
||||||
|
// The Ethermint library is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU Lesser General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU Lesser General Public License
|
||||||
|
// along with the Ethermint library. If not, see https://github.com/evmos/ethermint/blob/main/LICENSE
|
||||||
package eth
|
package eth
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
@ -1,3 +1,18 @@
|
|||||||
|
// Copyright 2021 Evmos Foundation
|
||||||
|
// This file is part of Evmos' Ethermint library.
|
||||||
|
//
|
||||||
|
// The Ethermint library is free software: you can redistribute it and/or modify
|
||||||
|
// it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
// the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// (at your option) any later version.
|
||||||
|
//
|
||||||
|
// The Ethermint library is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU Lesser General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU Lesser General Public License
|
||||||
|
// along with the Ethermint library. If not, see https://github.com/evmos/ethermint/blob/main/LICENSE
|
||||||
package filters
|
package filters
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
@ -1,3 +1,18 @@
|
|||||||
|
// Copyright 2021 Evmos Foundation
|
||||||
|
// This file is part of Evmos' Ethermint library.
|
||||||
|
//
|
||||||
|
// The Ethermint library is free software: you can redistribute it and/or modify
|
||||||
|
// it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
// the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// (at your option) any later version.
|
||||||
|
//
|
||||||
|
// The Ethermint library is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU Lesser General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU Lesser General Public License
|
||||||
|
// along with the Ethermint library. If not, see https://github.com/evmos/ethermint/blob/main/LICENSE
|
||||||
package filters
|
package filters
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
@ -1,3 +1,18 @@
|
|||||||
|
// Copyright 2021 Evmos Foundation
|
||||||
|
// This file is part of Evmos' Ethermint library.
|
||||||
|
//
|
||||||
|
// The Ethermint library is free software: you can redistribute it and/or modify
|
||||||
|
// it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
// the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// (at your option) any later version.
|
||||||
|
//
|
||||||
|
// The Ethermint library is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU Lesser General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU Lesser General Public License
|
||||||
|
// along with the Ethermint library. If not, see https://github.com/evmos/ethermint/blob/main/LICENSE
|
||||||
package filters
|
package filters
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
@ -1,3 +1,18 @@
|
|||||||
|
// Copyright 2021 Evmos Foundation
|
||||||
|
// This file is part of Evmos' Ethermint library.
|
||||||
|
//
|
||||||
|
// The Ethermint library is free software: you can redistribute it and/or modify
|
||||||
|
// it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
// the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// (at your option) any later version.
|
||||||
|
//
|
||||||
|
// The Ethermint library is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU Lesser General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU Lesser General Public License
|
||||||
|
// along with the Ethermint library. If not, see https://github.com/evmos/ethermint/blob/main/LICENSE
|
||||||
package filters
|
package filters
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
@ -1,3 +1,18 @@
|
|||||||
|
// Copyright 2021 Evmos Foundation
|
||||||
|
// This file is part of Evmos' Ethermint library.
|
||||||
|
//
|
||||||
|
// The Ethermint library is free software: you can redistribute it and/or modify
|
||||||
|
// it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
// the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// (at your option) any later version.
|
||||||
|
//
|
||||||
|
// The Ethermint library is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU Lesser General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU Lesser General Public License
|
||||||
|
// along with the Ethermint library. If not, see https://github.com/evmos/ethermint/blob/main/LICENSE
|
||||||
package filters
|
package filters
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
@ -1,3 +1,18 @@
|
|||||||
|
// Copyright 2021 Evmos Foundation
|
||||||
|
// This file is part of Evmos' Ethermint library.
|
||||||
|
//
|
||||||
|
// The Ethermint library is free software: you can redistribute it and/or modify
|
||||||
|
// it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
// the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// (at your option) any later version.
|
||||||
|
//
|
||||||
|
// The Ethermint library is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU Lesser General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU Lesser General Public License
|
||||||
|
// along with the Ethermint library. If not, see https://github.com/evmos/ethermint/blob/main/LICENSE
|
||||||
package miner
|
package miner
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user