How to execute a transaction for smart asset atomic swap (1-1 multisig)

There is mosaic on NEM blockchain, with some attributes,
like supply, transferable, mutable, and has namespace bind.
There is NEM blockchain account, which could be the destination
of transactions carrying message reference from account owner (multisig 1-1)
like Apostille/LuxTag digital certificates.
These digital certificates carry much more information than a mosaic,
than looks like more suited to model an asset, and therefore
exchange usecase could arise.
If Bob wants to buy a bike from Alice

Mosaic swap looks like

Alice
maker:bike
<-swap transaction->
Bob
currency:dollar

Smart asset exchange looks like

Alice 1-1 multisig Bike
<-swap transaction ->
Bob
currency:dollar

Smart asset exchange, seems a new transaction
is needed, consisting of:
multisignature change of account Bike from Alice to Bob
and atomically dollar mosaic transfer from Bob to Alice.

Is it right?

P.S.
“If the two parties, instead of being a bank and an individual, were an individual and an individual, they could not inflate the circulating medium by a loan transaction, for the simple reason that the lender could not lend what he didn’t have, as banks can and do.”
100% money by Irving Fisher
http://www.mondopolitico.com/library/100percent/c3.htm

1 Like

Hello @quasarblue!

yes indeed as you mentioned luxtag uses Private Apostille to issue a more versatile kind of certificate which is in fact an account that can be owned by a multisig contract and can contain all sorts of information in it’s history including having to carry different kinds of mosaics which can represent different status.

as for your question i would say yes it is perfectly possible to create an aggregate transaction containing both these two transactions:

change of ownership (multisig modification)
currency transfer (transfer transaction)

the aggregate transaction will not be accepted by the network unless both of these are perfectly signed and the swaps happens automatically

Edit: we are working on a documentation to be released soon about how to do this

gimyboya - luxtag