Open gaboesquivel opened 6 years ago
About point 2, this is most probably going to be a back-end task, to pull the exchange rates and do all the conversions, not something the contract should care.
I also think refilling the accounts will have the worst UX, since we need to wait for the refill to be processed before doing the Knowledge tx
Your are right, duh. Payment contract doesn't need to know the exchange rate. it simply receives the total amount. And yeah, txRelay seems the way to go so far. Refill is funky.
Ethereum gas is always charged to the sender and is always payed in ether.
We need to find a way to relay that tx so that gas is payed by us or refill the sender address with enough gas.
Option txRelay References
https://0xproject.com/ - https://github.com/0xProject/contracts/tree/master/contracts
Option Refill When a user wallet address doesn't have enough ether to execute a payment in Knowledge we need to find a way to refill that address with just enough ether for that transaction.
We need to transfer that cost to the seller or the user in form a Knowledge fee. This is also challenging, how can we get a exchange rate ? Perhaps in the form of pull oracle that always return the same exchange rate for all node for a given tx. eg.
GET knowledgeapi.io/v1/exchange-rate?orderId=KNW872892LU8
. This involves risks and complexities that need to be properly assessed.We need to SUPER careful not to open up a potential vulnerability.