Example #1
0
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
Example #3
0
    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
Example #4
0
def test_randomWeb3Wallet():
    wallet1 = web3wallet.randomWeb3Wallet()
    wallet2 = web3wallet.randomWeb3Wallet()
    assert wallet1.address != wallet2.address
    assert wallet1.private_key != wallet2.private_key
Example #5
0
def test_ETHbalance2():
    _web3 = web3util.get_web3()
    
    wallet = web3wallet.randomWeb3Wallet() #should have 0 ETH
    assert wallet.ETH_base() == _web3.eth.getBalance(wallet.address)