It looks like there’s a bug in CSL. In TransactionBody there is a method:
set_validity_start_interval_bignum(validity_start_interval) {
_assertClass(validity_start_interval, BigNum);
wasm.transactionbody_set_validity_start_interval_bignum(this.__wbg_ptr, validity_start_interval.__wbg_ptr);
}
And that one is fine. But there’s a similar method in TransactionBuilder:
set_validity_start_interval_bignum(validity_start_interval) {
_assertClass(validity_start_interval, BigNum);
var ptr0 = validity_start_interval.__destroy_into_raw();
wasm.transactionbuilder_set_validity_start_interval_bignum(this.__wbg_ptr, ptr0);
}
Because of this, the passed BigNum value turns into a pumpkin right after the call and can’t be used at all anymore, due to the var ptr0 = validity_start_interval.__destroy_into_raw();.