From 645899ea05e8daa38ee8289e96a25cdfef1e5bf7 Mon Sep 17 00:00:00 2001 From: arhag Date: Tue, 16 Apr 2019 23:12:14 -0400 Subject: [PATCH 1/3] fix long-running tests given RESTRICT_ACTION_TO_SELF protocol feature changes --- tests/Cluster.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/Cluster.py b/tests/Cluster.py index 746fa210c6a..efd6dbccfdc 100644 --- a/tests/Cluster.py +++ b/tests/Cluster.py @@ -1212,7 +1212,7 @@ def bootstrap(self, biosNode, totalNodes, prodCount, totalProducers, pfSetupPoli contract=eosioTokenAccount.name Utils.Print("push create action to %s contract" % (contract)) action="create" - data="{\"issuer\":\"%s\",\"maximum_supply\":\"1000000000.0000 %s\",\"can_freeze\":\"0\",\"can_recall\":\"0\",\"can_whitelist\":\"0\"}" % (eosioTokenAccount.name, CORE_SYMBOL) + data="{\"issuer\":\"%s\",\"maximum_supply\":\"1000000000.0000 %s\"}" % (eosioAccount.name, CORE_SYMBOL) opts="--permission %s@active" % (contract) trans=biosNode.pushMessage(contract, action, data, opts) if trans is None or not trans[0]: @@ -1229,7 +1229,7 @@ def bootstrap(self, biosNode, totalNodes, prodCount, totalProducers, pfSetupPoli Utils.Print("push issue action to %s contract" % (contract)) action="issue" data="{\"to\":\"%s\",\"quantity\":\"1000000000.0000 %s\",\"memo\":\"initial issue\"}" % (eosioAccount.name, CORE_SYMBOL) - opts="--permission %s@active" % (contract) + opts="--permission %s@active" % (eosioAccount.name) trans=biosNode.pushMessage(contract, action, data, opts) if trans is None or not trans[0]: Utils.Print("ERROR: Failed to push issue action to eosio contract.") From aa978cf375b5573cb38bc1ef902e9ffc1d1257db Mon Sep 17 00:00:00 2001 From: arhag Date: Tue, 16 Apr 2019 23:49:58 -0400 Subject: [PATCH 2/3] use updated bios contract that renames preactivate action to activate; adjust tests and testing utilities accordingly --- libraries/testing/tester.cpp | 2 +- tests/Node.py | 4 +-- unittests/contracts/eosio.bios/eosio.bios.abi | 30 +++++++++--------- .../contracts/eosio.bios/eosio.bios.wasm | Bin 17779 -> 17777 bytes unittests/protocol_feature_tests.cpp | 4 +-- 5 files changed, 20 insertions(+), 20 deletions(-) diff --git a/libraries/testing/tester.cpp b/libraries/testing/tester.cpp index 5d56814a7a5..a9a442d8380 100644 --- a/libraries/testing/tester.cpp +++ b/libraries/testing/tester.cpp @@ -983,7 +983,7 @@ namespace eosio { namespace testing { void base_tester::preactivate_protocol_features(const vector feature_digests) { for( const auto& feature_digest: feature_digests ) { - push_action( config::system_account_name, N(preactivate), config::system_account_name, + push_action( config::system_account_name, N(activate), config::system_account_name, fc::mutable_variant_object()("feature_digest", feature_digest) ); } } diff --git a/tests/Node.py b/tests/Node.py index ccb3df11557..fc519a41569 100644 --- a/tests/Node.py +++ b/tests/Node.py @@ -1539,10 +1539,10 @@ def getAllBuiltinFeatureDigestsToPreactivate(self): # Require PREACTIVATE_FEATURE to be activated and require eosio.bios with preactivate_feature def preactivateProtocolFeatures(self, featureDigests:list): for digest in featureDigests: - Utils.Print("push preactivate action with digest {}".format(digest)) + Utils.Print("push activate action with digest {}".format(digest)) data="{{\"feature_digest\":{}}}".format(digest) opts="--permission eosio@active" - trans=self.pushMessage("eosio", "preactivate", data, opts) + trans=self.pushMessage("eosio", "activate", data, opts) if trans is None or not trans[0]: Utils.Print("ERROR: Failed to preactive digest {}".format(digest)) return None diff --git a/unittests/contracts/eosio.bios/eosio.bios.abi b/unittests/contracts/eosio.bios/eosio.bios.abi index 3f9749263ce..01f62c976f5 100644 --- a/unittests/contracts/eosio.bios/eosio.bios.abi +++ b/unittests/contracts/eosio.bios/eosio.bios.abi @@ -17,6 +17,16 @@ } ] }, + { + "name": "activate", + "base": "", + "fields": [ + { + "name": "feature_digest", + "type": "checksum256" + } + ] + }, { "name": "authority", "base": "", @@ -241,16 +251,6 @@ } ] }, - { - "name": "preactivate", - "base": "", - "fields": [ - { - "name": "feature_digest", - "type": "checksum256" - } - ] - }, { "name": "producer_key", "base": "", @@ -451,6 +451,11 @@ } ], "actions": [ + { + "name": "activate", + "type": "activate", + "ricardian_contract": "" + }, { "name": "canceldelay", "type": "canceldelay", @@ -476,11 +481,6 @@ "type": "onerror", "ricardian_contract": "" }, - { - "name": "preactivate", - "type": "preactivate", - "ricardian_contract": "" - }, { "name": "reqactivated", "type": "reqactivated", diff --git a/unittests/contracts/eosio.bios/eosio.bios.wasm b/unittests/contracts/eosio.bios/eosio.bios.wasm index 9d15da6fc49d215664c142c5055de37d8a39746d..968bd1529dc23933a35712bdabe2697d37553c99 100755 GIT binary patch delta 5851 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 Vw Date: Wed, 17 Apr 2019 00:24:17 -0400 Subject: [PATCH 3/3] forgot to rename preactivate to activate in testnet.template --- testnet.template | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/testnet.template b/testnet.template index e36e8ba4f80..574d7ec9795 100644 --- a/testnet.template +++ b/testnet.template @@ -87,7 +87,7 @@ ecmd set contract eosio $bioscontractpath eosio.bios.wasm eosio.bios.abi # Preactivate all digests for digest in $FEATURE_DIGESTS; do -ecmd push action eosio preactivate "{\"feature_digest\":\"$digest\"}" -p eosio +ecmd push action eosio activate "{\"feature_digest\":\"$digest\"}" -p eosio done # Create required system accounts