fn calc_fees(builder: Builder, stk_size: &mut i64) -> Builder {
        let builder = builder
            // .push_opcode(OP_DUP)
            .push_int(*stk_size - 4)
            .push_opcode(OP_ROLL)
            .push_opcode(OP_LSHIFT);
        *stk_size -= 1;
        // .push_opcode(OP_SWAP);

        // let builder = builder
        //     .push_int(*stk_size - 6)
        //     .push_opcode(OP_ROLL)
        //     .push_opcode(OP_LSHIFT);

        builder
    }
// Assuming a 8 byte stack top.
Assuming a 8 byte stack top.
Assuming a 8 byte stack top .
fn calc_fees(builder: Builder, stk_size: &mut i64) -> Builder {
        let builder = builder
            // .push_opcode(OP_DUP)
            .push_int(*stk_size - 4)
            .push_opcode(OP_ROLL)
            .push_opcode(OP_LSHIFT);
        *stk_size -= 1;
        // .push_opcode(OP_SWAP);
        // let builder = builder
        //     .push_int(*stk_size - 6)
        //     .push_opcode(OP_ROLL)
        //     .push_opcode(OP_LSHIFT);
        builder
    }
fn calc_fees ( builder : Builder , stk_size : & mut i64 ) -> Builder { let builder = builder // .push_opcode(OP_DUP) . push_int ( * stk_size - 4 ) . push_opcode ( OP_ROLL ) . push_opcode ( OP_LSHIFT ) ; * stk_size -= 1 ; // .push_opcode(OP_SWAP); // let builder = builder //     .push_int(*stk_size - 6) //     .push_opcode(OP_ROLL) //     .push_opcode(OP_LSHIFT); builder }
Assuming a 8 byte stack top.
Assuming a 8 byte stack top .
builder
Builder
stk_size
&mut i64
builder
Builder
stk_size
&mut i64