Added controller view methods on ERC20Facet and TerminusFacet

pull/9/head
Neeraj Kashyap 2021-12-18 12:25:54 -08:00
rodzic dd986d36b3
commit cad68dcfa8
4 zmienionych plików z 38 dodań i 0 usunięć

Wyświetl plik

@ -16,6 +16,10 @@ import "../diamond/libraries/LibDiamond.sol";
contract ERC20Facet is ERC20WithCommonStorage {
constructor() {}
function controller() external view returns (address) {
return LibERC20.erc20Storage().controller;
}
function mint(address account, uint256 amount) external {
LibERC20.enforceIsController();
_mint(account, amount);

Wyświetl plik

@ -16,6 +16,10 @@ import "../diamond/libraries/LibDiamond.sol";
contract TerminusFacet is ERC1155WithTerminusStorage {
constructor() {}
function controller() external view returns (address) {
return LibTerminus.terminusStorage().controller;
}
function setURI(uint256 poolID, string memory poolURI) external {
LibTerminus.enforcePoolIsController(poolID, _msgSender());
LibTerminus.TerminusStorage storage ts = LibTerminus.terminusStorage();

Wyświetl plik

@ -102,6 +102,10 @@ class ERC20Facet:
self.assert_contract_is_instantiated()
return self.contract.balanceOf.call(account)
def controller(self) -> Any:
self.assert_contract_is_instantiated()
return self.contract.controller.call()
def decimals(self) -> Any:
self.assert_contract_is_instantiated()
return self.contract.decimals.call()
@ -227,6 +231,13 @@ def handle_balance_of(args: argparse.Namespace) -> None:
print(result)
def handle_controller(args: argparse.Namespace) -> None:
network.connect(args.network)
contract = ERC20Facet(args.address)
result = contract.controller()
print(result)
def handle_decimals(args: argparse.Namespace) -> None:
network.connect(args.network)
contract = ERC20Facet(args.address)
@ -354,6 +365,10 @@ def generate_cli() -> argparse.ArgumentParser:
balance_of_parser.add_argument("--account", required=True, help="Type: address")
balance_of_parser.set_defaults(func=handle_balance_of)
controller_parser = subcommands.add_parser("controller")
add_default_arguments(controller_parser, False)
controller_parser.set_defaults(func=handle_controller)
decimals_parser = subcommands.add_parser("decimals")
add_default_arguments(decimals_parser, False)
decimals_parser.set_defaults(func=handle_decimals)

Wyświetl plik

@ -98,6 +98,10 @@ class TerminusFacet:
self.assert_contract_is_instantiated()
return self.contract.balanceOfBatch.call(accounts, ids)
def controller(self) -> Any:
self.assert_contract_is_instantiated()
return self.contract.controller.call()
def create_pool(self, transaction_config) -> Any:
self.assert_contract_is_instantiated()
return self.contract.createPool(transaction_config)
@ -241,6 +245,13 @@ def handle_balance_of_batch(args: argparse.Namespace) -> None:
print(result)
def handle_controller(args: argparse.Namespace) -> None:
network.connect(args.network)
contract = TerminusFacet(args.address)
result = contract.controller()
print(result)
def handle_create_pool(args: argparse.Namespace) -> None:
network.connect(args.network)
contract = TerminusFacet(args.address)
@ -386,6 +397,10 @@ def generate_cli() -> argparse.ArgumentParser:
)
balance_of_batch_parser.set_defaults(func=handle_balance_of_batch)
controller_parser = subcommands.add_parser("controller")
add_default_arguments(controller_parser, False)
controller_parser.set_defaults(func=handle_controller)
create_pool_parser = subcommands.add_parser("create-pool")
add_default_arguments(create_pool_parser, True)
create_pool_parser.set_defaults(func=handle_create_pool)