{
  "_format": "hh-sol-artifact-1",
  "contractName": "TokenMediatorInit",
  "sourceName": "contracts/facets/tokens/TokenMediatorInit.sol",
  "abi": [
    {
      "inputs": [
        {
          "components": [
            {
              "internalType": "address",
              "name": "localToken",
              "type": "address"
            },
            {
              "internalType": "address",
              "name": "remoteToken",
              "type": "address"
            },
            {
              "internalType": "bool",
              "name": "mintAndBurn",
              "type": "bool"
            }
          ],
          "internalType": "struct TokenMediatorInit.MediatedTokenInfo",
          "name": "tokenInfo",
          "type": "tuple"
        }
      ],
      "name": "addMediatedToken",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "components": [
            {
              "internalType": "address",
              "name": "bridge",
              "type": "address"
            },
            {
              "internalType": "uint256",
              "name": "requestGasLimit",
              "type": "uint256"
            },
            {
              "internalType": "address",
              "name": "remoteMediator",
              "type": "address"
            },
            {
              "internalType": "bytes32",
              "name": "remoteChainId",
              "type": "bytes32"
            },
            {
              "components": [
                {
                  "internalType": "address",
                  "name": "localToken",
                  "type": "address"
                },
                {
                  "internalType": "address",
                  "name": "remoteToken",
                  "type": "address"
                },
                {
                  "internalType": "bool",
                  "name": "mintAndBurn",
                  "type": "bool"
                }
              ],
              "internalType": "struct TokenMediatorInit.MediatedTokenInfo[]",
              "name": "tokens",
              "type": "tuple[]"
            }
          ],
          "internalType": "struct TokenMediatorInit.TokenMediatorInitData",
          "name": "initData",
          "type": "tuple"
        }
      ],
      "name": "initialize",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "remoteMediator",
          "type": "address"
        },
        {
          "internalType": "bytes32",
          "name": "remoteChainId",
          "type": "bytes32"
        }
      ],
      "name": "setRemoteMediator",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "requestGasLimit",
          "type": "uint256"
        }
      ],
      "name": "setRequestGasLimit",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    }
  ],
  "bytecode": "0x608060405234801561001057600080fd5b50610811806100206000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c80632f4ace91146100515780634255811214610066578063c4bddc5f14610079578063f3b837911461008c575b600080fd5b61006461005f3660046105d3565b61009f565b005b610064610074366004610631565b6101c0565b61006461008736600461065b565b6101d3565b61006461009a366004610673565b610220565b6100b46100af602083018361068c565b610248565b6100e081602001357f0c100d8dd79bfe0948bda0e69ddbfddb8c6ab01c830f64661d50048540757b3755565b60006100f2606083016040840161068c565b6001600160a01b03161461013557610118610113606083016040840161068c565b6102f8565b61013561012b606083016040840161068c565b82606001356103aa565b60005b61014560808301836106a7565b90508110156101bc57600061015d60808401846106a7565b8381811061016d5761016d6106f7565b905060600201803603810190610183919061071d565b9050610197816000015182602001516103ed565b6101a98160000151826040015161051c565b50806101b481610797565b915050610138565b5050565b6101c9826102f8565b6101bc82826103aa565b6101f86101e3602083018361068c565b6101f3604084016020850161068c565b6103ed565b61021d610208602083018361068c565b61021860608401604085016107c0565b61051c565b50565b61021d817f0c100d8dd79bfe0948bda0e69ddbfddb8c6ab01c830f64661d50048540757b3755565b6001600160a01b0381166102b75760405162461bcd60e51b815260206004820152602b60248201527f4d65646961746f723a206272696467652063616e6e6f7420626520746865207a60448201526a65726f206164647265737360a81b60648201526084015b60405180910390fd5b7fcce2d3be2f83196e0e01b6ffe351f97f670aa8c9c4fcd01c48a2d7a85722a91280546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0381166103695760405162461bcd60e51b815260206004820152603260248201527f546f6b656e4d65646961746f723a206d65646961746f722063616e6e6f7420626044820152716520746865207a65726f206164647265737360701b60648201526084016102ae565b7f0c100d8dd79bfe0948bda0e69ddbfddb8c6ab01c830f64661d50048540757b3880546001600160a01b0319166001600160a01b0392909216919091179055565b6103e8826103e28360009081527fcce2d3be2f83196e0e01b6ffe351f97f670aa8c9c4fcd01c48a2d7a85722a9136020526040902090565b90610566565b505050565b6001600160a01b03821661045b5760405162461bcd60e51b815260206004820152602f60248201527f546f6b656e4d65646961746f723a20746f6b656e2063616e6e6f74206265207460448201526e6865207a65726f206164647265737360881b60648201526084016102ae565b6001600160a01b0381166104cf5760405162461bcd60e51b815260206004820152603560248201527f546f6b656e4d65646961746f723a2072656d6f7465546f6b656e2063616e6e6f6044820152747420626520746865207a65726f206164647265737360581b60648201526084016102ae565b6001600160a01b0391821660009081527f0c100d8dd79bfe0948bda0e69ddbfddb8c6ab01c830f64661d50048540757b396020526040902080546001600160a01b03191691909216179055565b6001600160a01b039190911660009081527f0c100d8dd79bfe0948bda0e69ddbfddb8c6ab01c830f64661d50048540757b3a60205260409020805460ff1916911515919091179055565b600061057b836001600160a01b038416610584565b90505b92915050565b60008181526001830160205260408120546105cb5750815460018181018455600084815260208082209093018490558454848252828601909352604090209190915561057e565b50600061057e565b6000602082840312156105e557600080fd5b813567ffffffffffffffff8111156105fc57600080fd5b820160a0818503121561060e57600080fd5b9392505050565b80356001600160a01b038116811461062c57600080fd5b919050565b6000806040838503121561064457600080fd5b61064d83610615565b946020939093013593505050565b60006060828403121561066d57600080fd5b50919050565b60006020828403121561068557600080fd5b5035919050565b60006020828403121561069e57600080fd5b61057b82610615565b6000808335601e198436030181126106be57600080fd5b83018035915067ffffffffffffffff8211156106d957600080fd5b60200191506060810236038213156106f057600080fd5b9250929050565b634e487b7160e01b600052603260045260246000fd5b8035801515811461062c57600080fd5b60006060828403121561072f57600080fd5b6040516060810181811067ffffffffffffffff8211171561076057634e487b7160e01b600052604160045260246000fd5b60405261076c83610615565b815261077a60208401610615565b602082015261078b6040840161070d565b60408201529392505050565b60006000198214156107b957634e487b7160e01b600052601160045260246000fd5b5060010190565b6000602082840312156107d257600080fd5b61057b8261070d56fea2646970667358221220966dd0ce04442245e59e536143885d3e35e57c8306335b7bbefcd758997ae93864736f6c63430008090033",
  "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061004c5760003560e01c80632f4ace91146100515780634255811214610066578063c4bddc5f14610079578063f3b837911461008c575b600080fd5b61006461005f3660046105d3565b61009f565b005b610064610074366004610631565b6101c0565b61006461008736600461065b565b6101d3565b61006461009a366004610673565b610220565b6100b46100af602083018361068c565b610248565b6100e081602001357f0c100d8dd79bfe0948bda0e69ddbfddb8c6ab01c830f64661d50048540757b3755565b60006100f2606083016040840161068c565b6001600160a01b03161461013557610118610113606083016040840161068c565b6102f8565b61013561012b606083016040840161068c565b82606001356103aa565b60005b61014560808301836106a7565b90508110156101bc57600061015d60808401846106a7565b8381811061016d5761016d6106f7565b905060600201803603810190610183919061071d565b9050610197816000015182602001516103ed565b6101a98160000151826040015161051c565b50806101b481610797565b915050610138565b5050565b6101c9826102f8565b6101bc82826103aa565b6101f86101e3602083018361068c565b6101f3604084016020850161068c565b6103ed565b61021d610208602083018361068c565b61021860608401604085016107c0565b61051c565b50565b61021d817f0c100d8dd79bfe0948bda0e69ddbfddb8c6ab01c830f64661d50048540757b3755565b6001600160a01b0381166102b75760405162461bcd60e51b815260206004820152602b60248201527f4d65646961746f723a206272696467652063616e6e6f7420626520746865207a60448201526a65726f206164647265737360a81b60648201526084015b60405180910390fd5b7fcce2d3be2f83196e0e01b6ffe351f97f670aa8c9c4fcd01c48a2d7a85722a91280546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0381166103695760405162461bcd60e51b815260206004820152603260248201527f546f6b656e4d65646961746f723a206d65646961746f722063616e6e6f7420626044820152716520746865207a65726f206164647265737360701b60648201526084016102ae565b7f0c100d8dd79bfe0948bda0e69ddbfddb8c6ab01c830f64661d50048540757b3880546001600160a01b0319166001600160a01b0392909216919091179055565b6103e8826103e28360009081527fcce2d3be2f83196e0e01b6ffe351f97f670aa8c9c4fcd01c48a2d7a85722a9136020526040902090565b90610566565b505050565b6001600160a01b03821661045b5760405162461bcd60e51b815260206004820152602f60248201527f546f6b656e4d65646961746f723a20746f6b656e2063616e6e6f74206265207460448201526e6865207a65726f206164647265737360881b60648201526084016102ae565b6001600160a01b0381166104cf5760405162461bcd60e51b815260206004820152603560248201527f546f6b656e4d65646961746f723a2072656d6f7465546f6b656e2063616e6e6f6044820152747420626520746865207a65726f206164647265737360581b60648201526084016102ae565b6001600160a01b0391821660009081527f0c100d8dd79bfe0948bda0e69ddbfddb8c6ab01c830f64661d50048540757b396020526040902080546001600160a01b03191691909216179055565b6001600160a01b039190911660009081527f0c100d8dd79bfe0948bda0e69ddbfddb8c6ab01c830f64661d50048540757b3a60205260409020805460ff1916911515919091179055565b600061057b836001600160a01b038416610584565b90505b92915050565b60008181526001830160205260408120546105cb5750815460018181018455600084815260208082209093018490558454848252828601909352604090209190915561057e565b50600061057e565b6000602082840312156105e557600080fd5b813567ffffffffffffffff8111156105fc57600080fd5b820160a0818503121561060e57600080fd5b9392505050565b80356001600160a01b038116811461062c57600080fd5b919050565b6000806040838503121561064457600080fd5b61064d83610615565b946020939093013593505050565b60006060828403121561066d57600080fd5b50919050565b60006020828403121561068557600080fd5b5035919050565b60006020828403121561069e57600080fd5b61057b82610615565b6000808335601e198436030181126106be57600080fd5b83018035915067ffffffffffffffff8211156106d957600080fd5b60200191506060810236038213156106f057600080fd5b9250929050565b634e487b7160e01b600052603260045260246000fd5b8035801515811461062c57600080fd5b60006060828403121561072f57600080fd5b6040516060810181811067ffffffffffffffff8211171561076057634e487b7160e01b600052604160045260246000fd5b60405261076c83610615565b815261077a60208401610615565b602082015261078b6040840161070d565b60408201529392505050565b60006000198214156107b957634e487b7160e01b600052601160045260246000fd5b5060010190565b6000602082840312156107d257600080fd5b61057b8261070d56fea2646970667358221220966dd0ce04442245e59e536143885d3e35e57c8306335b7bbefcd758997ae93864736f6c63430008090033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
