various fixes and cleanups
This commit is contained in:
parent
d87e67406a
commit
29c5ea22db
6 changed files with 47 additions and 43 deletions
|
|
@ -175,9 +175,6 @@ async def main():
|
|||
locktime = int(cfg.locktime or 0),
|
||||
do_info = cfg.info)
|
||||
|
||||
if tx1.is_compat:
|
||||
return
|
||||
|
||||
if tx1.is_swap and tx1.is_refreq: # memoless first pass
|
||||
if cfg.no_refreq_tx:
|
||||
Msg(f'MEMO: {tx1.reference_memo}')
|
||||
|
|
@ -186,7 +183,7 @@ async def main():
|
|||
tx2 = NewTX(cfg=rune_cfg, proto=rune_cfg._proto, target='tx', refreq_src=tx1)
|
||||
tx3 = await tx2.create(args=('deposit,0', f'data:{tx1.reference_memo}'))
|
||||
write_to_file(tx3, asi)
|
||||
else:
|
||||
elif not tx1.is_compat:
|
||||
write_to_file(tx2, asi)
|
||||
|
||||
async_run(cfg, main)
|
||||
|
|
|
|||
|
|
@ -98,13 +98,13 @@ class NewSwap(BaseSwapMethods, New):
|
|||
from ..amt import is_coin_amt
|
||||
arg = get_arg()
|
||||
|
||||
# arg 2: amt
|
||||
# arg 2: optional amt
|
||||
if is_coin_amt(self.proto, arg):
|
||||
UniAmt(arg) # throw exception on decimal overflow
|
||||
args.send_amt = self.proto.coin_amt(arg)
|
||||
arg = get_arg()
|
||||
|
||||
# arg 3: chg_spec (change address spec)
|
||||
# arg 3: optional chg_spec (change address spec, requires amt)
|
||||
if args.send_amt and not (
|
||||
self.proto.is_vm or
|
||||
arg in sa.recv): # is change arg
|
||||
|
|
@ -118,7 +118,7 @@ class NewSwap(BaseSwapMethods, New):
|
|||
self.swap_recv_asset_spec = sp.SwapAsset(arg, 'recv').name # used by ‘recv_asset’ property
|
||||
self.recv_proto = init_swap_proto(self.cfg, self.recv_asset)
|
||||
|
||||
# arg 5: recv_spec (receive address spec)
|
||||
# arg 5: optional recv_spec (receive address spec)
|
||||
if args_in:
|
||||
if self.refnum:
|
||||
die(1, 'destination address must be omitted with --refnum')
|
||||
|
|
@ -214,12 +214,10 @@ class NewSwap(BaseSwapMethods, New):
|
|||
str(self.update_memo(self.memoless_memo, qd.trade_limit)))
|
||||
return None
|
||||
|
||||
ret = (
|
||||
[f'vault,{args.send_amt}'] if args.send_amt and self.proto.is_vm else
|
||||
[f'vault,{args.send_amt}', chg_output.mmid] if args.send_amt else
|
||||
['vault'])
|
||||
|
||||
return tuple(ret if self.is_memoless else (ret + [f'data:{memo}']))
|
||||
return tuple((
|
||||
[f'vault,{args.send_amt}', chg_output.mmid] if chg_output else
|
||||
[f'vault,{args.send_amt}'] if args.send_amt else
|
||||
['vault']) + ([] if self.is_memoless else [f'data:{memo}']))
|
||||
|
||||
async def display_quote_loop(self, qd, *, deduct_est_fee=False):
|
||||
from ..term import get_char
|
||||
|
|
|
|||
|
|
@ -169,37 +169,18 @@ class CmdTestAutosignAutomount(CmdTestAutosignThreaded, CmdTestRegtest):
|
|||
def alice_txcreate4(self):
|
||||
return self._user_txcreate('alice', chg_addr='L:4', need_rbf=True)
|
||||
|
||||
def _alice_txsend_abort(self, err=False, send_resp='y', expect_str=None, shred_expect_str=[]):
|
||||
self.insert_device_online()
|
||||
t = self.spawn(
|
||||
'mmgen-txsend',
|
||||
['--quiet', '--abort'],
|
||||
no_passthru_opts = ['coin'],
|
||||
exit_val = 2 if err else 1 if send_resp == 'n' else None)
|
||||
if err:
|
||||
t.expect(expect_str)
|
||||
else:
|
||||
t.expect('(y/N): ', send_resp)
|
||||
if expect_str:
|
||||
t.expect(expect_str)
|
||||
for pat in shred_expect_str:
|
||||
t.expect(pat, regex=True)
|
||||
t.read()
|
||||
self.remove_device_online()
|
||||
return t
|
||||
|
||||
def alice_txsend_abort1(self):
|
||||
return self._alice_txsend_abort(shred_expect_str=['Shredding .*arawtx'])
|
||||
return self._txsend_abort(shred_expect_str=['Shredding .*arawtx'])
|
||||
|
||||
def alice_txsend_abort2(self):
|
||||
return self._alice_txsend_abort(err=True, expect_str='No unsent transactions')
|
||||
return self._txsend_abort(err=True, expect_str='No unsent transactions')
|
||||
|
||||
def alice_txsend_abort3(self):
|
||||
return self._alice_txsend_abort(send_resp='n', expect_str='Exiting at user request')
|
||||
return self._txsend_abort(send_resp='n', expect_str='Exiting at user request')
|
||||
|
||||
def alice_txsend_abort4(self):
|
||||
self._wait_signed('transaction')
|
||||
return self._alice_txsend_abort(shred_expect_str=[r'Shredding .*arawtx', r'Shredding .*asigtx'])
|
||||
return self._txsend_abort(shred_expect_str=[r'Shredding .*arawtx', r'Shredding .*asigtx'])
|
||||
|
||||
alice_txsend_abort5 = alice_txsend_abort2
|
||||
|
||||
|
|
@ -381,7 +362,7 @@ class CmdTestAutosignAutomount(CmdTestAutosignThreaded, CmdTestRegtest):
|
|||
def alice_txbump_abort1(self):
|
||||
if not self.proto.cap('rbf'):
|
||||
return 'skip'
|
||||
return self._alice_txsend_abort(shred_expect_str=['Shredding .*arawtx'])
|
||||
return self._txsend_abort(shred_expect_str=['Shredding .*arawtx'])
|
||||
|
||||
def alice_txbump5(self):
|
||||
sid = self._user_sid('alice')
|
||||
|
|
|
|||
|
|
@ -610,6 +610,25 @@ class CmdTestAutosignThreaded(CmdTestAutosignBase):
|
|||
self.remove_device_online()
|
||||
return t
|
||||
|
||||
def _txsend_abort(self, err=False, send_resp='y', expect_str=None, shred_expect_str=[]):
|
||||
self.insert_device_online()
|
||||
t = self.spawn(
|
||||
'mmgen-txsend',
|
||||
['--quiet', '--abort'],
|
||||
no_passthru_opts = ['coin'],
|
||||
exit_val = 2 if err else 1 if send_resp == 'n' else None)
|
||||
if err:
|
||||
t.expect(expect_str)
|
||||
else:
|
||||
t.expect('(y/N): ', send_resp)
|
||||
if expect_str:
|
||||
t.expect(expect_str)
|
||||
for pat in shred_expect_str:
|
||||
t.expect(pat, regex=True)
|
||||
t.read()
|
||||
self.remove_device_online()
|
||||
return t
|
||||
|
||||
def _wait_loop_start(self, opts=[], add_opts=[]):
|
||||
t = self.spawn(
|
||||
'mmgen-autosign',
|
||||
|
|
|
|||
|
|
@ -28,8 +28,14 @@ prices = {
|
|||
'ETH': 2304,
|
||||
'MM1': 0.998,
|
||||
'RUNE': 1.4}
|
||||
gas_rate_units = {'ETH': 'gwei', 'BTC': 'satsperbyte'}
|
||||
recommended_gas_rate = {'ETH': '1', 'BTC': '6'}
|
||||
|
||||
gas_rate_units = {
|
||||
'BTC': 'satsperbyte',
|
||||
'ETH': 'gwei'}
|
||||
|
||||
recommended_gas_rate = {
|
||||
'BTC': '6',
|
||||
'ETH': '1'}
|
||||
|
||||
data_template_from_rune = {
|
||||
'outbound_delay_blocks': 0,
|
||||
|
|
@ -123,12 +129,12 @@ def make_inbound_addr(cfg, proto, mmtype):
|
|||
return '0x' + eth_inbound_addr # non-checksummed as per ninerealms thornode
|
||||
else:
|
||||
from mmgen.tool.coin import tool_cmd
|
||||
n = int(time.time()) // (60 * 60 * 24) # increments once every 24 hrs
|
||||
n = int(time.time()) // (60 * 60 * 24) + int('beadcafe' * 8, 16) # increments once every 24 hrs
|
||||
return tool_cmd(
|
||||
cfg = cfg,
|
||||
cmdname = 'pubhash2addr',
|
||||
cmdname = 'privhex2addr',
|
||||
proto = proto,
|
||||
mmtype = mmtype).pubhash2addr(f'{n:040x}')
|
||||
mmtype = mmtype).privhex2addr(f'{n:064x}')
|
||||
|
||||
class ThornodeSwapServer(ThornodeServer):
|
||||
port = 18900
|
||||
|
|
|
|||
|
|
@ -879,7 +879,10 @@ class CmdTestSwap(
|
|||
refreq_swaptxsend = rune_txsend_refreq
|
||||
|
||||
def remote_get_refnum(self):
|
||||
t = self._rune_remote('get_refnum', (self.refreq_txid,), color=False)
|
||||
return self._remote_get_refnum(self.refreq_txid)
|
||||
|
||||
def _remote_get_refnum(self, txid):
|
||||
t = self._rune_remote('get_refnum', (txid,), color=False)
|
||||
self.write_to_tmpfile('memo_info.json', t.read().strip())
|
||||
return t
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue