{
  "_format": "hh-sol-artifact-1",
  "contractName": "DistributionBridgeMock",
  "sourceName": "contracts/mocks/DistributionBridgeMock.sol",
  "abi": [
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "address",
          "name": "recipient",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "chainId",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "fee",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "address",
          "name": "gasRefund",
          "type": "address"
        }
      ],
      "name": "BridgeAxl",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "address",
          "name": "recipient",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "chainId",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "fee",
          "type": "uint256"
        }
      ],
      "name": "BridgeLz",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "address",
          "name": "sender",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "bytes",
          "name": "data",
          "type": "bytes"
        }
      ],
      "name": "OnToken",
      "type": "event"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "target",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "targetChainId",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        },
        {
          "internalType": "address",
          "name": "gasRefundAddress",
          "type": "address"
        }
      ],
      "name": "bridgeToWithAxelar",
      "outputs": [],
      "stateMutability": "payable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "target",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "targetChainId",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        },
        {
          "internalType": "bytes",
          "name": "",
          "type": "bytes"
        }
      ],
      "name": "bridgeToWithLz",
      "outputs": [],
      "stateMutability": "payable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint16",
          "name": "",
          "type": "uint16"
        },
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        },
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        },
        {
          "internalType": "bytes",
          "name": "",
          "type": "bytes"
        }
      ],
      "name": "estimateSendFee",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "nativeFee",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "zroFee",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "sender",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        },
        {
          "internalType": "bytes",
          "name": "data",
          "type": "bytes"
        }
      ],
      "name": "onTokenTransfer",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "chainId",
          "type": "uint256"
        }
      ],
      "name": "toLzChainId",
      "outputs": [
        {
          "internalType": "uint16",
          "name": "lzChainId",
          "type": "uint16"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    }
  ],
  "bytecode": "0x608060405234801561001057600080fd5b506105ae806100206000396000f3fe60806040526004361061004a5760003560e01c806305fead151461004f57806340a00aaf146100995780635b23a990146100ae578063a4c0ed36146100e1578063c56bbdd914610111575b600080fd5b34801561005b57600080fd5b5061007f61006a366004610334565b6601c6bf526340006000965096945050505050565b604080519283526020830191909152015b60405180910390f35b6100ac6100a73660046103cb565b610124565b005b3480156100ba57600080fd5b506100ce6100c9366004610411565b610181565b60405161ffff9091168152602001610090565b3480156100ed57600080fd5b506101016100fc36600461042a565b6101dd565b6040519015158152602001610090565b6100ac61011f366004610480565b610224565b604080516001600160a01b038681168252602082018590528183018690523460608301528316608082015290517fb825ad766b820781314e6d0be409f46747668230d891147f5519fc548afee4109181900360a00190a150505050565b6000816001036101945750612711919050565b816005036101a55750612789919050565b8161a4ec036101b65750607d919050565b8161aef3036101c8575061278d919050565b81607a036101d85750608a919050565b919050565b60007f2581e89b590b469ac12b508a8a6a5e4d2778ae26d326c4e8aaf6f35fc1a94f9784848460405161021293929190610513565b60405180910390a15060019392505050565b604080516001600160a01b0387168152602081018590529081018590523460608201527f14db9a6b3148f13f8e3d392c252656fe9b05a250fb3c0ada68237d952e5a1f949060800160405180910390a15050505050565b80356001600160a01b03811681146101d857600080fd5b634e487b7160e01b600052604160045260246000fd5b600082601f8301126102b957600080fd5b81356001600160401b03808211156102d3576102d3610292565b604051601f8301601f19908116603f011681019082821181831017156102fb576102fb610292565b8160405283815286602085880101111561031457600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060008060008060c0878903121561034d57600080fd5b863561ffff8116811461035f57600080fd5b955061036d6020880161027b565b945061037b6040880161027b565b9350606087013592506080870135801515811461039757600080fd5b915060a08701356001600160401b038111156103b257600080fd5b6103be89828a016102a8565b9150509295509295509295565b600080600080608085870312156103e157600080fd5b6103ea8561027b565b935060208501359250604085013591506104066060860161027b565b905092959194509250565b60006020828403121561042357600080fd5b5035919050565b60008060006060848603121561043f57600080fd5b6104488461027b565b92506020840135915060408401356001600160401b0381111561046a57600080fd5b610476868287016102a8565b9150509250925092565b60008060008060006080868803121561049857600080fd5b6104a18661027b565b9450602086013593506040860135925060608601356001600160401b03808211156104cb57600080fd5b818801915088601f8301126104df57600080fd5b8135818111156104ee57600080fd5b89602082850101111561050057600080fd5b9699959850939650602001949392505050565b60018060a01b038416815260006020848184015260606040840152835180606085015260005b8181101561055557858101830151858201608001528201610539565b506000608082860101526080601f19601f8301168501019250505094935050505056fea2646970667358221220ad2d55973099262081cdf067892e19d57c150a2d9766fd5298dd305ba011354c64736f6c63430008130033",
  "deployedBytecode": "0x60806040526004361061004a5760003560e01c806305fead151461004f57806340a00aaf146100995780635b23a990146100ae578063a4c0ed36146100e1578063c56bbdd914610111575b600080fd5b34801561005b57600080fd5b5061007f61006a366004610334565b6601c6bf526340006000965096945050505050565b604080519283526020830191909152015b60405180910390f35b6100ac6100a73660046103cb565b610124565b005b3480156100ba57600080fd5b506100ce6100c9366004610411565b610181565b60405161ffff9091168152602001610090565b3480156100ed57600080fd5b506101016100fc36600461042a565b6101dd565b6040519015158152602001610090565b6100ac61011f366004610480565b610224565b604080516001600160a01b038681168252602082018590528183018690523460608301528316608082015290517fb825ad766b820781314e6d0be409f46747668230d891147f5519fc548afee4109181900360a00190a150505050565b6000816001036101945750612711919050565b816005036101a55750612789919050565b8161a4ec036101b65750607d919050565b8161aef3036101c8575061278d919050565b81607a036101d85750608a919050565b919050565b60007f2581e89b590b469ac12b508a8a6a5e4d2778ae26d326c4e8aaf6f35fc1a94f9784848460405161021293929190610513565b60405180910390a15060019392505050565b604080516001600160a01b0387168152602081018590529081018590523460608201527f14db9a6b3148f13f8e3d392c252656fe9b05a250fb3c0ada68237d952e5a1f949060800160405180910390a15050505050565b80356001600160a01b03811681146101d857600080fd5b634e487b7160e01b600052604160045260246000fd5b600082601f8301126102b957600080fd5b81356001600160401b03808211156102d3576102d3610292565b604051601f8301601f19908116603f011681019082821181831017156102fb576102fb610292565b8160405283815286602085880101111561031457600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060008060008060c0878903121561034d57600080fd5b863561ffff8116811461035f57600080fd5b955061036d6020880161027b565b945061037b6040880161027b565b9350606087013592506080870135801515811461039757600080fd5b915060a08701356001600160401b038111156103b257600080fd5b6103be89828a016102a8565b9150509295509295509295565b600080600080608085870312156103e157600080fd5b6103ea8561027b565b935060208501359250604085013591506104066060860161027b565b905092959194509250565b60006020828403121561042357600080fd5b5035919050565b60008060006060848603121561043f57600080fd5b6104488461027b565b92506020840135915060408401356001600160401b0381111561046a57600080fd5b610476868287016102a8565b9150509250925092565b60008060008060006080868803121561049857600080fd5b6104a18661027b565b9450602086013593506040860135925060608601356001600160401b03808211156104cb57600080fd5b818801915088601f8301126104df57600080fd5b8135818111156104ee57600080fd5b89602082850101111561050057600080fd5b9699959850939650602001949392505050565b60018060a01b038416815260006020848184015260606040840152835180606085015260005b8181101561055557858101830151858201608001528201610539565b506000608082860101526080601f19601f8301168501019250505094935050505056fea2646970667358221220ad2d55973099262081cdf067892e19d57c150a2d9766fd5298dd305ba011354c64736f6c63430008130033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
