Commit Graph

262 Commits

Author SHA1 Message Date
HaoyangLiu 3cf3ab11b0 Merge PR #2037: transient store missed to implement store type interface
* transientstore missed to implement store type interface

* rename pointer name from rs to ts
2018-09-08 20:47:36 -04:00
Jeremiah Andrews 2378e3431c Fix linter errors 2018-09-03 07:58:57 -07:00
Christopher Goes 3ac55b589d Update testcase from merge 2018-09-03 07:57:15 -07:00
Jeremiah Andrews b72f87a027 Update IAVL dependency for v0.10.0 2018-09-03 07:57:15 -07:00
HaoyangLiu 67857d704b IRISHUB-238: change wait 3 second to wait tendermint new block. use MustUnmarshalBinary instead of UnmarshalBinary 2018-08-31 23:20:06 +08:00
HaoyangLiu 9de7650b99 IRISHUB-238: fix a bug in judge whether proof is required and refactor comment 2018-08-31 10:15:37 +08:00
HaoyangLiu ab76fd964a IRISHUB-238: remove todo, refactor comment and refactor multistoreproof 2018-08-31 10:03:48 +08:00
HaoyangLiu b878edc388 IRISHUB-238: fix failures in test_lint and test_cover 2018-08-30 15:52:17 +08:00
HaoyangLiu 703c643fc0 IRISHUB-238: Add multiply store proof build and verification 2018-08-30 15:05:16 +08:00
ValarDragon f6cb4d4fb6 Speedup IAVL iterator by removing defers when unneeded.
Note each defer occurs a 30ish ns overhead here, which is significant
for IAVL iteration. We were previously using around 3-4 defers. (2 in
next, one in Valid, one in Key, one in Value) This slows down the entire
application quite significantly, as we require fast iteration.
2018-08-24 10:26:02 -07:00
Christopher Goes 7b8c1c0e80
Merge branch 'develop' into fix-iterator-leak 2018-08-22 16:06:35 +02:00
Joon f0b3766a46 Merge PR #2074: Reject duplicate storekey name 2018-08-21 15:49:06 +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
Jeremiah Andrews f653bed8c9 Merge PR #1926: RootMultiStore test helper bugfix
* Add reload modification to test
* Modify test helper function to prefix store dbs
2018-08-08 12:27:05 +02:00
Joon d46140a392 Merge PR #1481: Transient Stores 2018-07-27 03:24:18 +02:00
Rigel 3231daa4d8 remove global shares (#1644)
* wip removing pool shares

* remove PoolShares/Tokens entirely

* worked through stake/type compile error

* work through a bunch of keeper errors

* worked through compile errors

* debugging tests

* resolve compilation error

* resolved types errors

* ...

* move inflation to pool type

* ...

* stumped problem

* Calculate newly issued shares, remove unnecessary pool arg from exchange rate calculation

* Rounding changed

* Update x/slashing tests for sdk.Rat BondedTokens

* testing fixes

* resolved test fixes

* cwgoes comments, changelog, lint

* cli bugfixes

* ..

* cli fixed

* spec update

* 'make format'

* cwgoes comments

* Increase test_cover parallelism
2018-07-13 21:46:14 +01:00
Jeremiah Andrews 43b9cc6df0 Merge PR #1533: Pruning Cleanup 2018-07-13 03:20:26 +02:00
Alexander Bezobchuk 5983a07fb6 Merge PR #1599: Implementation of TraceKVStore 2018-07-13 01:58:51 +02:00
ValarDragon 0c5358c267 Continue reducing code complexity:
* Adds a Min function to Int, and uses that in the slash function
* Adds a getHeight helper function to iavlstore
* Adds a splitPath function to baseapp
* Changes cyclo param from 10 to 11
2018-07-09 15:29:16 -07:00
Jeremiah Andrews 4c5850d405 setting default to archive mode / no pruning 2018-07-07 12:34:11 -07:00
Ethan Buchman d388036454 Merge PR #1520: various fixes for test_cli
* various fixes for test_cli
* linting
2018-07-03 06:33:53 +02:00
Jeremiah Andrews b3e4faec74 addressing comments 2018-07-02 15:30:09 -07:00
Jeremiah Andrews 1632b7de18 testing pruning 2018-07-02 15:30:09 -07:00
Jeremiah Andrews 60a8a63e62 base variabls / logic, need tests 2018-07-02 15:30:09 -07:00
Ethan Buchman f78f30c67a update for tm v0.22.0. tmlibs->tendermint/libs 2018-07-02 16:34:06 -04: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 3e14868bd6 Merge PR #1429: tools: Add ineffassign linter
* tools: Add ineffassign linter

This errors on assignments that don't actually do anything. i.e.

x, err := myFunc(1)
y, err = myFunc(2)

This will call out that the first function's call error was never
used.

* Fix makefile, add misspell to makefile
2018-06-28 19:12:02 +02:00
Joon 6018e719d2 Merge PR #1069: Oracle Module
fix prefixstore iterator
in progress
fix mock validator
fix NewContext
add to changelog
apply requests
fix mock
2018-06-27 19:21:12 +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
Joon 3fa68249eb Merge PR #1254: Add prefixstore and lib refactor
* Merge pull request #1254: add prefixstore and lib refactor
add prefixstore
refactor lib
fix test
fix linter
in progress
in progress
add test for prefixstore
add KVStoreGetter, PrefixStoreGetter
move PrefixStoreGetter to types/
add tests
KVStore.Prefix(string) -> KVStore.Prefix([]byte)
fix mock
apply requests
pass lint, add test
apply requests
* Remove unnecessarily 'valid' boolean
2018-06-21 23:33:36 +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
sunnya97 caf8c77dce works 2018-05-26 18:00:39 -07:00
Christopher Goes ce38d8f423
Minor fix, testcases 2018-05-16 01:14:31 +02:00
Christopher Goes 147cf9f897
Move GasKVStore to /store 2018-05-16 01:14:30 +02:00
Christopher Goes 1c4ed7b833
Gas-wrap ctx.KVStore 2018-05-16 01:13:48 +02:00
Christopher Goes 9dfccb1cfd
Update iterator gas pricing model 2018-05-16 01:13:48 +02:00
Christopher Goes ef1923f660
Add GasIterator 2018-05-16 01:13:48 +02:00
Christopher Goes c410ceb155
GasKVStore WIP 2018-05-16 01:13:48 +02:00
rigelrozanski 677559bf6c cwgoes comments 2018-05-09 18:24:51 -04:00
rigelrozanski 8dd3052017 fix subspace query tests 2018-05-08 16:32:41 -04:00
rigelrozanski 1d82cdbbbc subspace query tests, changelog 2018-05-08 16:15:35 -04:00
rigelrozanski d464779d34 iter->substore, enable delegator bonds query 2018-05-08 15:57:12 -04:00
rigelrozanski d44c7afa30 add range queries, add candidates query 2018-05-08 15:57:12 -04:00
rigelrozanski d28efaac27 many renames / golint compliance 2018-04-19 00:49:24 -04:00
Christopher Goes f8e44b5b00 Error codespacing (#809)
* Initial codespacing layout (ref #766)
* Add codespace to Router (ref #766)
* Implement Codespacer and update modules
* Default codespaces, testcases
* Update error formatting, codespacer tests
* Add RegisterOrPanic testcase
* Update CHANGELOG
2018-04-17 19:16:21 -07:00
Jae Kwon d530ee2abc Fix MountStoreWithDB(); Bump to 0.15.0-rc0 2018-04-13 02:04:31 -07:00
Jae Kwon 186ee72c0c Update documentation 2018-04-12 16:22:44 -07:00
Jae Kwon 5883c0e942 Support namespacing within RMS db 2018-04-12 15:56:41 -07:00
Sunny Aggarwal 348e28a4b5
Merge branch 'develop' into sunny/IAVLsubspace 2018-04-05 22:02:21 +02:00
Sunny Aggarwal f10983ba06 address review 2018-04-05 21:54:30 +02:00
Christopher Goes 0888096677
Replace Result.ToQuery with Error.QueryResult (closes #765) 2018-04-03 22:15:52 +02:00
Sunny Aggarwal c441ccdf01 added more test 2018-04-01 18:00:28 +02:00
Sunny Aggarwal d98ea3764f it works 2018-04-01 00:26:00 +02:00
Sunny Aggarwal 3f1362f838 why u no work 2018-04-01 00:02:29 +02:00
Sunny Aggarwal 271d240897 trying to figure it out 2018-03-31 19:30:25 +02:00
Sunny Aggarwal 56f28145dd working on it 2018-03-30 22:36:04 +02:00
Ethan Buchman f81b6ec51d update dep 2018-03-23 00:32:57 -04:00
Ethan Buchman 723889570e ErrTxParse->ErrTxDecode; check for empty bytes in account and tx 2018-03-21 02:44:17 +01:00
Sunny Aggarwal 7e8c1e3394 added Substore 2018-03-19 22:46:35 +01:00
Ethan Buchman 630a5fe579 revert to old go-wire 2018-03-02 04:24:07 -05:00
Jae Kwon 7f4bcff3cf Add GetCommitKVStore and CommitKVStore 2018-02-21 09:49:33 -05:00
Adrian Brink b457a4363f
Add directive to Sprintf call to pass make test on go1.10 2018-02-18 14:09:22 +01:00
Ethan Buchman f6cea66e2e test and fix InitChain 2018-02-17 16:32:30 -05:00
Ethan Buchman d48c819207 minor things 2018-02-06 17:20:29 -05:00
Ethan Frey b21081c83a Test query routing in rootMultiStore 2018-02-06 17:20:29 -05:00
Ethan Frey c73f08c845 Make GetStoreByName private, as only needed by MultiStore Query 2018-02-06 17:20:29 -05:00
Ethan Frey 44c39043f1 Test iavlStore query 2018-02-06 17:20:29 -05:00
Ethan Frey 31f00742e5 Add query to iavl store 2018-02-06 17:20:29 -05:00
Ethan Frey 512c601adc Add tests for query path routing 2018-02-06 17:20:29 -05:00
Ethan Frey bc325c4d1c Add Query routing to rootMultiStore 2018-02-06 17:20:29 -05:00
Ethan Frey 57b28d95de Add GetStoreByName to MultiStore to help with Query lookups 2018-02-06 17:20:29 -05:00
Jae Kwon c6bad0b325 Add first Basecoin test harness 2018-01-26 06:54:03 -08:00
Jae Kwon be665d53fe Substore->Store; BaseApp has db; Mapper 2018-01-22 06:20:46 -08:00
Jae Kwon 68e04e629a Do not use global wire.Marshal* 2018-01-21 19:48:19 -08:00
Jae Kwon 14a0dce920
Refactor basecoin example (#332)
Refactor basecoin example
2018-01-17 16:59:40 -08:00
Ethan Buchman 48a864f93d store: fix tests 2018-01-15 20:10:46 -05:00
Ethan Buchman 381424460c basecoin compiles 2018-01-14 22:49:57 -05:00
Ethan Buchman 5e46eea616 types and store compile 2018-01-12 19:17:17 -08:00
Ethan Buchman 2c1d5332be make test/install 2018-01-06 15:53:31 -05:00
Ethan Buchman 1d07f88867 new basecoin example 2018-01-03 20:20:21 -05:00
Jae Kwon 657820372c App compiles. Ready to build on it 2017-12-26 17:04:48 -08:00
Jae Kwon 1afab45cf5 Move store/types.go to types/store.go and alias 2017-12-21 20:05:41 -08:00
Jae Kwon cd278dea6c Fix dependency in store 2017-12-21 19:48:29 -08:00
Jae Kwon 45c2e9c30b curVersion -> nextVersion 2017-12-21 03:44:27 -08:00
Jae Kwon 6f9a08d921 Conform to new tmlibs Iterator 2017-12-21 03:44:04 -08:00
Jae Kwon 1ec9e2e0ae Commit, and working on InitState/SetOpetion 2017-12-21 03:41:40 -08:00
Jae Kwon d681049023 CommitMultiStore, and SetCommitStoreLoader->SetSubstoreLoader 2017-12-21 03:39:00 -08:00
Ethan Buchman 72b0ed004b wip: tests and fixes for kvstore iteration 2017-12-21 03:31:33 -08:00
Jae Kwon eb1f877d3d
KVStore refactor (#303)
I removed that stuff about cwwMutex and CacheWraps expiring. It was unnecessary complexity given that users need not write concurrent logic. If you have 2 CacheKVStores and you Write on one and later you Write on the other one, they will both write, and strange things may happen. But that’s OK, it’s kinda the expected (unsurprising) behavior. And now the code is much simpler.

Also I got rid of IterKVStore. It’s not necessary to distinguish them because we can have KVStore.Iterator() return nil or panic or an empty iterator. Further simplification…

KVStore.CacheKVStore() doesn’t exist. No need, just call NewCacheKVStore(parent).

Originally I wanted the .CacheKVStore() method because you can make the implementor be responsible for ensuring that returned CacheWraps don’t trample each other. But as written previously this complicates the code a lot more and it isn’t strictly necessary. It’s a kind of magic that maybe should just be avoided.

sdk.Iterator is dbm.Iterator. The plan is to conservatively add more aliases into the “sdk” namespace.

GetError() is removed from Iterator. We need to just panic to be consistent. More simplification.
2017-12-12 20:13:51 -08:00
Ethan Buchman 1a28c4b89c store: add some tests, fix deadlocks (#297) 2017-12-11 23:36:50 -08:00
Jae Kwon af7a621440
cacheMergeIterator (#298) 2017-12-11 23:30:44 -08:00
Jae Kwon 04fcc6193c
iavlIterator using goroutine (#295) 2017-12-10 00:24:55 -08:00
Jae Kwon f4484ab3b5 Implementing iavlStore... 2017-12-09 12:35:51 -08:00
Jae Kwon a47da2c8e1 store/* fixes 2017-12-04 00:56:25 -08:00
Jae Kwon 1d207a2a5e Fixing store/* bugs... 2017-12-04 00:23:10 -08:00
Jae Kwon 0917fc3de7 rootMultiStore holds lastCommitID 2017-12-03 23:17:10 -08:00
Jae Kwon 8db15fe3ef Committer -> CommitStore; CacheWrap() 2017-12-03 22:55:15 -08:00
Ethan Buchman 51f522f8d8 fix some compile errors 2017-12-03 21:41:02 -08:00
Ethan Buchman 7a9014fcaf fixes from my review 2017-12-03 21:41:02 -08:00
Ethan Frey 8550e79665 If CacheWrap() must support Write() enforce that with interface 2017-12-03 21:41:02 -08:00
Ethan Frey e6f1737a62 Implement IterKVStore/Iterator with TODO 2017-12-03 21:41:02 -08:00
Ethan Frey dc3aa6d92a IAVLStore implements KVStore 2017-12-03 21:41:02 -08:00
Ethan Frey 6a410607b8 Added CommitterLoader for IAVLStore 2017-12-03 21:41:02 -08:00
Jae Kwon 8c250cc840 Move Queue to attic 2017-12-01 14:08:37 -08:00
Jae Kwon 6a3a37d5a6 Update store types to new spec 2017-12-01 09:24:02 -08:00
Jae Kwon 3474efc599 Cleanup multistore 2017-12-01 08:52:54 -08:00
Jae Kwon 9eed008eed RootStore -> rootMultiStore 2017-11-29 07:58:09 -08:00
Jae Kwon c01c38acd1 IAVLStore template 2017-11-29 03:08:32 -08:00
Jae Kwon 2b84b2cda2 Remove most of state/* 2017-10-31 15:45:57 -05:00