Smart Contracts - Which options do we have?

I should add that Counterparty as of today has multiple hard coded smart contracts:

  • The asset system is a massive smart contract, highly popular and the cornerstone of CP
  • The DEX allows for trustless trading of assets, also highly popular
  • BtcPay is specially designed to trade XCP (or asset) against BTC on the DEX. Trustless but requires an additional transaction, i.e. slow. Not much used.
  • Dividends allow X tokens of an asset to be distributed proportionally to the holders of another asset. Used about once every other day. Using it requires a tiny XCP fee as spam protection.
  • Oracles can broadcast text and numerical values to settle bets. Not much used.
  • Bets between two parties can be matched such that an oracle decides the outcome at an agreed upon time. Not much used.
  • Require Memo On/Off (address rejects any incoming transaction unless a text memo is attached, under development, very useful for exchanges)

I’m open to the idea of a smart contract VM, but hard coded features may be the safest, most stable approach after all.

Maybe a roadmap where we aim to upgrade CP with new features every six months is the way forward?

Some features I’d like are:

  • Instant Lottery (automated oracle and player)
  • Pooled Lottery (can send asset to a contract address, it at block X sends everything back to one lucky winner)
  • Booster Card Pack (random or fixed)
  • Asset-BTC Swap (Alice gives Bob X blocks to transfer BTC in return for asset; improvement over BtcPay)
  • Asset Ownership Auction
  • Subasset Marketplace (owner of alphabetic asset opens up subasset registration to anyone in exchange for a fee)
  • Subasset Namespace Limitations (owner of alpha asset irrevocably limits the subasset space not to allow upper case, lower case, number, special cars, and/or puts a max length)

Any other features you would like?