interledgerjs / ilp-plugin-ethereum Goto Github PK
View Code? Open in Web Editor NEWSettle Interledger payments with ETH and ERC-20 tokens
License: Apache License 2.0
Settle Interledger payments with ETH and ERC-20 tokens
License: Apache License 2.0
Since each claim requires the private key to sign it (and each stream requires signing many claims), only custodial wallets may use this. With custom signing keys, MetaMask and hardware wallet integration for client software would be feasible.
It looks like this plugin is incompatible with machinomy v.1.6.1 despite it as a dependency.
An example:
This function call: https://github.com/interledgerjs/ilp-plugin-ethereum-asym-client/blob/58a71f3c6310188ea668dfd21d431eeb98ba1f69/index.js#L93-L96
Doesn't match what machinomy expects: https://github.com/machinomy/machinomy/blob/b816cb4621bf6e0e51324920a7762dcc262abe49/index.ts#L264-L269
I found a few others incompatibilities well.
This would be helpful for anyone looking at how this plugin works under the hood
This would trigger the counterparty to claim if it's profitable to do so, enabling the sender to get their collateral back.
As opposed to having a hardcoded gas limit for the two combined operations. (Machinomy gas usage for those operations is probably pretty constant, but ERC-20 implementations could in theory use more or less gas.)
e.g. Depositing 10 DAI to channel for fee of 0.00048373 DAI
On a T04 errors, the plugin sends the latest claim to the peer. Often, this requires verifying the signature, which if many T04s are triggered, can overwhelm the plugin/connector.
Alternatively, only allow a single validate claim task in the queue, and if a new one is enqueued, drop any others without running them.
Refer to MetaMask/metamask-extension#3475 and https://github.com/MetaMask/nonce-tracker/blob/master/index.js for ideas
What happened to the unit tests? I noticed the branch is gone.
A lot of those tests were testing balance/account/store logic as well as packet construction very thoroughly. If they are gone, it is very possible that somebody could edit the plugin and cause a minor breaking change (like balance logic not being calculated properly or persisted to the store) and the integration tests would still pass. I feel this could be pretty dangerous considering the plugin is in beta and will have updates.
If a server ever goes offline and comes back online, the channel watcher currently does not watch open channels if the client is not connected.
ilp-plugin-ethereum/src/account.ts
Line 1243 in 316ac9f
This line should await
the updated channel state before logging that it was successful (and log if the state is not updated).
There is a race condition in the code that establishes a client channel.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.