{
  "address": "LiFiEDFjz5x1jJe9gSXNDHQW4dWt4yLXdp2VN4EiQUt",
  "metadata": {
    "name": "output_settler_simple",
    "version": "0.0.0",
    "spec": "0.1.0"
  },
  "instructions": [
    {
      "name": "attest_not_filled",
      "docs": [
        "Permissionlessly attest that an order output was NOT filled before its fill deadline.",
        "`order_id` is the input chain order identifier. Is not validated.",
        "`output` is the output mandate that was not filled. Must target this settler on this chain.",
        "`fill_deadline` is the fill deadline of the order; the current time must strictly exceed it."
      ],
      "discriminator": [
        93,
        101,
        204,
        135,
        226,
        64,
        5,
        137
      ],
      "accounts": [
        {
          "name": "payer",
          "docs": [
            "Permissionless payer funding the created `LocalAttestation` account."
          ],
          "writable": true,
          "signer": true
        },
        {
          "name": "output_settler_simple",
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "value": [
                  111,
                  117,
                  116,
                  112,
                  117,
                  116,
                  95,
                  115,
                  101,
                  116,
                  116,
                  108,
                  101,
                  114,
                  95,
                  115,
                  105,
                  109,
                  112,
                  108,
                  101
                ]
              }
            ]
          }
        },
        {
          "name": "fill_id",
          "docs": [
            "The `FillId` PDA for this output. It is created (`init`) during a fill, so it must be",
            "un-initialised (system-owned, empty) here to prove no fill exists. The seed derivation is",
            "owned by `output_settler_simple` (same scheme as `fill.rs`). Not `init`'d — only its address",
            "is asserted so the account existence check inside the base trait is meaningful.",
            "Supply this PDA explicitly. Anchor cannot represent the existing hashed seed expression. Use the canonical order/output hash and original program seeds; see this bundle's README.md. Runtime constraints are unchanged."
          ]
        },
        {
          "name": "local_attestation",
          "writable": true
        },
        {
          "name": "intents_protocol_program",
          "address": "LiFixdGLT5CMdLsHBvaijTXpPy4Uux9Y53SXkuR4HaK"
        },
        {
          "name": "system_program",
          "address": "11111111111111111111111111111111"
        }
      ],
      "args": [
        {
          "name": "order_id",
          "type": {
            "array": [
              "u8",
              32
            ]
          }
        },
        {
          "name": "mandate_output",
          "type": {
            "defined": {
              "name": "MandateOutput"
            }
          }
        },
        {
          "name": "fill_deadline",
          "type": "u32"
        }
      ]
    },
    {
      "name": "close_fill_record",
      "docs": [
        "Permissionlessly close a `FillRecord` strictly after its stamped",
        "`close_after`, returning the rent to the filler recorded at fill time",
        "(never the caller).",
        "`order_id` and `output_hash` address the record; no order data is read."
      ],
      "discriminator": [
        60,
        96,
        240,
        102,
        51,
        185,
        23,
        34
      ],
      "accounts": [
        {
          "name": "payer",
          "docs": [
            "Permissionless caller; pays only the transaction fee and receives",
            "nothing."
          ],
          "signer": true
        },
        {
          "name": "fill_record",
          "writable": true,
          "pda": {
            "seeds": [
              {
                "kind": "arg",
                "path": "order_id"
              },
              {
                "kind": "arg",
                "path": "output_hash"
              }
            ]
          }
        },
        {
          "name": "rent_refund",
          "docs": [
            "receives the account's lamports."
          ],
          "writable": true
        }
      ],
      "args": [
        {
          "name": "order_id",
          "type": {
            "array": [
              "u8",
              32
            ]
          }
        },
        {
          "name": "output_hash",
          "type": {
            "array": [
              "u8",
              32
            ]
          }
        }
      ]
    },
    {
      "name": "fill",
      "docs": [
        "Fill an order output.",
        "`order_id` is the input chain order identifier. Is not validated.",
        "`output` is the output mandate to be filled.",
        "`fill_deadline` is the maximum time in seconds the fill may be executed at.",
        "`filler_data` contains the solver identifier sent to the input chain."
      ],
      "discriminator": [
        168,
        96,
        183,
        163,
        92,
        10,
        40,
        160
      ],
      "accounts": [
        {
          "name": "filler",
          "writable": true,
          "signer": true
        },
        {
          "name": "recipient",
          "writable": true
        },
        {
          "name": "output_settler_simple",
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "value": [
                  111,
                  117,
                  116,
                  112,
                  117,
                  116,
                  95,
                  115,
                  101,
                  116,
                  116,
                  108,
                  101,
                  114,
                  95,
                  115,
                  105,
                  109,
                  112,
                  108,
                  101
                ]
              }
            ]
          }
        },
        {
          "name": "filler_token_account",
          "writable": true,
          "pda": {
            "seeds": [
              {
                "kind": "account",
                "path": "filler"
              },
              {
                "kind": "account",
                "path": "token_program"
              },
              {
                "kind": "account",
                "path": "mint"
              }
            ],
            "program": {
              "kind": "const",
              "value": [
                140,
                151,
                37,
                143,
                78,
                36,
                137,
                241,
                187,
                61,
                16,
                41,
                20,
                142,
                13,
                131,
                11,
                90,
                19,
                153,
                218,
                255,
                16,
                132,
                4,
                142,
                123,
                216,
                219,
                233,
                248,
                89
              ]
            }
          }
        },
        {
          "name": "recipient_token_account",
          "writable": true,
          "pda": {
            "seeds": [
              {
                "kind": "account",
                "path": "recipient"
              },
              {
                "kind": "account",
                "path": "token_program"
              },
              {
                "kind": "account",
                "path": "mint"
              }
            ],
            "program": {
              "kind": "const",
              "value": [
                140,
                151,
                37,
                143,
                78,
                36,
                137,
                241,
                187,
                61,
                16,
                41,
                20,
                142,
                13,
                131,
                11,
                90,
                19,
                153,
                218,
                255,
                16,
                132,
                4,
                142,
                123,
                216,
                219,
                233,
                248,
                89
              ]
            }
          }
        },
        {
          "name": "mint"
        },
        {
          "name": "fill_record",
          "writable": true,
          "docs": [
            "Supply this PDA explicitly. Anchor cannot represent the existing hashed seed expression. Use the canonical order/output hash and original program seeds; see this bundle's README.md. Runtime constraints are unchanged."
          ]
        },
        {
          "name": "local_attestation",
          "writable": true
        },
        {
          "name": "intents_protocol_program",
          "address": "LiFixdGLT5CMdLsHBvaijTXpPy4Uux9Y53SXkuR4HaK"
        },
        {
          "name": "token_program"
        },
        {
          "name": "associated_token_program",
          "address": "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"
        },
        {
          "name": "system_program",
          "address": "11111111111111111111111111111111"
        }
      ],
      "args": [
        {
          "name": "order_id",
          "type": {
            "array": [
              "u8",
              32
            ]
          }
        },
        {
          "name": "mandate_output",
          "type": {
            "defined": {
              "name": "MandateOutput"
            }
          }
        },
        {
          "name": "fill_deadline",
          "type": "u64"
        },
        {
          "name": "filler_data",
          "type": "bytes"
        }
      ],
      "returns": "pubkey"
    },
    {
      "name": "fill_samechain",
      "docs": [
        "Fill the single token output of a compact same-chain order.",
        "Warning: Compact same-chain fills must execute after a matching finalise_with_prefill in the same transaction. They do not create a LocalAttestation. Never submit them independently or substitute them for ordinary attested fills.",
        "finalise_with_prefill checks for a matching future compact fill and binds the supplied order ID to the expanded order before releasing the input escrow. The compact fill handlers do not enforce a preceding settlement instruction themselves. A standalone compact fill can pay the output while producing an unclaimable fill, without the proof needed for ordinary later finalisation.",
        "Required instruction order, all in one transaction: finalise_with_prefill(orderId) -> fill_samechain(args)."
      ],
      "discriminator": [
        41,
        219,
        215,
        115,
        27,
        174,
        177,
        210
      ],
      "accounts": [
        {
          "name": "filler",
          "writable": true,
          "signer": true
        },
        {
          "name": "recipient",
          "docs": [
            "attestation PDAs commit to it and the input-side order-id validation pins it."
          ],
          "writable": true
        },
        {
          "name": "output_settler_simple",
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "value": [
                  111,
                  117,
                  116,
                  112,
                  117,
                  116,
                  95,
                  115,
                  101,
                  116,
                  116,
                  108,
                  101,
                  114,
                  95,
                  115,
                  105,
                  109,
                  112,
                  108,
                  101
                ]
              }
            ]
          }
        },
        {
          "name": "filler_token_account",
          "writable": true,
          "pda": {
            "seeds": [
              {
                "kind": "account",
                "path": "filler"
              },
              {
                "kind": "account",
                "path": "token_program"
              },
              {
                "kind": "account",
                "path": "mint"
              }
            ],
            "program": {
              "kind": "const",
              "value": [
                140,
                151,
                37,
                143,
                78,
                36,
                137,
                241,
                187,
                61,
                16,
                41,
                20,
                142,
                13,
                131,
                11,
                90,
                19,
                153,
                218,
                255,
                16,
                132,
                4,
                142,
                123,
                216,
                219,
                233,
                248,
                89
              ]
            }
          }
        },
        {
          "name": "recipient_token_account",
          "writable": true,
          "pda": {
            "seeds": [
              {
                "kind": "account",
                "path": "recipient"
              },
              {
                "kind": "account",
                "path": "token_program"
              },
              {
                "kind": "account",
                "path": "mint"
              }
            ],
            "program": {
              "kind": "const",
              "value": [
                140,
                151,
                37,
                143,
                78,
                36,
                137,
                241,
                187,
                61,
                16,
                41,
                20,
                142,
                13,
                131,
                11,
                90,
                19,
                153,
                218,
                255,
                16,
                132,
                4,
                142,
                123,
                216,
                219,
                233,
                248,
                89
              ]
            }
          }
        },
        {
          "name": "mint"
        },
        {
          "name": "fill_record",
          "writable": true,
          "docs": [
            "Supply this PDA explicitly. Anchor cannot represent the existing hashed seed expression. Use the canonical order/output hash and original program seeds; see this bundle's README.md. Runtime constraints are unchanged."
          ]
        },
        {
          "name": "token_program"
        },
        {
          "name": "associated_token_program",
          "address": "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"
        },
        {
          "name": "system_program",
          "address": "11111111111111111111111111111111"
        }
      ],
      "args": [
        {
          "name": "args",
          "type": {
            "defined": {
              "name": "FillSamechainArgs"
            }
          }
        }
      ],
      "returns": "pubkey"
    },
    {
      "name": "initialize",
      "docs": [
        "Creates `output settler simple` PDA.",
        "`output settler simple` PDA is used to store the chain identifier."
      ],
      "discriminator": [
        175,
        175,
        109,
        31,
        13,
        152,
        155,
        237
      ],
      "accounts": [
        {
          "name": "deployer",
          "writable": true,
          "signer": true
        },
        {
          "name": "chain_id"
        },
        {
          "name": "output_settler_simple",
          "writable": true,
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "value": [
                  111,
                  117,
                  116,
                  112,
                  117,
                  116,
                  95,
                  115,
                  101,
                  116,
                  116,
                  108,
                  101,
                  114,
                  95,
                  115,
                  105,
                  109,
                  112,
                  108,
                  101
                ]
              }
            ]
          }
        },
        {
          "name": "intents_protocol_program",
          "address": "LiFixdGLT5CMdLsHBvaijTXpPy4Uux9Y53SXkuR4HaK"
        },
        {
          "name": "system_program",
          "address": "11111111111111111111111111111111"
        }
      ],
      "args": [],
      "returns": "pubkey"
    },
    {
      "name": "native_fill",
      "docs": [
        "Fill an order output with native SOL.",
        "`order_id` is the input chain order identifier. Is not validated.",
        "`output` is the output mandate to be filled.",
        "`fill_deadline` is the maximum time in seconds the fill may be executed at.",
        "`filler_data` contains the solver identifier sent to the input chain."
      ],
      "discriminator": [
        49,
        10,
        255,
        151,
        120,
        148,
        73,
        30
      ],
      "accounts": [
        {
          "name": "filler",
          "writable": true,
          "signer": true
        },
        {
          "name": "recipient",
          "writable": true
        },
        {
          "name": "output_settler_simple",
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "value": [
                  111,
                  117,
                  116,
                  112,
                  117,
                  116,
                  95,
                  115,
                  101,
                  116,
                  116,
                  108,
                  101,
                  114,
                  95,
                  115,
                  105,
                  109,
                  112,
                  108,
                  101
                ]
              }
            ]
          }
        },
        {
          "name": "fill_record",
          "writable": true,
          "docs": [
            "Supply this PDA explicitly. Anchor cannot represent the existing hashed seed expression. Use the canonical order/output hash and original program seeds; see this bundle's README.md. Runtime constraints are unchanged."
          ]
        },
        {
          "name": "local_attestation",
          "writable": true
        },
        {
          "name": "intents_protocol_program",
          "address": "LiFixdGLT5CMdLsHBvaijTXpPy4Uux9Y53SXkuR4HaK"
        },
        {
          "name": "system_program",
          "address": "11111111111111111111111111111111"
        }
      ],
      "args": [
        {
          "name": "order_id",
          "type": {
            "array": [
              "u8",
              32
            ]
          }
        },
        {
          "name": "mandate_output",
          "type": {
            "defined": {
              "name": "MandateOutput"
            }
          }
        },
        {
          "name": "fill_deadline",
          "type": "u64"
        },
        {
          "name": "filler_data",
          "type": "bytes"
        }
      ],
      "returns": "pubkey"
    },
    {
      "name": "native_fill_samechain",
      "docs": [
        "Fill the single native SOL output of a compact same-chain order.",
        "Warning: Compact same-chain fills must execute after a matching finalise_with_prefill in the same transaction. They do not create a LocalAttestation. Never submit them independently or substitute them for ordinary attested fills.",
        "finalise_with_prefill checks for a matching future compact fill and binds the supplied order ID to the expanded order before releasing the input escrow. The compact fill handlers do not enforce a preceding settlement instruction themselves. A standalone compact fill can pay the output while producing an unclaimable fill, without the proof needed for ordinary later finalisation.",
        "Required instruction order, all in one transaction: finalise_with_prefill(orderId) -> native_fill_samechain(args)."
      ],
      "discriminator": [
        246,
        44,
        97,
        75,
        180,
        183,
        72,
        72
      ],
      "accounts": [
        {
          "name": "filler",
          "writable": true,
          "signer": true
        },
        {
          "name": "recipient",
          "docs": [
            "attestation PDAs commit to it and the input-side order-id validation pins it."
          ],
          "writable": true
        },
        {
          "name": "output_settler_simple",
          "pda": {
            "seeds": [
              {
                "kind": "const",
                "value": [
                  111,
                  117,
                  116,
                  112,
                  117,
                  116,
                  95,
                  115,
                  101,
                  116,
                  116,
                  108,
                  101,
                  114,
                  95,
                  115,
                  105,
                  109,
                  112,
                  108,
                  101
                ]
              }
            ]
          }
        },
        {
          "name": "fill_record",
          "writable": true,
          "docs": [
            "Supply this PDA explicitly. Anchor cannot represent the existing hashed seed expression. Use the canonical order/output hash and original program seeds; see this bundle's README.md. Runtime constraints are unchanged."
          ]
        },
        {
          "name": "system_program",
          "address": "11111111111111111111111111111111"
        }
      ],
      "args": [
        {
          "name": "args",
          "type": {
            "defined": {
              "name": "FillSamechainArgs"
            }
          }
        }
      ],
      "returns": "pubkey"
    }
  ],
  "accounts": [
    {
      "name": "ChainId",
      "discriminator": [
        203,
        146,
        201,
        161,
        230,
        71,
        157,
        218
      ]
    },
    {
      "name": "FillRecord",
      "discriminator": [
        27,
        79,
        245,
        54,
        39,
        229,
        168,
        24
      ]
    },
    {
      "name": "OutputSettlerSimpleAccount",
      "discriminator": [
        227,
        35,
        185,
        166,
        177,
        53,
        143,
        129
      ]
    }
  ],
  "events": [
    {
      "name": "FillRecordClosedEvent",
      "discriminator": [
        70,
        227,
        88,
        40,
        245,
        228,
        143,
        59
      ]
    },
    {
      "name": "OutputFilledEvent",
      "discriminator": [
        43,
        25,
        133,
        52,
        107,
        176,
        40,
        213
      ]
    },
    {
      "name": "OutputNotFilledEvent",
      "discriminator": [
        162,
        22,
        108,
        52,
        116,
        186,
        115,
        37
      ]
    }
  ],
  "errors": [
    {
      "code": 6500,
      "name": "NotImplemented",
      "msg": "Order type not implemented."
    },
    {
      "code": 6501,
      "name": "AmountTooLarge",
      "msg": "Amount is too large."
    },
    {
      "code": 6502,
      "name": "ArithmeticOverflow",
      "msg": "Arithmetic overflow."
    },
    {
      "code": 6503,
      "name": "InvalidFillerData",
      "msg": "Invalid filler data."
    },
    {
      "code": 6504,
      "name": "InvalidContextDataLength",
      "msg": "Invalid context data length."
    },
    {
      "code": 6505,
      "name": "ExclusiveTo",
      "msg": "Order is exclusive to another solver or time passed."
    },
    {
      "code": 6506,
      "name": "ZeroValue",
      "msg": "Zero value is not allowed."
    },
    {
      "code": 6507,
      "name": "NotTopLevel",
      "msg": "Compact same-chain fills must be invoked as top-level instructions."
    },
    {
      "code": 6508,
      "name": "FillRecordNotClosable",
      "msg": "Fill record is not closable yet."
    },
    {
      "code": 6509,
      "name": "InvalidRentRefund",
      "msg": "Rent refund account does not match the recorded rent refund."
    }
  ],
  "types": [
    {
      "name": "ChainId",
      "docs": [
        "Type used to store the chain id of the chain."
      ],
      "type": {
        "kind": "struct",
        "fields": [
          {
            "name": "chain_id",
            "type": "u128"
          },
          {
            "name": "bump",
            "type": "u8"
          }
        ]
      }
    },
    {
      "name": "CompactSamechainContext",
      "docs": [
        "The only pricing contexts accepted by the compact input-first path.",
        "",
        "Variant order is wire ABI: do not reorder. Both exclusive variants expand to the canonical",
        "`0xe0 || exclusive_for || start_time_be` context; `ExclusiveForSelf` is a transport",
        "optimization that substitutes the current solver for `exclusive_for`."
      ],
      "type": {
        "kind": "enum",
        "variants": [
          {
            "name": "None"
          },
          {
            "name": "ExclusiveFor",
            "fields": [
              {
                "name": "exclusive_for",
                "type": {
                  "array": [
                    "u8",
                    32
                  ]
                }
              },
              {
                "name": "start_time",
                "type": "u32"
              }
            ]
          },
          {
            "name": "ExclusiveForSelf",
            "fields": [
              {
                "name": "start_time",
                "type": "u32"
              }
            ]
          }
        ]
      }
    },
    {
      "name": "CompactSamechainOrder",
      "docs": [
        "Compact, same-chain-only representation carried by `fill_samechain` instructions.",
        "",
        "Fields recoverable from the input and output instruction accounts are deliberately omitted.",
        "Every protocol hash and PDA is derived from the canonical `StandardOrder` or `MandateOutput`",
        "encoding reconstructed by expansion, never from the compact bytes themselves."
      ],
      "type": {
        "kind": "struct",
        "fields": [
          {
            "name": "nonce",
            "type": "u128"
          },
          {
            "name": "expires",
            "type": "u32"
          },
          {
            "name": "fill_deadline",
            "type": "u32"
          },
          {
            "name": "input_amount",
            "type": "u64"
          },
          {
            "name": "output_amount",
            "type": "u64"
          },
          {
            "name": "context",
            "type": {
              "defined": {
                "name": "CompactSamechainContext"
              }
            }
          }
        ]
      }
    },
    {
      "name": "FillRecord",
      "docs": [
        "Created during fill to ensure no double fill for the same output, and read",
        "by `attest_not_filled` as the proof-of-fill via its *absence* check. Lives at",
        "the PDA seeds `[order_id, mandate_output_hash]`.",
        "",
        "`rent_refund` is the filler that funded the account; `close_after` is",
        "`fill_deadline + NOT_FILLED_WINDOW_SECONDS`, stamped identically in all four",
        "fill paths and immutable afterwards. The permissionless `close_fill_record`",
        "reclaims the rent to `rent_refund` strictly after `close_after`."
      ],
      "type": {
        "kind": "struct",
        "fields": [
          {
            "name": "rent_refund",
            "type": "pubkey"
          },
          {
            "name": "close_after",
            "type": "u64"
          }
        ]
      }
    },
    {
      "name": "FillRecordClosedEvent",
      "docs": [
        "Emitted when a `FillRecord` past its `close_after` is closed and its rent",
        "returned to the filler recorded at fill time."
      ],
      "type": {
        "kind": "struct",
        "fields": [
          {
            "name": "order_id",
            "type": {
              "array": [
                "u8",
                32
              ]
            }
          },
          {
            "name": "output_hash",
            "type": {
              "array": [
                "u8",
                32
              ]
            }
          },
          {
            "name": "rent_refund",
            "type": "pubkey"
          }
        ]
      }
    },
    {
      "name": "FillSamechainArgs",
      "docs": [
        "Shared instruction payload for token and native compact same-chain fills."
      ],
      "type": {
        "kind": "struct",
        "fields": [
          {
            "name": "order_id",
            "type": {
              "array": [
                "u8",
                32
              ]
            }
          },
          {
            "name": "order",
            "type": {
              "defined": {
                "name": "CompactSamechainOrder"
              }
            }
          }
        ]
      }
    },
    {
      "name": "MandateOutput",
      "docs": [
        "Defines the output state and where and how it should be filled.",
        "DEV NOTES:",
        "`oracle`: the implementation responsible for collecting the proof from settler on output chain",
        "`settler`: the implementation on the output chain responsible for settling the output payment.",
        "`callback_data`: the data to be passed to the callback function. MUST be empty if no callback is needed.",
        "`context`: The output context for the output settlement, encoding order types or other information."
      ],
      "type": {
        "kind": "struct",
        "fields": [
          {
            "name": "oracle",
            "type": {
              "array": [
                "u8",
                32
              ]
            }
          },
          {
            "name": "settler",
            "type": {
              "array": [
                "u8",
                32
              ]
            }
          },
          {
            "name": "chain_id",
            "type": {
              "array": [
                "u8",
                32
              ]
            }
          },
          {
            "name": "token",
            "type": {
              "array": [
                "u8",
                32
              ]
            }
          },
          {
            "name": "amount",
            "type": {
              "array": [
                "u8",
                32
              ]
            }
          },
          {
            "name": "recipient",
            "type": {
              "array": [
                "u8",
                32
              ]
            }
          },
          {
            "name": "callback_data",
            "type": "bytes"
          },
          {
            "name": "context",
            "type": "bytes"
          }
        ]
      }
    },
    {
      "name": "OutputFilledEvent",
      "docs": [
        "IDL-only mirrors of the events emitted by `output_settler_base`.",
        "",
        "The events are emitted from inside `output_settler_base` (see",
        "`base.rs`), but Anchor's IDL generator only collects `#[event]` structs",
        "defined in the program crate itself, so without these mirrors the events",
        "are silently absent from the published IDL. Anchor identifies an event by",
        "its name-derived discriminator (`sha256(\"event:<Name>\")[..8]`) and its",
        "borsh field layout, so an identical copy here yields the exact IDL entry",
        "for the event the base crate emits. The tests below pin the mirrors to the",
        "base-crate originals byte-for-byte."
      ],
      "type": {
        "kind": "struct",
        "fields": [
          {
            "name": "settler",
            "type": "pubkey"
          },
          {
            "name": "order_id",
            "type": {
              "array": [
                "u8",
                32
              ]
            }
          },
          {
            "name": "solver",
            "type": {
              "array": [
                "u8",
                32
              ]
            }
          },
          {
            "name": "timestamp",
            "type": "u32"
          },
          {
            "name": "output",
            "type": {
              "defined": {
                "name": "MandateOutput"
              }
            }
          },
          {
            "name": "final_amount",
            "type": "u64"
          }
        ]
      }
    },
    {
      "name": "OutputNotFilledEvent",
      "docs": [
        "Informational event emitted when an output is provably attested as not filled before its fill",
        "deadline. Mirrors the EVM `OutputNotFilled(orderId, output, fillDeadline)` event."
      ],
      "type": {
        "kind": "struct",
        "fields": [
          {
            "name": "settler",
            "type": "pubkey"
          },
          {
            "name": "order_id",
            "type": {
              "array": [
                "u8",
                32
              ]
            }
          },
          {
            "name": "fill_deadline",
            "type": "u32"
          },
          {
            "name": "output",
            "type": {
              "defined": {
                "name": "MandateOutput"
              }
            }
          }
        ]
      }
    },
    {
      "name": "OutputSettlerSimpleAccount",
      "docs": [
        "Represents the output settler implementation type.",
        "Implements the `OutputSettlerBaseTrait` trait."
      ],
      "type": {
        "kind": "struct",
        "fields": [
          {
            "name": "chain_id",
            "type": "u128"
          },
          {
            "name": "bump",
            "type": "u8"
          }
        ]
      }
    }
  ]
}
