{
  "comments": [
    "Each test consists of a set of parameters, starting conditions, and a ",
    "series of block heights and timestamps relative to those starting ",
    "conditions along with the expected resulting difficulty bits for them.",
    "The params field for each test references the keys in the params object.",
    "The powLimit field is a hex-encoded unsigned 256-bit integer.",
    "The powLimitBits, startDiffBits, and expectedDiffBits fields are unsigned 32-bit integers.",
    "The targetSecsPerBlock, halfLifeSecs, startHeight, and startTime fields are signed 64-bit integers.",
    "The height field is an unsigned 64-bit integer.",
    "halfLifeSecs is the 𝜏 (tau) parameter for the equations in the specification."
  ],
  "params": {
    "mainnet": {
        "powLimit": "00000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
        "powLimitBits": 486604799,
        "targetSecsPerBlock": 300,
        "halfLifeSecs": 43200
    },
    "testnet": {
        "powLimit": "000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
        "powLimitBits": 486604799,
        "targetSecsPerBlock": 120,
        "halfLifeSecs": 720
    },
    "simnet": {
        "powLimit": "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
        "powLimitBits": 545259519,
        "targetSecsPerBlock": 1,
        "halfLifeSecs": 6
    }
  },
  "scenarios": [
    {
      "description": "mainnet: steady 300s blocks at proof of work limit",
      "params": "mainnet",
      "startDiffBits": 486604799,
      "startHeight": 0,
      "startTime": 0,
      "tests": [
        {"height": 1, "timestamp": 300, "expectedDiffBits": 486604799},
        {"height": 2, "timestamp": 600, "expectedDiffBits": 486604799},
        {"height": 3, "timestamp": 900, "expectedDiffBits": 486604799},
        {"height": 4, "timestamp": 1200, "expectedDiffBits": 486604799},
        {"height": 5, "timestamp": 1500, "expectedDiffBits": 486604799},
        {"height": 6, "timestamp": 1800, "expectedDiffBits": 486604799},
        {"height": 7, "timestamp": 2100, "expectedDiffBits": 486604799},
        {"height": 8, "timestamp": 2400, "expectedDiffBits": 486604799},
        {"height": 9, "timestamp": 2700, "expectedDiffBits": 486604799},
        {"height": 10, "timestamp": 3000, "expectedDiffBits": 486604799}
      ]
    },
    {
      "description": "mainnet: steady 300s blocks at difficulty 0x1b00a5a6",
      "params": "mainnet",
      "startDiffBits": 453027238,
      "startHeight": 0,
      "startTime": 0,
      "tests": [
        {"height": 0, "timestamp": 0, "expectedDiffBits": 453027238},
        {"height": 1, "timestamp": 300, "expectedDiffBits": 453027238},
        {"height": 2, "timestamp": 600, "expectedDiffBits": 453027238},
        {"height": 3, "timestamp": 900, "expectedDiffBits": 453027238},
        {"height": 4, "timestamp": 1200, "expectedDiffBits": 453027238},
        {"height": 5, "timestamp": 1500, "expectedDiffBits": 453027238},
        {"height": 6, "timestamp": 1800, "expectedDiffBits": 453027238},
        {"height": 7, "timestamp": 2100, "expectedDiffBits": 453027238},
        {"height": 8, "timestamp": 2400, "expectedDiffBits": 453027238},
        {"height": 9, "timestamp": 2700, "expectedDiffBits": 453027238},
        {"height": 10, "timestamp": 3000, "expectedDiffBits": 453027238}
      ]
    },
    {
      "description": "mainnet: steady 300s blocks at hardest difficulty",
      "params": "mainnet",
      "startDiffBits": 16842752,
      "startHeight": 0,
      "startTime": 0,
      "tests": [
        {"height": 1, "timestamp": 300, "expectedDiffBits": 16842752},
        {"height": 2, "timestamp": 600, "expectedDiffBits": 16842752},
        {"height": 3, "timestamp": 900, "expectedDiffBits": 16842752},
        {"height": 4, "timestamp": 1200, "expectedDiffBits": 16842752},
        {"height": 5, "timestamp": 1500, "expectedDiffBits": 16842752},
        {"height": 6, "timestamp": 1800, "expectedDiffBits": 16842752},
        {"height": 7, "timestamp": 2100, "expectedDiffBits": 16842752},
        {"height": 8, "timestamp": 2400, "expectedDiffBits": 16842752},
        {"height": 9, "timestamp": 2700, "expectedDiffBits": 16842752},
        {"height": 10, "timestamp": 3000, "expectedDiffBits": 16842752}
      ]
    },
    {
      "description": "mainnet: half life blocks from hardest to easiest difficulty",
      "params": "mainnet",
      "startDiffBits": 16842752,
      "startHeight": 0,
      "startTime": 0,
      "tests": [
        {"height": 1, "timestamp": 43500, "expectedDiffBits": 16908288},
        {"height": 2, "timestamp": 87000, "expectedDiffBits": 17039360},
        {"height": 3, "timestamp": 130500, "expectedDiffBits": 17301504},
        {"height": 4, "timestamp": 174000, "expectedDiffBits": 17825792},
        {"height": 5, "timestamp": 217500, "expectedDiffBits": 18874368},
        {"height": 6, "timestamp": 261000, "expectedDiffBits": 20971520},
        {"height": 7, "timestamp": 304500, "expectedDiffBits": 33587200},
        {"height": 8, "timestamp": 348000, "expectedDiffBits": 33619968},
        {"height": 9, "timestamp": 391500, "expectedDiffBits": 33685504},
        {"height": 10, "timestamp": 435000, "expectedDiffBits": 33816576},
        {"height": 11, "timestamp": 478500, "expectedDiffBits": 34078720},
        {"height": 12, "timestamp": 522000, "expectedDiffBits": 34603008},
        {"height": 13, "timestamp": 565500, "expectedDiffBits": 35651584},
        {"height": 14, "timestamp": 609000, "expectedDiffBits": 37748736},
        {"height": 15, "timestamp": 652500, "expectedDiffBits": 50364416},
        {"height": 16, "timestamp": 696000, "expectedDiffBits": 50397184},
        {"height": 17, "timestamp": 739500, "expectedDiffBits": 50462720},
        {"height": 18, "timestamp": 783000, "expectedDiffBits": 50593792},
        {"height": 19, "timestamp": 826500, "expectedDiffBits": 50855936},
        {"height": 20, "timestamp": 870000, "expectedDiffBits": 51380224},
        {"height": 21, "timestamp": 913500, "expectedDiffBits": 52428800},
        {"height": 22, "timestamp": 957000, "expectedDiffBits": 54525952},
        {"height": 23, "timestamp": 1000500, "expectedDiffBits": 67141632},
        {"height": 24, "timestamp": 1044000, "expectedDiffBits": 67174400},
        {"height": 25, "timestamp": 1087500, "expectedDiffBits": 67239936},
        {"height": 26, "timestamp": 1131000, "expectedDiffBits": 67371008},
        {"height": 27, "timestamp": 1174500, "expectedDiffBits": 67633152},
        {"height": 28, "timestamp": 1218000, "expectedDiffBits": 68157440},
        {"height": 29, "timestamp": 1261500, "expectedDiffBits": 69206016},
        {"height": 30, "timestamp": 1305000, "expectedDiffBits": 71303168},
        {"height": 31, "timestamp": 1348500, "expectedDiffBits": 83918848},
        {"height": 32, "timestamp": 1392000, "expectedDiffBits": 83951616},
        {"height": 33, "timestamp": 1435500, "expectedDiffBits": 84017152},
        {"height": 34, "timestamp": 1479000, "expectedDiffBits": 84148224},
        {"height": 35, "timestamp": 1522500, "expectedDiffBits": 84410368},
        {"height": 36, "timestamp": 1566000, "expectedDiffBits": 84934656},
        {"height": 37, "timestamp": 1609500, "expectedDiffBits": 85983232},
        {"height": 38, "timestamp": 1653000, "expectedDiffBits": 88080384},
        {"height": 39, "timestamp": 1696500, "expectedDiffBits": 100696064},
        {"height": 40, "timestamp": 1740000, "expectedDiffBits": 100728832},
        {"height": 41, "timestamp": 1783500, "expectedDiffBits": 100794368},
        {"height": 42, "timestamp": 1827000, "expectedDiffBits": 100925440},
        {"height": 43, "timestamp": 1870500, "expectedDiffBits": 101187584},
        {"height": 44, "timestamp": 1914000, "expectedDiffBits": 101711872},
        {"height": 45, "timestamp": 1957500, "expectedDiffBits": 102760448},
        {"height": 46, "timestamp": 2001000, "expectedDiffBits": 104857600},
        {"height": 47, "timestamp": 2044500, "expectedDiffBits": 117473280},
        {"height": 48, "timestamp": 2088000, "expectedDiffBits": 117506048},
        {"height": 49, "timestamp": 2131500, "expectedDiffBits": 117571584},
        {"height": 50, "timestamp": 2175000, "expectedDiffBits": 117702656},
        {"height": 51, "timestamp": 2218500, "expectedDiffBits": 117964800},
        {"height": 52, "timestamp": 2262000, "expectedDiffBits": 118489088},
        {"height": 53, "timestamp": 2305500, "expectedDiffBits": 119537664},
        {"height": 54, "timestamp": 2349000, "expectedDiffBits": 121634816},
        {"height": 55, "timestamp": 2392500, "expectedDiffBits": 134250496},
        {"height": 56, "timestamp": 2436000, "expectedDiffBits": 134283264},
        {"height": 57, "timestamp": 2479500, "expectedDiffBits": 134348800},
        {"height": 58, "timestamp": 2523000, "expectedDiffBits": 134479872},
        {"height": 59, "timestamp": 2566500, "expectedDiffBits": 134742016},
        {"height": 60, "timestamp": 2610000, "expectedDiffBits": 135266304},
        {"height": 61, "timestamp": 2653500, "expectedDiffBits": 136314880},
        {"height": 62, "timestamp": 2697000, "expectedDiffBits": 138412032},
        {"height": 63, "timestamp": 2740500, "expectedDiffBits": 151027712},
        {"height": 64, "timestamp": 2784000, "expectedDiffBits": 151060480},
        {"height": 65, "timestamp": 2827500, "expectedDiffBits": 151126016},
        {"height": 66, "timestamp": 2871000, "expectedDiffBits": 151257088},
        {"height": 67, "timestamp": 2914500, "expectedDiffBits": 151519232},
        {"height": 68, "timestamp": 2958000, "expectedDiffBits": 152043520},
        {"height": 69, "timestamp": 3001500, "expectedDiffBits": 153092096},
        {"height": 70, "timestamp": 3045000, "expectedDiffBits": 155189248},
        {"height": 71, "timestamp": 3088500, "expectedDiffBits": 167804928},
        {"height": 72, "timestamp": 3132000, "expectedDiffBits": 167837696},
        {"height": 73, "timestamp": 3175500, "expectedDiffBits": 167903232},
        {"height": 74, "timestamp": 3219000, "expectedDiffBits": 168034304},
        {"height": 75, "timestamp": 3262500, "expectedDiffBits": 168296448},
        {"height": 76, "timestamp": 3306000, "expectedDiffBits": 168820736},
        {"height": 77, "timestamp": 3349500, "expectedDiffBits": 169869312},
        {"height": 78, "timestamp": 3393000, "expectedDiffBits": 171966464},
        {"height": 79, "timestamp": 3436500, "expectedDiffBits": 184582144},
        {"height": 80, "timestamp": 3480000, "expectedDiffBits": 184614912},
        {"height": 81, "timestamp": 3523500, "expectedDiffBits": 184680448},
        {"height": 82, "timestamp": 3567000, "expectedDiffBits": 184811520},
        {"height": 83, "timestamp": 3610500, "expectedDiffBits": 185073664},
        {"height": 84, "timestamp": 3654000, "expectedDiffBits": 185597952},
        {"height": 85, "timestamp": 3697500, "expectedDiffBits": 186646528},
        {"height": 86, "timestamp": 3741000, "expectedDiffBits": 188743680},
        {"height": 87, "timestamp": 3784500, "expectedDiffBits": 201359360},
        {"height": 88, "timestamp": 3828000, "expectedDiffBits": 201392128},
        {"height": 89, "timestamp": 3871500, "expectedDiffBits": 201457664},
        {"height": 90, "timestamp": 3915000, "expectedDiffBits": 201588736},
        {"height": 91, "timestamp": 3958500, "expectedDiffBits": 201850880},
        {"height": 92, "timestamp": 4002000, "expectedDiffBits": 202375168},
        {"height": 93, "timestamp": 4045500, "expectedDiffBits": 203423744},
        {"height": 94, "timestamp": 4089000, "expectedDiffBits": 205520896},
        {"height": 95, "timestamp": 4132500, "expectedDiffBits": 218136576},
        {"height": 96, "timestamp": 4176000, "expectedDiffBits": 218169344},
        {"height": 97, "timestamp": 4219500, "expectedDiffBits": 218234880},
        {"height": 98, "timestamp": 4263000, "expectedDiffBits": 218365952},
        {"height": 99, "timestamp": 4306500, "expectedDiffBits": 218628096},
        {"height": 100, "timestamp": 4350000, "expectedDiffBits": 219152384},
        {"height": 101, "timestamp": 4393500, "expectedDiffBits": 220200960},
        {"height": 102, "timestamp": 4437000, "expectedDiffBits": 222298112},
        {"height": 103, "timestamp": 4480500, "expectedDiffBits": 234913792},
        {"height": 104, "timestamp": 4524000, "expectedDiffBits": 234946560},
        {"height": 105, "timestamp": 4567500, "expectedDiffBits": 235012096},
        {"height": 106, "timestamp": 4611000, "expectedDiffBits": 235143168},
        {"height": 107, "timestamp": 4654500, "expectedDiffBits": 235405312},
        {"height": 108, "timestamp": 4698000, "expectedDiffBits": 235929600},
        {"height": 109, "timestamp": 4741500, "expectedDiffBits": 236978176},
        {"height": 110, "timestamp": 4785000, "expectedDiffBits": 239075328},
        {"height": 111, "timestamp": 4828500, "expectedDiffBits": 251691008},
        {"height": 112, "timestamp": 4872000, "expectedDiffBits": 251723776},
        {"height": 113, "timestamp": 4915500, "expectedDiffBits": 251789312},
        {"height": 114, "timestamp": 4959000, "expectedDiffBits": 251920384},
        {"height": 115, "timestamp": 5002500, "expectedDiffBits": 252182528},
        {"height": 116, "timestamp": 5046000, "expectedDiffBits": 252706816},
        {"height": 117, "timestamp": 5089500, "expectedDiffBits": 253755392},
        {"height": 118, "timestamp": 5133000, "expectedDiffBits": 255852544},
        {"height": 119, "timestamp": 5176500, "expectedDiffBits": 268468224},
        {"height": 120, "timestamp": 5220000, "expectedDiffBits": 268500992},
        {"height": 121, "timestamp": 5263500, "expectedDiffBits": 268566528},
        {"height": 122, "timestamp": 5307000, "expectedDiffBits": 268697600},
        {"height": 123, "timestamp": 5350500, "expectedDiffBits": 268959744},
        {"height": 124, "timestamp": 5394000, "expectedDiffBits": 269484032},
        {"height": 125, "timestamp": 5437500, "expectedDiffBits": 270532608},
        {"height": 126, "timestamp": 5481000, "expectedDiffBits": 272629760},
        {"height": 127, "timestamp": 5524500, "expectedDiffBits": 285245440},
        {"height": 128, "timestamp": 5568000, "expectedDiffBits": 285278208},
        {"height": 129, "timestamp": 5611500, "expectedDiffBits": 285343744},
        {"height": 130, "timestamp": 5655000, "expectedDiffBits": 285474816},
        {"height": 131, "timestamp": 5698500, "expectedDiffBits": 285736960},
        {"height": 132, "timestamp": 5742000, "expectedDiffBits": 286261248},
        {"height": 133, "timestamp": 5785500, "expectedDiffBits": 287309824},
        {"height": 134, "timestamp": 5829000, "expectedDiffBits": 289406976},
        {"height": 135, "timestamp": 5872500, "expectedDiffBits": 302022656},
        {"height": 136, "timestamp": 5916000, "expectedDiffBits": 302055424},
        {"height": 137, "timestamp": 5959500, "expectedDiffBits": 302120960},
        {"height": 138, "timestamp": 6003000, "expectedDiffBits": 302252032},
        {"height": 139, "timestamp": 6046500, "expectedDiffBits": 302514176},
        {"height": 140, "timestamp": 6090000, "expectedDiffBits": 303038464},
        {"height": 141, "timestamp": 6133500, "expectedDiffBits": 304087040},
        {"height": 142, "timestamp": 6177000, "expectedDiffBits": 306184192},
        {"height": 143, "timestamp": 6220500, "expectedDiffBits": 318799872},
        {"height": 144, "timestamp": 6264000, "expectedDiffBits": 318832640},
        {"height": 145, "timestamp": 6307500, "expectedDiffBits": 318898176},
        {"height": 146, "timestamp": 6351000, "expectedDiffBits": 319029248},
        {"height": 147, "timestamp": 6394500, "expectedDiffBits": 319291392},
        {"height": 148, "timestamp": 6438000, "expectedDiffBits": 319815680},
        {"height": 149, "timestamp": 6481500, "expectedDiffBits": 320864256},
        {"height": 150, "timestamp": 6525000, "expectedDiffBits": 322961408},
        {"height": 151, "timestamp": 6568500, "expectedDiffBits": 335577088},
        {"height": 152, "timestamp": 6612000, "expectedDiffBits": 335609856},
        {"height": 153, "timestamp": 6655500, "expectedDiffBits": 335675392},
        {"height": 154, "timestamp": 6699000, "expectedDiffBits": 335806464},
        {"height": 155, "timestamp": 6742500, "expectedDiffBits": 336068608},
        {"height": 156, "timestamp": 6786000, "expectedDiffBits": 336592896},
        {"height": 157, "timestamp": 6829500, "expectedDiffBits": 337641472},
        {"height": 158, "timestamp": 6873000, "expectedDiffBits": 339738624},
        {"height": 159, "timestamp": 6916500, "expectedDiffBits": 352354304},
        {"height": 160, "timestamp": 6960000, "expectedDiffBits": 352387072},
        {"height": 161, "timestamp": 7003500, "expectedDiffBits": 352452608},
        {"height": 162, "timestamp": 7047000, "expectedDiffBits": 352583680},
        {"height": 163, "timestamp": 7090500, "expectedDiffBits": 352845824},
        {"height": 164, "timestamp": 7134000, "expectedDiffBits": 353370112},
        {"height": 165, "timestamp": 7177500, "expectedDiffBits": 354418688},
        {"height": 166, "timestamp": 7221000, "expectedDiffBits": 356515840},
        {"height": 167, "timestamp": 7264500, "expectedDiffBits": 369131520},
        {"height": 168, "timestamp": 7308000, "expectedDiffBits": 369164288},
        {"height": 169, "timestamp": 7351500, "expectedDiffBits": 369229824},
        {"height": 170, "timestamp": 7395000, "expectedDiffBits": 369360896},
        {"height": 171, "timestamp": 7438500, "expectedDiffBits": 369623040},
        {"height": 172, "timestamp": 7482000, "expectedDiffBits": 370147328},
        {"height": 173, "timestamp": 7525500, "expectedDiffBits": 371195904},
        {"height": 174, "timestamp": 7569000, "expectedDiffBits": 373293056},
        {"height": 175, "timestamp": 7612500, "expectedDiffBits": 385908736},
        {"height": 176, "timestamp": 7656000, "expectedDiffBits": 385941504},
        {"height": 177, "timestamp": 7699500, "expectedDiffBits": 386007040},
        {"height": 178, "timestamp": 7743000, "expectedDiffBits": 386138112},
        {"height": 179, "timestamp": 7786500, "expectedDiffBits": 386400256},
        {"height": 180, "timestamp": 7830000, "expectedDiffBits": 386924544},
        {"height": 181, "timestamp": 7873500, "expectedDiffBits": 387973120},
        {"height": 182, "timestamp": 7917000, "expectedDiffBits": 390070272},
        {"height": 183, "timestamp": 7960500, "expectedDiffBits": 402685952},
        {"height": 184, "timestamp": 8004000, "expectedDiffBits": 402718720},
        {"height": 185, "timestamp": 8047500, "expectedDiffBits": 402784256},
        {"height": 186, "timestamp": 8091000, "expectedDiffBits": 402915328},
        {"height": 187, "timestamp": 8134500, "expectedDiffBits": 403177472},
        {"height": 188, "timestamp": 8178000, "expectedDiffBits": 403701760},
        {"height": 189, "timestamp": 8221500, "expectedDiffBits": 404750336},
        {"height": 190, "timestamp": 8265000, "expectedDiffBits": 406847488},
        {"height": 191, "timestamp": 8308500, "expectedDiffBits": 419463168},
        {"height": 192, "timestamp": 8352000, "expectedDiffBits": 419495936},
        {"height": 193, "timestamp": 8395500, "expectedDiffBits": 419561472},
        {"height": 194, "timestamp": 8439000, "expectedDiffBits": 419692544},
        {"height": 195, "timestamp": 8482500, "expectedDiffBits": 419954688},
        {"height": 196, "timestamp": 8526000, "expectedDiffBits": 420478976},
        {"height": 197, "timestamp": 8569500, "expectedDiffBits": 421527552},
        {"height": 198, "timestamp": 8613000, "expectedDiffBits": 423624704},
        {"height": 199, "timestamp": 8656500, "expectedDiffBits": 436240384},
        {"height": 200, "timestamp": 8700000, "expectedDiffBits": 436273152},
        {"height": 201, "timestamp": 8743500, "expectedDiffBits": 436338688},
        {"height": 202, "timestamp": 8787000, "expectedDiffBits": 436469760},
        {"height": 203, "timestamp": 8830500, "expectedDiffBits": 436731904},
        {"height": 204, "timestamp": 8874000, "expectedDiffBits": 437256192},
        {"height": 205, "timestamp": 8917500, "expectedDiffBits": 438304768},
        {"height": 206, "timestamp": 8961000, "expectedDiffBits": 440401920},
        {"height": 207, "timestamp": 9004500, "expectedDiffBits": 453017600},
        {"height": 208, "timestamp": 9048000, "expectedDiffBits": 453050368},
        {"height": 209, "timestamp": 9091500, "expectedDiffBits": 453115904},
        {"height": 210, "timestamp": 9135000, "expectedDiffBits": 453246976},
        {"height": 211, "timestamp": 9178500, "expectedDiffBits": 453509120},
        {"height": 212, "timestamp": 9222000, "expectedDiffBits": 454033408},
        {"height": 213, "timestamp": 9265500, "expectedDiffBits": 455081984},
        {"height": 214, "timestamp": 9309000, "expectedDiffBits": 457179136},
        {"height": 215, "timestamp": 9352500, "expectedDiffBits": 469794816},
        {"height": 216, "timestamp": 9396000, "expectedDiffBits": 469827584},
        {"height": 217, "timestamp": 9439500, "expectedDiffBits": 469893120},
        {"height": 218, "timestamp": 9483000, "expectedDiffBits": 470024192},
        {"height": 219, "timestamp": 9526500, "expectedDiffBits": 470286336},
        {"height": 220, "timestamp": 9570000, "expectedDiffBits": 470810624},
        {"height": 221, "timestamp": 9613500, "expectedDiffBits": 471859200},
        {"height": 222, "timestamp": 9657000, "expectedDiffBits": 473956352},
        {"height": 223, "timestamp": 9700500, "expectedDiffBits": 486572032},
        {"height": 224, "timestamp": 9744000, "expectedDiffBits": 486604799},
        {"height": 225, "timestamp": 9787500, "expectedDiffBits": 486604799}
      ]
    },
    {
      "description": "mainnet: 0s height-based half life blocks from easiest to hardest difficulty",
      "params": "mainnet",
      "startDiffBits": 486604799,
      "startHeight": 0,
      "startTime": 0,
      "tests": [
        {"height": 144, "timestamp": 0, "expectedDiffBits": 478150528},
        {"height": 288, "timestamp": 0, "expectedDiffBits": 473956288},
        {"height": 432, "timestamp": 0, "expectedDiffBits": 471859168},
        {"height": 576, "timestamp": 0, "expectedDiffBits": 470810608},
        {"height": 720, "timestamp": 0, "expectedDiffBits": 470286328},
        {"height": 864, "timestamp": 0, "expectedDiffBits": 470024188},
        {"height": 1008, "timestamp": 0, "expectedDiffBits": 469893118},
        {"height": 1152, "timestamp": 0, "expectedDiffBits": 469827583},
        {"height": 1296, "timestamp": 0, "expectedDiffBits": 461373312},
        {"height": 1440, "timestamp": 0, "expectedDiffBits": 457179072},
        {"height": 1584, "timestamp": 0, "expectedDiffBits": 455081952},
        {"height": 1728, "timestamp": 0, "expectedDiffBits": 454033392},
        {"height": 1872, "timestamp": 0, "expectedDiffBits": 453509112},
        {"height": 2016, "timestamp": 0, "expectedDiffBits": 453246972},
        {"height": 2160, "timestamp": 0, "expectedDiffBits": 453115902},
        {"height": 2304, "timestamp": 0, "expectedDiffBits": 453050367},
        {"height": 2448, "timestamp": 0, "expectedDiffBits": 444596096},
        {"height": 2592, "timestamp": 0, "expectedDiffBits": 440401856},
        {"height": 2736, "timestamp": 0, "expectedDiffBits": 438304736},
        {"height": 2880, "timestamp": 0, "expectedDiffBits": 437256176},
        {"height": 3024, "timestamp": 0, "expectedDiffBits": 436731896},
        {"height": 3168, "timestamp": 0, "expectedDiffBits": 436469756},
        {"height": 3312, "timestamp": 0, "expectedDiffBits": 436338686},
        {"height": 3456, "timestamp": 0, "expectedDiffBits": 436273151},
        {"height": 3600, "timestamp": 0, "expectedDiffBits": 427818880},
        {"height": 3744, "timestamp": 0, "expectedDiffBits": 423624640},
        {"height": 3888, "timestamp": 0, "expectedDiffBits": 421527520},
        {"height": 4032, "timestamp": 0, "expectedDiffBits": 420478960},
        {"height": 4176, "timestamp": 0, "expectedDiffBits": 419954680},
        {"height": 4320, "timestamp": 0, "expectedDiffBits": 419692540},
        {"height": 4464, "timestamp": 0, "expectedDiffBits": 419561470},
        {"height": 4608, "timestamp": 0, "expectedDiffBits": 419495935},
        {"height": 4752, "timestamp": 0, "expectedDiffBits": 411041664},
        {"height": 4896, "timestamp": 0, "expectedDiffBits": 406847424},
        {"height": 5040, "timestamp": 0, "expectedDiffBits": 404750304},
        {"height": 5184, "timestamp": 0, "expectedDiffBits": 403701744},
        {"height": 5328, "timestamp": 0, "expectedDiffBits": 403177464},
        {"height": 5472, "timestamp": 0, "expectedDiffBits": 402915324},
        {"height": 5616, "timestamp": 0, "expectedDiffBits": 402784254},
        {"height": 5760, "timestamp": 0, "expectedDiffBits": 402718719},
        {"height": 5904, "timestamp": 0, "expectedDiffBits": 394264448},
        {"height": 6048, "timestamp": 0, "expectedDiffBits": 390070208},
        {"height": 6192, "timestamp": 0, "expectedDiffBits": 387973088},
        {"height": 6336, "timestamp": 0, "expectedDiffBits": 386924528},
        {"height": 6480, "timestamp": 0, "expectedDiffBits": 386400248},
        {"height": 6624, "timestamp": 0, "expectedDiffBits": 386138108},
        {"height": 6768, "timestamp": 0, "expectedDiffBits": 386007038},
        {"height": 6912, "timestamp": 0, "expectedDiffBits": 385941503},
        {"height": 7056, "timestamp": 0, "expectedDiffBits": 377487232},
        {"height": 7200, "timestamp": 0, "expectedDiffBits": 373292992},
        {"height": 7344, "timestamp": 0, "expectedDiffBits": 371195872},
        {"height": 7488, "timestamp": 0, "expectedDiffBits": 370147312},
        {"height": 7632, "timestamp": 0, "expectedDiffBits": 369623032},
        {"height": 7776, "timestamp": 0, "expectedDiffBits": 369360892},
        {"height": 7920, "timestamp": 0, "expectedDiffBits": 369229822},
        {"height": 8064, "timestamp": 0, "expectedDiffBits": 369164287},
        {"height": 8208, "timestamp": 0, "expectedDiffBits": 360710016},
        {"height": 8352, "timestamp": 0, "expectedDiffBits": 356515776},
        {"height": 8496, "timestamp": 0, "expectedDiffBits": 354418656},
        {"height": 8640, "timestamp": 0, "expectedDiffBits": 353370096},
        {"height": 8784, "timestamp": 0, "expectedDiffBits": 352845816},
        {"height": 8928, "timestamp": 0, "expectedDiffBits": 352583676},
        {"height": 9072, "timestamp": 0, "expectedDiffBits": 352452606},
        {"height": 9216, "timestamp": 0, "expectedDiffBits": 352387071},
        {"height": 9360, "timestamp": 0, "expectedDiffBits": 343932800},
        {"height": 9504, "timestamp": 0, "expectedDiffBits": 339738560},
        {"height": 9648, "timestamp": 0, "expectedDiffBits": 337641440},
        {"height": 9792, "timestamp": 0, "expectedDiffBits": 336592880},
        {"height": 9936, "timestamp": 0, "expectedDiffBits": 336068600},
        {"height": 10080, "timestamp": 0, "expectedDiffBits": 335806460},
        {"height": 10224, "timestamp": 0, "expectedDiffBits": 335675390},
        {"height": 10368, "timestamp": 0, "expectedDiffBits": 335609855},
        {"height": 10512, "timestamp": 0, "expectedDiffBits": 327155584},
        {"height": 10656, "timestamp": 0, "expectedDiffBits": 322961344},
        {"height": 10800, "timestamp": 0, "expectedDiffBits": 320864224},
        {"height": 10944, "timestamp": 0, "expectedDiffBits": 319815664},
        {"height": 11088, "timestamp": 0, "expectedDiffBits": 319291384},
        {"height": 11232, "timestamp": 0, "expectedDiffBits": 319029244},
        {"height": 11376, "timestamp": 0, "expectedDiffBits": 318898174},
        {"height": 11520, "timestamp": 0, "expectedDiffBits": 318832639},
        {"height": 11664, "timestamp": 0, "expectedDiffBits": 310378368},
        {"height": 11808, "timestamp": 0, "expectedDiffBits": 306184128},
        {"height": 11952, "timestamp": 0, "expectedDiffBits": 304087008},
        {"height": 12096, "timestamp": 0, "expectedDiffBits": 303038448},
        {"height": 12240, "timestamp": 0, "expectedDiffBits": 302514168},
        {"height": 12384, "timestamp": 0, "expectedDiffBits": 302252028},
        {"height": 12528, "timestamp": 0, "expectedDiffBits": 302120958},
        {"height": 12672, "timestamp": 0, "expectedDiffBits": 302055423},
        {"height": 12816, "timestamp": 0, "expectedDiffBits": 293601152},
        {"height": 12960, "timestamp": 0, "expectedDiffBits": 289406912},
        {"height": 13104, "timestamp": 0, "expectedDiffBits": 287309792},
        {"height": 13248, "timestamp": 0, "expectedDiffBits": 286261232},
        {"height": 13392, "timestamp": 0, "expectedDiffBits": 285736952},
        {"height": 13536, "timestamp": 0, "expectedDiffBits": 285474812},
        {"height": 13680, "timestamp": 0, "expectedDiffBits": 285343742},
        {"height": 13824, "timestamp": 0, "expectedDiffBits": 285278207},
        {"height": 13968, "timestamp": 0, "expectedDiffBits": 276823936},
        {"height": 14112, "timestamp": 0, "expectedDiffBits": 272629696},
        {"height": 14256, "timestamp": 0, "expectedDiffBits": 270532576},
        {"height": 14400, "timestamp": 0, "expectedDiffBits": 269484016},
        {"height": 14544, "timestamp": 0, "expectedDiffBits": 268959736},
        {"height": 14688, "timestamp": 0, "expectedDiffBits": 268697596},
        {"height": 14832, "timestamp": 0, "expectedDiffBits": 268566526},
        {"height": 14976, "timestamp": 0, "expectedDiffBits": 268500991},
        {"height": 15120, "timestamp": 0, "expectedDiffBits": 260046720},
        {"height": 15264, "timestamp": 0, "expectedDiffBits": 255852480},
        {"height": 15408, "timestamp": 0, "expectedDiffBits": 253755360},
        {"height": 15552, "timestamp": 0, "expectedDiffBits": 252706800},
        {"height": 15696, "timestamp": 0, "expectedDiffBits": 252182520},
        {"height": 15840, "timestamp": 0, "expectedDiffBits": 251920380},
        {"height": 15984, "timestamp": 0, "expectedDiffBits": 251789310},
        {"height": 16128, "timestamp": 0, "expectedDiffBits": 251723775},
        {"height": 16272, "timestamp": 0, "expectedDiffBits": 243269504},
        {"height": 16416, "timestamp": 0, "expectedDiffBits": 239075264},
        {"height": 16560, "timestamp": 0, "expectedDiffBits": 236978144},
        {"height": 16704, "timestamp": 0, "expectedDiffBits": 235929584},
        {"height": 16848, "timestamp": 0, "expectedDiffBits": 235405304},
        {"height": 16992, "timestamp": 0, "expectedDiffBits": 235143164},
        {"height": 17136, "timestamp": 0, "expectedDiffBits": 235012094},
        {"height": 17280, "timestamp": 0, "expectedDiffBits": 234946559},
        {"height": 17424, "timestamp": 0, "expectedDiffBits": 226492288},
        {"height": 17568, "timestamp": 0, "expectedDiffBits": 222298048},
        {"height": 17712, "timestamp": 0, "expectedDiffBits": 220200928},
        {"height": 17856, "timestamp": 0, "expectedDiffBits": 219152368},
        {"height": 18000, "timestamp": 0, "expectedDiffBits": 218628088},
        {"height": 18144, "timestamp": 0, "expectedDiffBits": 218365948},
        {"height": 18288, "timestamp": 0, "expectedDiffBits": 218234878},
        {"height": 18432, "timestamp": 0, "expectedDiffBits": 218169343},
        {"height": 18576, "timestamp": 0, "expectedDiffBits": 209715072},
        {"height": 18720, "timestamp": 0, "expectedDiffBits": 205520832},
        {"height": 18864, "timestamp": 0, "expectedDiffBits": 203423712},
        {"height": 19008, "timestamp": 0, "expectedDiffBits": 202375152},
        {"height": 19152, "timestamp": 0, "expectedDiffBits": 201850872},
        {"height": 19296, "timestamp": 0, "expectedDiffBits": 201588732},
        {"height": 19440, "timestamp": 0, "expectedDiffBits": 201457662},
        {"height": 19584, "timestamp": 0, "expectedDiffBits": 201392127},
        {"height": 19728, "timestamp": 0, "expectedDiffBits": 192937856},
        {"height": 19872, "timestamp": 0, "expectedDiffBits": 188743616},
        {"height": 20016, "timestamp": 0, "expectedDiffBits": 186646496},
        {"height": 20160, "timestamp": 0, "expectedDiffBits": 185597936},
        {"height": 20304, "timestamp": 0, "expectedDiffBits": 185073656},
        {"height": 20448, "timestamp": 0, "expectedDiffBits": 184811516},
        {"height": 20592, "timestamp": 0, "expectedDiffBits": 184680446},
        {"height": 20736, "timestamp": 0, "expectedDiffBits": 184614911},
        {"height": 20880, "timestamp": 0, "expectedDiffBits": 176160640},
        {"height": 21024, "timestamp": 0, "expectedDiffBits": 171966400},
        {"height": 21168, "timestamp": 0, "expectedDiffBits": 169869280},
        {"height": 21312, "timestamp": 0, "expectedDiffBits": 168820720},
        {"height": 21456, "timestamp": 0, "expectedDiffBits": 168296440},
        {"height": 21600, "timestamp": 0, "expectedDiffBits": 168034300},
        {"height": 21744, "timestamp": 0, "expectedDiffBits": 167903230},
        {"height": 21888, "timestamp": 0, "expectedDiffBits": 167837695},
        {"height": 22032, "timestamp": 0, "expectedDiffBits": 159383424},
        {"height": 22176, "timestamp": 0, "expectedDiffBits": 155189184},
        {"height": 22320, "timestamp": 0, "expectedDiffBits": 153092064},
        {"height": 22464, "timestamp": 0, "expectedDiffBits": 152043504},
        {"height": 22608, "timestamp": 0, "expectedDiffBits": 151519224},
        {"height": 22752, "timestamp": 0, "expectedDiffBits": 151257084},
        {"height": 22896, "timestamp": 0, "expectedDiffBits": 151126014},
        {"height": 23040, "timestamp": 0, "expectedDiffBits": 151060479},
        {"height": 23184, "timestamp": 0, "expectedDiffBits": 142606208},
        {"height": 23328, "timestamp": 0, "expectedDiffBits": 138411968},
        {"height": 23472, "timestamp": 0, "expectedDiffBits": 136314848},
        {"height": 23616, "timestamp": 0, "expectedDiffBits": 135266288},
        {"height": 23760, "timestamp": 0, "expectedDiffBits": 134742008},
        {"height": 23904, "timestamp": 0, "expectedDiffBits": 134479868},
        {"height": 24048, "timestamp": 0, "expectedDiffBits": 134348798},
        {"height": 24192, "timestamp": 0, "expectedDiffBits": 134283263},
        {"height": 24336, "timestamp": 0, "expectedDiffBits": 125828992},
        {"height": 24480, "timestamp": 0, "expectedDiffBits": 121634752},
        {"height": 24624, "timestamp": 0, "expectedDiffBits": 119537632},
        {"height": 24768, "timestamp": 0, "expectedDiffBits": 118489072},
        {"height": 24912, "timestamp": 0, "expectedDiffBits": 117964792},
        {"height": 25056, "timestamp": 0, "expectedDiffBits": 117702652},
        {"height": 25200, "timestamp": 0, "expectedDiffBits": 117571582},
        {"height": 25344, "timestamp": 0, "expectedDiffBits": 117506047},
        {"height": 25488, "timestamp": 0, "expectedDiffBits": 109051776},
        {"height": 25632, "timestamp": 0, "expectedDiffBits": 104857536},
        {"height": 25776, "timestamp": 0, "expectedDiffBits": 102760416},
        {"height": 25920, "timestamp": 0, "expectedDiffBits": 101711856},
        {"height": 26064, "timestamp": 0, "expectedDiffBits": 101187576},
        {"height": 26208, "timestamp": 0, "expectedDiffBits": 100925436},
        {"height": 26352, "timestamp": 0, "expectedDiffBits": 100794366},
        {"height": 26496, "timestamp": 0, "expectedDiffBits": 100728831},
        {"height": 26640, "timestamp": 0, "expectedDiffBits": 92274560},
        {"height": 26784, "timestamp": 0, "expectedDiffBits": 88080320},
        {"height": 26928, "timestamp": 0, "expectedDiffBits": 85983200},
        {"height": 27072, "timestamp": 0, "expectedDiffBits": 84934640},
        {"height": 27216, "timestamp": 0, "expectedDiffBits": 84410360},
        {"height": 27360, "timestamp": 0, "expectedDiffBits": 84148220},
        {"height": 27504, "timestamp": 0, "expectedDiffBits": 84017150},
        {"height": 27648, "timestamp": 0, "expectedDiffBits": 83951615},
        {"height": 27792, "timestamp": 0, "expectedDiffBits": 75497344},
        {"height": 27936, "timestamp": 0, "expectedDiffBits": 71303104},
        {"height": 28080, "timestamp": 0, "expectedDiffBits": 69205984},
        {"height": 28224, "timestamp": 0, "expectedDiffBits": 68157424},
        {"height": 28368, "timestamp": 0, "expectedDiffBits": 67633144},
        {"height": 28512, "timestamp": 0, "expectedDiffBits": 67371004},
        {"height": 28656, "timestamp": 0, "expectedDiffBits": 67239934},
        {"height": 28800, "timestamp": 0, "expectedDiffBits": 67174399},
        {"height": 28944, "timestamp": 0, "expectedDiffBits": 58720128},
        {"height": 29088, "timestamp": 0, "expectedDiffBits": 54525888},
        {"height": 29232, "timestamp": 0, "expectedDiffBits": 52428768},
        {"height": 29376, "timestamp": 0, "expectedDiffBits": 51380208},
        {"height": 29520, "timestamp": 0, "expectedDiffBits": 50855928},
        {"height": 29664, "timestamp": 0, "expectedDiffBits": 50593788},
        {"height": 29808, "timestamp": 0, "expectedDiffBits": 50462718},
        {"height": 29952, "timestamp": 0, "expectedDiffBits": 50397183},
        {"height": 30096, "timestamp": 0, "expectedDiffBits": 41942784},
        {"height": 30240, "timestamp": 0, "expectedDiffBits": 37748480},
        {"height": 30384, "timestamp": 0, "expectedDiffBits": 35651328},
        {"height": 30528, "timestamp": 0, "expectedDiffBits": 34602752},
        {"height": 30672, "timestamp": 0, "expectedDiffBits": 34078464},
        {"height": 30816, "timestamp": 0, "expectedDiffBits": 33816320},
        {"height": 30960, "timestamp": 0, "expectedDiffBits": 33685248},
        {"height": 31104, "timestamp": 0, "expectedDiffBits": 33619712},
        {"height": 31248, "timestamp": 0, "expectedDiffBits": 25100288},
        {"height": 31392, "timestamp": 0, "expectedDiffBits": 20905984},
        {"height": 31536, "timestamp": 0, "expectedDiffBits": 18808832},
        {"height": 31680, "timestamp": 0, "expectedDiffBits": 17760256},
        {"height": 31824, "timestamp": 0, "expectedDiffBits": 17235968},
        {"height": 31968, "timestamp": 0, "expectedDiffBits": 16973824},
        {"height": 32112, "timestamp": 0, "expectedDiffBits": 16842752},
        {"height": 32256, "timestamp": 0, "expectedDiffBits": 16842752}
      ]
    },
    {
      "description": "mainnet: random solve times per Poisson distribution for a stable hashrate",
      "params": "mainnet",
      "startDiffBits": 453027238,
      "startHeight": 0,
      "startTime": 0,
      "tests": [
        {"height": 1, "timestamp": 591, "expectedDiffBits": 453027436},
        {"height": 2, "timestamp": 631, "expectedDiffBits": 453027259},
        {"height": 3, "timestamp": 903, "expectedDiffBits": 453027239},
        {"height": 4, "timestamp": 1048, "expectedDiffBits": 453027135},
        {"height": 5, "timestamp": 1542, "expectedDiffBits": 453027266},
        {"height": 6, "timestamp": 2080, "expectedDiffBits": 453027429},
        {"height": 7, "timestamp": 2476, "expectedDiffBits": 453027495},
        {"height": 8, "timestamp": 2692, "expectedDiffBits": 453027437},
        {"height": 9, "timestamp": 3141, "expectedDiffBits": 453027540},
        {"height": 10, "timestamp": 3274, "expectedDiffBits": 453027425},
        {"height": 11, "timestamp": 3684, "expectedDiffBits": 453027500},
        {"height": 12, "timestamp": 3723, "expectedDiffBits": 453027321},
        {"height": 13, "timestamp": 3988, "expectedDiffBits": 453027298},
        {"height": 14, "timestamp": 4375, "expectedDiffBits": 453027357},
        {"height": 15, "timestamp": 4824, "expectedDiffBits": 453027459},
        {"height": 16, "timestamp": 5295, "expectedDiffBits": 453027577},
        {"height": 17, "timestamp": 5364, "expectedDiffBits": 453027418},
        {"height": 18, "timestamp": 6212, "expectedDiffBits": 453027795},
        {"height": 19, "timestamp": 6718, "expectedDiffBits": 453027938},
        {"height": 20, "timestamp": 7094, "expectedDiffBits": 453027990},
        {"height": 21, "timestamp": 7636, "expectedDiffBits": 453028158},
        {"height": 22, "timestamp": 7826, "expectedDiffBits": 453028082},
        {"height": 23, "timestamp": 8680, "expectedDiffBits": 453028469},
        {"height": 24, "timestamp": 8748, "expectedDiffBits": 453028306},
        {"height": 25, "timestamp": 9870, "expectedDiffBits": 453028885},
        {"height": 26, "timestamp": 10353, "expectedDiffBits": 453029014},
        {"height": 27, "timestamp": 10862, "expectedDiffBits": 453029163},
        {"height": 28, "timestamp": 10943, "expectedDiffBits": 453029007},
        {"height": 29, "timestamp": 11567, "expectedDiffBits": 453029238},
        {"height": 30, "timestamp": 11598, "expectedDiffBits": 453029047},
        {"height": 31, "timestamp": 11658, "expectedDiffBits": 453028877},
        {"height": 32, "timestamp": 11799, "expectedDiffBits": 453028764},
        {"height": 33, "timestamp": 11931, "expectedDiffBits": 453028646},
        {"height": 34, "timestamp": 12303, "expectedDiffBits": 453028696},
        {"height": 35, "timestamp": 12713, "expectedDiffBits": 453028774},
        {"height": 36, "timestamp": 13311, "expectedDiffBits": 453028985},
        {"height": 37, "timestamp": 13426, "expectedDiffBits": 453028854},
        {"height": 38, "timestamp": 14550, "expectedDiffBits": 453029440},
        {"height": 39, "timestamp": 15010, "expectedDiffBits": 453029555},
        {"height": 40, "timestamp": 15580, "expectedDiffBits": 453029749},
        {"height": 41, "timestamp": 16801, "expectedDiffBits": 453030418},
        {"height": 42, "timestamp": 16901, "expectedDiffBits": 453030272},
        {"height": 43, "timestamp": 17487, "expectedDiffBits": 453030481},
        {"height": 44, "timestamp": 17503, "expectedDiffBits": 453030274},
        {"height": 45, "timestamp": 18174, "expectedDiffBits": 453030545},
        {"height": 46, "timestamp": 18304, "expectedDiffBits": 453030420},
        {"height": 47, "timestamp": 18547, "expectedDiffBits": 453030379},
        {"height": 48, "timestamp": 18779, "expectedDiffBits": 453030329},
        {"height": 49, "timestamp": 18782, "expectedDiffBits": 453030112},
        {"height": 50, "timestamp": 18802, "expectedDiffBits": 453029909},
        {"height": 51, "timestamp": 18805, "expectedDiffBits": 453029695},
        {"height": 52, "timestamp": 18991, "expectedDiffBits": 453029614},
        {"height": 53, "timestamp": 19023, "expectedDiffBits": 453029421},
        {"height": 54, "timestamp": 19107, "expectedDiffBits": 453029267},
        {"height": 55, "timestamp": 19281, "expectedDiffBits": 453029176},
        {"height": 56, "timestamp": 19300, "expectedDiffBits": 453028977},
        {"height": 57, "timestamp": 19384, "expectedDiffBits": 453028823},
        {"height": 58, "timestamp": 19688, "expectedDiffBits": 453028827},
        {"height": 59, "timestamp": 19988, "expectedDiffBits": 453028827},
        {"height": 60, "timestamp": 20153, "expectedDiffBits": 453028732},
        {"height": 61, "timestamp": 20175, "expectedDiffBits": 453028536},
        {"height": 62, "timestamp": 20704, "expectedDiffBits": 453028697},
        {"height": 63, "timestamp": 20710, "expectedDiffBits": 453028490},
        {"height": 64, "timestamp": 21585, "expectedDiffBits": 453028895},
        {"height": 65, "timestamp": 21767, "expectedDiffBits": 453028812},
        {"height": 66, "timestamp": 21785, "expectedDiffBits": 453028613},
        {"height": 67, "timestamp": 21988, "expectedDiffBits": 453028545},
        {"height": 68, "timestamp": 22606, "expectedDiffBits": 453028768},
        {"height": 69, "timestamp": 22842, "expectedDiffBits": 453028724},
        {"height": 70, "timestamp": 22950, "expectedDiffBits": 453028589},
        {"height": 71, "timestamp": 22990, "expectedDiffBits": 453028406},
        {"height": 72, "timestamp": 23140, "expectedDiffBits": 453028301},
        {"height": 73, "timestamp": 23890, "expectedDiffBits": 453028616},
        {"height": 74, "timestamp": 24352, "expectedDiffBits": 453028731},
        {"height": 75, "timestamp": 24375, "expectedDiffBits": 453028536},
        {"height": 76, "timestamp": 24780, "expectedDiffBits": 453028609},
        {"height": 77, "timestamp": 25031, "expectedDiffBits": 453028575},
        {"height": 78, "timestamp": 25206, "expectedDiffBits": 453028487},
        {"height": 79, "timestamp": 25527, "expectedDiffBits": 453028502},
        {"height": 80, "timestamp": 25623, "expectedDiffBits": 453028360},
        {"height": 81, "timestamp": 26356, "expectedDiffBits": 453028663},
        {"height": 82, "timestamp": 27160, "expectedDiffBits": 453029020},
        {"height": 83, "timestamp": 27626, "expectedDiffBits": 453029137},
        {"height": 84, "timestamp": 27750, "expectedDiffBits": 453029012},
        {"height": 85, "timestamp": 27995, "expectedDiffBits": 453028974},
        {"height": 86, "timestamp": 28231, "expectedDiffBits": 453028928},
        {"height": 87, "timestamp": 28278, "expectedDiffBits": 453028749},
        {"height": 88, "timestamp": 28503, "expectedDiffBits": 453028696},
        {"height": 89, "timestamp": 29143, "expectedDiffBits": 453028937},
        {"height": 90, "timestamp": 29267, "expectedDiffBits": 453028812},
        {"height": 91, "timestamp": 29469, "expectedDiffBits": 453028743},
        {"height": 92, "timestamp": 30126, "expectedDiffBits": 453028996},
        {"height": 93, "timestamp": 30196, "expectedDiffBits": 453028833},
        {"height": 94, "timestamp": 30299, "expectedDiffBits": 453028693},
        {"height": 95, "timestamp": 30476, "expectedDiffBits": 453028607},
        {"height": 96, "timestamp": 30525, "expectedDiffBits": 453028430},
        {"height": 97, "timestamp": 30624, "expectedDiffBits": 453028290},
        {"height": 98, "timestamp": 31117, "expectedDiffBits": 453028425},
        {"height": 99, "timestamp": 31160, "expectedDiffBits": 453028245},
        {"height": 100, "timestamp": 31301, "expectedDiffBits": 453028134},
        {"height": 101, "timestamp": 31429, "expectedDiffBits": 453028015},
        {"height": 102, "timestamp": 31702, "expectedDiffBits": 453027996},
        {"height": 103, "timestamp": 33048, "expectedDiffBits": 453028728},
        {"height": 104, "timestamp": 33221, "expectedDiffBits": 453028638},
        {"height": 105, "timestamp": 33566, "expectedDiffBits": 453028670},
        {"height": 106, "timestamp": 33998, "expectedDiffBits": 453028763},
        {"height": 107, "timestamp": 34214, "expectedDiffBits": 453028704},
        {"height": 108, "timestamp": 34218, "expectedDiffBits": 453028495},
        {"height": 109, "timestamp": 34267, "expectedDiffBits": 453028320},
        {"height": 110, "timestamp": 34375, "expectedDiffBits": 453028185},
        {"height": 111, "timestamp": 34793, "expectedDiffBits": 453028268},
        {"height": 112, "timestamp": 34968, "expectedDiffBits": 453028181},
        {"height": 113, "timestamp": 35332, "expectedDiffBits": 453028226},
        {"height": 114, "timestamp": 35665, "expectedDiffBits": 453028249},
        {"height": 115, "timestamp": 36553, "expectedDiffBits": 453028661},
        {"height": 116, "timestamp": 36573, "expectedDiffBits": 453028464},
        {"height": 117, "timestamp": 36665, "expectedDiffBits": 453028319},
        {"height": 118, "timestamp": 36836, "expectedDiffBits": 453028228},
        {"height": 119, "timestamp": 37222, "expectedDiffBits": 453028288},
        {"height": 120, "timestamp": 37455, "expectedDiffBits": 453028242},
        {"height": 121, "timestamp": 38318, "expectedDiffBits": 453028636},
        {"height": 122, "timestamp": 38673, "expectedDiffBits": 453028675},
        {"height": 123, "timestamp": 39059, "expectedDiffBits": 453028735},
        {"height": 124, "timestamp": 39370, "expectedDiffBits": 453028743},
        {"height": 125, "timestamp": 40220, "expectedDiffBits": 453029133},
        {"height": 126, "timestamp": 40516, "expectedDiffBits": 453029130},
        {"height": 127, "timestamp": 41458, "expectedDiffBits": 453029590},
        {"height": 128, "timestamp": 41533, "expectedDiffBits": 453029428},
        {"height": 129, "timestamp": 41605, "expectedDiffBits": 453029265},
        {"height": 130, "timestamp": 41727, "expectedDiffBits": 453029138},
        {"height": 131, "timestamp": 41917, "expectedDiffBits": 453029060},
        {"height": 132, "timestamp": 42260, "expectedDiffBits": 453029091},
        {"height": 133, "timestamp": 42872, "expectedDiffBits": 453029313},
        {"height": 134, "timestamp": 43071, "expectedDiffBits": 453029241},
        {"height": 135, "timestamp": 43119, "expectedDiffBits": 453029062},
        {"height": 136, "timestamp": 43611, "expectedDiffBits": 453029198},
        {"height": 137, "timestamp": 44666, "expectedDiffBits": 453029739},
        {"height": 138, "timestamp": 44834, "expectedDiffBits": 453029644},
        {"height": 139, "timestamp": 45193, "expectedDiffBits": 453029687},
        {"height": 140, "timestamp": 45418, "expectedDiffBits": 453029633},
        {"height": 141, "timestamp": 45506, "expectedDiffBits": 453029480},
        {"height": 142, "timestamp": 45760, "expectedDiffBits": 453029447},
        {"height": 143, "timestamp": 45932, "expectedDiffBits": 453029355},
        {"height": 144, "timestamp": 46014, "expectedDiffBits": 453029200},
        {"height": 145, "timestamp": 46119, "expectedDiffBits": 453029062},
        {"height": 146, "timestamp": 46179, "expectedDiffBits": 453028891},
        {"height": 147, "timestamp": 46243, "expectedDiffBits": 453028724},
        {"height": 148, "timestamp": 46307, "expectedDiffBits": 453028558},
        {"height": 149, "timestamp": 46587, "expectedDiffBits": 453028544},
        {"height": 150, "timestamp": 46637, "expectedDiffBits": 453028369},
        {"height": 151, "timestamp": 46756, "expectedDiffBits": 453028242},
        {"height": 152, "timestamp": 46817, "expectedDiffBits": 453028076},
        {"height": 153, "timestamp": 47161, "expectedDiffBits": 453028107},
        {"height": 154, "timestamp": 47305, "expectedDiffBits": 453027998},
        {"height": 155, "timestamp": 47358, "expectedDiffBits": 453027827},
        {"height": 156, "timestamp": 47639, "expectedDiffBits": 453027813},
        {"height": 157, "timestamp": 47937, "expectedDiffBits": 453027812},
        {"height": 158, "timestamp": 48015, "expectedDiffBits": 453027659},
        {"height": 159, "timestamp": 48017, "expectedDiffBits": 453027454},
        {"height": 160, "timestamp": 48241, "expectedDiffBits": 453027402},
        {"height": 161, "timestamp": 48709, "expectedDiffBits": 453027518},
        {"height": 162, "timestamp": 48769, "expectedDiffBits": 453027353},
        {"height": 163, "timestamp": 49032, "expectedDiffBits": 453027327},
        {"height": 164, "timestamp": 49546, "expectedDiffBits": 453027474},
        {"height": 165, "timestamp": 49665, "expectedDiffBits": 453027350},
        {"height": 166, "timestamp": 50095, "expectedDiffBits": 453027439},
        {"height": 167, "timestamp": 50553, "expectedDiffBits": 453027547},
        {"height": 168, "timestamp": 51101, "expectedDiffBits": 453027718},
        {"height": 169, "timestamp": 51449, "expectedDiffBits": 453027752},
        {"height": 170, "timestamp": 51846, "expectedDiffBits": 453027819},
        {"height": 171, "timestamp": 52235, "expectedDiffBits": 453027880},
        {"height": 172, "timestamp": 52813, "expectedDiffBits": 453028074},
        {"height": 173, "timestamp": 53303, "expectedDiffBits": 453028206},
        {"height": 174, "timestamp": 53878, "expectedDiffBits": 453028398},
        {"height": 175, "timestamp": 53997, "expectedDiffBits": 453028272},
        {"height": 176, "timestamp": 54120, "expectedDiffBits": 453028147},
        {"height": 177, "timestamp": 54154, "expectedDiffBits": 453027962},
        {"height": 178, "timestamp": 54227, "expectedDiffBits": 453027806},
        {"height": 179, "timestamp": 54630, "expectedDiffBits": 453027877},
        {"height": 180, "timestamp": 55295, "expectedDiffBits": 453028130},
        {"height": 181, "timestamp": 55625, "expectedDiffBits": 453028151},
        {"height": 182, "timestamp": 55834, "expectedDiffBits": 453028088},
        {"height": 183, "timestamp": 55836, "expectedDiffBits": 453027881},
        {"height": 184, "timestamp": 56646, "expectedDiffBits": 453028235},
        {"height": 185, "timestamp": 56675, "expectedDiffBits": 453028046},
        {"height": 186, "timestamp": 56704, "expectedDiffBits": 453027859},
        {"height": 187, "timestamp": 56916, "expectedDiffBits": 453027798},
        {"height": 188, "timestamp": 57009, "expectedDiffBits": 453027655},
        {"height": 189, "timestamp": 57679, "expectedDiffBits": 453027910},
        {"height": 190, "timestamp": 58049, "expectedDiffBits": 453027959},
        {"height": 191, "timestamp": 59054, "expectedDiffBits": 453028451},
        {"height": 192, "timestamp": 59492, "expectedDiffBits": 453028548},
        {"height": 193, "timestamp": 59503, "expectedDiffBits": 453028345},
        {"height": 194, "timestamp": 59569, "expectedDiffBits": 453028182},
        {"height": 195, "timestamp": 59723, "expectedDiffBits": 453028080},
        {"height": 196, "timestamp": 59804, "expectedDiffBits": 453027928},
        {"height": 197, "timestamp": 59808, "expectedDiffBits": 453027723},
        {"height": 198, "timestamp": 61461, "expectedDiffBits": 453028666},
        {"height": 199, "timestamp": 61709, "expectedDiffBits": 453028630},
        {"height": 200, "timestamp": 61761, "expectedDiffBits": 453028456},
        {"height": 201, "timestamp": 62382, "expectedDiffBits": 453028681},
        {"height": 202, "timestamp": 63043, "expectedDiffBits": 453028937},
        {"height": 203, "timestamp": 63273, "expectedDiffBits": 453028887},
        {"height": 204, "timestamp": 63484, "expectedDiffBits": 453028823},
        {"height": 205, "timestamp": 63933, "expectedDiffBits": 453028929},
        {"height": 206, "timestamp": 64389, "expectedDiffBits": 453029040},
        {"height": 207, "timestamp": 64436, "expectedDiffBits": 453028860},
        {"height": 208, "timestamp": 64441, "expectedDiffBits": 453028653},
        {"height": 209, "timestamp": 64598, "expectedDiffBits": 453028552},
        {"height": 210, "timestamp": 64639, "expectedDiffBits": 453028371},
        {"height": 211, "timestamp": 64690, "expectedDiffBits": 453028196},
        {"height": 212, "timestamp": 64756, "expectedDiffBits": 453028033},
        {"height": 213, "timestamp": 64841, "expectedDiffBits": 453027885},
        {"height": 214, "timestamp": 65591, "expectedDiffBits": 453028197},
        {"height": 215, "timestamp": 65742, "expectedDiffBits": 453028094},
        {"height": 216, "timestamp": 65770, "expectedDiffBits": 453027905},
        {"height": 217, "timestamp": 66147, "expectedDiffBits": 453027958},
        {"height": 218, "timestamp": 67296, "expectedDiffBits": 453028550},
        {"height": 219, "timestamp": 67327, "expectedDiffBits": 453028362},
        {"height": 220, "timestamp": 67330, "expectedDiffBits": 453028154},
        {"height": 221, "timestamp": 67429, "expectedDiffBits": 453028015},
        {"height": 222, "timestamp": 68626, "expectedDiffBits": 453028642},
        {"height": 223, "timestamp": 69288, "expectedDiffBits": 453028897},
        {"height": 224, "timestamp": 69395, "expectedDiffBits": 453028761},
        {"height": 225, "timestamp": 69400, "expectedDiffBits": 453028554},
        {"height": 226, "timestamp": 69401, "expectedDiffBits": 453028343},
        {"height": 227, "timestamp": 70132, "expectedDiffBits": 453028646},
        {"height": 228, "timestamp": 70143, "expectedDiffBits": 453028443},
        {"height": 229, "timestamp": 70251, "expectedDiffBits": 453028308},
        {"height": 230, "timestamp": 70272, "expectedDiffBits": 453028114},
        {"height": 231, "timestamp": 70710, "expectedDiffBits": 453028211},
        {"height": 232, "timestamp": 70903, "expectedDiffBits": 453028136},
        {"height": 233, "timestamp": 70997, "expectedDiffBits": 453027993},
        {"height": 234, "timestamp": 71960, "expectedDiffBits": 453028455},
        {"height": 235, "timestamp": 72005, "expectedDiffBits": 453028277},
        {"height": 236, "timestamp": 73007, "expectedDiffBits": 453028770},
        {"height": 237, "timestamp": 73325, "expectedDiffBits": 453028782},
        {"height": 238, "timestamp": 73334, "expectedDiffBits": 453028577},
        {"height": 239, "timestamp": 73384, "expectedDiffBits": 453028402},
        {"height": 240, "timestamp": 74110, "expectedDiffBits": 453028701},
        {"height": 241, "timestamp": 74297, "expectedDiffBits": 453028622},
        {"height": 242, "timestamp": 74597, "expectedDiffBits": 453028622},
        {"height": 243, "timestamp": 74611, "expectedDiffBits": 453028420},
        {"height": 244, "timestamp": 74887, "expectedDiffBits": 453028404},
        {"height": 245, "timestamp": 74981, "expectedDiffBits": 453028260},
        {"height": 246, "timestamp": 75134, "expectedDiffBits": 453028157},
        {"height": 247, "timestamp": 75435, "expectedDiffBits": 453028158},
        {"height": 248, "timestamp": 75523, "expectedDiffBits": 453028011},
        {"height": 249, "timestamp": 75830, "expectedDiffBits": 453028015},
        {"height": 250, "timestamp": 76209, "expectedDiffBits": 453028070},
        {"height": 251, "timestamp": 76427, "expectedDiffBits": 453028013},
        {"height": 252, "timestamp": 76481, "expectedDiffBits": 453027843},
        {"height": 253, "timestamp": 76495, "expectedDiffBits": 453027645},
        {"height": 254, "timestamp": 76586, "expectedDiffBits": 453027502},
        {"height": 255, "timestamp": 76627, "expectedDiffBits": 453027324},
        {"height": 256, "timestamp": 77155, "expectedDiffBits": 453027480},
        {"height": 257, "timestamp": 77735, "expectedDiffBits": 453027673},
        {"height": 258, "timestamp": 77745, "expectedDiffBits": 453027474},
        {"height": 259, "timestamp": 78146, "expectedDiffBits": 453027543},
        {"height": 260, "timestamp": 78350, "expectedDiffBits": 453027477},
        {"height": 261, "timestamp": 79170, "expectedDiffBits": 453027835},
        {"height": 262, "timestamp": 79645, "expectedDiffBits": 453027956},
        {"height": 263, "timestamp": 79708, "expectedDiffBits": 453027792},
        {"height": 264, "timestamp": 79872, "expectedDiffBits": 453027698},
        {"height": 265, "timestamp": 80202, "expectedDiffBits": 453027719},
        {"height": 266, "timestamp": 80573, "expectedDiffBits": 453027768},
        {"height": 267, "timestamp": 80937, "expectedDiffBits": 453027812},
        {"height": 268, "timestamp": 81063, "expectedDiffBits": 453027692},
        {"height": 269, "timestamp": 81172, "expectedDiffBits": 453027561},
        {"height": 270, "timestamp": 81424, "expectedDiffBits": 453027528},
        {"height": 271, "timestamp": 81770, "expectedDiffBits": 453027560},
        {"height": 272, "timestamp": 82222, "expectedDiffBits": 453027664},
        {"height": 273, "timestamp": 82550, "expectedDiffBits": 453027683},
        {"height": 274, "timestamp": 82661, "expectedDiffBits": 453027553},
        {"height": 275, "timestamp": 82670, "expectedDiffBits": 453027353},
        {"height": 276, "timestamp": 82838, "expectedDiffBits": 453027263},
        {"height": 277, "timestamp": 83214, "expectedDiffBits": 453027315},
        {"height": 278, "timestamp": 83439, "expectedDiffBits": 453027264},
        {"height": 279, "timestamp": 83442, "expectedDiffBits": 453027063},
        {"height": 280, "timestamp": 84318, "expectedDiffBits": 453027455},
        {"height": 281, "timestamp": 84554, "expectedDiffBits": 453027411},
        {"height": 282, "timestamp": 84586, "expectedDiffBits": 453027228},
        {"height": 283, "timestamp": 84697, "expectedDiffBits": 453027100},
        {"height": 284, "timestamp": 84707, "expectedDiffBits": 453026905},
        {"height": 285, "timestamp": 84826, "expectedDiffBits": 453026783},
        {"height": 286, "timestamp": 85253, "expectedDiffBits": 453026868},
        {"height": 287, "timestamp": 86103, "expectedDiffBits": 453027239},
        {"height": 288, "timestamp": 86342, "expectedDiffBits": 453027199}
      ]
    },
    {
      "description": "mainnet: random solve times per Poisson distribution for an increasing hashrate (average 15s)",
      "params": "mainnet",
      "startDiffBits": 453027238,
      "startHeight": 0,
      "startTime": 0,
      "tests": [
        {"height": 1, "timestamp": 2, "expectedDiffBits": 453027036},
        {"height": 2, "timestamp": 4, "expectedDiffBits": 453026835},
        {"height": 3, "timestamp": 16, "expectedDiffBits": 453026642},
        {"height": 4, "timestamp": 35, "expectedDiffBits": 453026454},
        {"height": 5, "timestamp": 49, "expectedDiffBits": 453026264},
        {"height": 6, "timestamp": 53, "expectedDiffBits": 453026068},
        {"height": 7, "timestamp": 70, "expectedDiffBits": 453025882},
        {"height": 8, "timestamp": 74, "expectedDiffBits": 453025687},
        {"height": 9, "timestamp": 92, "expectedDiffBits": 453025503},
        {"height": 10, "timestamp": 98, "expectedDiffBits": 453025312},
        {"height": 11, "timestamp": 104, "expectedDiffBits": 453025122},
        {"height": 12, "timestamp": 129, "expectedDiffBits": 453024944},
        {"height": 13, "timestamp": 139, "expectedDiffBits": 453024758},
        {"height": 14, "timestamp": 140, "expectedDiffBits": 453024567},
        {"height": 15, "timestamp": 142, "expectedDiffBits": 453024378},
        {"height": 16, "timestamp": 145, "expectedDiffBits": 453024190},
        {"height": 17, "timestamp": 148, "expectedDiffBits": 453024003},
        {"height": 18, "timestamp": 175, "expectedDiffBits": 453023832},
        {"height": 19, "timestamp": 182, "expectedDiffBits": 453023649},
        {"height": 20, "timestamp": 205, "expectedDiffBits": 453023477},
        {"height": 21, "timestamp": 231, "expectedDiffBits": 453023308},
        {"height": 22, "timestamp": 251, "expectedDiffBits": 453023135},
        {"height": 23, "timestamp": 252, "expectedDiffBits": 453022951},
        {"height": 24, "timestamp": 265, "expectedDiffBits": 453022776},
        {"height": 25, "timestamp": 282, "expectedDiffBits": 453022605},
        {"height": 26, "timestamp": 289, "expectedDiffBits": 453022427},
        {"height": 27, "timestamp": 331, "expectedDiffBits": 453022272},
        {"height": 28, "timestamp": 339, "expectedDiffBits": 453022097},
        {"height": 29, "timestamp": 347, "expectedDiffBits": 453021923},
        {"height": 30, "timestamp": 368, "expectedDiffBits": 453021757},
        {"height": 31, "timestamp": 404, "expectedDiffBits": 453021600},
        {"height": 32, "timestamp": 420, "expectedDiffBits": 453021433},
        {"height": 33, "timestamp": 453, "expectedDiffBits": 453021276},
        {"height": 34, "timestamp": 459, "expectedDiffBits": 453021105},
        {"height": 35, "timestamp": 469, "expectedDiffBits": 453020936},
        {"height": 36, "timestamp": 482, "expectedDiffBits": 453020770},
        {"height": 37, "timestamp": 495, "expectedDiffBits": 453020605},
        {"height": 38, "timestamp": 515, "expectedDiffBits": 453020445},
        {"height": 39, "timestamp": 534, "expectedDiffBits": 453020284},
        {"height": 40, "timestamp": 545, "expectedDiffBits": 453020120},
        {"height": 41, "timestamp": 547, "expectedDiffBits": 453019952},
        {"height": 42, "timestamp": 557, "expectedDiffBits": 453019788},
        {"height": 43, "timestamp": 568, "expectedDiffBits": 453019626},
        {"height": 44, "timestamp": 573, "expectedDiffBits": 453019462},
        {"height": 45, "timestamp": 578, "expectedDiffBits": 453019298},
        {"height": 46, "timestamp": 611, "expectedDiffBits": 453019150},
        {"height": 47, "timestamp": 620, "expectedDiffBits": 453018991},
        {"height": 48, "timestamp": 637, "expectedDiffBits": 453018836},
        {"height": 49, "timestamp": 650, "expectedDiffBits": 453018679},
        {"height": 50, "timestamp": 705, "expectedDiffBits": 453018546},
        {"height": 51, "timestamp": 743, "expectedDiffBits": 453018405},
        {"height": 52, "timestamp": 763, "expectedDiffBits": 453018254},
        {"height": 53, "timestamp": 793, "expectedDiffBits": 453018110},
        {"height": 54, "timestamp": 793, "expectedDiffBits": 453017950},
        {"height": 55, "timestamp": 863, "expectedDiffBits": 453017828},
        {"height": 56, "timestamp": 911, "expectedDiffBits": 453017694},
        {"height": 57, "timestamp": 927, "expectedDiffBits": 444582138},
        {"height": 58, "timestamp": 938, "expectedDiffBits": 444543376},
        {"height": 59, "timestamp": 940, "expectedDiffBits": 444503621},
        {"height": 60, "timestamp": 950, "expectedDiffBits": 444465024},
        {"height": 61, "timestamp": 979, "expectedDiffBits": 444429162},
        {"height": 62, "timestamp": 997, "expectedDiffBits": 444392056},
        {"height": 63, "timestamp": 1011, "expectedDiffBits": 444354537},
        {"height": 64, "timestamp": 1021, "expectedDiffBits": 444316686},
        {"height": 65, "timestamp": 1034, "expectedDiffBits": 444279415},
        {"height": 66, "timestamp": 1065, "expectedDiffBits": 444244629},
        {"height": 67, "timestamp": 1084, "expectedDiffBits": 444208435},
        {"height": 68, "timestamp": 1090, "expectedDiffBits": 444170750},
        {"height": 69, "timestamp": 1136, "expectedDiffBits": 444138283},
        {"height": 70, "timestamp": 1138, "expectedDiffBits": 444100515},
        {"height": 71, "timestamp": 1146, "expectedDiffBits": 444063575},
        {"height": 72, "timestamp": 1161, "expectedDiffBits": 444027713},
        {"height": 73, "timestamp": 1178, "expectedDiffBits": 443992264},
        {"height": 74, "timestamp": 1196, "expectedDiffBits": 443957146},
        {"height": 75, "timestamp": 1214, "expectedDiffBits": 443922112},
        {"height": 76, "timestamp": 1235, "expectedDiffBits": 443887657},
        {"height": 77, "timestamp": 1239, "expectedDiffBits": 443851297},
        {"height": 78, "timestamp": 1246, "expectedDiffBits": 443815351},
        {"height": 79, "timestamp": 1263, "expectedDiffBits": 443780979},
        {"height": 80, "timestamp": 1293, "expectedDiffBits": 443748181},
        {"height": 81, "timestamp": 1296, "expectedDiffBits": 443712401},
        {"height": 82, "timestamp": 1316, "expectedDiffBits": 443678691},
        {"height": 83, "timestamp": 1329, "expectedDiffBits": 443644319},
        {"height": 84, "timestamp": 1350, "expectedDiffBits": 443611107},
        {"height": 85, "timestamp": 1365, "expectedDiffBits": 443577397},
        {"height": 86, "timestamp": 1367, "expectedDiffBits": 443542280},
        {"height": 87, "timestamp": 1419, "expectedDiffBits": 443513126},
        {"height": 88, "timestamp": 1422, "expectedDiffBits": 443478422},
        {"height": 89, "timestamp": 1442, "expectedDiffBits": 443445790},
        {"height": 90, "timestamp": 1463, "expectedDiffBits": 443413488},
        {"height": 91, "timestamp": 1492, "expectedDiffBits": 443382263},
        {"height": 92, "timestamp": 1508, "expectedDiffBits": 443349631},
        {"height": 93, "timestamp": 1530, "expectedDiffBits": 443317826},
        {"height": 94, "timestamp": 1535, "expectedDiffBits": 443284365},
        {"height": 95, "timestamp": 1598, "expectedDiffBits": 443257447},
        {"height": 96, "timestamp": 1612, "expectedDiffBits": 443225229},
        {"height": 97, "timestamp": 1620, "expectedDiffBits": 443192430},
        {"height": 98, "timestamp": 1627, "expectedDiffBits": 443159715},
        {"height": 99, "timestamp": 1631, "expectedDiffBits": 443126834},
        {"height": 100, "timestamp": 1646, "expectedDiffBits": 443095195},
        {"height": 101, "timestamp": 1651, "expectedDiffBits": 443062810},
        {"height": 102, "timestamp": 1657, "expectedDiffBits": 443030509},
        {"height": 103, "timestamp": 1664, "expectedDiffBits": 442998539},
        {"height": 104, "timestamp": 1670, "expectedDiffBits": 442966652},
        {"height": 105, "timestamp": 1688, "expectedDiffBits": 442936172},
        {"height": 106, "timestamp": 1691, "expectedDiffBits": 442904202},
        {"height": 107, "timestamp": 1698, "expectedDiffBits": 442872895},
        {"height": 108, "timestamp": 1698, "expectedDiffBits": 442840842},
        {"height": 109, "timestamp": 1702, "expectedDiffBits": 442809451},
        {"height": 110, "timestamp": 1726, "expectedDiffBits": 442780380},
        {"height": 111, "timestamp": 1729, "expectedDiffBits": 442749155},
        {"height": 112, "timestamp": 1766, "expectedDiffBits": 442721575},
        {"height": 113, "timestamp": 1781, "expectedDiffBits": 442691924},
        {"height": 114, "timestamp": 1857, "expectedDiffBits": 442668733},
        {"height": 115, "timestamp": 1877, "expectedDiffBits": 442639744},
        {"height": 116, "timestamp": 1919, "expectedDiffBits": 442613241},
        {"height": 117, "timestamp": 1929, "expectedDiffBits": 442583507},
        {"height": 118, "timestamp": 1936, "expectedDiffBits": 442553607},
        {"height": 119, "timestamp": 1952, "expectedDiffBits": 442524867},
        {"height": 120, "timestamp": 1963, "expectedDiffBits": 442495630},
        {"height": 121, "timestamp": 1978, "expectedDiffBits": 442467056},
        {"height": 122, "timestamp": 1998, "expectedDiffBits": 442438978},
        {"height": 123, "timestamp": 2002, "expectedDiffBits": 442409493},
        {"height": 124, "timestamp": 2032, "expectedDiffBits": 442382658},
        {"height": 125, "timestamp": 2033, "expectedDiffBits": 442353173},
        {"height": 126, "timestamp": 2034, "expectedDiffBits": 442323770},
        {"height": 127, "timestamp": 2047, "expectedDiffBits": 442295693},
        {"height": 128, "timestamp": 2054, "expectedDiffBits": 442267201},
        {"height": 129, "timestamp": 2058, "expectedDiffBits": 442238461},
        {"height": 130, "timestamp": 2067, "expectedDiffBits": 442210466},
        {"height": 131, "timestamp": 2090, "expectedDiffBits": 442183880},
        {"height": 132, "timestamp": 2091, "expectedDiffBits": 442155223},
        {"height": 133, "timestamp": 2093, "expectedDiffBits": 442126897},
        {"height": 134, "timestamp": 2096, "expectedDiffBits": 442098737},
        {"height": 135, "timestamp": 2102, "expectedDiffBits": 442070990},
        {"height": 136, "timestamp": 2111, "expectedDiffBits": 442043741},
        {"height": 137, "timestamp": 2120, "expectedDiffBits": 442016492},
        {"height": 138, "timestamp": 2145, "expectedDiffBits": 441990899},
        {"height": 139, "timestamp": 2168, "expectedDiffBits": 441965307},
        {"height": 140, "timestamp": 2190, "expectedDiffBits": 441939631},
        {"height": 141, "timestamp": 2193, "expectedDiffBits": 441912382},
        {"height": 142, "timestamp": 2253, "expectedDiffBits": 441890434},
        {"height": 143, "timestamp": 2260, "expectedDiffBits": 441863681},
        {"height": 144, "timestamp": 2269, "expectedDiffBits": 441837343},
        {"height": 145, "timestamp": 2275, "expectedDiffBits": 441810840},
        {"height": 146, "timestamp": 2287, "expectedDiffBits": 441784916},
        {"height": 147, "timestamp": 2290, "expectedDiffBits": 441758329},
        {"height": 148, "timestamp": 2300, "expectedDiffBits": 441732488},
        {"height": 149, "timestamp": 2314, "expectedDiffBits": 441707144},
        {"height": 150, "timestamp": 2326, "expectedDiffBits": 441681717},
        {"height": 151, "timestamp": 2326, "expectedDiffBits": 441655378},
        {"height": 152, "timestamp": 2356, "expectedDiffBits": 441631815},
        {"height": 153, "timestamp": 2362, "expectedDiffBits": 441606347},
        {"height": 154, "timestamp": 2370, "expectedDiffBits": 441581168},
        {"height": 155, "timestamp": 2382, "expectedDiffBits": 441556445},
        {"height": 156, "timestamp": 2383, "expectedDiffBits": 441530894},
        {"height": 157, "timestamp": 2384, "expectedDiffBits": 441505467},
        {"height": 158, "timestamp": 2388, "expectedDiffBits": 441480412},
        {"height": 159, "timestamp": 2416, "expectedDiffBits": 441457470},
        {"height": 160, "timestamp": 2439, "expectedDiffBits": 441434238},
        {"height": 161, "timestamp": 2461, "expectedDiffBits": 441411006},
        {"height": 162, "timestamp": 2470, "expectedDiffBits": 441386821},
        {"height": 163, "timestamp": 2503, "expectedDiffBits": 441364707},
        {"height": 164, "timestamp": 2518, "expectedDiffBits": 441341143},
        {"height": 165, "timestamp": 2530, "expectedDiffBits": 441317497},
        {"height": 166, "timestamp": 2543, "expectedDiffBits": 441294058},
        {"height": 167, "timestamp": 2558, "expectedDiffBits": 441270867},
        {"height": 168, "timestamp": 2570, "expectedDiffBits": 441247552},
        {"height": 169, "timestamp": 2573, "expectedDiffBits": 441223574},
        {"height": 170, "timestamp": 2580, "expectedDiffBits": 441200094},
        {"height": 171, "timestamp": 2589, "expectedDiffBits": 441176820},
        {"height": 172, "timestamp": 2598, "expectedDiffBits": 441153671},
        {"height": 173, "timestamp": 2604, "expectedDiffBits": 441130397},
        {"height": 174, "timestamp": 2608, "expectedDiffBits": 441107082},
        {"height": 175, "timestamp": 2608, "expectedDiffBits": 441083519},
        {"height": 176, "timestamp": 2619, "expectedDiffBits": 441060949},
        {"height": 177, "timestamp": 2628, "expectedDiffBits": 441038379},
        {"height": 178, "timestamp": 2630, "expectedDiffBits": 441015313},
        {"height": 179, "timestamp": 2639, "expectedDiffBits": 440992868},
        {"height": 180, "timestamp": 2643, "expectedDiffBits": 440970215},
        {"height": 181, "timestamp": 2651, "expectedDiffBits": 440947935},
        {"height": 182, "timestamp": 2660, "expectedDiffBits": 440925863},
        {"height": 183, "timestamp": 2681, "expectedDiffBits": 440904743},
        {"height": 184, "timestamp": 2683, "expectedDiffBits": 440882297},
        {"height": 185, "timestamp": 2694, "expectedDiffBits": 440860680},
        {"height": 186, "timestamp": 2710, "expectedDiffBits": 440839519},
        {"height": 187, "timestamp": 2753, "expectedDiffBits": 440820428},
        {"height": 188, "timestamp": 2776, "expectedDiffBits": 440799970},
        {"height": 189, "timestamp": 2800, "expectedDiffBits": 440779637},
        {"height": 190, "timestamp": 2838, "expectedDiffBits": 440760463},
        {"height": 191, "timestamp": 2839, "expectedDiffBits": 440738639},
        {"height": 192, "timestamp": 2863, "expectedDiffBits": 440718595},
        {"height": 193, "timestamp": 2867, "expectedDiffBits": 440697185},
        {"height": 194, "timestamp": 2877, "expectedDiffBits": 440676313},
        {"height": 195, "timestamp": 2883, "expectedDiffBits": 440655276},
        {"height": 196, "timestamp": 2902, "expectedDiffBits": 440635233},
        {"height": 197, "timestamp": 2902, "expectedDiffBits": 440613988},
        {"height": 198, "timestamp": 2906, "expectedDiffBits": 440593075},
        {"height": 199, "timestamp": 2944, "expectedDiffBits": 440574688},
        {"height": 200, "timestamp": 2961, "expectedDiffBits": 440554852},
        {"height": 201, "timestamp": 2969, "expectedDiffBits": 440534477},
        {"height": 202, "timestamp": 3030, "expectedDiffBits": 440517953},
        {"height": 203, "timestamp": 3040, "expectedDiffBits": 440497910},
        {"height": 204, "timestamp": 3041, "expectedDiffBits": 440477328},
        {"height": 205, "timestamp": 3058, "expectedDiffBits": 440457989},
        {"height": 206, "timestamp": 3106, "expectedDiffBits": 440440844},
        {"height": 207, "timestamp": 3114, "expectedDiffBits": 440421008},
        {"height": 208, "timestamp": 3115, "expectedDiffBits": 440400799},
        {"height": 209, "timestamp": 3128, "expectedDiffBits": 440381542},
        {"height": 210, "timestamp": 3173, "expectedDiffBits": 440364480},
        {"height": 211, "timestamp": 3200, "expectedDiffBits": 440346300},
        {"height": 212, "timestamp": 3218, "expectedDiffBits": 440327582},
        {"height": 213, "timestamp": 3249, "expectedDiffBits": 440309858},
        {"height": 214, "timestamp": 3312, "expectedDiffBits": 440294245},
        {"height": 215, "timestamp": 3318, "expectedDiffBits": 440274989},
        {"height": 216, "timestamp": 3320, "expectedDiffBits": 440255566},
        {"height": 217, "timestamp": 3321, "expectedDiffBits": 440236186},
        {"height": 218, "timestamp": 3325, "expectedDiffBits": 440217053},
        {"height": 219, "timestamp": 3341, "expectedDiffBits": 440198873},
        {"height": 220, "timestamp": 3344, "expectedDiffBits": 440179865},
        {"height": 221, "timestamp": 3357, "expectedDiffBits": 440161602},
        {"height": 222, "timestamp": 3375, "expectedDiffBits": 440143754},
        {"height": 223, "timestamp": 3388, "expectedDiffBits": 440125615},
        {"height": 224, "timestamp": 3390, "expectedDiffBits": 440106938},
        {"height": 225, "timestamp": 3424, "expectedDiffBits": 440090332},
        {"height": 226, "timestamp": 3428, "expectedDiffBits": 440071945},
        {"height": 227, "timestamp": 3433, "expectedDiffBits": 440053682},
        {"height": 228, "timestamp": 3435, "expectedDiffBits": 440035337},
        {"height": 229, "timestamp": 3437, "expectedDiffBits": 440017074},
        {"height": 230, "timestamp": 3447, "expectedDiffBits": 439999350},
        {"height": 231, "timestamp": 3448, "expectedDiffBits": 439981253},
        {"height": 232, "timestamp": 3450, "expectedDiffBits": 439963197},
        {"height": 233, "timestamp": 3459, "expectedDiffBits": 439945721},
        {"height": 234, "timestamp": 3475, "expectedDiffBits": 439928742},
        {"height": 235, "timestamp": 3489, "expectedDiffBits": 439911680},
        {"height": 236, "timestamp": 3496, "expectedDiffBits": 439894329},
        {"height": 237, "timestamp": 3512, "expectedDiffBits": 439877557},
        {"height": 238, "timestamp": 3548, "expectedDiffBits": 439862069},
        {"height": 239, "timestamp": 3554, "expectedDiffBits": 439844841},
        {"height": 240, "timestamp": 3576, "expectedDiffBits": 439828690},
        {"height": 241, "timestamp": 3596, "expectedDiffBits": 439812457},
        {"height": 242, "timestamp": 3599, "expectedDiffBits": 439795312},
        {"height": 243, "timestamp": 3600, "expectedDiffBits": 439778168},
        {"height": 244, "timestamp": 3624, "expectedDiffBits": 439762390},
        {"height": 245, "timestamp": 3625, "expectedDiffBits": 439745411},
        {"height": 246, "timestamp": 3627, "expectedDiffBits": 439728514},
        {"height": 247, "timestamp": 3659, "expectedDiffBits": 439713440},
        {"height": 248, "timestamp": 3663, "expectedDiffBits": 439696834},
        {"height": 249, "timestamp": 3673, "expectedDiffBits": 439680642},
        {"height": 250, "timestamp": 3683, "expectedDiffBits": 439664533},
        {"height": 251, "timestamp": 3691, "expectedDiffBits": 439648423},
        {"height": 252, "timestamp": 3728, "expectedDiffBits": 439633929},
        {"height": 253, "timestamp": 3737, "expectedDiffBits": 439617986},
        {"height": 254, "timestamp": 3757, "expectedDiffBits": 439602704},
        {"height": 255, "timestamp": 3795, "expectedDiffBits": 439588459},
        {"height": 256, "timestamp": 3801, "expectedDiffBits": 439572598},
        {"height": 257, "timestamp": 3806, "expectedDiffBits": 439556737},
        {"height": 258, "timestamp": 3816, "expectedDiffBits": 439541207},
        {"height": 259, "timestamp": 3825, "expectedDiffBits": 439525678},
        {"height": 260, "timestamp": 3874, "expectedDiffBits": 439512385},
        {"height": 261, "timestamp": 3903, "expectedDiffBits": 439498015},
        {"height": 262, "timestamp": 3950, "expectedDiffBits": 439484721},
        {"height": 263, "timestamp": 3973, "expectedDiffBits": 439470186},
        {"height": 264, "timestamp": 3987, "expectedDiffBits": 439455319},
        {"height": 265, "timestamp": 4005, "expectedDiffBits": 439440659},
        {"height": 266, "timestamp": 4023, "expectedDiffBits": 439426082},
        {"height": 267, "timestamp": 4024, "expectedDiffBits": 439410677},
        {"height": 268, "timestamp": 4041, "expectedDiffBits": 439396182},
        {"height": 269, "timestamp": 4043, "expectedDiffBits": 439380984},
        {"height": 270, "timestamp": 4062, "expectedDiffBits": 439366738},
        {"height": 271, "timestamp": 4118, "expectedDiffBits": 439354439},
        {"height": 272, "timestamp": 4121, "expectedDiffBits": 439339448},
        {"height": 273, "timestamp": 4139, "expectedDiffBits": 439325326},
        {"height": 274, "timestamp": 4142, "expectedDiffBits": 439310542},
        {"height": 275, "timestamp": 4148, "expectedDiffBits": 439295965},
        {"height": 276, "timestamp": 4151, "expectedDiffBits": 439281264},
        {"height": 277, "timestamp": 4153, "expectedDiffBits": 439266645},
        {"height": 278, "timestamp": 4156, "expectedDiffBits": 439252110},
        {"height": 279, "timestamp": 4169, "expectedDiffBits": 439238112},
        {"height": 280, "timestamp": 4200, "expectedDiffBits": 439225109},
        {"height": 281, "timestamp": 4224, "expectedDiffBits": 439211774},
        {"height": 282, "timestamp": 4273, "expectedDiffBits": 439199682},
        {"height": 283, "timestamp": 4291, "expectedDiffBits": 439186223},
        {"height": 284, "timestamp": 4309, "expectedDiffBits": 439172764},
        {"height": 285, "timestamp": 4311, "expectedDiffBits": 439158601},
        {"height": 286, "timestamp": 4313, "expectedDiffBits": 439144562},
        {"height": 287, "timestamp": 4316, "expectedDiffBits": 439130565},
        {"height": 288, "timestamp": 4320, "expectedDiffBits": 439116733}
      ]
    },
    {
      "description": "mainnet: random solve times per Poisson distribution for a decreasing hashrate (average 1000s)",
      "params": "mainnet",
      "startDiffBits": 439140090,
      "startHeight": 0,
      "startTime": 0,
      "tests": [
        {"height": 1, "timestamp": 517, "expectedDiffBits": 439150336},
        {"height": 2, "timestamp": 596, "expectedDiffBits": 439139911},
        {"height": 3, "timestamp": 1370, "expectedDiffBits": 439162373},
        {"height": 4, "timestamp": 2448, "expectedDiffBits": 439199557},
        {"height": 5, "timestamp": 5275, "expectedDiffBits": 439323503},
        {"height": 6, "timestamp": 5347, "expectedDiffBits": 439312138},
        {"height": 7, "timestamp": 6236, "expectedDiffBits": 439341625},
        {"height": 8, "timestamp": 6989, "expectedDiffBits": 439364491},
        {"height": 9, "timestamp": 7129, "expectedDiffBits": 439356392},
        {"height": 10, "timestamp": 8069, "expectedDiffBits": 439388877},
        {"height": 11, "timestamp": 11290, "expectedDiffBits": 439541461},
        {"height": 12, "timestamp": 11496, "expectedDiffBits": 439536405},
        {"height": 13, "timestamp": 12044, "expectedDiffBits": 439549694},
        {"height": 14, "timestamp": 12637, "expectedDiffBits": 439565445},
        {"height": 15, "timestamp": 12880, "expectedDiffBits": 439562358},
        {"height": 16, "timestamp": 12957, "expectedDiffBits": 439550366},
        {"height": 17, "timestamp": 13423, "expectedDiffBits": 439559270},
        {"height": 18, "timestamp": 13718, "expectedDiffBits": 439559002},
        {"height": 19, "timestamp": 14419, "expectedDiffBits": 439580659},
        {"height": 20, "timestamp": 16167, "expectedDiffBits": 439659814},
        {"height": 21, "timestamp": 18685, "expectedDiffBits": 439784745},
        {"height": 22, "timestamp": 20889, "expectedDiffBits": 439895536},
        {"height": 23, "timestamp": 21309, "expectedDiffBits": 439902651},
        {"height": 24, "timestamp": 21387, "expectedDiffBits": 439889540},
        {"height": 25, "timestamp": 23194, "expectedDiffBits": 439979569},
        {"height": 26, "timestamp": 24153, "expectedDiffBits": 440019662},
        {"height": 27, "timestamp": 24730, "expectedDiffBits": 440036620},
        {"height": 28, "timestamp": 26140, "expectedDiffBits": 440105395},
        {"height": 29, "timestamp": 26262, "expectedDiffBits": 440094298},
        {"height": 30, "timestamp": 28189, "expectedDiffBits": 440197035},
        {"height": 31, "timestamp": 28371, "expectedDiffBits": 440189473},
        {"height": 32, "timestamp": 28596, "expectedDiffBits": 440184685},
        {"height": 33, "timestamp": 30364, "expectedDiffBits": 440279457},
        {"height": 34, "timestamp": 31261, "expectedDiffBits": 440318699},
        {"height": 35, "timestamp": 31302, "expectedDiffBits": 440301651},
        {"height": 36, "timestamp": 31571, "expectedDiffBits": 440299593},
        {"height": 37, "timestamp": 32967, "expectedDiffBits": 440372215},
        {"height": 38, "timestamp": 33512, "expectedDiffBits": 440388592},
        {"height": 39, "timestamp": 33550, "expectedDiffBits": 440371097},
        {"height": 40, "timestamp": 35519, "expectedDiffBits": 440484125},
        {"height": 41, "timestamp": 35561, "expectedDiffBits": 440466450},
        {"height": 42, "timestamp": 36564, "expectedDiffBits": 440514776},
        {"height": 43, "timestamp": 36984, "expectedDiffBits": 440523099},
        {"height": 44, "timestamp": 39551, "expectedDiffBits": 440683111},
        {"height": 45, "timestamp": 39938, "expectedDiffBits": 440689330},
        {"height": 46, "timestamp": 40362, "expectedDiffBits": 440698280},
        {"height": 47, "timestamp": 41489, "expectedDiffBits": 440758329},
        {"height": 48, "timestamp": 41877, "expectedDiffBits": 440764772},
        {"height": 49, "timestamp": 42965, "expectedDiffBits": 440822808},
        {"height": 50, "timestamp": 44382, "expectedDiffBits": 440906348},
        {"height": 51, "timestamp": 44641, "expectedDiffBits": 440903261},
        {"height": 52, "timestamp": 44894, "expectedDiffBits": 440899726},
        {"height": 53, "timestamp": 46865, "expectedDiffBits": 441027386},
        {"height": 54, "timestamp": 47511, "expectedDiffBits": 441054189},
        {"height": 55, "timestamp": 50921, "expectedDiffBits": 441302395},
        {"height": 56, "timestamp": 53298, "expectedDiffBits": 441475160},
        {"height": 57, "timestamp": 53337, "expectedDiffBits": 441453100},
        {"height": 58, "timestamp": 53441, "expectedDiffBits": 441436678},
        {"height": 59, "timestamp": 54893, "expectedDiffBits": 441534269},
        {"height": 60, "timestamp": 55124, "expectedDiffBits": 441528363},
        {"height": 61, "timestamp": 55146, "expectedDiffBits": 441504647},
        {"height": 62, "timestamp": 56390, "expectedDiffBits": 441585503},
        {"height": 63, "timestamp": 57085, "expectedDiffBits": 441619689},
        {"height": 64, "timestamp": 57657, "expectedDiffBits": 441643360},
        {"height": 65, "timestamp": 58950, "expectedDiffBits": 441730615},
        {"height": 66, "timestamp": 58986, "expectedDiffBits": 441707257},
        {"height": 67, "timestamp": 59676, "expectedDiffBits": 441741801},
        {"height": 68, "timestamp": 61201, "expectedDiffBits": 441851474},
        {"height": 69, "timestamp": 61311, "expectedDiffBits": 441834336},
        {"height": 70, "timestamp": 61597, "expectedDiffBits": 441833083},
        {"height": 71, "timestamp": 63844, "expectedDiffBits": 442011261},
        {"height": 72, "timestamp": 65999, "expectedDiffBits": 442186755},
        {"height": 73, "timestamp": 66939, "expectedDiffBits": 442248594},
        {"height": 74, "timestamp": 67333, "expectedDiffBits": 442257722},
        {"height": 75, "timestamp": 67785, "expectedDiffBits": 442272578},
        {"height": 76, "timestamp": 68119, "expectedDiffBits": 442275889},
        {"height": 77, "timestamp": 69085, "expectedDiffBits": 442341129},
        {"height": 78, "timestamp": 74617, "expectedDiffBits": 442878171},
        {"height": 79, "timestamp": 74727, "expectedDiffBits": 442857856},
        {"height": 80, "timestamp": 76344, "expectedDiffBits": 442999701},
        {"height": 81, "timestamp": 76958, "expectedDiffBits": 443034066},
        {"height": 82, "timestamp": 77154, "expectedDiffBits": 443022611},
        {"height": 83, "timestamp": 78075, "expectedDiffBits": 443090804},
        {"height": 84, "timestamp": 79245, "expectedDiffBits": 443187455},
        {"height": 85, "timestamp": 79360, "expectedDiffBits": 443166782},
        {"height": 86, "timestamp": 80019, "expectedDiffBits": 443206964},
        {"height": 87, "timestamp": 82283, "expectedDiffBits": 443430694},
        {"height": 88, "timestamp": 83275, "expectedDiffBits": 443511326},
        {"height": 89, "timestamp": 83627, "expectedDiffBits": 443517412},
        {"height": 90, "timestamp": 84278, "expectedDiffBits": 443558578},
        {"height": 91, "timestamp": 84493, "expectedDiffBits": 443548555},
        {"height": 92, "timestamp": 86918, "expectedDiffBits": 443802981},
        {"height": 93, "timestamp": 87106, "expectedDiffBits": 443789378},
        {"height": 94, "timestamp": 89115, "expectedDiffBits": 444000042},
        {"height": 95, "timestamp": 89819, "expectedDiffBits": 444050695},
        {"height": 96, "timestamp": 90153, "expectedDiffBits": 444054901},
        {"height": 97, "timestamp": 91427, "expectedDiffBits": 444178579},
        {"height": 98, "timestamp": 91488, "expectedDiffBits": 444147973},
        {"height": 99, "timestamp": 94827, "expectedDiffBits": 444544870},
        {"height": 100, "timestamp": 95126, "expectedDiffBits": 444544691},
        {"height": 101, "timestamp": 96766, "expectedDiffBits": 453018106},
        {"height": 102, "timestamp": 97271, "expectedDiffBits": 453018216},
        {"height": 103, "timestamp": 98492, "expectedDiffBits": 453018713},
        {"height": 104, "timestamp": 98648, "expectedDiffBits": 453018635},
        {"height": 105, "timestamp": 99193, "expectedDiffBits": 453018768},
        {"height": 106, "timestamp": 99323, "expectedDiffBits": 453018676},
        {"height": 107, "timestamp": 99477, "expectedDiffBits": 453018597},
        {"height": 108, "timestamp": 99774, "expectedDiffBits": 453018595},
        {"height": 109, "timestamp": 100204, "expectedDiffBits": 453018666},
        {"height": 110, "timestamp": 102033, "expectedDiffBits": 453019507},
        {"height": 111, "timestamp": 102707, "expectedDiffBits": 453019715},
        {"height": 112, "timestamp": 102752, "expectedDiffBits": 453019573},
        {"height": 113, "timestamp": 104057, "expectedDiffBits": 453020138},
        {"height": 114, "timestamp": 104798, "expectedDiffBits": 453020389},
        {"height": 115, "timestamp": 105804, "expectedDiffBits": 453020794},
        {"height": 116, "timestamp": 107455, "expectedDiffBits": 453021584},
        {"height": 117, "timestamp": 108032, "expectedDiffBits": 453021747},
        {"height": 118, "timestamp": 109288, "expectedDiffBits": 453022319},
        {"height": 119, "timestamp": 109896, "expectedDiffBits": 453022505},
        {"height": 120, "timestamp": 110040, "expectedDiffBits": 453022410},
        {"height": 121, "timestamp": 111184, "expectedDiffBits": 453022923},
        {"height": 122, "timestamp": 111637, "expectedDiffBits": 453023017},
        {"height": 123, "timestamp": 112061, "expectedDiffBits": 453023093},
        {"height": 124, "timestamp": 112448, "expectedDiffBits": 453023147},
        {"height": 125, "timestamp": 113676, "expectedDiffBits": 453023722},
        {"height": 126, "timestamp": 113806, "expectedDiffBits": 453023615},
        {"height": 127, "timestamp": 115138, "expectedDiffBits": 453024264},
        {"height": 128, "timestamp": 116344, "expectedDiffBits": 453024841},
        {"height": 129, "timestamp": 117336, "expectedDiffBits": 453025289},
        {"height": 130, "timestamp": 117553, "expectedDiffBits": 453025235},
        {"height": 131, "timestamp": 118521, "expectedDiffBits": 453025671},
        {"height": 132, "timestamp": 120455, "expectedDiffBits": 453026756},
        {"height": 133, "timestamp": 121104, "expectedDiffBits": 453026991},
        {"height": 134, "timestamp": 123433, "expectedDiffBits": 453028385},
        {"height": 135, "timestamp": 123714, "expectedDiffBits": 453028371},
        {"height": 136, "timestamp": 125398, "expectedDiffBits": 453029348},
        {"height": 137, "timestamp": 125687, "expectedDiffBits": 453029340},
        {"height": 138, "timestamp": 129978, "expectedDiffBits": 453032285},
        {"height": 139, "timestamp": 130367, "expectedDiffBits": 453032352},
        {"height": 140, "timestamp": 130940, "expectedDiffBits": 453032562},
        {"height": 141, "timestamp": 132167, "expectedDiffBits": 453033277},
        {"height": 142, "timestamp": 133214, "expectedDiffBits": 453033861},
        {"height": 143, "timestamp": 133536, "expectedDiffBits": 453033879},
        {"height": 144, "timestamp": 135418, "expectedDiffBits": 453035140},
        {"height": 145, "timestamp": 137304, "expectedDiffBits": 453036436},
        {"height": 146, "timestamp": 137813, "expectedDiffBits": 453036609},
        {"height": 147, "timestamp": 138689, "expectedDiffBits": 453037089},
        {"height": 148, "timestamp": 139497, "expectedDiffBits": 453037516},
        {"height": 149, "timestamp": 139694, "expectedDiffBits": 453037429},
        {"height": 150, "timestamp": 146187, "expectedDiffBits": 453042917},
        {"height": 151, "timestamp": 146263, "expectedDiffBits": 453042709},
        {"height": 152, "timestamp": 147348, "expectedDiffBits": 453043442},
        {"height": 153, "timestamp": 148362, "expectedDiffBits": 453044117},
        {"height": 154, "timestamp": 149410, "expectedDiffBits": 453044832},
        {"height": 155, "timestamp": 150081, "expectedDiffBits": 453045191},
        {"height": 156, "timestamp": 151073, "expectedDiffBits": 453045864},
        {"height": 157, "timestamp": 152489, "expectedDiffBits": 453046967},
        {"height": 158, "timestamp": 154392, "expectedDiffBits": 453048585},
        {"height": 159, "timestamp": 156476, "expectedDiffBits": 453050438},
        {"height": 160, "timestamp": 157225, "expectedDiffBits": 453050912},
        {"height": 161, "timestamp": 157854, "expectedDiffBits": 453051262},
        {"height": 162, "timestamp": 159696, "expectedDiffBits": 453052927},
        {"height": 163, "timestamp": 161964, "expectedDiffBits": 453055113},
        {"height": 164, "timestamp": 163436, "expectedDiffBits": 453056449},
        {"height": 165, "timestamp": 163788, "expectedDiffBits": 453056509},
        {"height": 166, "timestamp": 164514, "expectedDiffBits": 453057001},
        {"height": 167, "timestamp": 164680, "expectedDiffBits": 453056846},
        {"height": 168, "timestamp": 165545, "expectedDiffBits": 453057503},
        {"height": 169, "timestamp": 165590, "expectedDiffBits": 453057205},
        {"height": 170, "timestamp": 166231, "expectedDiffBits": 453057602},
        {"height": 171, "timestamp": 166389, "expectedDiffBits": 453057437},
        {"height": 172, "timestamp": 168387, "expectedDiffBits": 453059444},
        {"height": 173, "timestamp": 169021, "expectedDiffBits": 453059845},
        {"height": 174, "timestamp": 172337, "expectedDiffBits": 453063568},
        {"height": 175, "timestamp": 173055, "expectedDiffBits": 453064099},
        {"height": 176, "timestamp": 173364, "expectedDiffBits": 453064110},
        {"height": 177, "timestamp": 173480, "expectedDiffBits": 453063876},
        {"height": 178, "timestamp": 173823, "expectedDiffBits": 453063931},
        {"height": 179, "timestamp": 175240, "expectedDiffBits": 453065362},
        {"height": 180, "timestamp": 175736, "expectedDiffBits": 453065616},
        {"height": 181, "timestamp": 176854, "expectedDiffBits": 453066683},
        {"height": 182, "timestamp": 177008, "expectedDiffBits": 453066492},
        {"height": 183, "timestamp": 179460, "expectedDiffBits": 453069362},
        {"height": 184, "timestamp": 179853, "expectedDiffBits": 453069487},
        {"height": 185, "timestamp": 180196, "expectedDiffBits": 453069546},
        {"height": 186, "timestamp": 180198, "expectedDiffBits": 453069142},
        {"height": 187, "timestamp": 181331, "expectedDiffBits": 453070276},
        {"height": 188, "timestamp": 184144, "expectedDiffBits": 453073788},
        {"height": 189, "timestamp": 184158, "expectedDiffBits": 453073381},
        {"height": 190, "timestamp": 184205, "expectedDiffBits": 453073022},
        {"height": 191, "timestamp": 185213, "expectedDiffBits": 453074028},
        {"height": 192, "timestamp": 185602, "expectedDiffBits": 453074156},
        {"height": 193, "timestamp": 186006, "expectedDiffBits": 453074305},
        {"height": 194, "timestamp": 187124, "expectedDiffBits": 453075485},
        {"height": 195, "timestamp": 187646, "expectedDiffBits": 453075808},
        {"height": 196, "timestamp": 188544, "expectedDiffBits": 453076684},
        {"height": 197, "timestamp": 190249, "expectedDiffBits": 453078783},
        {"height": 198, "timestamp": 191164, "expectedDiffBits": 453079715},
        {"height": 199, "timestamp": 191565, "expectedDiffBits": 453079871},
        {"height": 200, "timestamp": 192001, "expectedDiffBits": 453080079},
        {"height": 201, "timestamp": 193594, "expectedDiffBits": 453082076},
        {"height": 202, "timestamp": 194260, "expectedDiffBits": 453082650},
        {"height": 203, "timestamp": 194331, "expectedDiffBits": 453082291},
        {"height": 204, "timestamp": 194434, "expectedDiffBits": 453081983},
        {"height": 205, "timestamp": 194619, "expectedDiffBits": 453081804},
        {"height": 206, "timestamp": 195881, "expectedDiffBits": 453083313},
        {"height": 207, "timestamp": 196444, "expectedDiffBits": 453083729},
        {"height": 208, "timestamp": 196590, "expectedDiffBits": 453083485},
        {"height": 209, "timestamp": 196856, "expectedDiffBits": 453083432},
        {"height": 210, "timestamp": 199025, "expectedDiffBits": 453086431},
        {"height": 211, "timestamp": 201561, "expectedDiffBits": 453090141},
        {"height": 212, "timestamp": 202064, "expectedDiffBits": 453090484},
        {"height": 213, "timestamp": 202129, "expectedDiffBits": 453090087},
        {"height": 214, "timestamp": 202995, "expectedDiffBits": 453091046},
        {"height": 215, "timestamp": 203835, "expectedDiffBits": 453091969},
        {"height": 216, "timestamp": 204338, "expectedDiffBits": 453092318},
        {"height": 217, "timestamp": 204877, "expectedDiffBits": 453092729},
        {"height": 218, "timestamp": 204903, "expectedDiffBits": 453092258},
        {"height": 219, "timestamp": 205632, "expectedDiffBits": 453092999},
        {"height": 220, "timestamp": 205874, "expectedDiffBits": 453092899},
        {"height": 221, "timestamp": 206204, "expectedDiffBits": 453092950},
        {"height": 222, "timestamp": 206334, "expectedDiffBits": 453092655},
        {"height": 223, "timestamp": 207461, "expectedDiffBits": 453094094},
        {"height": 224, "timestamp": 207798, "expectedDiffBits": 453094159},
        {"height": 225, "timestamp": 209861, "expectedDiffBits": 453097291},
        {"height": 226, "timestamp": 210310, "expectedDiffBits": 453097561},
        {"height": 227, "timestamp": 212352, "expectedDiffBits": 453100753},
        {"height": 228, "timestamp": 213061, "expectedDiffBits": 453101515},
        {"height": 229, "timestamp": 213866, "expectedDiffBits": 453102465},
        {"height": 230, "timestamp": 214010, "expectedDiffBits": 453102170},
        {"height": 231, "timestamp": 214755, "expectedDiffBits": 453103010},
        {"height": 232, "timestamp": 216599, "expectedDiffBits": 453105972},
        {"height": 233, "timestamp": 217956, "expectedDiffBits": 453108044},
        {"height": 234, "timestamp": 218265, "expectedDiffBits": 453108062},
        {"height": 235, "timestamp": 218666, "expectedDiffBits": 453108262},
        {"height": 236, "timestamp": 219092, "expectedDiffBits": 453108511},
        {"height": 237, "timestamp": 220061, "expectedDiffBits": 453109846},
        {"height": 238, "timestamp": 220709, "expectedDiffBits": 453110545},
        {"height": 239, "timestamp": 224046, "expectedDiffBits": 453116824},
        {"height": 240, "timestamp": 224645, "expectedDiffBits": 453117460},
        {"height": 241, "timestamp": 224776, "expectedDiffBits": 453117099},
        {"height": 242, "timestamp": 225931, "expectedDiffBits": 453118927},
        {"height": 243, "timestamp": 227347, "expectedDiffBits": 453121352},
        {"height": 244, "timestamp": 228730, "expectedDiffBits": 453123747},
        {"height": 245, "timestamp": 228786, "expectedDiffBits": 453123204},
        {"height": 246, "timestamp": 232885, "expectedDiffBits": 453131910},
        {"height": 247, "timestamp": 234487, "expectedDiffBits": 453135020},
        {"height": 248, "timestamp": 238752, "expectedDiffBits": 453144894},
        {"height": 249, "timestamp": 240068, "expectedDiffBits": 453147525},
        {"height": 250, "timestamp": 240451, "expectedDiffBits": 453147742},
        {"height": 251, "timestamp": 241294, "expectedDiffBits": 453149168},
        {"height": 252, "timestamp": 241463, "expectedDiffBits": 453148823},
        {"height": 253, "timestamp": 241739, "expectedDiffBits": 453148758},
        {"height": 254, "timestamp": 242421, "expectedDiffBits": 453149768},
        {"height": 255, "timestamp": 243530, "expectedDiffBits": 453151923},
        {"height": 256, "timestamp": 245349, "expectedDiffBits": 453156045},
        {"height": 257, "timestamp": 245960, "expectedDiffBits": 453156899},
        {"height": 258, "timestamp": 248398, "expectedDiffBits": 453162898},
        {"height": 259, "timestamp": 251608, "expectedDiffBits": 453171406},
        {"height": 260, "timestamp": 251751, "expectedDiffBits": 453170936},
        {"height": 261, "timestamp": 252369, "expectedDiffBits": 453171892},
        {"height": 262, "timestamp": 252464, "expectedDiffBits": 453171277},
        {"height": 263, "timestamp": 254646, "expectedDiffBits": 453177002},
        {"height": 264, "timestamp": 255954, "expectedDiffBits": 453180137},
        {"height": 265, "timestamp": 256032, "expectedDiffBits": 453179440},
        {"height": 266, "timestamp": 257031, "expectedDiffBits": 453181636},
        {"height": 267, "timestamp": 260900, "expectedDiffBits": 453193230},
        {"height": 268, "timestamp": 262070, "expectedDiffBits": 453196156},
        {"height": 269, "timestamp": 264763, "expectedDiffBits": 453204417},
        {"height": 270, "timestamp": 266001, "expectedDiffBits": 453207742},
        {"height": 271, "timestamp": 267700, "expectedDiffBits": 453212796},
        {"height": 272, "timestamp": 268109, "expectedDiffBits": 453213198},
        {"height": 273, "timestamp": 268967, "expectedDiffBits": 453215248},
        {"height": 274, "timestamp": 269474, "expectedDiffBits": 453216012},
        {"height": 275, "timestamp": 272998, "expectedDiffBits": 453228278},
        {"height": 276, "timestamp": 276133, "expectedDiffBits": 453239607},
        {"height": 277, "timestamp": 278129, "expectedDiffBits": 453246635},
        {"height": 278, "timestamp": 279647, "expectedDiffBits": 453251803},
        {"height": 279, "timestamp": 280800, "expectedDiffBits": 453255486},
        {"height": 280, "timestamp": 282215, "expectedDiffBits": 453260375},
        {"height": 281, "timestamp": 282483, "expectedDiffBits": 453260232},
        {"height": 282, "timestamp": 282605, "expectedDiffBits": 453259446},
        {"height": 283, "timestamp": 282735, "expectedDiffBits": 453258699},
        {"height": 284, "timestamp": 283383, "expectedDiffBits": 453260232},
        {"height": 285, "timestamp": 283833, "expectedDiffBits": 453260898},
        {"height": 286, "timestamp": 286035, "expectedDiffBits": 453269461},
        {"height": 287, "timestamp": 287862, "expectedDiffBits": 453276528},
        {"height": 288, "timestamp": 288002, "expectedDiffBits": 453275778}
      ]
    },
    {
      "description": "mainnet: 300s blocks across signed 32-bit int height",
      "params": "mainnet",
      "startDiffBits": 453027238,
      "startHeight": 2147483645,
      "startTime": 7157978,
      "tests": [
        {"height": 2147483646, "timestamp": 7158278, "expectedDiffBits": 453027238},
        {"height": 2147483647, "timestamp": 7158578, "expectedDiffBits": 453027238},
        {"height": 2147483648, "timestamp": 7158878, "expectedDiffBits": 453027238}
      ]
    },
    {
      "description": "mainnet: 300s blocks across max 64-bit signed int height and 32-bit max signed int time",
      "params": "mainnet",
      "startDiffBits": 453027238,
      "startHeight": 9223372036854775804,
      "startTime": 2147482747,
      "tests": [
        {"height": 9223372036854775805, "timestamp": 2147483047, "expectedDiffBits": 453027238},
        {"height": 9223372036854775806, "timestamp": 2147483347, "expectedDiffBits": 453027238},
        {"height": 9223372036854775807, "timestamp": 2147483647, "expectedDiffBits": 453027238},
        {"height": 9223372036854775808, "timestamp": 2147483947, "expectedDiffBits": 453027238},
        {"height": 9223372036854775809, "timestamp": 2147484247, "expectedDiffBits": 453027238}
      ]
    },
    {
      "description": "mainnet: blocks across potential internal calculation overflow boundaries",
      "params": "mainnet",
      "startDiffBits": 486604799,
      "startHeight": 0,
      "startTime": 0,
      "tests": [
        {"height": 1, "timestamp": 691200, "expectedDiffBits": 486604799, "notes": "needs 64 bits in inner frac add"},
        {"height": 2, "timestamp": 734400, "expectedDiffBits": 486604799, "notes": "needs 257 bits if *2^n / 2^16"},
        {"height": 3, "timestamp": 1382400, "expectedDiffBits": 486604799},
        {"height": 4, "timestamp": 1425600, "expectedDiffBits": 486604799, "notes": "needs 273 bits if *2^n / 2^16"},
        {"height": 5, "timestamp": 11750400, "expectedDiffBits": 486604799},
        {"height": 6, "timestamp": 11793600, "expectedDiffBits": 486604799, "notes": "needs 513 bits if *2^n / 2^16"}
      ]
    },
    {
      "description": "mainnet: blocks that exercise max fractional part in internal calculation",
      "params": "mainnet",
      "startDiffBits": 453027238,
      "startHeight": 0,
      "startTime": 0,
      "tests": [
        {"height": 1, "timestamp": 299, "expectedDiffBits": 453027237},
        {"height": 2, "timestamp": 599, "expectedDiffBits": 453027237},
        {"height": 3, "timestamp": 899, "expectedDiffBits": 453027237},
        {"height": 4, "timestamp": 1199, "expectedDiffBits": 453027237}
      ]
    },
    {
      "description": "mainnet: blocks with 1s decreasing timestamps",
      "params": "mainnet",
      "startDiffBits": 453027238,
      "startHeight": 0,
      "startTime": 300,
      "tests": [
        {"height": 1, "timestamp": 299, "expectedDiffBits": 453027034},
        {"height": 2, "timestamp": 298, "expectedDiffBits": 453026831},
        {"height": 3, "timestamp": 297, "expectedDiffBits": 453026629},
        {"height": 4, "timestamp": 296, "expectedDiffBits": 453026428},
        {"height": 5, "timestamp": 295, "expectedDiffBits": 453026228},
        {"height": 6, "timestamp": 294, "expectedDiffBits": 453026029}
      ]
    },
    {
      "description": "testnet: steady 120s blocks at proof of work limit",
      "params": "testnet",
      "startDiffBits": 503382015,
      "startHeight": 0,
      "startTime": 0,
      "tests": [
        {"height": 1, "timestamp": 120, "expectedDiffBits": 503382015},
        {"height": 2, "timestamp": 240, "expectedDiffBits": 503382015},
        {"height": 3, "timestamp": 360, "expectedDiffBits": 503382015},
        {"height": 4, "timestamp": 480, "expectedDiffBits": 503382015},
        {"height": 5, "timestamp": 600, "expectedDiffBits": 503382015},
        {"height": 6, "timestamp": 720, "expectedDiffBits": 503382015},
        {"height": 7, "timestamp": 840, "expectedDiffBits": 503382015},
        {"height": 8, "timestamp": 960, "expectedDiffBits": 503382015},
        {"height": 9, "timestamp": 1080, "expectedDiffBits": 503382015},
        {"height": 10, "timestamp": 1200, "expectedDiffBits": 503382015}
      ]
    },
    {
      "description": "testnet: random solve times per Poisson distribution for a stable hashrate",
      "params": "testnet",
      "startDiffBits": 487015304,
      "startHeight": 0,
      "startTime": 0,
      "tests": [
        {"height": 1, "timestamp": 41, "expectedDiffBits": 486980492},
        {"height": 2, "timestamp": 336, "expectedDiffBits": 487061450},
        {"height": 3, "timestamp": 489, "expectedDiffBits": 487078288},
        {"height": 4, "timestamp": 565, "expectedDiffBits": 487055944},
        {"height": 5, "timestamp": 584, "expectedDiffBits": 487008047},
        {"height": 6, "timestamp": 675, "expectedDiffBits": 486995157},
        {"height": 7, "timestamp": 839, "expectedDiffBits": 487014846},
        {"height": 8, "timestamp": 1026, "expectedDiffBits": 487046581},
        {"height": 9, "timestamp": 1049, "expectedDiffBits": 487001339},
        {"height": 10, "timestamp": 1077, "expectedDiffBits": 486962191},
        {"height": 11, "timestamp": 1100, "expectedDiffBits": 486924455},
        {"height": 12, "timestamp": 1130, "expectedDiffBits": 486892458},
        {"height": 13, "timestamp": 1148, "expectedDiffBits": 486859412},
        {"height": 14, "timestamp": 1227, "expectedDiffBits": 486847027},
        {"height": 15, "timestamp": 1278, "expectedDiffBits": 486827269},
        {"height": 16, "timestamp": 1616, "expectedDiffBits": 486894503},
        {"height": 17, "timestamp": 2201, "expectedDiffBits": 487095140},
        {"height": 18, "timestamp": 2575, "expectedDiffBits": 487249052},
        {"height": 19, "timestamp": 2579, "expectedDiffBits": 487174032},
        {"height": 20, "timestamp": 2628, "expectedDiffBits": 487132134},
        {"height": 21, "timestamp": 2805, "expectedDiffBits": 487165541},
        {"height": 22, "timestamp": 2807, "expectedDiffBits": 487098350},
        {"height": 23, "timestamp": 2851, "expectedDiffBits": 487058944},
        {"height": 24, "timestamp": 2880, "expectedDiffBits": 487015304}
      ]
    },
    {
      "description": "simnet: steady 1s blocks at proof of work limit",
      "params": "simnet",
      "startDiffBits": 545259519,
      "startHeight": 0,
      "startTime": 0,
      "tests": [
        {"height": 1, "timestamp": 1, "expectedDiffBits": 545259519},
        {"height": 2, "timestamp": 2, "expectedDiffBits": 545259519},
        {"height": 3, "timestamp": 3, "expectedDiffBits": 545259519},
        {"height": 4, "timestamp": 4, "expectedDiffBits": 545259519},
        {"height": 5, "timestamp": 5, "expectedDiffBits": 545259519},
        {"height": 6, "timestamp": 6, "expectedDiffBits": 545259519},
        {"height": 7, "timestamp": 7, "expectedDiffBits": 545259519},
        {"height": 8, "timestamp": 8, "expectedDiffBits": 545259519},
        {"height": 9, "timestamp": 9, "expectedDiffBits": 545259519},
        {"height": 10, "timestamp": 10, "expectedDiffBits": 545259519}
      ]
    },
    {
      "description": "simnet: random solve times per Poisson distribution for a stable hashrate",
      "params": "simnet",
      "startDiffBits": 505106049,
      "startHeight": 0,
      "startTime": 0,
      "tests": [
        {"height": 1, "timestamp": 1, "expectedDiffBits": 505106049},
        {"height": 2, "timestamp": 3, "expectedDiffBits": 505325376},
        {"height": 3, "timestamp": 4, "expectedDiffBits": 505325376},
        {"height": 4, "timestamp": 6, "expectedDiffBits": 505571108},
        {"height": 5, "timestamp": 7, "expectedDiffBits": 505571108},
        {"height": 6, "timestamp": 7, "expectedDiffBits": 505325376},
        {"height": 7, "timestamp": 7, "expectedDiffBits": 505106049},
        {"height": 8, "timestamp": 8, "expectedDiffBits": 505106049},
        {"height": 9, "timestamp": 8, "expectedDiffBits": 504910983},
        {"height": 10, "timestamp": 10, "expectedDiffBits": 505106049},
        {"height": 11, "timestamp": 10, "expectedDiffBits": 504910983},
        {"height": 12, "timestamp": 12, "expectedDiffBits": 505106049}
      ]
    }
  ]
}