87 Commits

Author SHA1 Message Date
Vanshdeep Singh
1a74afa9cd Problem: Node operator cannot vote on a ValidatorElection (#2428)
* Problem: Node operator cannot vote on a ValidatorElection

Solution: Implement validator election voting spec

* Problem: Incorrent code comments

Solution: Update comments with correct context

* Problem: Delegated vote not casted back to election

Solution: Update test to cast votes back to election id and assert their validity
2018-08-02 11:49:59 +02:00
Vanshdeep Singh
f13c9a9d57 Problem: Stateful validation doesn't raise double spend exception (#2422)
* Problem: Stateful validation doesn't raise double spend exception

Solution: Transaction.validate should raise exception DoubleSpend if the given
transaction is already a part of the database

* Problem: Double spend exception message not accurate

Solution: The exception message should state that the double spend is because of
spending the same input more than once in the transaction
2018-07-31 14:06:21 +02:00
Vanshdeep Singh
7dcdefc58b Problem: There is no way to add new validators (BEP-21) (#2392).
Solution: Start by integrating the new election spec specifed in BEP-21.
2018-07-27 17:38:24 +02:00
Zachary Bowen
2386ca9d71 Refactor tendermint directory to project root (#2401)
* Problem: core.py contains an unused class, `Bigchain`

Solution: Remove core.py. Refactor BigchainDB Class to remove inheritance from Bigchain.

* Problem: core.py contains an unused class, `Bigchain`

Solution: Remove core.py. Refactor BigchainDB Class to remove inheritance from Bigchain.

* Fixed flake8 complaint about too many blank lines

* Attempting to fix Sphinx docs. This may result in some redundant commits, as I don't know what I'm doing, and I can't experiment without running the CI...

Sorry in advance!

* Attempting to fix Sphinx docs. This may result in some redundant commits, as I don't know what I'm doing, and I can't experiment without running the CI...

Sorry in advance!

* Updating from master changed BigchainDB.process_post_response to a private method, so I had to align with that.

* Fixed a couple stale references to bigchaindb.Bigchain in docstrings

* Missed a reference to `Bigchain` in a patch call...

* Problem: BigchainDB class should be part of project root

Solution: Removed the /tendermint directory and moved its contents to project root

* Problem: Flake8 complained that imports were not at the top of the file

Solution: Had to play around with the order of imports to avoid cyclic dependencies, but its working and style compliant now

* Problem: Stale reference to /tendermint directory in the index

Solution: Removed the references to /tendermint

* Problem: Flake8 complaining of unused import in __init__.py

Solution: The import is there so I can import App directly from bigchaindb, rather than from bigchaindb.core (which I think improves code readability. I added a # noqa to silence Flake8.

* Problem: Stale references to `bigchaindb.tendermint.BigchainDB` in the rst files cause Sphinx to fail

Solution: Updated the autodoc files to use `bigchaindb.BigchainDB` instead

* Problem: Stale reference to the `tendermint` directory in an @patch in a disabled test

Solution: Updated the @patch for completeness

* Problem: BigchainDB class should be part of project root

Solution: Removed the /tendermint directory and moved its contents to project root

* Problem: Flake8 complained that imports were not at the top of the file

Solution: Had to play around with the order of imports to avoid cyclic dependencies, but its working and style compliant now

* Problem: Stale reference to /tendermint directory in the index

Solution: Removed the references to /tendermint

* Problem: Flake8 complaining of unused import in __init__.py

Solution: The import is there so I can import App directly from bigchaindb, rather than from bigchaindb.core (which I think improves code readability. I added a # noqa to silence Flake8.

* Problem: Stale references to `bigchaindb.tendermint.BigchainDB` in the rst files cause Sphinx to fail

Solution: Updated the autodoc files to use `bigchaindb.BigchainDB` instead

* Problem: Stale reference to the `tendermint` directory in an @patch in a disabled test

Solution: Updated the @patch for completeness
2018-07-25 16:59:25 +02:00
Zachary Bowen
4d2e58416c Problem: Bigchain class is unused and redundant (#2366)
* Problem: core.py contains an unused class, `Bigchain`

Solution: Remove core.py. Refactor BigchainDB Class to remove inheritance from Bigchain.

* Problem: core.py contains an unused class, `Bigchain`

Solution: Remove core.py. Refactor BigchainDB Class to remove inheritance from Bigchain.

* Fixed flake8 complaint about too many blank lines

* Attempting to fix Sphinx docs. This may result in some redundant commits, as I don't know what I'm doing, and I can't experiment without running the CI...

Sorry in advance!

* Attempting to fix Sphinx docs. This may result in some redundant commits, as I don't know what I'm doing, and I can't experiment without running the CI...

Sorry in advance!

* Updating from master changed BigchainDB.process_post_response to a private method, so I had to align with that.

* Fixed a couple stale references to bigchaindb.Bigchain in docstrings

* Missed a reference to `Bigchain` in a patch call...

* Merge with master and re-do some changes
2018-07-10 17:34:51 +02:00
codegeschrei
af996650c3 Problem: The Block class is deprecated (#2368)
* Problem: docs are not building anymore
Solution: add wget to the requirements for docs

* Problem: The Block class is deprecated
Solution: remove the block class and all occurrences
2018-06-29 15:32:16 +02:00
codegeschrei
7449b026fa Problem: voting code is not used anymore (#2357)
* Problem: voting code is not used anymore
Solution: remove all voting related code

* Problem: Some voting functionality is still present.

Solution: Remove it. Update some of the related tests.

* Problem: some skipped tests are now running
Solution: remove pytest mark to not run them

* Problem: fastquery is not related to votes
Solution: remove it in another PR
2018-06-28 11:30:13 +02:00
Muawia Khan
2b39566a4b Problem: Some configurations are defunct (#2338)
* Problem: BigchainDB config has stale/deprecated parameters

- Remove `keyring` and `keypair` from config
- Update tests
- Add `tendermint` config

* Fix flake8

* Update some naming conventions and redundant changes

* Remove redundant routine `fast_query`

* Remove deprecated parameters and descriptions

* remove some more unwanted code

* Problem: Two flake8 errors made Travis fail

Solution: Fix the two flake8 errors

* Address comments

- Remove reference of nodes_except_me and me_private and me
  as attributes of BigchainDB instances
- Update and re-add test(s)
- Do not introduce `tendermint` in configuration instead handle that
  in a separate PR along with docs

* Address comments

- Remove tests that are already covered with 2.0
- Remove tests that are no longer relevant
- Add TODO for more cleanup

* Remove tendermint config from configure command
2018-06-08 15:50:50 +02:00
Shahbaz Nazir
e8e02cac50 Problem: Bigchaindb startup sometimes fails due genesis block creation during init (#2129)
* removing GENESIS transaction type
* remove GENESIS transaction schema
* all blocks are same in the eyes of GOD no checks needed for genesis blocks
2018-03-16 16:19:12 +01:00
Vanshdeep Singh
a7ed8cf4cb Write transactions on commit (#2017)
* Write transacitons on commit

* Fix docs strings, lazy check for duplicates
2018-02-02 14:40:24 +01:00
Vanshdeep Singh
e25d365828 Integrate blocks API (#1970)
* Integrate blocks api

* Update docs

* Fix docs

* Fixed mismatch between code and documentation

* Fixed docs
2018-01-31 14:42:41 +01:00
Sylvain Bellemare
cb268a3832
Merge branch 'master' into tendermint 2017-12-06 16:59:26 +01:00
Sylvain Bellemare
9dd2e026b0 Fixes #1891 2017-12-05 19:38:52 +01:00
vrde
1e104ad2c4
Merge branch 'master' into tendermint 2017-11-30 18:17:36 +01:00
Katha
e377fb57af
Pre commit styling (#1914)
* run pre-commit and fix errors

* mention pre-commit in our guides
2017-11-30 15:04:14 +01:00
vrde
044a052644
Merge branch 'master' into tendermint 2017-11-29 17:18:00 +01:00
kansi
860d247aa4 Fixed decouple assets 2017-11-14 19:23:22 +05:30
kansi
4eca26782c Change metadata model, fix tests and update docs 2017-11-14 00:13:06 +05:30
vrde
2815cffcb5
Flat UTXO collection and first integration with Tendermint™ (#1822)
* Remove testing for rethinkdb, mongodb, and Py3.5

* Add first tests

* Add validation

* Add command to start the ABCI Server

* Reuse existing MongoDB Connection class

* Use DuplicateTransaction

* Test only tendermint

* Update travis scripts

* Fix pep8 errors

* Update Makefile
2017-11-10 17:53:57 +01:00
kansi
8939c0f341 Merge branch 'master' into bug/1592/metadata-text-search 2017-11-09 17:39:35 +05:30
kansi
94ce03cbec Decouple metadata from transaction 2017-11-07 10:50:07 +05:30
kansi
d9d0585228 Added metadata table for mongodb 2017-11-06 20:20:06 +05:30
kansi
a29fd7e84f Fix variable type check and docstrings 2017-11-03 18:37:19 +05:30
kansi
8310b04b17 Merge branch 'master' into bug/1670/asset-language-api-fix 2017-11-03 11:38:09 +05:30
kansi
f3da30aea0 Validate nested keys for asset.data and metadata 2017-11-01 17:26:16 +05:30
kansi
1de5375962 Validate asset data keys 2017-10-31 15:16:59 +05:30
kansi
7226584215 Api fix for asset language 2017-10-31 10:12:16 +05:30
Scott Sadler
bc687ca229 Merge remote-tracking branch 'origin/master' into pipeline-fast-transaction 2017-05-30 11:18:46 +02:00
Rodolphe Marques
e9979dda85 fixed typos 2017-05-24 17:05:43 +02:00
Rodolphe Marques
cda8259e57 Fixed typos 2017-05-24 12:38:34 +02:00
Scott Sadler
b6ae91c541 documentation fix 2017-05-22 12:47:07 +02:00
Scott Sadler
2589e16fd6 pipeline fixes; dont validate tx schema during block creation, parallelise tx schema validation in vote pipeline 2017-05-22 12:41:15 +02:00
Rodolphe Marques
ce414e46f3 Added missing docstrings. Fixed typos. 2017-05-11 12:29:08 +02:00
Rodolphe Marques
aacba571f8 Added docstrings and tests to new methods 2017-05-11 11:38:07 +02:00
Rodolphe Marques
8c0dbeb281 Added asset decoupling support for rethinkdb
Updated schema.
Created queries for assets table.
Fixed tests.
2017-05-10 17:55:43 +02:00
Rodolphe Marques
92392b51a7 Initial implementation to decouple assets from transactions.
Most changes done to how we write and read blocks to the database.
Created schema, indexes and queries for mongodb.
Fixed tests.
2017-05-10 16:43:52 +02:00
Rodolphe Marques
cb87221bdf Voting pipeline now checks for duplicated transactions in blocks during
validation.
2017-04-04 17:57:44 +02:00
Scott Sadler
1f5a8582b6 Merge branch 'master' into tx-structure 2017-03-14 16:22:14 +01:00
Scott Sadler
7c461e47d7 remove structural and schematic validations from Transaction.validate which is validating the spend 2017-03-14 12:39:57 +01:00
Scott Sadler
0fb4ea424b remove stray validation 2017-03-13 14:55:03 +01:00
Scott Sadler
b997057962 fix tests 2017-03-13 14:25:36 +01:00
Scott Sadler
cb6bd34744 test create tx does not have an asset id 2017-03-13 13:47:37 +01:00
Scott Sadler
dc58466de3 Merge branch 'master' into voting-class-integration 2017-03-13 13:35:03 +01:00
Scott Sadler
53dff83ed4 Merge remote-tracking branch 'origin/master' into validationerror-refactor 2017-03-08 13:07:51 +01:00
Scott Sadler
d10772e4bf Merge remote-tracking branch 'origin/master' into voting-class-integration 2017-03-08 12:56:58 +01:00
Scott Sadler
e5dd5c665b address vrde's comments, reshuffle some exceptions around 2017-03-07 13:15:31 +01:00
Scott Sadler
5584de59b0 Make ValidationError a superclass of all validation errors and use it 2017-03-03 11:36:50 +01:00
Scott Sadler
a71dc66e97 extra test for tx_collector and docs fix 2017-03-02 18:48:03 +01:00
Scott Sadler
1d935b9ae6 dedupe tx in block, reject duplicate tx in block 2017-03-02 14:35:20 +01:00
Scott Sadler
c993f954e0 wip 2017-02-27 20:56:01 +01:00