addrbookFor publishers
← The evidence ledger

Evidence row 1479624

Observed , by probe.mcp/1.

Kind
mcp.tools
About
endpoint fd2fbb51-24fa-4a66-bde9-6ee3c9d7e2e3
Recorded
Previous row
None: the first of its kind about this subject
Body SHA-256
471f87c565642c42933f04b1b2225802cc485a0d540cba1ab0c85f8a1a32e357
Leaf
0xfb6159075fd706c80861abbcfa13da41eab9c8565e499c04e2ed7a9619f9f7d3

What was observed

{
  "count": 4,
  "tools": [
    {
      "description": "Settlement date on the Payments Canada holiday calendar, and the accrual fraction under ACT/360, ACT/365F, 30/360, 30E/360 or ACT/ACT-ISDA. Send all seven inputs, including acknowledge no-ruling-v1 and a freshness_tolerance in whole days written P<n>D. It refuses rather than guesses: a missing acknowledgement or tolerance, a tolerance over the ratified ceiling, calendar data older than your tolerance, a trade date outside the calendar's coverage or not a business day, and any missing, unknown or malformed input. Costs $0.01 in USDC on Base per computed answer, under x402; a refusal is not charged. The answer is the JSON envelope of https://foundry.dap.solutions/api/compute-day-count-to-settlement, byte for byte, with the artifact hash that answered. Full rules: https://foundry.dap.solutions/hub.md",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "accrual_start": {
            "description": "a real calendar date, the first day of the accrual period, counted",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
            "type": "string"
          },
          "acknowledge": {
            "enum": [
              "no-ruling-v1"
            ],
            "type": "string"
          },
          "calendar": {
            "enum": [
              "ca-payments-canada"
            ],
            "type": "string"
          },
          "convention": {
            "enum": [
              "ACT/360",
              "ACT/365F",
              "30/360",
              "30E/360",
              "ACT/ACT-ISDA"
            ],
            "type": "string"
          },
          "freshness_tolerance": {
            "description": "at most the ratified ceiling",
            "pattern": "^P(0|[1-9][0-9]{0,3})D$",
            "type": "string"
          },
          "settlement_lag": {
            "oneOf": [
              {
                "pattern": "^[0-5]$",
                "type": "string"
              },
              {
                "maximum": 5,
                "minimum": 0,
                "type": "integer"
              }
            ]
          },
          "trade_date": {
            "description": "a business day on the calendar",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
            "type": "string"
          }
        },
        "required": [
          "accrual_start",
          "trade_date",
          "settlement_lag",
          "calendar",
          "convention",
          "acknowledge",
          "freshness_tolerance"
        ],
        "type": "object"
      },
      "name": "compute-day-count-to-settlement"
    },
    {
      "description": "Unix timestamps to UTC dates in ISO 8601. text holds one or more timestamps, one per line: whole seconds or milliseconds, where a magnitude of 100000000000 or more is milliseconds. The answer is a CSV of input, unit and date. It refuses empty text, more than 1,048,576 bytes or 10,000 lines, and any line that is not digits with an optional leading minus inside the years 0001 to 9999. Free. The answer is the JSON envelope of https://foundry.dap.solutions/api/convert-unix-timestamp-to-date, byte for byte, with the artifact hash that answered. Full rules: https://foundry.dap.solutions/hub.md",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "text": {
            "description": "One or more Unix timestamps, one per line: whole seconds or milliseconds, digits with an optional leading minus, inside the years 0001 to 9999. At most 1,048,576 bytes of UTF-8 and 10,000 lines; a line break at the very end is not a line.",
            "type": "string"
          }
        },
        "required": [
          "text"
        ],
        "type": "object"
      },
      "name": "convert-unix-timestamp-to-date"
    },
    {
      "description": "Base64 to UTF-8 text. text holds standard base64: A to Z, a to z, 0 to 9, + and /, padding optional; white space is ignored. It refuses empty text, more than 1,048,576 bytes, the URL-safe alphabet, a length or padding that cannot be base64, and bytes that are not valid UTF-8. Free. The answer is the JSON envelope of https://foundry.dap.solutions/api/decode-base64-to-text, byte for byte, with the artifact hash that answered. Full rules: https://foundry.dap.solutions/hub.md",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "text": {
            "description": "Base64 that decodes to UTF-8 text: the letters A to Z and a to z, the digits 0 to 9, + and /, then one or two = of padding at the end, which may be left out but, when given, must make the length a multiple of four. A length that leaves one character over a multiple of four is refused. White space anywhere is ignored and not counted in the length. At most 1,048,576 bytes of UTF-8, white space included.",
            "type": "string"
          }
        },
        "required": [
          "text"
        ],
        "type": "object"
      },
      "name": "decode-base64-to-text"
    },
    {
      "description": "Compare two lists of lines. text holds a line ---A---, then list A, then a line ---B---, then list B. The answer is a CSV of each distinct line, matched exactly as sent, marked only_a, only_b or both. It refuses empty text, more than 1,048,576 bytes or 50,000 lines, and a text without the two markers in that order. Free. The answer is the JSON envelope of https://foundry.dap.solutions/api/diff-two-line-lists, byte for byte, with the artifact hash that answered. Full rules: https://foundry.dap.solutions/hub.md",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "text": {
            "description": "Two lists of lines: a line ---A---, then list A, then a line ---B---, then list B, one item per line. At most 1,048,576 bytes of UTF-8 and 50,000 lines; a line break at the very end is not a line.",
            "type": "string"
          }
        },
        "required": [
          "text"
        ],
        "type": "object"
      },
      "name": "diff-two-line-lists"
    }
  ]
}

What the leaf hashes

{"body":"471f87c565642c42933f04b1b2225802cc485a0d540cba1ab0c85f8a1a32e357","id":1479624,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793437239662146,"prev":null,"subject":"fd2fbb51-24fa-4a66-bde9-6ee3c9d7e2e3","subject_kind":"endpoint"}

Proof

Fold these into the leaf in order, hashing each sorted pair with keccak256, to reach the root of (246033 rows).

  1. 0xfb6167c40342dda01b7268b9929df7df4610aa927cdbdf179efac82d02bce2bd
  2. 0x24e2f3852eda588b0522df8e4810fba7356e471bd426f7509037f2a644d448f8
  3. 0xc2ff63aa5c4c61bef74e9e7359ece49ea121f845b7e75df3be2eeacd54b5bd9e
  4. 0xc206b6de63c21a94eb779891ff471ea7bce474348614aab4888bc5c5509eacaa
  5. 0x28f5a99af4b6d830875586e17239a577ea135cc7a9b4adad522905b37e10283a
  6. 0x0b463a2583e7a5a2683df52875e41446cf656b8b8b0d17f5052fe72805e4f092
  7. 0xc955edac1db76a7536ecac8327881318ef79337e2b720814e1c272dfb77eea88
  8. 0x958001ae25e95232e3a5ca23202ad7f48ef4592bc1c31f154f033d6b6cf9de4a
  9. 0xd92e2f0e1b759872974aa7ec1531aab77867698219f221f384221ce3ff9494bb
  10. 0xeb28173a4fd130467fd120c38f046bb33bc7245069c85f512da699590c2ab38a
  11. 0xa470bb25a307dc8633ca10b35449c5637b8c1fb77db0102361e7beeb044dace4
  12. 0x9cd09c1785461d3cfeb035d08e6094fb1b0bca07134e4585843a4a2ad5eaac5d
  13. 0x6c4324d3edf63f1c5818a600ecde74e6316cc337c4218b73b366a817b8e059b6
  14. 0xe2a6611300abdb7312e664a37fe7f1b470ff8ebe48733a7b7064c0db1f012dd5
  15. 0xe9e97d8cdaf19b6da06606a22b4eea548063df6bacb661abea4c37aa637b5c3b
  16. 0x4befbbd74452b2a3a89b7e1e809ba011f1be78aeb8153059503fda47c454d086
  17. 0xa1146af524f673843507e7427a575964580eef01bc0e0eae466a7920df017ab2
  18. 0x0504a25438f3c7932125463198ca74c5064f23f71a5c92763b3fc96a98cc8b57
Day root
0x24463725d1c0d9894bd6123691d532547aaa79f0762c0e45aa6a68acf1fd71ab
Chained
0x7d4824ff313dee7252a46f9d5c37b452851deb6c9f24a40c2f74ee0e53c82980
Published
On Arc Testnet, block 70093156: 0xedb7b832f4ebf6781b5ecd2ed241c435b862f4d3761541fa31adc1831b8c44a0

How to check it · This row as JSON