payload: {"action":"created","comment":{"url":"https://api.github.com/repos/bitshares/bitshares-core/pulls/comments/336651565","pull_request_review_id":304104211,"id":336651565,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDMzNjY1MTU2NQ==","diff_hunk":"@@ -0,0 +1,83 @@\n+/*\n+ * Copyright (c) 2018 Abit More, and contributors.\n+ *\n+ * The MIT License\n+ *\n+ * Permission is hereby granted, free of charge, to any person obtaining a copy\n+ * of this software and associated documentation files (the \"Software\"), to deal\n+ * in the Software without restriction, including without limitation the rights\n+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n+ * copies of the Software, and to permit persons to whom the Software is\n+ * furnished to do so, subject to the following conditions:\n+ *\n+ * The above copyright notice and this permission notice shall be included in\n+ * all copies or substantial portions of the Software.\n+ *\n+ * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n+ * THE SOFTWARE.\n+ */\n+#include <graphene/protocol/custom_authority.hpp>\n+#include <graphene/protocol/operations.hpp>\n+#include <graphene/protocol/restriction_predicate.hpp>\n+\n+#include <fc/io/raw.hpp>\n+\n+namespace graphene { namespace protocol {\n+\n+share_type custom_authority_create_operation::calculate_fee(const fee_parameters_type& k)const {\n+   share_type core_fee_required = k.basic_fee;\n+   core_fee_required += k.price_per_byte * (fc::raw::pack_size(restrictions) + fc::raw::pack_size(auth));\n+   return core_fee_required;\n+}\n+\n+void custom_authority_create_operation::validate()const {\n+   FC_ASSERT(fee.amount >= 0, \"Fee amount can not be negative\");\n+\n+   FC_ASSERT(account != GRAPHENE_TEMP_ACCOUNT\n+             && account != GRAPHENE_COMMITTEE_ACCOUNT\n+             && account != GRAPHENE_WITNESS_ACCOUNT\n+             && account != GRAPHENE_RELAXED_COMMITTEE_ACCOUNT,\n+             \"Can not create custom authority for special accounts\");","path":"libraries/protocol/custom_authority.cpp","position":45,"original_position":45,"commit_id":"dbafa023c05f4277b1dd6886538ff4b3b58c454c","original_commit_id":"dbafa023c05f4277b1dd6886538ff4b3b58c454c","user":{"login":"nathanhourt","id":271977,"node_id":"MDQ6VXNlcjI3MTk3Nw==","avatar_url":"https://avatars2.githubusercontent.com/u/271977?v=4","gravatar_id":"","url":"https://api.github.com/users/nathanhourt","html_url":"https://github.com/nathanhourt","followers_url":"https://api.github.com/users/nathanhourt/followers","following_url":"https://api.github.com/users/nathanhourt/following{/other_user}","gists_url":"https://api.github.com/users/nathanhourt/gists{/gist_id}","starred_url":"https://api.github.com/users/nathanhourt/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nathanhourt/subscriptions","organizations_url":"https://api.github.com/users/nathanhourt/orgs","repos_url":"https://api.github.com/users/nathanhourt/repos","events_url":"https://api.github.com/users/nathanhourt/events{/privacy}","received_events_url":"https://api.github.com/users/nathanhourt/received_events","type":"User","site_admin":false},"body":"Alright, so it sounds like the consensus is to keep the restriction as is. Any dissenters, speak now or forever hold your peace. :)","created_at":"2019-10-18T19:51:13Z","updated_at":"2019-10-18T19:51:14Z","html_url":"https://github.com/bitshares/bitshares-core/pull/1860#discussion_r336651565","pull_request_url":"https://api.github.com/repos/bitshares/bitshares-core/pulls/1860","author_association":"CONTRIBUTOR","_links":{"self":{"href":"https://api.github.com/repos/bitshares/bitshares-core/pulls/comments/336651565"},"html":{"href":"https://github.com/bitshares/bitshares-core/pull/1860#discussion_r336651565"},"pull_request":{"href":"https://api.github.com/repos/bitshares/bitshares-core/pulls/1860"}},"in_reply_to_id":336246366},"pull_request":{"url":"https://api.github.com/repos/bitshares/bitshares-core/pulls/1860","id":299537097,"node_id":"MDExOlB1bGxSZXF1ZXN0Mjk5NTM3MDk3","html_url":"https://github.com/bitshares/bitshares-core/pull/1860","diff_url":"https://github.com/bitshares/bitshares-core/pull/1860.diff","patch_url":"https://github.com/bitshares/bitshares-core/pull/1860.patch","issue_url":"https://api.github.com/repos/bitshares/bitshares-core/issues/1860","number":1860,"state":"open","locked":false,"title":"BSIP40 Implementation","user":{"login":"nathanhourt","id":271977,"node_id":"MDQ6VXNlcjI3MTk3Nw==","avatar_url":"https://avatars2.githubusercontent.com/u/271977?v=4","gravatar_id":"","url":"https://api.github.com/users/nathanhourt","html_url":"https://github.com/nathanhourt","followers_url":"https://api.github.com/users/nathanhourt/followers","following_url":"https://api.github.com/users/nathanhourt/following{/other_user}","gists_url":"https://api.github.com/users/nathanhourt/gists{/gist_id}","starred_url":"https://api.github.com/users/nathanhourt/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nathanhourt/subscriptions","organizations_url":"https://api.github.com/users/nathanhourt/orgs","repos_url":"https://api.github.com/users/nathanhourt/repos","events_url":"https://api.github.com/users/nathanhourt/events{/privacy}","received_events_url":"https://api.github.com/users/nathanhourt/received_events","type":"User","site_admin":false},"body":"My implementation for BSIP 40, Custom Active Authorities\r\n\r\nA couple of notes:\r\n - Equality comparison between two containers of mismatched types is not working because I can't get the SFINAE to compile... so comparing a `flat_set<T>` against a `vector<T>`, for instance, doesn't work.\r\n - The fee logic is very simple, just a flat op price plus a price per byte. I believe this structure is adequate, and its simplicity will significantly reduce the complexity of frontend development.","created_at":"2019-07-20T04:47:36Z","updated_at":"2019-10-18T19:51:14Z","closed_at":null,"merged_at":null,"merge_commit_sha":"74eb9f3e6de0fc2e21b0d2936ec97f91a47e1bff","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[{"id":520505743,"node_id":"MDU6TGFiZWw1MjA1MDU3NDM=","url":"https://api.github.com/repos/bitshares/bitshares-core/labels/hardfork","name":"hardfork","color":"ff7fff","default":false}],"milestone":{"url":"https://api.github.com/repos/bitshares/bitshares-core/milestones/17","html_url":"https://github.com/bitshares/bitshares-core/milestone/17","labels_url":"https://api.github.com/repos/bitshares/bitshares-core/milestones/17/labels","id":3653184,"node_id":"MDk6TWlsZXN0b25lMzY1MzE4NA==","number":17,"title":"4.0.0 - Protocol Upgrade Release","description":"ACTIVE DEVELOPMENT:\r\nSecond protocol upgrade release of 2019. This is a consensus protocol impacting release. Target schedule:\r\n\r\n* testnet release date: 4 SEP 2019\r\n* testnet protocol activation: 10 SEP 2019\r\n* mainnet release date: 2 OCT 2019\r\n* mainnet protocol activation: 30 OCT 2019","creator":{"login":"abitmore","id":9946777,"node_id":"MDQ6VXNlcjk5NDY3Nzc=","avatar_url":"https://avatars1.githubusercontent.com/u/9946777?v=4","gravatar_id":"","url":"https://api.github.com/users/abitmore","html_url":"https://github.com/abitmore","followers_url":"https://api.github.com/users/abitmore/followers","following_url":"https://api.github.com/users/abitmore/following{/other_user}","gists_url":"https://api.github.com/users/abitmore/gists{/gist_id}","starred_url":"https://api.github.com/users/abitmore/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/abitmore/subscriptions","organizations_url":"https://api.github.com/users/abitmore/orgs","repos_url":"https://api.github.com/users/abitmore/repos","events_url":"https://api.github.com/users/abitmore/events{/privacy}","received_events_url":"https://api.github.com/users/abitmore/received_events","type":"User","site_admin":false},"open_issues":8,"closed_issues":56,"state":"open","created_at":"2018-09-13T22:18:26Z","updated_at":"2019-10-17T14:41:42Z","due_on":"2019-10-10T07:00:00Z","closed_at":null},"commits_url":"https://api.github.com/repos/bitshares/bitshares-core/pulls/1860/commits","review_comments_url":"https://api.github.com/repos/bitshares/bitshares-core/pulls/1860/comments","review_comment_url":"https://api.github.com/repos/bitshares/bitshares-core/pulls/comments{/number}","comments_url":"https://api.github.com/repos/bitshares/bitshares-core/issues/1860/comments","statuses_url":"https://api.github.com/repos/bitshares/bitshares-core/statuses/dbafa023c05f4277b1dd6886538ff4b3b58c454c","head":{"label":"nathanhourt:bsip40","ref":"bsip40","sha":"dbafa023c05f4277b1dd6886538ff4b3b58c454c","user":{"login":"nathanhourt","id":271977,"node_id":"MDQ6VXNlcjI3MTk3Nw==","avatar_url":"https://avatars2.githubusercontent.com/u/271977?v=4","gravatar_id":"","url":"https://api.github.com/users/nathanhourt","html_url":"https://github.com/nathanhourt","followers_url":"https://api.github.com/users/nathanhourt/followers","following_url":"https://api.github.com/users/nathanhourt/following{/other_user}","gists_url":"https://api.github.com/users/nathanhourt/gists{/gist_id}","starred_url":"https://api.github.com/users/nathanhourt/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nathanhourt/subscriptions","organizations_url":"https://api.github.com/users/nathanhourt/orgs","repos_url":"https://api.github.com/users/nathanhourt/repos","events_url":"https://api.github.com/users/nathanhourt/events{/privacy}","received_events_url":"https://api.github.com/users/nathanhourt/received_events","type":"User","site_admin":false},"repo":{"id":44319743,"node_id":"MDEwOlJlcG9zaXRvcnk0NDMxOTc0Mw==","name":"bitshares-2","full_name":"nathanhourt/bitshares-2","private":false,"owner":{"login":"nathanhourt","id":271977,"node_id":"MDQ6VXNlcjI3MTk3Nw==","avatar_url":"https://avatars2.githubusercontent.com/u/271977?v=4","gravatar_id":"","url":"https://api.github.com/users/nathanhourt","html_url":"https://github.com/nathanhourt","followers_url":"https://api.github.com/users/nathanhourt/followers","following_url":"https://api.github.com/users/nathanhourt/following{/other_user}","gists_url":"https://api.github.com/users/nathanhourt/gists{/gist_id}","starred_url":"https://api.github.com/users/nathanhourt/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nathanhourt/subscriptions","organizations_url":"https://api.github.com/users/nathanhourt/orgs","repos_url":"https://api.github.com/users/nathanhourt/repos","events_url":"https://api.github.com/users/nathanhourt/events{/privacy}","received_events_url":"https://api.github.com/users/nathanhourt/received_events","type":"User","site_admin":false},"html_url":"https://github.com/nathanhourt/bitshares-2","description":null,"fork":true,"url":"https://api.github.com/repos/nathanhourt/bitshares-2","forks_url":"https://api.github.com/repos/nathanhourt/bitshares-2/forks","keys_url":"https://api.github.com/repos/nathanhourt/bitshares-2/keys{/key_id}","collaborators_url":"https://api.github.com/repos/nathanhourt/bitshares-2/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/nathanhourt/bitshares-2/teams","hooks_url":"https://api.github.com/repos/nathanhourt/bitshares-2/hooks","issue_events_url":"https://api.github.com/repos/nathanhourt/bitshares-2/issues/events{/number}","events_url":"https://api.github.com/repos/nathanhourt/bitshares-2/events","assignees_url":"https://api.github.com/repos/nathanhourt/bitshares-2/assignees{/user}","branches_url":"https://api.github.com/repos/nathanhourt/bitshares-2/branches{/branch}","tags_url":"https://api.github.com/repos/nathanhourt/bitshares-2/tags","blobs_url":"https://api.github.com/repos/nathanhourt/bitshares-2/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/nathanhourt/bitshares-2/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/nathanhourt/bitshares-2/git/refs{/sha}","trees_url":"https://api.github.com/repos/nathanhourt/bitshares-2/git/trees{/sha}","statuses_url":"https://api.github.com/repos/nathanhourt/bitshares-2/statuses/{sha}","languages_url":"https://api.github.com/repos/nathanhourt/bitshares-2/languages","stargazers_url":"https://api.github.com/repos/nathanhourt/bitshares-2/stargazers","contributors_url":"https://api.github.com/repos/nathanhourt/bitshares-2/contributors","subscribers_url":"https://api.github.com/repos/nathanhourt/bitshares-2/subscribers","subscription_url":"https://api.github.com/repos/nathanhourt/bitshares-2/subscription","commits_url":"https://api.github.com/repos/nathanhourt/bitshares-2/commits{/sha}","git_commits_url":"https://api.github.com/repos/nathanhourt/bitshares-2/git/commits{/sha}","comments_url":"https://api.github.com/repos/nathanhourt/bitshares-2/comments{/number}","issue_comment_url":"https://api.github.com/repos/nathanhourt/bitshares-2/issues/comments{/number}","contents_url":"https://api.github.com/repos/nathanhourt/bitshares-2/contents/{+path}","compare_url":"https://api.github.com/repos/nathanhourt/bitshares-2/compare/{base}...{head}","merges_url":"https://api.github.com/repos/nathanhourt/bitshares-2/merges","archive_url":"https://api.github.com/repos/nathanhourt/bitshares-2/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/nathanhourt/bitshares-2/downloads","issues_url":"https://api.github.com/repos/nathanhourt/bitshares-2/issues{/number}","pulls_url":"https://api.github.com/repos/nathanhourt/bitshares-2/pulls{/number}","milestones_url":"https://api.github.com/repos/nathanhourt/bitshares-2/milestones{/number}","notifications_url":"https://api.github.com/repos/nathanhourt/bitshares-2/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/nathanhourt/bitshares-2/labels{/name}","releases_url":"https://api.github.com/repos/nathanhourt/bitshares-2/releases{/id}","deployments_url":"https://api.github.com/repos/nathanhourt/bitshares-2/deployments","created_at":"2015-10-15T13:35:11Z","updated_at":"2019-02-27T23:57:16Z","pushed_at":"2019-10-17T22:08:16Z","git_url":"git://github.com/nathanhourt/bitshares-2.git","ssh_url":"git@github.com:nathanhourt/bitshares-2.git","clone_url":"https://github.com/nathanhourt/bitshares-2.git","svn_url":"https://github.com/nathanhourt/bitshares-2","homepage":"","size":24698,"stargazers_count":1,"watchers_count":1,"language":"C++","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":2,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit","node_id":"MDc6TGljZW5zZTEz"},"forks":0,"open_issues":2,"watchers":1,"default_branch":"nathan-work"}},"base":{"label":"bitshares:hardfork","ref":"hardfork","sha":"c2cafd159b7dbdddec50262b0907d265c4b5446a","user":{"login":"bitshares","id":6914094,"node_id":"MDEyOk9yZ2FuaXphdGlvbjY5MTQwOTQ=","avatar_url":"https://avatars3.githubusercontent.com/u/6914094?v=4","gravatar_id":"","url":"https://api.github.com/users/bitshares","html_url":"https://github.com/bitshares","followers_url":"https://api.github.com/users/bitshares/followers","following_url":"https://api.github.com/users/bitshares/following{/other_user}","gists_url":"https://api.github.com/users/bitshares/gists{/gist_id}","starred_url":"https://api.github.com/users/bitshares/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bitshares/subscriptions","organizations_url":"https://api.github.com/users/bitshares/orgs","repos_url":"https://api.github.com/users/bitshares/repos","events_url":"https://api.github.com/users/bitshares/events{/privacy}","received_events_url":"https://api.github.com/users/bitshares/received_events","type":"Organization","site_admin":false},"repo":{"id":44123252,"node_id":"MDEwOlJlcG9zaXRvcnk0NDEyMzI1Mg==","name":"bitshares-core","full_name":"bitshares/bitshares-core","private":false,"owner":{"login":"bitshares","id":6914094,"node_id":"MDEyOk9yZ2FuaXphdGlvbjY5MTQwOTQ=","avatar_url":"https://avatars3.githubusercontent.com/u/6914094?v=4","gravatar_id":"","url":"https://api.github.com/users/bitshares","html_url":"https://github.com/bitshares","followers_url":"https://api.github.com/users/bitshares/followers","following_url":"https://api.github.com/users/bitshares/following{/other_user}","gists_url":"https://api.github.com/users/bitshares/gists{/gist_id}","starred_url":"https://api.github.com/users/bitshares/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bitshares/subscriptions","organizations_url":"https://api.github.com/users/bitshares/orgs","repos_url":"https://api.github.com/users/bitshares/repos","events_url":"https://api.github.com/users/bitshares/events{/privacy}","received_events_url":"https://api.github.com/users/bitshares/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/bitshares/bitshares-core","description":"BitShares Blockchain implementation and command-line interface","fork":false,"url":"https://api.github.com/repos/bitshares/bitshares-core","forks_url":"https://api.github.com/repos/bitshares/bitshares-core/forks","keys_url":"https://api.github.com/repos/bitshares/bitshares-core/keys{/key_id}","collaborators_url":"https://api.github.com/repos/bitshares/bitshares-core/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/bitshares/bitshares-core/teams","hooks_url":"https://api.github.com/repos/bitshares/bitshares-core/hooks","issue_events_url":"https://api.github.com/repos/bitshares/bitshares-core/issues/events{/number}","events_url":"https://api.github.com/repos/bitshares/bitshares-core/events","assignees_url":"https://api.github.com/repos/bitshares/bitshares-core/assignees{/user}","branches_url":"https://api.github.com/repos/bitshares/bitshares-core/branches{/branch}","tags_url":"https://api.github.com/repos/bitshares/bitshares-core/tags","blobs_url":"https://api.github.com/repos/bitshares/bitshares-core/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/bitshares/bitshares-core/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/bitshares/bitshares-core/git/refs{/sha}","trees_url":"https://api.github.com/repos/bitshares/bitshares-core/git/trees{/sha}","statuses_url":"https://api.github.com/repos/bitshares/bitshares-core/statuses/{sha}","languages_url":"https://api.github.com/repos/bitshares/bitshares-core/languages","stargazers_url":"https://api.github.com/repos/bitshares/bitshares-core/stargazers","contributors_url":"https://api.github.com/repos/bitshares/bitshares-core/contributors","subscribers_url":"https://api.github.com/repos/bitshares/bitshares-core/subscribers","subscription_url":"https://api.github.com/repos/bitshares/bitshares-core/subscription","commits_url":"https://api.github.com/repos/bitshares/bitshares-core/commits{/sha}","git_commits_url":"https://api.github.com/repos/bitshares/bitshares-core/git/commits{/sha}","comments_url":"https://api.github.com/repos/bitshares/bitshares-core/comments{/number}","issue_comment_url":"https://api.github.com/repos/bitshares/bitshares-core/issues/comments{/number}","contents_url":"https://api.github.com/repos/bitshares/bitshares-core/contents/{+path}","compare_url":"https://api.github.com/repos/bitshares/bitshares-core/compare/{base}...{head}","merges_url":"https://api.github.com/repos/bitshares/bitshares-core/merges","archive_url":"https://api.github.com/repos/bitshares/bitshares-core/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/bitshares/bitshares-core/downloads","issues_url":"https://api.github.com/repos/bitshares/bitshares-core/issues{/number}","pulls_url":"https://api.github.com/repos/bitshares/bitshares-core/pulls{/number}","milestones_url":"https://api.github.com/repos/bitshares/bitshares-core/milestones{/number}","notifications_url":"https://api.github.com/repos/bitshares/bitshares-core/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/bitshares/bitshares-core/labels{/name}","releases_url":"https://api.github.com/repos/bitshares/bitshares-core/releases{/id}","deployments_url":"https://api.github.com/repos/bitshares/bitshares-core/deployments","created_at":"2015-10-12T17:36:04Z","updated_at":"2019-10-16T18:04:05Z","pushed_at":"2019-10-15T15:46:04Z","git_url":"git://github.com/bitshares/bitshares-core.git","ssh_url":"git@github.com:bitshares/bitshares-core.git","clone_url":"https://github.com/bitshares/bitshares-core.git","svn_url":"https://github.com/bitshares/bitshares-core","homepage":"https://bitshares.org/","size":25273,"stargazers_count":1042,"watchers_count":1042,"language":"C++","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":584,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":215,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit","node_id":"MDc6TGljZW5zZTEz"},"forks":584,"open_issues":215,"watchers":1042,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/bitshares/bitshares-core/pulls/1860"},"html":{"href":"https://github.com/bitshares/bitshares-core/pull/1860"},"issue":{"href":"https://api.github.com/repos/bitshares/bitshares-core/issues/1860"},"comments":{"href":"https://api.github.com/repos/bitshares/bitshares-core/issues/1860/comments"},"review_comments":{"href":"https://api.github.com/repos/bitshares/bitshares-core/pulls/1860/comments"},"review_comment":{"href":"https://api.github.com/repos/bitshares/bitshares-core/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/bitshares/bitshares-core/pulls/1860/commits"},"statuses":{"href":"https://api.github.com/repos/bitshares/bitshares-core/statuses/dbafa023c05f4277b1dd6886538ff4b3b58c454c"}},"author_association":"CONTRIBUTOR"}}
other: {"actor":{"display_login":"nathanhourt"}}