/spworkflow-handler-cryptoatm-bitcointrader

Handler for the cryptoATM extension to SmartPesa mPOS taking payment (card, wallet, cash) and posting transfer to Bitcoin/Litecoin wallet

Primary LanguageC#

spWorkflow Handler: CryptoATM BitCoinTrader

license

Implementation of handler dynamically loaded by spWorkflow. Configured for post processing. Transaction validation and exchange rates already handled by spStack inside spServe.

Inputs:

  • crypto_currency_symbol - ISO 4217 3-alpha currency code
  • amount - in crypt_currency generated by currency conversions
  • qrcode - recipient wallet address acquired by source

Note:

  1. single handler for both BitCoin and LiteCoin
  2. checks UTXO of sender address before initating new send
  3. implements local stateful queueing for sequential sending
  4. lookup for public key and private key (under LMK)
    1. prepare unsigned message
    2. send to spTransact + HSM for signing
    3. submit signed transaction directly to RPC

Security:

  • sending private key is kept in Thales Hardware Security Module (HSM)
  • sending private key is encrypted under LMK
  • signing is performed directly and only inside HSM
  • handler does not access have direct access to HSM
    • must bridge network later to spTransact

Testing: Trial implementation will load keys from file, and submit directly to RPC interface.

Requirements: Handler to be deployed in spWorkflow. Requires matching spring.config entry and keySettings