diff --git a/scripts/hooks/nucypher_dkg.py b/scripts/hooks/nucypher_dkg.py index 42820cf19..9cddfff75 100644 --- a/scripts/hooks/nucypher_dkg.py +++ b/scripts/hooks/nucypher_dkg.py @@ -1,23 +1,6 @@ -""" - This file is part of nucypher. - - nucypher is free software: you can redistribute it and/or modify - it under the terms of the GNU Affero General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - nucypher is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU Affero General Public License for more details. - - You should have received a copy of the GNU Affero General Public License - along with nucypher. If not, see . -""" - # Run nucypher dkg by running: # -# python scripts/hooks/nucypher_dkg.py +# python scripts/hooks/nucypher_dkg.py # # For example: # @@ -25,9 +8,10 @@ # python ./scripts/hooks/nucypher_dkg.py 0 lynx # # Go through entire process of initiating a ritual, waiting for it to finish, then use for encryption/decryption: -# python ./scripts/hooks/nucypher_dkg.py -1 lynx +# python ./scripts/hooks/nucypher_dkg.py -1 lynx # +import random import sys import time @@ -81,15 +65,15 @@ except IndexError: ritual_id = None try: - account_keystore_filepath = sys.argv[4] + signer_uri = sys.argv[4] except IndexError: if ritual_id is None: emitter.message( - "You must provide an account keystore filepath if not reusing a ritual id", + "You must provide an account signer URI for new ritual transactions if not reusing a ritual id", color="red", ) sys.exit(-1) - account_keystore_filepath = None + signer_uri = None try: network = sys.argv[3] @@ -121,7 +105,6 @@ coordinator_agent = ContractAgency.get_agent( agent_class=CoordinatorAgent, registry=registry ) # type: CoordinatorAgent - # # Initial Ritual # @@ -129,9 +112,7 @@ coordinator_agent = ContractAgency.get_agent( if ritual_id is None: emitter.echo("--------- Initiating Ritual ---------") # create account from keystore file - signer = Signer.from_signer_uri( - uri=f"keystore://{account_keystore_filepath}" - ) # type: KeystoreSigner + signer = Signer.from_signer_uri(uri=signer_uri) account_address = signer.accounts[0] emitter.echo(f"Using account {account_address}", color="green") @@ -152,10 +133,10 @@ if ritual_id is None: staking_providers.remove( "0x7AFDa7e47055CDc597872CA34f9FE75bD083D0Fe" ) # TODO why is this address active? It doesn't have a running node - # sort - staking_providers.sort() - dkg_staking_providers = staking_providers[:2] + # sample then sort + dkg_staking_providers = random.sample(staking_providers, 2) + dkg_staking_providers.sort() emitter.echo(f"Using staking providers for DKG: {dkg_staking_providers}") receipt = coordinator_agent.initiate_ritual( dkg_staking_providers, transacting_power