Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Transaction size restrictions #681

Closed
4 tasks
iramiller opened this issue Feb 24, 2022 · 1 comment · Fixed by #683
Closed
4 tasks

Transaction size restrictions #681

iramiller opened this issue Feb 24, 2022 · 1 comment · Fixed by #683
Labels
bug Something isn't working
Milestone

Comments

@iramiller
Copy link
Member

Summary

Currently the blockchain has very high limits for full block size (21MB, 60M gas on mainnet and 21MB, no gas limit on testnet). In addition there is no limit on the number of message or the amount of gas spent within a single transaction. There should be more reasonable limits set on both of these values

Problem Definition

Without limits on transactions a single one can take up an entire block. In addition the resource consumption for a single block is high enough to prevent smooth operation of the network.

Proposal

Update an upgrade proposal within the 1.8.0-RC framework that lowers the block size limit and enforces a maximum amount of gas per block. In addition modify the antehandler such that a single tx can account for no more than 50% of a given block's resources.

For reference:

// Osmosis
"max_bytes": "5242880",
"max_gas": "6000000",
// Cosmos Hub
"max_bytes": "200000",
"max_gas": "2000000",
// Provenance
"max_bytes": "22020096",
"max_gas": "60000000",

For Admin Use

  • Not duplicate issue
  • Appropriate labels applied
  • Appropriate contributors tagged
  • Contributor assigned/self-assigned
@iramiller iramiller added this to the v1.8.0 milestone Feb 24, 2022
@iramiller iramiller added the bug Something isn't working label Feb 24, 2022
@iramiller
Copy link
Member Author

iramiller commented Feb 24, 2022

Roughly the following for the consensus params

params := app.GetConsensusParams(ctx)
params.Block.MaxBytes = 1024 * 1024 * 5 // 5MB
params.Block.MaxGas = 30_000_000        // note that 5MB for a block represents ~52M gas @ 10 per byte.
app.StoreConsensusParams(ctx, params)

iramiller added a commit that referenced this issue Mar 2, 2022
iramiller added a commit that referenced this issue Mar 2, 2022
dwedul-figure added a commit that referenced this issue Mar 16, 2022
* 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

* fix lint errors and run make format.

* 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>

* Add some underscores to a couple large numbers.

Co-authored-by: Ergels Gaxhaj <87285445+egaxhaj-figure@users.noreply.github.com>
Co-authored-by: Ira Miller <72319+iramiller@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>
dwedul-figure added a commit that referenced this issue Apr 21, 2022
* Fix the db location strings.

* Fix missed copied items and make directories as needed.

* lint fixes.

* Add badgerdb build tag.

* Add some TODO notes.

* 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

* Update gitignore to not ignore the cmd/dbmigrate/utils directory.

* Refactor the migrator a bit to work off an object instead of passing all those args around all the time.

* Update GetDataDirContents to handle badgerdb database directories too.

* Add some unit tests to the migrator.

* Switch Cosmos-SDK to v0.45.0-pio-2 (from v0.45.0-pio-1).

* Remove the setting of types.DBBackend from the Makefile.

* Use the same db backend as all the others for the snapshots.

* Badgerdb keeps empty values as nil, but the other dbs don't like that, so make sure the value being set is never nil.

* Lint fixes.

* 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.

* adding RELEASE_CHANGELOG

* Prevent the start command from printing usage when there's an error.

* Delete the RELEASE_CHANGELOG.md that was merged in with the 1.8.0-rc8 stuff.

* Add some documentation about building provenanced.

* Link to the new Building doc from the main README.

* Update the Building docs to include a blurb about dbmigrate.

* Clear out viper before updating the config in order to prevent undesirable changes (e.g. from a log_level flag or some env var or something).

* Remove the log_level and log_format flags from the dbmigrate command, and allow the control of those through env vars prefixed with DBM. This is so that the log_level and log_format config values aren't accidentally changed when updating the config for the db value. It also makes it so that the dbmigrate utility doesn't use the values from the config files, which are designed for a daemon rather than a one-off program. Basically, if the config has log_level = error, I still want dbmigrate to output what it's doing. But I also want to allow control of the output of dbmigrate.

* lint fix.

* Add the ldflags and cgoflags to the dbmigrate build. Also add a dbmigrate install target.

* Bring the CHANGLOG back in-line with main.

* Add progress update log messages to dbmigrator.

* 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

* [696]: Write batches once they get to be a certain size. Add a flag for controlling that size.

* Add the extra stuff to the final writing batch log entry.

* Add an error catch that was missing.

* Add status logging every 250,000 entries so that large batches don't appear stuck. Also, if batch size is 0, just do it all in one batch.

* Add the run duration to the final log output.

* Output a summary when done migrating and move the timing into the migration rather than the whole command.

* Add jasmine upgrade handler (#713)

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

* Add jasmine upgrade handler

* Adjust log messages to make them look cleaner and do some signal stuff to log a message on interrupt or error that the (possibly large) staging directory still exists.

* Add panic recovery to Migrate and make it's receiver a reference so that the start and finish times are later available.

* Lint fixes.

* make format.

* Instead of basing the logged status messages on entries, make it happen every 10 seconds.

* Change the default batch size to 0 since they don't seem to help too much.

* Make things more resiliant in order to always show the error message about the staging dir.

* Remove trapping of SIGKILL since staticcheck says it can't be trapped.

* Change the default batch size to 8 gigs. Trying to put 60 gigs in memory doesn't work too well.

* Stop notifications to the signal once one has been received.

* Some cleanup and reorganization of MigrateDBDir. Also add a different status message to output during writes (e.g. on slow disks).

* Stop the tickers first during the MigrateDBDir defer and add some comments about the ordering.

* Add ability to provide the staging directory. Overhaul some stuff to make it clearer and easier to manage. Move the UpdateConfig stuff out of the Migrator leaving only DB stuff in there. Add a ticker around the directory renames (since they might take a long time if on different drives). Get rid of SetUpMigrator and just split out funcs for ApplyDefaults ValidateBasic and ReadSourceDataDir.

* Make DirDateFormat a field in the Migrator rather than a constant.

* Some comment updates. Also, only try to read the source data dir if that field has a value, and also run ValidateBasic at the start of Migrate.

* Lint fixes

* fix lint errors and run make format.

* Fix the staging data diretory default (forgot the sprintf). Add a ticker for setup since on my external hard drive, the setup part was taking a minute or so.

* Fix the starting new batch log entry to have the proper entries.

* Remove the SourceDBType variable and detect the db type based on the files. This will allow something with multiple different source db types to migrate (although only to a single new one). Also do some cleanup, removing doubled logic and moving some stuff into the migrator that's very db specitic. If a request is made to migrate a db to it's current type, just copy it. Aloways use cleveldb instead of goleveldb for actual leveldb interaction.

* Add a flag that makes the migrator stop after the migration/copy and not move the data dirs around, and not update the config.

* Fix the db type detection and write some tests.

* Forgot to short curcuit the config update with the --stage-only flag. Fixed that now.

* Fix extra import in a test.

* 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>

* Fix stage-only to output the summary still and also fix the numbers on the starting new batch log message.

* Reverse the loop in GetDataDirContents to hopefully cut down on start-up time.

* Update some logging and show the run time more often.

* More logging tweaks to more regularly show the run time. Also include the source type in the summary messages.

* Add an action string to the log messages to give more info on where things get stuck. Also fix the run time formatting.

* Rephrase the setting key/value action.

* Put the action in the message string instead of as a key/value.

* Create a migrationManager and move the status logging and signal capturing stuff into that. This allows some cleanup of duplicated stuff and also makes the status logger run the whole time (not just during the single db migration).

* Just a couple comment tweaks.

* Make the possible dbs list work off of the build tags.

* Enable boltdb support.

* Add the source db types back into the name of the backup.

* Make the lint use go version 1.17.

* Update the migrator test to fix the clevel one and add a golevel one.

* Fix a couple error messages and also mask the mode for the permissions.

* Add a bunch of unit tests.

* gofmt the new stuff.

* Turn off boltdb support by default since it isn't really viable for us to use.

* Rename build_and_install_rocksdb.sh to rocksdb_build_and_install.sh so that it starts with the word people will be thinking of when trying to find that script. Also overhaul it a bit. The jobs can no longer be provided as a CLI arugment. Added env vars to allow building/installing the static library and/or shared library (was previously just the shared lib). Added env var to prevent end-of-run cleanup. Updated anything that used that stuff accordingly.

* Rename the LEDGER_ENABLED variable to WITH_LEDGER to match the naming of the other such feature variables.

* Make some more stuff in the Makefile customizeable from outside of the file. Should make it easier to test things before updating the Makefile.

* Remove a couple ldflags that I had added in an attempt to create a statically linked binary (would include wasmvm, leveldb, and rocksdb all in one).

* Remove the leveldb and rocksdb stuff from the MacOS release build. That can be added back in if we get around to building provenanced statatically (or we decide to just make people install those libraries).

* Remove duplicate setting of UNAME_S in Makefile.

* Add a build.yml workflow in order to test the builds that I've changed.

* Fix syntax error.

* Remove the gon tap from the osx build. For some reason, brew tap mitchellh/gon failed.

* add --allow-releaseinfo-change to apt-get update because it's complaining about a 'Conflicting distribution: https://packages.microsoft.com/ubuntu/20.04/prod focal InRelease (expected focal but got testing)'. And maybe that'll fix it.

* Remove the --allow-releaseinfo-change flags. it didn't work. It gives a similar complaint except fails because the sizes aren't as expected. So gonna try something else I guess.

* Add a TearDownTest to the sim cmd tests that explicitly closes things so that hopefully the temp dir can actually be deleted (instead of the test failing).

* Add a sleep to the end of the cli test suite tear down to give it an extra moment to let go of things (like addresses).

* Make a testutil for cleaning up a testnet test and use that everywhere that's needed.

* Fix duplicate include of antewrapper.

* Allow the WITH_CLEVELDB etc. flags to be either yes or true since they used to use yes and now use true.

* Remove the build workflow since it worked and I don't want the duplicated build logic.

* Go back to using some upper-case variables for the build and install make commands.

* Move the install-dbmigrate target above build-dbmigrate to match the ordering of install and build above.

* Update some documentation.

* Update the changelog with entries for enabling rocks and badger and also making the dbmigrate utility.

* Enhance the sims makefile stuff to allow choosing the db backend to use for any of those tests.

* Remove the boltdb build stuff since it's too slow to be usable.

* Get rid of the botldb si run and add other db versions of the simple sim run.

* Overhaul the sims github actions to hopefully use cached stuff better.

* Reduce the cache size of the sims cache.

* Put the setup-go step back into all the sims workflows since it doesn't seem to come along with the cache.

* Try a higher level if env.GIT_DIFF.

* Try using a variable because the raw env.GIT_DIFF didn't work.

* Redo the caching to try to figure out what all needs to be cached.

* Try more cache stuff.

* More cleanup and caching changes on the sims action.

* Fix indentation.

* Fix sims actions to just use the cache setup used in setup instead of trying env vars (which didn't work because the key wanted another var).

* Fix wrong variable.

* Okay. So you can't access the steps.{id}.with stuff in the outputs. So go back to env vars, but on the step, then using that to set the output too.

* Bump the sims action/cache version to 3 (from 2.1.7) and try env.RUNNER_OS instead of os.runner.

* Try again... env isn't available when defining env vars for a job. So try the set-output way.

* Fix the key to use the correct new value.

* Try something else I guess because that ended up being blank. Try appending it to the github env file which can then be read by the next step (maybe).

* Tweak the cache paths and the cache key setting. At least it kind of worked, maybe.

* Try some different cache paths that should maybe get less unwanted stuff and more wanted stuff.

* A little more cache paths cleanup maybe.

* Create the cache in build-dependencies since it doesn't seem to be working in the other place.

* When building rocksdb, only download the tar file if we don't already have it. Also bump the version to 6.29.3 since 6.28.2 won't build on the M1s.

* Give up on trying to cache the installed leveldb and rocksdb stuff. It just doesn't work. Instead, keep the built stuff around and rebuild it when needed (which really will only just install it).

* Try using a different cache key or something. This is dumb.

* Tweak the cache paths a bit since they clearly aren't working. Add stuff to the rocksdb script to control whether or not to build or install. Only build once, and install the other times.

* Try seeting the CGO stuff...

* Add a couple lines to check some things because wtf....

* Looking for more info...

* Try setting LD_LIBRARY_PATH before running provenance. Maybe that's it....

* Can't use () in regex on the runners, so refactor to not care about possible duplicate entries in LD_LIBRARY_PATH.

* Export the LD_LIBRARY_PATH env var where needed. Clean up some info stuff. Remove the provenanced version output from each sim test since those jobs don't have it installed.

* Check if env vars carry over from step to step.

* So yeah. Exported env vars don't carry over from step to step. So try just setting it as an env var at the top of the file and see if that works.

* Woo. That worked. Clean up all the rest of the LD_LIBRARY_PATH lines since they're not needed.

* Add back in the race outputs and try to still have it exit properly. That way it can stop complaining about not being able to upload the artifacts.

* Try to have it zip up the sim logs and upload them for failed tests.

* Set the ec variable to 0 before doing the test so that it's got something when it passes. Change the filenames a bit. Try out a matrix for the import-export test to see if that can make the file way simpler.

* Update the sims to output more info at the start and end.

* Combine all the sim tests and db types into a single matrix github action.

* Fix bad printf.

* Combine the two build jobs but still have provenanced built each time. Don't try to install it, just build it and do the version from the build dir. Shorten the matrix.test strings so it's easier to see which one is running in the github website.

* Tweak the new output a bit to better indicate the start and end of it.

* Oops. Need to always setup go (and output the version) again on the build step.

* Add a rocksdb install step since that's kind of important for the build.

* Try exporting DB_BACKEND to see if it fixes that weird illegal instruction in the github action.

* Redo the run-sim step a bit to give the failed logs a better directory structure and only upload the artifact if the file was created.

* Try to fix the failure artifact step.

* Fix the job failing because the path isn't set even though it's not supposed to run.

* Tweak the if clause on the test logs upload thing because it's not working as it is.

* Tweak the copy a bit since that doesn't seem to be working.

* Try again because it's not uploading the logs.

* Add a little extra logging info.

* Try again because it is still having trouble with the cp.

* In TestAppStateDeterminism, define the DBBackend config value to be memdb even though that field isn't actually used. Also, output the config at the start of each seed.

* Reorganize the sims.mk stuff to group the runsim stuff together and the go test stuff together. Also add a bunch of comments about what's going on in there.

* Break the run-sims job into a few different ones with slighly different needs.

* Update and fix the artifact names.

* Add the file prefix to the output setup.

* Remove some sim tests because they're always failing right now due to insufficient funds. Created an issue to fix them later.

* Tweak the artifacts a bit to make the names better. It automatically zips them, and having .tar.gz.zip was weird. Also get rid of the tar since it's zipping it automatically anyway and just give it the directory.

* Change the sims cache-key so that it builds and installs cleveldb and rocksdb again. Maybe that'll fix stuff.

* Try version 6.29.4 of rocksdb to see if it fixes the illegal instruction.

* Missed setting the version in a few places. Also change the cache name so it gets actually built.

* Set the default rocksdb version to 6.29.4 (from 6.29.3) to hopefully fix the illegal instruction problem on the github runners. 1st attempt worked at least.

* Try having the sims run on macOS also.

* Fix the build workflow to hopefully properly use the conditionals. Also fix the setup to do one for each since we need a different cache for each.

* Fix the runs-on stuff.

* Try a new cache key since maybe the last macOS one actually built on linux.

* You can't use a matrix job as a 'needs' in github actions. So define the cache key suffix instead of the whole key and remove the matrix from the setup step. Also split the build into two jobs and make the tests need both of them.

* Change the cache suffix since the previous one was wrong.

* Give a better name to the downloaded rocksdb tarball.

* Some tweaks to the rocksdb build script.

* Add a cleveldb build and install script and make target for it.

* change the cleveldb tar file name to leveldb (without the c) to match the dir it contains.

* Try using the new leveldb build thingy in the sims github action.

* Fix a problem in formatting with the sims.yaml and also add a couple steps I forgot to add to the mac build job.

* Set the test-logs variable in its own step right off the bat. This cleans up the test step and also makes it more likely that the artifact step won't fail due to not having one of the required fields defined. Also added in the os to those values since that's kind of needed.

* Take macos-latest out of the runsim matrix.

* Break the build and version step into two so it's clearer which one caused the failure.

* Simplify the go-test-single-db to just run. It's only a couple tests and they're quick and might highlight errors faster.

* A little cleanup/reorg of the sims yaml.

* Some cleanup of the tests yaml to remove some redundancies.

* Fix the tests to use the correct filename prefix.

* Check that the test checks pass even if there isn't a diff.

* Try again with not running the tests because just skipping the jobs didn't work.

* Put the git diff back into tests so that they actually run again.

* Update the release yaml to always build, but only create the release page and publish on tagged releases.

* Turn off rocksdb inclusion by default since it's kind of a pain.

* Clean up the dockerfile a bit more.

* provide the version to docker build.

* Fix make build to not output warnings about the brew dir not existing if cleveldb installed outside of brew.

* Change the name of the release workflow to indicate that it also builds so that it's less alarming to see.

* Set the LD_LIBRARY_PATH during the build.

* Remove go mod tidy from the proto-gen script because running it in the docker container was causing go.mod to lose all its indirect entries.

* Clean up the release yaml to remove some test stuff that I had in there and a TODO.

* More cleanup.

* Tweak some comment text that was weird.

* Simplify use of PrintStats by moving the if config.Commit into it since everything was doing that anyway. This way, the config will always be there and the db will only be included if committing (just like it used to).

* When a sim fails, output the last 500 lines of the stdout file (if possible) since the stderr files seem to never have anything, and the actual runsim output isn't helpful.

* Update the LD_LIBRARY_PATH because the runners changed some stuff and the cleveldb stuff was being installed somewhere new.

* Change rocksdb to version 6.29.5 in the hopes that it fixes the illegal instruction that the tests sometimes get.

* Change the cache suffix because the changed rocksdb version isn't in the old cache and is being built every single time it's needed.

* Update the LD_LIBRARY_PATH in the sims workflow too since it decided to start failing the same way as releases did.

* Create a script for running a set of sims with the different db backends.

* Bump the artifact actions to v3.

* Fix the help output with respect to the staging and backup dirs.

* Add the cleveldb tag to the test github actions and make targets and only run the detectdb cleveldb test if that tag was given.

* Tweak DetectDBType to hopefully better differentiate between goleveldb and cleveldb. It seems to sometimes matter in a way that's tough to test.

* Close the iterator and db after checking the db type.

* Check for goleveldb before cleveldb because that just works better.

Co-authored-by: fkneeland-figure <86616427+fkneeland-figure@users.noreply.github.com>
Co-authored-by: Arnab Mitra <arnabmitra.mitra@gmail.com>
Co-authored-by: Ergels Gaxhaj <87285445+egaxhaj-figure@users.noreply.github.com>
Co-authored-by: Carlton Hanna <73041609+channa-figure@users.noreply.github.com>
Co-authored-by: Derek Adams <dadams@figure.com>
Co-authored-by: Ira Miller <72319+iramiller@users.noreply.github.com>
Co-authored-by: Ken Talley <ktalley@figure.com>
Co-authored-by: Ken Talley <76671864+ktalley-figure@users.noreply.github.com>
dwedul-figure added a commit that referenced this issue Apr 22, 2022
* 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>
dwedul-figure added a commit that referenced this issue Apr 25, 2022
* 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

* upgrade cosmos 0.45.3-pio-2 for 11707 bugfix (#795)

* Include ADR-038 fixes in 1.8.x (#797)

* 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

Co-authored-by: Ergels Gaxhaj <egaxhaj@figure.com>

* add changelog entries for 1.8.2 (#796)

* Add the dynamic tag when running unit tests on M1s.

* Fix bad merge in go.mod.

* Fix the changelog.

* Further small tweaks to the changelog.

Co-authored-by: Ergels Gaxhaj <87285445+egaxhaj-figure@users.noreply.github.com>
Co-authored-by: Ira Miller <72319+iramiller@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: Ergels Gaxhaj <egaxhaj@figure.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
Development

Successfully merging a pull request may close this issue.

1 participant