Skip to content
This repository has been archived by the owner on Aug 2, 2022. It is now read-only.

Progress on #7 and #123 #137

Merged
merged 29 commits into from
Aug 9, 2017
Merged

Progress on #7 and #123 #137

merged 29 commits into from
Aug 9, 2017

Commits on Aug 1, 2017

  1. Partially revert 67c9b8b

    Remove the changes around moving authorizations from Message to
    Transaction, as we decided this is not the best way to go. See details
    at #2 (comment)
    nathanielhourt committed Aug 1, 2017
    Configuration menu
    Copy the full SHA
    eaef8b1 View commit details
    Browse the repository at this point in the history

Commits on Aug 8, 2017

  1. Fix typo

    kalloc authored and nathanielhourt committed Aug 8, 2017
    Configuration menu
    Copy the full SHA
    824bea0 View commit details
    Browse the repository at this point in the history
  2. Temporary add help command

    1) add default command - help
    2) prevent segfault
    kalloc authored and nathanielhourt committed Aug 8, 2017
    Configuration menu
    Copy the full SHA
    8b1fbf7 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    f30ccb0 View commit details
    Browse the repository at this point in the history
  4. Add packages for ci

    peterwillcn authored and nathanielhourt committed Aug 8, 2017
    Configuration menu
    Copy the full SHA
    aa057cc View commit details
    Browse the repository at this point in the history
  5. Add build status

    peterwillcn authored and nathanielhourt committed Aug 8, 2017
    Configuration menu
    Copy the full SHA
    4592631 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    9b98190 View commit details
    Browse the repository at this point in the history
  7. Ref #7: Progress towards auth

    We now check authorization of transactions when they come in as pending,
    and again when we apply them in some block (either when generating the
    block or when applying it). When applying the transactions in a block,
    we check auth for all transactions in the block prior to processing any.
    
    To check auth, we first scan all of the declared authorizations, and
    check that the authorization is sufficient to grant permission for the
    given account to execute the given message type (TODO: look up the
    actual required permission level rather than just assuming it's
    'active'); then, check that the transaction bears signatures to confer
    the declared authorization.
    nathanielhourt committed Aug 8, 2017
    Configuration menu
    Copy the full SHA
    9ad3260 View commit details
    Browse the repository at this point in the history
  8. Ref #7: Implement require_authorization, fix tests

    Require_authorization is now implemented so as the contract executes and
    asserts that a particular account approved the transaction, the chain
    asserts that this is so and throws if not.
    
    Also, update the tests, since the auth checks now bring to bear the rule
    that an account cannot be used in the same block that creates it. The
    tests now comply with this rule.
    
    TODO:
     - Check that all declared authorizations get required by the contract
     - Implement the mapping from user permissions to message types
     - Use mapping of permission to message type in
    lookup_minimum_permission
    nathanielhourt committed Aug 8, 2017
    Configuration menu
    Copy the full SHA
    0393f95 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    ec03f1f View commit details
    Browse the repository at this point in the history
  10. Ref #123: Define types

    Define the types documented in the issue.
    
    TODO: Implement logic
    nathanielhourt committed Aug 8, 2017
    Configuration menu
    Copy the full SHA
    94fc433 View commit details
    Browse the repository at this point in the history
  11. Ref #123: Implement lookup_minimum_permission

    Add docs on some of the types, register the index, and implement
    chain_controller::lookup_minimum_permission.
    nathanielhourt committed Aug 8, 2017
    Configuration menu
    Copy the full SHA
    e4f3979 View commit details
    Browse the repository at this point in the history
  12. Ref #123: Rename requirepermission->linkauth

    The name requirepermission was too long, so I renamed it linkauth
    nathanielhourt committed Aug 8, 2017
    Configuration menu
    Copy the full SHA
    05550b8 View commit details
    Browse the repository at this point in the history
  13. Ref #123: Implement linkauth

    Implement the linkauth handler in the system contract
    nathanielhourt committed Aug 8, 2017
    Configuration menu
    Copy the full SHA
    8c5a0e7 View commit details
    Browse the repository at this point in the history
  14. Ref #123: Define/Implement unlinkauth

    Add an unlinkauth message type which removes a link from a message type
    to a required authority
    nathanielhourt committed Aug 8, 2017
    Configuration menu
    Copy the full SHA
    12dcd35 View commit details
    Browse the repository at this point in the history
  15. Add satisfiability check to validate(Authority)

    Add a check to the validate function on authority which checks that the
    authority can be satisfied, which is to say, that the total of all the
    weights meets or exceeds the threshold.
    nathanielhourt committed Aug 8, 2017
    Configuration menu
    Copy the full SHA
    d78f1a6 View commit details
    Browse the repository at this point in the history
  16. Ref #123: Implement updateauth, deleteauth

    Though not strictly part of issue 123, this is a necessary step in order
    to complete #123. Rename UpdatePermission->updateauth and
    DeletePermission->deleteauth, and implement them.
    
    At this point, I think #123 is fully implemented and ready for testing.
    nathanielhourt committed Aug 8, 2017
    Configuration menu
    Copy the full SHA
    fbff3c3 View commit details
    Browse the repository at this point in the history
  17. Add Complex_Authority test macro

    Add a new testing helper macro, Complex_Authority, to create an
    arbitrary Authority inline with a slightly less confusing syntax
    nathanielhourt committed Aug 8, 2017
    Configuration menu
    Copy the full SHA
    d15ce5e View commit details
    Browse the repository at this point in the history
  18. Ref #123: Test macros to set/delete auths

    Create and smoke test Add_Authority and Delete_Authority test helper
    macros
    nathanielhourt committed Aug 8, 2017
    Configuration menu
    Copy the full SHA
    d6f89ca View commit details
    Browse the repository at this point in the history
  19. Configuration menu
    Copy the full SHA
    d4989d4 View commit details
    Browse the repository at this point in the history
  20. Ref #123: Testing, fixing, 1 behavior change

    The behavior change is that I am forbidding changing a
    permission_object's parent until we come up with a safe way to support
    it. The issue is that it's possible to create loops by creating an
    object A with an existing parent B, then setting B's parent to A. The
    obvious solution is to ensure with every parent change that there is a
    path back to the owner authority by following parents, but to do this we
    need a tree depth limit. I haven't explored the implications of that, so
    I'm just disabling parent changes for the time being. The user can
    simply delete the old subtree and create a new one if he wants to move a
    subtree from one parent to another.
    nathanielhourt committed Aug 8, 2017
    Configuration menu
    Copy the full SHA
    6218ccb View commit details
    Browse the repository at this point in the history
  21. Use C++14, not 17

    Otherwise the build fails on my system
    nathanielhourt committed Aug 8, 2017
    Configuration menu
    Copy the full SHA
    a210f9c View commit details
    Browse the repository at this point in the history
  22. Configuration menu
    Copy the full SHA
    4adbf0b View commit details
    Browse the repository at this point in the history
  23. Configuration menu
    Copy the full SHA
    fab1fcb View commit details
    Browse the repository at this point in the history
  24. Configuration menu
    Copy the full SHA
    8d0b97f View commit details
    Browse the repository at this point in the history
  25. Configuration menu
    Copy the full SHA
    0ec8c9d View commit details
    Browse the repository at this point in the history
  26. Configuration menu
    Copy the full SHA
    806508a View commit details
    Browse the repository at this point in the history
  27. Ref #123: Add test macros, testing, and fixing

    Add macros for Link_Authority and Unlink_Authority, write some initial
    tests of these operations, and fix a bug (unlinkauth didn't require any
    authority)
    nathanielhourt committed Aug 8, 2017
    Configuration menu
    Copy the full SHA
    35c4740 View commit details
    Browse the repository at this point in the history

Commits on Aug 9, 2017

  1. Improve error message

    When rejecting a transaction due to excessive authorizations on a
    message, include the authorizations which were not necessary in the
    reported error
    nathanielhourt committed Aug 9, 2017
    Configuration menu
    Copy the full SHA
    f7c6021 View commit details
    Browse the repository at this point in the history