91 lines
3.3 KiB
Text
91 lines
3.3 KiB
Text
- l-m shouldn't keep polling l-s when not on pending screen (low priority)
|
|
|
|
- scrutinize hkdf, maybe use own simplified version
|
|
- test bitcoind cash-out
|
|
- test eth cash out, check that HD is still working
|
|
- throttle status check for 3rd services like bitgo
|
|
|
|
- load stuff from master config file
|
|
- add default configuration
|
|
|
|
- either remove lamassu-config or fix link in package.json
|
|
|
|
------------------------
|
|
|
|
schemas:
|
|
|
|
- global crypto / global machine
|
|
- global crypto / specific machine
|
|
- specific crypto / global machine
|
|
- specific crypto / specific machine
|
|
|
|
- We'll have one group for config that applies to all 4
|
|
- Machine config applies to only global crypto (machine config screen)
|
|
- Crypto config applies to only specific crypto
|
|
|
|
v update migrate-config to match lamassu.json schema
|
|
- update machine name
|
|
|
|
---------------------------
|
|
|
|
- are plugins loaded globally or per machine?
|
|
- list all used plugins:
|
|
ticker, trade, wallet, info (?), idVerifier, email, sms
|
|
|
|
|
|
- wallet doesn't care about fiat
|
|
|
|
- look into how each plugin is used
|
|
- info plugin not used
|
|
|
|
- need either transitive closure of all cryptos accross machines,
|
|
or add new plugin when needed
|
|
- currently we're looking at all cryptos, so this is probably easier
|
|
|
|
|
|
- different machines can have different coins, currencies, etc
|
|
- necessitates different plugins
|
|
|
|
- do plugins require initialization and state?
|
|
probably not
|
|
|
|
- require caches, so probably not big penalty to require whenever a plugin is needed
|
|
|
|
- essentially, plugins just need their account info, plus some additional
|
|
special info, such as masterSeed, fiatCurrencies, etc
|
|
|
|
- deviceCurrency needs to be fixed. currently we're assuming one currency
|
|
globally
|
|
|
|
load ticker plugin (not really, remove this), pollRate (can supply actual deviceCurrency),
|
|
purchase/trader (also device specific), consolidateTrades (see what calls this),
|
|
checkBalances (*check callee)
|
|
|
|
* pollRate -- this sets lastRates which is keyed by crypto only, may need
|
|
to be keyed by fiat as well; probably better to fetch on demand, with throttle
|
|
see: https://github.com/sindresorhus/mem
|
|
|
|
* consolidateTrades: one trader for each crypto, or separate per crypto/fiat?
|
|
does consolidateTrades need fiat currency at all? even so, shouldn't this
|
|
be in the trade record?
|
|
|
|
example: operator may have machines in US and China; might want different exchanges
|
|
for china machines; same for ticker
|
|
|
|
options: configure per machine; configure per crypto/fiat
|
|
- crypto/fiat requires more admin dev work design
|
|
- also restricts configurability
|
|
- but global ticker/exchange doesn't make sense if fiats are different
|
|
- which means it would be required to define ticker/exchange for each
|
|
machine, even if they all have the same crypto/fiat
|
|
|
|
* checkBalances: used for notifier, to indicate if balances are too low;
|
|
how to do this generalized across all machines/currencies?
|
|
|
|
* possibly configure home currency for admin; probably a good idea for
|
|
transactions, statistics, etc
|
|
|
|
-> For now, keep it as is -- one exchange per crypto, see how we handle fiat
|
|
currencies now. (passed in on trade -- we assume that we're using machine currency, which may not be true)
|
|
|
|
- consider defining exchange fiat currency in exchange account config, we don't pass in fiat amount, anyway
|