Commit graph

145 commits

Author SHA1 Message Date
theoreticalbts
50c06e7e64 Merge branch graphene/develop into bitshares at commit '1b8ce8a'
Conflicts:
	libraries/chain/include/graphene/chain/hardfork.hpp
2016-02-16 11:02:11 -05:00
theoreticalbts
e46af9f372 Merge branch '538-fork-buyback' into develop
Includes dependencies '555-fork-defer-s4n-cull', '559-test-fix-zero-block-wait' and '566-cleanup-wl-flag-check'
2016-02-11 13:03:19 -05:00
Daniel Larimer
146c0c4d8e Clean up some non-determisitic behavior, maybe fix #485
1. Replace ordered_non_unique indexes with composite keys / ordered_unique, using object_id as tiebreaker.
2. Make some casts more explicit.

This commit was rebased by theoreticalbts due to conflicts with the patches for #466 #562 including bugfixes

- Fix flipped comparison operator
- Implement operator> and operator!= for object_id_type
2016-02-11 13:02:11 -05:00
theoreticalbts
c33fe35e4e Implement buyback accounts #538 2016-02-11 04:59:28 -05:00
theoreticalbts
078e63a79f Merge many bugfix branches into develop
Merged:

492-bugfix-open-fail #492
523-bugfix-multiple-blind-xfer #523
537-cleanup-remove-operation_get_required_authorities #537
540-cleanup-settle-volume-spam #540
542-bugfix-cancel-fee #542
557-bugfix-pts-address #557
559-test-fix-zero-block-wait #559
561-bugfix-serializer-build-broken #561
562-bugfix-unreflected-fields #562
2016-02-09 10:57:21 -05:00
theoreticalbts
e8aeacc293 operations.cpp: Remove unused ancient implementation of operation_get_required_authorities #537 2016-02-09 04:36:41 -05:00
Daniel Larimer
062ae3fc67 validate fixes 2016-02-02 16:39:05 -05:00
theoreticalbts
a1e8fc0741 Implement top_n special authority #516 2016-01-27 10:30:32 -05:00
Michael Vandeberg
fd09669be3 Merge branch '500-crypto-api' into develop
Closes cryptonomex/graphene#500
2016-01-07 17:24:13 -05:00
Michael Vandeberg
8df58439b1 Opens up cryptographic methods in their own API with serialized wrappers for public and private keys.
Tests for serialization of the wrappers added in serialization_tests.
2016-01-07 17:17:27 -05:00
theoreticalbts
f1b19b1562 Merge branch '496-cleanup-license-header' into develop 2016-01-07 13:38:52 -05:00
Fabian Schuh
5111084730 [License] Modify cpp and hpp headers to MIT #496 2016-01-07 11:44:52 -05:00
theoreticalbts
1b8ce8a537 Merge branch '498-cleanup-move-options-validate' into develop 2016-01-07 11:42:41 -05:00
theoreticalbts
c56cbfe2a7 account.cpp: Move account_options::validate() implementation from account_object.cpp #498 2016-01-07 11:42:16 -05:00
theoreticalbts
84fab61589 Merge branch '480-fork-mia-core-exchange' into develop 2016-01-07 11:30:04 -05:00
theoreticalbts
4d5515702c Merge branch 'graphene/480-fork-mia-core-exchange' into bitshares 2015-12-15 14:42:02 -05:00
theoreticalbts
f42bbcd087 Fix non-BTS MIA core_exchange_rate check #480 2015-12-15 14:20:00 -05:00
theoreticalbts
020dc2e789 Merge branch 'graphene/develop' into prerel-2015-12-07 2015-12-07 17:45:45 -05:00
Eric Frias
ed1121d3f6 Hack to allow address parsing code to handle both MUSE prefix and BTS
prefix
2015-11-09 16:38:19 -05:00
theoreticalbts
a96fd62d03 fee_schedule.cpp: Use relaxation to set fee #435 2015-11-05 15:59:32 -05:00
theoreticalbts
545fbfe63c Merge branch 'newmaster' into newbitshares
Conflicts:
	libraries/chain/asset_evaluator.cpp
	libraries/chain/include/graphene/chain/hardfork.hpp
	libraries/chain/market_evaluator.cpp
2015-11-02 10:06:13 -05:00
Daniel Larimer
5d6091e581 HARDFORK - adding operation to claim asset fees #413 2015-10-30 18:07:19 -04:00
Daniel Larimer
ddd58e946a Fix #385 - HARDFORK to expand valid names 2015-10-21 09:29:13 -04:00
theoreticalbts
8488731e37 Merge branch 'master' into bitshares 2015-10-20 13:27:57 -04:00
theoreticalbts
0e41933003 asset_evaluator.cpp: Implement TODO, move feed validation checks from evaluate() to validate() 2015-10-20 12:36:47 -04:00
theoreticalbts
704f943181 address.cpp: Don't special-case BTS prefix 2015-10-20 12:36:47 -04:00
Daniel Larimer
15e4464300 Merge branch 'master' into bitshares 2015-10-14 14:50:38 -04:00
Daniel Larimer
39fb95b66c remove/fix address prefix checking 2015-10-14 14:33:48 -04:00
Daniel Larimer
b325805878 fix recursion 2015-10-12 18:58:41 -04:00
Daniel Larimer
63bd27e7d2 adding initial seed nodes 2015-10-12 15:15:46 -04:00
Daniel Larimer
52d88c57c9 prevent assets with BIT prefix 2015-10-12 14:17:18 -04:00
theoreticalbts
d0609e8e74 Update copyright notice for BitShares 2015-10-12 13:48:40 -04:00
theoreticalbts
60f0812de2 Update copyright notice 2015-10-12 13:32:47 -04:00
Eric Frias
9c650bddb0 Make conversions from boost's uint128_t to builtin int64_t explicit, without these
the compiler prefers to convert through operator bool yielding either 1 or 0.
2015-10-10 17:13:56 -04:00
theoreticalbts
f0f96d5a8f Allow witness-fed and committee-fed BitAsset feeds to be specified in flags.
This is only technically a hardfork, in order to actually desync the chain
the witness account / committee account would need to pass a proposal to do
something in their capacity as the owner of an asset_object.  It should be
fairly safe to say that this will not occur on testnet until witnesses have
upgraded.
2015-10-09 13:23:55 -04:00
Daniel Larimer
514148d780 Fix #349 - Prevent potential overflow on rational math 2015-10-08 16:57:19 -04:00
theoreticalbts
3f00bd81b9 HARDFORK Disallow publishing certain malformed price feeds, fix #357 2015-10-08 15:26:13 -04:00
theoreticalbts
9b910ee1a4 HARDFORK Allow digits in asset name; fix #359 2015-10-08 15:26:13 -04:00
Daniel Larimer
1137120aa2 address rounding errors in fee calculation 2015-10-01 16:32:30 -04:00
theoreticalbts
96e8f8dd6d cli_wallet: Improve propose_parameter_change interface 2015-09-29 11:55:26 -04:00
Daniel Larimer
a3082897ae HARDFORK: fix address authority
Accounts that use address_auths rather than key_auths would fail to
recognize a properly signed transaction.  This is only relevant to
genesis accounts for imported collateral positions.
2015-09-24 10:10:36 -04:00
theoreticalbts
695978cfa1 Implement committee_member_update operation #258 2015-08-26 17:42:50 -04:00
theoreticalbts
7db477b9d7 Implement witness_update_operation #258 2015-08-26 17:33:19 -04:00
theoreticalbts
0bcfc69da2 Further improve Merkle root algorithm, implement unit test #266
This commit redefines the hash h of a node in the Merkle tree as:

h(unary_node) = unary_node
h(binary_node) = H(left_child + right_child)

Previous code in c0b9af9a99 defined hash as:

h(unary_node) = H(unary_node + digest_type())
h(binary_node) = H(left_child + right_child)

The improved definition in this commit saves some hash computations.
2015-08-26 15:36:05 -04:00
Eric Frias
c0b9af9a99 Greatly reduce the amount of time the p2p network code will wait for a peer to
return a requested block/transaction.  Make this time dependent on the actual block
interval.  This should allow the the node to give up and request the block from
another peer before the ~30 second undo interval has passed.
Fix the merkle root calculation to avoid reading
past the end of a vector.  Modify the algorithm to do what was likely intended
(this modification is currently disabled because it will yield different results
than the currently-running testnet)
Fix windows build errors.
2015-08-24 09:57:47 -04:00
theoreticalbts
3eedabbac2 Compute scaled precision at compile time, use in tests (fixes failures by prev commit) 2015-08-11 15:04:48 -04:00
theoreticalbts
2d1e76aed0 Get rid of chain ID global, move chain_id_type to types.hpp 2015-08-06 12:56:40 -04:00
theoreticalbts
2e9876b557 Implement chain-locked transactions 2015-08-06 12:56:37 -04:00
theoreticalbts
9f9c1e7895 egenesis: Initial implementation of embedded genesis 2015-08-06 12:42:59 -04:00
theoreticalbts
c6debcd59c transaction.cpp: Remove no-op 2015-08-06 12:40:53 -04:00
theoreticalbts
9dfb0d9650 Refactor impacted_accounts into app #183 2015-07-30 12:38:59 -04:00
Nathan Hourt
82ea3c1edd [GUI] Add transaction signing
TODO: encrypt the memo (some work to facilitate this is done in this
commit)
2015-07-29 17:56:37 -04:00
theoreticalbts
35ab119b26 Fix throwing incorrect exception type 2015-07-28 17:10:52 -04:00
theoreticalbts
36e155bc0c Implement tx_duplicate_sig exception, fix committee_authority test 2015-07-28 17:10:52 -04:00
theoreticalbts
54103da9a8 Implement tx_irrelevant_sig exception, fix assert_op_test 2015-07-28 17:10:52 -04:00
Nathan Hourt
5d7ae4e6a8 [GUI] More work to support transactions
- Refactor GUI with FormBase.qml
- Fix memo handling in TransferOperation
- Add TransactionConfirmationForm.qml which will eventually display a
transaction for confirmation
2015-07-27 16:01:22 -04:00
Eric Frias
6d2b1a3648 Win32 compile fixes (missing includes, workaround for bugs in c++ parser) 2015-07-27 12:09:34 -04:00
Daniel Larimer
e4ff106cd4 Partial Wallet support for Blind Transfers
public->blind
blind->blind
TODO: blind->public
2015-07-24 11:37:37 -04:00
Daniel Larimer
c740d2b3c8 Merge branch 'master' of github.com:cryptonomex/graphene 2015-07-23 18:47:32 -04:00
Daniel Larimer
57ca0c0e39 Wallet Support for Some Confidential Transactions
Support public account to blinded balance
Support receiving blinded balance given confirmation
Implement but not test blind to blind transfers.
2015-07-23 18:46:06 -04:00
Vikram Rajkumar
5d3bd282c8 Try to fix linking error; #202 2015-07-23 15:09:38 -04:00
theoreticalbts
cd6b574141 types.hpp: Move voting stuff to separate header 2015-07-23 13:37:06 -04:00
Daniel Larimer
c9688ae051 Fix #200 Fee Schedule is now validated when chain_paramters are validated 2015-07-22 18:40:12 -04:00
theoreticalbts
44e7a8cb46 transaction.cpp: Make depth parameter uint32_t, silence compiler warning 2015-07-22 17:13:45 -04:00
theoreticalbts
83c8b4c5f9 transaction.cpp: Implement minimize_required_signatures and nonminimal_sig_test 2015-07-22 17:13:45 -04:00
Daniel Larimer
6f19268ffd Merge branch 'confidential' 2015-07-22 16:24:07 -04:00
theoreticalbts
9b6998af6d config.hpp: Increase GRAPHENE_MIN_ACCOUNT_NAME_LENGTH to 3
Length requirement is enforced by RFC 1035 grammar.  Use a compiler
error to tell anyone changing config.hpp that any value for this
constant smaller than 3 is unsupported by the implementation.
2015-07-22 16:01:14 -04:00
Daniel Larimer
be65c277c9 Implement and Test Confidential Transactions
This checkin contains a fully functional confidential transaction
integration with passing unit tests.
2015-07-22 14:45:13 -04:00
theoreticalbts
3e5d3495e1 Remove some dead code 2015-07-22 13:18:09 -04:00
theoreticalbts
d343a71c56 asset_evaluator.cpp: Enforce issuer permissions #176 2015-07-21 16:07:14 -04:00
Daniel Larimer
dffc83cca9 Refactor full account subscriptions
When subscribing to an account via the get_full_account API it will
start streaming any object relevant to the account that is added,
removed, or modified.
2015-07-21 15:19:52 -04:00
Daniel Larimer
b3d299d241 #170 Make sure accounts cannot be updated with impossible auhtority settings 2015-07-21 09:23:14 -04:00
Daniel Larimer
a55b348e6c #170 Make sure TEMP ACCOUNT cannot be updated 2015-07-21 08:34:38 -04:00
Vikram Rajkumar
d0b8c66aad Fix Linux Clang build with missing includes; resolve #174 2015-07-20 14:57:08 -04:00
Daniel Larimer
8c6e0b9e55 Refactor Authority Checking
transaction_evaluation_state no longer tracks authority validation.
Authority validation is now compeltely independent of the database.
2015-07-17 00:41:43 -04:00
Daniel Larimer
b08b6cb553 Partial work toward auth refactor 2015-07-16 18:13:11 -04:00
Vikram Rajkumar
d9855f9023 Clean up some TODOs; #77 2015-07-15 18:15:41 -04:00
theoreticalbts
a4496eccb8 Fix #162 by adding an active authority to tests that use account_create_op directly 2015-07-15 17:22:47 -04:00
Eric Frias
8944facd41 Fix signed/unsigned mismatch warning 2015-07-15 14:53:43 -04:00
theoreticalbts
a751d90e00 Move witness pay to VBO, update test #142 2015-07-15 12:36:26 -04:00
Daniel Larimer
cfa95a3f57 Issue #157 - make trx expiration absolute
This is done to comply with the policy that transactions should be self
describing and not depend upon implied state.  This makes things easier
for everyone to understand exactly when a transaction will be invalid
without having to refer to chain state.
2015-07-14 18:46:58 -04:00
Daniel Larimer
d1c3c7a698 Issue #157 - TAPOS Refinements
1. Implement a TaPoS assert operation predicate that offers full block ID
validation for transactions that want the added security. This is only
required for transactions that are of high value and transfer control of
funds to a newly created identifier and where the witnesses cannot be
trusted.

2. Remove the full block ID from the transaction digest generation.
2015-07-14 17:28:26 -04:00
Vikram Rajkumar
2f429e07f1 Rename bad references to delegate -> committee member; #147 2015-07-13 16:08:17 -04:00
Vikram Rajkumar
70b77be3bc Rename bad references to genesis account -> committee account; #147 2015-07-13 16:08:16 -04:00
Daniel Larimer
e8d2b45d67 improve authority checking performance, adding automatic transaction signing helpers 2015-07-10 15:56:44 -04:00
Eric Frias
8245b18c98 Win32 compile fixes 2015-07-10 11:55:12 -04:00
Daniel Larimer
49937daeb8 Rename delegate_signature->witness_signature #147
- changed secret hash of block headers from 224 to 160 to save 16 bytes
per header which will add up to 1 MB per day in savings.
2015-07-09 18:11:52 -04:00
Daniel Larimer
a164fbe8fa fix proposal authority 2015-07-09 15:14:44 -04:00
theoreticalbts
a41384d4b1 asset_ops.hpp: Change bitasset_options member name to bitasset_opts to fix gcc compile 2015-07-09 14:52:22 -04:00
Daniel Larimer
9699be84e6 Progress on #144 2015-07-09 11:40:37 -04:00
Daniel Larimer
c8f200868c fix zero all fees #144 2015-07-09 10:15:53 -04:00
Daniel Larimer
c8f0ea4abe It now builds #144 2015-07-09 09:56:50 -04:00
Daniel Larimer
786c65d4b4 Merge branch 'master' into fee_refactor 2015-07-09 08:43:45 -04:00
Daniel Larimer
fdcf821c41 Progress on #144 - refactoring fee schedule 2015-07-08 18:45:53 -04:00
Daniel Larimer
baf5531238 Refactored chain library
- remove circular dependency with fee_schedule
- unitiy build db_* as database.cpp
- move protocol definitions in separate directory
- combined some objects/evaluators
- combined limit/call evaluator/objects into market_evaluator.*
2015-07-08 16:39:23 -04:00