I desire a coverage that behaves like so:
- Earlier than block 1 000 000 → spendable by a 2‑of‑3 multisig quorum (keys A, B, C)
- At / after block 1 000 000 → solely spendable by a unique 2‑of‑3 quorum (keys X, Y, Z); the A/B/C path ought to be disabled.
A naive Miniscript try is:
andor(
ln:after(1000000), // top test
multi(2, X, Y, Z), // “after” department
multi(2, A, B, C) // “earlier than” department
)
However I consider after()
can solely add situations; it can not make the sooner A/B/C department completely invalid. So each 2‑of‑3 quorums stay usable endlessly.
Is my understanding appropriate, or am I lacking one thing? Does it require a brand new opcode/soft-fork to “revoke” earlier spending situations?
I desire a coverage that behaves like so:
- Earlier than block 1 000 000 → spendable by a 2‑of‑3 multisig quorum (keys A, B, C)
- At / after block 1 000 000 → solely spendable by a unique 2‑of‑3 quorum (keys X, Y, Z); the A/B/C path ought to be disabled.
A naive Miniscript try is:
andor(
ln:after(1000000), // top test
multi(2, X, Y, Z), // “after” department
multi(2, A, B, C) // “earlier than” department
)
However I consider after()
can solely add situations; it can not make the sooner A/B/C department completely invalid. So each 2‑of‑3 quorums stay usable endlessly.
Is my understanding appropriate, or am I lacking one thing? Does it require a brand new opcode/soft-fork to “revoke” earlier spending situations?