def test_deploy_script_token( web3, ): """ Run test token deployment function used in the deployment script This checks if deploy_token_contract() works correctly in the happy case, to make sure no code dependencies have been changed, affecting the deployment script. This does not check however that the cli command works correctly. """ # normal deployment token_type = 'CustomToken' gas_limit = 5860000 deployer = ContractDeployer( web3=web3, private_key=FAUCET_PRIVATE_KEY, gas_limit=gas_limit, gas_price=1, wait=10, ) deployed_token = deployer.deploy_token_contract( token_supply=10000000, token_decimals=18, token_name='TestToken', token_symbol='TTT', token_type=token_type, ) assert deployed_token[token_type] is not None assert isinstance(deployed_token[token_type], T_Address) # check that it fails if sender has no eth deployer = ContractDeployer( web3=web3, private_key=get_random_privkey(), gas_limit=gas_limit, gas_price=1, wait=10, ) with pytest.raises(ValidationError): deployer.deploy_token_contract( token_supply=10000000, token_decimals=18, token_name='TestToken', token_symbol='TTT', token_type='CustomToken', )
def token_address(deployer: ContractDeployer) -> DeployedContract: token_type = "CustomToken" deployed_token = deployer.deploy_token_contract( token_supply=TOKEN_SUPPLY, token_decimals=18, token_name="TestToken", token_symbol="TTT", token_type=token_type, ) return deployed_token[token_type]
def deploy_token(deployer: ContractDeployer, name: str = 'TestToken', symbol: str = 'TTT'): tokens = TOKEN_SUPPLY * (10 ** TOKEN_DECIMALS) deployed_token = deployer.deploy_token_contract(tokens, TOKEN_DECIMALS, name, symbol) abi = deployer.contract_manager.get_contract_abi(CONTRACT_TOKEN_NETWORK_REGISTRY) token_address = deployed_token['CustomToken'] return abi, token_address