{
  "abi": [
    {
      "inputs": [
        {
          "internalType": "contract IOracle",
          "name": "_oracle",
          "type": "address"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "inputs": [],
      "name": "Module_OnlyOracle",
      "type": "error"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "_requestId",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "internalType": "bytes32",
          "name": "_responseId",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "internalType": "address",
          "name": "_disputer",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "address",
          "name": "_proposer",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "enum IOracle.DisputeStatus",
          "name": "_status",
          "type": "uint8"
        }
      ],
      "name": "DisputeStatusChanged",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "_requestId",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "internalType": "address",
          "name": "_finalizer",
          "type": "address"
        }
      ],
      "name": "RequestFinalized",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "_requestId",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "internalType": "bytes32",
          "name": "_responseId",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "internalType": "address",
          "name": "_disputer",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "address",
          "name": "_proposer",
          "type": "address"
        }
      ],
      "name": "ResponseDisputed",
      "type": "event"
    },
    {
      "inputs": [],
      "name": "ORACLE",
      "outputs": [
        {
          "internalType": "contract IOracle",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_requestId",
          "type": "bytes32"
        }
      ],
      "name": "decodeRequestData",
      "outputs": [
        {
          "components": [
            {
              "internalType": "contract IAccountingExtension",
              "name": "accountingExtension",
              "type": "address"
            },
            {
              "internalType": "contract IERC20",
              "name": "bondToken",
              "type": "address"
            },
            {
              "internalType": "uint256",
              "name": "bondSize",
              "type": "uint256"
            }
          ],
          "internalType": "struct IBondedDisputeModule.RequestParameters",
          "name": "_params",
          "type": "tuple"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_disputeId",
          "type": "bytes32"
        }
      ],
      "name": "disputeEscalated",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_requestId",
          "type": "bytes32"
        },
        {
          "internalType": "bytes32",
          "name": "_responseId",
          "type": "bytes32"
        },
        {
          "internalType": "address",
          "name": "_disputer",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "_proposer",
          "type": "address"
        }
      ],
      "name": "disputeResponse",
      "outputs": [
        {
          "components": [
            {
              "internalType": "uint256",
              "name": "createdAt",
              "type": "uint256"
            },
            {
              "internalType": "address",
              "name": "disputer",
              "type": "address"
            },
            {
              "internalType": "address",
              "name": "proposer",
              "type": "address"
            },
            {
              "internalType": "bytes32",
              "name": "responseId",
              "type": "bytes32"
            },
            {
              "internalType": "bytes32",
              "name": "requestId",
              "type": "bytes32"
            },
            {
              "internalType": "enum IOracle.DisputeStatus",
              "name": "status",
              "type": "uint8"
            }
          ],
          "internalType": "struct IOracle.Dispute",
          "name": "_dispute",
          "type": "tuple"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_requestId",
          "type": "bytes32"
        },
        {
          "internalType": "address",
          "name": "_finalizer",
          "type": "address"
        }
      ],
      "name": "finalizeRequest",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "moduleName",
      "outputs": [
        {
          "internalType": "string",
          "name": "_moduleName",
          "type": "string"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        },
        {
          "components": [
            {
              "internalType": "uint256",
              "name": "createdAt",
              "type": "uint256"
            },
            {
              "internalType": "address",
              "name": "disputer",
              "type": "address"
            },
            {
              "internalType": "address",
              "name": "proposer",
              "type": "address"
            },
            {
              "internalType": "bytes32",
              "name": "responseId",
              "type": "bytes32"
            },
            {
              "internalType": "bytes32",
              "name": "requestId",
              "type": "bytes32"
            },
            {
              "internalType": "enum IOracle.DisputeStatus",
              "name": "status",
              "type": "uint8"
            }
          ],
          "internalType": "struct IOracle.Dispute",
          "name": "_dispute",
          "type": "tuple"
        }
      ],
      "name": "onDisputeStatusChange",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "oracle",
      "outputs": [
        {
          "internalType": "address",
          "name": "_oracle",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_requestId",
          "type": "bytes32"
        }
      ],
      "name": "requestData",
      "outputs": [
        {
          "internalType": "bytes",
          "name": "_requestData",
          "type": "bytes"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_requestId",
          "type": "bytes32"
        },
        {
          "internalType": "bytes",
          "name": "_data",
          "type": "bytes"
        }
      ],
      "name": "setupRequest",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    }
  ],
  "bytecode": {
    "object": "0x60a060405234801561001057600080fd5b5060405161133238038061133283398101604081905261002f91610040565b6001600160a01b0316608052610070565b60006020828403121561005257600080fd5b81516001600160a01b038116811461006957600080fd5b9392505050565b60805161127d6100b56000396000818161012c015281816101c50152818161026d015281816102fc0152818161036f015281816109d30152610a7b015261127d6000f3fe608060405234801561001057600080fd5b50600436106100be5760003560e01c80634d610a46116100765780637fadb88d1161005b5780637fadb88d146101e957806393f0899a146101fc57806398660c181461023557600080fd5b80634d610a46146101735780637dc0d1d0146101c357600080fd5b806334837c29116100a757806334837c29146100eb5780633661346b146100fe57806338013f021461012757600080fd5b80632e76be2a146100c3578063309de607146100d8575b600080fd5b6100d66100d1366004610c51565b610255565b005b6100d66100e6366004610cef565b6102e4565b6100d66100f9366004610d77565b610357565b61011161010c366004610e2b565b610858565b60405161011e9190610ea8565b60405180910390f35b61014e7f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161011e565b610186610181366004610e2b565b6108f2565b60408051825173ffffffffffffffffffffffffffffffffffffffff908116825260208085015190911690820152918101519082015260600161011e565b7f000000000000000000000000000000000000000000000000000000000000000061014e565b6100d66101f7366004610e2b565b6109bb565b60408051808201909152601381527f426f6e646564446973707574654d6f64756c65000000000000000000000000006020820152610111565b610248610243366004610ec2565b610a2d565b60405161011e9190610f76565b3373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146102c4576040517fbb44f97c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008381526020819052604090206102dd828483611080565b505b505050565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610353576040517fbb44f97c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b3373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146103c6576040517fbb44f97c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006103d582608001516108f2565b60a083015160408401516020850151929350909160058360058111156103fd576103fd610f0c565b036105565783516080860151602086015160408088015190517fa6d09dc800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff868116600483015260248201949094529183166044830152606482015291169063a6d09dc890608401600060405180830381600087803b15801561049157600080fd5b505af11580156104a5573d6000803e3d6000fd5b50508551608088015160208801516040808a015190517fa6d09dc800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff89811660048301526024820194909452918316604483015260648201529116925063a6d09dc891506084015b600060405180830381600087803b15801561053957600080fd5b505af115801561054d573d6000803e3d6000fd5b5050505061080a565b600383600581111561056a5761056a610f0c565b036106995783516080860151602086015160408088015190517fcab0e418000000000000000000000000000000000000000000000000000000008152600481019390935273ffffffffffffffffffffffffffffffffffffffff86811660248501528581166044850152918216606484015260848301529091169063cab0e4189060a401600060405180830381600087803b15801561060757600080fd5b505af115801561061b573d6000803e3d6000fd5b50508551608088015160208801516040808a015190517fa6d09dc800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff88811660048301526024820194909452918316604483015260648201529116925063a6d09dc8915060840161051f565b60048360058111156106ad576106ad610f0c565b0361080a5783516080860151602086015160408088015190517fcab0e418000000000000000000000000000000000000000000000000000000008152600481019390935273ffffffffffffffffffffffffffffffffffffffff85811660248501528681166044850152918216606484015260848301529091169063cab0e4189060a401600060405180830381600087803b15801561074a57600080fd5b505af115801561075e573d6000803e3d6000fd5b50508551608088015160208801516040808a015190517fa6d09dc800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff89811660048301526024820194909452918316604483015260648201529116925063a6d09dc89150608401600060405180830381600087803b1580156107f157600080fd5b505af1158015610805573d6000803e3d6000fd5b505050505b84608001517f9a96d939e838e8499325cdd0ab8ada4766e4783add4060e6e328f6a5113c60718660600151838587604051610848949392919061119b565b60405180910390a2505050505050565b6000602081905290815260409020805461087190610fdf565b80601f016020809104026020016040519081016040528092919081815260200182805461089d90610fdf565b80156108ea5780601f106108bf576101008083540402835291602001916108ea565b820191906000526020600020905b8154815290600101906020018083116108cd57829003601f168201915b505050505081565b604080516060810182526000808252602080830182905282840182905284825281905291909120805461092490610fdf565b80601f016020809104026020016040519081016040528092919081815260200182805461095090610fdf565b801561099d5780601f106109725761010080835404028352916020019161099d565b820191906000526020600020905b81548152906001019060200180831161098057829003601f168201915b50505050508060200190518101906109b591906111dc565b92915050565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610a2a576040517fbb44f97c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50565b610a636040805160c08101825260008082526020820181905291810182905260608101829052608081018290529060a082015290565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610ad2576040517fbb44f97c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040518060c001604052804281526020018473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff16815260200185815260200186815260200160016005811115610b3a57610b3a610f0c565b905290506000610b49866108f2565b8051602082015160408084015190517fbba9f26f00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8981166004830152602482018c905292831660448201526064810191909152929350169063bba9f26f90608401600060405180830381600087803b158015610bd757600080fd5b505af1158015610beb573d6000803e3d6000fd5b50506040805188815273ffffffffffffffffffffffffffffffffffffffff888116602083015287168183015290518993507f10d26bcb7d6ba7d73ccfb97211024d458d277dce4abe8206bc5346aa4e55cd1e92509081900360600190a250949350505050565b600080600060408486031215610c6657600080fd5b83359250602084013567ffffffffffffffff80821115610c8557600080fd5b818601915086601f830112610c9957600080fd5b813581811115610ca857600080fd5b876020828501011115610cba57600080fd5b6020830194508093505050509250925092565b73ffffffffffffffffffffffffffffffffffffffff81168114610a2a57600080fd5b60008060408385031215610d0257600080fd5b823591506020830135610d1481610ccd565b809150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160c0810167ffffffffffffffff81118282101715610d7157610d71610d1f565b60405290565b60008082840360e0811215610d8b57600080fd5b8335925060c07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe082011215610dbf57600080fd5b50610dc8610d4e565b602084013581526040840135610ddd81610ccd565b60208201526060840135610df081610ccd565b6040820152608084810135606083015260a08501359082015260c084013560068110610e1b57600080fd5b60a0820152919491935090915050565b600060208284031215610e3d57600080fd5b5035919050565b6000815180845260005b81811015610e6a57602081850181015186830182015201610e4e565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b602081526000610ebb6020830184610e44565b9392505050565b60008060008060808587031215610ed857600080fd5b84359350602085013592506040850135610ef181610ccd565b91506060850135610f0181610ccd565b939692955090935050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60068110610f72577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9052565b600060c08201905082518252602083015173ffffffffffffffffffffffffffffffffffffffff80821660208501528060408601511660408501525050606083015160608301526080830151608083015260a0830151610fd860a0840182610f3b565b5092915050565b600181811c90821680610ff357607f821691505b60208210810361102c577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b601f8211156102df57600081815260208120601f850160051c810160208610156110595750805b601f850160051c820191505b8181101561107857828155600101611065565b505050505050565b67ffffffffffffffff83111561109857611098610d1f565b6110ac836110a68354610fdf565b83611032565b6000601f8411600181146110fe57600085156110c85750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b178355611194565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b8281101561114d578685013582556020948501946001909201910161112d565b5086821015611188577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b84815273ffffffffffffffffffffffffffffffffffffffff848116602083015283166040820152608081016111d36060830184610f3b565b95945050505050565b6000606082840312156111ee57600080fd5b6040516060810181811067ffffffffffffffff8211171561121157611211610d1f565b604052825161121f81610ccd565b8152602083015161122f81610ccd565b6020820152604092830151928101929092525091905056fea26469706673582212205eb5f753d2310df63fa5b3d4b59bca09b1e181afebc9ac1ecb000f0aee74642264736f6c63430008130033",
    "sourceMap": "405:3492:42:-:0;;;470:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;353:16:0;;;405:3492:42;;14:306:113;100:6;153:2;141:9;132:7;128:23;124:32;121:52;;;169:1;166;159:12;121:52;195:16;;-1:-1:-1;;;;;240:31:113;;230:42;;220:70;;286:1;283;276:12;220:70;309:5;14:306;-1:-1:-1;;;14:306:113:o;:::-;405:3492:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;",
    "linkReferences": {}
  },
  "deployedBytecode": {
    "object": "0x608060405234801561001057600080fd5b50600436106100be5760003560e01c80634d610a46116100765780637fadb88d1161005b5780637fadb88d146101e957806393f0899a146101fc57806398660c181461023557600080fd5b80634d610a46146101735780637dc0d1d0146101c357600080fd5b806334837c29116100a757806334837c29146100eb5780633661346b146100fe57806338013f021461012757600080fd5b80632e76be2a146100c3578063309de607146100d8575b600080fd5b6100d66100d1366004610c51565b610255565b005b6100d66100e6366004610cef565b6102e4565b6100d66100f9366004610d77565b610357565b61011161010c366004610e2b565b610858565b60405161011e9190610ea8565b60405180910390f35b61014e7f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161011e565b610186610181366004610e2b565b6108f2565b60408051825173ffffffffffffffffffffffffffffffffffffffff908116825260208085015190911690820152918101519082015260600161011e565b7f000000000000000000000000000000000000000000000000000000000000000061014e565b6100d66101f7366004610e2b565b6109bb565b60408051808201909152601381527f426f6e646564446973707574654d6f64756c65000000000000000000000000006020820152610111565b610248610243366004610ec2565b610a2d565b60405161011e9190610f76565b3373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146102c4576040517fbb44f97c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008381526020819052604090206102dd828483611080565b505b505050565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610353576040517fbb44f97c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b3373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146103c6576040517fbb44f97c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006103d582608001516108f2565b60a083015160408401516020850151929350909160058360058111156103fd576103fd610f0c565b036105565783516080860151602086015160408088015190517fa6d09dc800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff868116600483015260248201949094529183166044830152606482015291169063a6d09dc890608401600060405180830381600087803b15801561049157600080fd5b505af11580156104a5573d6000803e3d6000fd5b50508551608088015160208801516040808a015190517fa6d09dc800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff89811660048301526024820194909452918316604483015260648201529116925063a6d09dc891506084015b600060405180830381600087803b15801561053957600080fd5b505af115801561054d573d6000803e3d6000fd5b5050505061080a565b600383600581111561056a5761056a610f0c565b036106995783516080860151602086015160408088015190517fcab0e418000000000000000000000000000000000000000000000000000000008152600481019390935273ffffffffffffffffffffffffffffffffffffffff86811660248501528581166044850152918216606484015260848301529091169063cab0e4189060a401600060405180830381600087803b15801561060757600080fd5b505af115801561061b573d6000803e3d6000fd5b50508551608088015160208801516040808a015190517fa6d09dc800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff88811660048301526024820194909452918316604483015260648201529116925063a6d09dc8915060840161051f565b60048360058111156106ad576106ad610f0c565b0361080a5783516080860151602086015160408088015190517fcab0e418000000000000000000000000000000000000000000000000000000008152600481019390935273ffffffffffffffffffffffffffffffffffffffff85811660248501528681166044850152918216606484015260848301529091169063cab0e4189060a401600060405180830381600087803b15801561074a57600080fd5b505af115801561075e573d6000803e3d6000fd5b50508551608088015160208801516040808a015190517fa6d09dc800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff89811660048301526024820194909452918316604483015260648201529116925063a6d09dc89150608401600060405180830381600087803b1580156107f157600080fd5b505af1158015610805573d6000803e3d6000fd5b505050505b84608001517f9a96d939e838e8499325cdd0ab8ada4766e4783add4060e6e328f6a5113c60718660600151838587604051610848949392919061119b565b60405180910390a2505050505050565b6000602081905290815260409020805461087190610fdf565b80601f016020809104026020016040519081016040528092919081815260200182805461089d90610fdf565b80156108ea5780601f106108bf576101008083540402835291602001916108ea565b820191906000526020600020905b8154815290600101906020018083116108cd57829003601f168201915b505050505081565b604080516060810182526000808252602080830182905282840182905284825281905291909120805461092490610fdf565b80601f016020809104026020016040519081016040528092919081815260200182805461095090610fdf565b801561099d5780601f106109725761010080835404028352916020019161099d565b820191906000526020600020905b81548152906001019060200180831161098057829003601f168201915b50505050508060200190518101906109b591906111dc565b92915050565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610a2a576040517fbb44f97c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50565b610a636040805160c08101825260008082526020820181905291810182905260608101829052608081018290529060a082015290565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610ad2576040517fbb44f97c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040518060c001604052804281526020018473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff16815260200185815260200186815260200160016005811115610b3a57610b3a610f0c565b905290506000610b49866108f2565b8051602082015160408084015190517fbba9f26f00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8981166004830152602482018c905292831660448201526064810191909152929350169063bba9f26f90608401600060405180830381600087803b158015610bd757600080fd5b505af1158015610beb573d6000803e3d6000fd5b50506040805188815273ffffffffffffffffffffffffffffffffffffffff888116602083015287168183015290518993507f10d26bcb7d6ba7d73ccfb97211024d458d277dce4abe8206bc5346aa4e55cd1e92509081900360600190a250949350505050565b600080600060408486031215610c6657600080fd5b83359250602084013567ffffffffffffffff80821115610c8557600080fd5b818601915086601f830112610c9957600080fd5b813581811115610ca857600080fd5b876020828501011115610cba57600080fd5b6020830194508093505050509250925092565b73ffffffffffffffffffffffffffffffffffffffff81168114610a2a57600080fd5b60008060408385031215610d0257600080fd5b823591506020830135610d1481610ccd565b809150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160c0810167ffffffffffffffff81118282101715610d7157610d71610d1f565b60405290565b60008082840360e0811215610d8b57600080fd5b8335925060c07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe082011215610dbf57600080fd5b50610dc8610d4e565b602084013581526040840135610ddd81610ccd565b60208201526060840135610df081610ccd565b6040820152608084810135606083015260a08501359082015260c084013560068110610e1b57600080fd5b60a0820152919491935090915050565b600060208284031215610e3d57600080fd5b5035919050565b6000815180845260005b81811015610e6a57602081850181015186830182015201610e4e565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b602081526000610ebb6020830184610e44565b9392505050565b60008060008060808587031215610ed857600080fd5b84359350602085013592506040850135610ef181610ccd565b91506060850135610f0181610ccd565b939692955090935050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60068110610f72577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9052565b600060c08201905082518252602083015173ffffffffffffffffffffffffffffffffffffffff80821660208501528060408601511660408501525050606083015160608301526080830151608083015260a0830151610fd860a0840182610f3b565b5092915050565b600181811c90821680610ff357607f821691505b60208210810361102c577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b601f8211156102df57600081815260208120601f850160051c810160208610156110595750805b601f850160051c820191505b8181101561107857828155600101611065565b505050505050565b67ffffffffffffffff83111561109857611098610d1f565b6110ac836110a68354610fdf565b83611032565b6000601f8411600181146110fe57600085156110c85750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b178355611194565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b8281101561114d578685013582556020948501946001909201910161112d565b5086821015611188577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b84815273ffffffffffffffffffffffffffffffffffffffff848116602083015283166040820152608081016111d36060830184610f3b565b95945050505050565b6000606082840312156111ee57600080fd5b6040516060810181811067ffffffffffffffff8211171561121157611211610d1f565b604052825161121f81610ccd565b8152602083015161122f81610ccd565b6020820152604092830151928101929092525091905056fea26469706673582212205eb5f753d2310df63fa5b3d4b59bca09b1e181afebc9ac1ecb000f0aee74642264736f6c63430008130033",
    "sourceMap": "405:3492:42:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;695:175:0;;;;;;:::i;:::-;;:::i;:::-;;900:95;;;;;;:::i;:::-;;:::i;1814:2081:42:-;;;;;;:::i;:::-;;:::i;237:68:0:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;201:31;;;;;;;;3726:42:113;3714:55;;;3696:74;;3684:2;3669:18;201:31:0;3534:242:113;701:179:42;;;;;;:::i;:::-;;:::i;:::-;;;;4082:13:113;;4009:42;4078:22;;;4060:41;;4161:4;4149:17;;;4143:24;4139:33;;;4117:20;;;4110:63;4217:17;;;4211:24;4189:20;;;4182:54;3987:2;3972:18;701:179:42;3781:461:113;571:94:0;653:6;571:94;;923:68:42;;;;;;:::i;:::-;;:::i;547:111::-;625:28;;;;;;;;;;;;;;;;;547:111;;1034:737;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;695:175:0:-;472:10;:29;494:6;472:29;;468:61;;510:19;;;;;;;;;;;;;;468:61;791:11:::1;:23:::0;;;::::1;::::0;;;;;;:31:::1;817:5:::0;;791:23;:31:::1;:::i;:::-;;828:37;695:175:::0;;;:::o;900:95::-;472:10;:29;494:6;472:29;;468:61;;510:19;;;;;;;;;;;;;;468:61;900:95;;:::o;1814:2081:42:-;472:10:0;:29;494:6;472:29;;468:61;;510:19;;;;;;;;;;;;;;468:61;1930:32:42::1;1965:37;1983:8;:18;;;1965:17;:37::i;:::-;2040:15;::::0;::::1;::::0;2081:17:::1;::::0;::::1;::::0;2124::::1;::::0;::::1;::::0;1930:72;;-1:-1:-1;2040:15:42;;2163:34:::1;2152:7;:45;;;;;;;;:::i;:::-;::::0;2148:1545:::1;;2253:27:::0;;2339:18:::1;::::0;::::1;::::0;2375:17:::1;::::0;::::1;::::0;2411:16:::1;::::0;;::::1;::::0;2253:183;;;;;:35:::1;9465:15:113::0;;;2253:183:42::1;::::0;::::1;9447:34:113::0;9497:18;;;9490:34;;;;9560:15;;;9540:18;;;9533:43;9592:18;;;9585:34;2253:35:42;::::1;::::0;::::1;::::0;9358:19:113;;2253:183:42::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;2445:27:42;;2531:18:::1;::::0;::::1;::::0;2567:17:::1;::::0;::::1;::::0;2603:16:::1;::::0;;::::1;::::0;2445:183;;;;;:35:::1;9465:15:113::0;;;2445:183:42::1;::::0;::::1;9447:34:113::0;9497:18;;;9490:34;;;;9560:15;;;9540:18;;;9533:43;9592:18;;;9585:34;2445:35:42;::::1;::::0;-1:-1:-1;2445:35:42::1;::::0;-1:-1:-1;9358:19:113;;2445:183:42::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;2148:1545;;;2656:25;2645:7;:36;;;;;;;;:::i;:::-;::::0;2641:1052:::1;;2757:27:::0;;2811:18:::1;::::0;::::1;::::0;2904:17:::1;::::0;::::1;::::0;2940:16:::1;::::0;;::::1;::::0;2757:208;;;;;::::1;::::0;::::1;9904:25:113::0;;;;2757:31:42::1;10026:15:113::0;;;10006:18;;;9999:43;10078:15;;;10058:18;;;10051:43;10130:15;;;10110:18;;;10103:43;10162:19;;;10155:35;2757:31:42;;::::1;::::0;::::1;::::0;9876:19:113;;2757:208:42::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;2973:27:42;;3059:18:::1;::::0;::::1;::::0;3095:17:::1;::::0;::::1;::::0;3131:16:::1;::::0;;::::1;::::0;2973:183;;;;;:35:::1;9465:15:113::0;;;2973:183:42::1;::::0;::::1;9447:34:113::0;9497:18;;;9490:34;;;;9560:15;;;9540:18;;;9533:43;9592:18;;;9585:34;2973:35:42;::::1;::::0;-1:-1:-1;2973:35:42::1;::::0;-1:-1:-1;9358:19:113;;2973:183:42::1;9140:485:113::0;2641:1052:42::1;3184:26;3173:7;:37;;;;;;;;:::i;:::-;::::0;3169:524:::1;;3287:27:::0;;3341:18:::1;::::0;::::1;::::0;3434:17:::1;::::0;::::1;::::0;3470:16:::1;::::0;;::::1;::::0;3287:208;;;;;::::1;::::0;::::1;9904:25:113::0;;;;3287:31:42::1;10026:15:113::0;;;10006:18;;;9999:43;10078:15;;;10058:18;;;10051:43;10130:15;;;10110:18;;;10103:43;10162:19;;;10155:35;3287:31:42;;::::1;::::0;::::1;::::0;9876:19:113;;3287:208:42::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;3503:27:42;;3589:18:::1;::::0;::::1;::::0;3625:17:::1;::::0;::::1;::::0;3661:16:::1;::::0;;::::1;::::0;3503:183;;;;;:35:::1;9465:15:113::0;;;3503:183:42::1;::::0;::::1;9447:34:113::0;9497:18;;;9490:34;;;;9560:15;;;9540:18;;;9533:43;9592:18;;;9585:34;3503:35:42;::::1;::::0;-1:-1:-1;3503:35:42::1;::::0;-1:-1:-1;9358:19:113;;3503:183:42::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;3169:524;3745:8;:18;;;3704:186;3784:8;:19;;;3822:9;3850;3876:7;3704:186;;;;;;;;;:::i;:::-;;;;;;;;1924:1971;;;;1814:2081:::0;;:::o;237:68:0:-;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;701:179:42:-;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;830:23:42;;;;;;;;;;819:56;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;809:66;701:179;-1:-1:-1;;701:179:42:o;923:68::-;472:10:0;:29;494:6;472:29;;468:61;;510:19;;;;;;;;;;;;;;468:61;923:68:42;:::o;1034:737::-;1187:31;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1187:31:42;472:10:0;:29;494:6;472:29;;468:61;;510:19;;;;;;;;;;;;;;468:61;1237:215:42::1;;;;;;;;1430:15;1237:215;;;;1271:9;1237:215;;;;;;1329:9;1237:215;;;;;;1300:11;1237:215;;;;1357:10;1237:215;;;;1383:28;1237:215;;;;;;;;:::i;:::-;::::0;;1226:226;-1:-1:-1;1459:32:42::1;1494:29;1512:10:::0;1494:17:::1;:29::i;:::-;1529:27:::0;;1634:17:::1;::::0;::::1;::::0;1668:16:::1;::::0;;::::1;::::0;1529:162;;;;;:32:::1;9465:15:113::0;;;1529:162:42::1;::::0;::::1;9447:34:113::0;9497:18;;;9490:34;;;9560:15;;;9540:18;;;9533:43;9592:18;;;9585:34;;;;1529:27:42;;-1:-1:-1;1529:32:42::1;::::0;::::1;::::0;9358:19:113;;1529:162:42::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;1703:63:42::1;::::0;;11633:25:113;;;11677:42;11755:15;;;11750:2;11735:18;;11728:43;11807:15;;11787:18;;;11780:43;1703:63:42;;1720:10;;-1:-1:-1;1703:63:42::1;::::0;-1:-1:-1;1703:63:42;;;;11621:2:113;1703:63:42;;::::1;1220:551;1034:737:::0;;;;;;:::o;14:659:113:-;93:6;101;109;162:2;150:9;141:7;137:23;133:32;130:52;;;178:1;175;168:12;130:52;214:9;201:23;191:33;;275:2;264:9;260:18;247:32;298:18;339:2;331:6;328:14;325:34;;;355:1;352;345:12;325:34;393:6;382:9;378:22;368:32;;438:7;431:4;427:2;423:13;419:27;409:55;;460:1;457;450:12;409:55;500:2;487:16;526:2;518:6;515:14;512:34;;;542:1;539;532:12;512:34;587:7;582:2;573:6;569:2;565:15;561:24;558:37;555:57;;;608:1;605;598:12;555:57;639:2;635;631:11;621:21;;661:6;651:16;;;;;14:659;;;;;:::o;678:154::-;764:42;757:5;753:54;746:5;743:65;733:93;;822:1;819;812:12;837:315;905:6;913;966:2;954:9;945:7;941:23;937:32;934:52;;;982:1;979;972:12;934:52;1018:9;1005:23;995:33;;1078:2;1067:9;1063:18;1050:32;1091:31;1116:5;1091:31;:::i;:::-;1141:5;1131:15;;;837:315;;;;;:::o;1157:184::-;1209:77;1206:1;1199:88;1306:4;1303:1;1296:15;1330:4;1327:1;1320:15;1346:248;1413:2;1407:9;1455:4;1443:17;;1490:18;1475:34;;1511:22;;;1472:62;1469:88;;;1537:18;;:::i;:::-;1573:2;1566:22;1346:248;:::o;1599:1037::-;1692:6;1700;1744:9;1735:7;1731:23;1774:3;1770:2;1766:12;1763:32;;;1791:1;1788;1781:12;1763:32;1827:9;1814:23;1804:33;;1930:4;1861:66;1857:2;1853:75;1849:86;1846:106;;;1948:1;1945;1938:12;1846:106;;1974:17;;:::i;:::-;2042:2;2031:9;2027:18;2014:32;2007:5;2000:47;2099:2;2088:9;2084:18;2071:32;2112:33;2137:7;2112:33;:::i;:::-;2172:2;2161:14;;2154:31;2237:2;2222:18;;2209:32;2250:33;2209:32;2250:33;:::i;:::-;2310:2;2299:14;;2292:31;2383:3;2368:19;;;2355:33;2350:2;2339:14;;2332:57;2450:3;2435:19;;2422:33;2405:15;;;2398:58;2508:4;2493:20;;2480:34;2545:1;2533:14;;2523:42;;2561:1;2558;2551:12;2523:42;2592:3;2581:15;;2574:32;1599:1037;;2585:5;;-1:-1:-1;1599:1037:113;;-1:-1:-1;;1599:1037:113:o;2641:180::-;2700:6;2753:2;2741:9;2732:7;2728:23;2724:32;2721:52;;;2769:1;2766;2759:12;2721:52;-1:-1:-1;2792:23:113;;2641:180;-1:-1:-1;2641:180:113:o;2826:481::-;2867:3;2905:5;2899:12;2932:6;2927:3;2920:19;2957:1;2967:162;2981:6;2978:1;2975:13;2967:162;;;3043:4;3099:13;;;3095:22;;3089:29;3071:11;;;3067:20;;3060:59;2996:12;2967:162;;;2971:3;3174:1;3167:4;3158:6;3153:3;3149:16;3145:27;3138:38;3296:4;3226:66;3221:2;3213:6;3209:15;3205:88;3200:3;3196:98;3192:109;3185:116;;;2826:481;;;;:::o;3312:217::-;3459:2;3448:9;3441:21;3422:4;3479:44;3519:2;3508:9;3504:18;3496:6;3479:44;:::i;:::-;3471:52;3312:217;-1:-1:-1;;;3312:217:113:o;4702:525::-;4788:6;4796;4804;4812;4865:3;4853:9;4844:7;4840:23;4836:33;4833:53;;;4882:1;4879;4872:12;4833:53;4918:9;4905:23;4895:33;;4975:2;4964:9;4960:18;4947:32;4937:42;;5029:2;5018:9;5014:18;5001:32;5042:31;5067:5;5042:31;:::i;:::-;5092:5;-1:-1:-1;5149:2:113;5134:18;;5121:32;5162:33;5121:32;5162:33;:::i;:::-;4702:525;;;;-1:-1:-1;4702:525:113;;-1:-1:-1;;4702:525:113:o;5232:184::-;5284:77;5281:1;5274:88;5381:4;5378:1;5371:15;5405:4;5402:1;5395:15;5421:298;5506:1;5499:5;5496:12;5486:200;;5542:77;5539:1;5532:88;5643:4;5640:1;5633:15;5671:4;5668:1;5661:15;5486:200;5695:18;;5421:298::o;5724:738::-;5866:4;5908:3;5897:9;5893:19;5885:27;;5945:6;5939:13;5928:9;5921:32;6000:4;5992:6;5988:17;5982:24;6025:42;6123:2;6109:12;6105:21;6098:4;6087:9;6083:20;6076:51;6195:2;6187:4;6179:6;6175:17;6169:24;6165:33;6158:4;6147:9;6143:20;6136:63;;;6255:4;6247:6;6243:17;6237:24;6230:4;6219:9;6215:20;6208:54;6318:4;6310:6;6306:17;6300:24;6293:4;6282:9;6278:20;6271:54;6374:4;6366:6;6362:17;6356:24;6389:67;6450:4;6439:9;6435:20;6419:14;6389:67;:::i;:::-;;5724:738;;;;:::o;6467:437::-;6546:1;6542:12;;;;6589;;;6610:61;;6664:4;6656:6;6652:17;6642:27;;6610:61;6717:2;6709:6;6706:14;6686:18;6683:38;6680:218;;6754:77;6751:1;6744:88;6855:4;6852:1;6845:15;6883:4;6880:1;6873:15;6680:218;;6467:437;;;:::o;7034:544::-;7135:2;7130:3;7127:11;7124:448;;;7171:1;7196:5;7192:2;7185:17;7241:4;7237:2;7227:19;7311:2;7299:10;7295:19;7292:1;7288:27;7282:4;7278:38;7347:4;7335:10;7332:20;7329:47;;;-1:-1:-1;7370:4:113;7329:47;7425:2;7420:3;7416:12;7413:1;7409:20;7403:4;7399:31;7389:41;;7480:82;7498:2;7491:5;7488:13;7480:82;;;7543:17;;;7524:1;7513:13;7480:82;;;7484:3;;;7034:544;;;:::o;7814:1321::-;7936:18;7931:3;7928:27;7925:53;;;7958:18;;:::i;:::-;7987:93;8076:3;8036:38;8068:4;8062:11;8036:38;:::i;:::-;8030:4;7987:93;:::i;:::-;8106:1;8131:2;8126:3;8123:11;8148:1;8143:734;;;;8921:1;8938:3;8935:93;;;-1:-1:-1;8994:19:113;;;8981:33;8935:93;7720:66;7711:1;7707:11;;;7703:84;7699:89;7689:100;7795:1;7791:11;;;7686:117;9041:78;;8116:1013;;8143:734;6981:1;6974:14;;;7018:4;7005:18;;8188:66;8179:76;;;8338:9;8360:229;8374:7;8371:1;8368:14;8360:229;;;8463:19;;;8450:33;8435:49;;8570:4;8555:20;;;;8523:1;8511:14;;;;8390:12;8360:229;;;8364:3;8617;8608:7;8605:16;8602:219;;;8737:66;8731:3;8725;8722:1;8718:11;8714:21;8710:94;8706:99;8693:9;8688:3;8684:19;8671:33;8667:139;8659:6;8652:155;8602:219;;;8864:1;8858:3;8855:1;8851:11;8847:19;8841:4;8834:33;8116:1013;;;7814:1321;;;:::o;10201:509::-;10448:25;;;10492:42;10570:15;;;10565:2;10550:18;;10543:43;10622:15;;10617:2;10602:18;;10595:43;10435:3;10420:19;;10647:57;10700:2;10685:18;;10677:6;10647:57;:::i;:::-;10201:509;;;;;;;:::o;10715:711::-;10821:6;10874:2;10862:9;10853:7;10849:23;10845:32;10842:52;;;10890:1;10887;10880:12;10842:52;10923:2;10917:9;10965:2;10957:6;10953:15;11034:6;11022:10;11019:22;10998:18;10986:10;10983:34;10980:62;10977:88;;;11045:18;;:::i;:::-;11081:2;11074:22;11118:16;;11143:31;11118:16;11143:31;:::i;:::-;11183:21;;11249:2;11234:18;;11228:25;11262:33;11228:25;11262:33;:::i;:::-;11323:2;11311:15;;11304:32;11390:2;11375:18;;;11369:25;11352:15;;;11345:50;;;;-1:-1:-1;11315:6:113;10715:711;-1:-1:-1;10715:711:113:o",
    "linkReferences": {},
    "immutableReferences": {
      "10": [
        {
          "start": 300,
          "length": 32
        },
        {
          "start": 453,
          "length": 32
        },
        {
          "start": 621,
          "length": 32
        },
        {
          "start": 764,
          "length": 32
        },
        {
          "start": 879,
          "length": 32
        },
        {
          "start": 2515,
          "length": 32
        },
        {
          "start": 2683,
          "length": 32
        }
      ]
    }
  },
  "methodIdentifiers": {
    "ORACLE()": "38013f02",
    "decodeRequestData(bytes32)": "4d610a46",
    "disputeEscalated(bytes32)": "7fadb88d",
    "disputeResponse(bytes32,bytes32,address,address)": "98660c18",
    "finalizeRequest(bytes32,address)": "309de607",
    "moduleName()": "93f0899a",
    "onDisputeStatusChange(bytes32,(uint256,address,address,bytes32,bytes32,uint8))": "34837c29",
    "oracle()": "7dc0d1d0",
    "requestData(bytes32)": "3661346b",
    "setupRequest(bytes32,bytes)": "2e76be2a"
  },
  "rawMetadata": "{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"contract IOracle\",\"name\":\"_oracle\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"Module_OnlyOracle\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"_requestId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"_responseId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_disputer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_proposer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"enum IOracle.DisputeStatus\",\"name\":\"_status\",\"type\":\"uint8\"}],\"name\":\"DisputeStatusChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"_requestId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_finalizer\",\"type\":\"address\"}],\"name\":\"RequestFinalized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"_requestId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"_responseId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_disputer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"_proposer\",\"type\":\"address\"}],\"name\":\"ResponseDisputed\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"ORACLE\",\"outputs\":[{\"internalType\":\"contract IOracle\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_requestId\",\"type\":\"bytes32\"}],\"name\":\"decodeRequestData\",\"outputs\":[{\"components\":[{\"internalType\":\"contract IAccountingExtension\",\"name\":\"accountingExtension\",\"type\":\"address\"},{\"internalType\":\"contract IERC20\",\"name\":\"bondToken\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"bondSize\",\"type\":\"uint256\"}],\"internalType\":\"struct IBondedDisputeModule.RequestParameters\",\"name\":\"_params\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_disputeId\",\"type\":\"bytes32\"}],\"name\":\"disputeEscalated\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_requestId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"_responseId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_disputer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_proposer\",\"type\":\"address\"}],\"name\":\"disputeResponse\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"createdAt\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"disputer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"responseId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"requestId\",\"type\":\"bytes32\"},{\"internalType\":\"enum IOracle.DisputeStatus\",\"name\":\"status\",\"type\":\"uint8\"}],\"internalType\":\"struct IOracle.Dispute\",\"name\":\"_dispute\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_requestId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_finalizer\",\"type\":\"address\"}],\"name\":\"finalizeRequest\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"moduleName\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"_moduleName\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"createdAt\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"disputer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"responseId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"requestId\",\"type\":\"bytes32\"},{\"internalType\":\"enum IOracle.DisputeStatus\",\"name\":\"status\",\"type\":\"uint8\"}],\"internalType\":\"struct IOracle.Dispute\",\"name\":\"_dispute\",\"type\":\"tuple\"}],\"name\":\"onDisputeStatusChange\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"oracle\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"_oracle\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_requestId\",\"type\":\"bytes32\"}],\"name\":\"requestData\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"_requestData\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_requestId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"setupRequest\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"DisputeStatusChanged(bytes32,bytes32,address,address,uint8)\":{\"params\":{\"_disputer\":\"The address of the disputed\",\"_proposer\":\"The address of the proposer\",\"_requestId\":\"The id of the request\",\"_responseId\":\"The id of the response\",\"_status\":\"The new status of the dispute\"}},\"RequestFinalized(bytes32,address)\":{\"params\":{\"_finalizer\":\"The address that initiated the finalization\",\"_requestId\":\"The ID of the request that was finalized\"}},\"ResponseDisputed(bytes32,bytes32,address,address)\":{\"params\":{\"_disputer\":\"The address of the disputed\",\"_proposer\":\"The address of the proposer\",\"_requestId\":\"The id of the request created\",\"_responseId\":\"The id of the response disputed\"}}},\"kind\":\"dev\",\"methods\":{\"decodeRequestData(bytes32)\":{\"params\":{\"_requestId\":\"The ID of the request\"},\"returns\":{\"_params\":\"The struct containing the parameters for the request\"}},\"disputeEscalated(bytes32)\":{\"params\":{\"_disputeId\":\"The ID of the dispute being escalated\"}},\"disputeResponse(bytes32,bytes32,address,address)\":{\"params\":{\"_disputer\":\"The address of the user who disputed the response\",\"_proposer\":\"The address of the user who proposed the disputed response\",\"_requestId\":\"The ID of the request whose response is disputed\",\"_responseId\":\"The ID of the response being disputed\"},\"returns\":{\"_dispute\":\"The dispute on the proposed response\"}},\"finalizeRequest(bytes32,address)\":{\"params\":{\"_finalizer\":\"The address that initiated the finalization\",\"_requestId\":\"The ID of the request being finalized\"}},\"moduleName()\":{\"returns\":{\"_moduleName\":\"The name of the module.\"}},\"onDisputeStatusChange(bytes32,(uint256,address,address,bytes32,bytes32,uint8))\":{\"params\":{\"_dispute\":\"The dispute object\",\"_disputeId\":\"The ID of the dispute being updated\"}},\"oracle()\":{\"returns\":{\"_oracle\":\"The address of the oracle\"}},\"setupRequest(bytes32,bytes)\":{\"params\":{\"_data\":\"The data of the request\",\"_requestId\":\"The ID of the request\"}}},\"version\":1},\"userdoc\":{\"errors\":{\"Module_OnlyOracle()\":[{\"notice\":\"Thrown when the caller is not the oracle\"}]},\"events\":{\"DisputeStatusChanged(bytes32,bytes32,address,address,uint8)\":{\"notice\":\"Emitted when a dispute status is updated\"},\"RequestFinalized(bytes32,address)\":{\"notice\":\"Emitted when a request is finalized\"},\"ResponseDisputed(bytes32,bytes32,address,address)\":{\"notice\":\"Emitted when a response is disputed\"}},\"kind\":\"user\",\"methods\":{\"decodeRequestData(bytes32)\":{\"notice\":\"Returns the decoded data for a request\"},\"disputeEscalated(bytes32)\":{\"notice\":\"Called by the oracle when a dispute has been escalated. Not implemented in this module\"},\"disputeResponse(bytes32,bytes32,address,address)\":{\"notice\":\"Called by the oracle when a dispute has been made on a response. Bonds the tokens of the disputer.\"},\"finalizeRequest(bytes32,address)\":{\"notice\":\"Finalizes a given request and executes any additional logic set by the chosen modules\"},\"moduleName()\":{\"notice\":\"Returns the name of the module.\"},\"onDisputeStatusChange(bytes32,(uint256,address,address,bytes32,bytes32,uint8))\":{\"notice\":\"Called by the oracle when a dispute status has been updated. According to the result of the dispute, bonds are released to the proposer or paid to the disputer.\"},\"oracle()\":{\"notice\":\"Returns the address of the oracle\"},\"requestData(bytes32)\":{\"notice\":\"Returns the data of the request associated with the provided id\"},\"setupRequest(bytes32,bytes)\":{\"notice\":\"Stores the request data and runs module-specific hooks\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"solidity/contracts/modules/dispute/BondedDisputeModule.sol\":\"BondedDisputeModule\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":10000},\"remappings\":[\":@defi-wonderland/=node_modules/@defi-wonderland/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\",\":solmate/=node_modules/solmate/src/\"]},\"sources\":{\"node_modules/@defi-wonderland/prophet-core-contracts/solidity/contracts/Module.sol\":{\"keccak256\":\"0xb528e0eea66984412d038db1edcbfe77ac642089975fae6b0b44e8be13319bbf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e70d520407288d43d7c735fd7355502b514ba6feacaeb4a5dd86497e3f91eb41\",\"dweb:/ipfs/QmPXY7uXjnsFacp6VpL45bMrxCZGtQ8AAnecTXC9ASkpV7\"]},\"node_modules/@defi-wonderland/prophet-core-contracts/solidity/interfaces/IModule.sol\":{\"keccak256\":\"0x72c2f68e8c2b749d9ae745269c706b137a640d6bd6f65f966238b547d61e3a05\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4edb1aae7c4abd875d2da44a2dd83781c3c0a3d059edf2d1f2be1c44f865456f\",\"dweb:/ipfs/QmbEHy8tENha1ANEEZADpH4THmqC8aHyCXxFYPw4tS5mf4\"]},\"node_modules/@defi-wonderland/prophet-core-contracts/solidity/interfaces/IOracle.sol\":{\"keccak256\":\"0x606262b4bb3b1447b1f6afef8a1b49088956b168a4b066f6f60da4712b95d3cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a763cdb6ba9f12a93e3d5238d6d3235c5c0c229df94793927f9d2abe00542823\",\"dweb:/ipfs/QmbAbfVyCiHvNvhHxc5r8tK5GUuVBATo15Ma5MirhZPtE6\"]},\"node_modules/@defi-wonderland/prophet-core-contracts/solidity/interfaces/modules/dispute/IDisputeModule.sol\":{\"keccak256\":\"0x21707db43d55ba040893ef0ffefa7f9740c6e03b94d750637e6b2c047a16baa4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ae582ca2fdd6fc82c650333066c95a917221282ad7ef15ea62fb4a31e4ed864d\",\"dweb:/ipfs/QmdxvkpNCK46uYv31TxAtxCiRPSoxbT4hrs94WQfR4ctTM\"]},\"node_modules/@defi-wonderland/prophet-core-contracts/solidity/interfaces/modules/finality/IFinalityModule.sol\":{\"keccak256\":\"0xf6f465732ee119879e3317227f9cf6468055f4f98acdb4365f5b4eacda32948e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://82e1928a7bbc5bce95e1b83d917e1470c72a0bec7494f6f42471b21c0f2b641e\",\"dweb:/ipfs/QmSjaBsNhzCfQd5xwZa98LNYSZ1TqAqo6inRTGD31ua4L8\"]},\"node_modules/@defi-wonderland/prophet-core-contracts/solidity/interfaces/modules/request/IRequestModule.sol\":{\"keccak256\":\"0xefa5dd3334a1676cca1c1860c66c16adb1e399917742476d15de8737b5cb0032\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://03bcff0500f4054b5f71b0badd1779f8dfaa7fc74fc64788991438a1d9d2d14d\",\"dweb:/ipfs/QmdDjbGPgBfbbyT26Xtt9uBD7nYnhSK43fa9skfuBrfjCc\"]},\"node_modules/@defi-wonderland/prophet-core-contracts/solidity/interfaces/modules/resolution/IResolutionModule.sol\":{\"keccak256\":\"0x36e75a87661b234be605a7455c88eaf4e7cbc9f5b4ea08133dd6d9d5af8d6bc6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://232536c4e8b2e9114035e57360976ff24931459fb22a026114d392d3e315ea67\",\"dweb:/ipfs/QmPYKU5RDGMqTZZzCCvVy7ssush4EQGgCCbzbeGpnejGno\"]},\"node_modules/@defi-wonderland/prophet-core-contracts/solidity/interfaces/modules/response/IResponseModule.sol\":{\"keccak256\":\"0xd0610065a22a8d3323427d871a73b835e4d0dffb3afe4bb7e8bbee81b8b9ed1b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8c72dcbd36f11e87fc21c922684e5524f0c83830dc945ac92614ea1cd770a1bf\",\"dweb:/ipfs/QmfYnQfSDd2jS9QEAdpmDF6wVXWqitQpmJsSeEHs1mtUQP\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"solidity/contracts/modules/dispute/BondedDisputeModule.sol\":{\"keccak256\":\"0x0a68f04b959218d1288958885cbf84d0cfae68265385c580fa9ce6a3b03bdb37\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://104d6bded417f856123959c4415b4025691271e4a7bb27e212e568dbd01bad78\",\"dweb:/ipfs/QmbB11ynKR95q3H5voYVB9Pf5jMMbMTUc73PjnUugFuiXc\"]},\"solidity/interfaces/extensions/IAccountingExtension.sol\":{\"keccak256\":\"0x31b990f92e67ce2b480ca97fcc54d44dddaa82fa60259439d8556bfbb7963d0e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://23e6ef2026bf40ef58f625b7377c70e4988902ae14df333e9be35129a57a87f0\",\"dweb:/ipfs/QmW1RfXvujkVHqXazdeTKshba9rX6kzSCRfZKBwLi38Ue5\"]},\"solidity/interfaces/modules/dispute/IBondedDisputeModule.sol\":{\"keccak256\":\"0x88abeff6c8fcc0a0a85f62dcbd6c413e4d07aaff224d4d0e021cd1334928839b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4e46d02fc61ba7baa42b857156c870a06e47d514e27e003fea03345c99c6619f\",\"dweb:/ipfs/QmPBJRi7N9KGst5aQKMtGeKUoZH2Zrb3NuRYuk2MKBiefK\"]}},\"version\":1}",
  "metadata": {
    "compiler": {
      "version": "0.8.19+commit.7dd6d404"
    },
    "language": "Solidity",
    "output": {
      "abi": [
        {
          "inputs": [
            {
              "internalType": "contract IOracle",
              "name": "_oracle",
              "type": "address"
            }
          ],
          "stateMutability": "nonpayable",
          "type": "constructor"
        },
        {
          "inputs": [],
          "type": "error",
          "name": "Module_OnlyOracle"
        },
        {
          "inputs": [
            {
              "internalType": "bytes32",
              "name": "_requestId",
              "type": "bytes32",
              "indexed": true
            },
            {
              "internalType": "bytes32",
              "name": "_responseId",
              "type": "bytes32",
              "indexed": false
            },
            {
              "internalType": "address",
              "name": "_disputer",
              "type": "address",
              "indexed": false
            },
            {
              "internalType": "address",
              "name": "_proposer",
              "type": "address",
              "indexed": false
            },
            {
              "internalType": "enum IOracle.DisputeStatus",
              "name": "_status",
              "type": "uint8",
              "indexed": false
            }
          ],
          "type": "event",
          "name": "DisputeStatusChanged",
          "anonymous": false
        },
        {
          "inputs": [
            {
              "internalType": "bytes32",
              "name": "_requestId",
              "type": "bytes32",
              "indexed": true
            },
            {
              "internalType": "address",
              "name": "_finalizer",
              "type": "address",
              "indexed": false
            }
          ],
          "type": "event",
          "name": "RequestFinalized",
          "anonymous": false
        },
        {
          "inputs": [
            {
              "internalType": "bytes32",
              "name": "_requestId",
              "type": "bytes32",
              "indexed": true
            },
            {
              "internalType": "bytes32",
              "name": "_responseId",
              "type": "bytes32",
              "indexed": false
            },
            {
              "internalType": "address",
              "name": "_disputer",
              "type": "address",
              "indexed": false
            },
            {
              "internalType": "address",
              "name": "_proposer",
              "type": "address",
              "indexed": false
            }
          ],
          "type": "event",
          "name": "ResponseDisputed",
          "anonymous": false
        },
        {
          "inputs": [],
          "stateMutability": "view",
          "type": "function",
          "name": "ORACLE",
          "outputs": [
            {
              "internalType": "contract IOracle",
              "name": "",
              "type": "address"
            }
          ]
        },
        {
          "inputs": [
            {
              "internalType": "bytes32",
              "name": "_requestId",
              "type": "bytes32"
            }
          ],
          "stateMutability": "view",
          "type": "function",
          "name": "decodeRequestData",
          "outputs": [
            {
              "internalType": "struct IBondedDisputeModule.RequestParameters",
              "name": "_params",
              "type": "tuple",
              "components": [
                {
                  "internalType": "contract IAccountingExtension",
                  "name": "accountingExtension",
                  "type": "address"
                },
                {
                  "internalType": "contract IERC20",
                  "name": "bondToken",
                  "type": "address"
                },
                {
                  "internalType": "uint256",
                  "name": "bondSize",
                  "type": "uint256"
                }
              ]
            }
          ]
        },
        {
          "inputs": [
            {
              "internalType": "bytes32",
              "name": "_disputeId",
              "type": "bytes32"
            }
          ],
          "stateMutability": "nonpayable",
          "type": "function",
          "name": "disputeEscalated"
        },
        {
          "inputs": [
            {
              "internalType": "bytes32",
              "name": "_requestId",
              "type": "bytes32"
            },
            {
              "internalType": "bytes32",
              "name": "_responseId",
              "type": "bytes32"
            },
            {
              "internalType": "address",
              "name": "_disputer",
              "type": "address"
            },
            {
              "internalType": "address",
              "name": "_proposer",
              "type": "address"
            }
          ],
          "stateMutability": "nonpayable",
          "type": "function",
          "name": "disputeResponse",
          "outputs": [
            {
              "internalType": "struct IOracle.Dispute",
              "name": "_dispute",
              "type": "tuple",
              "components": [
                {
                  "internalType": "uint256",
                  "name": "createdAt",
                  "type": "uint256"
                },
                {
                  "internalType": "address",
                  "name": "disputer",
                  "type": "address"
                },
                {
                  "internalType": "address",
                  "name": "proposer",
                  "type": "address"
                },
                {
                  "internalType": "bytes32",
                  "name": "responseId",
                  "type": "bytes32"
                },
                {
                  "internalType": "bytes32",
                  "name": "requestId",
                  "type": "bytes32"
                },
                {
                  "internalType": "enum IOracle.DisputeStatus",
                  "name": "status",
                  "type": "uint8"
                }
              ]
            }
          ]
        },
        {
          "inputs": [
            {
              "internalType": "bytes32",
              "name": "_requestId",
              "type": "bytes32"
            },
            {
              "internalType": "address",
              "name": "_finalizer",
              "type": "address"
            }
          ],
          "stateMutability": "nonpayable",
          "type": "function",
          "name": "finalizeRequest"
        },
        {
          "inputs": [],
          "stateMutability": "pure",
          "type": "function",
          "name": "moduleName",
          "outputs": [
            {
              "internalType": "string",
              "name": "_moduleName",
              "type": "string"
            }
          ]
        },
        {
          "inputs": [
            {
              "internalType": "bytes32",
              "name": "",
              "type": "bytes32"
            },
            {
              "internalType": "struct IOracle.Dispute",
              "name": "_dispute",
              "type": "tuple",
              "components": [
                {
                  "internalType": "uint256",
                  "name": "createdAt",
                  "type": "uint256"
                },
                {
                  "internalType": "address",
                  "name": "disputer",
                  "type": "address"
                },
                {
                  "internalType": "address",
                  "name": "proposer",
                  "type": "address"
                },
                {
                  "internalType": "bytes32",
                  "name": "responseId",
                  "type": "bytes32"
                },
                {
                  "internalType": "bytes32",
                  "name": "requestId",
                  "type": "bytes32"
                },
                {
                  "internalType": "enum IOracle.DisputeStatus",
                  "name": "status",
                  "type": "uint8"
                }
              ]
            }
          ],
          "stateMutability": "nonpayable",
          "type": "function",
          "name": "onDisputeStatusChange"
        },
        {
          "inputs": [],
          "stateMutability": "view",
          "type": "function",
          "name": "oracle",
          "outputs": [
            {
              "internalType": "address",
              "name": "_oracle",
              "type": "address"
            }
          ]
        },
        {
          "inputs": [
            {
              "internalType": "bytes32",
              "name": "_requestId",
              "type": "bytes32"
            }
          ],
          "stateMutability": "view",
          "type": "function",
          "name": "requestData",
          "outputs": [
            {
              "internalType": "bytes",
              "name": "_requestData",
              "type": "bytes"
            }
          ]
        },
        {
          "inputs": [
            {
              "internalType": "bytes32",
              "name": "_requestId",
              "type": "bytes32"
            },
            {
              "internalType": "bytes",
              "name": "_data",
              "type": "bytes"
            }
          ],
          "stateMutability": "nonpayable",
          "type": "function",
          "name": "setupRequest"
        }
      ],
      "devdoc": {
        "kind": "dev",
        "methods": {
          "decodeRequestData(bytes32)": {
            "params": {
              "_requestId": "The ID of the request"
            },
            "returns": {
              "_params": "The struct containing the parameters for the request"
            }
          },
          "disputeEscalated(bytes32)": {
            "params": {
              "_disputeId": "The ID of the dispute being escalated"
            }
          },
          "disputeResponse(bytes32,bytes32,address,address)": {
            "params": {
              "_disputer": "The address of the user who disputed the response",
              "_proposer": "The address of the user who proposed the disputed response",
              "_requestId": "The ID of the request whose response is disputed",
              "_responseId": "The ID of the response being disputed"
            },
            "returns": {
              "_dispute": "The dispute on the proposed response"
            }
          },
          "finalizeRequest(bytes32,address)": {
            "params": {
              "_finalizer": "The address that initiated the finalization",
              "_requestId": "The ID of the request being finalized"
            }
          },
          "moduleName()": {
            "returns": {
              "_moduleName": "The name of the module."
            }
          },
          "onDisputeStatusChange(bytes32,(uint256,address,address,bytes32,bytes32,uint8))": {
            "params": {
              "_dispute": "The dispute object",
              "_disputeId": "The ID of the dispute being updated"
            }
          },
          "oracle()": {
            "returns": {
              "_oracle": "The address of the oracle"
            }
          },
          "setupRequest(bytes32,bytes)": {
            "params": {
              "_data": "The data of the request",
              "_requestId": "The ID of the request"
            }
          }
        },
        "version": 1
      },
      "userdoc": {
        "kind": "user",
        "methods": {
          "decodeRequestData(bytes32)": {
            "notice": "Returns the decoded data for a request"
          },
          "disputeEscalated(bytes32)": {
            "notice": "Called by the oracle when a dispute has been escalated. Not implemented in this module"
          },
          "disputeResponse(bytes32,bytes32,address,address)": {
            "notice": "Called by the oracle when a dispute has been made on a response. Bonds the tokens of the disputer."
          },
          "finalizeRequest(bytes32,address)": {
            "notice": "Finalizes a given request and executes any additional logic set by the chosen modules"
          },
          "moduleName()": {
            "notice": "Returns the name of the module."
          },
          "onDisputeStatusChange(bytes32,(uint256,address,address,bytes32,bytes32,uint8))": {
            "notice": "Called by the oracle when a dispute status has been updated. According to the result of the dispute, bonds are released to the proposer or paid to the disputer."
          },
          "oracle()": {
            "notice": "Returns the address of the oracle"
          },
          "requestData(bytes32)": {
            "notice": "Returns the data of the request associated with the provided id"
          },
          "setupRequest(bytes32,bytes)": {
            "notice": "Stores the request data and runs module-specific hooks"
          }
        },
        "version": 1
      }
    },
    "settings": {
      "remappings": [
        "@defi-wonderland/=node_modules/@defi-wonderland/",
        "@openzeppelin/=node_modules/@openzeppelin/",
        "ds-test/=node_modules/ds-test/src/",
        "forge-std/=node_modules/forge-std/src/",
        "solmate/=node_modules/solmate/src/"
      ],
      "optimizer": {
        "enabled": true,
        "runs": 10000
      },
      "metadata": {
        "bytecodeHash": "ipfs"
      },
      "compilationTarget": {
        "solidity/contracts/modules/dispute/BondedDisputeModule.sol": "BondedDisputeModule"
      },
      "libraries": {}
    },
    "sources": {
      "node_modules/@defi-wonderland/prophet-core-contracts/solidity/contracts/Module.sol": {
        "keccak256": "0xb528e0eea66984412d038db1edcbfe77ac642089975fae6b0b44e8be13319bbf",
        "urls": [
          "bzz-raw://e70d520407288d43d7c735fd7355502b514ba6feacaeb4a5dd86497e3f91eb41",
          "dweb:/ipfs/QmPXY7uXjnsFacp6VpL45bMrxCZGtQ8AAnecTXC9ASkpV7"
        ],
        "license": "MIT"
      },
      "node_modules/@defi-wonderland/prophet-core-contracts/solidity/interfaces/IModule.sol": {
        "keccak256": "0x72c2f68e8c2b749d9ae745269c706b137a640d6bd6f65f966238b547d61e3a05",
        "urls": [
          "bzz-raw://4edb1aae7c4abd875d2da44a2dd83781c3c0a3d059edf2d1f2be1c44f865456f",
          "dweb:/ipfs/QmbEHy8tENha1ANEEZADpH4THmqC8aHyCXxFYPw4tS5mf4"
        ],
        "license": "MIT"
      },
      "node_modules/@defi-wonderland/prophet-core-contracts/solidity/interfaces/IOracle.sol": {
        "keccak256": "0x606262b4bb3b1447b1f6afef8a1b49088956b168a4b066f6f60da4712b95d3cf",
        "urls": [
          "bzz-raw://a763cdb6ba9f12a93e3d5238d6d3235c5c0c229df94793927f9d2abe00542823",
          "dweb:/ipfs/QmbAbfVyCiHvNvhHxc5r8tK5GUuVBATo15Ma5MirhZPtE6"
        ],
        "license": "MIT"
      },
      "node_modules/@defi-wonderland/prophet-core-contracts/solidity/interfaces/modules/dispute/IDisputeModule.sol": {
        "keccak256": "0x21707db43d55ba040893ef0ffefa7f9740c6e03b94d750637e6b2c047a16baa4",
        "urls": [
          "bzz-raw://ae582ca2fdd6fc82c650333066c95a917221282ad7ef15ea62fb4a31e4ed864d",
          "dweb:/ipfs/QmdxvkpNCK46uYv31TxAtxCiRPSoxbT4hrs94WQfR4ctTM"
        ],
        "license": "MIT"
      },
      "node_modules/@defi-wonderland/prophet-core-contracts/solidity/interfaces/modules/finality/IFinalityModule.sol": {
        "keccak256": "0xf6f465732ee119879e3317227f9cf6468055f4f98acdb4365f5b4eacda32948e",
        "urls": [
          "bzz-raw://82e1928a7bbc5bce95e1b83d917e1470c72a0bec7494f6f42471b21c0f2b641e",
          "dweb:/ipfs/QmSjaBsNhzCfQd5xwZa98LNYSZ1TqAqo6inRTGD31ua4L8"
        ],
        "license": "MIT"
      },
      "node_modules/@defi-wonderland/prophet-core-contracts/solidity/interfaces/modules/request/IRequestModule.sol": {
        "keccak256": "0xefa5dd3334a1676cca1c1860c66c16adb1e399917742476d15de8737b5cb0032",
        "urls": [
          "bzz-raw://03bcff0500f4054b5f71b0badd1779f8dfaa7fc74fc64788991438a1d9d2d14d",
          "dweb:/ipfs/QmdDjbGPgBfbbyT26Xtt9uBD7nYnhSK43fa9skfuBrfjCc"
        ],
        "license": "MIT"
      },
      "node_modules/@defi-wonderland/prophet-core-contracts/solidity/interfaces/modules/resolution/IResolutionModule.sol": {
        "keccak256": "0x36e75a87661b234be605a7455c88eaf4e7cbc9f5b4ea08133dd6d9d5af8d6bc6",
        "urls": [
          "bzz-raw://232536c4e8b2e9114035e57360976ff24931459fb22a026114d392d3e315ea67",
          "dweb:/ipfs/QmPYKU5RDGMqTZZzCCvVy7ssush4EQGgCCbzbeGpnejGno"
        ],
        "license": "MIT"
      },
      "node_modules/@defi-wonderland/prophet-core-contracts/solidity/interfaces/modules/response/IResponseModule.sol": {
        "keccak256": "0xd0610065a22a8d3323427d871a73b835e4d0dffb3afe4bb7e8bbee81b8b9ed1b",
        "urls": [
          "bzz-raw://8c72dcbd36f11e87fc21c922684e5524f0c83830dc945ac92614ea1cd770a1bf",
          "dweb:/ipfs/QmfYnQfSDd2jS9QEAdpmDF6wVXWqitQpmJsSeEHs1mtUQP"
        ],
        "license": "MIT"
      },
      "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": {
        "keccak256": "0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305",
        "urls": [
          "bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5",
          "dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"
        ],
        "license": "MIT"
      },
      "solidity/contracts/modules/dispute/BondedDisputeModule.sol": {
        "keccak256": "0x0a68f04b959218d1288958885cbf84d0cfae68265385c580fa9ce6a3b03bdb37",
        "urls": [
          "bzz-raw://104d6bded417f856123959c4415b4025691271e4a7bb27e212e568dbd01bad78",
          "dweb:/ipfs/QmbB11ynKR95q3H5voYVB9Pf5jMMbMTUc73PjnUugFuiXc"
        ],
        "license": "MIT"
      },
      "solidity/interfaces/extensions/IAccountingExtension.sol": {
        "keccak256": "0x31b990f92e67ce2b480ca97fcc54d44dddaa82fa60259439d8556bfbb7963d0e",
        "urls": [
          "bzz-raw://23e6ef2026bf40ef58f625b7377c70e4988902ae14df333e9be35129a57a87f0",
          "dweb:/ipfs/QmW1RfXvujkVHqXazdeTKshba9rX6kzSCRfZKBwLi38Ue5"
        ],
        "license": "MIT"
      },
      "solidity/interfaces/modules/dispute/IBondedDisputeModule.sol": {
        "keccak256": "0x88abeff6c8fcc0a0a85f62dcbd6c413e4d07aaff224d4d0e021cd1334928839b",
        "urls": [
          "bzz-raw://4e46d02fc61ba7baa42b857156c870a06e47d514e27e003fea03345c99c6619f",
          "dweb:/ipfs/QmPBJRi7N9KGst5aQKMtGeKUoZH2Zrb3NuRYuk2MKBiefK"
        ],
        "license": "MIT"
      }
    },
    "version": 1
  },
  "ast": {
    "absolutePath": "solidity/contracts/modules/dispute/BondedDisputeModule.sol",
    "id": 37177,
    "exportedSymbols": {
      "BondedDisputeModule": [
        37176
      ],
      "IBondedDisputeModule": [
        43065
      ],
      "IModule": [
        1782
      ],
      "IOracle": [
        2282
      ],
      "Module": [
        98
      ]
    },
    "nodeType": "SourceUnit",
    "src": "32:3866:42",
    "nodes": [
      {
        "id": 36900,
        "nodeType": "PragmaDirective",
        "src": "32:24:42",
        "nodes": [],
        "literals": [
          "solidity",
          "^",
          "0.8",
          ".19"
        ]
      },
      {
        "id": 36903,
        "nodeType": "ImportDirective",
        "src": "104:102:42",
        "nodes": [],
        "absolutePath": "node_modules/@defi-wonderland/prophet-core-contracts/solidity/contracts/Module.sol",
        "file": "@defi-wonderland/prophet-core-contracts/solidity/contracts/Module.sol",
        "nameLocation": "-1:-1:-1",
        "scope": 37177,
        "sourceUnit": 99,
        "symbolAliases": [
          {
            "foreign": {
              "id": 36901,
              "name": "Module",
              "nodeType": "Identifier",
              "overloadedDeclarations": [],
              "referencedDeclaration": 98,
              "src": "112:6:42",
              "typeDescriptions": {}
            },
            "nameLocation": "-1:-1:-1"
          },
          {
            "foreign": {
              "id": 36902,
              "name": "IModule",
              "nodeType": "Identifier",
              "overloadedDeclarations": [],
              "referencedDeclaration": 1782,
              "src": "120:7:42",
              "typeDescriptions": {}
            },
            "nameLocation": "-1:-1:-1"
          }
        ],
        "unitAlias": ""
      },
      {
        "id": 36905,
        "nodeType": "ImportDirective",
        "src": "207:96:42",
        "nodes": [],
        "absolutePath": "node_modules/@defi-wonderland/prophet-core-contracts/solidity/interfaces/IOracle.sol",
        "file": "@defi-wonderland/prophet-core-contracts/solidity/interfaces/IOracle.sol",
        "nameLocation": "-1:-1:-1",
        "scope": 37177,
        "sourceUnit": 2283,
        "symbolAliases": [
          {
            "foreign": {
              "id": 36904,
              "name": "IOracle",
              "nodeType": "Identifier",
              "overloadedDeclarations": [],
              "referencedDeclaration": 2282,
              "src": "215:7:42",
              "typeDescriptions": {}
            },
            "nameLocation": "-1:-1:-1"
          }
        ],
        "unitAlias": ""
      },
      {
        "id": 36907,
        "nodeType": "ImportDirective",
        "src": "305:98:42",
        "nodes": [],
        "absolutePath": "solidity/interfaces/modules/dispute/IBondedDisputeModule.sol",
        "file": "../../../interfaces/modules/dispute/IBondedDisputeModule.sol",
        "nameLocation": "-1:-1:-1",
        "scope": 37177,
        "sourceUnit": 43066,
        "symbolAliases": [
          {
            "foreign": {
              "id": 36906,
              "name": "IBondedDisputeModule",
              "nodeType": "Identifier",
              "overloadedDeclarations": [],
              "referencedDeclaration": 43065,
              "src": "313:20:42",
              "typeDescriptions": {}
            },
            "nameLocation": "-1:-1:-1"
          }
        ],
        "unitAlias": ""
      },
      {
        "id": 37176,
        "nodeType": "ContractDefinition",
        "src": "405:3492:42",
        "nodes": [
          {
            "id": 36921,
            "nodeType": "FunctionDefinition",
            "src": "470:47:42",
            "nodes": [],
            "body": {
              "id": 36920,
              "nodeType": "Block",
              "src": "515:2:42",
              "nodes": [],
              "statements": []
            },
            "implemented": true,
            "kind": "constructor",
            "modifiers": [
              {
                "arguments": [
                  {
                    "id": 36917,
                    "name": "_oracle",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 36914,
                    "src": "506:7:42",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_IOracle_$2282",
                      "typeString": "contract IOracle"
                    }
                  }
                ],
                "id": 36918,
                "kind": "baseConstructorSpecifier",
                "modifierName": {
                  "id": 36916,
                  "name": "Module",
                  "nameLocations": [
                    "499:6:42"
                  ],
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 98,
                  "src": "499:6:42"
                },
                "nodeType": "ModifierInvocation",
                "src": "499:15:42"
              }
            ],
            "name": "",
            "nameLocation": "-1:-1:-1",
            "parameters": {
              "id": 36915,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 36914,
                  "mutability": "mutable",
                  "name": "_oracle",
                  "nameLocation": "490:7:42",
                  "nodeType": "VariableDeclaration",
                  "scope": 36921,
                  "src": "482:15:42",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_IOracle_$2282",
                    "typeString": "contract IOracle"
                  },
                  "typeName": {
                    "id": 36913,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 36912,
                      "name": "IOracle",
                      "nameLocations": [
                        "482:7:42"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 2282,
                      "src": "482:7:42"
                    },
                    "referencedDeclaration": 2282,
                    "src": "482:7:42",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_IOracle_$2282",
                      "typeString": "contract IOracle"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "481:17:42"
            },
            "returnParameters": {
              "id": 36919,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "515:0:42"
            },
            "scope": 37176,
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "public"
          },
          {
            "id": 36930,
            "nodeType": "FunctionDefinition",
            "src": "547:111:42",
            "nodes": [],
            "body": {
              "id": 36929,
              "nodeType": "Block",
              "src": "619:39:42",
              "nodes": [],
              "statements": [
                {
                  "expression": {
                    "hexValue": "426f6e646564446973707574654d6f64756c65",
                    "id": 36927,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": true,
                    "kind": "string",
                    "lValueRequested": false,
                    "nodeType": "Literal",
                    "src": "632:21:42",
                    "typeDescriptions": {
                      "typeIdentifier": "t_stringliteral_b97c3cd7e5ee2489659f6fd86cd4d288c2f5ecec48f21c26d6585b068d89feab",
                      "typeString": "literal_string \"BondedDisputeModule\""
                    },
                    "value": "BondedDisputeModule"
                  },
                  "functionReturnParameters": 36926,
                  "id": 36928,
                  "nodeType": "Return",
                  "src": "625:28:42"
                }
              ]
            },
            "baseFunctions": [
              1781
            ],
            "documentation": {
              "id": 36922,
              "nodeType": "StructuredDocumentation",
              "src": "521:23:42",
              "text": "@inheritdoc IModule"
            },
            "functionSelector": "93f0899a",
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "moduleName",
            "nameLocation": "556:10:42",
            "parameters": {
              "id": 36923,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "566:2:42"
            },
            "returnParameters": {
              "id": 36926,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 36925,
                  "mutability": "mutable",
                  "name": "_moduleName",
                  "nameLocation": "606:11:42",
                  "nodeType": "VariableDeclaration",
                  "scope": 36930,
                  "src": "592:25:42",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 36924,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "592:6:42",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "591:27:42"
            },
            "scope": 37176,
            "stateMutability": "pure",
            "virtual": false,
            "visibility": "external"
          },
          {
            "id": 36951,
            "nodeType": "FunctionDefinition",
            "src": "701:179:42",
            "nodes": [],
            "body": {
              "id": 36950,
              "nodeType": "Block",
              "src": "803:77:42",
              "nodes": [],
              "statements": [
                {
                  "expression": {
                    "id": 36948,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "id": 36939,
                      "name": "_params",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 36937,
                      "src": "809:7:42",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_RequestParameters_$43025_memory_ptr",
                        "typeString": "struct IBondedDisputeModule.RequestParameters memory"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "arguments": [
                        {
                          "baseExpression": {
                            "id": 36942,
                            "name": "requestData",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 14,
                            "src": "830:11:42",
                            "typeDescriptions": {
                              "typeIdentifier": "t_mapping$_t_bytes32_$_t_bytes_storage_$",
                              "typeString": "mapping(bytes32 => bytes storage ref)"
                            }
                          },
                          "id": 36944,
                          "indexExpression": {
                            "id": 36943,
                            "name": "_requestId",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 36933,
                            "src": "842:10:42",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "830:23:42",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes_storage",
                            "typeString": "bytes storage ref"
                          }
                        },
                        {
                          "components": [
                            {
                              "id": 36945,
                              "name": "RequestParameters",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 43025,
                              "src": "856:17:42",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_struct$_RequestParameters_$43025_storage_ptr_$",
                                "typeString": "type(struct IBondedDisputeModule.RequestParameters storage pointer)"
                              }
                            }
                          ],
                          "id": 36946,
                          "isConstant": false,
                          "isInlineArray": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "nodeType": "TupleExpression",
                          "src": "855:19:42",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_struct$_RequestParameters_$43025_storage_ptr_$",
                            "typeString": "type(struct IBondedDisputeModule.RequestParameters storage pointer)"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_bytes_storage",
                            "typeString": "bytes storage ref"
                          },
                          {
                            "typeIdentifier": "t_type$_t_struct$_RequestParameters_$43025_storage_ptr_$",
                            "typeString": "type(struct IBondedDisputeModule.RequestParameters storage pointer)"
                          }
                        ],
                        "expression": {
                          "id": 36940,
                          "name": "abi",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": -1,
                          "src": "819:3:42",
                          "typeDescriptions": {
                            "typeIdentifier": "t_magic_abi",
                            "typeString": "abi"
                          }
                        },
                        "id": 36941,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "memberLocation": "823:6:42",
                        "memberName": "decode",
                        "nodeType": "MemberAccess",
                        "src": "819:10:42",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_abidecode_pure$__$returns$__$",
                          "typeString": "function () pure"
                        }
                      },
                      "id": 36947,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "819:56:42",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_RequestParameters_$43025_memory_ptr",
                        "typeString": "struct IBondedDisputeModule.RequestParameters memory"
                      }
                    },
                    "src": "809:66:42",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_RequestParameters_$43025_memory_ptr",
                      "typeString": "struct IBondedDisputeModule.RequestParameters memory"
                    }
                  },
                  "id": 36949,
                  "nodeType": "ExpressionStatement",
                  "src": "809:66:42"
                }
              ]
            },
            "baseFunctions": [
              43034
            ],
            "documentation": {
              "id": 36931,
              "nodeType": "StructuredDocumentation",
              "src": "662:36:42",
              "text": "@inheritdoc IBondedDisputeModule"
            },
            "functionSelector": "4d610a46",
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "decodeRequestData",
            "nameLocation": "710:17:42",
            "parameters": {
              "id": 36934,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 36933,
                  "mutability": "mutable",
                  "name": "_requestId",
                  "nameLocation": "736:10:42",
                  "nodeType": "VariableDeclaration",
                  "scope": 36951,
                  "src": "728:18:42",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 36932,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "728:7:42",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "727:20:42"
            },
            "returnParameters": {
              "id": 36938,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 36937,
                  "mutability": "mutable",
                  "name": "_params",
                  "nameLocation": "794:7:42",
                  "nodeType": "VariableDeclaration",
                  "scope": 36951,
                  "src": "769:32:42",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_RequestParameters_$43025_memory_ptr",
                    "typeString": "struct IBondedDisputeModule.RequestParameters"
                  },
                  "typeName": {
                    "id": 36936,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 36935,
                      "name": "RequestParameters",
                      "nameLocations": [
                        "769:17:42"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 43025,
                      "src": "769:17:42"
                    },
                    "referencedDeclaration": 43025,
                    "src": "769:17:42",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_RequestParameters_$43025_storage_ptr",
                      "typeString": "struct IBondedDisputeModule.RequestParameters"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "768:34:42"
            },
            "scope": 37176,
            "stateMutability": "view",
            "virtual": false,
            "visibility": "public"
          },
          {
            "id": 36960,
            "nodeType": "FunctionDefinition",
            "src": "923:68:42",
            "nodes": [],
            "body": {
              "id": 36959,
              "nodeType": "Block",
              "src": "989:2:42",
              "nodes": [],
              "statements": []
            },
            "baseFunctions": [
              43064
            ],
            "documentation": {
              "id": 36952,
              "nodeType": "StructuredDocumentation",
              "src": "884:36:42",
              "text": "@inheritdoc IBondedDisputeModule"
            },
            "functionSelector": "7fadb88d",
            "implemented": true,
            "kind": "function",
            "modifiers": [
              {
                "id": 36957,
                "kind": "modifierInvocation",
                "modifierName": {
                  "id": 36956,
                  "name": "onlyOracle",
                  "nameLocations": [
                    "978:10:42"
                  ],
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 41,
                  "src": "978:10:42"
                },
                "nodeType": "ModifierInvocation",
                "src": "978:10:42"
              }
            ],
            "name": "disputeEscalated",
            "nameLocation": "932:16:42",
            "parameters": {
              "id": 36955,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 36954,
                  "mutability": "mutable",
                  "name": "_disputeId",
                  "nameLocation": "957:10:42",
                  "nodeType": "VariableDeclaration",
                  "scope": 36960,
                  "src": "949:18:42",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 36953,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "949:7:42",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "948:20:42"
            },
            "returnParameters": {
              "id": 36958,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "989:0:42"
            },
            "scope": 37176,
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "id": 37020,
            "nodeType": "FunctionDefinition",
            "src": "1034:737:42",
            "nodes": [],
            "body": {
              "id": 37019,
              "nodeType": "Block",
              "src": "1220:551:42",
              "nodes": [],
              "statements": [
                {
                  "expression": {
                    "id": 36990,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "id": 36977,
                      "name": "_dispute",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 36975,
                      "src": "1226:8:42",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Dispute_$2045_memory_ptr",
                        "typeString": "struct IOracle.Dispute memory"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "arguments": [
                        {
                          "id": 36980,
                          "name": "_disputer",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 36967,
                          "src": "1271:9:42",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        {
                          "id": 36981,
                          "name": "_responseId",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 36965,
                          "src": "1300:11:42",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        },
                        {
                          "id": 36982,
                          "name": "_proposer",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 36969,
                          "src": "1329:9:42",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        {
                          "id": 36983,
                          "name": "_requestId",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 36963,
                          "src": "1357:10:42",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        },
                        {
                          "expression": {
                            "expression": {
                              "id": 36984,
                              "name": "IOracle",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 2282,
                              "src": "1383:7:42",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_contract$_IOracle_$2282_$",
                                "typeString": "type(contract IOracle)"
                              }
                            },
                            "id": 36985,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "1391:13:42",
                            "memberName": "DisputeStatus",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 2052,
                            "src": "1383:21:42",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_enum$_DisputeStatus_$2052_$",
                              "typeString": "type(enum IOracle.DisputeStatus)"
                            }
                          },
                          "id": 36986,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberLocation": "1405:6:42",
                          "memberName": "Active",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 2047,
                          "src": "1383:28:42",
                          "typeDescriptions": {
                            "typeIdentifier": "t_enum$_DisputeStatus_$2052",
                            "typeString": "enum IOracle.DisputeStatus"
                          }
                        },
                        {
                          "expression": {
                            "id": 36987,
                            "name": "block",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": -4,
                            "src": "1430:5:42",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_block",
                              "typeString": "block"
                            }
                          },
                          "id": 36988,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "1436:9:42",
                          "memberName": "timestamp",
                          "nodeType": "MemberAccess",
                          "src": "1430:15:42",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          },
                          {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          },
                          {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          },
                          {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          },
                          {
                            "typeIdentifier": "t_enum$_DisputeStatus_$2052",
                            "typeString": "enum IOracle.DisputeStatus"
                          },
                          {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        ],
                        "expression": {
                          "id": 36978,
                          "name": "IOracle",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 2282,
                          "src": "1237:7:42",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_contract$_IOracle_$2282_$",
                            "typeString": "type(contract IOracle)"
                          }
                        },
                        "id": 36979,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "1245:7:42",
                        "memberName": "Dispute",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 2045,
                        "src": "1237:15:42",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_struct$_Dispute_$2045_storage_ptr_$",
                          "typeString": "type(struct IOracle.Dispute storage pointer)"
                        }
                      },
                      "id": 36989,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "structConstructorCall",
                      "lValueRequested": false,
                      "nameLocations": [
                        "1261:8:42",
                        "1288:10:42",
                        "1319:8:42",
                        "1346:9:42",
                        "1375:6:42",
                        "1419:9:42"
                      ],
                      "names": [
                        "disputer",
                        "responseId",
                        "proposer",
                        "requestId",
                        "status",
                        "createdAt"
                      ],
                      "nodeType": "FunctionCall",
                      "src": "1237:215:42",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Dispute_$2045_memory_ptr",
                        "typeString": "struct IOracle.Dispute memory"
                      }
                    },
                    "src": "1226:226:42",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Dispute_$2045_memory_ptr",
                      "typeString": "struct IOracle.Dispute memory"
                    }
                  },
                  "id": 36991,
                  "nodeType": "ExpressionStatement",
                  "src": "1226:226:42"
                },
                {
                  "assignments": [
                    36994
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 36994,
                      "mutability": "mutable",
                      "name": "_params",
                      "nameLocation": "1484:7:42",
                      "nodeType": "VariableDeclaration",
                      "scope": 37019,
                      "src": "1459:32:42",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_RequestParameters_$43025_memory_ptr",
                        "typeString": "struct IBondedDisputeModule.RequestParameters"
                      },
                      "typeName": {
                        "id": 36993,
                        "nodeType": "UserDefinedTypeName",
                        "pathNode": {
                          "id": 36992,
                          "name": "RequestParameters",
                          "nameLocations": [
                            "1459:17:42"
                          ],
                          "nodeType": "IdentifierPath",
                          "referencedDeclaration": 43025,
                          "src": "1459:17:42"
                        },
                        "referencedDeclaration": 43025,
                        "src": "1459:17:42",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_RequestParameters_$43025_storage_ptr",
                          "typeString": "struct IBondedDisputeModule.RequestParameters"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 36998,
                  "initialValue": {
                    "arguments": [
                      {
                        "id": 36996,
                        "name": "_requestId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 36963,
                        "src": "1512:10:42",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      ],
                      "id": 36995,
                      "name": "decodeRequestData",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 36951,
                      "src": "1494:17:42",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_struct$_RequestParameters_$43025_memory_ptr_$",
                        "typeString": "function (bytes32) view returns (struct IBondedDisputeModule.RequestParameters memory)"
                      }
                    },
                    "id": 36997,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1494:29:42",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_RequestParameters_$43025_memory_ptr",
                      "typeString": "struct IBondedDisputeModule.RequestParameters memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "1459:64:42"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 37004,
                        "name": "_disputer",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 36967,
                        "src": "1579:9:42",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "id": 37005,
                        "name": "_requestId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 36963,
                        "src": "1608:10:42",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "expression": {
                          "id": 37006,
                          "name": "_params",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 36994,
                          "src": "1634:7:42",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_RequestParameters_$43025_memory_ptr",
                            "typeString": "struct IBondedDisputeModule.RequestParameters memory"
                          }
                        },
                        "id": 37007,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "1642:9:42",
                        "memberName": "bondToken",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 43022,
                        "src": "1634:17:42",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IERC20_$2822",
                          "typeString": "contract IERC20"
                        }
                      },
                      {
                        "expression": {
                          "id": 37008,
                          "name": "_params",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 36994,
                          "src": "1668:7:42",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_RequestParameters_$43025_memory_ptr",
                            "typeString": "struct IBondedDisputeModule.RequestParameters memory"
                          }
                        },
                        "id": 37009,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "1676:8:42",
                        "memberName": "bondSize",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 43024,
                        "src": "1668:16:42",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_contract$_IERC20_$2822",
                          "typeString": "contract IERC20"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "expression": {
                          "id": 36999,
                          "name": "_params",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 36994,
                          "src": "1529:7:42",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_RequestParameters_$43025_memory_ptr",
                            "typeString": "struct IBondedDisputeModule.RequestParameters memory"
                          }
                        },
                        "id": 37002,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "1537:19:42",
                        "memberName": "accountingExtension",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 43019,
                        "src": "1529:27:42",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IAccountingExtension_$42580",
                          "typeString": "contract IAccountingExtension"
                        }
                      },
                      "id": 37003,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "1557:4:42",
                      "memberName": "bond",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 42530,
                      "src": "1529:32:42",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_bytes32_$_t_contract$_IERC20_$2822_$_t_uint256_$returns$__$",
                        "typeString": "function (address,bytes32,contract IERC20,uint256) external"
                      }
                    },
                    "id": 37010,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [
                      "1570:7:42",
                      "1596:10:42",
                      "1626:6:42",
                      "1659:7:42"
                    ],
                    "names": [
                      "_bonder",
                      "_requestId",
                      "_token",
                      "_amount"
                    ],
                    "nodeType": "FunctionCall",
                    "src": "1529:162:42",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 37011,
                  "nodeType": "ExpressionStatement",
                  "src": "1529:162:42"
                },
                {
                  "eventCall": {
                    "arguments": [
                      {
                        "id": 37013,
                        "name": "_requestId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 36963,
                        "src": "1720:10:42",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "id": 37014,
                        "name": "_responseId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 36965,
                        "src": "1732:11:42",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "id": 37015,
                        "name": "_disputer",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 36967,
                        "src": "1745:9:42",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "id": 37016,
                        "name": "_proposer",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 36969,
                        "src": "1756:9:42",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      ],
                      "id": 37012,
                      "name": "ResponseDisputed",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 2301,
                      "src": "1703:16:42",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_bytes32_$_t_address_$_t_address_$returns$__$",
                        "typeString": "function (bytes32,bytes32,address,address)"
                      }
                    },
                    "id": 37017,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1703:63:42",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 37018,
                  "nodeType": "EmitStatement",
                  "src": "1698:68:42"
                }
              ]
            },
            "baseFunctions": [
              43049
            ],
            "documentation": {
              "id": 36961,
              "nodeType": "StructuredDocumentation",
              "src": "995:36:42",
              "text": "@inheritdoc IBondedDisputeModule"
            },
            "functionSelector": "98660c18",
            "implemented": true,
            "kind": "function",
            "modifiers": [
              {
                "id": 36972,
                "kind": "modifierInvocation",
                "modifierName": {
                  "id": 36971,
                  "name": "onlyOracle",
                  "nameLocations": [
                    "1167:10:42"
                  ],
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 41,
                  "src": "1167:10:42"
                },
                "nodeType": "ModifierInvocation",
                "src": "1167:10:42"
              }
            ],
            "name": "disputeResponse",
            "nameLocation": "1043:15:42",
            "parameters": {
              "id": 36970,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 36963,
                  "mutability": "mutable",
                  "name": "_requestId",
                  "nameLocation": "1072:10:42",
                  "nodeType": "VariableDeclaration",
                  "scope": 37020,
                  "src": "1064:18:42",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 36962,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1064:7:42",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 36965,
                  "mutability": "mutable",
                  "name": "_responseId",
                  "nameLocation": "1096:11:42",
                  "nodeType": "VariableDeclaration",
                  "scope": 37020,
                  "src": "1088:19:42",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 36964,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1088:7:42",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 36967,
                  "mutability": "mutable",
                  "name": "_disputer",
                  "nameLocation": "1121:9:42",
                  "nodeType": "VariableDeclaration",
                  "scope": 37020,
                  "src": "1113:17:42",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 36966,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1113:7:42",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 36969,
                  "mutability": "mutable",
                  "name": "_proposer",
                  "nameLocation": "1144:9:42",
                  "nodeType": "VariableDeclaration",
                  "scope": 37020,
                  "src": "1136:17:42",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 36968,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1136:7:42",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1058:99:42"
            },
            "returnParameters": {
              "id": 36976,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 36975,
                  "mutability": "mutable",
                  "name": "_dispute",
                  "nameLocation": "1210:8:42",
                  "nodeType": "VariableDeclaration",
                  "scope": 37020,
                  "src": "1187:31:42",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_Dispute_$2045_memory_ptr",
                    "typeString": "struct IOracle.Dispute"
                  },
                  "typeName": {
                    "id": 36974,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 36973,
                      "name": "IOracle.Dispute",
                      "nameLocations": [
                        "1187:7:42",
                        "1195:7:42"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 2045,
                      "src": "1187:15:42"
                    },
                    "referencedDeclaration": 2045,
                    "src": "1187:15:42",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Dispute_$2045_storage_ptr",
                      "typeString": "struct IOracle.Dispute"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1186:33:42"
            },
            "scope": 37176,
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "id": 37175,
            "nodeType": "FunctionDefinition",
            "src": "1814:2081:42",
            "nodes": [],
            "body": {
              "id": 37174,
              "nodeType": "Block",
              "src": "1924:1971:42",
              "nodes": [],
              "statements": [
                {
                  "assignments": [
                    37033
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 37033,
                      "mutability": "mutable",
                      "name": "_params",
                      "nameLocation": "1955:7:42",
                      "nodeType": "VariableDeclaration",
                      "scope": 37174,
                      "src": "1930:32:42",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_RequestParameters_$43025_memory_ptr",
                        "typeString": "struct IBondedDisputeModule.RequestParameters"
                      },
                      "typeName": {
                        "id": 37032,
                        "nodeType": "UserDefinedTypeName",
                        "pathNode": {
                          "id": 37031,
                          "name": "RequestParameters",
                          "nameLocations": [
                            "1930:17:42"
                          ],
                          "nodeType": "IdentifierPath",
                          "referencedDeclaration": 43025,
                          "src": "1930:17:42"
                        },
                        "referencedDeclaration": 43025,
                        "src": "1930:17:42",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_RequestParameters_$43025_storage_ptr",
                          "typeString": "struct IBondedDisputeModule.RequestParameters"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 37038,
                  "initialValue": {
                    "arguments": [
                      {
                        "expression": {
                          "id": 37035,
                          "name": "_dispute",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 37026,
                          "src": "1983:8:42",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Dispute_$2045_memory_ptr",
                            "typeString": "struct IOracle.Dispute memory"
                          }
                        },
                        "id": 37036,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "1992:9:42",
                        "memberName": "requestId",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 2041,
                        "src": "1983:18:42",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      ],
                      "id": 37034,
                      "name": "decodeRequestData",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 36951,
                      "src": "1965:17:42",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_struct$_RequestParameters_$43025_memory_ptr_$",
                        "typeString": "function (bytes32) view returns (struct IBondedDisputeModule.RequestParameters memory)"
                      }
                    },
                    "id": 37037,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1965:37:42",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_RequestParameters_$43025_memory_ptr",
                      "typeString": "struct IBondedDisputeModule.RequestParameters memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "1930:72:42"
                },
                {
                  "assignments": [
                    37043
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 37043,
                      "mutability": "mutable",
                      "name": "_status",
                      "nameLocation": "2030:7:42",
                      "nodeType": "VariableDeclaration",
                      "scope": 37174,
                      "src": "2008:29:42",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_enum$_DisputeStatus_$2052",
                        "typeString": "enum IOracle.DisputeStatus"
                      },
                      "typeName": {
                        "id": 37042,
                        "nodeType": "UserDefinedTypeName",
                        "pathNode": {
                          "id": 37041,
                          "name": "IOracle.DisputeStatus",
                          "nameLocations": [
                            "2008:7:42",
                            "2016:13:42"
                          ],
                          "nodeType": "IdentifierPath",
                          "referencedDeclaration": 2052,
                          "src": "2008:21:42"
                        },
                        "referencedDeclaration": 2052,
                        "src": "2008:21:42",
                        "typeDescriptions": {
                          "typeIdentifier": "t_enum$_DisputeStatus_$2052",
                          "typeString": "enum IOracle.DisputeStatus"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 37046,
                  "initialValue": {
                    "expression": {
                      "id": 37044,
                      "name": "_dispute",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 37026,
                      "src": "2040:8:42",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Dispute_$2045_memory_ptr",
                        "typeString": "struct IOracle.Dispute memory"
                      }
                    },
                    "id": 37045,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberLocation": "2049:6:42",
                    "memberName": "status",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": 2044,
                    "src": "2040:15:42",
                    "typeDescriptions": {
                      "typeIdentifier": "t_enum$_DisputeStatus_$2052",
                      "typeString": "enum IOracle.DisputeStatus"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "2008:47:42"
                },
                {
                  "assignments": [
                    37048
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 37048,
                      "mutability": "mutable",
                      "name": "_proposer",
                      "nameLocation": "2069:9:42",
                      "nodeType": "VariableDeclaration",
                      "scope": 37174,
                      "src": "2061:17:42",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      },
                      "typeName": {
                        "id": 37047,
                        "name": "address",
                        "nodeType": "ElementaryTypeName",
                        "src": "2061:7:42",
                        "stateMutability": "nonpayable",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 37051,
                  "initialValue": {
                    "expression": {
                      "id": 37049,
                      "name": "_dispute",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 37026,
                      "src": "2081:8:42",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Dispute_$2045_memory_ptr",
                        "typeString": "struct IOracle.Dispute memory"
                      }
                    },
                    "id": 37050,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberLocation": "2090:8:42",
                    "memberName": "proposer",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": 2037,
                    "src": "2081:17:42",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "2061:37:42"
                },
                {
                  "assignments": [
                    37053
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 37053,
                      "mutability": "mutable",
                      "name": "_disputer",
                      "nameLocation": "2112:9:42",
                      "nodeType": "VariableDeclaration",
                      "scope": 37174,
                      "src": "2104:17:42",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      },
                      "typeName": {
                        "id": 37052,
                        "name": "address",
                        "nodeType": "ElementaryTypeName",
                        "src": "2104:7:42",
                        "stateMutability": "nonpayable",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 37056,
                  "initialValue": {
                    "expression": {
                      "id": 37054,
                      "name": "_dispute",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 37026,
                      "src": "2124:8:42",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Dispute_$2045_memory_ptr",
                        "typeString": "struct IOracle.Dispute memory"
                      }
                    },
                    "id": 37055,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberLocation": "2133:8:42",
                    "memberName": "disputer",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": 2035,
                    "src": "2124:17:42",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "2104:37:42"
                },
                {
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_enum$_DisputeStatus_$2052",
                      "typeString": "enum IOracle.DisputeStatus"
                    },
                    "id": 37061,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "id": 37057,
                      "name": "_status",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 37043,
                      "src": "2152:7:42",
                      "typeDescriptions": {
                        "typeIdentifier": "t_enum$_DisputeStatus_$2052",
                        "typeString": "enum IOracle.DisputeStatus"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "==",
                    "rightExpression": {
                      "expression": {
                        "expression": {
                          "id": 37058,
                          "name": "IOracle",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 2282,
                          "src": "2163:7:42",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_contract$_IOracle_$2282_$",
                            "typeString": "type(contract IOracle)"
                          }
                        },
                        "id": 37059,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "2171:13:42",
                        "memberName": "DisputeStatus",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 2052,
                        "src": "2163:21:42",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_enum$_DisputeStatus_$2052_$",
                          "typeString": "type(enum IOracle.DisputeStatus)"
                        }
                      },
                      "id": 37060,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "memberLocation": "2185:12:42",
                      "memberName": "NoResolution",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 2051,
                      "src": "2163:34:42",
                      "typeDescriptions": {
                        "typeIdentifier": "t_enum$_DisputeStatus_$2052",
                        "typeString": "enum IOracle.DisputeStatus"
                      }
                    },
                    "src": "2152:45:42",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": {
                    "condition": {
                      "commonType": {
                        "typeIdentifier": "t_enum$_DisputeStatus_$2052",
                        "typeString": "enum IOracle.DisputeStatus"
                      },
                      "id": 37095,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "id": 37091,
                        "name": "_status",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 37043,
                        "src": "2645:7:42",
                        "typeDescriptions": {
                          "typeIdentifier": "t_enum$_DisputeStatus_$2052",
                          "typeString": "enum IOracle.DisputeStatus"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "==",
                      "rightExpression": {
                        "expression": {
                          "expression": {
                            "id": 37092,
                            "name": "IOracle",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2282,
                            "src": "2656:7:42",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_contract$_IOracle_$2282_$",
                              "typeString": "type(contract IOracle)"
                            }
                          },
                          "id": 37093,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "2664:13:42",
                          "memberName": "DisputeStatus",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 2052,
                          "src": "2656:21:42",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_enum$_DisputeStatus_$2052_$",
                            "typeString": "type(enum IOracle.DisputeStatus)"
                          }
                        },
                        "id": 37094,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "memberLocation": "2678:3:42",
                        "memberName": "Won",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 2049,
                        "src": "2656:25:42",
                        "typeDescriptions": {
                          "typeIdentifier": "t_enum$_DisputeStatus_$2052",
                          "typeString": "enum IOracle.DisputeStatus"
                        }
                      },
                      "src": "2645:36:42",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "falseBody": {
                      "condition": {
                        "commonType": {
                          "typeIdentifier": "t_enum$_DisputeStatus_$2052",
                          "typeString": "enum IOracle.DisputeStatus"
                        },
                        "id": 37130,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "id": 37126,
                          "name": "_status",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 37043,
                          "src": "3173:7:42",
                          "typeDescriptions": {
                            "typeIdentifier": "t_enum$_DisputeStatus_$2052",
                            "typeString": "enum IOracle.DisputeStatus"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "==",
                        "rightExpression": {
                          "expression": {
                            "expression": {
                              "id": 37127,
                              "name": "IOracle",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 2282,
                              "src": "3184:7:42",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_contract$_IOracle_$2282_$",
                                "typeString": "type(contract IOracle)"
                              }
                            },
                            "id": 37128,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "3192:13:42",
                            "memberName": "DisputeStatus",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 2052,
                            "src": "3184:21:42",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_enum$_DisputeStatus_$2052_$",
                              "typeString": "type(enum IOracle.DisputeStatus)"
                            }
                          },
                          "id": 37129,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberLocation": "3206:4:42",
                          "memberName": "Lost",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 2050,
                          "src": "3184:26:42",
                          "typeDescriptions": {
                            "typeIdentifier": "t_enum$_DisputeStatus_$2052",
                            "typeString": "enum IOracle.DisputeStatus"
                          }
                        },
                        "src": "3173:37:42",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      "id": 37161,
                      "nodeType": "IfStatement",
                      "src": "3169:524:42",
                      "trueBody": {
                        "id": 37160,
                        "nodeType": "Block",
                        "src": "3212:481:42",
                        "statements": [
                          {
                            "expression": {
                              "arguments": [
                                {
                                  "expression": {
                                    "id": 37136,
                                    "name": "_dispute",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 37026,
                                    "src": "3341:8:42",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_struct$_Dispute_$2045_memory_ptr",
                                      "typeString": "struct IOracle.Dispute memory"
                                    }
                                  },
                                  "id": 37137,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberLocation": "3350:9:42",
                                  "memberName": "requestId",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 2041,
                                  "src": "3341:18:42",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  }
                                },
                                {
                                  "id": 37138,
                                  "name": "_disputer",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 37053,
                                  "src": "3377:9:42",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                  }
                                },
                                {
                                  "id": 37139,
                                  "name": "_proposer",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 37048,
                                  "src": "3407:9:42",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                  }
                                },
                                {
                                  "expression": {
                                    "id": 37140,
                                    "name": "_params",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 37033,
                                    "src": "3434:7:42",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_struct$_RequestParameters_$43025_memory_ptr",
                                      "typeString": "struct IBondedDisputeModule.RequestParameters memory"
                                    }
                                  },
                                  "id": 37141,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberLocation": "3442:9:42",
                                  "memberName": "bondToken",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 43022,
                                  "src": "3434:17:42",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_contract$_IERC20_$2822",
                                    "typeString": "contract IERC20"
                                  }
                                },
                                {
                                  "expression": {
                                    "id": 37142,
                                    "name": "_params",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 37033,
                                    "src": "3470:7:42",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_struct$_RequestParameters_$43025_memory_ptr",
                                      "typeString": "struct IBondedDisputeModule.RequestParameters memory"
                                    }
                                  },
                                  "id": 37143,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberLocation": "3478:8:42",
                                  "memberName": "bondSize",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 43024,
                                  "src": "3470:16:42",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  },
                                  {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                  },
                                  {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                  },
                                  {
                                    "typeIdentifier": "t_contract$_IERC20_$2822",
                                    "typeString": "contract IERC20"
                                  },
                                  {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                ],
                                "expression": {
                                  "expression": {
                                    "id": 37131,
                                    "name": "_params",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 37033,
                                    "src": "3287:7:42",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_struct$_RequestParameters_$43025_memory_ptr",
                                      "typeString": "struct IBondedDisputeModule.RequestParameters memory"
                                    }
                                  },
                                  "id": 37134,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberLocation": "3295:19:42",
                                  "memberName": "accountingExtension",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 43019,
                                  "src": "3287:27:42",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_contract$_IAccountingExtension_$42580",
                                    "typeString": "contract IAccountingExtension"
                                  }
                                },
                                "id": 37135,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "3315:3:42",
                                "memberName": "pay",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 42517,
                                "src": "3287:31:42",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_address_$_t_address_$_t_contract$_IERC20_$2822_$_t_uint256_$returns$__$",
                                  "typeString": "function (bytes32,address,address,contract IERC20,uint256) external"
                                }
                              },
                              "id": 37144,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "nameLocations": [
                                "3329:10:42",
                                "3369:6:42",
                                "3396:9:42",
                                "3426:6:42",
                                "3461:7:42"
                              ],
                              "names": [
                                "_requestId",
                                "_payer",
                                "_receiver",
                                "_token",
                                "_amount"
                              ],
                              "nodeType": "FunctionCall",
                              "src": "3287:208:42",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_tuple$__$",
                                "typeString": "tuple()"
                              }
                            },
                            "id": 37145,
                            "nodeType": "ExpressionStatement",
                            "src": "3287:208:42"
                          },
                          {
                            "expression": {
                              "arguments": [
                                {
                                  "id": 37151,
                                  "name": "_proposer",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 37048,
                                  "src": "3558:9:42",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                  }
                                },
                                {
                                  "expression": {
                                    "id": 37152,
                                    "name": "_dispute",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 37026,
                                    "src": "3589:8:42",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_struct$_Dispute_$2045_memory_ptr",
                                      "typeString": "struct IOracle.Dispute memory"
                                    }
                                  },
                                  "id": 37153,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberLocation": "3598:9:42",
                                  "memberName": "requestId",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 2041,
                                  "src": "3589:18:42",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  }
                                },
                                {
                                  "expression": {
                                    "id": 37154,
                                    "name": "_params",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 37033,
                                    "src": "3625:7:42",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_struct$_RequestParameters_$43025_memory_ptr",
                                      "typeString": "struct IBondedDisputeModule.RequestParameters memory"
                                    }
                                  },
                                  "id": 37155,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberLocation": "3633:9:42",
                                  "memberName": "bondToken",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 43022,
                                  "src": "3625:17:42",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_contract$_IERC20_$2822",
                                    "typeString": "contract IERC20"
                                  }
                                },
                                {
                                  "expression": {
                                    "id": 37156,
                                    "name": "_params",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 37033,
                                    "src": "3661:7:42",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_struct$_RequestParameters_$43025_memory_ptr",
                                      "typeString": "struct IBondedDisputeModule.RequestParameters memory"
                                    }
                                  },
                                  "id": 37157,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberLocation": "3669:8:42",
                                  "memberName": "bondSize",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 43024,
                                  "src": "3661:16:42",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                  },
                                  {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  },
                                  {
                                    "typeIdentifier": "t_contract$_IERC20_$2822",
                                    "typeString": "contract IERC20"
                                  },
                                  {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                ],
                                "expression": {
                                  "expression": {
                                    "id": 37146,
                                    "name": "_params",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 37033,
                                    "src": "3503:7:42",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_struct$_RequestParameters_$43025_memory_ptr",
                                      "typeString": "struct IBondedDisputeModule.RequestParameters memory"
                                    }
                                  },
                                  "id": 37149,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberLocation": "3511:19:42",
                                  "memberName": "accountingExtension",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 43019,
                                  "src": "3503:27:42",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_contract$_IAccountingExtension_$42580",
                                    "typeString": "contract IAccountingExtension"
                                  }
                                },
                                "id": 37150,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "3531:7:42",
                                "memberName": "release",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 42558,
                                "src": "3503:35:42",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_bytes32_$_t_contract$_IERC20_$2822_$_t_uint256_$returns$__$",
                                  "typeString": "function (address,bytes32,contract IERC20,uint256) external"
                                }
                              },
                              "id": 37158,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "nameLocations": [
                                "3549:7:42",
                                "3577:10:42",
                                "3617:6:42",
                                "3652:7:42"
                              ],
                              "names": [
                                "_bonder",
                                "_requestId",
                                "_token",
                                "_amount"
                              ],
                              "nodeType": "FunctionCall",
                              "src": "3503:183:42",
                              "tryCall": false,
                              "typeDescriptions": {
                                "typeIdentifier": "t_tuple$__$",
                                "typeString": "tuple()"
                              }
                            },
                            "id": 37159,
                            "nodeType": "ExpressionStatement",
                            "src": "3503:183:42"
                          }
                        ]
                      }
                    },
                    "id": 37162,
                    "nodeType": "IfStatement",
                    "src": "2641:1052:42",
                    "trueBody": {
                      "id": 37125,
                      "nodeType": "Block",
                      "src": "2683:480:42",
                      "statements": [
                        {
                          "expression": {
                            "arguments": [
                              {
                                "expression": {
                                  "id": 37101,
                                  "name": "_dispute",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 37026,
                                  "src": "2811:8:42",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_Dispute_$2045_memory_ptr",
                                    "typeString": "struct IOracle.Dispute memory"
                                  }
                                },
                                "id": 37102,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "2820:9:42",
                                "memberName": "requestId",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 2041,
                                "src": "2811:18:42",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              },
                              {
                                "id": 37103,
                                "name": "_proposer",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 37048,
                                "src": "2847:9:42",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              },
                              {
                                "id": 37104,
                                "name": "_disputer",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 37053,
                                "src": "2877:9:42",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              },
                              {
                                "expression": {
                                  "id": 37105,
                                  "name": "_params",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 37033,
                                  "src": "2904:7:42",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_RequestParameters_$43025_memory_ptr",
                                    "typeString": "struct IBondedDisputeModule.RequestParameters memory"
                                  }
                                },
                                "id": 37106,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "2912:9:42",
                                "memberName": "bondToken",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 43022,
                                "src": "2904:17:42",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_contract$_IERC20_$2822",
                                  "typeString": "contract IERC20"
                                }
                              },
                              {
                                "expression": {
                                  "id": 37107,
                                  "name": "_params",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 37033,
                                  "src": "2940:7:42",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_RequestParameters_$43025_memory_ptr",
                                    "typeString": "struct IBondedDisputeModule.RequestParameters memory"
                                  }
                                },
                                "id": 37108,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "2948:8:42",
                                "memberName": "bondSize",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 43024,
                                "src": "2940:16:42",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                },
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                },
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                },
                                {
                                  "typeIdentifier": "t_contract$_IERC20_$2822",
                                  "typeString": "contract IERC20"
                                },
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              ],
                              "expression": {
                                "expression": {
                                  "id": 37096,
                                  "name": "_params",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 37033,
                                  "src": "2757:7:42",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_RequestParameters_$43025_memory_ptr",
                                    "typeString": "struct IBondedDisputeModule.RequestParameters memory"
                                  }
                                },
                                "id": 37099,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "2765:19:42",
                                "memberName": "accountingExtension",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 43019,
                                "src": "2757:27:42",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_contract$_IAccountingExtension_$42580",
                                  "typeString": "contract IAccountingExtension"
                                }
                              },
                              "id": 37100,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "2785:3:42",
                              "memberName": "pay",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 42517,
                              "src": "2757:31:42",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_address_$_t_address_$_t_contract$_IERC20_$2822_$_t_uint256_$returns$__$",
                                "typeString": "function (bytes32,address,address,contract IERC20,uint256) external"
                              }
                            },
                            "id": 37109,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [
                              "2799:10:42",
                              "2839:6:42",
                              "2866:9:42",
                              "2896:6:42",
                              "2931:7:42"
                            ],
                            "names": [
                              "_requestId",
                              "_payer",
                              "_receiver",
                              "_token",
                              "_amount"
                            ],
                            "nodeType": "FunctionCall",
                            "src": "2757:208:42",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_tuple$__$",
                              "typeString": "tuple()"
                            }
                          },
                          "id": 37110,
                          "nodeType": "ExpressionStatement",
                          "src": "2757:208:42"
                        },
                        {
                          "expression": {
                            "arguments": [
                              {
                                "id": 37116,
                                "name": "_disputer",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 37053,
                                "src": "3028:9:42",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              },
                              {
                                "expression": {
                                  "id": 37117,
                                  "name": "_dispute",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 37026,
                                  "src": "3059:8:42",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_Dispute_$2045_memory_ptr",
                                    "typeString": "struct IOracle.Dispute memory"
                                  }
                                },
                                "id": 37118,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "3068:9:42",
                                "memberName": "requestId",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 2041,
                                "src": "3059:18:42",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              },
                              {
                                "expression": {
                                  "id": 37119,
                                  "name": "_params",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 37033,
                                  "src": "3095:7:42",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_RequestParameters_$43025_memory_ptr",
                                    "typeString": "struct IBondedDisputeModule.RequestParameters memory"
                                  }
                                },
                                "id": 37120,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "3103:9:42",
                                "memberName": "bondToken",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 43022,
                                "src": "3095:17:42",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_contract$_IERC20_$2822",
                                  "typeString": "contract IERC20"
                                }
                              },
                              {
                                "expression": {
                                  "id": 37121,
                                  "name": "_params",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 37033,
                                  "src": "3131:7:42",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_RequestParameters_$43025_memory_ptr",
                                    "typeString": "struct IBondedDisputeModule.RequestParameters memory"
                                  }
                                },
                                "id": 37122,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "3139:8:42",
                                "memberName": "bondSize",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 43024,
                                "src": "3131:16:42",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                },
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                },
                                {
                                  "typeIdentifier": "t_contract$_IERC20_$2822",
                                  "typeString": "contract IERC20"
                                },
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              ],
                              "expression": {
                                "expression": {
                                  "id": 37111,
                                  "name": "_params",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 37033,
                                  "src": "2973:7:42",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_RequestParameters_$43025_memory_ptr",
                                    "typeString": "struct IBondedDisputeModule.RequestParameters memory"
                                  }
                                },
                                "id": 37114,
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberLocation": "2981:19:42",
                                "memberName": "accountingExtension",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 43019,
                                "src": "2973:27:42",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_contract$_IAccountingExtension_$42580",
                                  "typeString": "contract IAccountingExtension"
                                }
                              },
                              "id": 37115,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "3001:7:42",
                              "memberName": "release",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 42558,
                              "src": "2973:35:42",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_bytes32_$_t_contract$_IERC20_$2822_$_t_uint256_$returns$__$",
                                "typeString": "function (address,bytes32,contract IERC20,uint256) external"
                              }
                            },
                            "id": 37123,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "nameLocations": [
                              "3019:7:42",
                              "3047:10:42",
                              "3087:6:42",
                              "3122:7:42"
                            ],
                            "names": [
                              "_bonder",
                              "_requestId",
                              "_token",
                              "_amount"
                            ],
                            "nodeType": "FunctionCall",
                            "src": "2973:183:42",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_tuple$__$",
                              "typeString": "tuple()"
                            }
                          },
                          "id": 37124,
                          "nodeType": "ExpressionStatement",
                          "src": "2973:183:42"
                        }
                      ]
                    }
                  },
                  "id": 37163,
                  "nodeType": "IfStatement",
                  "src": "2148:1545:42",
                  "trueBody": {
                    "id": 37090,
                    "nodeType": "Block",
                    "src": "2199:436:42",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "id": 37067,
                              "name": "_disputer",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 37053,
                              "src": "2308:9:42",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            {
                              "expression": {
                                "id": 37068,
                                "name": "_dispute",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 37026,
                                "src": "2339:8:42",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_Dispute_$2045_memory_ptr",
                                  "typeString": "struct IOracle.Dispute memory"
                                }
                              },
                              "id": 37069,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "2348:9:42",
                              "memberName": "requestId",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 2041,
                              "src": "2339:18:42",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            {
                              "expression": {
                                "id": 37070,
                                "name": "_params",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 37033,
                                "src": "2375:7:42",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_RequestParameters_$43025_memory_ptr",
                                  "typeString": "struct IBondedDisputeModule.RequestParameters memory"
                                }
                              },
                              "id": 37071,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "2383:9:42",
                              "memberName": "bondToken",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 43022,
                              "src": "2375:17:42",
                              "typeDescriptions": {
                                "typeIdentifier": "t_contract$_IERC20_$2822",
                                "typeString": "contract IERC20"
                              }
                            },
                            {
                              "expression": {
                                "id": 37072,
                                "name": "_params",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 37033,
                                "src": "2411:7:42",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_RequestParameters_$43025_memory_ptr",
                                  "typeString": "struct IBondedDisputeModule.RequestParameters memory"
                                }
                              },
                              "id": 37073,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "2419:8:42",
                              "memberName": "bondSize",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 43024,
                              "src": "2411:16:42",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              },
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              },
                              {
                                "typeIdentifier": "t_contract$_IERC20_$2822",
                                "typeString": "contract IERC20"
                              },
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            ],
                            "expression": {
                              "expression": {
                                "id": 37062,
                                "name": "_params",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 37033,
                                "src": "2253:7:42",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_RequestParameters_$43025_memory_ptr",
                                  "typeString": "struct IBondedDisputeModule.RequestParameters memory"
                                }
                              },
                              "id": 37065,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "2261:19:42",
                              "memberName": "accountingExtension",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 43019,
                              "src": "2253:27:42",
                              "typeDescriptions": {
                                "typeIdentifier": "t_contract$_IAccountingExtension_$42580",
                                "typeString": "contract IAccountingExtension"
                              }
                            },
                            "id": 37066,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "2281:7:42",
                            "memberName": "release",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 42558,
                            "src": "2253:35:42",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_bytes32_$_t_contract$_IERC20_$2822_$_t_uint256_$returns$__$",
                              "typeString": "function (address,bytes32,contract IERC20,uint256) external"
                            }
                          },
                          "id": 37074,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [
                            "2299:7:42",
                            "2327:10:42",
                            "2367:6:42",
                            "2402:7:42"
                          ],
                          "names": [
                            "_bonder",
                            "_requestId",
                            "_token",
                            "_amount"
                          ],
                          "nodeType": "FunctionCall",
                          "src": "2253:183:42",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 37075,
                        "nodeType": "ExpressionStatement",
                        "src": "2253:183:42"
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "id": 37081,
                              "name": "_proposer",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 37048,
                              "src": "2500:9:42",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            {
                              "expression": {
                                "id": 37082,
                                "name": "_dispute",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 37026,
                                "src": "2531:8:42",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_Dispute_$2045_memory_ptr",
                                  "typeString": "struct IOracle.Dispute memory"
                                }
                              },
                              "id": 37083,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "2540:9:42",
                              "memberName": "requestId",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 2041,
                              "src": "2531:18:42",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            {
                              "expression": {
                                "id": 37084,
                                "name": "_params",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 37033,
                                "src": "2567:7:42",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_RequestParameters_$43025_memory_ptr",
                                  "typeString": "struct IBondedDisputeModule.RequestParameters memory"
                                }
                              },
                              "id": 37085,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "2575:9:42",
                              "memberName": "bondToken",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 43022,
                              "src": "2567:17:42",
                              "typeDescriptions": {
                                "typeIdentifier": "t_contract$_IERC20_$2822",
                                "typeString": "contract IERC20"
                              }
                            },
                            {
                              "expression": {
                                "id": 37086,
                                "name": "_params",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 37033,
                                "src": "2603:7:42",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_RequestParameters_$43025_memory_ptr",
                                  "typeString": "struct IBondedDisputeModule.RequestParameters memory"
                                }
                              },
                              "id": 37087,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "2611:8:42",
                              "memberName": "bondSize",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 43024,
                              "src": "2603:16:42",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              },
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              },
                              {
                                "typeIdentifier": "t_contract$_IERC20_$2822",
                                "typeString": "contract IERC20"
                              },
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            ],
                            "expression": {
                              "expression": {
                                "id": 37076,
                                "name": "_params",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 37033,
                                "src": "2445:7:42",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_RequestParameters_$43025_memory_ptr",
                                  "typeString": "struct IBondedDisputeModule.RequestParameters memory"
                                }
                              },
                              "id": 37079,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberLocation": "2453:19:42",
                              "memberName": "accountingExtension",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 43019,
                              "src": "2445:27:42",
                              "typeDescriptions": {
                                "typeIdentifier": "t_contract$_IAccountingExtension_$42580",
                                "typeString": "contract IAccountingExtension"
                              }
                            },
                            "id": 37080,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberLocation": "2473:7:42",
                            "memberName": "release",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 42558,
                            "src": "2445:35:42",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_bytes32_$_t_contract$_IERC20_$2822_$_t_uint256_$returns$__$",
                              "typeString": "function (address,bytes32,contract IERC20,uint256) external"
                            }
                          },
                          "id": 37088,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [
                            "2491:7:42",
                            "2519:10:42",
                            "2559:6:42",
                            "2594:7:42"
                          ],
                          "names": [
                            "_bonder",
                            "_requestId",
                            "_token",
                            "_amount"
                          ],
                          "nodeType": "FunctionCall",
                          "src": "2445:183:42",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 37089,
                        "nodeType": "ExpressionStatement",
                        "src": "2445:183:42"
                      }
                    ]
                  }
                },
                {
                  "eventCall": {
                    "arguments": [
                      {
                        "expression": {
                          "id": 37165,
                          "name": "_dispute",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 37026,
                          "src": "3745:8:42",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Dispute_$2045_memory_ptr",
                            "typeString": "struct IOracle.Dispute memory"
                          }
                        },
                        "id": 37166,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "3754:9:42",
                        "memberName": "requestId",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 2041,
                        "src": "3745:18:42",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "expression": {
                          "id": 37167,
                          "name": "_dispute",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 37026,
                          "src": "3784:8:42",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Dispute_$2045_memory_ptr",
                            "typeString": "struct IOracle.Dispute memory"
                          }
                        },
                        "id": 37168,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "3793:10:42",
                        "memberName": "responseId",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 2039,
                        "src": "3784:19:42",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "id": 37169,
                        "name": "_disputer",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 37053,
                        "src": "3822:9:42",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "id": 37170,
                        "name": "_proposer",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 37048,
                        "src": "3850:9:42",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "id": 37171,
                        "name": "_status",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 37043,
                        "src": "3876:7:42",
                        "typeDescriptions": {
                          "typeIdentifier": "t_enum$_DisputeStatus_$2052",
                          "typeString": "enum IOracle.DisputeStatus"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_enum$_DisputeStatus_$2052",
                          "typeString": "enum IOracle.DisputeStatus"
                        }
                      ],
                      "id": 37164,
                      "name": "DisputeStatusChanged",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 2315,
                      "src": "3704:20:42",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_bytes32_$_t_address_$_t_address_$_t_enum$_DisputeStatus_$2052_$returns$__$",
                        "typeString": "function (bytes32,bytes32,address,address,enum IOracle.DisputeStatus)"
                      }
                    },
                    "id": 37172,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [
                      "3733:10:42",
                      "3771:11:42",
                      "3811:9:42",
                      "3839:9:42",
                      "3867:7:42"
                    ],
                    "names": [
                      "_requestId",
                      "_responseId",
                      "_disputer",
                      "_proposer",
                      "_status"
                    ],
                    "nodeType": "FunctionCall",
                    "src": "3704:186:42",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 37173,
                  "nodeType": "EmitStatement",
                  "src": "3699:191:42"
                }
              ]
            },
            "baseFunctions": [
              43058
            ],
            "documentation": {
              "id": 37021,
              "nodeType": "StructuredDocumentation",
              "src": "1775:36:42",
              "text": "@inheritdoc IBondedDisputeModule"
            },
            "functionSelector": "34837c29",
            "implemented": true,
            "kind": "function",
            "modifiers": [
              {
                "id": 37029,
                "kind": "modifierInvocation",
                "modifierName": {
                  "id": 37028,
                  "name": "onlyOracle",
                  "nameLocations": [
                    "1913:10:42"
                  ],
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 41,
                  "src": "1913:10:42"
                },
                "nodeType": "ModifierInvocation",
                "src": "1913:10:42"
              }
            ],
            "name": "onDisputeStatusChange",
            "nameLocation": "1823:21:42",
            "parameters": {
              "id": 37027,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 37023,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 37175,
                  "src": "1845:7:42",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 37022,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1845:7:42",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 37026,
                  "mutability": "mutable",
                  "name": "_dispute",
                  "nameLocation": "1894:8:42",
                  "nodeType": "VariableDeclaration",
                  "scope": 37175,
                  "src": "1871:31:42",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_Dispute_$2045_memory_ptr",
                    "typeString": "struct IOracle.Dispute"
                  },
                  "typeName": {
                    "id": 37025,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 37024,
                      "name": "IOracle.Dispute",
                      "nameLocations": [
                        "1871:7:42",
                        "1879:7:42"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 2045,
                      "src": "1871:15:42"
                    },
                    "referencedDeclaration": 2045,
                    "src": "1871:15:42",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Dispute_$2045_storage_ptr",
                      "typeString": "struct IOracle.Dispute"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1844:59:42"
            },
            "returnParameters": {
              "id": 37030,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1924:0:42"
            },
            "scope": 37176,
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          }
        ],
        "abstract": false,
        "baseContracts": [
          {
            "baseName": {
              "id": 36908,
              "name": "Module",
              "nameLocations": [
                "437:6:42"
              ],
              "nodeType": "IdentifierPath",
              "referencedDeclaration": 98,
              "src": "437:6:42"
            },
            "id": 36909,
            "nodeType": "InheritanceSpecifier",
            "src": "437:6:42"
          },
          {
            "baseName": {
              "id": 36910,
              "name": "IBondedDisputeModule",
              "nameLocations": [
                "445:20:42"
              ],
              "nodeType": "IdentifierPath",
              "referencedDeclaration": 43065,
              "src": "445:20:42"
            },
            "id": 36911,
            "nodeType": "InheritanceSpecifier",
            "src": "445:20:42"
          }
        ],
        "canonicalName": "BondedDisputeModule",
        "contractDependencies": [],
        "contractKind": "contract",
        "fullyImplemented": true,
        "linearizedBaseContracts": [
          37176,
          43065,
          2346,
          98,
          1782
        ],
        "name": "BondedDisputeModule",
        "nameLocation": "414:19:42",
        "scope": 37177,
        "usedErrors": [
          1745
        ]
      }
    ],
    "license": "MIT"
  },
  "id": 42
}