You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
475 lines
39 KiB
475 lines
39 KiB
{
|
|
"spec": "0.14",
|
|
"description": "The release object, the content of a .dkr file (spec v0.15, §47.1), and drand's JSON as the input of the caller, each checked against the pinned Quicknet profile and the round of a DateKey as step 10 of spec §63 checks a release that the caller supplies; and the lookups of a local release archive (spec v0.15, §50). See testdata/README.md.",
|
|
"profile": "datekeys:quicknet:v1",
|
|
"objects": [
|
|
{
|
|
"name": "round 1000",
|
|
"encoding": "a50070646174656b6579732d72656c65617365010102582052db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971031903e8045830b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39",
|
|
"round": 1000,
|
|
"release": {
|
|
"round": 1000,
|
|
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39",
|
|
"chain_hash": "52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971"
|
|
},
|
|
"result": "ok"
|
|
},
|
|
{
|
|
"name": "round 1001",
|
|
"encoding": "a50070646174656b6579732d72656c65617365010102582052db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971031903e9045830b33bf3667cbd5a82de3a24b4e0e9fe5513cc1a0e840368c6e31f5fcfa79bea03f73896b25883abf2853d10337fb8fa41",
|
|
"round": 1001,
|
|
"release": {
|
|
"round": 1001,
|
|
"signature": "b33bf3667cbd5a82de3a24b4e0e9fe5513cc1a0e840368c6e31f5fcfa79bea03f73896b25883abf2853d10337fb8fa41",
|
|
"chain_hash": "52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971"
|
|
},
|
|
"result": "ok"
|
|
},
|
|
{
|
|
"name": "round 1004",
|
|
"encoding": "a50070646174656b6579732d72656c65617365010102582052db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971031903ec045830a40658b820c0f8c10207524179a2031ba9537688a0d04e4851b58026be9a341fee3b96fb48ffad28483d84b40a5864aa",
|
|
"round": 1004,
|
|
"release": {
|
|
"round": 1004,
|
|
"signature": "a40658b820c0f8c10207524179a2031ba9537688a0d04e4851b58026be9a341fee3b96fb48ffad28483d84b40a5864aa",
|
|
"chain_hash": "52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971"
|
|
},
|
|
"result": "ok"
|
|
},
|
|
{
|
|
"name": "round 2000",
|
|
"encoding": "a50070646174656b6579732d72656c65617365010102582052db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971031907d0045830b6cb8f482a0b15d45936a4c4ea08e98a087e71787caee3f4d07a8a9843b1bc5423c6b3c22f446488b3137eaca799c77e",
|
|
"round": 2000,
|
|
"release": {
|
|
"round": 2000,
|
|
"signature": "b6cb8f482a0b15d45936a4c4ea08e98a087e71787caee3f4d07a8a9843b1bc5423c6b3c22f446488b3137eaca799c77e",
|
|
"chain_hash": "52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971"
|
|
},
|
|
"result": "ok"
|
|
},
|
|
{
|
|
"name": "no byte",
|
|
"round": 1000,
|
|
"result": "ERR_NON_CANONICAL_CBOR",
|
|
"text": "provider: release object of 0 bytes, outside 1..1024: ERR_NON_CANONICAL_CBOR"
|
|
},
|
|
{
|
|
"name": "1025 bytes: the object of round 1000 followed by zeros",
|
|
"encoding": "a50070646174656b6579732d72656c65617365010102582052db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971031903e8045830b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e390000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
|
"round": 1000,
|
|
"result": "ERR_NON_CANONICAL_CBOR",
|
|
"text": "provider: release object of 1025 bytes, outside 1..1024: ERR_NON_CANONICAL_CBOR"
|
|
},
|
|
{
|
|
"name": "1025 bytes of an object of version 2: the size first",
|
|
"encoding": "a20070646174656b6579732d72656c6561736501020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
|
"round": 1000,
|
|
"result": "ERR_NON_CANONICAL_CBOR",
|
|
"text": "provider: release object of 1025 bytes, outside 1..1024: ERR_NON_CANONICAL_CBOR"
|
|
},
|
|
{
|
|
"name": "type tag of the Provider Profile, version 2",
|
|
"encoding": "a5007819646174656b6579732d70726f76696465722d70726f66696c65010202582052db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971031903e8045830b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39",
|
|
"round": 1000,
|
|
"result": "ERR_NON_CANONICAL_CBOR",
|
|
"text": "provider: release object: codec: type \"datekeys-provider-profile\", want \"datekeys-release\": ERR_NON_CANONICAL_CBOR"
|
|
},
|
|
{
|
|
"name": "type tag in upper case",
|
|
"encoding": "a50070444154454b4559532d52454c45415345010102582052db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971031903e8045830b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39",
|
|
"round": 1000,
|
|
"result": "ERR_NON_CANONICAL_CBOR",
|
|
"text": "provider: release object: codec: type \"DATEKEYS-RELEASE\", want \"datekeys-release\": ERR_NON_CANONICAL_CBOR"
|
|
},
|
|
{
|
|
"name": "version 2",
|
|
"encoding": "a50070646174656b6579732d72656c65617365010202582052db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971031903e8045830b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39",
|
|
"round": 1000,
|
|
"result": "ERR_UNSUPPORTED_VERSION",
|
|
"text": "provider: release object: codec: datekeys-release schema version 2, want 1: ERR_UNSUPPORTED_VERSION"
|
|
},
|
|
{
|
|
"name": "version 2, an unknown key and another chain",
|
|
"encoding": "a60070646174656b6579732d72656c65617365010202582052db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e970031903e8045830b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e390500",
|
|
"round": 1000,
|
|
"result": "ERR_UNSUPPORTED_VERSION",
|
|
"text": "provider: release object: codec: datekeys-release schema version 2, want 1: ERR_UNSUPPORTED_VERSION"
|
|
},
|
|
{
|
|
"name": "version 0",
|
|
"encoding": "a50070646174656b6579732d72656c65617365010002582052db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971031903e8045830b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39",
|
|
"round": 1000,
|
|
"result": "ERR_UNSUPPORTED_VERSION",
|
|
"text": "provider: release object: codec: datekeys-release schema version 0, want 1: ERR_UNSUPPORTED_VERSION"
|
|
},
|
|
{
|
|
"name": "keys 0 and 1 swapped",
|
|
"encoding": "a501010070646174656b6579732d72656c6561736502582052db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971031903e8045830b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39",
|
|
"round": 1000,
|
|
"result": "ERR_NON_CANONICAL_CBOR",
|
|
"text": "provider: release object: codec: offset 2: map key 1 where key 0 was expected: ERR_NON_CANONICAL_CBOR"
|
|
},
|
|
{
|
|
"name": "a byte after the object",
|
|
"encoding": "a50070646174656b6579732d72656c65617365010102582052db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971031903e8045830b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e3900",
|
|
"round": 1000,
|
|
"result": "ERR_NON_CANONICAL_CBOR",
|
|
"text": "provider: release object: codec: offset 111: 1 trailing bytes: ERR_NON_CANONICAL_CBOR"
|
|
},
|
|
{
|
|
"name": "without the signature",
|
|
"encoding": "a40070646174656b6579732d72656c65617365010102582052db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971031903e8",
|
|
"round": 1000,
|
|
"result": "ERR_NON_CANONICAL_CBOR",
|
|
"text": "provider: release object: 4 keys, want all 5: ERR_NON_CANONICAL_CBOR"
|
|
},
|
|
{
|
|
"name": "a key 5",
|
|
"encoding": "a60070646174656b6579732d72656c65617365010102582052db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971031903e8045830b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e390500",
|
|
"round": 1000,
|
|
"result": "ERR_NON_CANONICAL_CBOR",
|
|
"text": "provider: release object: codec: offset 1: map of 6 entries, at most 5: ERR_NON_CANONICAL_CBOR"
|
|
},
|
|
{
|
|
"name": "chain hash of 31 bytes",
|
|
"encoding": "a50070646174656b6579732d72656c65617365010102581f52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e9031903e8045830b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39",
|
|
"round": 1000,
|
|
"result": "ERR_NON_CANONICAL_CBOR",
|
|
"text": "provider: release object: key 2: codec: offset 24: a byte string of 31 bytes outside 32..32: ERR_NON_CANONICAL_CBOR"
|
|
},
|
|
{
|
|
"name": "chain hash as text",
|
|
"encoding": "a50070646174656b6579732d72656c65617365010102784035326462396261373065306363306636656166373830336464303734343761316635343737373335666433663636313739326261393436303063383465393731031903e8045830b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39",
|
|
"round": 1000,
|
|
"result": "ERR_NON_CANONICAL_CBOR",
|
|
"text": "provider: release object: key 2: codec: offset 22: a text string where a byte string was expected: ERR_NON_CANONICAL_CBOR"
|
|
},
|
|
{
|
|
"name": "round 0",
|
|
"encoding": "a50070646174656b6579732d72656c65617365010102582052db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e9710300045830b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39",
|
|
"round": 1000,
|
|
"result": "ERR_NON_CANONICAL_CBOR",
|
|
"text": "provider: release object: key 3: round 0: ERR_NON_CANONICAL_CBOR"
|
|
},
|
|
{
|
|
"name": "round 2^53",
|
|
"encoding": "a50070646174656b6579732d72656c65617365010102582052db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971031b0020000000000000045830b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39",
|
|
"round": 1000,
|
|
"result": "ERR_NON_CANONICAL_CBOR",
|
|
"text": "provider: release object: key 3: codec: offset 66: unsigned integer 9007199254740992 above 9007199254740991: ERR_NON_CANONICAL_CBOR"
|
|
},
|
|
{
|
|
"name": "round 1000 in four bytes",
|
|
"encoding": "a50070646174656b6579732d72656c65617365010102582052db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971031a000003e8045830b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39",
|
|
"round": 1000,
|
|
"result": "ERR_NON_CANONICAL_CBOR",
|
|
"text": "provider: release object: key 3: codec: offset 57: 1000 is not in its shortest form (initial byte 0x1a): ERR_NON_CANONICAL_CBOR"
|
|
},
|
|
{
|
|
"name": "signature of no byte",
|
|
"encoding": "a50070646174656b6579732d72656c65617365010102582052db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971031903e80440",
|
|
"round": 1000,
|
|
"result": "ERR_NON_CANONICAL_CBOR",
|
|
"text": "provider: release object: key 4: codec: offset 62: a byte string of 0 bytes outside 1..96: ERR_NON_CANONICAL_CBOR"
|
|
},
|
|
{
|
|
"name": "signature of 97 bytes",
|
|
"encoding": "a50070646174656b6579732d72656c65617365010102582052db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971031903e8045861b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e3900",
|
|
"round": 1000,
|
|
"result": "ERR_NON_CANONICAL_CBOR",
|
|
"text": "provider: release object: key 4: codec: offset 63: a byte string of 97 bytes outside 1..96: ERR_NON_CANONICAL_CBOR"
|
|
},
|
|
{
|
|
"name": "map of indefinite length",
|
|
"encoding": "bf0070646174656b6579732d72656c65617365010102582052db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971031903e8045830b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39ff",
|
|
"round": 1000,
|
|
"result": "ERR_NON_CANONICAL_CBOR",
|
|
"text": "provider: release object: codec: offset 0: indefinite length (initial byte 0xbf): ERR_NON_CANONICAL_CBOR"
|
|
},
|
|
{
|
|
"name": "another chain",
|
|
"encoding": "a50070646174656b6579732d72656c65617365010102582052db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e970031903e8045830b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39",
|
|
"round": 1000,
|
|
"release": {
|
|
"round": 1000,
|
|
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39",
|
|
"chain_hash": "52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e970"
|
|
},
|
|
"result": "ERR_PROFILE_MISMATCH",
|
|
"text": "provider: release of chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e970, the pinned profile datekeys:quicknet:v1 is chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971: ERR_PROFILE_MISMATCH"
|
|
},
|
|
{
|
|
"name": "another chain, another round and a signature of no point",
|
|
"encoding": "a50070646174656b6579732d72656c65617365010102582052db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e970031903e9045830000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
|
"round": 1000,
|
|
"release": {
|
|
"round": 1001,
|
|
"signature": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
|
"chain_hash": "52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e970"
|
|
},
|
|
"result": "ERR_PROFILE_MISMATCH",
|
|
"text": "provider: release of chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e970, the pinned profile datekeys:quicknet:v1 is chain 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971: ERR_PROFILE_MISMATCH"
|
|
},
|
|
{
|
|
"name": "round 1001 for a DateKey of round 1000",
|
|
"encoding": "a50070646174656b6579732d72656c65617365010102582052db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971031903e9045830b33bf3667cbd5a82de3a24b4e0e9fe5513cc1a0e840368c6e31f5fcfa79bea03f73896b25883abf2853d10337fb8fa41",
|
|
"round": 1000,
|
|
"release": {
|
|
"round": 1001,
|
|
"signature": "b33bf3667cbd5a82de3a24b4e0e9fe5513cc1a0e840368c6e31f5fcfa79bea03f73896b25883abf2853d10337fb8fa41",
|
|
"chain_hash": "52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971"
|
|
},
|
|
"result": "ERR_ROUND_MISMATCH",
|
|
"text": "provider: release for round 1001, expected 1000: ERR_ROUND_MISMATCH"
|
|
},
|
|
{
|
|
"name": "another round and a signature of 47 bytes",
|
|
"encoding": "a50070646174656b6579732d72656c65617365010102582052db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971031903e904582fb33bf3667cbd5a82de3a24b4e0e9fe5513cc1a0e840368c6e31f5fcfa79bea03f73896b25883abf2853d10337fb8fa",
|
|
"round": 1000,
|
|
"release": {
|
|
"round": 1001,
|
|
"signature": "b33bf3667cbd5a82de3a24b4e0e9fe5513cc1a0e840368c6e31f5fcfa79bea03f73896b25883abf2853d10337fb8fa",
|
|
"chain_hash": "52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971"
|
|
},
|
|
"result": "ERR_ROUND_MISMATCH",
|
|
"text": "provider: release for round 1001, expected 1000: ERR_ROUND_MISMATCH"
|
|
},
|
|
{
|
|
"name": "the signature of round 1001 as round 1000",
|
|
"encoding": "a50070646174656b6579732d72656c65617365010102582052db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971031903e8045830b33bf3667cbd5a82de3a24b4e0e9fe5513cc1a0e840368c6e31f5fcfa79bea03f73896b25883abf2853d10337fb8fa41",
|
|
"round": 1000,
|
|
"release": {
|
|
"round": 1000,
|
|
"signature": "b33bf3667cbd5a82de3a24b4e0e9fe5513cc1a0e840368c6e31f5fcfa79bea03f73896b25883abf2853d10337fb8fa41",
|
|
"chain_hash": "52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971"
|
|
},
|
|
"result": "ERR_RELEASE_INVALID",
|
|
"text": "provider: the signature is not a canonical point encoding, or does not verify as the BLS signature of round 1000 under datekeys:quicknet:v1: ERR_RELEASE_INVALID"
|
|
},
|
|
{
|
|
"name": "signature of 47 bytes",
|
|
"encoding": "a50070646174656b6579732d72656c65617365010102582052db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971031903e804582fb44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e",
|
|
"round": 1000,
|
|
"release": {
|
|
"round": 1000,
|
|
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e",
|
|
"chain_hash": "52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971"
|
|
},
|
|
"result": "ERR_RELEASE_INVALID",
|
|
"text": "provider: signature is 47 bytes, bls-unchained-g1-rfc9380 uses 48: ERR_RELEASE_INVALID"
|
|
},
|
|
{
|
|
"name": "signature of 96 bytes, the size of G2",
|
|
"encoding": "a50070646174656b6579732d72656c65617365010102582052db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971031903e8045860b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39",
|
|
"round": 1000,
|
|
"release": {
|
|
"round": 1000,
|
|
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39",
|
|
"chain_hash": "52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971"
|
|
},
|
|
"result": "ERR_RELEASE_INVALID",
|
|
"text": "provider: signature is 96 bytes, bls-unchained-g1-rfc9380 uses 48: ERR_RELEASE_INVALID"
|
|
},
|
|
{
|
|
"name": "signature of zeros",
|
|
"encoding": "a50070646174656b6579732d72656c65617365010102582052db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971031903e8045830000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
|
"round": 1000,
|
|
"release": {
|
|
"round": 1000,
|
|
"signature": "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
|
"chain_hash": "52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971"
|
|
},
|
|
"result": "ERR_RELEASE_INVALID",
|
|
"text": "provider: the signature is not a canonical point encoding, or does not verify as the BLS signature of round 1000 under datekeys:quicknet:v1: ERR_RELEASE_INVALID"
|
|
},
|
|
{
|
|
"name": "signature the point at infinity",
|
|
"encoding": "a50070646174656b6579732d72656c65617365010102582052db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971031903e8045830c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
|
"round": 1000,
|
|
"release": {
|
|
"round": 1000,
|
|
"signature": "c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
|
"chain_hash": "52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971"
|
|
},
|
|
"result": "ERR_RELEASE_INVALID",
|
|
"text": "provider: the signature is not a canonical point encoding, or does not verify as the BLS signature of round 1000 under datekeys:quicknet:v1: ERR_RELEASE_INVALID"
|
|
},
|
|
{
|
|
"name": "signature with the infinity flag and a payload",
|
|
"encoding": "a50070646174656b6579732d72656c65617365010102582052db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971031903e8045830d44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39",
|
|
"round": 1000,
|
|
"release": {
|
|
"round": 1000,
|
|
"signature": "d44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39",
|
|
"chain_hash": "52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971"
|
|
},
|
|
"result": "ERR_RELEASE_INVALID",
|
|
"text": "provider: the signature is not a canonical point encoding, or does not verify as the BLS signature of round 1000 under datekeys:quicknet:v1: ERR_RELEASE_INVALID"
|
|
},
|
|
{
|
|
"name": "signature negated",
|
|
"encoding": "a50070646174656b6579732d72656c65617365010102582052db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971031903e8045830944679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39",
|
|
"round": 1000,
|
|
"release": {
|
|
"round": 1000,
|
|
"signature": "944679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39",
|
|
"chain_hash": "52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971"
|
|
},
|
|
"result": "ERR_RELEASE_INVALID",
|
|
"text": "provider: the signature is not a canonical point encoding, or does not verify as the BLS signature of round 1000 under datekeys:quicknet:v1: ERR_RELEASE_INVALID"
|
|
},
|
|
{
|
|
"name": "signature of round 1004 with x + p",
|
|
"encoding": "a50070646174656b6579732d72656c65617365010102582052db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971031903ec045830be076aa25a40df5b4d22f9f7bcedaff30dcac20d94556107b8e652c7b54b2a440ce796f9fa53ad28023c84b40a580f55",
|
|
"round": 1004,
|
|
"release": {
|
|
"round": 1004,
|
|
"signature": "be076aa25a40df5b4d22f9f7bcedaff30dcac20d94556107b8e652c7b54b2a440ce796f9fa53ad28023c84b40a580f55",
|
|
"chain_hash": "52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971"
|
|
},
|
|
"result": "ERR_RELEASE_INVALID",
|
|
"text": "provider: the signature is not a canonical point encoding, or does not verify as the BLS signature of round 1004 under datekeys:quicknet:v1: ERR_RELEASE_INVALID"
|
|
}
|
|
],
|
|
"json": [
|
|
{
|
|
"name": "the answer of a relay, API v2",
|
|
"input": "{\"round\":1000,\"signature\":\"b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39\"}",
|
|
"round": 1000,
|
|
"release": {
|
|
"round": 1000,
|
|
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
|
|
},
|
|
"result": "ok"
|
|
},
|
|
{
|
|
"name": "with randomness, API v1",
|
|
"input": "{\"round\":1000,\"randomness\":\"fe290beca10872ef2fb164d2aa4442de4566183ec51c56ff3cd603d930e54fdd\",\"signature\":\"b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39\"}",
|
|
"round": 1000,
|
|
"release": {
|
|
"round": 1000,
|
|
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
|
|
},
|
|
"result": "ok"
|
|
},
|
|
{
|
|
"name": "spaces and a line feed before and after",
|
|
"input": " \n{\"round\": 1000, \"signature\": \"B44679B9A59AF2EC876B1A6B1AD52EA9B1615FC3982B19576350F93447CB1125E342B73A8DD2BACBE47E4B6B63ED5E39\"}\n",
|
|
"round": 1000,
|
|
"release": {
|
|
"round": 1000,
|
|
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
|
|
},
|
|
"result": "ok"
|
|
},
|
|
{
|
|
"name": "randomness of another signature",
|
|
"input": "{\"round\":1000,\"randomness\":\"b0a591ad1b9002cfc372ac6e30abd3da8d3088d4caae026961743474fb94235f\",\"signature\":\"b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39\"}",
|
|
"round": 1000,
|
|
"result": "ERR_RELEASE_INVALID",
|
|
"text": "provider: drand JSON: randomness does not match the signature: ERR_RELEASE_INVALID"
|
|
},
|
|
{
|
|
"name": "without signature",
|
|
"input": "{\"round\":1000}",
|
|
"round": 1000,
|
|
"result": "ERR_RELEASE_INVALID",
|
|
"text": "provider: drand JSON: malformed, or without round or signature: ERR_RELEASE_INVALID"
|
|
},
|
|
{
|
|
"name": "without round",
|
|
"input": "{\"signature\":\"b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39\"}",
|
|
"round": 1000,
|
|
"result": "ERR_RELEASE_INVALID",
|
|
"text": "provider: drand JSON: malformed, or without round or signature: ERR_RELEASE_INVALID"
|
|
},
|
|
{
|
|
"name": "signature not in hexadecimal",
|
|
"input": "{\"round\":1000,\"signature\":\"b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5ezz\"}",
|
|
"round": 1000,
|
|
"result": "ERR_RELEASE_INVALID",
|
|
"text": "provider: drand JSON: signature is not hex: ERR_RELEASE_INVALID"
|
|
},
|
|
{
|
|
"name": "round as a string",
|
|
"input": "{\"round\":\"1000\",\"signature\":\"b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39\"}",
|
|
"round": 1000,
|
|
"result": "ERR_RELEASE_INVALID",
|
|
"text": "provider: drand JSON: malformed, or without round or signature: ERR_RELEASE_INVALID"
|
|
},
|
|
{
|
|
"name": "not JSON",
|
|
"input": "{\"round\":1000,",
|
|
"round": 1000,
|
|
"result": "ERR_RELEASE_INVALID",
|
|
"text": "provider: drand JSON: malformed, or without round or signature: ERR_RELEASE_INVALID"
|
|
},
|
|
{
|
|
"name": "8193 bytes",
|
|
"input": "{\"round\":1000,\"signature\":\"b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39\"} ",
|
|
"round": 1000,
|
|
"result": "ERR_RELEASE_INVALID",
|
|
"text": "provider: drand JSON of 8193 bytes, larger than 8192: ERR_RELEASE_INVALID"
|
|
},
|
|
{
|
|
"name": "round 1001 for a DateKey of round 1000",
|
|
"input": "{\"round\":1001,\"signature\":\"b33bf3667cbd5a82de3a24b4e0e9fe5513cc1a0e840368c6e31f5fcfa79bea03f73896b25883abf2853d10337fb8fa41\"}",
|
|
"round": 1000,
|
|
"release": {
|
|
"round": 1001,
|
|
"signature": "b33bf3667cbd5a82de3a24b4e0e9fe5513cc1a0e840368c6e31f5fcfa79bea03f73896b25883abf2853d10337fb8fa41"
|
|
},
|
|
"result": "ERR_ROUND_MISMATCH",
|
|
"text": "provider: release for round 1001, expected 1000: ERR_ROUND_MISMATCH"
|
|
},
|
|
{
|
|
"name": "the signature of round 1001 as round 1000",
|
|
"input": "{\"round\":1000,\"signature\":\"b33bf3667cbd5a82de3a24b4e0e9fe5513cc1a0e840368c6e31f5fcfa79bea03f73896b25883abf2853d10337fb8fa41\"}",
|
|
"round": 1000,
|
|
"release": {
|
|
"round": 1000,
|
|
"signature": "b33bf3667cbd5a82de3a24b4e0e9fe5513cc1a0e840368c6e31f5fcfa79bea03f73896b25883abf2853d10337fb8fa41"
|
|
},
|
|
"result": "ERR_RELEASE_INVALID",
|
|
"text": "provider: the signature is not a canonical point encoding, or does not verify as the BLS signature of round 1000 under datekeys:quicknet:v1: ERR_RELEASE_INVALID"
|
|
}
|
|
],
|
|
"archive": {
|
|
"file": "releases/archive_1000_1004.bin",
|
|
"header": "a5007818646174656b6579732d72656c656173652d61726368697665010102582052db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971031903e80405",
|
|
"lookups": [
|
|
{
|
|
"round": 999,
|
|
"result": "ERR_RELEASE_UNAVAILABLE"
|
|
},
|
|
{
|
|
"round": 1000,
|
|
"encoding": "a50070646174656b6579732d72656c65617365010102582052db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971031903e8045830b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39",
|
|
"result": "ok"
|
|
},
|
|
{
|
|
"round": 1001,
|
|
"encoding": "a50070646174656b6579732d72656c65617365010102582052db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971031903e9045830b33bf3667cbd5a82de3a24b4e0e9fe5513cc1a0e840368c6e31f5fcfa79bea03f73896b25883abf2853d10337fb8fa41",
|
|
"result": "ok"
|
|
},
|
|
{
|
|
"round": 1002,
|
|
"result": "ERR_RELEASE_UNAVAILABLE"
|
|
},
|
|
{
|
|
"round": 1003,
|
|
"result": "ERR_RELEASE_UNAVAILABLE"
|
|
},
|
|
{
|
|
"round": 1004,
|
|
"encoding": "a50070646174656b6579732d72656c65617365010102582052db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971031903ec045830a40658b820c0f8c10207524179a2031ba9537688a0d04e4851b58026be9a341fee3b96fb48ffad28483d84b40a5864aa",
|
|
"result": "ok"
|
|
},
|
|
{
|
|
"round": 1005,
|
|
"result": "ERR_RELEASE_UNAVAILABLE"
|
|
}
|
|
]
|
|
}
|
|
}
|