Make tests pass

This commit is contained in:
nolash
2021-10-15 12:48:14 +02:00
parent bd73666922
commit 817fc40d84
15 changed files with 68 additions and 33 deletions

View File

@@ -49,7 +49,8 @@ class Attachment(Data):
writer = self.writer
for k in self.contents.keys():
f = open(self.contents[k], 'rb')
fp = os.path.join(self.attachment_path, self.contents[k])
f = open(fp, 'rb')
v = f.read()
f.close()
logg.debug('writing attachment {}'.format(k))

View File

@@ -1,6 +1,7 @@
# standard imports
import logging
import copy
import json
# external imports
from chainlib.chain import ChainSpec
@@ -42,7 +43,6 @@ class CICEth(Extension):
super(CICEth, self).__init__(chain_spec, resources, proof, signer=signer, rpc=rpc, outputs_writer=outputs_writer)
self.fee_oracle = fee_oracle
self.tx_format = TxFormat.RAW_ARGS
self.outputs_writer = outputs_writer
if self.rpc != None:
self.tx_format = TxFormat.JSONRPC
elif self.signer != None:
@@ -145,20 +145,23 @@ class CICEth(Extension):
tx = c.set_code(tx, code)
o = c.finalize(tx, self.tx_format)
token_address_tx = None
r = None
if self.rpc != None:
r = self.rpc.do(o[1])
token_address_tx = r
o = self.rpc.wait(r)
o = Tx.src_normalize(o)
self.token_address = o['contract_address']
elif self.signer != None:
r = o[1]
token_address_tx = r
if r == None:
r = code
writer.write('token', r.encode('utf-8'))
writer.write('token_address', self.token_address.encode('utf-8'))
self.add_outputs('token', r.encode('utf-8'))
self.add_outputs('token', r)
if self.token_details['supply'] > 0:
c = GiftableToken(self.chain_spec, signer=self.signer, nonce_oracle=nonce_oracle, gas_oracle=self.fee_oracle)
@@ -167,12 +170,15 @@ class CICEth(Extension):
if self.rpc != None:
r = self.rpc.do(o[1])
self.rpc.wait(r)
writer.write('token_supply', r.encode('utf-8'))
elif self.signer != None:
r = o[1]
writer.write('token_supply', json.dumps(r).encode('utf-8'))
else:
r = o
writer.write('token_supply', r.encode('utf-8'))
return r
writer.write('token_supply', r.encode('utf-8'))
return token_address_tx
def process_token_index(self, writer=None):

View File

@@ -4,12 +4,15 @@ import logging
# external imports
from hexathon import valid as valid_hex
# local imports
from cic.output import StdoutWriter
logg = logging.getLogger(__name__)
class Extension:
def __init__(self, chain_spec, resources, proof, signer=None, rpc=None, outputs_writer=None):
def __init__(self, chain_spec, resources, proof, signer=None, rpc=None, outputs_writer=StdoutWriter()):
self.resources = resources
self.proof = proof
self.chain_spec = chain_spec
@@ -19,6 +22,7 @@ class Extension:
self.token_address = None
self.token_code = None
self.outputs = []
self.outputs_writer = outputs_writer
# TODO: apply / prepare token can be factored out

View File

@@ -1,6 +1,9 @@
# standard imports
import os
import sys
import logging
logg = logging.getLogger(__name__)
class OutputWriter:
@@ -27,6 +30,7 @@ class KVWriter(OutputWriter):
def write(self, k, v):
fp = os.path.join(self.path, str(k))
logg.debug('path write {} {}'.format(fp, str(v)))
f = open(fp, 'wb')
f.write(v)
f.close()

View File

@@ -33,14 +33,13 @@ class Processor:
def process(self, writer=None):
tasks = [
#'attachment',
#'proof',
'attachment',
'proof',
'metadata',
]
for ext in self.extensions:
# token_address = ext.process()
token_address = '0x1222afdeadbeef'
token_address = ext.process()
for task in tasks:
a = self.cores.get(task)