kopia lustrzana https://github.com/bugout-dev/dao
Added methods to view and change pool transferability/burnability
rodzic
242bbd1432
commit
afa3d3f772
|
@ -176,6 +176,24 @@ contract TerminusFacet is ERC1155WithTerminusStorage {
|
|||
return LibTerminus.terminusStorage().poolSupply[poolID];
|
||||
}
|
||||
|
||||
function poolIsTransferable(uint256 poolID) external view returns (bool) {
|
||||
return !LibTerminus.terminusStorage().poolNotTransferable[poolID];
|
||||
}
|
||||
|
||||
function poolIsBurnable(uint256 poolID) external view returns (bool) {
|
||||
return LibTerminus.terminusStorage().poolBurnable[poolID];
|
||||
}
|
||||
|
||||
function setPoolTransferable(uint256 poolID, bool transferable) external {
|
||||
LibTerminus.TerminusStorage storage ts = LibTerminus.terminusStorage();
|
||||
ts.poolNotTransferable[poolID] = !transferable;
|
||||
}
|
||||
|
||||
function setPoolBurnable(uint256 poolID, bool burnable) external {
|
||||
LibTerminus.TerminusStorage storage ts = LibTerminus.terminusStorage();
|
||||
ts.poolBurnable[poolID] = burnable;
|
||||
}
|
||||
|
||||
function createSimplePool(uint256 _capacity) external returns (uint256) {
|
||||
LibTerminus.enforceIsController();
|
||||
LibTerminus.TerminusStorage storage ts = LibTerminus.terminusStorage();
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# Code generated by moonworm : https://github.com/bugout-dev/moonworm
|
||||
# Moonworm version : 0.1.14
|
||||
# Moonworm version : 0.2.4
|
||||
|
||||
import argparse
|
||||
import json
|
||||
|
@ -30,8 +30,8 @@ def boolean_argument_type(raw_value: str) -> bool:
|
|||
)
|
||||
|
||||
|
||||
def bytes_argument_type(raw_value: str) -> bytes:
|
||||
return raw_value.encode()
|
||||
def bytes_argument_type(raw_value: str) -> str:
|
||||
return raw_value
|
||||
|
||||
|
||||
def get_abi_json(abi_name: str) -> List[Dict[str, Any]]:
|
||||
|
@ -85,6 +85,7 @@ class TerminusFacet:
|
|||
deployed_contract = contract_class.deploy(transaction_config)
|
||||
self.address = deployed_contract.address
|
||||
self.contract = deployed_contract
|
||||
return deployed_contract.tx
|
||||
|
||||
def assert_contract_is_instantiated(self) -> None:
|
||||
if self.contract is None:
|
||||
|
@ -101,13 +102,25 @@ class TerminusFacet:
|
|||
self.assert_contract_is_instantiated()
|
||||
return self.contract.approveForPool(pool_id, operator, transaction_config)
|
||||
|
||||
def balance_of(self, account: ChecksumAddress, id: int) -> Any:
|
||||
def balance_of(
|
||||
self,
|
||||
account: ChecksumAddress,
|
||||
id: int,
|
||||
block_number: Optional[Union[str, int]] = "latest",
|
||||
) -> Any:
|
||||
self.assert_contract_is_instantiated()
|
||||
return self.contract.balanceOf.call(account, id)
|
||||
return self.contract.balanceOf.call(account, id, block_identifier=block_number)
|
||||
|
||||
def balance_of_batch(self, accounts: List, ids: List) -> Any:
|
||||
def balance_of_batch(
|
||||
self,
|
||||
accounts: List,
|
||||
ids: List,
|
||||
block_number: Optional[Union[str, int]] = "latest",
|
||||
) -> Any:
|
||||
self.assert_contract_is_instantiated()
|
||||
return self.contract.balanceOfBatch.call(accounts, ids)
|
||||
return self.contract.balanceOfBatch.call(
|
||||
accounts, ids, block_identifier=block_number
|
||||
)
|
||||
|
||||
def burn(
|
||||
self, from_: ChecksumAddress, pool_id: int, amount: int, transaction_config
|
||||
|
@ -115,9 +128,9 @@ class TerminusFacet:
|
|||
self.assert_contract_is_instantiated()
|
||||
return self.contract.burn(from_, pool_id, amount, transaction_config)
|
||||
|
||||
def contract_uri(self) -> Any:
|
||||
def contract_uri(self, block_number: Optional[Union[str, int]] = "latest") -> Any:
|
||||
self.assert_contract_is_instantiated()
|
||||
return self.contract.contractURI.call()
|
||||
return self.contract.contractURI.call(block_identifier=block_number)
|
||||
|
||||
def create_pool_v1(
|
||||
self, _capacity: int, _transferable: bool, _burnable: bool, transaction_config
|
||||
|
@ -132,14 +145,26 @@ class TerminusFacet:
|
|||
return self.contract.createSimplePool(_capacity, transaction_config)
|
||||
|
||||
def is_approved_for_all(
|
||||
self, account: ChecksumAddress, operator: ChecksumAddress
|
||||
self,
|
||||
account: ChecksumAddress,
|
||||
operator: ChecksumAddress,
|
||||
block_number: Optional[Union[str, int]] = "latest",
|
||||
) -> Any:
|
||||
self.assert_contract_is_instantiated()
|
||||
return self.contract.isApprovedForAll.call(account, operator)
|
||||
return self.contract.isApprovedForAll.call(
|
||||
account, operator, block_identifier=block_number
|
||||
)
|
||||
|
||||
def is_approved_for_pool(self, pool_id: int, operator: ChecksumAddress) -> Any:
|
||||
def is_approved_for_pool(
|
||||
self,
|
||||
pool_id: int,
|
||||
operator: ChecksumAddress,
|
||||
block_number: Optional[Union[str, int]] = "latest",
|
||||
) -> Any:
|
||||
self.assert_contract_is_instantiated()
|
||||
return self.contract.isApprovedForPool.call(pool_id, operator)
|
||||
return self.contract.isApprovedForPool.call(
|
||||
pool_id, operator, block_identifier=block_number
|
||||
)
|
||||
|
||||
def mint(
|
||||
self,
|
||||
|
@ -163,13 +188,29 @@ class TerminusFacet:
|
|||
self.assert_contract_is_instantiated()
|
||||
return self.contract.mintBatch(to, pool_i_ds, amounts, data, transaction_config)
|
||||
|
||||
def payment_token(self) -> Any:
|
||||
def payment_token(self, block_number: Optional[Union[str, int]] = "latest") -> Any:
|
||||
self.assert_contract_is_instantiated()
|
||||
return self.contract.paymentToken.call()
|
||||
return self.contract.paymentToken.call(block_identifier=block_number)
|
||||
|
||||
def pool_base_price(self) -> Any:
|
||||
def pool_base_price(
|
||||
self, block_number: Optional[Union[str, int]] = "latest"
|
||||
) -> Any:
|
||||
self.assert_contract_is_instantiated()
|
||||
return self.contract.poolBasePrice.call()
|
||||
return self.contract.poolBasePrice.call(block_identifier=block_number)
|
||||
|
||||
def pool_is_burnable(
|
||||
self, pool_id: int, block_number: Optional[Union[str, int]] = "latest"
|
||||
) -> Any:
|
||||
self.assert_contract_is_instantiated()
|
||||
return self.contract.poolIsBurnable.call(pool_id, block_identifier=block_number)
|
||||
|
||||
def pool_is_transferable(
|
||||
self, pool_id: int, block_number: Optional[Union[str, int]] = "latest"
|
||||
) -> Any:
|
||||
self.assert_contract_is_instantiated()
|
||||
return self.contract.poolIsTransferable.call(
|
||||
pool_id, block_identifier=block_number
|
||||
)
|
||||
|
||||
def pool_mint_batch(
|
||||
self, id: int, to_addresses: List, amounts: List, transaction_config
|
||||
|
@ -233,6 +274,12 @@ class TerminusFacet:
|
|||
self.assert_contract_is_instantiated()
|
||||
return self.contract.setPoolBasePrice(new_base_price, transaction_config)
|
||||
|
||||
def set_pool_burnable(
|
||||
self, pool_id: int, burnable: bool, transaction_config
|
||||
) -> Any:
|
||||
self.assert_contract_is_instantiated()
|
||||
return self.contract.setPoolBurnable(pool_id, burnable, transaction_config)
|
||||
|
||||
def set_pool_controller(
|
||||
self, pool_id: int, new_controller: ChecksumAddress, transaction_config
|
||||
) -> Any:
|
||||
|
@ -241,37 +288,65 @@ class TerminusFacet:
|
|||
pool_id, new_controller, transaction_config
|
||||
)
|
||||
|
||||
def set_pool_transferable(
|
||||
self, pool_id: int, transferable: bool, transaction_config
|
||||
) -> Any:
|
||||
self.assert_contract_is_instantiated()
|
||||
return self.contract.setPoolTransferable(
|
||||
pool_id, transferable, transaction_config
|
||||
)
|
||||
|
||||
def set_uri(self, pool_id: int, pool_uri: str, transaction_config) -> Any:
|
||||
self.assert_contract_is_instantiated()
|
||||
return self.contract.setURI(pool_id, pool_uri, transaction_config)
|
||||
|
||||
def supports_interface(self, interface_id: bytes) -> Any:
|
||||
def supports_interface(
|
||||
self, interface_id: bytes, block_number: Optional[Union[str, int]] = "latest"
|
||||
) -> Any:
|
||||
self.assert_contract_is_instantiated()
|
||||
return self.contract.supportsInterface.call(interface_id)
|
||||
return self.contract.supportsInterface.call(
|
||||
interface_id, block_identifier=block_number
|
||||
)
|
||||
|
||||
def terminus_controller(self) -> Any:
|
||||
def terminus_controller(
|
||||
self, block_number: Optional[Union[str, int]] = "latest"
|
||||
) -> Any:
|
||||
self.assert_contract_is_instantiated()
|
||||
return self.contract.terminusController.call()
|
||||
return self.contract.terminusController.call(block_identifier=block_number)
|
||||
|
||||
def terminus_pool_capacity(self, pool_id: int) -> Any:
|
||||
def terminus_pool_capacity(
|
||||
self, pool_id: int, block_number: Optional[Union[str, int]] = "latest"
|
||||
) -> Any:
|
||||
self.assert_contract_is_instantiated()
|
||||
return self.contract.terminusPoolCapacity.call(pool_id)
|
||||
return self.contract.terminusPoolCapacity.call(
|
||||
pool_id, block_identifier=block_number
|
||||
)
|
||||
|
||||
def terminus_pool_controller(self, pool_id: int) -> Any:
|
||||
def terminus_pool_controller(
|
||||
self, pool_id: int, block_number: Optional[Union[str, int]] = "latest"
|
||||
) -> Any:
|
||||
self.assert_contract_is_instantiated()
|
||||
return self.contract.terminusPoolController.call(pool_id)
|
||||
return self.contract.terminusPoolController.call(
|
||||
pool_id, block_identifier=block_number
|
||||
)
|
||||
|
||||
def terminus_pool_supply(self, pool_id: int) -> Any:
|
||||
def terminus_pool_supply(
|
||||
self, pool_id: int, block_number: Optional[Union[str, int]] = "latest"
|
||||
) -> Any:
|
||||
self.assert_contract_is_instantiated()
|
||||
return self.contract.terminusPoolSupply.call(pool_id)
|
||||
return self.contract.terminusPoolSupply.call(
|
||||
pool_id, block_identifier=block_number
|
||||
)
|
||||
|
||||
def total_pools(self) -> Any:
|
||||
def total_pools(self, block_number: Optional[Union[str, int]] = "latest") -> Any:
|
||||
self.assert_contract_is_instantiated()
|
||||
return self.contract.totalPools.call()
|
||||
return self.contract.totalPools.call(block_identifier=block_number)
|
||||
|
||||
def uri(self, pool_id: int) -> Any:
|
||||
def uri(
|
||||
self, pool_id: int, block_number: Optional[Union[str, int]] = "latest"
|
||||
) -> Any:
|
||||
self.assert_contract_is_instantiated()
|
||||
return self.contract.uri.call(pool_id)
|
||||
return self.contract.uri.call(pool_id, block_identifier=block_number)
|
||||
|
||||
def withdraw_payments(
|
||||
self, to_address: ChecksumAddress, amount: int, transaction_config
|
||||
|
@ -304,6 +379,12 @@ def add_default_arguments(parser: argparse.ArgumentParser, transact: bool) -> No
|
|||
"--address", required=False, help="Address of deployed contract to connect to"
|
||||
)
|
||||
if not transact:
|
||||
parser.add_argument(
|
||||
"--block-number",
|
||||
required=False,
|
||||
type=int,
|
||||
help="Call at the given block number, defaults to latest",
|
||||
)
|
||||
return
|
||||
parser.add_argument(
|
||||
"--sender", required=True, help="Path to keystore file for transaction sender"
|
||||
|
@ -335,6 +416,10 @@ def add_default_arguments(parser: argparse.ArgumentParser, transact: bool) -> No
|
|||
parser.add_argument(
|
||||
"--nonce", type=int, default=None, help="Nonce for the transaction (optional)"
|
||||
)
|
||||
parser.add_argument(
|
||||
"--value", default=None, help="Value of the transaction in wei(optional)"
|
||||
)
|
||||
parser.add_argument("--verbose", action="store_true", help="Print verbose output")
|
||||
|
||||
|
||||
def handle_deploy(args: argparse.Namespace) -> None:
|
||||
|
@ -343,6 +428,8 @@ def handle_deploy(args: argparse.Namespace) -> None:
|
|||
contract = TerminusFacet(None)
|
||||
result = contract.deploy(transaction_config=transaction_config)
|
||||
print(result)
|
||||
if args.verbose:
|
||||
print(result.info())
|
||||
|
||||
|
||||
def handle_verify_contract(args: argparse.Namespace) -> None:
|
||||
|
@ -362,19 +449,25 @@ def handle_approve_for_pool(args: argparse.Namespace) -> None:
|
|||
transaction_config=transaction_config,
|
||||
)
|
||||
print(result)
|
||||
if args.verbose:
|
||||
print(result.info())
|
||||
|
||||
|
||||
def handle_balance_of(args: argparse.Namespace) -> None:
|
||||
network.connect(args.network)
|
||||
contract = TerminusFacet(args.address)
|
||||
result = contract.balance_of(account=args.account, id=args.id)
|
||||
result = contract.balance_of(
|
||||
account=args.account, id=args.id, block_number=args.block_number
|
||||
)
|
||||
print(result)
|
||||
|
||||
|
||||
def handle_balance_of_batch(args: argparse.Namespace) -> None:
|
||||
network.connect(args.network)
|
||||
contract = TerminusFacet(args.address)
|
||||
result = contract.balance_of_batch(accounts=args.accounts, ids=args.ids)
|
||||
result = contract.balance_of_batch(
|
||||
accounts=args.accounts, ids=args.ids, block_number=args.block_number
|
||||
)
|
||||
print(result)
|
||||
|
||||
|
||||
|
@ -389,12 +482,14 @@ def handle_burn(args: argparse.Namespace) -> None:
|
|||
transaction_config=transaction_config,
|
||||
)
|
||||
print(result)
|
||||
if args.verbose:
|
||||
print(result.info())
|
||||
|
||||
|
||||
def handle_contract_uri(args: argparse.Namespace) -> None:
|
||||
network.connect(args.network)
|
||||
contract = TerminusFacet(args.address)
|
||||
result = contract.contract_uri()
|
||||
result = contract.contract_uri(block_number=args.block_number)
|
||||
print(result)
|
||||
|
||||
|
||||
|
@ -409,6 +504,8 @@ def handle_create_pool_v1(args: argparse.Namespace) -> None:
|
|||
transaction_config=transaction_config,
|
||||
)
|
||||
print(result)
|
||||
if args.verbose:
|
||||
print(result.info())
|
||||
|
||||
|
||||
def handle_create_simple_pool(args: argparse.Namespace) -> None:
|
||||
|
@ -419,19 +516,25 @@ def handle_create_simple_pool(args: argparse.Namespace) -> None:
|
|||
_capacity=args.capacity_arg, transaction_config=transaction_config
|
||||
)
|
||||
print(result)
|
||||
if args.verbose:
|
||||
print(result.info())
|
||||
|
||||
|
||||
def handle_is_approved_for_all(args: argparse.Namespace) -> None:
|
||||
network.connect(args.network)
|
||||
contract = TerminusFacet(args.address)
|
||||
result = contract.is_approved_for_all(account=args.account, operator=args.operator)
|
||||
result = contract.is_approved_for_all(
|
||||
account=args.account, operator=args.operator, block_number=args.block_number
|
||||
)
|
||||
print(result)
|
||||
|
||||
|
||||
def handle_is_approved_for_pool(args: argparse.Namespace) -> None:
|
||||
network.connect(args.network)
|
||||
contract = TerminusFacet(args.address)
|
||||
result = contract.is_approved_for_pool(pool_id=args.pool_id, operator=args.operator)
|
||||
result = contract.is_approved_for_pool(
|
||||
pool_id=args.pool_id, operator=args.operator, block_number=args.block_number
|
||||
)
|
||||
print(result)
|
||||
|
||||
|
||||
|
@ -447,6 +550,8 @@ def handle_mint(args: argparse.Namespace) -> None:
|
|||
transaction_config=transaction_config,
|
||||
)
|
||||
print(result)
|
||||
if args.verbose:
|
||||
print(result.info())
|
||||
|
||||
|
||||
def handle_mint_batch(args: argparse.Namespace) -> None:
|
||||
|
@ -461,19 +566,39 @@ def handle_mint_batch(args: argparse.Namespace) -> None:
|
|||
transaction_config=transaction_config,
|
||||
)
|
||||
print(result)
|
||||
if args.verbose:
|
||||
print(result.info())
|
||||
|
||||
|
||||
def handle_payment_token(args: argparse.Namespace) -> None:
|
||||
network.connect(args.network)
|
||||
contract = TerminusFacet(args.address)
|
||||
result = contract.payment_token()
|
||||
result = contract.payment_token(block_number=args.block_number)
|
||||
print(result)
|
||||
|
||||
|
||||
def handle_pool_base_price(args: argparse.Namespace) -> None:
|
||||
network.connect(args.network)
|
||||
contract = TerminusFacet(args.address)
|
||||
result = contract.pool_base_price()
|
||||
result = contract.pool_base_price(block_number=args.block_number)
|
||||
print(result)
|
||||
|
||||
|
||||
def handle_pool_is_burnable(args: argparse.Namespace) -> None:
|
||||
network.connect(args.network)
|
||||
contract = TerminusFacet(args.address)
|
||||
result = contract.pool_is_burnable(
|
||||
pool_id=args.pool_id, block_number=args.block_number
|
||||
)
|
||||
print(result)
|
||||
|
||||
|
||||
def handle_pool_is_transferable(args: argparse.Namespace) -> None:
|
||||
network.connect(args.network)
|
||||
contract = TerminusFacet(args.address)
|
||||
result = contract.pool_is_transferable(
|
||||
pool_id=args.pool_id, block_number=args.block_number
|
||||
)
|
||||
print(result)
|
||||
|
||||
|
||||
|
@ -488,6 +613,8 @@ def handle_pool_mint_batch(args: argparse.Namespace) -> None:
|
|||
transaction_config=transaction_config,
|
||||
)
|
||||
print(result)
|
||||
if args.verbose:
|
||||
print(result.info())
|
||||
|
||||
|
||||
def handle_safe_batch_transfer_from(args: argparse.Namespace) -> None:
|
||||
|
@ -503,6 +630,8 @@ def handle_safe_batch_transfer_from(args: argparse.Namespace) -> None:
|
|||
transaction_config=transaction_config,
|
||||
)
|
||||
print(result)
|
||||
if args.verbose:
|
||||
print(result.info())
|
||||
|
||||
|
||||
def handle_safe_transfer_from(args: argparse.Namespace) -> None:
|
||||
|
@ -518,6 +647,8 @@ def handle_safe_transfer_from(args: argparse.Namespace) -> None:
|
|||
transaction_config=transaction_config,
|
||||
)
|
||||
print(result)
|
||||
if args.verbose:
|
||||
print(result.info())
|
||||
|
||||
|
||||
def handle_set_approval_for_all(args: argparse.Namespace) -> None:
|
||||
|
@ -530,6 +661,8 @@ def handle_set_approval_for_all(args: argparse.Namespace) -> None:
|
|||
transaction_config=transaction_config,
|
||||
)
|
||||
print(result)
|
||||
if args.verbose:
|
||||
print(result.info())
|
||||
|
||||
|
||||
def handle_set_contract_uri(args: argparse.Namespace) -> None:
|
||||
|
@ -540,6 +673,8 @@ def handle_set_contract_uri(args: argparse.Namespace) -> None:
|
|||
_contract_uri=args.contract_uri_arg, transaction_config=transaction_config
|
||||
)
|
||||
print(result)
|
||||
if args.verbose:
|
||||
print(result.info())
|
||||
|
||||
|
||||
def handle_set_controller(args: argparse.Namespace) -> None:
|
||||
|
@ -550,6 +685,8 @@ def handle_set_controller(args: argparse.Namespace) -> None:
|
|||
new_controller=args.new_controller, transaction_config=transaction_config
|
||||
)
|
||||
print(result)
|
||||
if args.verbose:
|
||||
print(result.info())
|
||||
|
||||
|
||||
def handle_set_payment_token(args: argparse.Namespace) -> None:
|
||||
|
@ -560,6 +697,8 @@ def handle_set_payment_token(args: argparse.Namespace) -> None:
|
|||
new_payment_token=args.new_payment_token, transaction_config=transaction_config
|
||||
)
|
||||
print(result)
|
||||
if args.verbose:
|
||||
print(result.info())
|
||||
|
||||
|
||||
def handle_set_pool_base_price(args: argparse.Namespace) -> None:
|
||||
|
@ -570,6 +709,22 @@ def handle_set_pool_base_price(args: argparse.Namespace) -> None:
|
|||
new_base_price=args.new_base_price, transaction_config=transaction_config
|
||||
)
|
||||
print(result)
|
||||
if args.verbose:
|
||||
print(result.info())
|
||||
|
||||
|
||||
def handle_set_pool_burnable(args: argparse.Namespace) -> None:
|
||||
network.connect(args.network)
|
||||
contract = TerminusFacet(args.address)
|
||||
transaction_config = get_transaction_config(args)
|
||||
result = contract.set_pool_burnable(
|
||||
pool_id=args.pool_id,
|
||||
burnable=args.burnable,
|
||||
transaction_config=transaction_config,
|
||||
)
|
||||
print(result)
|
||||
if args.verbose:
|
||||
print(result.info())
|
||||
|
||||
|
||||
def handle_set_pool_controller(args: argparse.Namespace) -> None:
|
||||
|
@ -582,6 +737,22 @@ def handle_set_pool_controller(args: argparse.Namespace) -> None:
|
|||
transaction_config=transaction_config,
|
||||
)
|
||||
print(result)
|
||||
if args.verbose:
|
||||
print(result.info())
|
||||
|
||||
|
||||
def handle_set_pool_transferable(args: argparse.Namespace) -> None:
|
||||
network.connect(args.network)
|
||||
contract = TerminusFacet(args.address)
|
||||
transaction_config = get_transaction_config(args)
|
||||
result = contract.set_pool_transferable(
|
||||
pool_id=args.pool_id,
|
||||
transferable=args.transferable,
|
||||
transaction_config=transaction_config,
|
||||
)
|
||||
print(result)
|
||||
if args.verbose:
|
||||
print(result.info())
|
||||
|
||||
|
||||
def handle_set_uri(args: argparse.Namespace) -> None:
|
||||
|
@ -594,54 +765,64 @@ def handle_set_uri(args: argparse.Namespace) -> None:
|
|||
transaction_config=transaction_config,
|
||||
)
|
||||
print(result)
|
||||
if args.verbose:
|
||||
print(result.info())
|
||||
|
||||
|
||||
def handle_supports_interface(args: argparse.Namespace) -> None:
|
||||
network.connect(args.network)
|
||||
contract = TerminusFacet(args.address)
|
||||
result = contract.supports_interface(interface_id=args.interface_id)
|
||||
result = contract.supports_interface(
|
||||
interface_id=args.interface_id, block_number=args.block_number
|
||||
)
|
||||
print(result)
|
||||
|
||||
|
||||
def handle_terminus_controller(args: argparse.Namespace) -> None:
|
||||
network.connect(args.network)
|
||||
contract = TerminusFacet(args.address)
|
||||
result = contract.terminus_controller()
|
||||
result = contract.terminus_controller(block_number=args.block_number)
|
||||
print(result)
|
||||
|
||||
|
||||
def handle_terminus_pool_capacity(args: argparse.Namespace) -> None:
|
||||
network.connect(args.network)
|
||||
contract = TerminusFacet(args.address)
|
||||
result = contract.terminus_pool_capacity(pool_id=args.pool_id)
|
||||
result = contract.terminus_pool_capacity(
|
||||
pool_id=args.pool_id, block_number=args.block_number
|
||||
)
|
||||
print(result)
|
||||
|
||||
|
||||
def handle_terminus_pool_controller(args: argparse.Namespace) -> None:
|
||||
network.connect(args.network)
|
||||
contract = TerminusFacet(args.address)
|
||||
result = contract.terminus_pool_controller(pool_id=args.pool_id)
|
||||
result = contract.terminus_pool_controller(
|
||||
pool_id=args.pool_id, block_number=args.block_number
|
||||
)
|
||||
print(result)
|
||||
|
||||
|
||||
def handle_terminus_pool_supply(args: argparse.Namespace) -> None:
|
||||
network.connect(args.network)
|
||||
contract = TerminusFacet(args.address)
|
||||
result = contract.terminus_pool_supply(pool_id=args.pool_id)
|
||||
result = contract.terminus_pool_supply(
|
||||
pool_id=args.pool_id, block_number=args.block_number
|
||||
)
|
||||
print(result)
|
||||
|
||||
|
||||
def handle_total_pools(args: argparse.Namespace) -> None:
|
||||
network.connect(args.network)
|
||||
contract = TerminusFacet(args.address)
|
||||
result = contract.total_pools()
|
||||
result = contract.total_pools(block_number=args.block_number)
|
||||
print(result)
|
||||
|
||||
|
||||
def handle_uri(args: argparse.Namespace) -> None:
|
||||
network.connect(args.network)
|
||||
contract = TerminusFacet(args.address)
|
||||
result = contract.uri(pool_id=args.pool_id)
|
||||
result = contract.uri(pool_id=args.pool_id, block_number=args.block_number)
|
||||
print(result)
|
||||
|
||||
|
||||
|
@ -655,6 +836,8 @@ def handle_withdraw_payments(args: argparse.Namespace) -> None:
|
|||
transaction_config=transaction_config,
|
||||
)
|
||||
print(result)
|
||||
if args.verbose:
|
||||
print(result.info())
|
||||
|
||||
|
||||
def generate_cli() -> argparse.ArgumentParser:
|
||||
|
@ -784,6 +967,20 @@ def generate_cli() -> argparse.ArgumentParser:
|
|||
add_default_arguments(pool_base_price_parser, False)
|
||||
pool_base_price_parser.set_defaults(func=handle_pool_base_price)
|
||||
|
||||
pool_is_burnable_parser = subcommands.add_parser("pool-is-burnable")
|
||||
add_default_arguments(pool_is_burnable_parser, False)
|
||||
pool_is_burnable_parser.add_argument(
|
||||
"--pool-id", required=True, help="Type: uint256", type=int
|
||||
)
|
||||
pool_is_burnable_parser.set_defaults(func=handle_pool_is_burnable)
|
||||
|
||||
pool_is_transferable_parser = subcommands.add_parser("pool-is-transferable")
|
||||
add_default_arguments(pool_is_transferable_parser, False)
|
||||
pool_is_transferable_parser.add_argument(
|
||||
"--pool-id", required=True, help="Type: uint256", type=int
|
||||
)
|
||||
pool_is_transferable_parser.set_defaults(func=handle_pool_is_transferable)
|
||||
|
||||
pool_mint_batch_parser = subcommands.add_parser("pool-mint-batch")
|
||||
add_default_arguments(pool_mint_batch_parser, True)
|
||||
pool_mint_batch_parser.add_argument(
|
||||
|
@ -871,6 +1068,16 @@ def generate_cli() -> argparse.ArgumentParser:
|
|||
)
|
||||
set_pool_base_price_parser.set_defaults(func=handle_set_pool_base_price)
|
||||
|
||||
set_pool_burnable_parser = subcommands.add_parser("set-pool-burnable")
|
||||
add_default_arguments(set_pool_burnable_parser, True)
|
||||
set_pool_burnable_parser.add_argument(
|
||||
"--pool-id", required=True, help="Type: uint256", type=int
|
||||
)
|
||||
set_pool_burnable_parser.add_argument(
|
||||
"--burnable", required=True, help="Type: bool", type=boolean_argument_type
|
||||
)
|
||||
set_pool_burnable_parser.set_defaults(func=handle_set_pool_burnable)
|
||||
|
||||
set_pool_controller_parser = subcommands.add_parser("set-pool-controller")
|
||||
add_default_arguments(set_pool_controller_parser, True)
|
||||
set_pool_controller_parser.add_argument(
|
||||
|
@ -881,6 +1088,16 @@ def generate_cli() -> argparse.ArgumentParser:
|
|||
)
|
||||
set_pool_controller_parser.set_defaults(func=handle_set_pool_controller)
|
||||
|
||||
set_pool_transferable_parser = subcommands.add_parser("set-pool-transferable")
|
||||
add_default_arguments(set_pool_transferable_parser, True)
|
||||
set_pool_transferable_parser.add_argument(
|
||||
"--pool-id", required=True, help="Type: uint256", type=int
|
||||
)
|
||||
set_pool_transferable_parser.add_argument(
|
||||
"--transferable", required=True, help="Type: bool", type=boolean_argument_type
|
||||
)
|
||||
set_pool_transferable_parser.set_defaults(func=handle_set_pool_transferable)
|
||||
|
||||
set_uri_parser = subcommands.add_parser("set-uri")
|
||||
add_default_arguments(set_uri_parser, True)
|
||||
set_uri_parser.add_argument(
|
||||
|
|
|
@ -658,6 +658,71 @@ class TestCreatePoolV1(TestPoolOperations):
|
|||
self.assertEqual(final_sender_balance, initial_sender_balance)
|
||||
self.assertEqual(final_receiver_balance, initial_receiver_balance)
|
||||
|
||||
def test_pool_state_view_methods(self):
|
||||
self.diamond_terminus.create_pool_v1(10, False, False, {"from": accounts[1]})
|
||||
nontransferable_nonburnable_pool_id = self.diamond_terminus.total_pools()
|
||||
self.assertFalse(
|
||||
self.diamond_terminus.pool_is_transferable(
|
||||
nontransferable_nonburnable_pool_id
|
||||
)
|
||||
)
|
||||
self.assertFalse(
|
||||
self.diamond_terminus.pool_is_burnable(nontransferable_nonburnable_pool_id)
|
||||
)
|
||||
|
||||
self.diamond_terminus.create_pool_v1(10, True, False, {"from": accounts[1]})
|
||||
transferable_nonburnable_pool_id = self.diamond_terminus.total_pools()
|
||||
self.assertTrue(
|
||||
self.diamond_terminus.pool_is_transferable(transferable_nonburnable_pool_id)
|
||||
)
|
||||
self.assertFalse(
|
||||
self.diamond_terminus.pool_is_burnable(transferable_nonburnable_pool_id)
|
||||
)
|
||||
|
||||
self.diamond_terminus.create_pool_v1(10, True, True, {"from": accounts[1]})
|
||||
transferable_burnable_pool_id = self.diamond_terminus.total_pools()
|
||||
self.assertTrue(
|
||||
self.diamond_terminus.pool_is_transferable(transferable_burnable_pool_id)
|
||||
)
|
||||
self.assertTrue(
|
||||
self.diamond_terminus.pool_is_burnable(transferable_burnable_pool_id)
|
||||
)
|
||||
|
||||
self.diamond_terminus.create_pool_v1(10, False, True, {"from": accounts[1]})
|
||||
nontransferable_burnable_pool_id = self.diamond_terminus.total_pools()
|
||||
self.assertFalse(
|
||||
self.diamond_terminus.pool_is_transferable(nontransferable_burnable_pool_id)
|
||||
)
|
||||
self.assertTrue(
|
||||
self.diamond_terminus.pool_is_burnable(nontransferable_burnable_pool_id)
|
||||
)
|
||||
|
||||
def test_pool_state_setters(self):
|
||||
self.diamond_terminus.create_pool_v1(10, False, False, {"from": accounts[1]})
|
||||
pool_id = self.diamond_terminus.total_pools()
|
||||
self.assertFalse(self.diamond_terminus.pool_is_transferable(pool_id))
|
||||
self.assertFalse(self.diamond_terminus.pool_is_burnable(pool_id))
|
||||
|
||||
self.diamond_terminus.set_pool_transferable(
|
||||
pool_id, True, {"from": accounts[1]}
|
||||
)
|
||||
self.assertTrue(self.diamond_terminus.pool_is_transferable(pool_id))
|
||||
self.assertFalse(self.diamond_terminus.pool_is_burnable(pool_id))
|
||||
|
||||
self.diamond_terminus.set_pool_burnable(pool_id, True, {"from": accounts[1]})
|
||||
self.assertTrue(self.diamond_terminus.pool_is_transferable(pool_id))
|
||||
self.assertTrue(self.diamond_terminus.pool_is_burnable(pool_id))
|
||||
|
||||
self.diamond_terminus.set_pool_transferable(
|
||||
pool_id, False, {"from": accounts[1]}
|
||||
)
|
||||
self.assertFalse(self.diamond_terminus.pool_is_transferable(pool_id))
|
||||
self.assertTrue(self.diamond_terminus.pool_is_burnable(pool_id))
|
||||
|
||||
self.diamond_terminus.set_pool_burnable(pool_id, False, {"from": accounts[1]})
|
||||
self.assertFalse(self.diamond_terminus.pool_is_transferable(pool_id))
|
||||
self.assertFalse(self.diamond_terminus.pool_is_burnable(pool_id))
|
||||
|
||||
def test_burnable_pool_burn_as_token_owner(self):
|
||||
self.diamond_terminus.create_pool_v1(10, True, True, {"from": accounts[1]})
|
||||
pool_id = self.diamond_terminus.total_pools()
|
||||
|
|
Ładowanie…
Reference in New Issue