[x] Tracking NEAR events and filtering out events with ft_on_transfer call
[x] Filter out sign_transfer_callback calls as well to retreive logs
[x] Sign transaction on relayer's behalf
[x] Call finalize_deposit_omni method using bridge-sdk
ETH -> NEAR
[x] Track withdraw events on eth blockchain
Side note: current rpc provider doesn't support eth_newFilter method, therefore we can't watch for incomming logs. As far as I understood, it can be fixed by switching to infura rpc provider
[x] Call finalize_withdraw method using bridge-sdk
Other
[x] Claim fee (I can't debug it for now, because omni_deposit doesn't exist yet)
[x] Check if given fee is greater than expected fee (I've done simple implementation, but it needs to be modified later)
[x] Calculate fee on sender chain in native tokens
[x] Calculate fee on receiver chain in native tokens
[x] Using current exchange rate compare fee in USDT
Possible problems:
Some tokens don't have a price (e.g coingecko is giving "0" as a price for those tokens)
Some tokens have a "fake" price (you can't actually exchange them using given price)
Possible solutions:
To have a whitelist of "good" tokens that can be transferred using omni-bridge
@karim-en How much data should be stored in redis db? Should we set an expiration time for each log (e.g 1 day) or configure a simple log rotation (e.g keep only last 1000 logs)?
NEAR -> ETH
ft_on_transfer
callsign_transfer_callback
calls as well to retreive logsfinalize_deposit_omni
method usingbridge-sdk
ETH -> NEAR
withdraw
events on eth blockchaineth_newFilter
method, therefore we can't watch for incomming logs. As far as I understood, it can be fixed by switching to infura rpc providerfinalize_withdraw
method usingbridge-sdk
Other
omni_deposit
doesn't exist yet)closes #5