cic-eth: Introduce transfer authorization contract
This commit is contained in:
@@ -13,13 +13,13 @@ def celery_includes():
|
||||
return [
|
||||
'cic_eth.eth.bancor',
|
||||
'cic_eth.eth.token',
|
||||
'cic_eth.eth.request',
|
||||
'cic_eth.eth.tx',
|
||||
'cic_eth.ext.tx',
|
||||
'cic_eth.queue.tx',
|
||||
'cic_eth.queue.balance',
|
||||
'cic_eth.admin.ctrl',
|
||||
'cic_eth.admin.nonce',
|
||||
'cic_eth.admin.debug',
|
||||
'cic_eth.eth.account',
|
||||
'cic_eth.callbacks.noop',
|
||||
'cic_eth.callbacks.http',
|
||||
|
||||
29
apps/cic-eth/tests/tasks/test_debug.py
Normal file
29
apps/cic-eth/tests/tasks/test_debug.py
Normal file
@@ -0,0 +1,29 @@
|
||||
# external imports
|
||||
import celery
|
||||
|
||||
# local imports
|
||||
from cic_eth.db.models.debug import Debug
|
||||
|
||||
|
||||
def test_debug_alert(
|
||||
init_database,
|
||||
celery_session_worker,
|
||||
):
|
||||
|
||||
s = celery.signature(
|
||||
'cic_eth.admin.debug.alert',
|
||||
[
|
||||
'foo',
|
||||
'bar',
|
||||
'baz',
|
||||
],
|
||||
queue=None,
|
||||
)
|
||||
t = s.apply_async()
|
||||
r = t.get()
|
||||
assert r == 'foo'
|
||||
|
||||
q = init_database.query(Debug)
|
||||
q = q.filter(Debug.tag=='bar')
|
||||
o = q.first()
|
||||
assert o.description == 'baz'
|
||||
@@ -1,76 +0,0 @@
|
||||
# standard imports
|
||||
import logging
|
||||
import time
|
||||
|
||||
# third-party imports
|
||||
from erc20_approval_escrow import TransferApproval
|
||||
import celery
|
||||
import sha3
|
||||
|
||||
# local imports
|
||||
from cic_eth.eth.token import TokenTxFactory
|
||||
|
||||
logg = logging.getLogger()
|
||||
|
||||
|
||||
# BUG: transaction receipt only found sometimes
|
||||
def test_transfer_approval(
|
||||
default_chain_spec,
|
||||
transfer_approval,
|
||||
bancor_tokens,
|
||||
w3_account_roles,
|
||||
eth_empty_accounts,
|
||||
cic_registry,
|
||||
init_database,
|
||||
celery_session_worker,
|
||||
init_eth_tester,
|
||||
init_w3,
|
||||
):
|
||||
|
||||
s = celery.signature(
|
||||
'cic_eth.eth.request.transfer_approval_request',
|
||||
[
|
||||
[
|
||||
{
|
||||
'address': bancor_tokens[0],
|
||||
},
|
||||
],
|
||||
w3_account_roles['eth_account_sarafu_owner'],
|
||||
eth_empty_accounts[0],
|
||||
1024,
|
||||
str(default_chain_spec),
|
||||
],
|
||||
)
|
||||
|
||||
s_send = celery.signature(
|
||||
'cic_eth.eth.tx.send',
|
||||
[
|
||||
str(default_chain_spec),
|
||||
],
|
||||
|
||||
)
|
||||
s.link(s_send)
|
||||
t = s.apply_async()
|
||||
|
||||
tx_signed_raws = t.get()
|
||||
for r in t.collect():
|
||||
logg.debug('result {}'.format(r))
|
||||
|
||||
assert t.successful()
|
||||
|
||||
init_eth_tester.mine_block()
|
||||
|
||||
h = sha3.keccak_256()
|
||||
tx_signed_raw = tx_signed_raws[0]
|
||||
tx_signed_raw_bytes = bytes.fromhex(tx_signed_raw[2:])
|
||||
h.update(tx_signed_raw_bytes)
|
||||
tx_hash = h.digest()
|
||||
rcpt = init_w3.eth.getTransactionReceipt(tx_hash)
|
||||
|
||||
assert rcpt.status == 1
|
||||
|
||||
a = TransferApproval(init_w3, transfer_approval)
|
||||
assert a.last_serial() == 1
|
||||
|
||||
logg.debug('requests {}'.format(a.requests(1)['serial']))
|
||||
|
||||
16
apps/cic-eth/tests/unit/db/test_debug.py
Normal file
16
apps/cic-eth/tests/unit/db/test_debug.py
Normal file
@@ -0,0 +1,16 @@
|
||||
# local imports
|
||||
from cic_eth.db.models.debug import Debug
|
||||
|
||||
|
||||
def test_debug(
|
||||
init_database,
|
||||
):
|
||||
|
||||
o = Debug('foo', 'bar')
|
||||
init_database.add(o)
|
||||
init_database.commit()
|
||||
|
||||
q = init_database.query(Debug)
|
||||
q = q.filter(Debug.tag=='foo')
|
||||
o = q.first()
|
||||
assert o.description == 'bar'
|
||||
Reference in New Issue
Block a user