eth txview: display token send address correctly
This commit is contained in:
parent
82b6a3cac7
commit
4f39e29283
2 changed files with 9 additions and 2 deletions
|
|
@ -25,7 +25,7 @@ from . import rlp
|
|||
|
||||
from mmgen.globalvars import g
|
||||
from mmgen.common import *
|
||||
from mmgen.obj import MMGenObject,TokenAddr,CoinTxID,ETHAmt
|
||||
from mmgen.obj import MMGenObject,CoinAddr,TokenAddr,CoinTxID,ETHAmt
|
||||
from mmgen.util import msg,pmsg
|
||||
|
||||
try:
|
||||
|
|
@ -50,6 +50,10 @@ class Token(MMGenObject): # ERC20
|
|||
raise TokenNotInBlockchain("Token '{}' not in blockchain".format(addr))
|
||||
self.base_unit = Decimal('10') ** -decimals
|
||||
|
||||
@staticmethod
|
||||
def transferdata2sendaddr(data): # online
|
||||
return CoinAddr(parse_abi(data)[1][-40:])
|
||||
|
||||
def transferdata2amt(self,data): # online
|
||||
return ETHAmt(int(parse_abi(data)[-1],16) * self.base_unit)
|
||||
|
||||
|
|
|
|||
|
|
@ -252,7 +252,7 @@ class EthereumMMGenTX(MMGenTX):
|
|||
Nonce: {}
|
||||
Data: {d}
|
||||
\n""".replace('\t','')
|
||||
keys = ('from','to','amt','nonce')
|
||||
keys = ('from',('to','token_to')['token_to' in self.txobj],'amt','nonce')
|
||||
ld = len(self.txobj['data'])
|
||||
return fs.format( *((self.txobj[k] if self.txobj[k] != '' else Str('None')).hl() for k in keys),
|
||||
d='{}... ({} bytes)'.format(self.txobj['data'][:40],ld//2) if ld else Str('None'),
|
||||
|
|
@ -454,6 +454,9 @@ class EthereumTokenMMGenTX(EthereumMMGenTX):
|
|||
self.data = o['data'] = t.create_data(o['to'],o['amt'])
|
||||
|
||||
def format_view_body(self,*args,**kwargs):
|
||||
if self.data:
|
||||
from .contract import Token
|
||||
self.txobj['token_to'] = Token.transferdata2sendaddr(self.data)
|
||||
return 'Token: {d} {c}\n{r}'.format(
|
||||
d=self.txobj['token_addr'].hl(),
|
||||
c=blue('(' + g.dcoin + ')'),
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue