Commit graph

624 commits

Author SHA1 Message Date
Daniel Larimer
c77cb49cc2 adding new API calls that can be used to check required signatures on transactions 2015-07-20 18:27:09 -04:00
Vikram Rajkumar
d0b8c66aad Fix Linux Clang build with missing includes; resolve #174 2015-07-20 14:57:08 -04:00
Daniel Larimer
e4c29cbe78 #166 Define type-safe API for get_full_account() 2015-07-17 22:58:36 -04:00
Daniel Larimer
517ea70c95 #169 - Removing Bulk Discounts 2015-07-17 22:07:07 -04:00
theoreticalbts
c67acc0cf5 uia_tests.cpp: Implement transfer_restricted_test 2015-07-17 20:48:49 -04:00
Eric Frias
7388a85cf2 Prevent the wallet from generating duplicate transactions when you
execute the same command twice in quick succession, Fix #165
2015-07-17 17:29:04 -04:00
Nathan Hourt
0fe9276c44 [GUI] Refactor ClientDataModel, implement account balances 2015-07-17 16:06:39 -04:00
theoreticalbts
d52461b77b operation_tests.cpp: Implement reserve_asset_test 2015-07-17 15:54:18 -04:00
Daniel Larimer
46fae5cbbf make max authority check depth configurable by delegates 2015-07-17 09:41:08 -04:00
Daniel Larimer
2492df752d Merge branch 'auth_refactor' 2015-07-17 01:02:29 -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
Nathan Hourt
723b11533b Progress #166: Initial implementation of get_full_accounts API call 2015-07-16 17:04:35 -04:00
Daniel Larimer
dc8849f23b Active key is not required when owner key present
- when updating account there is no need to sign with the active key if
 the owner has signed.
 - when updating an account the active key is enough to update the
 active key.
2015-07-16 16:09:32 -04:00
theoreticalbts
3cdcf5139f market_evaluator.cpp: Fix call_order_update_evaluator exception logic 2015-07-16 15:32:58 -04:00
Eric Frias
11a5d2b620 When the p2p code processes a block that contains transactions
we haven't seen, avoid fetching those transactions separately
2015-07-16 15:31:52 -04:00
Daniel Larimer
8ff2c94c52 Update API to address #164 2015-07-16 14:28:23 -04:00
Vikram Rajkumar
46f35d0f89 Fix witness block production failure on block 1; resolve #163 2015-07-16 13:46:17 -04:00
Vikram Rajkumar
d9855f9023 Clean up some TODOs; #77 2015-07-15 18:15:41 -04:00
Nathan Hourt
b433f90a55 [GUI] Use assets and balances in transfer form 2015-07-15 17:55:16 -04:00
theoreticalbts
2ec17e2254 wallet.cpp: Use reflection in get_prototype_operation() 2015-07-15 17:52:57 -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
theoreticalbts
8aa048661f Remove unused undo_block and undo_transaction skip flags 2015-07-15 17:09:53 -04:00
Eric Frias
b6a5119226 Allow using hostnames for seed nodes 2015-07-15 15:48:01 -04:00
Eric Frias
8944facd41 Fix signed/unsigned mismatch warning 2015-07-15 14:53:43 -04:00
Daniel Larimer
9671a92c43 Merge branch 'master' of github.com:cryptonomex/graphene 2015-07-15 14:18:32 -04:00
Daniel Larimer
7f54d3d077 Issue #160 - Dynamic Undo History / Minority Fork
The blockchain now has a minimal participation requirement that can only
be overridden with checkpoints.  Any time participation falls below a
minimal level no new blocks may be added.

Currently it requires 66% participation and tolerates short periods of
time below 66% participation with a maximum of 500 consecutive blocks
missed.  For every two blocks produced 1 can be missed with a slack of
999 bias.
2015-07-15 14:13:24 -04:00
theoreticalbts
a751d90e00 Move witness pay to VBO, update test #142 2015-07-15 12:36:26 -04:00
Daniel Larimer
e5f8d0f548 removing unecessary field 2015-07-14 18:50:03 -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
da254cdbff Fix #158 - block summary database now only has 2^16 entries 2015-07-14 17:56:42 -04:00
Daniel Larimer
b9f6ee4f2c adding asset fetching 2015-07-14 17:36:18 -04:00
Eric Frias
8927e800af Merge branch 'github_master'
Conflicts:
	CMakeLists.txt
	libraries/fc
	libraries/wallet/include/graphene/wallet/wallet.hpp
2015-07-14 17:33:03 -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
04392d3598 Fix witness production with 1 second block intervals 2015-07-14 15:23:55 -04:00
Eric Frias
3c24e1251b Update fc submodule 2015-07-14 10:52:02 -04:00
Eric Frias
2f97a84cb2 Update fc submodule to fix win32 builds 2015-07-14 10:49:45 -04:00
Daniel Larimer
98e761c9c2 Merge branch 'master' of github.com:cryptonomex/graphene 2015-07-13 17:24:29 -04:00
theoreticalbts
c019f18bd4 Implement recent_slots_filled and use it to measure witness participation 2015-07-13 17:02:00 -04:00
theoreticalbts
78f0cfa5cc account_evaluator.cpp: Remove unused global_property_object 2015-07-13 16:48:16 -04:00
Daniel Larimer
0beeac94aa Merge branch 'master' of github.com:cryptonomex/graphene 2015-07-13 16:23:22 -04:00
Daniel Larimer
8faec763c8 Names must now be unique. 2015-07-13 16:23:12 -04:00
Vikram Rajkumar
2f429e07f1 Rename bad references to delegate -> committee member; #147 2015-07-13 16:08:17 -04:00
Vikram Rajkumar
6043586d15 Rename bad references to delegate -> witness; #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
Vikram Rajkumar
12d8f3732e Minor 2015-07-13 16:08:16 -04:00
Vikram Rajkumar
cc300937c7 Update submodules 2015-07-13 16:08:16 -04:00
theoreticalbts
e876c5fb81 Organize temporary files under GRAPHENE_TEMPDIR (or /tmp/graphene-tmp if undefined) 2015-07-13 15:15:55 -04:00
theoreticalbts
eb4f39e78c wallet.cpp: Set correct expiration in register_account 2015-07-13 12:33:52 -04:00
theoreticalbts
38c68e1f5d wallet.cpp: Implement suggest_brain_key 2015-07-13 12:33:52 -04:00
theoreticalbts
e201e59b3d Define GRAPHENE_MIN_BLOCK_INTERVAL and use it to fix minimum_time_of_last_offered_block logic #154 2015-07-13 12:33:52 -04:00
Daniel Larimer
a05d88b044 Fix #151 - Witnesses do not produce consecutively
- added an option (on by default) to prevent a witness from signing two
 blocks in a row because this most likely indicates they have been cut
 off from the network.

 - added an option where a witness will not produce a block if the
 witness participation rate is below a configurable threshold (default
                                                               to 33%)
2015-07-13 09:47:03 -04:00
Daniel Larimer
068e579a5f Update error message for #156
Made the error more human friendly.
2015-07-13 08:23:51 -04:00
Daniel Larimer
e8d2b45d67 improve authority checking performance, adding automatic transaction signing helpers 2015-07-10 15:56:44 -04:00
Nathan Hourt
0f6e5a74cd Progress #148: early implementation of solution 2
Needs testing in all the different scenarios, but we no longer fail to
start when resyncing.
2015-07-10 14:17:16 -04:00
Daniel Larimer
c0da987b02 This file is no longer needed! 2015-07-10 14:08:31 -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
a799f064d4 Adding extension points #141 2015-07-09 17:29:30 -04:00
Daniel Larimer
04b8820b3b Merge branch 'master' into fee_refactor 2015-07-09 16:34:56 -04:00
Daniel Larimer
10bd652168 fix uia_transfer test, update transfer error messages 2015-07-09 16:21:40 -04:00
Daniel Larimer
014e6e7b79 fix uia_fees test 2015-07-09 16:05:57 -04:00
Daniel Larimer
9e150df605 Fix withdraw_witness_pay test 2015-07-09 15:55:10 -04:00
Daniel Larimer
48797c6e93 updating error messages 2015-07-09 15:40:19 -04:00
Daniel Larimer
1fbdbc50e0 fix balance claim authority requirements 2015-07-09 15:28:39 -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
theoreticalbts
6899202892 config.hpp: Fix warning 2015-07-09 14:52:22 -04:00
Daniel Larimer
7ead4f3b2d adding checkpoints #121 to application config 2015-07-09 14:19:47 -04:00
Daniel Larimer
c49fbd87e7 adding checkpoints #121 to database 2015-07-09 14:09:21 -04:00
theoreticalbts
ae7b904e4a Clean up some unused files 2015-07-09 11:59:06 -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
Eric Frias
5dea2825b5 Win32 compile fixes 2015-07-09 09:51:15 -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
Vikram Rajkumar
629d884b84 Share some private keys for testnet balances 2015-07-08 18:10:38 -04:00
Vikram Rajkumar
1023ddee92 Fix genesis account memo key init; #17 2015-07-08 18:10:38 -04:00
Nathan Hourt
d64c9154a7 Progress #17: Lazy load genesis state
This speeds up startup for witness_node when starting on a database
which is already initialized.
2015-07-08 17:39:34 -04:00
theoreticalbts
9c4ac2e064 exceptions: Add some exceptions 2015-07-08 16:48:24 -04:00
Nathan Hourt
8d3fd20db2 Progress #17: Fix account key genesis initialization 2015-07-08 16:45:02 -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
Nathan Hourt
6436f0142f Fix witness/delegate count voting; fix unclean witness shutdown on mac 2015-07-08 16:00:22 -04:00
theoreticalbts
2f9e636618 db_maint.cpp: Avoid implementation-defined ordering when votable objects tie for votes 2015-07-08 15:01:25 -04:00
Nathan Hourt
5a01e255e2 Progress #17: Fix genesis witness list 2015-07-08 14:55:51 -04:00
theoreticalbts
d4e4854eb6 exceptions: Implement missing_auth exceptions 2015-07-08 14:29:07 -04:00
theoreticalbts
8ff25b813f Begin implementation of new exception framework #113 2015-07-08 13:53:08 -04:00
Vikram Rajkumar
a735198ac0 Update submodules 2015-07-08 11:32:15 -04:00
theoreticalbts
7bb608a305 types.hpp: Remove parameter_extension as it breaks js_operation_serializer 2015-07-07 22:28:43 -04:00
Nathan Hourt
ed38488155 Fix witness_node 2015-07-07 19:35:33 -04:00
Daniel Larimer
90e04d0290 Refactoring fee schedule to make things more flex
- this code does not compile, there are now circular references that
need to be resolved.
2015-07-07 18:46:27 -04:00
Nathan Hourt
3d60449c6e Progress #8: Test shorts and force settles 2015-07-07 17:39:45 -04:00
theoreticalbts
d31e0108b4 app: Implement username / password based API access #139 2015-07-07 16:04:22 -04:00
theoreticalbts
1dd7316d44 Split network API into network_broadcast_api and network_node_api #118 2015-07-07 16:04:04 -04:00
Vikram Rajkumar
9b5bd12c67 Add genesis_state_type::initial_timestamp; #17 2015-07-07 15:37:31 -04:00
Vikram Rajkumar
38956692ee Fix a couple misleading names 2015-07-07 15:06:06 -04:00
Vikram Rajkumar
2241fda3af Add genesis_state_type::initial_worker_type; #17 2015-07-07 14:02:18 -04:00
Nathan Hourt
e6e7f70ff9 Resolve #98: Finish testing of genesis balances 2015-07-07 13:59:07 -04:00
theoreticalbts
efc1505612 application.cpp: Remove commented-out duplicate of create_example_genesis() logic 2015-07-07 13:07:39 -04:00
Vikram Rajkumar
68744c9de0 Initialize genesis witnesses with default secret commitment; #17, #23 2015-07-07 12:36:31 -04:00
Vikram Rajkumar
70b34aa5d8 Unrevert submodules 2015-07-07 12:36:30 -04:00
Daniel Larimer
e873d3e650 Update balance evaluator / authority checks
- move balance_claim_evalautor implementation from header
- remove authority check from balance_claim evaluator, added to
other_auths defined by the operation
2015-07-07 11:39:16 -04:00
Daniel Larimer
93aff09685 Merge branch 'master' of github.com:cryptonomex/graphene 2015-07-07 10:57:29 -04:00
Daniel Larimer
b1dd41ff3a Refactor get_required_auths on operations 2015-07-07 10:57:01 -04:00
Vikram Rajkumar
d240b6737f Unrevert submodules 2015-07-07 10:40:34 -04:00
Eric Frias
beb2e47832 Prevent deref of invalid optional on wallet import of malformed WIF key 2015-07-07 09:22:15 -04:00
Eric Frias
ce729ba9f9 Add wallet api function to vote for number of witnesses/delegates 2015-07-07 09:22:15 -04:00
Eric Frias
b9b4aa08de Add command to print display raw operation structures 2015-07-07 09:22:15 -04:00
Daniel Larimer
86df9c04fd Progress #141 - defining extension parameters 2015-07-07 09:02:36 -04:00
Daniel Larimer
1eb273118b Fix #136 add serialization to blockchain params 2015-07-07 08:31:47 -04:00
Nathan Hourt
24496932d4 Progress #98: add some vesting genesis balance testing 2015-07-06 17:40:23 -04:00
Nathan Hourt
ab740d6aaa Make memo_test fail if serialization format changes
If this happens, the web guys need to be notified of the new format.
2015-07-06 17:40:23 -04:00
Daniel Larimer
7d6d7066c2 merge 2015-07-06 16:55:28 -04:00
Daniel Larimer
c537e41fcb Merge branch 'master' of github.com:cryptonomex/graphene 2015-07-06 16:50:36 -04:00
theoreticalbts
f175b4561c Properly re-initialize witness scheduler state after a long block gap 2015-07-06 15:51:43 -04:00
Vikram Rajkumar
81df85aed7 Fix BTS genesis import error; #17 2015-07-06 15:00:56 -04:00
Vikram Rajkumar
df03598be9 Do not capture genesis_state on exception 2015-07-06 15:00:52 -04:00
Vikram Rajkumar
fc7fb86cd2 Temporarily allow import BTS address/pubkey prefixes; #17 2015-07-06 15:00:52 -04:00
Vikram Rajkumar
4a7cbaf610 Set default genesis fees to 1 GPH; #17 2015-07-06 15:00:48 -04:00
Daniel Larimer
8ccafe0f03 Refactor fee schedule for extensibility 2015-07-06 14:56:35 -04:00
Vikram Rajkumar
b89ff4e6b1 Some {asset, price} operator cleanup; fix #134 2015-07-06 14:18:47 -04:00
Nathan Hourt
c00e20268d Tweaks circa genesis, should not affect behavior 2015-07-06 14:00:39 -04:00
Nathan Hourt
6ab59f63a7 Resolve #133: allow creation of example genesis json 2015-07-06 14:00:39 -04:00
theoreticalbts
7c30e44dc9 Fix is_valid_name() bugs, make it RFC 1035 compliant, update unit test, fix #15 2015-07-06 13:01:24 -04:00
Vikram Rajkumar
9e820c648b Update submodules 2015-07-06 12:17:18 -04:00
Eric Frias
423eccf4a4 Win32 compile fixes, no functional changes 2015-07-05 17:58:24 -04:00
Eric Frias
3ee8b0c2a4 Prevent duplicate signatures when importing balances #129 2015-07-05 16:04:00 -04:00
Daniel Larimer
c0c6022338 Fix #130 Black Swans Settle at Price Feed 2015-07-03 17:07:24 -04:00
Eric Frias
cc1348bf91 Prevent the wallet from complaining when creating a new account, it
was falsely reporting that someone else had registered your account
first.  I still don't think it's working correctly, but it's
better than it was.
2015-07-02 20:05:31 -04:00
Nathan Hourt
9cb9d2e07f Progress #98: restrict withdrawal rate of vesting genesis balances 2015-07-02 15:40:04 -04:00
theoreticalbts
256b95ac5e use FC for endian reversal to avoid Boost 1.58 2015-07-02 15:33:15 -04:00
Vikram Rajkumar
4a84892981 Fix build errors 2015-07-02 13:04:28 -04:00
Vikram Rajkumar
4d176e73b2 Some linear vesting cleanup 2015-07-02 12:30:11 -04:00
Daniel Larimer
5a41114d94 #125 Replace ntohl with boost::endian::endian_reverse 2015-07-02 12:28:15 -04:00
Daniel Larimer
871aa734ae Update documentation and fix error messages, Fix #127 2015-07-02 12:11:43 -04:00
Daniel Larimer
68fabe1464 Progress #127 - importing balances 2015-07-02 11:18:52 -04:00
Daniel Larimer
3d220e0df6 removing platform specific header, see #125 2015-07-02 10:55:31 -04:00
Eric Frias
a480912110 Add missing include for htonl on linux, #125 2015-07-02 10:49:13 -04:00
Daniel Larimer
d66ee4c8cc remove htonl from memo checksum when it appears to provide no obvious benefit 2015-07-02 10:04:07 -04:00
Daniel Larimer
fefa0f65f8 Issue #106 - Removing KeyObject
- this is a major refactor of the code and may have broken some behavior
in the wallet or witness nodes.
- this commit changes the serialization of operations
- the chain_tests pass
2015-07-02 01:52:45 -04:00
Daniel Larimer
07f621cd65 Merge branch 'master' of github.com:cryptonomex/graphene 2015-07-01 18:17:55 -04:00
Daniel Larimer
8efa2e6738 Progress auditing TODOs #108, upgrade boost 1.58 2015-07-01 18:17:49 -04:00
Eric Frias
acd595f889 Add missing functions for registering delegates 2015-07-01 17:47:39 -04:00
Nathan Hourt
e9b015b768 Add missing header. Derp 2015-07-01 17:25:06 -04:00
Nathan Hourt
66c9606652 Progress #17: Add assets, initial witness count to genesis state 2015-07-01 17:18:53 -04:00
Daniel Larimer
bb71e1933b Implement #103 - Override Transfers by Issuer 2015-07-01 16:21:18 -04:00
Daniel Larimer
17c999ecd5 temporary hack to resolve #118 2015-07-01 15:42:21 -04:00
Daniel Larimer
2257e5da6c #108 Rename Burn to Reserve 2015-07-01 14:43:17 -04:00
Daniel Larimer
683fb6fe32 Merge branch 'master' of github.com:cryptonomex/graphene 2015-07-01 14:05:48 -04:00
Daniel Larimer
4bbaad02a7 Progress on Burn, Reserve, Issue, Retire #108 2015-07-01 14:05:42 -04:00
Nathan Hourt
f29eaa92e2 Fix all outstanding unexpected test failures 2015-07-01 13:53:07 -04:00
Daniel Larimer
e336691e59 Fix #116 and fix build 2015-07-01 13:51:35 -04:00
Daniel Larimer
1d18fe58be Merge branch 'master' of github.com:cryptonomex/graphene 2015-07-01 12:25:41 -04:00
Daniel Larimer
be9c771254 Fix #116 Verify Database Serialization Version 2015-07-01 12:25:39 -04:00
Nathan Hourt
5f5d819a1f Progress #98: Add public key to balance_claim_operation 2015-07-01 12:10:21 -04:00
Nathan Hourt
1c8e31c34a Fix 2 of the failing tests 2015-07-01 12:10:20 -04:00
Eric Frias
609f5a746e Quiet harmless compiler warnings 2015-07-01 11:16:25 -04:00
Eric Frias
d04e452266 Prevent writing past the end of an array when tallying witness/delegate votes 2015-07-01 09:56:37 -04:00
Eric Frias
fd94046eb6 Fix integer overflow errors, work around msvc parser bugs. 2015-06-30 18:50:58 -04:00
Daniel Larimer
ce3fbbf93e Add checks to verify fill_orders #105 2015-06-30 18:48:40 -04:00
Daniel Larimer
18a99584a2 Start #116 Index Version Checking
- adding changes for #115 that didn't make the last commit
2015-06-30 18:40:46 -04:00
Daniel Larimer
187ceb28b6 Merge branch 'master' of github.com:cryptonomex/graphene 2015-06-30 18:22:25 -04:00
Daniel Larimer
70964b55e5 Fix #115 Claiming BTC and PTS balances 2015-06-30 18:20:12 -04:00
Eric Frias
9856d5e8fd Fix CLI commands for creating witnesses, add commands for listing
witnesses, registering witness url.
Derive memo, witness, etc. keys from the active key.
Make witness_create_operation accept relative key identifiers.
Prevent wif_to_key from throwing on invalid base58 input.
Make witness_node accept witness keys in WIF format.
2015-06-30 17:54:19 -04:00
Eric Frias
6aa9264477 Make asset precision uint8 everywhere (it was defined as a uint64 and
referenced as a signed short in some places, I think these were
artifacts from when precision was stored as 10^x instead of x.
2015-06-30 17:54:19 -04:00
Nathan Hourt
210c109acf Progress #17: Create vesting balances in genesis 2015-06-30 17:47:40 -04:00
Daniel Larimer
c41f1057d5 Merge branch 'master' of github.com:cryptonomex/graphene 2015-06-30 17:34:49 -04:00
Daniel Larimer
ede41d6f99 fix warning, add debug for svk 2015-06-30 17:34:46 -04:00
Vikram Rajkumar
49d5d276a1 Fix compiler warning 2015-06-30 17:28:45 -04:00
Daniel Larimer
9dc7189dd6 adding ability to receive a callback when a broadcast transaction is actually included in a block 2015-06-30 17:28:16 -04:00
theoreticalbts
5f5e761ca8 db_block.cpp: Fix tapos rollover logic 2015-06-30 17:07:21 -04:00
Nathan Hourt
c530867933 Progress #17
- Add initial support for vesting genesis balances
- Add owner/active keys to genesis accounts
- Cleanup circa balance_object and evaluator
2015-06-30 17:05:17 -04:00
Daniel Larimer
a05a13b20e Merge branch 'master' of github.com:cryptonomex/graphene 2015-06-30 15:13:23 -04:00
Daniel Larimer
e161e5a9fc Issues #112 Verifying all signatures are used
- refactor how signatures are stored on the transaction, removing key_id
and extra_signatures maps and replacing with a vector
- verify that each key only signs one time
- update tests to handle stricter policies on signatures
2015-06-30 15:11:26 -04:00
Nathan Hourt
e3f5e2cf8d Resolve #104: Set minimum feeds on bitassets 2015-06-30 11:59:53 -04:00
Vikram Rajkumar
0858018977 Fix crash running tests 2015-06-30 11:01:32 -04:00
Peter Conrad
9beff42daa Unused code 2015-06-30 12:02:47 +02:00
Peter Conrad
d0aaad6117 Deprecated + unused + identical to key_to_wif 2015-06-30 11:23:27 +02:00
theoreticalbts
597fe8e912 fc: Implement HTTP server for API RPC 2015-06-30 03:01:32 -04:00
Daniel Larimer
f128839379 Merge branch 'master' of github.com:cryptonomex/graphene 2015-06-29 18:48:51 -04:00
Daniel Larimer
8b546cbf60 adding get_transaction api call 2015-06-29 18:48:47 -04:00
Nathan Hourt
391b0bec45 Progress #17: Remove GRAPHENE_INITIAL_SUPPLY
The INITIAL_SUPPLY macro is generally not useful, and there's no good
way to fulfill the promise it creates. By removing it, I can skip the
scaling on the genesis values. Now, if there is an allocation at
genesis, the supply is determined by that allocation. Otherwise, the
supply is GRAPHENE_MAX_SHARE_SUPPLY and it all belongs to
GRAPHENE_COMMITTEE_ACCOUNT.

Also, remove one of the redundant and confusing MAX_SUPPLY macros and
unify the usage to always be GRAPHENE_MAX_SHARE_SUPPLY.
2015-06-29 17:50:56 -04:00
Daniel Larimer
873cf4dcf8 Merge branch 'master' of github.com:cryptonomex/graphene 2015-06-29 17:29:11 -04:00
Daniel Larimer
681f0923fe add secondary index to get proposals relevant to a particular account 2015-06-29 17:29:04 -04:00
Nathan Hourt
8747a0572b Progress #17: add balance_objects to genesis, test 2015-06-29 17:18:29 -04:00
Daniel Larimer
2ee9b01d3f update secondary index on load 2015-06-29 16:37:31 -04:00
theoreticalbts
e43a538bdc types.hpp: Update fee schedule to use all uint64_t #99 2015-06-29 15:41:19 -04:00
theoreticalbts
51bb9025d0 db_maint.cpp: Avoid stdlib implementation-defined ordering when workers tie for votes 2015-06-29 15:36:02 -04:00
Vikram Rajkumar
f0ea015ccf Clean up is_valid_name and remove child accounts; #15, #93 2015-06-29 15:25:53 -04:00
Vikram Rajkumar
3ac8ccaa39 Fix Ninja build 2015-06-29 15:25:53 -04:00
Vikram Rajkumar
605824952c Clean up is_valid_symbol 2015-06-29 15:25:53 -04:00
theoreticalbts
662cda2abc db_init.cpp: Zero network_fee_percentage on null account 2015-06-29 11:33:29 -04:00
Vikram Rajkumar
7dd3d92a6c Merge pull request #102 from pmconrad/rfc_1035
See #15
2015-06-29 11:13:36 -04:00
Nathan Hourt
f4342d98ae Resolve #67: Add name and/or URL to witness/worker/delegate objects 2015-06-29 10:02:45 -04:00
Peter Conrad
1acf66265f Allow double hyphens 2015-06-29 11:56:30 +02:00
Daniel Larimer
6279515c54 #98 - Adding wallet support for claiming balances 2015-06-28 16:16:24 -04:00
Daniel Larimer
73d55c2d94 #98 Add signature verification 2015-06-28 15:34:52 -04:00
Daniel Larimer
4695405c52 adding missing files 2015-06-28 15:12:00 -04:00
Daniel Larimer
d3391c0fe5 #98 Implement Balance Object and Evaluator 2015-06-27 11:49:41 -04:00
Eric Frias
06b836f344 Add doxygen docs for most cli wallet functions 2015-06-26 17:47:03 -04:00
Nathan Hourt
baea85ea3a Resolve #97: Add exponentially growing fees on account creation
It scales up aggressively right now; this can be adjusted later. I just
wanted to demonstrate that it works.
2015-06-26 16:43:39 -04:00
Nathan Hourt
dba009da4d Resolve #83: core_exchange_rate in feed updates on maintenance 2015-06-26 15:46:16 -04:00
Nathan Hourt
dad1ca3bee Refactor: Move limit order execution to database
This logic was previously located in limit_order_create_evaluator, but
other code may need it in the future, so it should be made available at
the database level.
2015-06-26 15:11:46 -04:00
Vikram Rajkumar
8b010b1f99 Fix compiler warning 2015-06-26 11:40:49 -04:00
Vikram Rajkumar
8d45896900 Update submodules 2015-06-26 11:27:23 -04:00
Nathan Hourt
5b55ab71ea Resolve #94
Core exchange rate is now redundantly stored in price feed for
bitassets, and updated when the median feed changes. This allows feed
producers to update the core exchange rate. Redundant storage is
necessary, because the core exchange rate is needed for user-issued
assets as well as market issued assets.
2015-06-26 10:53:12 -04:00
Eric Frias
0936f9b5f2 Fix #95 CLI wallet crash on exit 2015-06-25 17:34:01 -04:00
Daniel Larimer
2b4d293ecc Merge branch 'master' of https://github.com/cryptonomex/graphene 2015-06-25 15:08:55 -04:00
Eric Frias
714161c56c Fix integer overflow warnings (errors?) 2015-06-25 15:07:51 -04:00
Daniel Larimer
e41d08d843 added callback with 'deleted' objects 2015-06-25 15:07:13 -04:00
Daniel Larimer
16e90c53ac #47 Fixing bucket_object serialization 2015-06-25 15:06:10 -04:00
Daniel Larimer
bf9f81a21d Fix #90 - Prediction Market Asset precision must match backing asset precision 2015-06-25 14:46:53 -04:00
Daniel Larimer
543959fa64 Fix #92 2015-06-25 14:33:46 -04:00
Daniel Larimer
fdf8d98953 Merge branch 'master' of https://github.com/cryptonomex/graphene 2015-06-25 14:14:33 -04:00
Daniel Larimer
c566687974 fix tests properly 2015-06-25 14:14:30 -04:00
Nathan Hourt
9e5297d6de Disable fees during genesis initialization
This should be a more reliable fix to #81
2015-06-25 12:58:50 -04:00
Daniel Larimer
342abe6ca1 Fix tests 2015-06-25 12:07:39 -04:00
Daniel Larimer
ff427c709f Merge branch 'master' of https://github.com/cryptonomex/graphene 2015-06-25 11:57:55 -04:00
Daniel Larimer
4e206d3c54 #66 tweak default fees 2015-06-25 11:57:50 -04:00
Eric Frias
49acfb3bd6 Fix up application_impl's has_item() which was throwing to indicate a
missing item instead of returning false.  #55
2015-06-25 10:36:28 -04:00
Daniel Larimer
bf0ab60ceb Fix #88 If pushing generated block fails, then re-push all transactions to remove the failing transaction 2015-06-25 10:03:18 -04:00
Daniel Larimer
88aeaa5e69 #47 Fix bug with not initializing base volume 2015-06-25 09:47:56 -04:00
Daniel Larimer
fef77a15a2 Merge branch 'master' of https://github.com/cryptonomex/graphene 2015-06-25 09:38:35 -04:00
Daniel Larimer
a518c37c9e adding wallet api to return the market history 2015-06-25 09:38:31 -04:00
Eric Frias
cb23e27aea Update fc submodule #86 2015-06-25 09:36:31 -04:00
Daniel Larimer
e7ec05f545 #74 Adding API call to get all call orders for a given account type 2015-06-24 21:09:21 -04:00
Eric Frias
37cadb2be8 Create directory for storing p2p config if it doesn't already exist 2015-06-24 18:21:20 -04:00
Eric Frias
11b357494b Remove leveldb code from peer database, replace with writing to json
file.  Still need to add code to periodically write the file out to
disk.
2015-06-24 18:21:20 -04:00
Daniel Larimer
a0765e2cf2 Removing unnecessary indexing from account history plugin, it can now focus on just tracking operation history 2015-06-24 16:38:56 -04:00
Daniel Larimer
23a633bea1 #85 adding api call get_keys_for_address 2015-06-24 16:19:33 -04:00
Daniel Larimer
c4b2bb443b #85 - changing key_object from simple_index to multi_index 2015-06-24 16:08:36 -04:00
Daniel Larimer
ffd797c048 adding API call to return all accounts that reference a particular key id or account 2015-06-24 15:38:28 -04:00
Daniel Larimer
045cfbd914 #47 Fix crash when parsing config file 2015-06-24 14:44:50 -04:00
Daniel Larimer
aaf31d840f #47 Fix crash, added history lenght limits, added init testing 2015-06-24 14:01:37 -04:00
Daniel Larimer
af812a7b51 #47 Adding API to get the available history buckets based upon the configuration 2015-06-24 12:46:03 -04:00
Nathan Hourt
44313ac8a4 Address #79: Should be fixed, but I can't test because of #55 2015-06-24 09:58:33 -04:00
theoreticalbts
ed381af304 Spell out boost::program_options in headers instead of using alias
Multiple defs of bpo alias confused gcc and broke cli_wallet build.
2015-06-23 22:35:00 -04:00
Daniel Larimer
ed859277ef Merge branch 'master' of github.com:cryptonomex/graphene 2015-06-23 18:23:45 -04:00
Daniel Larimer
20a10a074b Issue #47 market history added to api 2015-06-23 18:23:41 -04:00
theoreticalbts
08651fc045 db_debug.cpp: Fix witness index type in debug_dump() 2015-06-23 18:05:47 -04:00
theoreticalbts
f99b02ba58 config.hpp: Implement GRAPHENE_COLLATERAL_RATIO_DENOM #70 2015-06-23 18:05:47 -04:00
Vikram Rajkumar
b63de0ad29 Fix some compiler warnings 2015-06-23 17:54:59 -04:00
Vikram Rajkumar
1e62c749af Minor evaluator cleanup 2015-06-23 17:54:59 -04:00
Vikram Rajkumar
e662180981 Update submodules 2015-06-23 17:54:59 -04:00
Daniel Larimer
03c362b9e4 Merge branch 'master' of github.com:cryptonomex/graphene 2015-06-23 17:53:33 -04:00
Daniel Larimer
fdefc69baf Issue #47 - Basic, Untested, Market History Plugin 2015-06-23 17:53:10 -04:00
Nathan Hourt
cfcafcb5c2 Progress #66: Set initial fees
There is now a default value for all fees
2015-06-23 17:09:55 -04:00
theoreticalbts
0d02361af0 Clean up names of assert ops and evaluation dispatch 2015-06-23 15:15:34 -04:00
theoreticalbts
c43c71372d assert_evaluator.cpp: Remove skip_unknown_predicate flag, add max_predicate_opcode check 2015-06-23 15:15:34 -04:00
theoreticalbts
548c760e46 wip burn worker 2015-06-23 15:13:01 -04:00
Nathan Hourt
08cba191c7 Progress #66: Audit calculate_fee implementations
I've audited all the calculate_fee impls and they all should be
reasonable at this point.

TODO: Set default fee values.
2015-06-23 14:19:39 -04:00
Daniel Larimer
a0d2b18959 Issue #70 - update docs 2015-06-23 14:05:07 -04:00
Daniel Larimer
8e9b2e8ebb Issue #68 - created simple secondary index for accounts 2015-06-23 13:33:13 -04:00
Daniel Larimer
b5b9d6d053 Issue #67 - add url to delegate/witness create operation 2015-06-23 11:08:12 -04:00
Daniel Larimer
da4bf0adc2 Issue #67 - add name/url to worker create operation 2015-06-23 10:33:11 -04:00
Daniel Larimer
06a9488f8b Issue #53 - flexible vesting balance creation
Use static variant to allow the types of vesting balances to be easily
extended and the creation operation allows for many different types of
initialization parameters.

Added a check that requires a minimum claim date which allows creating
of vesting balance objects with a cliff.
2015-06-23 10:14:40 -04:00
Daniel Larimer
8ac4bc1d58 Fix #39 Refactor assert_operation
Reasons:
  1. The protocol should not depend upon implementation details such as
  how the database objects are structured or reflected
  2. The protocol should deal in abstract concepts
  3. Should use fc::datastream rather than istringstream for performance
  and memory allocation reasons
  4. Fees should be charged proportional to the size of the operation
  5. Validate on the assert operation should also perform sanity checks
  on types
  6. Protocol definition objects should never depend upon the database
  because they may be used in situations where the database and
  evaluators are not present.
  7. Reflected field names should never have '_' in them because they
  become part of the *PUBLIC* json definition.
2015-06-23 09:14:18 -04:00
Eric Frias
1b96210212 Add CLI for registering delegates and witnesses, and setting voting proxy 2015-06-22 19:38:12 -04:00
Eric Frias
19d063145f Add CLI commands for voting witnesses/delegates 2015-06-22 19:38:12 -04:00
Daniel Larimer
d7f7d64352 notify observes of changed objects after every pushed transaction 2015-06-22 18:11:54 -04:00
Daniel Larimer
962310b415 adding API call to get proposed transactions for an account 2015-06-22 17:50:50 -04:00
Daniel Larimer
de99437be4 remove min_market_fee due to potential attack vector with many small partial matches 2015-06-22 17:29:40 -04:00
Daniel Larimer
a1601cbc0f fix bugs 2015-06-22 15:55:50 -04:00
Daniel Larimer
21bd520f9c Merge branch 'master' of github.com:cryptonomex/graphene 2015-06-22 15:08:24 -04:00
Daniel Larimer
758d588aa1 switch to rationals 2015-06-22 15:04:19 -04:00
Nathan Hourt
3eaec849eb Progress #61: Getting witnesses/delegates by owner
Support and API are now present for retrieving witnesses and delegates
by their owners.
2015-06-22 15:03:24 -04:00
Eric Frias
db85d35b19 Fix out-of-source builds, make field_reflector report errors finding template file 2015-06-22 14:57:43 -04:00
Eric Frias
52a72cdd9f Fix win64 compile errors (ambiguous comparisons between unsigned_int and uint16) 2015-06-22 14:56:40 -04:00
theoreticalbts
da77990b72 Implement field_reflector and assert_op 2015-06-22 13:26:08 -04:00
theoreticalbts
a2b9bc6d27 object_database.hpp: Implement template methods for downcasting objects 2015-06-22 13:26:08 -04:00
theoreticalbts
e9acc40a7d operation_history_object.hpp: Include operations.hpp 2015-06-22 13:26:08 -04:00
theoreticalbts
9e46ed80a0 Reflect many more types 2015-06-22 13:26:08 -04:00
theoreticalbts
e934b9cf44 key_object.hpp: Move address_or_key variant to header, reflect it 2015-06-22 13:26:08 -04:00
theoreticalbts
e814c4dbeb type_id.cpp: Define space_id and type_id for all object types 2015-06-22 13:26:07 -04:00
Vikram Rajkumar
df60efc83c Update fc submodule 2015-06-22 13:15:11 -04:00
Daniel Larimer
49b2ce8094 Merge branch 'callprice'
Conflicts:
	tests/common/database_fixture.hpp
2015-06-21 19:41:32 -04:00
Daniel Larimer
177950b791 Fix margin call price calculation 2015-06-21 19:37:14 -04:00
Eric Frias
1b9ca9ffe8 Add wallet command for whitelisting accounts.
Re-enable shutdown in node code which was causing some (not all) of the
errors in two_node_network test #55, and likely occasional crashes at
shutdown for the witness node
2015-06-20 18:36:02 -04:00
Eric Frias
dac9057b12 Add missing commands for asset features to wallet 2015-06-19 19:27:18 -04:00
Daniel Larimer
08bf4ec3fe progress 2015-06-19 18:49:32 -04:00
Nathan Hourt
127ca9f8de WIP: Remove call price from call_order_update_operation 2015-06-19 18:14:23 -04:00
Daniel Larimer
f88a7682dd cheap names must have a number, dot, dash or slash 2015-06-19 16:21:47 -04:00
Daniel Larimer
5d5604f673 Merge branch 'master' of github.com:cryptonomex/graphene 2015-06-19 16:13:36 -04:00
Daniel Larimer
7dd2a6dff5 adding description field to asset options 2015-06-19 16:13:32 -04:00
Nathan Hourt
639930a2d7 Test bulk discount on fees 2015-06-19 16:12:05 -04:00
Daniel Larimer
3d29b29e50 remove debug logs 2015-06-19 15:58:50 -04:00
Daniel Larimer
14b158364f implement and test prediction market features 2015-06-19 15:57:08 -04:00
Daniel Larimer
186b970689 Merge branch 'master' of github.com:cryptonomex/graphene 2015-06-19 14:47:46 -04:00
Daniel Larimer
c80c839675 black swan test with force settle after 2015-06-19 14:47:42 -04:00
theoreticalbts
5e28a79e6f db_maint.cpp: Roll over leftover witness pay, see 8f739ac767 for description 2015-06-19 13:50:10 -04:00
Nathan Hourt
6bc2d06833 Cashback to blockchain accounts is put in reserve pool 2015-06-19 13:31:47 -04:00
Nathan Hourt
626b5cbb23 Fix broken update_mia test 2015-06-19 12:29:44 -04:00
Daniel Larimer
b2962c530f Merge branch 'master' of github.com:cryptonomex/graphene 2015-06-19 12:11:36 -04:00
Daniel Larimer
51e6421ea0 fixed config settings 2015-06-19 12:11:32 -04:00
Nathan Hourt
6fc11bb5fd Resolve #59: Add witnesses to default genesis in witness_node 2015-06-19 10:23:36 -04:00
Daniel Larimer
be5a8c6365 update black swan implementation 2015-06-19 09:57:23 -04:00
Daniel Larimer
d5fb32a839 fix margin calls 2015-06-19 09:07:23 -04:00
Daniel Larimer
2c055d2320 resolve conflicts 2015-06-18 18:45:01 -04:00
Daniel Larimer
db43f41de8 Progress on margin call tests 2015-06-18 18:42:44 -04:00