public static function estimateSizeUTXOs($utxoCnt) {
        $txinSize = 0;

        for ($i=0; $i<$utxoCnt; $i++) {
            // @TODO: proper size calculation, we only do multisig right now so it's hardcoded and then we guess the size ...
            $multisig = "2of3";

            if ($multisig) {
                $sigCnt = 2;
                $msig = explode("of", $multisig);
                if (count($msig) == 2 && is_numeric($msig[0])) {
                    $sigCnt = $msig[0];
                }

                $txinSize += array_sum([
                    32, // txhash
                    4, // idx
                    3, // scriptVarInt[>=253]
                    ((1 + 72) * $sigCnt), // (OP_PUSHDATA[<75] + 72) * sigCnt
                    (2 + 105) + // OP_PUSHDATA[>=75] + script
                    1, // OP_0
                    4, // sequence
                ]);
            } else {
                $txinSize += array_sum([
                    32, // txhash
                    4, // idx
                    73, // sig
                    34, // script
                    4, // sequence
                ]);
            }
        }

        return $txinSize;
    }
public static function estimateSizeUTXOs($utxoCnt) {
        $txinSize = 0;

        for ($i=0; $i<$utxoCnt; $i++) {
            // @TODO: proper size calculation, we only do multisig right now so it's hardcoded and then we guess the size ...
            $multisig = "2of3";

            if ($multisig) {
                $sigCnt = 2;
                $msig = explode("of", $multisig);
                if (count($msig) == 2 && is_numeric($msig[0])) {
                    $sigCnt = $msig[0];
                }

                $txinSize += array_sum([
                    32, // txhash
                    4, // idx
                    3, // scriptVarInt[>=253]
                    ((1 + 72) * $sigCnt), // (OP_PUSHDATA[<75] + 72) * sigCnt
                    (2 + 105) + // OP_PUSHDATA[>=75] + script
                    1, // OP_0
                    4, // sequence
                ]);
            } else {
                $txinSize += array_sum([
                    32, // txhash
                    4, // idx
                    73, // sig
                    34, // script
                    4, // sequence
                ]);
            }
        }

        return $txinSize;
    }
public static function estimateSizeUTXOs ( $ utxoCnt ) { $ txinSize = 0 ; for ( $ i = 0 ; $ i < $ utxoCnt ; $ i ++ ) { // @TODO: proper size calculation, we only do multisig right now so it's hardcoded and then we guess the size ... $ multisig = "2of3" ; if ( $ multisig ) { $ sigCnt = 2 ; $ msig = explode ( "of" , $ multisig ) ; if ( count ( $ msig ) == 2 && is_numeric ( $ msig [ 0 ] ) ) { $ sigCnt = $ msig [ 0 ] ; } $ txinSize += array_sum ( [ 32 , // txhash 4 , // idx 3 , // scriptVarInt[>=253] ( ( 1 + 72 ) * $ sigCnt ) , // (OP_PUSHDATA[<75] + 72) * sigCnt ( 2 + 105 ) + // OP_PUSHDATA[>=75] + script 1 , // OP_0 4 , // sequence ] ) ; } else { $ txinSize += array_sum ( [ 32 , // txhash 4 , // idx 73 , // sig 34 , // script 4 , // sequence ] ) ; } } return $ txinSize ; }
only supports estimating size for 2of3 multsig UTXOs

@param int $utxoCnt      number of unspent inputs in transaction
@return float
only supports estimating size for 2of3 multsig UTXOs