Esempio n. 1
0
def test_relay_and_read_status_success():
    wallet_receiver = Wallet(from_bytes(os.urandom(32)))

    intent_action = ERC20(TEST_ERC20).transfer(wallet_receiver.address, 0)
    intent = Intent(intent_action=intent_action)

    signed_intent = wallet.sign(intent)

    response = signed_intent.relay()

    assert response.status_code == 201 or response.status_code == 200
    assert wait_until(lambda: signed_intent.status()["code"] == "completed",
                      640)
    time.sleep(5)

    assert signed_intent.status()["receipt"]["success"]
    success_intents.append(signed_intent)
    assert signed_intent.status()["receipt"]["result"]["output"][0]
Esempio n. 2
0
def test_read_receipt_abi():
    intent_action = Contract(abi_test_contract)(TEST_CONTRACT).call2()
    intent = Intent(intent_action=intent_action,
                    salt=from_bytes(os.urandom(32)))

    signed_intent = wallet.sign(intent)

    response = signed_intent.relay()

    assert response.status_code == 201 or response.status_code == 200
    assert wait_until(lambda: signed_intent.status()["code"] == "completed",
                      640)
    time.sleep(5)

    assert signed_intent.status()["receipt"]["success"]
    success_intents.append(signed_intent)
    assert signed_intent.status(
    )["receipt"]["result"]["output"][0] == "This is the return of the call2"
Esempio n. 3
0
def test_read_receipt_multiple():
    intent_action = CallTestContract(TEST_CONTRACT).call3()
    intent = Intent(intent_action=intent_action,
                    salt=from_bytes(os.urandom(32)))

    signed_intent = wallet.sign(intent)

    response = signed_intent.relay()

    assert response.status_code == 201 or response.status_code == 200
    assert wait_until(lambda: signed_intent.status()["code"] == "completed",
                      640)
    time.sleep(5)

    assert signed_intent.status()["receipt"]["success"]
    success_intents.append(signed_intent)
    assert signed_intent.status(
    )["receipt"]["result"]["output"][0] == wallet.address
    assert signed_intent.status()["receipt"]["result"]["output"][1] == int(
        wallet.address, 16) * 9
Esempio n. 4
0
import os

from marmopy import ERC20, Provider, DefaultConf, Wallet, Intent, from_bytes, Contract

from config import ETH_NODE, TEST_ERC20, RELAYER, CallTestContract, TEST_CONTRACT
from utils import wait_until

import time

DefaultConf.ROPSTEN.as_default()
Provider(ETH_NODE, RELAYER).as_default()

wallet = Wallet(from_bytes(os.urandom(32)))

success_intents = []

abi_test_contract = """
[{"constant":false,"inputs":[],"name":"call2","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"fail2","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"fail1","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"fail3","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"call3","outputs":[{"name":"","type":"address"},{"name":"","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"call1","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"function"}]
"""


def test_relay_and_read_status_success():
    wallet_receiver = Wallet(from_bytes(os.urandom(32)))

    intent_action = ERC20(TEST_ERC20).transfer(wallet_receiver.address, 0)
    intent = Intent(intent_action=intent_action)

    signed_intent = wallet.sign(intent)

    response = signed_intent.relay()