1. 10 5月, 2017 1 次提交
    • N
      Ref #12, #17: Progress on chain configuration voting · 5e8b89bf
      Nathan Hourt 提交于
      Add support for producers specifying their votes on chain configuration
      values to CreateProducer and UpdateProducer.
      
      Add more tests around chain configuration, including a failing test case
      verifying that the blockchain itself handles configuration updates
      correctly. Presently this test fails because the chain does not yet
      attempt to keep track of rounds, thus it cannot update the configuration
      at the beginning of the round.
      5e8b89bf
  2. 09 5月, 2017 2 次提交
    • N
      Update a couple of tests · a78a3545
      Nathan Hourt 提交于
      a78a3545
    • N
      Rename testing macros · 693e0e13
      Nathan Hourt 提交于
      The macros to make testcases less tedious to write had opaque
      abbreviated names like UPPDCR (my own fault, I know haha). Replace those
      names with obvious ones like Update_Producer.
      
      Also, sweep all the backend/implementation detail macros into
      macro_support.hpp where they are hidden out of the way and unlikely to
      be accidentally used directly.
      693e0e13
  3. 05 5月, 2017 5 次提交
    • N
      Merge pull request #18 from EOSIO/unify-types · 6dd94559
      Nathan Hourt 提交于
      Unify types
      6dd94559
    • N
      Eliminate diamond inheritance · 74ff5713
      Nathan Hourt 提交于
      Remove chain::Transaction altogether, move its methods to
      chain::SignedTransaction, which solely inherits
      types::SignedTransaction, which solely inherits types::Transaction.
      Aside from having no diamonds, this also eliminates vtables in the
      Transaction types, which is necessary in order to store transactions in
      the database.
      74ff5713
    • N
      Unify types:: and chain:: types · b5b3dbb8
      Nathan Hourt 提交于
      We have a number of types defined in eos::chain like transaction,
      message, etc. which parallel autogenerated types in eos::types. They are
      identical in storage, but the chain types have various helper methods
      which the autogenerated types, of course, lack.
      
      I've unified these by letting the generated classes in types:: store the
      data, and having the chain:: types inherit these data stores and add
      functionality to them via methods.
      b5b3dbb8
    • N
      Ref #17: Define types, logic, tests · 0204bcdc
      Nathan Hourt 提交于
      This commit adds the BlockchainConfiguration type, which contains the
      values to be voted on by producers. It also adds the algorithm to create
      a BlockchainConfiguration containing the median values from a vector of
      BlockchainConfigurations. Finally, it adds a testcase which verifies that
      the median calculation is performed correctly.
      0204bcdc
    • N
      Tweaks to type system · 296ef5d1
      Nathan Hourt 提交于
      - Add missing ShareType to known (built-in) types in SimpleSymbolTable
      - Define a constructor on generated classes to initialize all the fields
      at construction
      
      More coming soon; stay tuned!
      296ef5d1
  4. 04 5月, 2017 7 次提交
  5. 03 5月, 2017 2 次提交
  6. 02 5月, 2017 4 次提交
    • N
      Cleanup/fixes · 5599ace3
      Nathan Hourt 提交于
      Break up files, fix a typo here and there... no interesting behavior
      changes.
      5599ace3
    • N
      Fix build · 36ae434b
      Nathan Hourt 提交于
      Still getting build errors from fc due to invalid partial template
      specializations. Fix by hoisting the compiler flag to fix this from fc up
      to eos as a whole.
      36ae434b
    • N
      Change one comment · aa483a4a
      Nathan Hourt 提交于
      aa483a4a
    • D
      Initial Support for Wren Scripts · fab7bd53
      Daniel Larimer 提交于
      - it is now possible to set an Apply Handler that can store/fetch data
      - TBD - actually reading the message being passed in and generating
      messages
      fab7bd53
  7. 01 5月, 2017 1 次提交
  8. 29 4月, 2017 1 次提交
  9. 28 4月, 2017 8 次提交
  10. 27 4月, 2017 8 次提交
    • N
      Move chain/protocol/* to chain/ · 5d8fab9a
      Nathan Hourt 提交于
      The protocol folder heralds back to BTS, when we drew a distinction
      between "protocol objects" and "implementation objects." This
      distinction was never really realized, and definitely isn't being
      maintained now, so do away with the vestiges. It's nothing but a
      potential point of confusion now.
      5d8fab9a
    • N
      Fix some docs, tweak some names · 604f60b2
      Nathan Hourt 提交于
      604f60b2
    • N
      Replace some FC_ASSERTs with EOS_ASSERTs · 6e73146b
      Nathan Hourt 提交于
      Throw more accurate exception types during trx validation rather than
      merely assert_exception's. Also, add a message to the exception
      explaining what went wrong.
      6e73146b
    • N
      Refactor trx expiration check into its own function · 59577f73
      Nathan Hourt 提交于
      Previously it was just being done in validate_tapos, which was a legacy
      quirk as bts would validate expiration and tapos together. At least now,
      there's no overlap between these checks, so they can be split into
      separate functions.
      59577f73
    • N
      Ref #14: Add read_write chain API · e15b6359
      Nathan Hourt 提交于
      Create a new read-write chain API with push_block and push_transaction
      calls
      e15b6359
    • D
      progress · cbc7793a
      Daniel Larimer 提交于
      cbc7793a
    • N
      Move system contract impl to plugin · 20d9c9b8
      Nathan Hourt 提交于
      The system contract C++ implementation is now in a plugin rather than
      directly on database.
      
      Note that testing_database installs this implementation on the testing
      database, even though the test framework does not use appbase or appbase
      plugins.
      20d9c9b8
    • N
      Add a template for plugins · 0175c308
      Nathan Hourt 提交于
      This is just an empty template plugin which will serve as a starting
      point for new plugins.
      
      Also add a helper script, make_new_plugin.sh, which copies the template
      plugin to create your new plugin and automatically renames all of the
      files/directories/classes/binaries/whatever. Invoke like so:
      ./make_new_plugin.sh new_plugin
      Afterwards, the new_plugin folder will be ready to go.
      0175c308
  11. 26 4月, 2017 1 次提交