Predefined Constants
AlicePublicKey
BobPulicKey
E1
A1
moneyButton.render(div, {
outputs: [{
type: `script`,
script: `OP_IF
2 ${AlicePublicKey} ${BobPublicKey} 2 OP_CHECKMULTISIG
OP_ELSE
OP_HASH160 ${hash(Sa)+hash(Sb)} OP_EQUALVERIFY ${BobPublicKey} OP_CHECKSIG
OP_ENDIF`,
amount: E1,
currency: `BSV`
}]
}
B1
moneyButton.render(div, {
outputs: [{
type: `script`,
script: `OP_IF
2 ${AlicePublicKey} ${BobPublicKey} 2 OP_CHECKMULTISIG
OP_ELSE
OP_HASH160 ${hash(Sa)+hash(Sb)} OP_EQUALVERIFY ${AlicePublicKey} OP_CHECKSIG
OP_ENDIF`,
amount: E1,
currency: `BSV`
}]
}
A2
moneyButton.render(div, {
inputs: [{
previous_hash: ${A1Hash},
signature_script: `0 ${AliceSignature} ${BobSignature} OP_TRUE`,
locktime: `${N}hours`
}],
outputs: [{
type: `address`,
address: AliceAddress,
amount: E1,
currency: `BSV`
}]
}
B2
moneyButton.render(div, {
inputs: [{
previous_hash: ${B1Hash},
signature_script: `0 ${AliceSignature} ${BobSignature} OP_TRUE`,
locktime: `${N}hours`
}],
outputs: [{
type: `address`,
address: BobAddress,
amount: E1,
currency: `BSV`
}]
}
A3
moneyButton.render(div, {
inputs: [{
previous_hash: ${B1Hash},
signature_script: `${AliceSignature} ${Sa+Sb} OP_FALSE`
}],
outputs: [{
type: `address`,
address: AliceAddress,
amount: E1,
currency: `BSV`
}]
}
B3
moneyButton.render(div, {
inputs: [{
previous_hash: ${B1Hash},
signature_script: `${BobSignature} ${Sa+Sb} OP_FALSE`
}],
outputs: [{
type: `address`,
address: BobAddress,
amount: E1,
currency: `BSV`
}]
}