def testSendEth(): _web3 = web3util.get_web3() network = web3util.get_network() #wallet1 should have got ETH from ganache startup (see deploy.py) private_key1 = web3util.confFileValue(network, 'TEST_PRIVATE_KEY1') wallet1 = web3wallet.Web3Wallet(private_key1) orig_bal1_base = wallet1.ETH_base() print("orig bal1 = %s" % web3util.fromBase18(orig_bal1_base)) assert orig_bal1_base > web3util.toBase18(1.0) #wallet2 should have 0 ETH wallet2 = web3wallet.randomWeb3Wallet() orig_bal2_base = wallet2.ETH_base() print("orig bal2 = %s" % web3util.fromBase18(orig_bal2_base)) assert orig_bal2_base == 0 #wallet1 gives wallet2 1.0 ETH sent_base = web3util.toBase18(1.0) wallet1.sendEth(wallet2.address, sent_base) new_bal1_base = wallet1.ETH_base() new_bal2_base = wallet2.ETH_base() print("new bal1 = %s" % web3util.fromBase18(new_bal1_base)) print("new bal2 = %s" % web3util.fromBase18(new_bal2_base)) assert new_bal2_base == sent_base assert (orig_bal1_base - sent_base*1.1) < new_bal1_base < (orig_bal1_base - sent_base)
def test_OCEAN(): wallet = web3wallet.randomWeb3Wallet() OCEAN_base = web3util.toBase18(3.0) globaltokens.mintOCEAN(address=wallet.address, value_base=OCEAN_base) OCEAN_token = globaltokens.OCEANtoken() assert isinstance(OCEAN_token, datatoken.Datatoken) assert OCEAN_token.symbol() == 'OCEAN' assert OCEAN_token.balanceOf_base(wallet.address) == OCEAN_base globaltokens.mintOCEAN(address=wallet.address, value_base=OCEAN_base) assert OCEAN_token.balanceOf_base(wallet.address) == OCEAN_base * 2
def __init__(self, USD: float = 0.0, OCEAN: float = 0.0, private_key=None): if private_key is None: self._web3wallet = web3wallet.randomWeb3Wallet() else: self._web3wallet = web3wallet.Web3Wallet(private_key) #Give the new wallet ETH to pay gas fees (but don't track otherwise) self._web3wallet.fundFromAbove(toBase18(0.01)) #magic number #USD self._USD = USD #lump in ETH too #OCEAN globaltokens.mintOCEAN(address=self._web3wallet.address, value_base=toBase18(OCEAN)) self._cached_OCEAN_base: typing.Union[int, None] = None #for speed #amount self._total_USD_in: float = USD self._total_OCEAN_in: float = OCEAN
def test_randomWeb3Wallet(): wallet1 = web3wallet.randomWeb3Wallet() wallet2 = web3wallet.randomWeb3Wallet() assert wallet1.address != wallet2.address assert wallet1.private_key != wallet2.private_key
def test_ETHbalance2(): _web3 = web3util.get_web3() wallet = web3wallet.randomWeb3Wallet() #should have 0 ETH assert wallet.ETH_base() == _web3.eth.getBalance(wallet.address)