Commit Graph

57 Commits

Author SHA1 Message Date
Jae Kwon 2779f4dba3
Add general merkle absence proof (also for empty substores) (#2685) 2018-11-07 00:03:02 -08:00
Jae Kwon f4338d6f75 Fix merge conflict bug; Update PENDING 2018-11-04 19:42:11 -08:00
Jae Kwon 5b74e1d0b6
Bez/tm0.26 update pt 2 redux (#2684)
* Update to TM v0.26.0
* Update TODOs
* Proof and verification updates
* Fix linting
* Fix key path creation
* Temporarily fix tendermint revision to make tests pass
2018-11-04 19:36:35 -08:00
Alexander Bezobchuk 50926fffff Update to TM v0.26.0 - Part I (#2679)
* Update to TM v0.26.0
2018-11-04 18:28:38 -08:00
Christopher Goes 17983460b8
Merge PR #2219: Update to Tendermint 0.24 (except NextValSet offsets) 2018-10-03 17:48:23 +02:00
Dev Ojha 43ccbd4185 Merge PR #2281: Update to iavl 0.11.0 2018-09-09 23:13:17 +08:00
Jeremiah Andrews 2378e3431c Fix linter errors 2018-09-03 07:58:57 -07:00
Jeremiah Andrews b72f87a027 Update IAVL dependency for v0.10.0 2018-09-03 07:57:15 -07: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
Joon d46140a392 Merge PR #1481: Transient Stores 2018-07-27 03:24:18 +02: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
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 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
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
sunnya97 caf8c77dce works 2018-05-26 18:00:39 -07:00
rigelrozanski 677559bf6c cwgoes comments 2018-05-09 18:24:51 -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
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 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 f6cea66e2e test and fix InitChain 2018-02-17 16:32:30 -05:00
Ethan Frey 31f00742e5 Add query to iavl store 2018-02-06 17:20:29 -05:00
Jae Kwon be665d53fe Substore->Store; BaseApp has db; Mapper 2018-01-22 06:20:46 -08:00
Jae Kwon 657820372c App compiles. Ready to build on it 2017-12-26 17:04:48 -08:00
Jae Kwon 6f9a08d921 Conform to new tmlibs Iterator 2017-12-21 03:44:04 -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 8db15fe3ef Committer -> CommitStore; CacheWrap() 2017-12-03 22:55:15 -08:00