RGB++ lock script implements the RGB++ protocol
ConfigNotFound
Can't find the config cell from the cell_deps
, ensure the RGB++
and BtcTimeLock
config cells are referenced in the cell_deps
.
ConfigMalformed
The config cell is found, but its invalid.
SpvClientNotFound
Can't find Bitcoin SPV client cell from cell_deps
.
SpvClientMalformed
Bitcoin SPV client cell is invalid.
SpvProofIncorrect
SPV proof is incorrect, please check the proof.
SpvProofMalformed
SPV proof itself is invalid.
BadBtcTx
Invalid btc_tx
, the btc_tx
should be bytes that can calculate txid
by applying double sha256 on it, for example duoble_sha256(btc_tx)
.
BadRGBPPLock
Can't parse RGBPPLock
from cell's lock script args.
BadBTCTimeLock
Can't parse BadBTCTimeLock
from cells' lock script args.
BadBtcCommitment
Failed to extract RGB++ commitment from btc_tx
.
BadRGBPPUnlock
Invalid RGBPPUnlock
.
BadBTCTimeUnlock
Invalid BTCTimeUnlock
.
OutputCellMismatch
When unlocking BtcTimeLock
cells, the corresponding output cells are required, with the following conditions:
- The
lock
value should be equal toBtcTimeLock#lock_script
. - The
capacity
,type_
, anddata
fields must remain unchanged.
OutputCellWithUnknownLock
The output cells in a RGB++ unlocking transaction must satisfy one of the following conditions:
type_
is none, which means this cell isn't a RGB++ assets.lock
is RGB++, which means this cell is a RGB++ cell.lock
is BtcTimeLock, which means this cell is withdrawing RGB++ assets.
CommitmentMismatch
This error raised in the following situations:
- The calculated commitment does not match the
btc_tx
commitment. - There are inputs or outputs that have a
type_
, but they are not covered by the commitment.
UnknownCommitmentVersion
The commitment version is unknown.
UtxoSealMismatch
Can't find the UTXO seal from btc_tx
.