Added contract verification functionality to all generated interfaces

Also adds `--nonce` argument to all CLI commands which submit transactions.
pull/28/head
Neeraj Kashyap 2022-01-24 20:50:58 -08:00
rodzic 66eb676f2e
commit 75bf630af9
9 zmienionych plików z 188 dodań i 9 usunięć

Wyświetl plik

@ -1,5 +1,5 @@
# Code generated by moonworm : https://github.com/bugout-dev/moonworm
# Moonworm version : 0.1.6
# Moonworm version : 0.1.13
import argparse
import json
@ -97,6 +97,11 @@ class Diamond:
if self.contract is None:
raise Exception("contract has not been instantiated")
def verify_contract(self):
self.assert_contract_is_instantiated()
contract_class = contract_from_build(self.contract_name)
contract_class.publish_source(self.contract)
def get_transaction_config(args: argparse.Namespace) -> Dict[str, Any]:
signer = network.accounts.load(args.sender, args.password)
@ -105,6 +110,8 @@ def get_transaction_config(args: argparse.Namespace) -> Dict[str, Any]:
transaction_config["gas_price"] = args.gas_price
if args.confirmations is not None:
transaction_config["required_confs"] = args.confirmations
if args.nonce is not None:
transaction_config["nonce"] = args.nonce
return transaction_config
@ -134,6 +141,9 @@ def add_default_arguments(parser: argparse.ArgumentParser, transact: bool) -> No
default=None,
help="Number of confirmations to await before considering a transaction completed",
)
parser.add_argument(
"--nonce", type=int, default=None, help="Nonce for the transaction (optional)"
)
def handle_deploy(args: argparse.Namespace) -> None:
@ -148,6 +158,13 @@ def handle_deploy(args: argparse.Namespace) -> None:
print(result)
def handle_verify_contract(args: argparse.Namespace) -> None:
network.connect(args.network)
contract = Diamond(args.address)
result = contract.verify_contract()
print(result)
def generate_cli() -> argparse.ArgumentParser:
parser = argparse.ArgumentParser(description="CLI for Diamond")
parser.set_defaults(func=lambda _: parser.print_help())
@ -163,6 +180,10 @@ def generate_cli() -> argparse.ArgumentParser:
)
deploy_parser.set_defaults(func=handle_deploy)
verify_contract_parser = subcommands.add_parser("verify-contract")
add_default_arguments(verify_contract_parser, False)
verify_contract_parser.set_defaults(func=handle_verify_contract)
return parser

Wyświetl plik

@ -1,5 +1,5 @@
# Code generated by moonworm : https://github.com/bugout-dev/moonworm
# Moonworm version : 0.1.6
# Moonworm version : 0.1.13
import argparse
import json
@ -90,6 +90,11 @@ class DiamondCutFacet:
if self.contract is None:
raise Exception("contract has not been instantiated")
def verify_contract(self):
self.assert_contract_is_instantiated()
contract_class = contract_from_build(self.contract_name)
contract_class.publish_source(self.contract)
def diamond_cut(
self,
_diamond_cut: List,
@ -110,6 +115,8 @@ def get_transaction_config(args: argparse.Namespace) -> Dict[str, Any]:
transaction_config["gas_price"] = args.gas_price
if args.confirmations is not None:
transaction_config["required_confs"] = args.confirmations
if args.nonce is not None:
transaction_config["nonce"] = args.nonce
return transaction_config
@ -139,6 +146,9 @@ def add_default_arguments(parser: argparse.ArgumentParser, transact: bool) -> No
default=None,
help="Number of confirmations to await before considering a transaction completed",
)
parser.add_argument(
"--nonce", type=int, default=None, help="Nonce for the transaction (optional)"
)
def handle_deploy(args: argparse.Namespace) -> None:
@ -149,6 +159,13 @@ def handle_deploy(args: argparse.Namespace) -> None:
print(result)
def handle_verify_contract(args: argparse.Namespace) -> None:
network.connect(args.network)
contract = DiamondCutFacet(args.address)
result = contract.verify_contract()
print(result)
def handle_diamond_cut(args: argparse.Namespace) -> None:
network.connect(args.network)
contract = DiamondCutFacet(args.address)
@ -171,6 +188,10 @@ def generate_cli() -> argparse.ArgumentParser:
add_default_arguments(deploy_parser, True)
deploy_parser.set_defaults(func=handle_deploy)
verify_contract_parser = subcommands.add_parser("verify-contract")
add_default_arguments(verify_contract_parser, False)
verify_contract_parser.set_defaults(func=handle_verify_contract)
diamond_cut_parser = subcommands.add_parser("diamond-cut")
add_default_arguments(diamond_cut_parser, True)
diamond_cut_parser.add_argument(

Wyświetl plik

@ -1,5 +1,5 @@
# Code generated by moonworm : https://github.com/bugout-dev/moonworm
# Moonworm version : 0.1.6
# Moonworm version : 0.1.13
import argparse
import json
@ -90,6 +90,11 @@ class DiamondLoupeFacet:
if self.contract is None:
raise Exception("contract has not been instantiated")
def verify_contract(self):
self.assert_contract_is_instantiated()
contract_class = contract_from_build(self.contract_name)
contract_class.publish_source(self.contract)
def facet_address(self, _function_selector: bytes) -> Any:
self.assert_contract_is_instantiated()
return self.contract.facetAddress.call(_function_selector)
@ -118,6 +123,8 @@ def get_transaction_config(args: argparse.Namespace) -> Dict[str, Any]:
transaction_config["gas_price"] = args.gas_price
if args.confirmations is not None:
transaction_config["required_confs"] = args.confirmations
if args.nonce is not None:
transaction_config["nonce"] = args.nonce
return transaction_config
@ -147,6 +154,9 @@ def add_default_arguments(parser: argparse.ArgumentParser, transact: bool) -> No
default=None,
help="Number of confirmations to await before considering a transaction completed",
)
parser.add_argument(
"--nonce", type=int, default=None, help="Nonce for the transaction (optional)"
)
def handle_deploy(args: argparse.Namespace) -> None:
@ -157,6 +167,13 @@ def handle_deploy(args: argparse.Namespace) -> None:
print(result)
def handle_verify_contract(args: argparse.Namespace) -> None:
network.connect(args.network)
contract = DiamondLoupeFacet(args.address)
result = contract.verify_contract()
print(result)
def handle_facet_address(args: argparse.Namespace) -> None:
network.connect(args.network)
contract = DiamondLoupeFacet(args.address)
@ -201,6 +218,10 @@ def generate_cli() -> argparse.ArgumentParser:
add_default_arguments(deploy_parser, True)
deploy_parser.set_defaults(func=handle_deploy)
verify_contract_parser = subcommands.add_parser("verify-contract")
add_default_arguments(verify_contract_parser, False)
verify_contract_parser.set_defaults(func=handle_verify_contract)
facet_address_parser = subcommands.add_parser("facet-address")
add_default_arguments(facet_address_parser, False)
facet_address_parser.add_argument(

Wyświetl plik

@ -1,5 +1,5 @@
# Code generated by moonworm : https://github.com/bugout-dev/moonworm
# Moonworm version : 0.1.8
# Moonworm version : 0.1.13
import argparse
import json
@ -90,6 +90,11 @@ class ERC20Facet:
if self.contract is None:
raise Exception("contract has not been instantiated")
def verify_contract(self):
self.assert_contract_is_instantiated()
contract_class = contract_from_build(self.contract_name)
contract_class.publish_source(self.contract)
def allowance(self, owner: ChecksumAddress, spender: ChecksumAddress) -> Any:
self.assert_contract_is_instantiated()
return self.contract.allowance.call(owner, spender)
@ -168,6 +173,8 @@ def get_transaction_config(args: argparse.Namespace) -> Dict[str, Any]:
transaction_config["gas_price"] = args.gas_price
if args.confirmations is not None:
transaction_config["required_confs"] = args.confirmations
if args.nonce is not None:
transaction_config["nonce"] = args.nonce
return transaction_config
@ -197,6 +204,9 @@ def add_default_arguments(parser: argparse.ArgumentParser, transact: bool) -> No
default=None,
help="Number of confirmations to await before considering a transaction completed",
)
parser.add_argument(
"--nonce", type=int, default=None, help="Nonce for the transaction (optional)"
)
def handle_deploy(args: argparse.Namespace) -> None:
@ -207,6 +217,13 @@ def handle_deploy(args: argparse.Namespace) -> None:
print(result)
def handle_verify_contract(args: argparse.Namespace) -> None:
network.connect(args.network)
contract = ERC20Facet(args.address)
result = contract.verify_contract()
print(result)
def handle_allowance(args: argparse.Namespace) -> None:
network.connect(args.network)
contract = ERC20Facet(args.address)
@ -346,6 +363,10 @@ def generate_cli() -> argparse.ArgumentParser:
add_default_arguments(deploy_parser, True)
deploy_parser.set_defaults(func=handle_deploy)
verify_contract_parser = subcommands.add_parser("verify-contract")
add_default_arguments(verify_contract_parser, False)
verify_contract_parser.set_defaults(func=handle_verify_contract)
allowance_parser = subcommands.add_parser("allowance")
add_default_arguments(allowance_parser, False)
allowance_parser.add_argument("--owner", required=True, help="Type: address")

Wyświetl plik

@ -1,5 +1,5 @@
# Code generated by moonworm : https://github.com/bugout-dev/moonworm
# Moonworm version : 0.1.8
# Moonworm version : 0.1.13
import argparse
import json
@ -90,6 +90,11 @@ class ERC20Initializer:
if self.contract is None:
raise Exception("contract has not been instantiated")
def verify_contract(self):
self.assert_contract_is_instantiated()
contract_class = contract_from_build(self.contract_name)
contract_class.publish_source(self.contract)
def init(self, transaction_config) -> Any:
self.assert_contract_is_instantiated()
return self.contract.init(transaction_config)
@ -102,6 +107,8 @@ def get_transaction_config(args: argparse.Namespace) -> Dict[str, Any]:
transaction_config["gas_price"] = args.gas_price
if args.confirmations is not None:
transaction_config["required_confs"] = args.confirmations
if args.nonce is not None:
transaction_config["nonce"] = args.nonce
return transaction_config
@ -131,6 +138,9 @@ def add_default_arguments(parser: argparse.ArgumentParser, transact: bool) -> No
default=None,
help="Number of confirmations to await before considering a transaction completed",
)
parser.add_argument(
"--nonce", type=int, default=None, help="Nonce for the transaction (optional)"
)
def handle_deploy(args: argparse.Namespace) -> None:
@ -141,6 +151,13 @@ def handle_deploy(args: argparse.Namespace) -> None:
print(result)
def handle_verify_contract(args: argparse.Namespace) -> None:
network.connect(args.network)
contract = ERC20Initializer(args.address)
result = contract.verify_contract()
print(result)
def handle_init(args: argparse.Namespace) -> None:
network.connect(args.network)
contract = ERC20Initializer(args.address)
@ -158,6 +175,10 @@ def generate_cli() -> argparse.ArgumentParser:
add_default_arguments(deploy_parser, True)
deploy_parser.set_defaults(func=handle_deploy)
verify_contract_parser = subcommands.add_parser("verify-contract")
add_default_arguments(verify_contract_parser, False)
verify_contract_parser.set_defaults(func=handle_verify_contract)
init_parser = subcommands.add_parser("init")
add_default_arguments(init_parser, True)
init_parser.set_defaults(func=handle_init)

Wyświetl plik

@ -1,5 +1,5 @@
# Code generated by moonworm : https://github.com/bugout-dev/moonworm
# Moonworm version : 0.1.11
# Moonworm version : 0.1.13
import argparse
import json
@ -103,6 +103,11 @@ class MoonstreamTokenFaucet:
if self.contract is None:
raise Exception("contract has not been instantiated")
def verify_contract(self):
self.assert_contract_is_instantiated()
contract_class = contract_from_build(self.contract_name)
contract_class.publish_source(self.contract)
def claim(self, transaction_config) -> Any:
self.assert_contract_is_instantiated()
return self.contract.claim(transaction_config)
@ -217,6 +222,13 @@ def handle_deploy(args: argparse.Namespace) -> None:
print(result)
def handle_verify_contract(args: argparse.Namespace) -> None:
network.connect(args.network)
contract = MoonstreamTokenFaucet(args.address)
result = contract.verify_contract()
print(result)
def handle_claim(args: argparse.Namespace) -> None:
network.connect(args.network)
contract = MoonstreamTokenFaucet(args.address)
@ -336,6 +348,10 @@ def generate_cli() -> argparse.ArgumentParser:
)
deploy_parser.set_defaults(func=handle_deploy)
verify_contract_parser = subcommands.add_parser("verify-contract")
add_default_arguments(verify_contract_parser, False)
verify_contract_parser.set_defaults(func=handle_verify_contract)
claim_parser = subcommands.add_parser("claim")
add_default_arguments(claim_parser, True)
claim_parser.set_defaults(func=handle_claim)

Wyświetl plik

@ -1,5 +1,5 @@
# Code generated by moonworm : https://github.com/bugout-dev/moonworm
# Moonworm version : 0.1.6
# Moonworm version : 0.1.13
import argparse
import json
@ -90,6 +90,11 @@ class OwnershipFacet:
if self.contract is None:
raise Exception("contract has not been instantiated")
def verify_contract(self):
self.assert_contract_is_instantiated()
contract_class = contract_from_build(self.contract_name)
contract_class.publish_source(self.contract)
def owner(self) -> Any:
self.assert_contract_is_instantiated()
return self.contract.owner.call()
@ -108,6 +113,8 @@ def get_transaction_config(args: argparse.Namespace) -> Dict[str, Any]:
transaction_config["gas_price"] = args.gas_price
if args.confirmations is not None:
transaction_config["required_confs"] = args.confirmations
if args.nonce is not None:
transaction_config["nonce"] = args.nonce
return transaction_config
@ -137,6 +144,9 @@ def add_default_arguments(parser: argparse.ArgumentParser, transact: bool) -> No
default=None,
help="Number of confirmations to await before considering a transaction completed",
)
parser.add_argument(
"--nonce", type=int, default=None, help="Nonce for the transaction (optional)"
)
def handle_deploy(args: argparse.Namespace) -> None:
@ -147,6 +157,13 @@ def handle_deploy(args: argparse.Namespace) -> None:
print(result)
def handle_verify_contract(args: argparse.Namespace) -> None:
network.connect(args.network)
contract = OwnershipFacet(args.address)
result = contract.verify_contract()
print(result)
def handle_owner(args: argparse.Namespace) -> None:
network.connect(args.network)
contract = OwnershipFacet(args.address)
@ -173,6 +190,10 @@ def generate_cli() -> argparse.ArgumentParser:
add_default_arguments(deploy_parser, True)
deploy_parser.set_defaults(func=handle_deploy)
verify_contract_parser = subcommands.add_parser("verify-contract")
add_default_arguments(verify_contract_parser, False)
verify_contract_parser.set_defaults(func=handle_verify_contract)
owner_parser = subcommands.add_parser("owner")
add_default_arguments(owner_parser, False)
owner_parser.set_defaults(func=handle_owner)

Wyświetl plik

@ -1,5 +1,5 @@
# Code generated by moonworm : https://github.com/bugout-dev/moonworm
# Moonworm version : 0.1.9
# Moonworm version : 0.1.13
import argparse
import json
@ -90,6 +90,11 @@ class TerminusFacet:
if self.contract is None:
raise Exception("contract has not been instantiated")
def verify_contract(self):
self.assert_contract_is_instantiated()
contract_class = contract_from_build(self.contract_name)
contract_class.publish_source(self.contract)
def approve_for_pool(
self, pool_id: int, operator: ChecksumAddress, transaction_config
) -> Any:
@ -312,6 +317,13 @@ def handle_deploy(args: argparse.Namespace) -> None:
print(result)
def handle_verify_contract(args: argparse.Namespace) -> None:
network.connect(args.network)
contract = TerminusFacet(args.address)
result = contract.verify_contract()
print(result)
def handle_approve_for_pool(args: argparse.Namespace) -> None:
network.connect(args.network)
contract = TerminusFacet(args.address)
@ -599,6 +611,10 @@ def generate_cli() -> argparse.ArgumentParser:
add_default_arguments(deploy_parser, True)
deploy_parser.set_defaults(func=handle_deploy)
verify_contract_parser = subcommands.add_parser("verify-contract")
add_default_arguments(verify_contract_parser, False)
verify_contract_parser.set_defaults(func=handle_verify_contract)
approve_for_pool_parser = subcommands.add_parser("approve-for-pool")
add_default_arguments(approve_for_pool_parser, True)
approve_for_pool_parser.add_argument(

Wyświetl plik

@ -1,5 +1,5 @@
# Code generated by moonworm : https://github.com/bugout-dev/moonworm
# Moonworm version : 0.1.8
# Moonworm version : 0.1.13
import argparse
import json
@ -90,6 +90,11 @@ class TerminusInitializer:
if self.contract is None:
raise Exception("contract has not been instantiated")
def verify_contract(self):
self.assert_contract_is_instantiated()
contract_class = contract_from_build(self.contract_name)
contract_class.publish_source(self.contract)
def init(self, transaction_config) -> Any:
self.assert_contract_is_instantiated()
return self.contract.init(transaction_config)
@ -102,6 +107,8 @@ def get_transaction_config(args: argparse.Namespace) -> Dict[str, Any]:
transaction_config["gas_price"] = args.gas_price
if args.confirmations is not None:
transaction_config["required_confs"] = args.confirmations
if args.nonce is not None:
transaction_config["nonce"] = args.nonce
return transaction_config
@ -131,6 +138,9 @@ def add_default_arguments(parser: argparse.ArgumentParser, transact: bool) -> No
default=None,
help="Number of confirmations to await before considering a transaction completed",
)
parser.add_argument(
"--nonce", type=int, default=None, help="Nonce for the transaction (optional)"
)
def handle_deploy(args: argparse.Namespace) -> None:
@ -141,6 +151,13 @@ def handle_deploy(args: argparse.Namespace) -> None:
print(result)
def handle_verify_contract(args: argparse.Namespace) -> None:
network.connect(args.network)
contract = TerminusInitializer(args.address)
result = contract.verify_contract()
print(result)
def handle_init(args: argparse.Namespace) -> None:
network.connect(args.network)
contract = TerminusInitializer(args.address)
@ -158,6 +175,10 @@ def generate_cli() -> argparse.ArgumentParser:
add_default_arguments(deploy_parser, True)
deploy_parser.set_defaults(func=handle_deploy)
verify_contract_parser = subcommands.add_parser("verify-contract")
add_default_arguments(verify_contract_parser, False)
verify_contract_parser.set_defaults(func=handle_verify_contract)
init_parser = subcommands.add_parser("init")
add_default_arguments(init_parser, True)
init_parser.set_defaults(func=handle_init)