{
  "abi": [
    {
      "inputs": [
        {
          "internalType": "contract IOracle",
          "name": "_oracle",
          "type": "address"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "inputs": [],
      "name": "ArbitratorModule_InvalidArbitrator",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "ArbitratorModule_InvalidDisputeId",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "ArbitratorModule_InvalidResolutionStatus",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "ArbitratorModule_OnlyArbitrator",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "Module_OnlyOracle",
      "type": "error"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "_requestId",
          "type": "bytes32"
        },
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "_disputeId",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "internalType": "enum IOracle.DisputeStatus",
          "name": "_status",
          "type": "uint8"
        }
      ],
      "name": "DisputeResolved",
      "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": true,
          "internalType": "bytes32",
          "name": "_disputeId",
          "type": "bytes32"
        }
      ],
      "name": "ResolutionStarted",
      "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": [
        {
          "internalType": "address",
          "name": "_arbitrator",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_requestId",
          "type": "bytes32"
        },
        {
          "internalType": "address",
          "name": "_finalizer",
          "type": "address"
        }
      ],
      "name": "finalizeRequest",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_disputeId",
          "type": "bytes32"
        }
      ],
      "name": "getStatus",
      "outputs": [
        {
          "internalType": "enum IArbitratorModule.ArbitrationStatus",
          "name": "_disputeStatus",
          "type": "uint8"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "moduleName",
      "outputs": [
        {
          "internalType": "string",
          "name": "_moduleName",
          "type": "string"
        }
      ],
      "stateMutability": "pure",
      "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": "_disputeId",
          "type": "bytes32"
        }
      ],
      "name": "resolveDispute",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_requestId",
          "type": "bytes32"
        },
        {
          "internalType": "bytes",
          "name": "_data",
          "type": "bytes"
        }
      ],
      "name": "setupRequest",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_disputeId",
          "type": "bytes32"
        }
      ],
      "name": "startResolution",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    }
  ],
  "bytecode": {
    "object": "0x60a060405234801561001057600080fd5b5060405161125e38038061125e83398101604081905261002f91610040565b6001600160a01b0316608052610070565b60006020828403121561005257600080fd5b81516001600160a01b038116811461006957600080fd5b9392505050565b60805161119b6100c360003960008181610119015281816101a501528181610240015281816102cf0152818161048c01528181610515015281816107d8015281816108b1015261093a015261119b6000f3fe608060405234801561001057600080fd5b50600436106100be5760003560e01c80635de28ae01161007657806393f0899a1161005b57806393f0899a146101c9578063c8218e3e14610202578063d96dd0e71461021557600080fd5b80635de28ae0146101735780637dc0d1d0146101a357600080fd5b80633661346b116100a75780633661346b146100eb57806338013f02146101145780634d610a461461016057600080fd5b80632e76be2a146100c3578063309de607146100d8575b600080fd5b6100d66100d1366004610be2565b610228565b005b6100d66100e6366004610c83565b6102b7565b6100fe6100f9366004610cb3565b61032a565b60405161010b9190610d3a565b60405180910390f35b61013b7f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161010b565b61013b61016e366004610cb3565b6103c4565b610196610181366004610cb3565b60009081526001602052604090205460ff1690565b60405161010b9190610d83565b7f000000000000000000000000000000000000000000000000000000000000000061013b565b60408051808201909152601081527f41726269747261746f724d6f64756c650000000000000000000000000000000060208201526100fe565b6100d6610210366004610cb3565b610474565b6100d6610223366004610cb3565b610899565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610297576040517fbb44f97c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008381526020819052604090206102b0828483610e6d565b505b505050565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610326576040517fbb44f97c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b6000602081905290815260409020805461034390610dcc565b80601f016020809104026020016040519081016040528092919081815260200182805461036f90610dcc565b80156103bc5780601f10610391576101008083540402835291602001916103bc565b820191906000526020600020905b81548152906001019060200180831161039f57829003601f168201915b505050505081565b600081815260208190526040812080546103dd90610dcc565b80601f016020809104026020016040519081016040528092919081815260200182805461040990610dcc565b80156104565780601f1061042b57610100808354040283529160200191610456565b820191906000526020600020905b81548152906001019060200180831161043957829003601f168201915b505050505080602001905181019061046e9190610f88565b92915050565b3373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146104e3576040517fbb44f97c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f136ba6aa000000000000000000000000000000000000000000000000000000008152600481018290526000907f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063136ba6aa9060240160c060405180830381865afa158015610571573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105959190610fb9565b905060028160a0015160058111156105af576105af610d54565b146105e6576040517f48965c9f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60808101516000908152602081905260408120805461060490610dcc565b80601f016020809104026020016040519081016040528092919081815260200182805461063090610dcc565b801561067d5780601f106106525761010080835404028352916020019161067d565b820191906000526020600020905b81548152906001019060200180831161066057829003601f168201915b50505050508060200190518101906106959190610f88565b6040517f8a4599c70000000000000000000000000000000000000000000000000000000081526004810185905290915060009073ffffffffffffffffffffffffffffffffffffffff831690638a4599c7906024016020604051808303816000875af1158015610708573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061072c9190611049565b9050600281600581111561074257610742610d54565b11610779576040517f3dfc561800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000848152600160205260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166002179055517f0c1d0c230000000000000000000000000000000000000000000000000000000081527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1690630c1d0c23906108249087908590600401611078565b600060405180830381600087803b15801561083e57600080fd5b505af1158015610852573d6000803e3d6000fd5b505050508383608001517facf2c682b2b1589bd6e7b4d197866c0cec809c4bb9b5d48faa792f61119c21748360405161088b919061108c565b60405180910390a350505050565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610908576040517fbb44f97c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f136ba6aa000000000000000000000000000000000000000000000000000000008152600481018290526000907f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063136ba6aa9060240160c060405180830381865afa158015610996573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109ba9190610fb9565b905060008060008360800151815260200190815260200160002080546109df90610dcc565b80601f0160208091040260200160405190810160405280929190818152602001828054610a0b90610dcc565b8015610a585780601f10610a2d57610100808354040283529160200191610a58565b820191906000526020600020905b815481529060010190602001808311610a3b57829003601f168201915b5050505050806020019051810190610a709190610f88565b905073ffffffffffffffffffffffffffffffffffffffff8116610abf576040517f4fae127f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008381526001602081905260409182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169091179055517f5c23bdf50000000000000000000000000000000000000000000000000000000081526004810184905273ffffffffffffffffffffffffffffffffffffffff821690635c23bdf5906024016000604051808303816000875af1158015610b65573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052610bab919081019061109a565b5060808201516040518491907fa2f6597c7891ed1ab3ef69d45be7ed7d15a175b822b2227e64f933b7eb0b051b90600090a3505050565b600080600060408486031215610bf757600080fd5b83359250602084013567ffffffffffffffff80821115610c1657600080fd5b818601915086601f830112610c2a57600080fd5b813581811115610c3957600080fd5b876020828501011115610c4b57600080fd5b6020830194508093505050509250925092565b73ffffffffffffffffffffffffffffffffffffffff81168114610c8057600080fd5b50565b60008060408385031215610c9657600080fd5b823591506020830135610ca881610c5e565b809150509250929050565b600060208284031215610cc557600080fd5b5035919050565b60005b83811015610ce7578181015183820152602001610ccf565b50506000910152565b60008151808452610d08816020860160208601610ccc565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000610d4d6020830184610cf0565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6020810160038310610d9757610d97610d54565b91905290565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600181811c90821680610de057607f821691505b602082108103610e19577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b601f8211156102b257600081815260208120601f850160051c81016020861015610e465750805b601f850160051c820191505b81811015610e6557828155600101610e52565b505050505050565b67ffffffffffffffff831115610e8557610e85610d9d565b610e9983610e938354610dcc565b83610e1f565b6000601f841160018114610eeb5760008515610eb55750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b178355610f81565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b82811015610f3a5786850135825560209485019460019092019101610f1a565b5086821015610f75577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b600060208284031215610f9a57600080fd5b8151610d4d81610c5e565b805160068110610fb457600080fd5b919050565b600060c08284031215610fcb57600080fd5b60405160c0810181811067ffffffffffffffff82111715610fee57610fee610d9d565b60405282518152602083015161100381610c5e565b6020820152604083015161101681610c5e565b80604083015250606083015160608201526080830151608082015261103d60a08401610fa5565b60a08201529392505050565b60006020828403121561105b57600080fd5b610d4d82610fa5565b6006811061107457611074610d54565b9052565b82815260408101610d4d6020830184611064565b6020810161046e8284611064565b6000602082840312156110ac57600080fd5b815167ffffffffffffffff808211156110c457600080fd5b818401915084601f8301126110d857600080fd5b8151818111156110ea576110ea610d9d565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190838211818310171561113057611130610d9d565b8160405282815287602084870101111561114957600080fd5b61115a836020830160208801610ccc565b97965050505050505056fea264697066735822122041d302a2ac78c9e9e0d1996a10aa795c63f93d12a2cc7041d9dec417d01c3a0f64736f6c63430008130033",
    "sourceMap": "467:2014:50:-:0;;;661:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;353:16:0;;;467:2014:50;;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;:::-;467:2014:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;",
    "linkReferences": {}
  },
  "deployedBytecode": {
    "object": "0x608060405234801561001057600080fd5b50600436106100be5760003560e01c80635de28ae01161007657806393f0899a1161005b57806393f0899a146101c9578063c8218e3e14610202578063d96dd0e71461021557600080fd5b80635de28ae0146101735780637dc0d1d0146101a357600080fd5b80633661346b116100a75780633661346b146100eb57806338013f02146101145780634d610a461461016057600080fd5b80632e76be2a146100c3578063309de607146100d8575b600080fd5b6100d66100d1366004610be2565b610228565b005b6100d66100e6366004610c83565b6102b7565b6100fe6100f9366004610cb3565b61032a565b60405161010b9190610d3a565b60405180910390f35b61013b7f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161010b565b61013b61016e366004610cb3565b6103c4565b610196610181366004610cb3565b60009081526001602052604090205460ff1690565b60405161010b9190610d83565b7f000000000000000000000000000000000000000000000000000000000000000061013b565b60408051808201909152601081527f41726269747261746f724d6f64756c650000000000000000000000000000000060208201526100fe565b6100d6610210366004610cb3565b610474565b6100d6610223366004610cb3565b610899565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610297576040517fbb44f97c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008381526020819052604090206102b0828483610e6d565b505b505050565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610326576040517fbb44f97c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b6000602081905290815260409020805461034390610dcc565b80601f016020809104026020016040519081016040528092919081815260200182805461036f90610dcc565b80156103bc5780601f10610391576101008083540402835291602001916103bc565b820191906000526020600020905b81548152906001019060200180831161039f57829003601f168201915b505050505081565b600081815260208190526040812080546103dd90610dcc565b80601f016020809104026020016040519081016040528092919081815260200182805461040990610dcc565b80156104565780601f1061042b57610100808354040283529160200191610456565b820191906000526020600020905b81548152906001019060200180831161043957829003601f168201915b505050505080602001905181019061046e9190610f88565b92915050565b3373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146104e3576040517fbb44f97c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f136ba6aa000000000000000000000000000000000000000000000000000000008152600481018290526000907f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063136ba6aa9060240160c060405180830381865afa158015610571573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105959190610fb9565b905060028160a0015160058111156105af576105af610d54565b146105e6576040517f48965c9f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60808101516000908152602081905260408120805461060490610dcc565b80601f016020809104026020016040519081016040528092919081815260200182805461063090610dcc565b801561067d5780601f106106525761010080835404028352916020019161067d565b820191906000526020600020905b81548152906001019060200180831161066057829003601f168201915b50505050508060200190518101906106959190610f88565b6040517f8a4599c70000000000000000000000000000000000000000000000000000000081526004810185905290915060009073ffffffffffffffffffffffffffffffffffffffff831690638a4599c7906024016020604051808303816000875af1158015610708573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061072c9190611049565b9050600281600581111561074257610742610d54565b11610779576040517f3dfc561800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000848152600160205260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166002179055517f0c1d0c230000000000000000000000000000000000000000000000000000000081527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1690630c1d0c23906108249087908590600401611078565b600060405180830381600087803b15801561083e57600080fd5b505af1158015610852573d6000803e3d6000fd5b505050508383608001517facf2c682b2b1589bd6e7b4d197866c0cec809c4bb9b5d48faa792f61119c21748360405161088b919061108c565b60405180910390a350505050565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610908576040517fbb44f97c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f136ba6aa000000000000000000000000000000000000000000000000000000008152600481018290526000907f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063136ba6aa9060240160c060405180830381865afa158015610996573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109ba9190610fb9565b905060008060008360800151815260200190815260200160002080546109df90610dcc565b80601f0160208091040260200160405190810160405280929190818152602001828054610a0b90610dcc565b8015610a585780601f10610a2d57610100808354040283529160200191610a58565b820191906000526020600020905b815481529060010190602001808311610a3b57829003601f168201915b5050505050806020019051810190610a709190610f88565b905073ffffffffffffffffffffffffffffffffffffffff8116610abf576040517f4fae127f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008381526001602081905260409182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169091179055517f5c23bdf50000000000000000000000000000000000000000000000000000000081526004810184905273ffffffffffffffffffffffffffffffffffffffff821690635c23bdf5906024016000604051808303816000875af1158015610b65573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052610bab919081019061109a565b5060808201516040518491907fa2f6597c7891ed1ab3ef69d45be7ed7d15a175b822b2227e64f933b7eb0b051b90600090a3505050565b600080600060408486031215610bf757600080fd5b83359250602084013567ffffffffffffffff80821115610c1657600080fd5b818601915086601f830112610c2a57600080fd5b813581811115610c3957600080fd5b876020828501011115610c4b57600080fd5b6020830194508093505050509250925092565b73ffffffffffffffffffffffffffffffffffffffff81168114610c8057600080fd5b50565b60008060408385031215610c9657600080fd5b823591506020830135610ca881610c5e565b809150509250929050565b600060208284031215610cc557600080fd5b5035919050565b60005b83811015610ce7578181015183820152602001610ccf565b50506000910152565b60008151808452610d08816020860160208601610ccc565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000610d4d6020830184610cf0565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6020810160038310610d9757610d97610d54565b91905290565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600181811c90821680610de057607f821691505b602082108103610e19577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b601f8211156102b257600081815260208120601f850160051c81016020861015610e465750805b601f850160051c820191505b81811015610e6557828155600101610e52565b505050505050565b67ffffffffffffffff831115610e8557610e85610d9d565b610e9983610e938354610dcc565b83610e1f565b6000601f841160018114610eeb5760008515610eb55750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b178355610f81565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b82811015610f3a5786850135825560209485019460019092019101610f1a565b5086821015610f75577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b600060208284031215610f9a57600080fd5b8151610d4d81610c5e565b805160068110610fb457600080fd5b919050565b600060c08284031215610fcb57600080fd5b60405160c0810181811067ffffffffffffffff82111715610fee57610fee610d9d565b60405282518152602083015161100381610c5e565b6020820152604083015161101681610c5e565b80604083015250606083015160608201526080830151608082015261103d60a08401610fa5565b60a08201529392505050565b60006020828403121561105b57600080fd5b610d4d82610fa5565b6006811061107457611074610d54565b9052565b82815260408101610d4d6020830184611064565b6020810161046e8284611064565b6000602082840312156110ac57600080fd5b815167ffffffffffffffff808211156110c457600080fd5b818401915084601f8301126110d857600080fd5b8151818111156110ea576110ea610d9d565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190838211818310171561113057611130610d9d565b8160405282815287602084870101111561114957600080fd5b61115a836020830160208801610ccc565b97965050505050505056fea264697066735822122041d302a2ac78c9e9e0d1996a10aa795c63f93d12a2cc7041d9dec417d01c3a0f64736f6c63430008130033",
    "sourceMap": "467:2014:50:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;695:175:0;;;;;;:::i;:::-;;:::i;:::-;;900:95;;;;;;:::i;:::-;;:::i;237:68::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;201:31;;;;;;;;2345:42:113;2333:55;;;2315:74;;2303:2;2288:18;201:31:0;2153:242:113;886:160:50;;;;;;:::i;:::-;;:::i;1086:148::-;;;;;;:::i;:::-;1148:32;1205:24;;;:12;:24;;;;;;;;;1086:148;;;;;;;;:::i;571:94:0:-;653:6;571:94;;738:108:50;816:25;;;;;;;;;;;;;;;;;738:108;;1785:694;;;;;;:::i;:::-;;:::i;1274:471::-;;;;;;:::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;237:68::-;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;886:160:50:-;954:19;1006:23;;;;;;;;;;995:46;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;981:60;886:160;-1:-1:-1;;886:160:50:o;1785:694::-;472:10:0;:29;494:6;472:29;;468:61;;510:19;;;;;;;;;;;;;;468:61;1889:29:50::1;::::0;;;;::::1;::::0;::::1;6575:25:113::0;;;1855:31:50::1;::::0;1889:6:::1;:17;;::::0;::::1;::::0;6548:18:113;;1889:29:50::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1855:63:::0;-1:-1:-1;1947:31:50::1;1928:8;:15;;;:50;;;;;;;;:::i;:::-;;1924:98;;1987:35;;;;;;;;;;;;;;1924:98;2074:18;::::0;::::1;::::0;2029:19:::1;2062:31:::0;;;::::1;::::0;;;;;;2051:54;;::::1;::::0;::::1;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2143:46;::::0;;;;::::1;::::0;::::1;6575:25:113::0;;;2029:76:50;;-1:-1:-1;2111:29:50::1;::::0;2143:34:::1;::::0;::::1;::::0;::::1;::::0;6548:18:113;;2143:46:50::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2111:78:::0;-1:-1:-1;2211:31:50::1;2200:7;:42;;;;;;;;:::i;:::-;;2196:97;;2251:42;;;;;;;;;;;;;;2196:97;2299:24;::::0;;;:12:::1;:24;::::0;;;;;;:53;;;::::1;2326:26;2299:53;::::0;;2359:47;;;;:6:::1;:26;;::::0;::::1;::::0;:47:::1;::::0;2299:24;;2398:7;;2359:47:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;2454:10;2434:8;:18;;;2418:56;2466:7;2418:56;;;;;;:::i;:::-;;;;;;;;1849:630;;;1785:694:::0;:::o;1274:471::-;472:10:0;:29;494:6;472:29;;468:61;;510:19;;;;;;;;;;;;;;468:61;1379:29:50::1;::::0;;;;::::1;::::0;::::1;6575:25:113::0;;;1345:31:50::1;::::0;1379:6:::1;:17;;::::0;::::1;::::0;6548:18:113;;1379:29:50::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1345:63;;1415:19;1448:11:::0;:31:::1;1460:8;:18;;;1448:31;;;;;;;;;;;1437:54;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1415:76:::0;-1:-1:-1;1501:25:50::1;::::0;::::1;1497:74;;1535:36;;;;;;;;;;;;;;1497:74;1578:24;::::0;;;1605::::1;1578;::::0;;;;;;;;:51;;;::::1;::::0;;::::1;::::0;;1635:44;;;;::::1;::::0;::::1;6575:25:113::0;;;1635:32:50::1;::::0;::::1;::::0;::::1;::::0;6548:18:113;;1635:44:50::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;::::0;;::::1;::::0;::::1;::::0;::::1;;::::0;::::1;::::0;;;::::1;::::0;::::1;:::i;:::-;-1:-1:-1::0;1709:18:50::1;::::0;::::1;::::0;1691:49:::1;::::0;1729:10;;1709:18;1691:49:::1;::::0;;;::::1;1339:406;;1274:471:::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;733:93;678:154;:::o;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:180::-;1216:6;1269:2;1257:9;1248:7;1244:23;1240:32;1237:52;;;1285:1;1282;1275:12;1237:52;-1:-1:-1;1308:23:113;;1157:180;-1:-1:-1;1157:180:113:o;1342:250::-;1427:1;1437:113;1451:6;1448:1;1445:13;1437:113;;;1527:11;;;1521:18;1508:11;;;1501:39;1473:2;1466:10;1437:113;;;-1:-1:-1;;1584:1:113;1566:16;;1559:27;1342:250::o;1597:329::-;1638:3;1676:5;1670:12;1703:6;1698:3;1691:19;1719:76;1788:6;1781:4;1776:3;1772:14;1765:4;1758:5;1754:16;1719:76;:::i;:::-;1840:2;1828:15;1845:66;1824:88;1815:98;;;;1915:4;1811:109;;1597:329;-1:-1:-1;;1597:329:113:o;1931:217::-;2078:2;2067:9;2060:21;2041:4;2098:44;2138:2;2127:9;2123:18;2115:6;2098:44;:::i;:::-;2090:52;1931:217;-1:-1:-1;;;1931:217:113:o;2631:184::-;2683:77;2680:1;2673:88;2780:4;2777:1;2770:15;2804:4;2801:1;2794:15;2820:254;2975:2;2960:18;;3008:1;2997:13;;2987:47;;3014:18;;:::i;:::-;3043:25;;;2820:254;:::o;3303:184::-;3355:77;3352:1;3345:88;3452:4;3449:1;3442:15;3476:4;3473:1;3466:15;3492:437;3571:1;3567:12;;;;3614;;;3635:61;;3689:4;3681:6;3677:17;3667:27;;3635:61;3742:2;3734:6;3731:14;3711:18;3708:38;3705:218;;3779:77;3776:1;3769:88;3880:4;3877:1;3870:15;3908:4;3905:1;3898:15;3705:218;;3492:437;;;:::o;4059:544::-;4160:2;4155:3;4152:11;4149:448;;;4196:1;4221:5;4217:2;4210:17;4266:4;4262:2;4252:19;4336:2;4324:10;4320:19;4317:1;4313:27;4307:4;4303:38;4372:4;4360:10;4357:20;4354:47;;;-1:-1:-1;4395:4:113;4354:47;4450:2;4445:3;4441:12;4438:1;4434:20;4428:4;4424:31;4414:41;;4505:82;4523:2;4516:5;4513:13;4505:82;;;4568:17;;;4549:1;4538:13;4505:82;;;4509:3;;;4059:544;;;:::o;4839:1321::-;4961:18;4956:3;4953:27;4950:53;;;4983:18;;:::i;:::-;5012:93;5101:3;5061:38;5093:4;5087:11;5061:38;:::i;:::-;5055:4;5012:93;:::i;:::-;5131:1;5156:2;5151:3;5148:11;5173:1;5168:734;;;;5946:1;5963:3;5960:93;;;-1:-1:-1;6019:19:113;;;6006:33;5960:93;4745:66;4736:1;4732:11;;;4728:84;4724:89;4714:100;4820:1;4816:11;;;4711:117;6066:78;;5141:1013;;5168:734;4006:1;3999:14;;;4043:4;4030:18;;5213:66;5204:76;;;5363:9;5385:229;5399:7;5396:1;5393:14;5385:229;;;5488:19;;;5475:33;5460:49;;5595:4;5580:20;;;;5548:1;5536:14;;;;5415:12;5385:229;;;5389:3;5642;5633:7;5630:16;5627:219;;;5762:66;5756:3;5750;5747:1;5743:11;5739:21;5735:94;5731:99;5718:9;5713:3;5709:19;5696:33;5692:139;5684:6;5677:155;5627:219;;;5889:1;5883:3;5880:1;5876:11;5872:19;5866:4;5859:33;5141:1013;;;4839:1321;;;:::o;6165:259::-;6243:6;6296:2;6284:9;6275:7;6271:23;6267:32;6264:52;;;6312:1;6309;6302:12;6264:52;6344:9;6338:16;6363:31;6388:5;6363:31;:::i;6611:158::-;6701:13;;6743:1;6733:12;;6723:40;;6759:1;6756;6749:12;6723:40;6611:158;;;:::o;6774:918::-;6869:6;6922:3;6910:9;6901:7;6897:23;6893:33;6890:53;;;6939:1;6936;6929:12;6890:53;6972:2;6966:9;7014:3;7006:6;7002:16;7084:6;7072:10;7069:22;7048:18;7036:10;7033:34;7030:62;7027:88;;;7095:18;;:::i;:::-;7131:2;7124:22;7170:16;;7155:32;;7230:2;7215:18;;7209:25;7243:31;7209:25;7243:31;:::i;:::-;7302:2;7290:15;;7283:30;7358:2;7343:18;;7337:25;7371:33;7337:25;7371:33;:::i;:::-;7437:7;7432:2;7424:6;7420:15;7413:32;;7499:2;7488:9;7484:18;7478:25;7473:2;7465:6;7461:15;7454:50;7559:3;7548:9;7544:19;7538:26;7532:3;7524:6;7520:16;7513:52;7599:61;7655:3;7644:9;7640:19;7599:61;:::i;:::-;7593:3;7581:16;;7574:87;7585:6;6774:918;-1:-1:-1;;;6774:918:113:o;7697:237::-;7785:6;7838:2;7826:9;7817:7;7813:23;7809:32;7806:52;;;7854:1;7851;7844:12;7806:52;7877:51;7918:9;7877:51;:::i;7939:144::-;8024:1;8017:5;8014:12;8004:46;;8030:18;;:::i;:::-;8059;;7939:144::o;8088:287::-;8278:25;;;8266:2;8251:18;;8312:57;8365:2;8350:18;;8342:6;8312:57;:::i;8380:216::-;8530:2;8515:18;;8542:48;8519:9;8572:6;8542:48;:::i;8601:955::-;8680:6;8733:2;8721:9;8712:7;8708:23;8704:32;8701:52;;;8749:1;8746;8739:12;8701:52;8782:9;8776:16;8811:18;8852:2;8844:6;8841:14;8838:34;;;8868:1;8865;8858:12;8838:34;8906:6;8895:9;8891:22;8881:32;;8951:7;8944:4;8940:2;8936:13;8932:27;8922:55;;8973:1;8970;8963:12;8922:55;9002:2;8996:9;9024:2;9020;9017:10;9014:36;;;9030:18;;:::i;:::-;9164:2;9158:9;9226:4;9218:13;;9069:66;9214:22;;;9238:2;9210:31;9206:40;9194:53;;;9262:18;;;9282:22;;;9259:46;9256:72;;;9308:18;;:::i;:::-;9348:10;9344:2;9337:22;9383:2;9375:6;9368:18;9423:7;9418:2;9413;9409;9405:11;9401:20;9398:33;9395:53;;;9444:1;9441;9434:12;9395:53;9457:68;9522:2;9517;9509:6;9505:15;9500:2;9496;9492:11;9457:68;:::i;:::-;9544:6;8601:955;-1:-1:-1;;;;;;;8601:955:113:o",
    "linkReferences": {},
    "immutableReferences": {
      "10": [
        {
          "start": 281,
          "length": 32
        },
        {
          "start": 421,
          "length": 32
        },
        {
          "start": 576,
          "length": 32
        },
        {
          "start": 719,
          "length": 32
        },
        {
          "start": 1164,
          "length": 32
        },
        {
          "start": 1301,
          "length": 32
        },
        {
          "start": 2008,
          "length": 32
        },
        {
          "start": 2225,
          "length": 32
        },
        {
          "start": 2362,
          "length": 32
        }
      ]
    }
  },
  "methodIdentifiers": {
    "ORACLE()": "38013f02",
    "decodeRequestData(bytes32)": "4d610a46",
    "finalizeRequest(bytes32,address)": "309de607",
    "getStatus(bytes32)": "5de28ae0",
    "moduleName()": "93f0899a",
    "oracle()": "7dc0d1d0",
    "requestData(bytes32)": "3661346b",
    "resolveDispute(bytes32)": "c8218e3e",
    "setupRequest(bytes32,bytes)": "2e76be2a",
    "startResolution(bytes32)": "d96dd0e7"
  },
  "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\":\"ArbitratorModule_InvalidArbitrator\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ArbitratorModule_InvalidDisputeId\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ArbitratorModule_InvalidResolutionStatus\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ArbitratorModule_OnlyArbitrator\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Module_OnlyOracle\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"_requestId\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"_disputeId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"enum IOracle.DisputeStatus\",\"name\":\"_status\",\"type\":\"uint8\"}],\"name\":\"DisputeResolved\",\"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\":true,\"internalType\":\"bytes32\",\"name\":\"_disputeId\",\"type\":\"bytes32\"}],\"name\":\"ResolutionStarted\",\"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\":[{\"internalType\":\"address\",\"name\":\"_arbitrator\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_requestId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_finalizer\",\"type\":\"address\"}],\"name\":\"finalizeRequest\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_disputeId\",\"type\":\"bytes32\"}],\"name\":\"getStatus\",\"outputs\":[{\"internalType\":\"enum IArbitratorModule.ArbitrationStatus\",\"name\":\"_disputeStatus\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"moduleName\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"_moduleName\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"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\":\"_disputeId\",\"type\":\"bytes32\"}],\"name\":\"resolveDispute\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_requestId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"setupRequest\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_disputeId\",\"type\":\"bytes32\"}],\"name\":\"startResolution\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"DisputeResolved(bytes32,bytes32,uint8)\":{\"params\":{\"_disputeId\":\"The id for the dispute that was resolved\",\"_requestId\":\"The id for the request that was disputed\",\"_status\":\"The final result of the resolution\"}},\"RequestFinalized(bytes32,address)\":{\"params\":{\"_finalizer\":\"The address that initiated the finalization\",\"_requestId\":\"The ID of the request that was finalized\"}},\"ResolutionStarted(bytes32,bytes32)\":{\"params\":{\"_disputeId\":\"The id for the dispute that the resolution was started for\",\"_requestId\":\"The id for the request for the dispute\"}}},\"kind\":\"dev\",\"methods\":{\"decodeRequestData(bytes32)\":{\"params\":{\"_requestId\":\"The ID of the request\"},\"returns\":{\"_arbitrator\":\"The address of the arbitrator\"}},\"finalizeRequest(bytes32,address)\":{\"params\":{\"_finalizer\":\"The address that initiated the finalization\",\"_requestId\":\"The ID of the request being finalized\"}},\"getStatus(bytes32)\":{\"params\":{\"_disputeId\":\"The ID of the dispute\"},\"returns\":{\"_disputeStatus\":\"The `ArbitrationStatus` of the dispute\"}},\"moduleName()\":{\"returns\":{\"_moduleName\":\"The name of the module.\"}},\"oracle()\":{\"returns\":{\"_oracle\":\"The address of the oracle\"}},\"resolveDispute(bytes32)\":{\"details\":\"Only callable by the Oracle\",\"params\":{\"_disputeId\":\"The ID of the dispute\"}},\"setupRequest(bytes32,bytes)\":{\"params\":{\"_data\":\"The data of the request\",\"_requestId\":\"The ID of the request\"}},\"startResolution(bytes32)\":{\"details\":\"Only callable by the OracleWill revert if the arbitrator address is the address zero\",\"params\":{\"_disputeId\":\"The ID of the dispute\"}}},\"version\":1},\"userdoc\":{\"errors\":{\"ArbitratorModule_InvalidArbitrator()\":[{\"notice\":\"Thrown when the arbitrator address is the address zero\"}],\"ArbitratorModule_InvalidDisputeId()\":[{\"notice\":\"Thrown when trying to resolve a dispute that is not escalated\"}],\"ArbitratorModule_InvalidResolutionStatus()\":[{\"notice\":\"Thrown when the arbitrator returns an invalid resolution status\"}],\"ArbitratorModule_OnlyArbitrator()\":[{\"notice\":\"Thrown when an unauthorized caller calls a function only the arbitrator can call\"}],\"Module_OnlyOracle()\":[{\"notice\":\"Thrown when the caller is not the oracle\"}]},\"events\":{\"DisputeResolved(bytes32,bytes32,uint8)\":{\"notice\":\"Emitted when a dispute has been resolved\"},\"RequestFinalized(bytes32,address)\":{\"notice\":\"Emitted when a request is finalized\"},\"ResolutionStarted(bytes32,bytes32)\":{\"notice\":\"Emitted when a resolution is started\"}},\"kind\":\"user\",\"methods\":{\"decodeRequestData(bytes32)\":{\"notice\":\"Returns the decoded data for a request\"},\"finalizeRequest(bytes32,address)\":{\"notice\":\"Finalizes a given request and executes any additional logic set by the chosen modules\"},\"getStatus(bytes32)\":{\"notice\":\"Returns the current arbitration status of a dispute\"},\"moduleName()\":{\"notice\":\"Returns the name of the module.\"},\"oracle()\":{\"notice\":\"Returns the address of the oracle\"},\"requestData(bytes32)\":{\"notice\":\"Returns the data of the request associated with the provided id\"},\"resolveDispute(bytes32)\":{\"notice\":\"Resolves the dispute by getting the answer from the arbitrator and updating the dispute status\"},\"setupRequest(bytes32,bytes)\":{\"notice\":\"Stores the request data and runs module-specific hooks\"},\"startResolution(bytes32)\":{\"notice\":\"Starts the arbitration process by calling `resolve` on the arbitrator and flags the dispute as Active\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"solidity/contracts/modules/resolution/ArbitratorModule.sol\":\"ArbitratorModule\"},\"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\"]},\"solidity/contracts/modules/resolution/ArbitratorModule.sol\":{\"keccak256\":\"0x459d1a192392ebc5e315976379592a03de2c43cef1479cb00005aec6746fc591\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://81f44973ee64cebd39c6cf965a95deaa96971814fc23d41bed365f9f86bbcfb3\",\"dweb:/ipfs/QmZEQLerCJrNmNU9rAePPti7fgoR85Y5i1KB82DLXAcHFa\"]},\"solidity/interfaces/IArbitrator.sol\":{\"keccak256\":\"0x4d999a196d364196c33d89345c11c89363a5eb83da5f61ef138226048cde49ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d774916b9decedcbea1ab6df775a41d8efaadc73a18d4becafca0c124c52dc8e\",\"dweb:/ipfs/QmQ77fKG3shhza2D1rBfY8ZmQz85kYhPdrMWUajgVkgVmq\"]},\"solidity/interfaces/modules/resolution/IArbitratorModule.sol\":{\"keccak256\":\"0xc4a27b06a09d11b40940214100abf17ad0140bc8fa875ad0800accee7bfb585e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://55ee5b3ca145ae7c4f9f1212896a3975282ca66a6f7eb8c0dd3a506901e979a7\",\"dweb:/ipfs/QmQogSJMVPDjGUT1cp6YBsLXG97F6WMHtCNqworkpyN8g7\"]}},\"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": "ArbitratorModule_InvalidArbitrator"
        },
        {
          "inputs": [],
          "type": "error",
          "name": "ArbitratorModule_InvalidDisputeId"
        },
        {
          "inputs": [],
          "type": "error",
          "name": "ArbitratorModule_InvalidResolutionStatus"
        },
        {
          "inputs": [],
          "type": "error",
          "name": "ArbitratorModule_OnlyArbitrator"
        },
        {
          "inputs": [],
          "type": "error",
          "name": "Module_OnlyOracle"
        },
        {
          "inputs": [
            {
              "internalType": "bytes32",
              "name": "_requestId",
              "type": "bytes32",
              "indexed": true
            },
            {
              "internalType": "bytes32",
              "name": "_disputeId",
              "type": "bytes32",
              "indexed": true
            },
            {
              "internalType": "enum IOracle.DisputeStatus",
              "name": "_status",
              "type": "uint8",
              "indexed": false
            }
          ],
          "type": "event",
          "name": "DisputeResolved",
          "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": "_disputeId",
              "type": "bytes32",
              "indexed": true
            }
          ],
          "type": "event",
          "name": "ResolutionStarted",
          "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": "address",
              "name": "_arbitrator",
              "type": "address"
            }
          ]
        },
        {
          "inputs": [
            {
              "internalType": "bytes32",
              "name": "_requestId",
              "type": "bytes32"
            },
            {
              "internalType": "address",
              "name": "_finalizer",
              "type": "address"
            }
          ],
          "stateMutability": "nonpayable",
          "type": "function",
          "name": "finalizeRequest"
        },
        {
          "inputs": [
            {
              "internalType": "bytes32",
              "name": "_disputeId",
              "type": "bytes32"
            }
          ],
          "stateMutability": "view",
          "type": "function",
          "name": "getStatus",
          "outputs": [
            {
              "internalType": "enum IArbitratorModule.ArbitrationStatus",
              "name": "_disputeStatus",
              "type": "uint8"
            }
          ]
        },
        {
          "inputs": [],
          "stateMutability": "pure",
          "type": "function",
          "name": "moduleName",
          "outputs": [
            {
              "internalType": "string",
              "name": "_moduleName",
              "type": "string"
            }
          ]
        },
        {
          "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": "_disputeId",
              "type": "bytes32"
            }
          ],
          "stateMutability": "nonpayable",
          "type": "function",
          "name": "resolveDispute"
        },
        {
          "inputs": [
            {
              "internalType": "bytes32",
              "name": "_requestId",
              "type": "bytes32"
            },
            {
              "internalType": "bytes",
              "name": "_data",
              "type": "bytes"
            }
          ],
          "stateMutability": "nonpayable",
          "type": "function",
          "name": "setupRequest"
        },
        {
          "inputs": [
            {
              "internalType": "bytes32",
              "name": "_disputeId",
              "type": "bytes32"
            }
          ],
          "stateMutability": "nonpayable",
          "type": "function",
          "name": "startResolution"
        }
      ],
      "devdoc": {
        "kind": "dev",
        "methods": {
          "decodeRequestData(bytes32)": {
            "params": {
              "_requestId": "The ID of the request"
            },
            "returns": {
              "_arbitrator": "The address of the arbitrator"
            }
          },
          "finalizeRequest(bytes32,address)": {
            "params": {
              "_finalizer": "The address that initiated the finalization",
              "_requestId": "The ID of the request being finalized"
            }
          },
          "getStatus(bytes32)": {
            "params": {
              "_disputeId": "The ID of the dispute"
            },
            "returns": {
              "_disputeStatus": "The `ArbitrationStatus` of the dispute"
            }
          },
          "moduleName()": {
            "returns": {
              "_moduleName": "The name of the module."
            }
          },
          "oracle()": {
            "returns": {
              "_oracle": "The address of the oracle"
            }
          },
          "resolveDispute(bytes32)": {
            "details": "Only callable by the Oracle",
            "params": {
              "_disputeId": "The ID of the dispute"
            }
          },
          "setupRequest(bytes32,bytes)": {
            "params": {
              "_data": "The data of the request",
              "_requestId": "The ID of the request"
            }
          },
          "startResolution(bytes32)": {
            "details": "Only callable by the OracleWill revert if the arbitrator address is the address zero",
            "params": {
              "_disputeId": "The ID of the dispute"
            }
          }
        },
        "version": 1
      },
      "userdoc": {
        "kind": "user",
        "methods": {
          "decodeRequestData(bytes32)": {
            "notice": "Returns the decoded data for a request"
          },
          "finalizeRequest(bytes32,address)": {
            "notice": "Finalizes a given request and executes any additional logic set by the chosen modules"
          },
          "getStatus(bytes32)": {
            "notice": "Returns the current arbitration status of a dispute"
          },
          "moduleName()": {
            "notice": "Returns the name of the module."
          },
          "oracle()": {
            "notice": "Returns the address of the oracle"
          },
          "requestData(bytes32)": {
            "notice": "Returns the data of the request associated with the provided id"
          },
          "resolveDispute(bytes32)": {
            "notice": "Resolves the dispute by getting the answer from the arbitrator and updating the dispute status"
          },
          "setupRequest(bytes32,bytes)": {
            "notice": "Stores the request data and runs module-specific hooks"
          },
          "startResolution(bytes32)": {
            "notice": "Starts the arbitration process by calling `resolve` on the arbitrator and flags the dispute as Active"
          }
        },
        "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/resolution/ArbitratorModule.sol": "ArbitratorModule"
      },
      "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"
      },
      "solidity/contracts/modules/resolution/ArbitratorModule.sol": {
        "keccak256": "0x459d1a192392ebc5e315976379592a03de2c43cef1479cb00005aec6746fc591",
        "urls": [
          "bzz-raw://81f44973ee64cebd39c6cf965a95deaa96971814fc23d41bed365f9f86bbcfb3",
          "dweb:/ipfs/QmZEQLerCJrNmNU9rAePPti7fgoR85Y5i1KB82DLXAcHFa"
        ],
        "license": "MIT"
      },
      "solidity/interfaces/IArbitrator.sol": {
        "keccak256": "0x4d999a196d364196c33d89345c11c89363a5eb83da5f61ef138226048cde49ad",
        "urls": [
          "bzz-raw://d774916b9decedcbea1ab6df775a41d8efaadc73a18d4becafca0c124c52dc8e",
          "dweb:/ipfs/QmQ77fKG3shhza2D1rBfY8ZmQz85kYhPdrMWUajgVkgVmq"
        ],
        "license": "MIT"
      },
      "solidity/interfaces/modules/resolution/IArbitratorModule.sol": {
        "keccak256": "0xc4a27b06a09d11b40940214100abf17ad0140bc8fa875ad0800accee7bfb585e",
        "urls": [
          "bzz-raw://55ee5b3ca145ae7c4f9f1212896a3975282ca66a6f7eb8c0dd3a506901e979a7",
          "dweb:/ipfs/QmQogSJMVPDjGUT1cp6YBsLXG97F6WMHtCNqworkpyN8g7"
        ],
        "license": "MIT"
      }
    },
    "version": 1
  },
  "ast": {
    "absolutePath": "solidity/contracts/modules/resolution/ArbitratorModule.sol",
    "id": 38832,
    "exportedSymbols": {
      "ArbitratorModule": [
        38831
      ],
      "IArbitrator": [
        42364
      ],
      "IArbitratorModule": [
        43481
      ],
      "IModule": [
        1782
      ],
      "IOracle": [
        2282
      ],
      "Module": [
        98
      ]
    },
    "nodeType": "SourceUnit",
    "src": "32:2450:50",
    "nodes": [
      {
        "id": 38609,
        "nodeType": "PragmaDirective",
        "src": "32:24:50",
        "nodes": [],
        "literals": [
          "solidity",
          "^",
          "0.8",
          ".19"
        ]
      },
      {
        "id": 38612,
        "nodeType": "ImportDirective",
        "src": "104:102:50",
        "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": 38832,
        "sourceUnit": 99,
        "symbolAliases": [
          {
            "foreign": {
              "id": 38610,
              "name": "Module",
              "nodeType": "Identifier",
              "overloadedDeclarations": [],
              "referencedDeclaration": 98,
              "src": "112:6:50",
              "typeDescriptions": {}
            },
            "nameLocation": "-1:-1:-1"
          },
          {
            "foreign": {
              "id": 38611,
              "name": "IModule",
              "nodeType": "Identifier",
              "overloadedDeclarations": [],
              "referencedDeclaration": 1782,
              "src": "120:7:50",
              "typeDescriptions": {}
            },
            "nameLocation": "-1:-1:-1"
          }
        ],
        "unitAlias": ""
      },
      {
        "id": 38614,
        "nodeType": "ImportDirective",
        "src": "207:96:50",
        "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": 38832,
        "sourceUnit": 2283,
        "symbolAliases": [
          {
            "foreign": {
              "id": 38613,
              "name": "IOracle",
              "nodeType": "Identifier",
              "overloadedDeclarations": [],
              "referencedDeclaration": 2282,
              "src": "215:7:50",
              "typeDescriptions": {}
            },
            "nameLocation": "-1:-1:-1"
          }
        ],
        "unitAlias": ""
      },
      {
        "id": 38616,
        "nodeType": "ImportDirective",
        "src": "305:95:50",
        "nodes": [],
        "absolutePath": "solidity/interfaces/modules/resolution/IArbitratorModule.sol",
        "file": "../../../interfaces/modules/resolution/IArbitratorModule.sol",
        "nameLocation": "-1:-1:-1",
        "scope": 38832,
        "sourceUnit": 43482,
        "symbolAliases": [
          {
            "foreign": {
              "id": 38615,
              "name": "IArbitratorModule",
              "nodeType": "Identifier",
              "overloadedDeclarations": [],
              "referencedDeclaration": 43481,
              "src": "313:17:50",
              "typeDescriptions": {}
            },
            "nameLocation": "-1:-1:-1"
          }
        ],
        "unitAlias": ""
      },
      {
        "id": 38618,
        "nodeType": "ImportDirective",
        "src": "401:64:50",
        "nodes": [],
        "absolutePath": "solidity/interfaces/IArbitrator.sol",
        "file": "../../../interfaces/IArbitrator.sol",
        "nameLocation": "-1:-1:-1",
        "scope": 38832,
        "sourceUnit": 42365,
        "symbolAliases": [
          {
            "foreign": {
              "id": 38617,
              "name": "IArbitrator",
              "nodeType": "Identifier",
              "overloadedDeclarations": [],
              "referencedDeclaration": 42364,
              "src": "409:11:50",
              "typeDescriptions": {}
            },
            "nameLocation": "-1:-1:-1"
          }
        ],
        "unitAlias": ""
      },
      {
        "id": 38831,
        "nodeType": "ContractDefinition",
        "src": "467:2014:50",
        "nodes": [
          {
            "id": 38628,
            "nodeType": "VariableDeclaration",
            "src": "578:78:50",
            "nodes": [],
            "constant": false,
            "documentation": {
              "id": 38623,
              "nodeType": "StructuredDocumentation",
              "src": "526:49:50",
              "text": " @notice The status of all disputes"
            },
            "mutability": "mutable",
            "name": "_disputeData",
            "nameLocation": "644:12:50",
            "scope": 38831,
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_mapping$_t_bytes32_$_t_enum$_ArbitrationStatus_$43451_$",
              "typeString": "mapping(bytes32 => enum IArbitratorModule.ArbitrationStatus)"
            },
            "typeName": {
              "id": 38627,
              "keyName": "_disputeId",
              "keyNameLocation": "594:10:50",
              "keyType": {
                "id": 38624,
                "name": "bytes32",
                "nodeType": "ElementaryTypeName",
                "src": "586:7:50",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes32",
                  "typeString": "bytes32"
                }
              },
              "nodeType": "Mapping",
              "src": "578:56:50",
              "typeDescriptions": {
                "typeIdentifier": "t_mapping$_t_bytes32_$_t_enum$_ArbitrationStatus_$43451_$",
                "typeString": "mapping(bytes32 => enum IArbitratorModule.ArbitrationStatus)"
              },
              "valueName": "_status",
              "valueNameLocation": "626:7:50",
              "valueType": {
                "id": 38626,
                "nodeType": "UserDefinedTypeName",
                "pathNode": {
                  "id": 38625,
                  "name": "ArbitrationStatus",
                  "nameLocations": [
                    "608:17:50"
                  ],
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 43451,
                  "src": "608:17:50"
                },
                "referencedDeclaration": 43451,
                "src": "608:17:50",
                "typeDescriptions": {
                  "typeIdentifier": "t_enum$_ArbitrationStatus_$43451",
                  "typeString": "enum IArbitratorModule.ArbitrationStatus"
                }
              }
            },
            "visibility": "internal"
          },
          {
            "id": 38638,
            "nodeType": "FunctionDefinition",
            "src": "661:47:50",
            "nodes": [],
            "body": {
              "id": 38637,
              "nodeType": "Block",
              "src": "706:2:50",
              "nodes": [],
              "statements": []
            },
            "implemented": true,
            "kind": "constructor",
            "modifiers": [
              {
                "arguments": [
                  {
                    "id": 38634,
                    "name": "_oracle",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 38631,
                    "src": "697:7:50",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_IOracle_$2282",
                      "typeString": "contract IOracle"
                    }
                  }
                ],
                "id": 38635,
                "kind": "baseConstructorSpecifier",
                "modifierName": {
                  "id": 38633,
                  "name": "Module",
                  "nameLocations": [
                    "690:6:50"
                  ],
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 98,
                  "src": "690:6:50"
                },
                "nodeType": "ModifierInvocation",
                "src": "690:15:50"
              }
            ],
            "name": "",
            "nameLocation": "-1:-1:-1",
            "parameters": {
              "id": 38632,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 38631,
                  "mutability": "mutable",
                  "name": "_oracle",
                  "nameLocation": "681:7:50",
                  "nodeType": "VariableDeclaration",
                  "scope": 38638,
                  "src": "673:15:50",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_IOracle_$2282",
                    "typeString": "contract IOracle"
                  },
                  "typeName": {
                    "id": 38630,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 38629,
                      "name": "IOracle",
                      "nameLocations": [
                        "673:7:50"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 2282,
                      "src": "673:7:50"
                    },
                    "referencedDeclaration": 2282,
                    "src": "673:7:50",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_IOracle_$2282",
                      "typeString": "contract IOracle"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "672:17:50"
            },
            "returnParameters": {
              "id": 38636,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "706:0:50"
            },
            "scope": 38831,
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "public"
          },
          {
            "id": 38647,
            "nodeType": "FunctionDefinition",
            "src": "738:108:50",
            "nodes": [],
            "body": {
              "id": 38646,
              "nodeType": "Block",
              "src": "810:36:50",
              "nodes": [],
              "statements": [
                {
                  "expression": {
                    "hexValue": "41726269747261746f724d6f64756c65",
                    "id": 38644,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": true,
                    "kind": "string",
                    "lValueRequested": false,
                    "nodeType": "Literal",
                    "src": "823:18:50",
                    "typeDescriptions": {
                      "typeIdentifier": "t_stringliteral_a31596264e960157a8b10c9581610ccf7790b6f4ed6ca18e24f269046b55234a",
                      "typeString": "literal_string \"ArbitratorModule\""
                    },
                    "value": "ArbitratorModule"
                  },
                  "functionReturnParameters": 38643,
                  "id": 38645,
                  "nodeType": "Return",
                  "src": "816:25:50"
                }
              ]
            },
            "baseFunctions": [
              1781
            ],
            "documentation": {
              "id": 38639,
              "nodeType": "StructuredDocumentation",
              "src": "712:23:50",
              "text": "@inheritdoc IModule"
            },
            "functionSelector": "93f0899a",
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "moduleName",
            "nameLocation": "747:10:50",
            "parameters": {
              "id": 38640,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "757:2:50"
            },
            "returnParameters": {
              "id": 38643,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 38642,
                  "mutability": "mutable",
                  "name": "_moduleName",
                  "nameLocation": "797:11:50",
                  "nodeType": "VariableDeclaration",
                  "scope": 38647,
                  "src": "783:25:50",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 38641,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "783:6:50",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "782:27:50"
            },
            "scope": 38831,
            "stateMutability": "pure",
            "virtual": false,
            "visibility": "external"
          },
          {
            "id": 38668,
            "nodeType": "FunctionDefinition",
            "src": "886:160:50",
            "nodes": [],
            "body": {
              "id": 38667,
              "nodeType": "Block",
              "src": "975:71:50",
              "nodes": [],
              "statements": [
                {
                  "expression": {
                    "id": 38665,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "id": 38655,
                      "name": "_arbitrator",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 38653,
                      "src": "981:11:50",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "arguments": [
                        {
                          "baseExpression": {
                            "id": 38658,
                            "name": "requestData",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 14,
                            "src": "1006:11:50",
                            "typeDescriptions": {
                              "typeIdentifier": "t_mapping$_t_bytes32_$_t_bytes_storage_$",
                              "typeString": "mapping(bytes32 => bytes storage ref)"
                            }
                          },
                          "id": 38660,
                          "indexExpression": {
                            "id": 38659,
                            "name": "_requestId",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 38650,
                            "src": "1018:10:50",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "1006:23:50",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes_storage",
                            "typeString": "bytes storage ref"
                          }
                        },
                        {
                          "components": [
                            {
                              "id": 38662,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "nodeType": "ElementaryTypeNameExpression",
                              "src": "1032:7:50",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_address_$",
                                "typeString": "type(address)"
                              },
                              "typeName": {
                                "id": 38661,
                                "name": "address",
                                "nodeType": "ElementaryTypeName",
                                "src": "1032:7:50",
                                "typeDescriptions": {}
                              }
                            }
                          ],
                          "id": 38663,
                          "isConstant": false,
                          "isInlineArray": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "nodeType": "TupleExpression",
                          "src": "1031:9:50",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_address_$",
                            "typeString": "type(address)"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_bytes_storage",
                            "typeString": "bytes storage ref"
                          },
                          {
                            "typeIdentifier": "t_type$_t_address_$",
                            "typeString": "type(address)"
                          }
                        ],
                        "expression": {
                          "id": 38656,
                          "name": "abi",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": -1,
                          "src": "995:3:50",
                          "typeDescriptions": {
                            "typeIdentifier": "t_magic_abi",
                            "typeString": "abi"
                          }
                        },
                        "id": 38657,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "memberLocation": "999:6:50",
                        "memberName": "decode",
                        "nodeType": "MemberAccess",
                        "src": "995:10:50",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_abidecode_pure$__$returns$__$",
                          "typeString": "function () pure"
                        }
                      },
                      "id": 38664,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "995:46:50",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_address_payable",
                        "typeString": "address payable"
                      }
                    },
                    "src": "981:60:50",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "id": 38666,
                  "nodeType": "ExpressionStatement",
                  "src": "981:60:50"
                }
              ]
            },
            "baseFunctions": [
              43480
            ],
            "documentation": {
              "id": 38648,
              "nodeType": "StructuredDocumentation",
              "src": "850:33:50",
              "text": "@inheritdoc IArbitratorModule"
            },
            "functionSelector": "4d610a46",
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "decodeRequestData",
            "nameLocation": "895:17:50",
            "parameters": {
              "id": 38651,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 38650,
                  "mutability": "mutable",
                  "name": "_requestId",
                  "nameLocation": "921:10:50",
                  "nodeType": "VariableDeclaration",
                  "scope": 38668,
                  "src": "913:18:50",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 38649,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "913:7:50",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "912:20:50"
            },
            "returnParameters": {
              "id": 38654,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 38653,
                  "mutability": "mutable",
                  "name": "_arbitrator",
                  "nameLocation": "962:11:50",
                  "nodeType": "VariableDeclaration",
                  "scope": 38668,
                  "src": "954:19:50",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 38652,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "954:7:50",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "953:21:50"
            },
            "scope": 38831,
            "stateMutability": "view",
            "virtual": false,
            "visibility": "public"
          },
          {
            "id": 38684,
            "nodeType": "FunctionDefinition",
            "src": "1086:148:50",
            "nodes": [],
            "body": {
              "id": 38683,
              "nodeType": "Block",
              "src": "1182:52:50",
              "nodes": [],
              "statements": [
                {
                  "expression": {
                    "id": 38681,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "id": 38677,
                      "name": "_disputeStatus",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 38675,
                      "src": "1188:14:50",
                      "typeDescriptions": {
                        "typeIdentifier": "t_enum$_ArbitrationStatus_$43451",
                        "typeString": "enum IArbitratorModule.ArbitrationStatus"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "baseExpression": {
                        "id": 38678,
                        "name": "_disputeData",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 38628,
                        "src": "1205:12:50",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_bytes32_$_t_enum$_ArbitrationStatus_$43451_$",
                          "typeString": "mapping(bytes32 => enum IArbitratorModule.ArbitrationStatus)"
                        }
                      },
                      "id": 38680,
                      "indexExpression": {
                        "id": 38679,
                        "name": "_disputeId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 38671,
                        "src": "1218:10:50",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "IndexAccess",
                      "src": "1205:24:50",
                      "typeDescriptions": {
                        "typeIdentifier": "t_enum$_ArbitrationStatus_$43451",
                        "typeString": "enum IArbitratorModule.ArbitrationStatus"
                      }
                    },
                    "src": "1188:41:50",
                    "typeDescriptions": {
                      "typeIdentifier": "t_enum$_ArbitrationStatus_$43451",
                      "typeString": "enum IArbitratorModule.ArbitrationStatus"
                    }
                  },
                  "id": 38682,
                  "nodeType": "ExpressionStatement",
                  "src": "1188:41:50"
                }
              ]
            },
            "baseFunctions": [
              43460
            ],
            "documentation": {
              "id": 38669,
              "nodeType": "StructuredDocumentation",
              "src": "1050:33:50",
              "text": "@inheritdoc IArbitratorModule"
            },
            "functionSelector": "5de28ae0",
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "getStatus",
            "nameLocation": "1095:9:50",
            "parameters": {
              "id": 38672,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 38671,
                  "mutability": "mutable",
                  "name": "_disputeId",
                  "nameLocation": "1113:10:50",
                  "nodeType": "VariableDeclaration",
                  "scope": 38684,
                  "src": "1105:18:50",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 38670,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1105:7:50",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1104:20:50"
            },
            "returnParameters": {
              "id": 38676,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 38675,
                  "mutability": "mutable",
                  "name": "_disputeStatus",
                  "nameLocation": "1166:14:50",
                  "nodeType": "VariableDeclaration",
                  "scope": 38684,
                  "src": "1148:32:50",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_enum$_ArbitrationStatus_$43451",
                    "typeString": "enum IArbitratorModule.ArbitrationStatus"
                  },
                  "typeName": {
                    "id": 38674,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 38673,
                      "name": "ArbitrationStatus",
                      "nameLocations": [
                        "1148:17:50"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 43451,
                      "src": "1148:17:50"
                    },
                    "referencedDeclaration": 43451,
                    "src": "1148:17:50",
                    "typeDescriptions": {
                      "typeIdentifier": "t_enum$_ArbitrationStatus_$43451",
                      "typeString": "enum IArbitratorModule.ArbitrationStatus"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1147:34:50"
            },
            "scope": 38831,
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "id": 38746,
            "nodeType": "FunctionDefinition",
            "src": "1274:471:50",
            "nodes": [],
            "body": {
              "id": 38745,
              "nodeType": "Block",
              "src": "1339:406:50",
              "nodes": [],
              "statements": [
                {
                  "assignments": [
                    38696
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 38696,
                      "mutability": "mutable",
                      "name": "_dispute",
                      "nameLocation": "1368:8:50",
                      "nodeType": "VariableDeclaration",
                      "scope": 38745,
                      "src": "1345:31:50",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Dispute_$2045_memory_ptr",
                        "typeString": "struct IOracle.Dispute"
                      },
                      "typeName": {
                        "id": 38695,
                        "nodeType": "UserDefinedTypeName",
                        "pathNode": {
                          "id": 38694,
                          "name": "IOracle.Dispute",
                          "nameLocations": [
                            "1345:7:50",
                            "1353:7:50"
                          ],
                          "nodeType": "IdentifierPath",
                          "referencedDeclaration": 2045,
                          "src": "1345:15:50"
                        },
                        "referencedDeclaration": 2045,
                        "src": "1345:15:50",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Dispute_$2045_storage_ptr",
                          "typeString": "struct IOracle.Dispute"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 38701,
                  "initialValue": {
                    "arguments": [
                      {
                        "id": 38699,
                        "name": "_disputeId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 38687,
                        "src": "1397:10:50",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      ],
                      "expression": {
                        "id": 38697,
                        "name": "ORACLE",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 10,
                        "src": "1379:6:50",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IOracle_$2282",
                          "typeString": "contract IOracle"
                        }
                      },
                      "id": 38698,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "1386:10:50",
                      "memberName": "getDispute",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 2162,
                      "src": "1379:17:50",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_struct$_Dispute_$2045_memory_ptr_$",
                        "typeString": "function (bytes32) view external returns (struct IOracle.Dispute memory)"
                      }
                    },
                    "id": 38700,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1379:29:50",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Dispute_$2045_memory_ptr",
                      "typeString": "struct IOracle.Dispute memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "1345:63:50"
                },
                {
                  "assignments": [
                    38703
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 38703,
                      "mutability": "mutable",
                      "name": "_arbitrator",
                      "nameLocation": "1423:11:50",
                      "nodeType": "VariableDeclaration",
                      "scope": 38745,
                      "src": "1415:19:50",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      },
                      "typeName": {
                        "id": 38702,
                        "name": "address",
                        "nodeType": "ElementaryTypeName",
                        "src": "1415:7:50",
                        "stateMutability": "nonpayable",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 38714,
                  "initialValue": {
                    "arguments": [
                      {
                        "baseExpression": {
                          "id": 38706,
                          "name": "requestData",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14,
                          "src": "1448:11:50",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_bytes32_$_t_bytes_storage_$",
                            "typeString": "mapping(bytes32 => bytes storage ref)"
                          }
                        },
                        "id": 38709,
                        "indexExpression": {
                          "expression": {
                            "id": 38707,
                            "name": "_dispute",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 38696,
                            "src": "1460:8:50",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Dispute_$2045_memory_ptr",
                              "typeString": "struct IOracle.Dispute memory"
                            }
                          },
                          "id": 38708,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "1469:9:50",
                          "memberName": "requestId",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 2041,
                          "src": "1460:18:50",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "1448:31:50",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_storage",
                          "typeString": "bytes storage ref"
                        }
                      },
                      {
                        "components": [
                          {
                            "id": 38711,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "ElementaryTypeNameExpression",
                            "src": "1482:7:50",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_address_$",
                              "typeString": "type(address)"
                            },
                            "typeName": {
                              "id": 38710,
                              "name": "address",
                              "nodeType": "ElementaryTypeName",
                              "src": "1482:7:50",
                              "typeDescriptions": {}
                            }
                          }
                        ],
                        "id": 38712,
                        "isConstant": false,
                        "isInlineArray": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "nodeType": "TupleExpression",
                        "src": "1481:9:50",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_address_$",
                          "typeString": "type(address)"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes_storage",
                          "typeString": "bytes storage ref"
                        },
                        {
                          "typeIdentifier": "t_type$_t_address_$",
                          "typeString": "type(address)"
                        }
                      ],
                      "expression": {
                        "id": 38704,
                        "name": "abi",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": -1,
                        "src": "1437:3:50",
                        "typeDescriptions": {
                          "typeIdentifier": "t_magic_abi",
                          "typeString": "abi"
                        }
                      },
                      "id": 38705,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "memberLocation": "1441:6:50",
                      "memberName": "decode",
                      "nodeType": "MemberAccess",
                      "src": "1437:10:50",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_abidecode_pure$__$returns$__$",
                        "typeString": "function () pure"
                      }
                    },
                    "id": 38713,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1437:54:50",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_address_payable",
                      "typeString": "address payable"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "1415:76:50"
                },
                {
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    },
                    "id": 38720,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "id": 38715,
                      "name": "_arbitrator",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 38703,
                      "src": "1501:11:50",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "==",
                    "rightExpression": {
                      "arguments": [
                        {
                          "hexValue": "30",
                          "id": 38718,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "1524:1:50",
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_0_by_1",
                            "typeString": "int_const 0"
                          },
                          "value": "0"
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_rational_0_by_1",
                            "typeString": "int_const 0"
                          }
                        ],
                        "id": 38717,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "nodeType": "ElementaryTypeNameExpression",
                        "src": "1516:7:50",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_address_$",
                          "typeString": "type(address)"
                        },
                        "typeName": {
                          "id": 38716,
                          "name": "address",
                          "nodeType": "ElementaryTypeName",
                          "src": "1516:7:50",
                          "typeDescriptions": {}
                        }
                      },
                      "id": 38719,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "typeConversion",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "1516:10:50",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "src": "1501:25:50",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 38724,
                  "nodeType": "IfStatement",
                  "src": "1497:74:50",
                  "trueBody": {
                    "errorCall": {
                      "arguments": [],
                      "expression": {
                        "argumentTypes": [],
                        "id": 38721,
                        "name": "ArbitratorModule_InvalidArbitrator",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 43444,
                        "src": "1535:34:50",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_error_pure$__$returns$__$",
                          "typeString": "function () pure"
                        }
                      },
                      "id": 38722,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "1535:36:50",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_tuple$__$",
                        "typeString": "tuple()"
                      }
                    },
                    "id": 38723,
                    "nodeType": "RevertStatement",
                    "src": "1528:43:50"
                  }
                },
                {
                  "expression": {
                    "id": 38730,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "baseExpression": {
                        "id": 38725,
                        "name": "_disputeData",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 38628,
                        "src": "1578:12:50",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_bytes32_$_t_enum$_ArbitrationStatus_$43451_$",
                          "typeString": "mapping(bytes32 => enum IArbitratorModule.ArbitrationStatus)"
                        }
                      },
                      "id": 38727,
                      "indexExpression": {
                        "id": 38726,
                        "name": "_disputeId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 38687,
                        "src": "1591:10:50",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "IndexAccess",
                      "src": "1578:24:50",
                      "typeDescriptions": {
                        "typeIdentifier": "t_enum$_ArbitrationStatus_$43451",
                        "typeString": "enum IArbitratorModule.ArbitrationStatus"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "expression": {
                        "id": 38728,
                        "name": "ArbitrationStatus",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 43451,
                        "src": "1605:17:50",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_enum$_ArbitrationStatus_$43451_$",
                          "typeString": "type(enum IArbitratorModule.ArbitrationStatus)"
                        }
                      },
                      "id": 38729,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "memberLocation": "1623:6:50",
                      "memberName": "Active",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 43449,
                      "src": "1605:24:50",
                      "typeDescriptions": {
                        "typeIdentifier": "t_enum$_ArbitrationStatus_$43451",
                        "typeString": "enum IArbitratorModule.ArbitrationStatus"
                      }
                    },
                    "src": "1578:51:50",
                    "typeDescriptions": {
                      "typeIdentifier": "t_enum$_ArbitrationStatus_$43451",
                      "typeString": "enum IArbitratorModule.ArbitrationStatus"
                    }
                  },
                  "id": 38731,
                  "nodeType": "ExpressionStatement",
                  "src": "1578:51:50"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 38736,
                        "name": "_disputeId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 38687,
                        "src": "1668:10:50",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      ],
                      "expression": {
                        "arguments": [
                          {
                            "id": 38733,
                            "name": "_arbitrator",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 38703,
                            "src": "1647:11:50",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          ],
                          "id": 38732,
                          "name": "IArbitrator",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 42364,
                          "src": "1635:11:50",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_contract$_IArbitrator_$42364_$",
                            "typeString": "type(contract IArbitrator)"
                          }
                        },
                        "id": 38734,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "typeConversion",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "1635:24:50",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IArbitrator_$42364",
                          "typeString": "contract IArbitrator"
                        }
                      },
                      "id": 38735,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "1660:7:50",
                      "memberName": "resolve",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 42363,
                      "src": "1635:32:50",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$returns$_t_bytes_memory_ptr_$",
                        "typeString": "function (bytes32) external returns (bytes memory)"
                      }
                    },
                    "id": 38737,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1635:44:50",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_memory_ptr",
                      "typeString": "bytes memory"
                    }
                  },
                  "id": 38738,
                  "nodeType": "ExpressionStatement",
                  "src": "1635:44:50"
                },
                {
                  "eventCall": {
                    "arguments": [
                      {
                        "expression": {
                          "id": 38740,
                          "name": "_dispute",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 38696,
                          "src": "1709:8:50",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Dispute_$2045_memory_ptr",
                            "typeString": "struct IOracle.Dispute memory"
                          }
                        },
                        "id": 38741,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "1718:9:50",
                        "memberName": "requestId",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 2041,
                        "src": "1709:18:50",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "id": 38742,
                        "name": "_disputeId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 38687,
                        "src": "1729:10:50",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      ],
                      "id": 38739,
                      "name": "ResolutionStarted",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 2386,
                      "src": "1691:17:50",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$",
                        "typeString": "function (bytes32,bytes32)"
                      }
                    },
                    "id": 38743,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1691:49:50",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 38744,
                  "nodeType": "EmitStatement",
                  "src": "1686:54:50"
                }
              ]
            },
            "baseFunctions": [
              43466
            ],
            "documentation": {
              "id": 38685,
              "nodeType": "StructuredDocumentation",
              "src": "1238:33:50",
              "text": "@inheritdoc IArbitratorModule"
            },
            "functionSelector": "d96dd0e7",
            "implemented": true,
            "kind": "function",
            "modifiers": [
              {
                "id": 38690,
                "kind": "modifierInvocation",
                "modifierName": {
                  "id": 38689,
                  "name": "onlyOracle",
                  "nameLocations": [
                    "1328:10:50"
                  ],
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 41,
                  "src": "1328:10:50"
                },
                "nodeType": "ModifierInvocation",
                "src": "1328:10:50"
              }
            ],
            "name": "startResolution",
            "nameLocation": "1283:15:50",
            "parameters": {
              "id": 38688,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 38687,
                  "mutability": "mutable",
                  "name": "_disputeId",
                  "nameLocation": "1307:10:50",
                  "nodeType": "VariableDeclaration",
                  "scope": 38746,
                  "src": "1299:18:50",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 38686,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1299:7:50",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1298:20:50"
            },
            "returnParameters": {
              "id": 38691,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1339:0:50"
            },
            "scope": 38831,
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "id": 38830,
            "nodeType": "FunctionDefinition",
            "src": "1785:694:50",
            "nodes": [],
            "body": {
              "id": 38829,
              "nodeType": "Block",
              "src": "1849:630:50",
              "nodes": [],
              "statements": [
                {
                  "assignments": [
                    38758
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 38758,
                      "mutability": "mutable",
                      "name": "_dispute",
                      "nameLocation": "1878:8:50",
                      "nodeType": "VariableDeclaration",
                      "scope": 38829,
                      "src": "1855:31:50",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Dispute_$2045_memory_ptr",
                        "typeString": "struct IOracle.Dispute"
                      },
                      "typeName": {
                        "id": 38757,
                        "nodeType": "UserDefinedTypeName",
                        "pathNode": {
                          "id": 38756,
                          "name": "IOracle.Dispute",
                          "nameLocations": [
                            "1855:7:50",
                            "1863:7:50"
                          ],
                          "nodeType": "IdentifierPath",
                          "referencedDeclaration": 2045,
                          "src": "1855:15:50"
                        },
                        "referencedDeclaration": 2045,
                        "src": "1855:15:50",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Dispute_$2045_storage_ptr",
                          "typeString": "struct IOracle.Dispute"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 38763,
                  "initialValue": {
                    "arguments": [
                      {
                        "id": 38761,
                        "name": "_disputeId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 38749,
                        "src": "1907:10:50",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      ],
                      "expression": {
                        "id": 38759,
                        "name": "ORACLE",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 10,
                        "src": "1889:6:50",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IOracle_$2282",
                          "typeString": "contract IOracle"
                        }
                      },
                      "id": 38760,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "1896:10:50",
                      "memberName": "getDispute",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 2162,
                      "src": "1889:17:50",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_struct$_Dispute_$2045_memory_ptr_$",
                        "typeString": "function (bytes32) view external returns (struct IOracle.Dispute memory)"
                      }
                    },
                    "id": 38762,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1889:29:50",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Dispute_$2045_memory_ptr",
                      "typeString": "struct IOracle.Dispute memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "1855:63:50"
                },
                {
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_enum$_DisputeStatus_$2052",
                      "typeString": "enum IOracle.DisputeStatus"
                    },
                    "id": 38769,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "expression": {
                        "id": 38764,
                        "name": "_dispute",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 38758,
                        "src": "1928:8:50",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Dispute_$2045_memory_ptr",
                          "typeString": "struct IOracle.Dispute memory"
                        }
                      },
                      "id": 38765,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "1937:6:50",
                      "memberName": "status",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 2044,
                      "src": "1928:15:50",
                      "typeDescriptions": {
                        "typeIdentifier": "t_enum$_DisputeStatus_$2052",
                        "typeString": "enum IOracle.DisputeStatus"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "!=",
                    "rightExpression": {
                      "expression": {
                        "expression": {
                          "id": 38766,
                          "name": "IOracle",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 2282,
                          "src": "1947:7:50",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_contract$_IOracle_$2282_$",
                            "typeString": "type(contract IOracle)"
                          }
                        },
                        "id": 38767,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "1955:13:50",
                        "memberName": "DisputeStatus",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 2052,
                        "src": "1947:21:50",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_enum$_DisputeStatus_$2052_$",
                          "typeString": "type(enum IOracle.DisputeStatus)"
                        }
                      },
                      "id": 38768,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "memberLocation": "1969:9:50",
                      "memberName": "Escalated",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 2048,
                      "src": "1947:31:50",
                      "typeDescriptions": {
                        "typeIdentifier": "t_enum$_DisputeStatus_$2052",
                        "typeString": "enum IOracle.DisputeStatus"
                      }
                    },
                    "src": "1928:50:50",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 38773,
                  "nodeType": "IfStatement",
                  "src": "1924:98:50",
                  "trueBody": {
                    "errorCall": {
                      "arguments": [],
                      "expression": {
                        "argumentTypes": [],
                        "id": 38770,
                        "name": "ArbitratorModule_InvalidDisputeId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 43441,
                        "src": "1987:33:50",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_error_pure$__$returns$__$",
                          "typeString": "function () pure"
                        }
                      },
                      "id": 38771,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "1987:35:50",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_tuple$__$",
                        "typeString": "tuple()"
                      }
                    },
                    "id": 38772,
                    "nodeType": "RevertStatement",
                    "src": "1980:42:50"
                  }
                },
                {
                  "assignments": [
                    38775
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 38775,
                      "mutability": "mutable",
                      "name": "_arbitrator",
                      "nameLocation": "2037:11:50",
                      "nodeType": "VariableDeclaration",
                      "scope": 38829,
                      "src": "2029:19:50",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      },
                      "typeName": {
                        "id": 38774,
                        "name": "address",
                        "nodeType": "ElementaryTypeName",
                        "src": "2029:7:50",
                        "stateMutability": "nonpayable",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 38786,
                  "initialValue": {
                    "arguments": [
                      {
                        "baseExpression": {
                          "id": 38778,
                          "name": "requestData",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 14,
                          "src": "2062:11:50",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_bytes32_$_t_bytes_storage_$",
                            "typeString": "mapping(bytes32 => bytes storage ref)"
                          }
                        },
                        "id": 38781,
                        "indexExpression": {
                          "expression": {
                            "id": 38779,
                            "name": "_dispute",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 38758,
                            "src": "2074:8:50",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Dispute_$2045_memory_ptr",
                              "typeString": "struct IOracle.Dispute memory"
                            }
                          },
                          "id": 38780,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberLocation": "2083:9:50",
                          "memberName": "requestId",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 2041,
                          "src": "2074:18:50",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "2062:31:50",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_storage",
                          "typeString": "bytes storage ref"
                        }
                      },
                      {
                        "components": [
                          {
                            "id": 38783,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "ElementaryTypeNameExpression",
                            "src": "2096:7:50",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_address_$",
                              "typeString": "type(address)"
                            },
                            "typeName": {
                              "id": 38782,
                              "name": "address",
                              "nodeType": "ElementaryTypeName",
                              "src": "2096:7:50",
                              "typeDescriptions": {}
                            }
                          }
                        ],
                        "id": 38784,
                        "isConstant": false,
                        "isInlineArray": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "nodeType": "TupleExpression",
                        "src": "2095:9:50",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_address_$",
                          "typeString": "type(address)"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes_storage",
                          "typeString": "bytes storage ref"
                        },
                        {
                          "typeIdentifier": "t_type$_t_address_$",
                          "typeString": "type(address)"
                        }
                      ],
                      "expression": {
                        "id": 38776,
                        "name": "abi",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": -1,
                        "src": "2051:3:50",
                        "typeDescriptions": {
                          "typeIdentifier": "t_magic_abi",
                          "typeString": "abi"
                        }
                      },
                      "id": 38777,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "memberLocation": "2055:6:50",
                      "memberName": "decode",
                      "nodeType": "MemberAccess",
                      "src": "2051:10:50",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_abidecode_pure$__$returns$__$",
                        "typeString": "function () pure"
                      }
                    },
                    "id": 38785,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2051:54:50",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_address_payable",
                      "typeString": "address payable"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "2029:76:50"
                },
                {
                  "assignments": [
                    38791
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 38791,
                      "mutability": "mutable",
                      "name": "_status",
                      "nameLocation": "2133:7:50",
                      "nodeType": "VariableDeclaration",
                      "scope": 38829,
                      "src": "2111:29:50",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_enum$_DisputeStatus_$2052",
                        "typeString": "enum IOracle.DisputeStatus"
                      },
                      "typeName": {
                        "id": 38790,
                        "nodeType": "UserDefinedTypeName",
                        "pathNode": {
                          "id": 38789,
                          "name": "IOracle.DisputeStatus",
                          "nameLocations": [
                            "2111:7:50",
                            "2119:13:50"
                          ],
                          "nodeType": "IdentifierPath",
                          "referencedDeclaration": 2052,
                          "src": "2111:21:50"
                        },
                        "referencedDeclaration": 2052,
                        "src": "2111:21:50",
                        "typeDescriptions": {
                          "typeIdentifier": "t_enum$_DisputeStatus_$2052",
                          "typeString": "enum IOracle.DisputeStatus"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 38798,
                  "initialValue": {
                    "arguments": [
                      {
                        "id": 38796,
                        "name": "_disputeId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 38749,
                        "src": "2178:10:50",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      ],
                      "expression": {
                        "arguments": [
                          {
                            "id": 38793,
                            "name": "_arbitrator",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 38775,
                            "src": "2155:11:50",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          ],
                          "id": 38792,
                          "name": "IArbitrator",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 42364,
                          "src": "2143:11:50",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_contract$_IArbitrator_$42364_$",
                            "typeString": "type(contract IArbitrator)"
                          }
                        },
                        "id": 38794,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "typeConversion",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "2143:24:50",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IArbitrator_$42364",
                          "typeString": "contract IArbitrator"
                        }
                      },
                      "id": 38795,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "2168:9:50",
                      "memberName": "getAnswer",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 42355,
                      "src": "2143:34:50",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$returns$_t_enum$_DisputeStatus_$2052_$",
                        "typeString": "function (bytes32) external returns (enum IOracle.DisputeStatus)"
                      }
                    },
                    "id": 38797,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2143:46:50",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_enum$_DisputeStatus_$2052",
                      "typeString": "enum IOracle.DisputeStatus"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "2111:78:50"
                },
                {
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_enum$_DisputeStatus_$2052",
                      "typeString": "enum IOracle.DisputeStatus"
                    },
                    "id": 38803,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "id": 38799,
                      "name": "_status",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 38791,
                      "src": "2200:7:50",
                      "typeDescriptions": {
                        "typeIdentifier": "t_enum$_DisputeStatus_$2052",
                        "typeString": "enum IOracle.DisputeStatus"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "<=",
                    "rightExpression": {
                      "expression": {
                        "expression": {
                          "id": 38800,
                          "name": "IOracle",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 2282,
                          "src": "2211:7:50",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_contract$_IOracle_$2282_$",
                            "typeString": "type(contract IOracle)"
                          }
                        },
                        "id": 38801,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "2219:13:50",
                        "memberName": "DisputeStatus",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 2052,
                        "src": "2211:21:50",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_enum$_DisputeStatus_$2052_$",
                          "typeString": "type(enum IOracle.DisputeStatus)"
                        }
                      },
                      "id": 38802,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "memberLocation": "2233:9:50",
                      "memberName": "Escalated",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 2048,
                      "src": "2211:31:50",
                      "typeDescriptions": {
                        "typeIdentifier": "t_enum$_DisputeStatus_$2052",
                        "typeString": "enum IOracle.DisputeStatus"
                      }
                    },
                    "src": "2200:42:50",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 38807,
                  "nodeType": "IfStatement",
                  "src": "2196:97:50",
                  "trueBody": {
                    "errorCall": {
                      "arguments": [],
                      "expression": {
                        "argumentTypes": [],
                        "id": 38804,
                        "name": "ArbitratorModule_InvalidResolutionStatus",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 43447,
                        "src": "2251:40:50",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_error_pure$__$returns$__$",
                          "typeString": "function () pure"
                        }
                      },
                      "id": 38805,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "2251:42:50",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_tuple$__$",
                        "typeString": "tuple()"
                      }
                    },
                    "id": 38806,
                    "nodeType": "RevertStatement",
                    "src": "2244:49:50"
                  }
                },
                {
                  "expression": {
                    "id": 38813,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "baseExpression": {
                        "id": 38808,
                        "name": "_disputeData",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 38628,
                        "src": "2299:12:50",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_bytes32_$_t_enum$_ArbitrationStatus_$43451_$",
                          "typeString": "mapping(bytes32 => enum IArbitratorModule.ArbitrationStatus)"
                        }
                      },
                      "id": 38810,
                      "indexExpression": {
                        "id": 38809,
                        "name": "_disputeId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 38749,
                        "src": "2312:10:50",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "IndexAccess",
                      "src": "2299:24:50",
                      "typeDescriptions": {
                        "typeIdentifier": "t_enum$_ArbitrationStatus_$43451",
                        "typeString": "enum IArbitratorModule.ArbitrationStatus"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "expression": {
                        "id": 38811,
                        "name": "ArbitrationStatus",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 43451,
                        "src": "2326:17:50",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_enum$_ArbitrationStatus_$43451_$",
                          "typeString": "type(enum IArbitratorModule.ArbitrationStatus)"
                        }
                      },
                      "id": 38812,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "memberLocation": "2344:8:50",
                      "memberName": "Resolved",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 43450,
                      "src": "2326:26:50",
                      "typeDescriptions": {
                        "typeIdentifier": "t_enum$_ArbitrationStatus_$43451",
                        "typeString": "enum IArbitratorModule.ArbitrationStatus"
                      }
                    },
                    "src": "2299:53:50",
                    "typeDescriptions": {
                      "typeIdentifier": "t_enum$_ArbitrationStatus_$43451",
                      "typeString": "enum IArbitratorModule.ArbitrationStatus"
                    }
                  },
                  "id": 38814,
                  "nodeType": "ExpressionStatement",
                  "src": "2299:53:50"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 38818,
                        "name": "_disputeId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 38749,
                        "src": "2386:10:50",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "id": 38819,
                        "name": "_status",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 38791,
                        "src": "2398:7:50",
                        "typeDescriptions": {
                          "typeIdentifier": "t_enum$_DisputeStatus_$2052",
                          "typeString": "enum IOracle.DisputeStatus"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_enum$_DisputeStatus_$2052",
                          "typeString": "enum IOracle.DisputeStatus"
                        }
                      ],
                      "expression": {
                        "id": 38815,
                        "name": "ORACLE",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 10,
                        "src": "2359:6:50",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IOracle_$2282",
                          "typeString": "contract IOracle"
                        }
                      },
                      "id": 38817,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "2366:19:50",
                      "memberName": "updateDisputeStatus",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 2221,
                      "src": "2359:26:50",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_enum$_DisputeStatus_$2052_$returns$__$",
                        "typeString": "function (bytes32,enum IOracle.DisputeStatus) external"
                      }
                    },
                    "id": 38820,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2359:47:50",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 38821,
                  "nodeType": "ExpressionStatement",
                  "src": "2359:47:50"
                },
                {
                  "eventCall": {
                    "arguments": [
                      {
                        "expression": {
                          "id": 38823,
                          "name": "_dispute",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 38758,
                          "src": "2434:8:50",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Dispute_$2045_memory_ptr",
                            "typeString": "struct IOracle.Dispute memory"
                          }
                        },
                        "id": 38824,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "2443:9:50",
                        "memberName": "requestId",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 2041,
                        "src": "2434:18:50",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "id": 38825,
                        "name": "_disputeId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 38749,
                        "src": "2454:10:50",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "id": 38826,
                        "name": "_status",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 38791,
                        "src": "2466:7:50",
                        "typeDescriptions": {
                          "typeIdentifier": "t_enum$_DisputeStatus_$2052",
                          "typeString": "enum IOracle.DisputeStatus"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_enum$_DisputeStatus_$2052",
                          "typeString": "enum IOracle.DisputeStatus"
                        }
                      ],
                      "id": 38822,
                      "name": "DisputeResolved",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 2379,
                      "src": "2418:15:50",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_bytes32_$_t_enum$_DisputeStatus_$2052_$returns$__$",
                        "typeString": "function (bytes32,bytes32,enum IOracle.DisputeStatus)"
                      }
                    },
                    "id": 38827,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "nameLocations": [],
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2418:56:50",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 38828,
                  "nodeType": "EmitStatement",
                  "src": "2413:61:50"
                }
              ]
            },
            "baseFunctions": [
              43472
            ],
            "documentation": {
              "id": 38747,
              "nodeType": "StructuredDocumentation",
              "src": "1749:33:50",
              "text": "@inheritdoc IArbitratorModule"
            },
            "functionSelector": "c8218e3e",
            "implemented": true,
            "kind": "function",
            "modifiers": [
              {
                "id": 38752,
                "kind": "modifierInvocation",
                "modifierName": {
                  "id": 38751,
                  "name": "onlyOracle",
                  "nameLocations": [
                    "1838:10:50"
                  ],
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 41,
                  "src": "1838:10:50"
                },
                "nodeType": "ModifierInvocation",
                "src": "1838:10:50"
              }
            ],
            "name": "resolveDispute",
            "nameLocation": "1794:14:50",
            "parameters": {
              "id": 38750,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 38749,
                  "mutability": "mutable",
                  "name": "_disputeId",
                  "nameLocation": "1817:10:50",
                  "nodeType": "VariableDeclaration",
                  "scope": 38830,
                  "src": "1809:18:50",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 38748,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1809:7:50",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1808:20:50"
            },
            "returnParameters": {
              "id": 38753,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1849:0:50"
            },
            "scope": 38831,
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          }
        ],
        "abstract": false,
        "baseContracts": [
          {
            "baseName": {
              "id": 38619,
              "name": "Module",
              "nameLocations": [
                "496:6:50"
              ],
              "nodeType": "IdentifierPath",
              "referencedDeclaration": 98,
              "src": "496:6:50"
            },
            "id": 38620,
            "nodeType": "InheritanceSpecifier",
            "src": "496:6:50"
          },
          {
            "baseName": {
              "id": 38621,
              "name": "IArbitratorModule",
              "nameLocations": [
                "504:17:50"
              ],
              "nodeType": "IdentifierPath",
              "referencedDeclaration": 43481,
              "src": "504:17:50"
            },
            "id": 38622,
            "nodeType": "InheritanceSpecifier",
            "src": "504:17:50"
          }
        ],
        "canonicalName": "ArbitratorModule",
        "contractDependencies": [],
        "contractKind": "contract",
        "fullyImplemented": true,
        "linearizedBaseContracts": [
          38831,
          43481,
          2399,
          98,
          1782
        ],
        "name": "ArbitratorModule",
        "nameLocation": "476:16:50",
        "scope": 38832,
        "usedErrors": [
          1745,
          43438,
          43441,
          43444,
          43447
        ]
      }
    ],
    "license": "MIT"
  },
  "id": 50
}