-
Notifications
You must be signed in to change notification settings - Fork 646
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
BSIP40 Implementation #1860
BSIP40 Implementation #1860
Commits on Sep 17, 2019
-
This commit adds the very beginnings of BSIP 40/Custom Active Authorities, including a working implementation of the core logic which evaluates whether an operation complies with a list of restrictions.
Configuration menu - View commit details
-
Copy full SHA for 4e70e87 - Browse repository at this point
Copy the full SHA 4e70e87View commit details -
Configuration menu - View commit details
-
Copy full SHA for 794f1ab - Browse repository at this point
Copy the full SHA 794f1abView commit details -
BSIP 40: Finish writing operations
Notably, I made an overhaul to the fee logic here. The old logic was incredibly complex and had weird multiply-by-zero edge cases to get a free fee... I dropped the whole thing and replaced it with a simple price per byte, which should have a fairly similar effect without segfaulting anyone's brain.
Configuration menu - View commit details
-
Copy full SHA for 0a588c1 - Browse repository at this point
Copy the full SHA 0a588c1View commit details -
Configuration menu - View commit details
-
Copy full SHA for 32cdad8 - Browse repository at this point
Copy the full SHA 32cdad8View commit details -
BSIP 40: Add evaluators, transaction eval code, testing
Implementation passes cursory tests.
Configuration menu - View commit details
-
Copy full SHA for 18394fe - Browse repository at this point
Copy the full SHA 18394feView commit details -
Configuration menu - View commit details
-
Copy full SHA for 1c9d74e - Browse repository at this point
Copy the full SHA 1c9d74eView commit details -
BSIP 40: Restrictions use member index rather than name
Restrictions now specify the field they restrict by member index rather than member name. Although this change makes restriction objects more opaque to human readers and increases the compile-time complexity of restriction_predicate.cpp, using indexes is faster at runtime, smaller when serialized, and allows renaming of members in future code updates.
Configuration menu - View commit details
-
Copy full SHA for 969999b - Browse repository at this point
Copy the full SHA 969999bView commit details -
This also improves the build time on all compilers
Configuration menu - View commit details
-
Copy full SHA for ab4a262 - Browse repository at this point
Copy the full SHA ab4a262View commit details -
Configuration menu - View commit details
-
Copy full SHA for a2a5801 - Browse repository at this point
Copy the full SHA a2a5801View commit details -
Configuration menu - View commit details
-
Copy full SHA for 636abb0 - Browse repository at this point
Copy the full SHA 636abb0View commit details -
Configuration menu - View commit details
-
Copy full SHA for d28f68c - Browse repository at this point
Copy the full SHA d28f68cView commit details -
BSIP 40: Reduce build RAM usage
Reduce peak RAM usage during build by splitting the build up over several different .cpp files, each of which should compile in under 3 minutes and 5GB or less RAM.
Configuration menu - View commit details
-
Copy full SHA for ef87594 - Browse repository at this point
Copy the full SHA ef87594View commit details -
BSIP 40: Cleanup, disable sign-compare warnings on g++
Set travis to build single-threaded and disable signed-unsigned comparison warnings on g++. If anyone has a real solution to signed comparisons, I'd love to hear it, but until then, the warnings are actually so awful that travis breaks over them.
Configuration menu - View commit details
-
Copy full SHA for 2e0615a - Browse repository at this point
Copy the full SHA 2e0615aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 5f49a94 - Browse repository at this point
Copy the full SHA 5f49a94View commit details -
Configuration menu - View commit details
-
Copy full SHA for e6fef06 - Browse repository at this point
Copy the full SHA e6fef06View commit details -
Configuration menu - View commit details
-
Copy full SHA for fde930b - Browse repository at this point
Copy the full SHA fde930bView commit details -
BSIP 40: Error reporting, part 1
Restriction predicates now collect data specifying exactly which restriction(s) rejected the operation. Part 2 will be rendering this data to a user-readable message.
Configuration menu - View commit details
-
Copy full SHA for 6566995 - Browse repository at this point
Copy the full SHA 6566995View commit details -
BSIP 40: Make Travis use multi-stage build
The multi-stage build makes builds more reliable by building only the protocol in the first stage, which reliably passes in time, caching those binaries, and then building the rest and running tests in the second stage, which uses the cache to complete in time as well.
Configuration menu - View commit details
-
Copy full SHA for 58e7ae5 - Browse repository at this point
Copy the full SHA 58e7ae5View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0ff414f - Browse repository at this point
Copy the full SHA 0ff414fView commit details -
BSIP 40: Error reporting, part 2
Add the wrapping to report errors back to the user... such as it is Eventually, I'd like to add more logic towards generating a user- comprehensible error message, but this will suffice for now. This implementation provides enough information to construct, in conjunction with the restriction list and operation in question, a message describing the error in detail to the user... but actually assembling that message is, for now, regarded as a UI problem.
Configuration menu - View commit details
-
Copy full SHA for e72835b - Browse repository at this point
Copy the full SHA e72835bView commit details -
Remove the committee parameter used to determine whether an operation type had been hardforked in yet, and replace it with hardfork_visitor
Configuration menu - View commit details
-
Copy full SHA for 670b474 - Browse repository at this point
Copy the full SHA 670b474View commit details -
BSIP 40: Fix build in MSVC 2017
Many thanks to @jmjatlanta! :)
Configuration menu - View commit details
-
Copy full SHA for de5049a - Browse repository at this point
Copy the full SHA de5049aView commit details -
Configuration menu - View commit details
-
Copy full SHA for d01a8d0 - Browse repository at this point
Copy the full SHA d01a8d0View commit details -
BSIP 40: Ship a copy of boost's safe_compare.hpp
Old boost apparently didn't have this, and it's worth stealing
Configuration menu - View commit details
-
Copy full SHA for c02fb98 - Browse repository at this point
Copy the full SHA c02fb98View commit details -
BSIP 40: Error handling & static_variant restrictions
Added a new function type to restrict the value of a static_variant field on the operations. This also spun off into reworking the error handling to more adequately report the reason for predicate rejections.
Configuration menu - View commit details
-
Copy full SHA for 66d1835 - Browse repository at this point
Copy the full SHA 66d1835View commit details -
Configuration menu - View commit details
-
Copy full SHA for f3bf343 - Browse repository at this point
Copy the full SHA f3bf343View commit details -
Configuration menu - View commit details
-
Copy full SHA for ad7f5ed - Browse repository at this point
Copy the full SHA ad7f5edView commit details
Commits on Sep 18, 2019
-
BSIP 40: Reverse order of predicate rejection paths
Ordering the rejection path from the outermost restriction to the innermost (point of rejection) is more intuitive, so reverse the order of the path when returning the predicate result.
Configuration menu - View commit details
-
Copy full SHA for dbafa02 - Browse repository at this point
Copy the full SHA dbafa02View commit details -
Configuration menu - View commit details
-
Copy full SHA for dd75b13 - Browse repository at this point
Copy the full SHA dd75b13View commit details -
Configuration menu - View commit details
-
Copy full SHA for 9574d18 - Browse repository at this point
Copy the full SHA 9574d18View commit details
Commits on Sep 19, 2019
-
BSIP 40: Authorizations of multiple users with a single CAA containin…
…g logical OR branches
Configuration menu - View commit details
-
Copy full SHA for 88f5fd1 - Browse repository at this point
Copy the full SHA 88f5fd1View commit details
Commits on Sep 20, 2019
-
Configuration menu - View commit details
-
Copy full SHA for 69acd0d - Browse repository at this point
Copy the full SHA 69acd0dView commit details
Commits on Sep 21, 2019
-
Configuration menu - View commit details
-
Copy full SHA for 7429cc4 - Browse repository at this point
Copy the full SHA 7429cc4View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7486c9c - Browse repository at this point
Copy the full SHA 7486c9cView commit details -
Configuration menu - View commit details
-
Copy full SHA for af4cea7 - Browse repository at this point
Copy the full SHA af4cea7View commit details
Commits on Sep 23, 2019
-
Configuration menu - View commit details
-
Copy full SHA for 58d556d - Browse repository at this point
Copy the full SHA 58d556dView commit details
Commits on Oct 18, 2019
-
Configuration menu - View commit details
-
Copy full SHA for ddc8725 - Browse repository at this point
Copy the full SHA ddc8725View commit details -
Merge pull request #3 from MichelSantos/bsip40-unit-tests
BSIP 40: Unit tests
Configuration menu - View commit details
-
Copy full SHA for 4d95742 - Browse repository at this point
Copy the full SHA 4d95742View commit details
Commits on Oct 19, 2019
-
Configuration menu - View commit details
-
Copy full SHA for e658bdd - Browse repository at this point
Copy the full SHA e658bddView commit details
Commits on Oct 20, 2019
-
Configuration menu - View commit details
-
Copy full SHA for 51da97d - Browse repository at this point
Copy the full SHA 51da97dView commit details -
BSIP 40: Add container in and not_in specializations
Add specializations to allow `in` and `not_in` restrictions to operate on all values in a container field
Configuration menu - View commit details
-
Copy full SHA for 41d27a2 - Browse repository at this point
Copy the full SHA 41d27a2View commit details -
Configuration menu - View commit details
-
Copy full SHA for 9da10fe - Browse repository at this point
Copy the full SHA 9da10feView commit details