Skip to content

Commit

Permalink
enable adr 038 state listening (#786)
Browse files Browse the repository at this point in the history
* add java distribution (#625) (#628)

* add java distribution

* update changelog

* Backport scope/attributes, gov deposit, and java distribution changes (#636)

* add java distribution (#625)

* add java distribution

* update changelog

* Update gov module deposit requirements and add msg fee (#633)

* add deposit and msg fee updates for gov in upgrade

* changelog

* Allow attributes to be associated with scopes. (#634)

* [631]: Update NewAttribute to take in a string instead of an AccAddress.

* [631]: Update Attribute.ValidateBasic() to allow the address to be a scope metadata address.

* [631]: Update NewMsgAddAttributeRequest to take in a string for the account instead of an AccAddress in order to allow for scope metadata addresses.

* [631]: Update NewMsgUpdateAttributeRequest to take in a string for the account instead of an AccAddress in order to allow for scope metadata addresses.

* [631]: Update the attribute keeper methods to treat the Address as a string instead of AccAddress to allow it to be a scope metadata address.

* [631]: Update the attribute keys methods to not rely on the address being an account address.

* [631]: Lint fixes.

* [631]: Lint fixes in main that make lint is complaining about.

* [631]: Add changelog entry.

* [631]: Add some stuff that was missed like the delete messages and some extra context on returned errors.

* Fix message breaking unit test

Co-authored-by: Derek Adams <dadams@figure.com>
Co-authored-by: Derek Adams <derek.adams@sitewhere.com>
Co-authored-by: Ira Miller <72319+iramiller@users.noreply.github.com>

Co-authored-by: Ergels Gaxhaj <87285445+egaxhaj-figure@users.noreply.github.com>
Co-authored-by: Daniel Wedul <72031080+dwedul-figure@users.noreply.github.com>
Co-authored-by: Derek Adams <dadams@figure.com>
Co-authored-by: Derek Adams <derek.adams@sitewhere.com>

* Add msgfees module to added store upgrades (#638)

* Add msgfees to store added upgrades

* Add changelog entry

* 614 proto binding support with buf build (#630) (#641)

* 614 proto binding support with buf build (#630)

* initial attemp at using buf.build

* buf.build stuff

* buf workflow

* trigger on PR for testing

* fix breaking for third_party

* use existing workflow

* updated proto steps

* changelog entry

* fix bug with proto-all

* update proto script and protos

* update proto-all task

* fix typo

* fix bug with proto binding release version & combine workflows

* add protoBinding build step to release.yml workflow

* missed in git add on last commit

* fix lint errors

* fix buf braking

* fix for incorrect line endings (#644)

* add needs: build_init (#646) (#647)

* Add base denom to nhash, Add change log (#649)

* Fix maven publish release version reference (#652)

* fix release version reference

* update changelog

* Bump cosmwasm from v1.0.0-beta5 to v1.0.0-beta6 (#656)

* Bump cosmwasm from v1.0.0-beta5 to v1.0.0-beta6, Add change log entry

* Add dockerfile cosmoswasm v1.0.0-beta5 direct download and validation

* Revert dockerfile changes

* Port iterator fix to v1.8 (#660)

* Add iterator as a feature to wasm

* new upgrade handler hazel. (#661)

* remove v from artifact version (#654) (#657)

* remove v from artifact version

* update changelog

* Fix contract address length support (#663)

* Change go.mod to use wasmd fork to support old address length

* Linked issue

* adding upgrade handler indigo. (#665)

* adding upgrade handler indigo.

* Go lint fixes (#698)

Upgrade golangci-lint and fix lint errors

* backport tx gas limits #681 (#704)

* backport: In release 1.8(not yet in mainnet), floor gas price should … (#705)

* backport: In release 1.8(not yet in mainnet), floor gas price should be checked for all Tx's ( currently only being checked for Tx which have additional Msg Fee),closes: #684

* fix owner array initialization size when creating scope mutation message from wasm contracts

* Simulation tests for smart contracts (#673)

* simulation tests are running

* fixed record issue

* Add smart contract to github actions testing

* fixed determinism test

* cleanup

* make format

* cleanup

* make format

* lint changes

* more lint fixes

* fix tests

* reordered sims tests

* working on import tests

* fixed tests

* cleanup

* add changelog

* fix test name

* make format

* update linter

* lint error

* fix append errors

* lint fixes

* update lint version

* print line numbers

* use verbose output

* use work around for linter

* reverted name change

* more clenaup

* nolint comments

* more nolint comments

* updated linter for kErr

* update golint version

* nolint for gosec

* make format

* remove unused consts

* nolint cleanups

* make format

* update action version

* revert action change

* Add jasmine upgrade handler (#713)

* Skip max gas fees if tx contains MsgSubmitProposal msg (#711)

* Add jasmine upgrade handler

* Adjustments for v1.8.0 release (#717)

* pre rc10 (new handler, gas fee 15/blk, ante reorder)

Co-authored-by: arnabmitra <arnabmitra.mitra@gmail.com>

* Use go version 1.17 for the lint action. (#725)

* Use provwasm release artifact for smart contract tests (#732)

* Add script to download latest provwasm smart contract and require it in tests

* cleanup and changelog

* Bump IBC to v2.2.0 and update github actions. (#734)

* Update the github workflows with version changes that were made to master.

* Bump ibc-go to v2.2.0 (from v2.0.2). This change has already been made in master, just bringing it in here too.

* Update the CHANGELOG to reflect the 1.8.0 release. (#764)

* Updates required for Cosmos SDK 0.45.3 and ADR-038 (#782)

* updates required for cosmos sdk upgrade

* improve changelog

* improve issue description

* enable adr 038 state listening

* fix goimports lint error

* panic on error

* v1.0.0-beta4 not yet released

* copy missing mk file

* update changelog

* Fix import missed during merge.

* Remove duplicate TestSimple that was accidentally added during the merge.

* Switch the new TestAppStateDeterminismWithStateListening to use the new PrintConfig and PrintStats funcs.

* Fix another bad merge thing.

* Update the download_smart_contracts.sh script with the correct version.

* Revert "Update the download_smart_contracts.sh script with the correct version."

This reverts commit ad2c890.

Turns out beta3 is correct.

Co-authored-by: Ira Miller <72319+iramiller@users.noreply.github.com>
Co-authored-by: Daniel Wedul <72031080+dwedul-figure@users.noreply.github.com>
Co-authored-by: Derek Adams <dadams@figure.com>
Co-authored-by: Derek Adams <derek.adams@sitewhere.com>
Co-authored-by: Carlton Hanna <73041609+channa-figure@users.noreply.github.com>
Co-authored-by: fkneeland-figure <86616427+fkneeland-figure@users.noreply.github.com>
Co-authored-by: Arnab Mitra <arnabmitra.mitra@gmail.com>
Co-authored-by: Ken Talley <ktalley@figure.com>
Co-authored-by: Ken Talley <76671864+ktalley-figure@users.noreply.github.com>
Co-authored-by: Daniel Wedul <dwedul@figure.com>
  • Loading branch information
11 people committed Apr 22, 2022
1 parent 9a64f95 commit 9b81e75
Show file tree
Hide file tree
Showing 11 changed files with 408 additions and 2 deletions.
3 changes: 3 additions & 0 deletions .github/workflows/sims.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,9 @@ jobs:
- name: Define file prefix
id: file-prefix
run: echo "::set-output name=file-prefix::sim-test-${GITHUB_SHA:0:7}-${GITHUB_RUN_ATTEMPT}"
- name: Update provwasm contract
run: |
make download-smart-contracts
outputs:
should-run: ${{ env.GIT_DIFF }}
file-prefix: ${{ steps.file-prefix.outputs.file-prefix }}
Expand Down
21 changes: 20 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@ Ref: https://keepachangelog.com/en/1.0.0/
* Adds home subcommand to the cli's config command [#620] (https://github.com/provenance-io/provenance/issues/620)
* Add support for rocksdb and badgerdb [#702](https://github.com/provenance-io/provenance/issues/702)
* Create `dbmigrate` utility for migrating a data folder to use a different db backend [#696](https://github.com/provenance-io/provenance/issues/696)
* Enable ADR-038 State Listening [#785](https://github.com/provenance-io/provenance/issues/785)

### Improvements

Expand All @@ -52,9 +53,26 @@ Ref: https://keepachangelog.com/en/1.0.0/
* Set prerelease to `true` for release candidates. [#666](https://github.com/provenance-io/provenance/issues/666)
* Allow authz grants to work on scope value owners [#755](https://github.com/provenance-io/provenance/issues/755)

## [v1.8.1](https://github.com/provenance-io/provenance/releases/tag/v1.8.1) - 2022-04-13

### Summary

Provenance 1.8.1 includes upgrades to the underlying Cosmos SDK and adds initial support for ADR-038.

This release addresses issues related to IAVL concurrency and Tendermint performance that resulted in occasional panics when under high-load conditions such as replay from quicksync. In particular, nodes which experienced issues with "Value missing for hash" and similar panic conditions should work properly with this release. The underlying Cosmos SDK `0.45.3` release that has been incorporated includes a number of improvements around IAVL locking and performance characteristics.

** NOTE: Although Provenance supports multiple database backends, some issues have been reported when using the `goleveldb` backend. If experiencing issues, using the `cleveldb` backend is preferred **

### Improvements

* Update Provenance to use Cosmos SDK 0.45.3 Release [\#781](https://github.com/provenance-io/provenance/issues/781)
* Plugin architecture for ADR-038 + FileStreamingService plugin [\#10639](https://github.com/cosmos/cosmos-sdk/pull/10639)
* Fix for sporadic error "panic: Value missing for hash" [\#611](https://github.com/provenance-io/provenance/issues/611)

## [v1.8.0](https://github.com/provenance-io/provenance/releases/tag/v1.8.0) - 2022-03-17

## Summary
### Summary

Provenance 1.8.0 is focused on improving the fee structures for transactions on the blockchain. While the Cosmos SDK has traditionally offered a generic fee structure focused on gas/resource utilization, the Provenance blockchain has found that certain transactions have additional long term costs and value beyond simple resources charges. This is the reason we are adding the new MsgFee module which allows governance based control of additional fee charges on certain message types.

NOTE: The second major change in the 1.8.0 release is part of the migration process which removes many orphaned state objects that were left in 1.7.x chains. This cleanup process will require a significant amount of time to perform during the green upgrade handler execution. The upgrade will print status messages showing the progress of this process.
Expand Down Expand Up @@ -91,6 +109,7 @@ NOTE: The second major change in the 1.8.0 release is part of the migration proc
* `provenance.metadata.v1.MsgWriteScopeRequest` 10 hash (10,000,000,000 nhash)
* `provenance.metadata.v1.MsgP8eMemorializeContractRequest` 10 hash (10,000,000,000 nhash)
* Add integration tests for smart contracts [#392](https://github.com/provenance-io/provenance/issues/392)
* Use provwasm release artifact for smart contract tests [#731](https://github.com/provenance-io/provenance/issues/731)

### Client Breaking

Expand Down
3 changes: 3 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -382,6 +382,9 @@ validate-go-version: ## Validates the installed version of go against Provenance
exit 1; \
fi

download-smart-contracts:
./scripts/download_smart_contracts.sh

##############################
### Test
##############################
Expand Down
30 changes: 30 additions & 0 deletions app/app.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,16 @@ package app

import (
"encoding/json"
"fmt"
"io"
"net/http"
"os"
"path/filepath"
"strings"
"sync"

"github.com/cosmos/cosmos-sdk/plugin"
"github.com/cosmos/cosmos-sdk/plugin/loader"
"github.com/gorilla/mux"
"github.com/rakyll/statik/fs"
"github.com/spf13/cast"
Expand Down Expand Up @@ -329,6 +333,32 @@ func New(
tkeys := sdk.NewTransientStoreKeys(paramstypes.TStoreKey)
memKeys := sdk.NewMemoryStoreKeys(capabilitytypes.MemStoreKey)

pluginsOnKey := fmt.Sprintf("%s.%s", plugin.PLUGINS_TOML_KEY, plugin.PLUGINS_ON_TOML_KEY)
if cast.ToBool(appOpts.Get(pluginsOnKey)) {
// this loads the preloaded and any plugins found in `plugins.dir`
// if their names match those in the `plugins.enabled` list.
pluginLoader, err := loader.NewPluginLoader(appOpts, logger)
if err != nil {
panic("error while loading plugin: " + err.Error())
}

// initialize the loaded plugins
if err := pluginLoader.Initialize(); err != nil {
panic("error while initializing plugin: " + err.Error())
}

// register the plugin(s) with the BaseApp
if err := pluginLoader.Inject(bApp, appCodec, keys); err != nil {
panic("error while injecting plugin: " + err.Error())
}

// start the plugin services, optionally use wg to synchronize shutdown using io.Closer
wg := new(sync.WaitGroup)
if err := pluginLoader.Start(wg); err != nil {
panic("error while starting plugin: " + err.Error())
}
}

app := &App{
BaseApp: bApp,
legacyAmino: legacyAmino,
Expand Down
Loading

0 comments on commit 9b81e75

Please sign in to comment.