{
  "abi": [
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "_asset",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "_user",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "_amount",
          "type": "uint256"
        }
      ],
      "name": "MockAcctCalled",
      "type": "event"
    },
    {
      "inputs": [],
      "name": "affectedAssets",
      "outputs": [
        {
          "internalType": "address payable[14]",
          "name": "",
          "type": "address[14]"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_asset",
          "type": "address"
        }
      ],
      "name": "isAffectedAsset",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_asset",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "_user",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "_amount",
          "type": "uint256"
        }
      ],
      "name": "record",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    }
  ],
  "bytecode": {
    "object": "0x608060405234801561001057600080fd5b506103ad806100206000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c8063172a93fb146100465780636c2676331461008b5780637013ca26146100d2575b600080fd5b6100896004803603606081101561005c57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610113565b005b6100be600480360360208110156100a157600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1661017d565b604080519115158252519081900360200190f35b6100da6101f9565b60405180826101c080838360005b838110156101005781810151838201526020016100e8565b5050505090500191505060405180910390f35b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fa0fe60ff59098af32f94c6874d343e75865ae755f38e2dbd9320650270bdf331836040518082815260200191505060405180910390a3505050565b6000806101886101f9565b905060005b600e8110156101ed578181600e81106101a257fe5b602002015173ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614156101e5576001925050506101f4565b60010161018d565b5060009150505b919050565b610201610381565b50604080516101c081018252732260fac5e5542a773aa44fbcfedf7c193bc2c599815273c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2602082015273a0b86991c6218b36c1d19d4a2e9eb0ce3606eb489181019190915273853d955acef822db058eb8505911ed77f175b99e606082015273dac17f958d2ee523a2206206994597c13d831ec76080820152736b175474e89094c44da98b954eedeac495271d0f60a082015273d417144312dbf50465b1c641d016962017ef624060c0820152733d6f0dea3ac3c607b3998e6ce14b6350721752d960e08201527340eb746dee876ac1e78697b7ca85142d178a1fc861010082015273f1a91c7d44768070f711c68f33a7ca25c8d30268610120820152733432b6a60d23ca0dfca7761b7ab56459d9c964d0610140820152733431f91b3a388115f00c5ba9fdb899851d005fb561016082015273e5097d9baeafb89f9bcb78c9290d545db5f9e9cb61018082015273f1dc500fde233a4055e25e5bbf516372bc4f68716101a082015290565b604051806101c00160405280600e90602082028036833750919291505056fea164736f6c6343000706000a",
    "sourceMap": "143:1938:58:-:0;;;;;;;;;;;;;;;;;;;",
    "linkReferences": {}
  },
  "deployedBytecode": {
    "object": "0x608060405234801561001057600080fd5b50600436106100415760003560e01c8063172a93fb146100465780636c2676331461008b5780637013ca26146100d2575b600080fd5b6100896004803603606081101561005c57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610113565b005b6100be600480360360208110156100a157600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1661017d565b604080519115158252519081900360200190f35b6100da6101f9565b60405180826101c080838360005b838110156101005781810151838201526020016100e8565b5050505090500191505060405180910390f35b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fa0fe60ff59098af32f94c6874d343e75865ae755f38e2dbd9320650270bdf331836040518082815260200191505060405180910390a3505050565b6000806101886101f9565b905060005b600e8110156101ed578181600e81106101a257fe5b602002015173ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614156101e5576001925050506101f4565b60010161018d565b5060009150505b919050565b610201610381565b50604080516101c081018252732260fac5e5542a773aa44fbcfedf7c193bc2c599815273c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2602082015273a0b86991c6218b36c1d19d4a2e9eb0ce3606eb489181019190915273853d955acef822db058eb8505911ed77f175b99e606082015273dac17f958d2ee523a2206206994597c13d831ec76080820152736b175474e89094c44da98b954eedeac495271d0f60a082015273d417144312dbf50465b1c641d016962017ef624060c0820152733d6f0dea3ac3c607b3998e6ce14b6350721752d960e08201527340eb746dee876ac1e78697b7ca85142d178a1fc861010082015273f1a91c7d44768070f711c68f33a7ca25c8d30268610120820152733432b6a60d23ca0dfca7761b7ab56459d9c964d0610140820152733431f91b3a388115f00c5ba9fdb899851d005fb561016082015273e5097d9baeafb89f9bcb78c9290d545db5f9e9cb61018082015273f1dc500fde233a4055e25e5bbf516372bc4f68716101a082015290565b604051806101c00160405280600e90602082028036833750919291505056fea164736f6c6343000706000a",
    "sourceMap": "143:1938:58:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;314:172;;;;;;;;;;;;;;;;-1:-1:-1;314:172:58;;;;;;;;;;;;;;;;;;:::i;:::-;;743:327;;;;;;;;;;;;;;;;-1:-1:-1;743:327:58;;;;:::i;:::-;;;;;;;;;;;;;;;;;;1141:938;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;314:172;464:5;441:38;;456:6;441:38;;;471:7;441:38;;;;;;;;;;;;;;;;;;314:172;;;:::o;743:327::-;846:4;866:36;905:16;:14;:16::i;:::-;866:55;;936:9;931:111;955:16;951:1;:20;931:111;;;1006:9;1016:1;1006:12;;;;;;;;;;;996:22;;:6;:22;;;992:39;;;1027:4;1020:11;;;;;;992:39;973:3;;931:111;;;;1058:5;1051:12;;;743:327;;;;:::o;1141:938::-;1229:26;;:::i;:::-;-1:-1:-1;1271:801:58;;;;;;;;1292:42;1271:801;;1348:42;1271:801;;;;1404:42;1271:801;;;;;;;1460:42;1271:801;;;;1516:42;1271:801;;;;1572:42;1271:801;;;;1628:42;1271:801;;;;1684:42;1271:801;;;;1740:42;1271:801;;;;1796:42;1271:801;;;;1852:42;1271:801;;;;1908:42;1271:801;;;;1964:42;1271:801;;;;2020:42;1271:801;;;;1141:938;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;:::o",
    "linkReferences": {}
  },
  "methodIdentifiers": {
    "affectedAssets()": "7013ca26",
    "isAffectedAsset(address)": "6c267633",
    "record(address,address,uint256)": "172a93fb"
  },
  "ast": {
    "absolutePath": "packages/contracts-bridge/contracts/test/utils/MockAccountant.sol",
    "id": 42566,
    "exportedSymbols": {
      "IEventAccountant": [
        33635
      ],
      "MockAccountant": [
        42565
      ]
    },
    "nodeType": "SourceUnit",
    "src": "46:2036:58",
    "nodes": [
      {
        "id": 42469,
        "nodeType": "PragmaDirective",
        "src": "46:22:58",
        "literals": [
          "solidity",
          "0.7",
          ".6"
        ]
      },
      {
        "id": 42471,
        "nodeType": "ImportDirective",
        "src": "70:71:58",
        "absolutePath": "packages/contracts-bridge/contracts/interfaces/IEventAccountant.sol",
        "file": "../../interfaces/IEventAccountant.sol",
        "scope": 42566,
        "sourceUnit": 33636,
        "symbolAliases": [
          {
            "foreign": {
              "id": 42470,
              "name": "IEventAccountant",
              "nodeType": "Identifier",
              "overloadedDeclarations": [],
              "src": "78:16:58",
              "typeDescriptions": {}
            }
          }
        ],
        "unitAlias": ""
      },
      {
        "id": 42565,
        "nodeType": "ContractDefinition",
        "src": "143:1938:58",
        "nodes": [
          {
            "id": 42481,
            "nodeType": "EventDefinition",
            "src": "193:115:58",
            "anonymous": false,
            "name": "MockAcctCalled",
            "parameters": {
              "id": 42480,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 42475,
                  "indexed": true,
                  "mutability": "mutable",
                  "name": "_asset",
                  "nodeType": "VariableDeclaration",
                  "scope": 42481,
                  "src": "223:22:58",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 42474,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "223:7:58",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 42477,
                  "indexed": true,
                  "mutability": "mutable",
                  "name": "_user",
                  "nodeType": "VariableDeclaration",
                  "scope": 42481,
                  "src": "255:21:58",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 42476,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "255:7:58",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 42479,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "_amount",
                  "nodeType": "VariableDeclaration",
                  "scope": 42481,
                  "src": "286:15:58",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 42478,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "286:7:58",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "213:94:58"
            }
          },
          {
            "id": 42498,
            "nodeType": "FunctionDefinition",
            "src": "314:172:58",
            "body": {
              "id": 42497,
              "nodeType": "Block",
              "src": "426:60:58",
              "statements": [
                {
                  "eventCall": {
                    "arguments": [
                      {
                        "id": 42492,
                        "name": "_asset",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 42483,
                        "src": "456:6:58",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "id": 42493,
                        "name": "_user",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 42485,
                        "src": "464:5:58",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "id": 42494,
                        "name": "_amount",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 42487,
                        "src": "471:7:58",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 42491,
                      "name": "MockAcctCalled",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 42481,
                      "src": "441:14:58",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$",
                        "typeString": "function (address,address,uint256)"
                      }
                    },
                    "id": 42495,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "441:38:58",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 42496,
                  "nodeType": "EmitStatement",
                  "src": "436:43:58"
                }
              ]
            },
            "baseFunctions": [
              33620
            ],
            "functionSelector": "172a93fb",
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "record",
            "overrides": {
              "id": 42489,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "417:8:58"
            },
            "parameters": {
              "id": 42488,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 42483,
                  "mutability": "mutable",
                  "name": "_asset",
                  "nodeType": "VariableDeclaration",
                  "scope": 42498,
                  "src": "339:14:58",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 42482,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "339:7:58",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 42485,
                  "mutability": "mutable",
                  "name": "_user",
                  "nodeType": "VariableDeclaration",
                  "scope": 42498,
                  "src": "363:13:58",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 42484,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "363:7:58",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 42487,
                  "mutability": "mutable",
                  "name": "_amount",
                  "nodeType": "VariableDeclaration",
                  "scope": 42498,
                  "src": "386:15:58",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 42486,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "386:7:58",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "329:78:58"
            },
            "returnParameters": {
              "id": 42490,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "426:0:58"
            },
            "scope": 42565,
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "id": 42538,
            "nodeType": "FunctionDefinition",
            "src": "743:327:58",
            "body": {
              "id": 42537,
              "nodeType": "Block",
              "src": "856:214:58",
              "statements": [
                {
                  "assignments": [
                    42510
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 42510,
                      "mutability": "mutable",
                      "name": "_affected",
                      "nodeType": "VariableDeclaration",
                      "scope": 42537,
                      "src": "866:36:58",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_address_payable_$14_memory_ptr",
                        "typeString": "address payable[14]"
                      },
                      "typeName": {
                        "baseType": {
                          "id": 42507,
                          "name": "address",
                          "nodeType": "ElementaryTypeName",
                          "src": "866:15:58",
                          "stateMutability": "payable",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address_payable",
                            "typeString": "address payable"
                          }
                        },
                        "id": 42509,
                        "length": {
                          "hexValue": "3134",
                          "id": 42508,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "882:2:58",
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_14_by_1",
                            "typeString": "int_const 14"
                          },
                          "value": "14"
                        },
                        "nodeType": "ArrayTypeName",
                        "src": "866:19:58",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_address_payable_$14_storage_ptr",
                          "typeString": "address payable[14]"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 42513,
                  "initialValue": {
                    "arguments": [],
                    "expression": {
                      "argumentTypes": [],
                      "id": 42511,
                      "name": "affectedAssets",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 42564,
                      "src": "905:14:58",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_pure$__$returns$_t_array$_t_address_payable_$14_memory_ptr_$",
                        "typeString": "function () pure returns (address payable[14] memory)"
                      }
                    },
                    "id": 42512,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "905:16:58",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_address_payable_$14_memory_ptr",
                      "typeString": "address payable[14] memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "866:55:58"
                },
                {
                  "body": {
                    "id": 42533,
                    "nodeType": "Block",
                    "src": "978:64:58",
                    "statements": [
                      {
                        "condition": {
                          "commonType": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          },
                          "id": 42529,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "id": 42525,
                            "name": "_asset",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 42501,
                            "src": "996:6:58",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "==",
                          "rightExpression": {
                            "baseExpression": {
                              "id": 42526,
                              "name": "_affected",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 42510,
                              "src": "1006:9:58",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_address_payable_$14_memory_ptr",
                                "typeString": "address payable[14] memory"
                              }
                            },
                            "id": 42528,
                            "indexExpression": {
                              "id": 42527,
                              "name": "i",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 42515,
                              "src": "1016:1:58",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "1006:12:58",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address_payable",
                              "typeString": "address payable"
                            }
                          },
                          "src": "996:22:58",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "id": 42532,
                        "nodeType": "IfStatement",
                        "src": "992:39:58",
                        "trueBody": {
                          "expression": {
                            "hexValue": "74727565",
                            "id": 42530,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "bool",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "1027:4:58",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            },
                            "value": "true"
                          },
                          "functionReturnParameters": 42506,
                          "id": 42531,
                          "nodeType": "Return",
                          "src": "1020:11:58"
                        }
                      }
                    ]
                  },
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 42521,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "id": 42518,
                      "name": "i",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 42515,
                      "src": "951:1:58",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "<",
                    "rightExpression": {
                      "expression": {
                        "id": 42519,
                        "name": "_affected",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 42510,
                        "src": "955:9:58",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_address_payable_$14_memory_ptr",
                          "typeString": "address payable[14] memory"
                        }
                      },
                      "id": 42520,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "length",
                      "nodeType": "MemberAccess",
                      "src": "955:16:58",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "951:20:58",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 42534,
                  "initializationExpression": {
                    "assignments": [
                      42515
                    ],
                    "declarations": [
                      {
                        "constant": false,
                        "id": 42515,
                        "mutability": "mutable",
                        "name": "i",
                        "nodeType": "VariableDeclaration",
                        "scope": 42534,
                        "src": "936:9:58",
                        "stateVariable": false,
                        "storageLocation": "default",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "typeName": {
                          "id": 42514,
                          "name": "uint256",
                          "nodeType": "ElementaryTypeName",
                          "src": "936:7:58",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "visibility": "internal"
                      }
                    ],
                    "id": 42517,
                    "initialValue": {
                      "hexValue": "30",
                      "id": 42516,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "948:1:58",
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "nodeType": "VariableDeclarationStatement",
                    "src": "936:13:58"
                  },
                  "loopExpression": {
                    "expression": {
                      "id": 42523,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "UnaryOperation",
                      "operator": "++",
                      "prefix": false,
                      "src": "973:3:58",
                      "subExpression": {
                        "id": 42522,
                        "name": "i",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 42515,
                        "src": "973:1:58",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 42524,
                    "nodeType": "ExpressionStatement",
                    "src": "973:3:58"
                  },
                  "nodeType": "ForStatement",
                  "src": "931:111:58"
                },
                {
                  "expression": {
                    "hexValue": "66616c7365",
                    "id": 42535,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": true,
                    "kind": "bool",
                    "lValueRequested": false,
                    "nodeType": "Literal",
                    "src": "1058:5:58",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    },
                    "value": "false"
                  },
                  "functionReturnParameters": 42506,
                  "id": 42536,
                  "nodeType": "Return",
                  "src": "1051:12:58"
                }
              ]
            },
            "baseFunctions": [
              33634
            ],
            "documentation": {
              "id": 42499,
              "nodeType": "StructuredDocumentation",
              "src": "537:201:58",
              "text": " @notice Returns true if the asset was affected, false otherwise\n @param _asset The asset to be checked\n @return True if the asset is in the affected list. False otherwise"
            },
            "functionSelector": "6c267633",
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "isAffectedAsset",
            "overrides": {
              "id": 42503,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "820:8:58"
            },
            "parameters": {
              "id": 42502,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 42501,
                  "mutability": "mutable",
                  "name": "_asset",
                  "nodeType": "VariableDeclaration",
                  "scope": 42538,
                  "src": "768:14:58",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 42500,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "768:7:58",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "767:16:58"
            },
            "returnParameters": {
              "id": 42506,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 42505,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 42538,
                  "src": "846:4:58",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 42504,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "846:4:58",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "845:6:58"
            },
            "scope": 42565,
            "stateMutability": "pure",
            "virtual": false,
            "visibility": "public"
          },
          {
            "id": 42564,
            "nodeType": "FunctionDefinition",
            "src": "1141:938:58",
            "body": {
              "id": 42563,
              "nodeType": "Block",
              "src": "1261:818:58",
              "statements": [
                {
                  "expression": {
                    "components": [
                      {
                        "hexValue": "307832323630464143354535353432613737334161343466424366654466374331393362633243353939",
                        "id": 42547,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "1292:42:58",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address_payable",
                          "typeString": "address payable"
                        },
                        "value": "0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599"
                      },
                      {
                        "hexValue": "307843303261614133396232323346453844304130653543344632376541443930383343373536436332",
                        "id": 42548,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "1348:42:58",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address_payable",
                          "typeString": "address payable"
                        },
                        "value": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2"
                      },
                      {
                        "hexValue": "307841306238363939316336323138623336633164313944346132653945623063453336303665423438",
                        "id": 42549,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "1404:42:58",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address_payable",
                          "typeString": "address payable"
                        },
                        "value": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"
                      },
                      {
                        "hexValue": "307838353364393535614345663832324462303538656238353035393131454437374631373562393965",
                        "id": 42550,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "1460:42:58",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address_payable",
                          "typeString": "address payable"
                        },
                        "value": "0x853d955aCEf822Db058eb8505911ED77F175b99e"
                      },
                      {
                        "hexValue": "307864414331374639353844326565353233613232303632303639393435393743313344383331656337",
                        "id": 42551,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "1516:42:58",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address_payable",
                          "typeString": "address payable"
                        },
                        "value": "0xdAC17F958D2ee523a2206206994597C13D831ec7"
                      },
                      {
                        "hexValue": "307836423137353437344538393039344334344461393862393534456564654143343935323731643046",
                        "id": 42552,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "1572:42:58",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address_payable",
                          "typeString": "address payable"
                        },
                        "value": "0x6B175474E89094C44Da98b954EedeAC495271d0F"
                      },
                      {
                        "hexValue": "307844343137313434333132446246353034363562314336343164303136393632303137456636323430",
                        "id": 42553,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "1628:42:58",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address_payable",
                          "typeString": "address payable"
                        },
                        "value": "0xD417144312DbF50465b1C641d016962017Ef6240"
                      },
                      {
                        "hexValue": "307833643646304445613341433343363037423339393865364365313462363335303732313735326439",
                        "id": 42554,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "1684:42:58",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address_payable",
                          "typeString": "address payable"
                        },
                        "value": "0x3d6F0DEa3AC3C607B3998e6Ce14b6350721752d9"
                      },
                      {
                        "hexValue": "307834304542373436444545383736614331453738363937623743613835313432443137384131466338",
                        "id": 42555,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "1740:42:58",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address_payable",
                          "typeString": "address payable"
                        },
                        "value": "0x40EB746DEE876aC1E78697b7Ca85142D178A1Fc8"
                      },
                      {
                        "hexValue": "307866316139314337643434373638303730463731316336386633334137434132356338443330323638",
                        "id": 42556,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "1796:42:58",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address_payable",
                          "typeString": "address payable"
                        },
                        "value": "0xf1a91C7d44768070F711c68f33A7CA25c8D30268"
                      },
                      {
                        "hexValue": "307833343332423641363044323343613064464361373736314237616235363435394439433936344430",
                        "id": 42557,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "1852:42:58",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address_payable",
                          "typeString": "address payable"
                        },
                        "value": "0x3432B6A60D23Ca0dFCa7761B7ab56459D9C964D0"
                      },
                      {
                        "hexValue": "307833343331463931623361333838313135463030433542613946644238393938353144303035466235",
                        "id": 42558,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "1908:42:58",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address_payable",
                          "typeString": "address payable"
                        },
                        "value": "0x3431F91b3a388115F00C5Ba9FdB899851D005Fb5"
                      },
                      {
                        "hexValue": "307845353039374439626165414642383966396263423738433932393064353435644235663965394342",
                        "id": 42559,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "1964:42:58",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address_payable",
                          "typeString": "address payable"
                        },
                        "value": "0xE5097D9baeAFB89f9bcB78C9290d545dB5f9e9CB"
                      },
                      {
                        "hexValue": "307866314463353030466445323333413430353565323565354262463531363337324243344636383731",
                        "id": 42560,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "2020:42:58",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address_payable",
                          "typeString": "address payable"
                        },
                        "value": "0xf1Dc500FdE233A4055e25e5BbF516372BC4F6871"
                      }
                    ],
                    "id": 42561,
                    "isConstant": false,
                    "isInlineArray": true,
                    "isLValue": false,
                    "isPure": true,
                    "lValueRequested": false,
                    "nodeType": "TupleExpression",
                    "src": "1278:794:58",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_address_payable_$14_memory_ptr",
                      "typeString": "address payable[14] memory"
                    }
                  },
                  "functionReturnParameters": 42546,
                  "id": 42562,
                  "nodeType": "Return",
                  "src": "1271:801:58"
                }
              ]
            },
            "baseFunctions": [
              33627
            ],
            "documentation": {
              "id": 42539,
              "nodeType": "StructuredDocumentation",
              "src": "1076:60:58",
              "text": " @notice Returns a list of affected assets"
            },
            "functionSelector": "7013ca26",
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "affectedAssets",
            "overrides": {
              "id": 42541,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "1203:8:58"
            },
            "parameters": {
              "id": 42540,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1164:2:58"
            },
            "returnParameters": {
              "id": 42546,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 42545,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 42564,
                  "src": "1229:26:58",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_address_payable_$14_memory_ptr",
                    "typeString": "address payable[14]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 42542,
                      "name": "address",
                      "nodeType": "ElementaryTypeName",
                      "src": "1229:15:58",
                      "stateMutability": "payable",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address_payable",
                        "typeString": "address payable"
                      }
                    },
                    "id": 42544,
                    "length": {
                      "hexValue": "3134",
                      "id": 42543,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "1245:2:58",
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_14_by_1",
                        "typeString": "int_const 14"
                      },
                      "value": "14"
                    },
                    "nodeType": "ArrayTypeName",
                    "src": "1229:19:58",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_address_payable_$14_storage_ptr",
                      "typeString": "address payable[14]"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1228:28:58"
            },
            "scope": 42565,
            "stateMutability": "pure",
            "virtual": false,
            "visibility": "public"
          }
        ],
        "abstract": false,
        "baseContracts": [
          {
            "baseName": {
              "id": 42472,
              "name": "IEventAccountant",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 33635,
              "src": "170:16:58",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_IEventAccountant_$33635",
                "typeString": "contract IEventAccountant"
              }
            },
            "id": 42473,
            "nodeType": "InheritanceSpecifier",
            "src": "170:16:58"
          }
        ],
        "contractDependencies": [
          33635
        ],
        "contractKind": "contract",
        "fullyImplemented": true,
        "linearizedBaseContracts": [
          42565,
          33635
        ],
        "name": "MockAccountant",
        "scope": 42566
      }
    ],
    "license": "MIT OR Apache-2.0"
  },
  "id": 58
}