{
  "abi": [
    {
      "inputs": [
        {
          "internalType": "uint32",
          "name": "version",
          "type": "uint32"
        },
        {
          "internalType": "address",
          "name": "transmitter",
          "type": "address"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "uint64",
          "name": "nonce",
          "type": "uint64"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "burnToken",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "depositor",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "bytes32",
          "name": "mintRecipient",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "internalType": "uint32",
          "name": "destinationDomain",
          "type": "uint32"
        },
        {
          "indexed": false,
          "internalType": "bytes32",
          "name": "destinationTokenMessenger",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "internalType": "bytes32",
          "name": "destinationCaller",
          "type": "bytes32"
        }
      ],
      "name": "DepositForBurn",
      "type": "event"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        },
        {
          "internalType": "uint32",
          "name": "destinationDomain",
          "type": "uint32"
        },
        {
          "internalType": "bytes32",
          "name": "mintRecipient",
          "type": "bytes32"
        },
        {
          "internalType": "address",
          "name": "burnToken",
          "type": "address"
        },
        {
          "internalType": "bytes32",
          "name": "destinationCaller",
          "type": "bytes32"
        }
      ],
      "name": "depositForBurnWithCaller",
      "outputs": [
        {
          "internalType": "uint64",
          "name": "",
          "type": "uint64"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "i_destinationTokenMessenger",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "localMessageTransmitter",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "messageBodyVersion",
      "outputs": [
        {
          "internalType": "uint32",
          "name": "",
          "type": "uint32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "s_nonce",
      "outputs": [
        {
          "internalType": "uint64",
          "name": "",
          "type": "uint64"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    }
  ],
  "bytecode": {
    "object": "0x60a060405234801561001057600080fd5b5060405161053638038061053683398101604081905261002f9161006e565b63ffffffff909116608052600080546001600160a01b0390921668010000000000000000026001600160e01b03199092169190911760011790556100bd565b6000806040838503121561008157600080fd5b825163ffffffff8116811461009557600080fd5b60208401519092506001600160a01b03811681146100b257600080fd5b809150509250929050565b60805161045e6100d86000396000610127015261045e6000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c80637eccf63e116100505780637eccf63e146100f05780639cdbb1811461011d578063f856ddb61461015157600080fd5b80632c1219211461006c5780636665a0bb146100bb575b600080fd5b60005468010000000000000000900473ffffffffffffffffffffffffffffffffffffffff1660405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b6100e27f17c71eed51b181d8ae1908b4743526c6dbf099c201f158a1acd5f6718e82e8f681565b6040519081526020016100b2565b6000546101049067ffffffffffffffff1681565b60405167ffffffffffffffff90911681526020016100b2565b60405163ffffffff7f00000000000000000000000000000000000000000000000000000000000000001681526020016100b2565b61010461015f366004610366565b6040517f23b872dd0000000000000000000000000000000000000000000000000000000081523360048201523060248201526044810186905260009073ffffffffffffffffffffffffffffffffffffffff8416906323b872dd906064016020604051808303816000875af11580156101db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101ff91906103da565b506040517f42966c680000000000000000000000000000000000000000000000000000000081526004810187905273ffffffffffffffffffffffffffffffffffffffff8416906342966c6890602401600060405180830381600087803b15801561026857600080fd5b505af115801561027c573d6000803e3d6000fd5b5050600054604080518a81526020810189905263ffffffff8a16818301527f17c71eed51b181d8ae1908b4743526c6dbf099c201f158a1acd5f6718e82e8f6606082015260808101879052905133945073ffffffffffffffffffffffffffffffffffffffff8816935067ffffffffffffffff909216917f2fa9ca894982930190727e75500a97d8dc500233a5065e0f3126c48fbe0343c09181900360a00190a46000805467ffffffffffffffff16908061033583610403565b91906101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550905095945050505050565b600080600080600060a0868803121561037e57600080fd5b85359450602086013563ffffffff8116811461039957600080fd5b935060408601359250606086013573ffffffffffffffffffffffffffffffffffffffff811681146103c957600080fd5b949793965091946080013592915050565b6000602082840312156103ec57600080fd5b815180151581146103fc57600080fd5b9392505050565b600067ffffffffffffffff808316818103610447577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600101939250505056fea164736f6c6343000813000a",
    "sourceMap": "421:1158:2:-:0;;;682:140;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;737:30;;;;;;773:7;:11;;-1:-1:-1;;;;;790:27:2;;;;;-1:-1:-1;;;;;;790:27:2;;;;;;;783:1;790:27;;;421:1158;;14:455:6;92:6;100;153:2;141:9;132:7;128:23;124:32;121:52;;;169:1;166;159:12;121:52;201:9;195:16;251:10;244:5;240:22;233:5;230:33;220:61;;277:1;274;267:12;220:61;350:2;335:18;;329:25;300:5;;-1:-1:-1;;;;;;385:33:6;;373:46;;363:74;;433:1;430;423:12;363:74;456:7;446:17;;;14:455;;;;;:::o;:::-;421:1158:2;;;;;;;;;;;;",
    "linkReferences": {}
  },
  "deployedBytecode": {
    "object": "0x608060405234801561001057600080fd5b50600436106100675760003560e01c80637eccf63e116100505780637eccf63e146100f05780639cdbb1811461011d578063f856ddb61461015157600080fd5b80632c1219211461006c5780636665a0bb146100bb575b600080fd5b60005468010000000000000000900473ffffffffffffffffffffffffffffffffffffffff1660405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b6100e27f17c71eed51b181d8ae1908b4743526c6dbf099c201f158a1acd5f6718e82e8f681565b6040519081526020016100b2565b6000546101049067ffffffffffffffff1681565b60405167ffffffffffffffff90911681526020016100b2565b60405163ffffffff7f00000000000000000000000000000000000000000000000000000000000000001681526020016100b2565b61010461015f366004610366565b6040517f23b872dd0000000000000000000000000000000000000000000000000000000081523360048201523060248201526044810186905260009073ffffffffffffffffffffffffffffffffffffffff8416906323b872dd906064016020604051808303816000875af11580156101db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101ff91906103da565b506040517f42966c680000000000000000000000000000000000000000000000000000000081526004810187905273ffffffffffffffffffffffffffffffffffffffff8416906342966c6890602401600060405180830381600087803b15801561026857600080fd5b505af115801561027c573d6000803e3d6000fd5b5050600054604080518a81526020810189905263ffffffff8a16818301527f17c71eed51b181d8ae1908b4743526c6dbf099c201f158a1acd5f6718e82e8f6606082015260808101879052905133945073ffffffffffffffffffffffffffffffffffffffff8816935067ffffffffffffffff909216917f2fa9ca894982930190727e75500a97d8dc500233a5065e0f3126c48fbe0343c09181900360a00190a46000805467ffffffffffffffff16908061033583610403565b91906101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550905095945050505050565b600080600080600060a0868803121561037e57600080fd5b85359450602086013563ffffffff8116811461039957600080fd5b935060408601359250606086013573ffffffffffffffffffffffffffffffffffffffff811681146103c957600080fd5b949793965091946080013592915050565b6000602082840312156103ec57600080fd5b815180151581146103fc57600080fd5b9392505050565b600067ffffffffffffffff808316818103610447577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600101939250505056fea164736f6c6343000813000a",
    "sourceMap": "421:1158:2:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1479:98;1537:7;1559:13;;;;;;1479:98;;190:42:6;178:55;;;160:74;;148:2;133:18;1479:98:2;;;;;;;;525:94;;579:40;525:94;;;;;391:25:6;;;379:2;364:18;525:94:2;245:177:6;623:21:2;;;;;;;;;;;;601:18:6;589:31;;;571:50;;559:2;544:18;623:21:2;427:200:6;1376:99:2;;;806:10:6;1450:20:2;794:23:6;776:42;;764:2;749:18;1376:99:2;632:192:6;826:546:2;;;;;;:::i;:::-;1027:73;;;;;1066:10;1027:73;;;1784:34:6;1086:4:2;1834:18:6;;;1827:43;1886:18;;;1879:34;;;1013:6:2;;1027:38;;;;;;1696:18:6;;1027:73:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;1106:38:2;;;;;;;;391:25:6;;;1106:30:2;;;;;;364:18:6;;1106:38:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1177:7:2;;1155:190;;;2645:25:6;;;2701:2;2686:18;;2679:34;;;2761:10;2749:23;;2729:18;;;2722:51;579:40:2;2804:2:6;2789:18;;2782:34;2847:3;2832:19;;2825:35;;;1155:190:2;;1223:10;;-1:-1:-1;1155:190:2;;;;-1:-1:-1;1177:7:2;;;;;1155:190;;;;;2632:3:6;1155:190:2;;;1358:7;:9;;;;;:7;:9;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;1351:16;;826:546;;;;;;;:::o;829:687:6:-;923:6;931;939;947;955;1008:3;996:9;987:7;983:23;979:33;976:53;;;1025:1;1022;1015:12;976:53;1061:9;1048:23;1038:33;;1121:2;1110:9;1106:18;1093:32;1165:10;1158:5;1154:22;1147:5;1144:33;1134:61;;1191:1;1188;1181:12;1134:61;1214:5;-1:-1:-1;1266:2:6;1251:18;;1238:32;;-1:-1:-1;1322:2:6;1307:18;;1294:32;1370:42;1357:56;;1345:69;;1335:97;;1428:1;1425;1418:12;1335:97;829:687;;;;-1:-1:-1;829:687:6;;1505:3;1490:19;1477:33;;829:687;-1:-1:-1;;829:687:6:o;1924:277::-;1991:6;2044:2;2032:9;2023:7;2019:23;2015:32;2012:52;;;2060:1;2057;2050:12;2012:52;2092:9;2086:16;2145:5;2138:13;2131:21;2124:5;2121:32;2111:60;;2167:1;2164;2157:12;2111:60;2190:5;1924:277;-1:-1:-1;;;1924:277:6:o;2871:363::-;2909:3;2937:18;2990:2;2983:5;2979:14;3017:2;3008:7;3005:15;3002:195;;3053:77;3050:1;3043:88;3154:4;3151:1;3144:15;3182:4;3179:1;3172:15;3002:195;3226:1;3213:15;;2871:363;-1:-1:-1;;;2871:363:6:o",
    "linkReferences": {},
    "immutableReferences": {
      "86": [
        {
          "start": 295,
          "length": 32
        }
      ]
    }
  },
  "methodIdentifiers": {
    "depositForBurnWithCaller(uint256,uint32,bytes32,address,bytes32)": "f856ddb6",
    "i_destinationTokenMessenger()": "6665a0bb",
    "localMessageTransmitter()": "2c121921",
    "messageBodyVersion()": "9cdbb181",
    "s_nonce()": "7eccf63e"
  }
}