Commit Graph

237 Commits

Author SHA1 Message Date
Alessio Treglia 1ed76565f2
Remove obsolete comments 2018-08-31 19:04:45 +02:00
Alessio Treglia 122ed3a900
Don't use pointers when you need them not! 2018-08-31 19:04:45 +02:00
Alessio Treglia 599923fb99
Introduce simulate mode
Add a simulate only flag '--dry-run' to both CLI tx commands
and RESTful endpoints to trigger the simulation of unsigned
transactions.

* Turning --dry-run on causes the --gas flag to be ignored.
  The simulation will return the estimate of the gas required
  to actually run the transaction.
* Adjustment is no longer required. It now defaults to 1.0.
* In some test cases accounts retrieved from the state do not
  come with a PubKey. In such cases, a fake secp256k1 key is
  generated and gas consumption calculated accordingly.

Closes: #2110
2018-08-31 19:04:11 +02:00
Alessio Treglia 76a16ab288
Modify AnteHandler to take a simulate boolean parameter 2018-08-25 20:12:14 +01:00
Alessio Treglia f432c0c383
Simulate transactions before actual execution
* Change --gas=0 semantic in order to enable gas auto estimate.
* REST clients have been modified to simulate the execution of
  the tx first to then populate the context with the estimated
  gas amount returned by the simulation.
* The simulation returns both an unadjusted gas estimate and an
  adjusted one. The adjustment is required to ensure that the
  ensuing execution doesn't fail due to state changes that might
  have occurred. Gas adjustment can be controlled via the CLI's
  --gas-adjustment flag.
* Tiny refactorig of REST endpoints error handling.

Closes: #1246
2018-08-24 10:16:51 +01:00
Christopher Goes 7b8c1c0e80
Merge branch 'develop' into fix-iterator-leak 2018-08-22 16:06:35 +02:00
Dev Ojha 419cf85433 Merge PR #2046: auth: Make gas cost take into account cryptosystem
* auth: Make gas cost take into account cryptosystem

This will make including the multisig easier.
The ratio for ed25519 vs secp256k1 are based on the ratio of their
verification times, using the benchmarks in tendermint/crypto.
2018-08-21 16:13:34 +02:00
youjing 517682f17c fix Iterator leak, ref to https://github.com/cosmos/cosmos-sdk/issues/2105 2018-08-21 14:54:12 +08:00
Dev Ojha b2a4aecc44 Upgrade to tm version 23.0. (#1927)
* Start upgrade. Currently go test ./... hangs.

* (squash this) Fix staking tests

* wip

* note what changes need to be made to make this work on tm v0.23.0

* Fix addr -> pubkey map

* cleanup code

* Fix slashing test failures except for begin blocker

* fix all slashing tests

* fix lcd tests

* Address PR comments

* add link to changelog.

* (wip) start making addrToPubkey map persisted. Since amino can't handle maps,
we have to change from what this commit is doing.

* Use the correct method of storing a map

* (squash this) address PR comments

* Did you run 'make'?

* remove gaiadebug binary
2018-08-12 03:33:48 -04:00
Alexander Bezobchuk 12c2c236c2 Merge PR #1741: CoreContext Refactor 2018-08-06 20:11:30 +02:00
Joon 19b0781e60 Merge PR #1811: NewCoin takes sdk.Int 2018-07-31 02:09:50 +02:00
Dev Ojha 5d02a743fb Update to tendermint v0.22.6-rc0 (#1798)
* Update to tendermint v0.22.6-rc0

This is comprised of updating the crypto imports / API

* (squash this) switch to v0.22.6

If this passes tests, I'll squash this commit and update the PR.
2018-07-25 16:43:37 -04:00
Aditya Sripal ddd4deda7d ignore linter 2018-07-13 11:12:29 -07:00
Aditya Sripal aa3a64d289 Test recover in ante 2018-07-13 10:53:12 -07:00
Aditya Sripal f6d5c85049 Added recover to standard antehandler 2018-07-12 19:38:22 -07:00
Aditya Sripal 4751727351 fmt 2018-07-12 19:06:54 -07:00
Aditya Sripal ade7186ffb minor cleanup 2018-07-12 19:06:05 -07:00
Aditya Sripal fa31165438 Refactor BaseApp without breaking change 2018-07-12 18:32:48 -07:00
mossid bc12880394 Merge pull request #1379: Account constructor in AccountMaper
fix

fix democoin

fix tests

pass lint

last fix

apply requests

fix build failing

fix docs
2018-07-09 20:29:14 -07:00
Christopher Goes 5a56c3f03d
Merge PR #1575: ready-for-review: sdk.AccAddress natively bech32 2018-07-10 04:18:23 +02:00
Sunny Aggarwal 38aa32c440 removed x/auth/mock 2018-07-09 16:06:40 -07:00
Sunny Aggarwal 896cd333f0 address comments 2018-07-09 16:06:05 -07:00
ValarDragon 2b5ccdbf87 Reduce code complexity in AnteHandler, and GetExternalIP 2018-07-09 15:29:16 -07:00
Sunny Aggarwal 25d976feb4 works? 2018-07-09 01:47:38 -07:00
sunnya97 7ac220beb6 asdf 2018-07-09 00:59:51 -07:00
Sunny Aggarwal 50ed0fa1ae asdf 2018-07-09 00:35:28 -07:00
Christopher Goes 3805c35aff Merge pull request #1582: Simplify auth.StdSignMsg fields, add testcase
* Simplify auth.StdSignMsg

* Add StdSignMsg.Bytes() test
2018-07-06 19:26:22 -04:00
Ismail Khoffi abce54ea60
Merge branch 'develop' into sort_getsignbytes 2018-07-06 01:31:34 +01:00
Liamsi b7f902fba5 sort *all* GetSignBytes:
- call MustSortJSON before return JSON bytes to guarantee alphabetic
ordering

- moved SortJSON and MustSortJSON to types package to avoid cyclic
package dep
2018-07-06 01:12:57 +01:00
Liamsi 0f1ceb073e sort all relevant GetSignBytes:
- call SortJSON before return JSON bytes to guarantee alphabetic
ordering
2018-07-06 00:23:12 +01:00
Ethan Buchman 586ab68b2a
Merge pull request #1490 from cosmos/dev/improve_send_error_msgs
gaiacli: Improve error messages for `send` command
2018-07-05 17:22:16 -04:00
Alexander Bezobchuk 0b9e0f2afc Merge PR #1492: Improve Module Test Coverage
* Merge pull request #1492: Improve Module Test Coverage
* Revert renaming of SignCheckDeliver [#1492]
* Remove named fields from stake unit tests & fix comments [#1492]
* update for tmlibs->tendermint/libs
* Remove tmlibs dependency
2018-07-04 06:21:36 +02:00
Ethan Buchman f78f30c67a update for tm v0.22.0. tmlibs->tendermint/libs 2018-07-02 16:34:06 -04:00
ValarDragon 819eedd281 gaiacli: Improve error messages for `send` command
Now provides better error messages when the account you're sending
from has no money, or it has insufficient funds. (Avoids making
the user interpret ABCI errors)

closes #1489
2018-06-30 01:32:01 -07:00
Dev Ojha 955a0c9af7 Switch asserts to require (#1483)
* meta: Switch the majority of asserts to require

Switch most assert statements to require, to ease debugging.
Closes #1418

* Fix imports
2018-06-30 03:10:15 +02:00
Dev Ojha 097dd8a164 tools: Add unparam linter (#1443)
* tools: Add unparam linter

unparam detects unused parameters in functions, and a parameter to
a function which only ever takes on one value. The latter is an
indication that more tests are required.

There are many nolints in this PR, as I believe that writing tests
to fix alot of these situations is out of scope for this PR / it
will be changed in future commits. There are some nolints for
when we have to comply to normal api's.

* crypto/keys no longer used by x/gov/client/rest/rest.go
2018-06-29 18:22:24 -04:00
Christopher Goes 59aadf42aa
Ledger integration (#931)
Merges the keybase and Ledger code from go-crypto (which is no more) into the SDK
Adds support for Ledger into gaiacli
Cherry-picks updated error handling from #1158
2018-06-29 02:54:47 +02:00
Dev Ojha ac3adff1e8 Merge PR #1438: Tools: Add errcheck linter
This linter ensures that all errors are checked.
This is disabled in the client directories, since its not needed on
those writes
2018-06-29 00:52:10 +02:00
Dev Ojha 49f421db19 Merge PR #1332: benchmarks: Add benchmark for block time to bank module
* benchmarks: Add benchmark folder, and single benchmark for block time
* Move benchmark into module
* Fix merge conflict errors
* Fix spelling
* Add instructions to run benchmark
* Update auth_app_test.go
2018-06-28 00:33:56 +02:00
Christopher Goes 8bdf06b9f6 Remove Viper from ante handler 2018-06-26 23:45:31 +02:00
Dev Ojha 893bb4027d Merge PR #1377: types: remove GetMemo from Tx
This method is an unneccessary requirement on Tx. Auth casts the Tx
to StdTx, so the memo can be obtained in previous usecases from
StdTx. This also makes it more clear for when something is
implementing StdTx vs Tx.

Resolves #1375
2018-06-26 04:37:21 +02:00
Dev Ojha 2e97baabf6 Merge PR #1358: Fix typos and gofmt files
* Fix typos
* gofmt -s files
* Add mispellings and gofmt checks to circle CI
* circleci: Install misspell in the linting step
2018-06-25 20:23:17 +02:00
Sunny Aggarwal c3c570898d Merge PR #1340: Reverted ChangePubKey
* removed msgChangePubKey
* changelog
* removed setPubKey
2018-06-22 21:53:24 +02:00
Joon ec6acda6a4 Merge PR #1331: Remove TxBytes from NewContext 2018-06-22 03:03:05 +02:00
Sunny Aggarwal dc2c8f900b Merge PR #1168: Governance MVP 2018-06-22 02:19:14 +02:00
Aditya f049a56376 Merge PR #1266: Multiple messages
* Started work on multiple msgs, types and x/auth tests pass
* Fix issues in x, examples, and baseapp
* Added baseapp tests for multiple msgs
* Documentation fixes
* Fix baseapp tests with sdk.Int
* Modify test
* Transaction handling is now atomic
* Fix test comment
* Minor doc fixes and code cleanup
* Added baseapp result changes
* Use address in validator update accumulation
* Started work on multiple msgs, types and x/auth tests pass
* Fix issues in x, examples, and baseapp
* Added baseapp tests for multiple msgs
* Documentation fixes
* Fix baseapp tests with sdk.Int
* Modify test
* Transaction handling is now atomic
* Fix test comment
* Minor doc fixes and code cleanup
* Added baseapp result changes
* Use address in validator update accumulation
* Added ante tests for multisigner
* Remove validatorUpdates from tx result
* Better error logs
* Put Memo in StdSignBytes and formatting
* Updated changelog
2018-06-22 00:05:25 +02:00
Dev Ojha e2d23040a8 Merge PR #1325: Refactor Complete Setup to not take in a testing parameter
* Refactor Complete Setup to not take in a testing parameter
* Update changelog
2018-06-21 18:55:08 +02:00
Christopher Goes 918e217e1f
Merge PR #1280: Implement simple transaction memos
* AltBytes -> Memo, memo CLI support & thread-through
* Check memo size, update changelog
* Update existing testcases
* Nuke CircleCI caches
* Charge gas proportional to memo size
* Fix gas allocations in ante handler testcases
* Add testcases
* Update changelog
* Fix tiny CLI bug & add to CLI tests
* Add '--memo' to gaiacli
* Add testcase for large memos
* Address PR comments
2018-06-20 21:27:36 +02:00
Joon 314b5a854d Merge PR #1218: sdk.Int in sdk.Coin
implement Int, Int256, Uint256
pass ci
pass ci
add to changelog, add boundcheck to test
add comments, fix cli_test.go
fix errors
apply requested changes
panics on New*WithDecimal
fix Int.BigInt()
fix stake tests
* Panic on uint division-by-zero
* Set ok=false on NewIntFromString, NewUintFromString failure
* Nuke CircleCI caches
2018-06-15 23:16:45 +02:00
Fabian 42e72956f4 Merge PR #1252: Query node version
introduce non store queries
add version query
update lcd spec
changelog
moved version query into baseapp
2018-06-14 07:49:21 +02:00
David Kajpust ec2fedd36c Merge PR #1227: Set all Error strings 1st letters to lowercase. Fixes issue #1154 2018-06-13 21:13:22 +02:00
Christopher Goes 5bf58ee444
Merge PR #1210: Fix testcases (another fast-forward merge issue) 2018-06-12 09:47:59 +02:00
Rigel dc62279ae1
Merge pull request #1200 from cosmos/cwgoes/slashing-bugfixes
Slashing bugfixes (start height, handler registration)
2018-06-11 20:12:02 -07:00
Sunny Aggarwal 161cb474d4 Account Numbers for Replay Protection with Account Pruning (#1077)
* in progress
* passes current tests
* added tests and got working
* changelog and docs
* removed prints
* oops
* works!
* issue in test_cli
* number 9 number 9 number 9
* at least it does only the 9 issue now
* hallelujah it works!
* removed print statement
* rebased
* gah
2018-06-12 04:30:54 +02:00
Fabian 8ece807301 Merge PR #1085: Re-enable tx history in LCD
* reenable tx search
* removed not needed argument
* register types for decoding
* trying to fix indexing tests
* added tx hash query test
* Fix x/bank tagging
* remove dead code
* remove print
* extended tests for tx querying
* changelog
* added txs address querying
* linted
* rename
* use prefix for bech32 addresses in tags
* changed error message
* Fix tiny linter issue
2018-06-11 22:09:29 +02:00
Christopher Goes b9c1bcbd74
Tiny linter fix 2018-06-11 03:22:38 +02:00
Christopher Goes a4865ef6aa
Add mock.SignCheck, update testcase to assert error code 2018-06-11 03:14:20 +02:00
Dev Ojha 9c4bbf7dfd Merge PR #1195: gaiacli - Add error message for when account isn't found 2018-06-09 08:40:22 +02:00
Rigel 0b9751ac98
Merge pull request #1170 from cosmos/rigel/test_framework
mock test framework for modules
2018-06-08 13:30:24 -07:00
rigelrozanski 6af81fc62e cleanup 2018-06-08 13:13:51 -07:00
rigelrozanski 17948ccf04 auth-mock simulate block now commits, stake app_test cleanup 2018-06-08 11:28:07 -07:00
rigelrozanski 42def02ae9 pr comments 2018-06-08 10:03:37 -07:00
rigelrozanski b5d847288d move original mock into server 2018-06-07 21:33:06 -07:00
rigelrozanski abab7c2e42 modules test within mock application 2018-06-07 20:55:14 -07:00
Christopher Goes 34ec53a761
Update CHANGELOG.md, update x/auth to avoid base64 2018-06-08 01:50:59 +02:00
Fabian 5f409ce832 Merge PR #1086: Bech32Cosmos output/input for the LCD
* refactored bech32ization
* updated keys endpoints for bech32
* bech32 for sending and querying
* trying to change output of validator addresses
* fixed validator output
* linted
* fixed merge conflict
* added bech32 to staking endpoints
* removed some logging statements
* added GetAccPubKeyBech32Cosmos
* fixed cli tests
* updated swagger
* merged standard bech32 change
* renamed bech32cosmos to bech32
* bech32ify json output for key add
* readded changelog
* fixed changelog merge issue
* Update CHANGELOG.md
2018-06-06 06:53:04 +02:00
Zaki Manian ce850dca3b Switch from bech32cosmos to bech32 2018-06-01 16:23:58 +02:00
Christopher Goes 12a7c0373a
Merge pull request #1072 from ValarDragon/dev/tx_encoding
Change to go-wire UnmarshalJSON for bank transactions
2018-05-31 23:51:27 +02:00
ValarDragon 0371109039 Register crypto on amino codecs, update changelog 2018-05-31 12:55:21 -07:00
ValarDragon e9545d69ed Switch the default modules to use wire.codec's MarshalJSON instead of json.Marshal 2018-05-31 11:51:15 -07:00
Zaki Manian f33f49a840 Almost from scratch reimplementation of bech32cosmos integration. 2018-05-27 13:47:23 +02:00
Sunny Aggarwal bf02cdcf97 address Chris review 2018-05-25 21:14:49 -07:00
Sunny Aggarwal 4f6c77d8cb antehandler tests 2018-05-25 21:10:09 -07:00
Sunny Aggarwal f81a70b315 added keeper tests 2018-05-25 20:48:27 -07:00
Sunny Aggarwal d3bdb09ffc passes, needs tests 2018-05-25 20:29:40 -07:00
sunnya97 5d7c3af1b8 works 2018-05-23 22:09:01 -07:00
sunnya97 56d1c48812 in progress 2018-05-23 19:49:35 -07:00
sunnya97 cb52712660 in progress 2018-05-23 19:49:35 -07:00
rigelrozanski e70249b631 more bucky comments, single status validator, only one store now for core validator object 2018-05-20 17:39:04 -04:00
rigelrozanski 26be2a231b working addressed bucky comments 2018-05-18 18:57:47 -04:00
rigelrozanski e145676fcc revert absent validator changes 2018-05-17 10:47:25 -04:00
rigelrozanski 750cbc53ec stake cleanup, functionality for total prevote power 2018-05-17 09:17:14 -04:00
rigelrozanski d871605241 staking fee distribution working commit 2018-05-17 09:15:06 -04:00
Ethan Buchman 4bdcad572b remove gasLimit from NewContext 2018-05-15 22:19:09 -04:00
Christopher Goes 4134bf922c
Address PR comments 2018-05-16 02:06:17 +02:00
Christopher Goes 4775437426
Unexport verifyCost 2018-05-16 01:15:22 +02:00
Christopher Goes 38716d5edc
ConsumeGas for pubkey.VerifyBytes 2018-05-16 01:14:31 +02:00
Christopher Goes 1c4ed7b833
Gas-wrap ctx.KVStore 2018-05-16 01:13:48 +02:00
Christopher Goes 26991803ee
GasMeter & context updates 2018-05-16 01:13:47 +02:00
Christopher Goes c81e37ce7a
Return tags on changePubkey 2018-05-15 23:40:01 +02:00
Sunny Aggarwal ea6d3e8efc should work maybe? 2018-05-15 16:52:30 -04:00
Christopher Goes 62fc3e2c49
Context-accessible logger field 2018-05-01 13:52:49 +02:00
Sunny Aggarwal 9f4f35a6db
removed Get from account 2018-05-01 00:15:27 +02:00
Sunny Aggarwal fdb610bea7
updated documentation 2018-05-01 00:15:27 +02:00
Sunny Aggarwal 754481af2c
got rid of Get on Msg interface 2018-05-01 00:15:27 +02:00
Sunny Aggarwal ee2800ff6d
updated documentation 2018-05-01 00:15:27 +02:00
Sunny Aggarwal af0e71fa0d
got rid of Get on Msg interface 2018-05-01 00:15:15 +02:00
rigelrozanski 10ddd7a3d3 refactor export function, working 2018-04-27 20:06:50 -04:00
Christopher Goes ad77affb53 Add IterateAccounts & account export 2018-04-27 20:04:29 -04:00
rigelrozanski 260ab69e4f cleanup, move simplestaking to democoin 2018-04-26 22:59:30 -04:00