def make_info(name, private_key_name): # assume that this account has ETH with gas. class _Info: pass info = _Info() web3 = get_web3() info.web3 = web3 info.private_key = os.environ.get(private_key_name) info.wallet = Wallet(web3, private_key=info.private_key) info.address = info.wallet.address info.account = Account(private_key=info.private_key) wallet = get_ganache_wallet() if wallet: assert (from_wei(get_ether_balance(wallet.address)) > 4), "Ether balance less than 4." if from_wei(get_ether_balance(info.address)) < 2: send_ether(wallet, info.address, 4) from ocean_lib.ocean.ocean import Ocean info.ocean = Ocean() info.T1 = _deployAndMintToken("TOK1", info.address) info.T2 = _deployAndMintToken("TOK2", info.address) return info
def make_info(name, private_key_name): # assume that this account has ETH with gas. class _Info: pass info = _Info() web3 = get_web3() config = ExampleConfig.get_config() info.web3 = web3 info.private_key = os.environ.get(private_key_name) info.wallet = Wallet( web3, private_key=info.private_key, block_confirmations=config.block_confirmations, transaction_timeout=config.transaction_timeout, ) info.address = info.wallet.address wallet = get_ganache_wallet() if wallet: assert get_ether_balance( web3, wallet.address) >= to_wei(4), "Ether balance less than 4." if get_ether_balance(web3, info.address) < to_wei(2): send_ether(wallet, info.address, to_wei(4)) from ocean_lib.ocean.ocean import Ocean info.ocean = Ocean(config) info.T1 = _deployAndMintToken(web3, "TOK1", info.address) info.T2 = _deployAndMintToken(web3, "TOK2", info.address) return info
def setup_all(request): # a test can skip setup_all() via decorator "@pytest.mark.nosetup_all" if "nosetup_all" in request.keywords: return config = ExampleConfig.get_config() ConfigProvider.set_config(config) Web3Provider.init_web3( provider=get_web3_connection_provider(config.network_url)) ContractHandler.set_artifacts_path(config.artifacts_path) wallet = get_ganache_wallet() if not wallet: return addresses_file = config.address_file if not os.path.exists(addresses_file): return with open(addresses_file) as f: network_addresses = json.load(f) print( f"sender: {wallet.key}, {wallet.address}, {wallet.password}, {wallet.keysStr()}" ) print(f"sender balance: {from_wei(get_ether_balance(wallet.address))}") assert (from_wei(get_ether_balance(wallet.address)) > 10), "Ether balance less than 10." from ocean_lib.models.data_token import DataToken OCEAN_token = DataToken(address=network_addresses["development"]["Ocean"]) amt_distribute = 1000 amt_distribute_base = to_base_18(float(amt_distribute)) for w in (get_publisher_wallet(), get_consumer_wallet()): if from_wei(get_ether_balance(w.address)) < 2: send_ether(wallet, w.address, 4) if OCEAN_token.token_balance(w.address) < 100: OCEAN_token.mint(wallet.address, amt_distribute_base, from_wallet=wallet) OCEAN_token.transfer(w.address, amt_distribute_base, from_wallet=wallet)
def setup_all(request, config, web3): # a test can skip setup_all() via decorator "@pytest.mark.nosetup_all" if "nosetup_all" in request.keywords: return wallet = get_ganache_wallet() if not wallet: return addresses_file = config.address_file if not os.path.exists(addresses_file): return with open(addresses_file) as f: network_addresses = json.load(f) print(f"sender: {wallet.key}, {wallet.address}, {wallet.keys_str()}") print( f"sender balance: {from_wei(get_ether_balance(web3, wallet.address))}") assert get_ether_balance( web3, wallet.address) >= to_wei(10), "Ether balance less than 10." from ocean_lib.models.data_token import DataToken OCEAN_token = DataToken(web3, address=network_addresses["development"]["Ocean"]) amt_distribute = to_wei(1000) for w in (get_publisher_wallet(), get_consumer_wallet()): if get_ether_balance(web3, w.address) < to_wei(2): send_ether(wallet, w.address, to_wei(4)) if OCEAN_token.balanceOf(w.address) < to_wei(100): OCEAN_token.mint(wallet.address, amt_distribute, from_wallet=wallet) OCEAN_token.transfer(w.address, amt_distribute, from_wallet=wallet)
def mint_fake_OCEAN(): """ Does the following: 1. Mints tokens 2. Distributes tokens to TEST_PRIVATE_KEY1 and TEST_PRIVATE_KEY2 """ config = ExampleConfig.get_config() ConfigProvider.set_config(config) Web3Provider.init_web3( provider=get_web3_connection_provider(config.network_url)) ContractHandler.set_artifacts_path(config.artifacts_path) addresses_file = config.address_file ocean = get_publisher_ocean_instance() web3 = ocean.web3 with open(addresses_file) as f: network_addresses = json.load(f) network = "development" deployer_wallet = get_ganache_wallet() OCEAN_token = DataToken(address=network_addresses[network]["Ocean"]) amt_distribute = 1000 amt_distribute_base = to_base_18(float(amt_distribute)) OCEAN_token.mint(deployer_wallet.address, 2 * amt_distribute_base, from_wallet=deployer_wallet) for key_label in ["TEST_PRIVATE_KEY1", "TEST_PRIVATE_KEY2"]: key = os.environ.get(key_label) if not key: continue w = Wallet(web3, private_key=key) if OCEAN_token.token_balance(w.address) < 1000: OCEAN_token.transfer(w.address, amt_distribute_base, from_wallet=deployer_wallet) if from_wei(get_ether_balance(w.address)) < 2: send_ether(deployer_wallet, w.address, 4)
def mint_fake_OCEAN(config: Config) -> None: """ Does the following: 1. Mints tokens 2. Distributes tokens to TEST_PRIVATE_KEY1 and TEST_PRIVATE_KEY2 """ addresses_file = config.address_file with open(addresses_file) as f: network_addresses = json.load(f) web3 = get_web3(config.network_url) deployer_wallet = Wallet( web3, private_key=os.environ.get("FACTORY_DEPLOYER_PRIVATE_KEY"), block_confirmations=config.block_confirmations, transaction_timeout=config.transaction_timeout, ) OCEAN_token = DataToken(web3, address=network_addresses["development"]["Ocean"]) amt_distribute = to_wei(1000) OCEAN_token.mint( deployer_wallet.address, 2 * amt_distribute, from_wallet=deployer_wallet ) for key_label in ["TEST_PRIVATE_KEY1", "TEST_PRIVATE_KEY2"]: key = os.environ.get(key_label) if not key: continue w = Wallet( web3, private_key=key, block_confirmations=config.block_confirmations, transaction_timeout=config.transaction_timeout, ) if OCEAN_token.balanceOf(w.address) < amt_distribute: OCEAN_token.transfer(w.address, amt_distribute, from_wallet=deployer_wallet) if get_ether_balance(web3, w.address) < to_wei(2): send_ether(deployer_wallet, w.address, to_wei(4))