HorizenOfficial / zend_oo

This repository is archived, Zendoo is out of beta and has been included in https://github.com/HorizenOfficial/zen.
https://github.com/HorizenOfficial/zen
Other
34 stars 22 forks source link

sc_create transaction doesn't have 1sat/byte tx fee #155

Open cronicc opened 3 years ago

cronicc commented 3 years ago

The expected behavior for transactions that calculate the transaction fee based on transaction size is to use a rate of 1sat/byte. This is the case for any transparent transactions created using e.g. sendtoaddress or sendmany.

In case of sc_create I encountered a transaction fee rate of ~1.289sat/byte.

Is setting a slightly higher fee rate the intended behavior or do we have an issue with the size estimation/calculation of sc_create transactions?

Note: I haven't checked other SC related MC transactions for fee behavior yet.

Sidechain creation tx, single 1.0001 ZEN vin, 1.00009023 ZEN FT, exact spend with no change, fee of 977sat. Transaction size was 758 bytes:

{
  "txid": "ea3dd4c9e08454451760593a947978c4a2a59bfb441cc4e94bc88c1d1d4500af",
  "version": -4,
  "locktime": 876735,
  "vin": [
    {
      "txid": "9179cd4c77633f316dff9e4bc93730486c94a86c6919fd04805b464e01b1403e",
      "vout": 213,
      "scriptSig": {
        "asm": "3045022100c84a0e3f298b038a1719b98e8a2fd355d4db310966ac7f80da5c412da1c2b4a502204911c0a983f51570dab31f05da2b57dea5e7ab7e906a65bf7ec6f75b5b53414301 03ab0a9262e7f61fc12a95ce5424ea18bcd3f3a7dcdc4d8cff7816143391471d01",
        "hex": "483045022100c84a0e3f298b038a1719b98e8a2fd355d4db310966ac7f80da5c412da1c2b4a502204911c0a983f51570dab31f05da2b57dea5e7ab7e906a65bf7ec6f75b5b534143012103ab0a9262e7f61fc12a95ce5424ea18bcd3f3a7dcdc4d8cff7816143391471d01"
      },
      "sequence": 4294967294
    }
  ],
  "vcsw_ccin": [
  ],
  "vout": [
  ],
  "vsc_ccout": [
    {
      "scid": "2441cde2fdef217668ae19992486d10aa751cb666359cce6a8028616ef44dea6",
      "n": 0,
      "withdrawal epoch length": 100,
      "value": 1.00009023,
      "address": "f59bb3af7d09446c490a000be2a9ff4dac4f8b8c931a153550f47b8587ea9c52",
      "certProvingSystem": "CoboundaryMarlin",
      "wCertVk": "0284610000000000000400000000000000886100000000000068ba0100000000000c00000000000000012e585a5ed07cf48a512866325396548a8ac8fabaf9e5e5f0d56707e9b77a6023000001c1ed9de8e1d1bd2420e44c8eb7932ec1625b85ca5e28d1a011a7679c5445b30d0000014db7e5a4b2e374021a5ddd9d17e0143d542dad606f26e72cb5aec14a5ffb4d38000001f5e3865ef2b5a22b988943469b121f9b859b33ab3b74e66cf6f211704435c514000001c48c7674c486eafc6b09f80c5923a42145420210a29decc29b75815d7c651802000001e4fc6399f1e136c1fdf300b8c15470d9fe72bfd6258a94b28b72ff50b18bbc290000019d7c3f1523235d67dd1fe8ec60bb57b0186ed9e1b2d8d8cada8a5f2e2ad7753580000169005dba8ed4b47738d843f4eee01d74737ebca0cb6da79cb2e93f68d4b1ce22800001fe128003c1a4f490d7734b1d4cd216baad8e984b8cfd2f69d22fb92c64ac6d2c800001c3f5260c91c0f746f785ac301b5709d8dceb521ce1124d29b61dd7fd9ab8021b8000017a12e149397e144eb85885b233a9e74d5889a060845a9c919448f6aa2a03f00e000001539464da7dcca2643654f9049ce6d4e17533243cbcc3aa3b2e0d098e7329953c8000",
      "vFieldElementCertificateFieldConfig": [
      ],
      "vBitVectorCertificateFieldConfig": [
      ],
      "customData": "83a93e823649de0fad316757c3377b3d255ddcfa2b968cfe9fd130faabf3852500",
      "constant": "0745b9ea8365de707ad04e0c845ee938d9bad5ebb2082934f8dddad1cf874606",
      "ftScFee": 0.00000000,
      "mbtrScFee": 0.00000000,
      "mbtrRequestDataLength": 0
    }
  ],
  "vft_ccout": [
  ],
  "vmbtr_out": [
  ],
  "vjoinsplit": [
  ],
  "blockhash": "00140e682fff288d53834d620760af6e23577b2a93f49115eace63914e5a1020",
  "confirmations": 608,
  "time": 1627181712,
  "blocktime": 1627181712,
  "hex": "fcffffff013e40b1014e465b8004fd19696ca8946c483037c94b9eff6d313f63774ccd7991d50000006b483045022100c84a0e3f298b038a1719b98e8a2fd355d4db310966ac7f80da5c412da1c2b4a502204911c0a983f51570dab31f05da2b57dea5e7ab7e906a65bf7ec6f75b5b534143012103ab0a9262e7f61fc12a95ce5424ea18bcd3f3a7dcdc4d8cff7816143391471d01feffffff000001640000003f04f60500000000529cea87857bf45035151a938c8b4fac4dffa9e20b000a496c44097dafb39bf52183a93e823649de0fad316757c3377b3d255ddcfa2b968cfe9fd130faabf385250001200745b9ea8365de707ad04e0c845ee938d9bad5ebb2082934f8dddad1cf874606fdcd010284610000000000000400000000000000886100000000000068ba0100000000000c00000000000000012e585a5ed07cf48a512866325396548a8ac8fabaf9e5e5f0d56707e9b77a6023000001c1ed9de8e1d1bd2420e44c8eb7932ec1625b85ca5e28d1a011a7679c5445b30d0000014db7e5a4b2e374021a5ddd9d17e0143d542dad606f26e72cb5aec14a5ffb4d38000001f5e3865ef2b5a22b988943469b121f9b859b33ab3b74e66cf6f211704435c514000001c48c7674c486eafc6b09f80c5923a42145420210a29decc29b75815d7c651802000001e4fc6399f1e136c1fdf300b8c15470d9fe72bfd6258a94b28b72ff50b18bbc290000019d7c3f1523235d67dd1fe8ec60bb57b0186ed9e1b2d8d8cada8a5f2e2ad7753580000169005dba8ed4b47738d843f4eee01d74737ebca0cb6da79cb2e93f68d4b1ce22800001fe128003c1a4f490d7734b1d4cd216baad8e984b8cfd2f69d22fb92c64ac6d2c800001c3f5260c91c0f746f785ac301b5709d8dceb521ce1124d29b61dd7fd9ab8021b8000017a12e149397e144eb85885b233a9e74d5889a060845a9c919448f6aa2a03f00e000001539464da7dcca2643654f9049ce6d4e17533243cbcc3aa3b2e0d098e7329953c800000000000000000000000000000000000000000000000bf600d00"