w3c-ccg / universal-wallet-interop-spec

A data model and abstract interfaces for digital wallets
http://w3id.org/wallet
Other
56 stars 13 forks source link

Transfer needs clarification #58

Open kimdhamilton opened 3 years ago

kimdhamilton commented 3 years ago

Transfer is described as: "Takes a Currency, Key or Address and recipient options as input. Produces a Connection, and transaction side effect."

"Key or Address and recipient options" is confusing me and this could be due to (non-)Oxford commas, or denseness on my part. What range of operations this is meant to cover? Transfer between some combination of wallets / accounts / addresses? Would some of these operations be characterized as send (for example)?

Might a use case be something like this?

let details = {
  "type": "send",
  "currency": "BTC",
  "amount": "100",
  "recipient_info": {
      "address": "KimzBtcAddress",
      ...
  }
};
let connection = wallet.transfer(details);

We may need to iterate a bit on the exact parameters; just trying to clarify to start with.

OR13 commented 3 years ago

yes, the idea is to describe a vocabulary necessary to explain a crypto currency transfer that will work for any currency and with any key material.

OR13 commented 3 years ago

@wyc would love for you guys to help flush out the crypto side of this :)

OR13 commented 3 years ago

We might also consider digging for a better ontology to use for financial transactions.

TallTed commented 3 years ago

@OR13 -- Financial Industry Business Ontology (FIBO) Foundations (FND) Transactions Module is probably a good starting point...

OR13 commented 3 years ago

yes! I have used FIBO before, I need to take a another pass on using it in the context of crypto currency transfer.