bug: Normalize token addresses in db for erc20 operations
This commit is contained in:
parent
b15cfee1c9
commit
dceae4e5d8
@ -515,7 +515,7 @@ class Api(ApiBase):
|
|||||||
:param password: Password to encode the password with in the backend (careful, you will have to remember it)
|
:param password: Password to encode the password with in the backend (careful, you will have to remember it)
|
||||||
:type password: str
|
:type password: str
|
||||||
:param register: Register the new account in accounts index backend
|
:param register: Register the new account in accounts index backend
|
||||||
:type password: bool
|
:type register: bool
|
||||||
:returns: uuid of root task
|
:returns: uuid of root task
|
||||||
:rtype: celery.Task
|
:rtype: celery.Task
|
||||||
"""
|
"""
|
||||||
|
@ -382,6 +382,8 @@ def cache_transfer_data(
|
|||||||
sender_address = tx_normalize.wallet_address(tx['from'])
|
sender_address = tx_normalize.wallet_address(tx['from'])
|
||||||
recipient_address = tx_normalize.wallet_address(tx_data[0])
|
recipient_address = tx_normalize.wallet_address(tx_data[0])
|
||||||
token_value = tx_data[1]
|
token_value = tx_data[1]
|
||||||
|
source_token_address = tx_normalize.executable_address(tx['to'])
|
||||||
|
destination_token_address = source_token_address
|
||||||
|
|
||||||
|
|
||||||
session = SessionBase.create_session()
|
session = SessionBase.create_session()
|
||||||
@ -389,8 +391,8 @@ def cache_transfer_data(
|
|||||||
'hash': tx_hash_hex,
|
'hash': tx_hash_hex,
|
||||||
'from': sender_address,
|
'from': sender_address,
|
||||||
'to': recipient_address,
|
'to': recipient_address,
|
||||||
'source_token': tx['to'],
|
'source_token': source_token_address,
|
||||||
'destination_token': tx['to'],
|
'destination_token': destination_token_address,
|
||||||
'from_value': token_value,
|
'from_value': token_value,
|
||||||
'to_value': token_value,
|
'to_value': token_value,
|
||||||
}
|
}
|
||||||
@ -422,14 +424,16 @@ def cache_transfer_from_data(
|
|||||||
spender_address = tx_data[0]
|
spender_address = tx_data[0]
|
||||||
recipient_address = tx_data[1]
|
recipient_address = tx_data[1]
|
||||||
token_value = tx_data[2]
|
token_value = tx_data[2]
|
||||||
|
source_token_address = tx_normalize.executable_address(tx['to'])
|
||||||
|
destination_token_address = source_token_address
|
||||||
|
|
||||||
session = SessionBase.create_session()
|
session = SessionBase.create_session()
|
||||||
tx_dict = {
|
tx_dict = {
|
||||||
'hash': tx_hash_hex,
|
'hash': tx_hash_hex,
|
||||||
'from': tx['from'],
|
'from': tx['from'],
|
||||||
'to': recipient_address,
|
'to': recipient_address,
|
||||||
'source_token': tx['to'],
|
'source_token': source_token_address,
|
||||||
'destination_token': tx['to'],
|
'destination_token': destination_token_address,
|
||||||
'from_value': token_value,
|
'from_value': token_value,
|
||||||
'to_value': token_value,
|
'to_value': token_value,
|
||||||
}
|
}
|
||||||
@ -461,14 +465,16 @@ def cache_approve_data(
|
|||||||
sender_address = tx_normalize.wallet_address(tx['from'])
|
sender_address = tx_normalize.wallet_address(tx['from'])
|
||||||
recipient_address = tx_normalize.wallet_address(tx_data[0])
|
recipient_address = tx_normalize.wallet_address(tx_data[0])
|
||||||
token_value = tx_data[1]
|
token_value = tx_data[1]
|
||||||
|
source_token_address = tx_normalize.executable_address(tx['to'])
|
||||||
|
destination_token_address = source_token_address
|
||||||
|
|
||||||
session = SessionBase.create_session()
|
session = SessionBase.create_session()
|
||||||
tx_dict = {
|
tx_dict = {
|
||||||
'hash': tx_hash_hex,
|
'hash': tx_hash_hex,
|
||||||
'from': sender_address,
|
'from': sender_address,
|
||||||
'to': recipient_address,
|
'to': recipient_address,
|
||||||
'source_token': tx['to'],
|
'source_token': source_token_address,
|
||||||
'destination_token': tx['to'],
|
'destination_token': destination_token_address,
|
||||||
'from_value': token_value,
|
'from_value': token_value,
|
||||||
'to_value': token_value,
|
'to_value': token_value,
|
||||||
}
|
}
|
||||||
|
@ -72,7 +72,7 @@ def __balance_incoming_compatible(token_address, receiver_address):
|
|||||||
status_compare = dead()
|
status_compare = dead()
|
||||||
q = q.filter(Otx.status.op('&')(status_compare)==0)
|
q = q.filter(Otx.status.op('&')(status_compare)==0)
|
||||||
# TODO: this can change the result for the recipient if tx is later obsoleted and resubmission is delayed.
|
# TODO: this can change the result for the recipient if tx is later obsoleted and resubmission is delayed.
|
||||||
q = q.filter(Otx.status.op('&')(StatusBits.IN_NETWORK)==StatusBits.IN_NETWORK)
|
#q = q.filter(Otx.status.op('&')(StatusBits.IN_NETWORK)==StatusBits.IN_NETWORK)
|
||||||
q = q.filter(TxCache.destination_token_address==token_address)
|
q = q.filter(TxCache.destination_token_address==token_address)
|
||||||
delta = 0
|
delta = 0
|
||||||
for r in q.all():
|
for r in q.all():
|
||||||
|
Loading…
Reference in New Issue
Block a user