// src/generated/abi/o-f-t-adapter.ts
var oFTAdapter = [
  {
    "type": "impl",
    "name": "OwnableMixinImpl",
    "interface_name": "openzeppelin_access::ownable::interface::OwnableABI"
  },
  {
    "type": "interface",
    "name": "openzeppelin_access::ownable::interface::OwnableABI",
    "items": [
      {
        "type": "function",
        "name": "owner",
        "inputs": [],
        "outputs": [
          {
            "type": "core::starknet::contract_address::ContractAddress"
          }
        ],
        "state_mutability": "view"
      },
      {
        "type": "function",
        "name": "transfer_ownership",
        "inputs": [
          {
            "name": "new_owner",
            "type": "core::starknet::contract_address::ContractAddress"
          }
        ],
        "outputs": [],
        "state_mutability": "external"
      },
      {
        "type": "function",
        "name": "renounce_ownership",
        "inputs": [],
        "outputs": [],
        "state_mutability": "external"
      },
      {
        "type": "function",
        "name": "transferOwnership",
        "inputs": [
          {
            "name": "newOwner",
            "type": "core::starknet::contract_address::ContractAddress"
          }
        ],
        "outputs": [],
        "state_mutability": "external"
      },
      {
        "type": "function",
        "name": "renounceOwnership",
        "inputs": [],
        "outputs": [],
        "state_mutability": "external"
      }
    ]
  },
  {
    "type": "impl",
    "name": "OAppCoreImpl",
    "interface_name": "layerzero::oapps::oapp::interface::IOApp"
  },
  {
    "type": "struct",
    "name": "core::integer::u256",
    "members": [
      {
        "name": "low",
        "type": "core::integer::u128"
      },
      {
        "name": "high",
        "type": "core::integer::u128"
      }
    ]
  },
  {
    "type": "struct",
    "name": "lz_utils::bytes::Bytes32",
    "members": [
      {
        "name": "value",
        "type": "core::integer::u256"
      }
    ]
  },
  {
    "type": "interface",
    "name": "layerzero::oapps::oapp::interface::IOApp",
    "items": [
      {
        "type": "function",
        "name": "get_endpoint",
        "inputs": [],
        "outputs": [
          {
            "type": "core::starknet::contract_address::ContractAddress"
          }
        ],
        "state_mutability": "view"
      },
      {
        "type": "function",
        "name": "set_peer",
        "inputs": [
          {
            "name": "eid",
            "type": "core::integer::u32"
          },
          {
            "name": "peer",
            "type": "lz_utils::bytes::Bytes32"
          }
        ],
        "outputs": [],
        "state_mutability": "external"
      },
      {
        "type": "function",
        "name": "get_peer",
        "inputs": [
          {
            "name": "eid",
            "type": "core::integer::u32"
          }
        ],
        "outputs": [
          {
            "type": "lz_utils::bytes::Bytes32"
          }
        ],
        "state_mutability": "view"
      },
      {
        "type": "function",
        "name": "oapp_version",
        "inputs": [],
        "outputs": [
          {
            "type": "(core::integer::u64, core::integer::u64)"
          }
        ],
        "state_mutability": "view"
      },
      {
        "type": "function",
        "name": "set_delegate",
        "inputs": [
          {
            "name": "delegate",
            "type": "core::starknet::contract_address::ContractAddress"
          }
        ],
        "outputs": [],
        "state_mutability": "external"
      }
    ]
  },
  {
    "type": "impl",
    "name": "IOAppReceiverImpl",
    "interface_name": "layerzero::oapps::oapp::interface::IOAppReceiver"
  },
  {
    "type": "struct",
    "name": "layerzero::common::structs::packet::Origin",
    "members": [
      {
        "name": "src_eid",
        "type": "core::integer::u32"
      },
      {
        "name": "sender",
        "type": "lz_utils::bytes::Bytes32"
      },
      {
        "name": "nonce",
        "type": "core::integer::u64"
      }
    ]
  },
  {
    "type": "struct",
    "name": "core::byte_array::ByteArray",
    "members": [
      {
        "name": "data",
        "type": "core::array::Array::<core::bytes_31::bytes31>"
      },
      {
        "name": "pending_word",
        "type": "core::felt252"
      },
      {
        "name": "pending_word_len",
        "type": "core::internal::bounded_int::BoundedInt::<0, 30>"
      }
    ]
  },
  {
    "type": "enum",
    "name": "core::bool",
    "variants": [
      {
        "name": "False",
        "type": "()"
      },
      {
        "name": "True",
        "type": "()"
      }
    ]
  },
  {
    "type": "interface",
    "name": "layerzero::oapps::oapp::interface::IOAppReceiver",
    "items": [
      {
        "type": "function",
        "name": "is_compose_msg_sender",
        "inputs": [
          {
            "name": "origin",
            "type": "layerzero::common::structs::packet::Origin"
          },
          {
            "name": "message",
            "type": "core::byte_array::ByteArray"
          },
          {
            "name": "sender",
            "type": "core::starknet::contract_address::ContractAddress"
          }
        ],
        "outputs": [
          {
            "type": "core::bool"
          }
        ],
        "state_mutability": "view"
      }
    ]
  },
  {
    "type": "impl",
    "name": "ILayerZeroReceiverImpl",
    "interface_name": "layerzero::endpoint::interfaces::layerzero_receiver::ILayerZeroReceiver"
  },
  {
    "type": "interface",
    "name": "layerzero::endpoint::interfaces::layerzero_receiver::ILayerZeroReceiver",
    "items": [
      {
        "type": "function",
        "name": "lz_receive",
        "inputs": [
          {
            "name": "origin",
            "type": "layerzero::common::structs::packet::Origin"
          },
          {
            "name": "guid",
            "type": "lz_utils::bytes::Bytes32"
          },
          {
            "name": "message",
            "type": "core::byte_array::ByteArray"
          },
          {
            "name": "executor",
            "type": "core::starknet::contract_address::ContractAddress"
          },
          {
            "name": "extra_data",
            "type": "core::byte_array::ByteArray"
          },
          {
            "name": "value",
            "type": "core::integer::u256"
          }
        ],
        "outputs": [],
        "state_mutability": "external"
      },
      {
        "type": "function",
        "name": "allow_initialize_path",
        "inputs": [
          {
            "name": "origin",
            "type": "layerzero::common::structs::packet::Origin"
          }
        ],
        "outputs": [
          {
            "type": "core::bool"
          }
        ],
        "state_mutability": "view"
      },
      {
        "type": "function",
        "name": "next_nonce",
        "inputs": [
          {
            "name": "src_eid",
            "type": "core::integer::u32"
          },
          {
            "name": "sender",
            "type": "lz_utils::bytes::Bytes32"
          }
        ],
        "outputs": [
          {
            "type": "core::integer::u64"
          }
        ],
        "state_mutability": "view"
      }
    ]
  },
  {
    "type": "impl",
    "name": "OFTCoreImpl",
    "interface_name": "layerzero::oapps::oft::interface::IOFT"
  },
  {
    "type": "struct",
    "name": "layerzero::oapps::oft::structs::OFTVersion",
    "members": [
      {
        "name": "interface_id",
        "type": "core::integer::u32"
      },
      {
        "name": "version",
        "type": "core::integer::u64"
      }
    ]
  },
  {
    "type": "struct",
    "name": "layerzero::oapps::oft::structs::SendParam",
    "members": [
      {
        "name": "dst_eid",
        "type": "core::integer::u32"
      },
      {
        "name": "to",
        "type": "lz_utils::bytes::Bytes32"
      },
      {
        "name": "amount_ld",
        "type": "core::integer::u256"
      },
      {
        "name": "min_amount_ld",
        "type": "core::integer::u256"
      },
      {
        "name": "extra_options",
        "type": "core::byte_array::ByteArray"
      },
      {
        "name": "compose_msg",
        "type": "core::byte_array::ByteArray"
      },
      {
        "name": "oft_cmd",
        "type": "core::byte_array::ByteArray"
      }
    ]
  },
  {
    "type": "struct",
    "name": "layerzero::oapps::oft::structs::OFTLimit",
    "members": [
      {
        "name": "min_amount_ld",
        "type": "core::integer::u256"
      },
      {
        "name": "max_amount_ld",
        "type": "core::integer::u256"
      }
    ]
  },
  {
    "type": "struct",
    "name": "layerzero::oapps::oft::structs::OFTFeeDetail",
    "members": [
      {
        "name": "fee_amount_ld",
        "type": "core::integer::u256"
      },
      {
        "name": "reward_amount_ld",
        "type": "core::integer::u256"
      },
      {
        "name": "description",
        "type": "core::byte_array::ByteArray"
      }
    ]
  },
  {
    "type": "struct",
    "name": "layerzero::oapps::oft::structs::OFTReceipt",
    "members": [
      {
        "name": "amount_sent_ld",
        "type": "core::integer::u256"
      },
      {
        "name": "amount_received_ld",
        "type": "core::integer::u256"
      }
    ]
  },
  {
    "type": "struct",
    "name": "layerzero::oapps::oft::structs::OFTQuote",
    "members": [
      {
        "name": "limit",
        "type": "layerzero::oapps::oft::structs::OFTLimit"
      },
      {
        "name": "oft_fee_details",
        "type": "core::array::Array::<layerzero::oapps::oft::structs::OFTFeeDetail>"
      },
      {
        "name": "receipt",
        "type": "layerzero::oapps::oft::structs::OFTReceipt"
      }
    ]
  },
  {
    "type": "struct",
    "name": "layerzero::common::structs::messaging::MessagingFee",
    "members": [
      {
        "name": "native_fee",
        "type": "core::integer::u256"
      },
      {
        "name": "lz_token_fee",
        "type": "core::integer::u256"
      }
    ]
  },
  {
    "type": "struct",
    "name": "layerzero::common::structs::messaging::Payee",
    "members": [
      {
        "name": "receiver",
        "type": "core::starknet::contract_address::ContractAddress"
      },
      {
        "name": "native_amount",
        "type": "core::integer::u256"
      },
      {
        "name": "lz_token_amount",
        "type": "core::integer::u256"
      }
    ]
  },
  {
    "type": "struct",
    "name": "layerzero::common::structs::messaging::MessageReceipt",
    "members": [
      {
        "name": "guid",
        "type": "lz_utils::bytes::Bytes32"
      },
      {
        "name": "nonce",
        "type": "core::integer::u64"
      },
      {
        "name": "payees",
        "type": "core::array::Array::<layerzero::common::structs::messaging::Payee>"
      }
    ]
  },
  {
    "type": "struct",
    "name": "layerzero::oapps::oft::structs::OFTSendResult",
    "members": [
      {
        "name": "message_receipt",
        "type": "layerzero::common::structs::messaging::MessageReceipt"
      },
      {
        "name": "oft_receipt",
        "type": "layerzero::oapps::oft::structs::OFTReceipt"
      }
    ]
  },
  {
    "type": "interface",
    "name": "layerzero::oapps::oft::interface::IOFT",
    "items": [
      {
        "type": "function",
        "name": "oft_version",
        "inputs": [],
        "outputs": [
          {
            "type": "layerzero::oapps::oft::structs::OFTVersion"
          }
        ],
        "state_mutability": "view"
      },
      {
        "type": "function",
        "name": "token",
        "inputs": [],
        "outputs": [
          {
            "type": "core::starknet::contract_address::ContractAddress"
          }
        ],
        "state_mutability": "view"
      },
      {
        "type": "function",
        "name": "approval_required",
        "inputs": [],
        "outputs": [
          {
            "type": "core::bool"
          }
        ],
        "state_mutability": "view"
      },
      {
        "type": "function",
        "name": "shared_decimals",
        "inputs": [],
        "outputs": [
          {
            "type": "core::integer::u8"
          }
        ],
        "state_mutability": "view"
      },
      {
        "type": "function",
        "name": "decimal_conversion_rate",
        "inputs": [],
        "outputs": [
          {
            "type": "core::integer::u256"
          }
        ],
        "state_mutability": "view"
      },
      {
        "type": "function",
        "name": "msg_inspector",
        "inputs": [],
        "outputs": [
          {
            "type": "core::starknet::contract_address::ContractAddress"
          }
        ],
        "state_mutability": "view"
      },
      {
        "type": "function",
        "name": "set_msg_inspector",
        "inputs": [
          {
            "name": "msg_inspector",
            "type": "core::starknet::contract_address::ContractAddress"
          }
        ],
        "outputs": [],
        "state_mutability": "external"
      },
      {
        "type": "function",
        "name": "quote_oft",
        "inputs": [
          {
            "name": "send_param",
            "type": "layerzero::oapps::oft::structs::SendParam"
          }
        ],
        "outputs": [
          {
            "type": "layerzero::oapps::oft::structs::OFTQuote"
          }
        ],
        "state_mutability": "view"
      },
      {
        "type": "function",
        "name": "quote_send",
        "inputs": [
          {
            "name": "send_param",
            "type": "layerzero::oapps::oft::structs::SendParam"
          },
          {
            "name": "pay_in_lz_token",
            "type": "core::bool"
          }
        ],
        "outputs": [
          {
            "type": "layerzero::common::structs::messaging::MessagingFee"
          }
        ],
        "state_mutability": "view"
      },
      {
        "type": "function",
        "name": "send",
        "inputs": [
          {
            "name": "send_param",
            "type": "layerzero::oapps::oft::structs::SendParam"
          },
          {
            "name": "fee",
            "type": "layerzero::common::structs::messaging::MessagingFee"
          },
          {
            "name": "refund_address",
            "type": "core::starknet::contract_address::ContractAddress"
          }
        ],
        "outputs": [
          {
            "type": "layerzero::oapps::oft::structs::OFTSendResult"
          }
        ],
        "state_mutability": "external"
      }
    ]
  },
  {
    "type": "impl",
    "name": "OAppOptionsType3Impl",
    "interface_name": "layerzero::oapps::common::oapp_options_type_3::interface::IOAppOptionsType3"
  },
  {
    "type": "struct",
    "name": "layerzero::oapps::common::oapp_options_type_3::structs::EnforcedOptionParam",
    "members": [
      {
        "name": "eid",
        "type": "core::integer::u32"
      },
      {
        "name": "msg_type",
        "type": "core::integer::u16"
      },
      {
        "name": "options",
        "type": "core::byte_array::ByteArray"
      }
    ]
  },
  {
    "type": "interface",
    "name": "layerzero::oapps::common::oapp_options_type_3::interface::IOAppOptionsType3",
    "items": [
      {
        "type": "function",
        "name": "set_enforced_options",
        "inputs": [
          {
            "name": "enforced_options",
            "type": "core::array::Array::<layerzero::oapps::common::oapp_options_type_3::structs::EnforcedOptionParam>"
          }
        ],
        "outputs": [],
        "state_mutability": "external"
      },
      {
        "type": "function",
        "name": "combine_options",
        "inputs": [
          {
            "name": "eid",
            "type": "core::integer::u32"
          },
          {
            "name": "msg_type",
            "type": "core::integer::u16"
          },
          {
            "name": "extra_options",
            "type": "core::byte_array::ByteArray"
          }
        ],
        "outputs": [
          {
            "type": "core::byte_array::ByteArray"
          }
        ],
        "state_mutability": "view"
      },
      {
        "type": "function",
        "name": "get_enforced_options",
        "inputs": [
          {
            "name": "eid",
            "type": "core::integer::u32"
          },
          {
            "name": "msg_type",
            "type": "core::integer::u16"
          }
        ],
        "outputs": [
          {
            "type": "core::byte_array::ByteArray"
          }
        ],
        "state_mutability": "view"
      }
    ]
  },
  {
    "type": "constructor",
    "name": "constructor",
    "inputs": [
      {
        "name": "erc20_token",
        "type": "core::starknet::contract_address::ContractAddress"
      },
      {
        "name": "lz_endpoint",
        "type": "core::starknet::contract_address::ContractAddress"
      },
      {
        "name": "owner",
        "type": "core::starknet::contract_address::ContractAddress"
      },
      {
        "name": "native_token",
        "type": "core::starknet::contract_address::ContractAddress"
      }
    ]
  },
  {
    "type": "event",
    "name": "openzeppelin_access::ownable::ownable::OwnableComponent::OwnershipTransferred",
    "kind": "struct",
    "members": [
      {
        "name": "previous_owner",
        "type": "core::starknet::contract_address::ContractAddress",
        "kind": "key"
      },
      {
        "name": "new_owner",
        "type": "core::starknet::contract_address::ContractAddress",
        "kind": "key"
      }
    ]
  },
  {
    "type": "event",
    "name": "openzeppelin_access::ownable::ownable::OwnableComponent::OwnershipTransferStarted",
    "kind": "struct",
    "members": [
      {
        "name": "previous_owner",
        "type": "core::starknet::contract_address::ContractAddress",
        "kind": "key"
      },
      {
        "name": "new_owner",
        "type": "core::starknet::contract_address::ContractAddress",
        "kind": "key"
      }
    ]
  },
  {
    "type": "event",
    "name": "openzeppelin_access::ownable::ownable::OwnableComponent::Event",
    "kind": "enum",
    "variants": [
      {
        "name": "OwnershipTransferred",
        "type": "openzeppelin_access::ownable::ownable::OwnableComponent::OwnershipTransferred",
        "kind": "nested"
      },
      {
        "name": "OwnershipTransferStarted",
        "type": "openzeppelin_access::ownable::ownable::OwnableComponent::OwnershipTransferStarted",
        "kind": "nested"
      }
    ]
  },
  {
    "type": "event",
    "name": "layerzero::oapps::oapp::events::PeerSet",
    "kind": "struct",
    "members": [
      {
        "name": "eid",
        "type": "core::integer::u32",
        "kind": "key"
      },
      {
        "name": "peer",
        "type": "lz_utils::bytes::Bytes32",
        "kind": "key"
      }
    ]
  },
  {
    "type": "event",
    "name": "layerzero::oapps::oapp::oapp_core::OAppCoreComponent::Event",
    "kind": "enum",
    "variants": [
      {
        "name": "PeerSet",
        "type": "layerzero::oapps::oapp::events::PeerSet",
        "kind": "nested"
      }
    ]
  },
  {
    "type": "event",
    "name": "layerzero::oapps::oft::events::OFTSent",
    "kind": "struct",
    "members": [
      {
        "name": "guid",
        "type": "lz_utils::bytes::Bytes32",
        "kind": "key"
      },
      {
        "name": "dst_eid",
        "type": "core::integer::u32",
        "kind": "key"
      },
      {
        "name": "from",
        "type": "core::starknet::contract_address::ContractAddress",
        "kind": "key"
      },
      {
        "name": "amount_sent_ld",
        "type": "core::integer::u256",
        "kind": "data"
      },
      {
        "name": "amount_received_ld",
        "type": "core::integer::u256",
        "kind": "data"
      }
    ]
  },
  {
    "type": "event",
    "name": "layerzero::oapps::oft::events::OFTReceived",
    "kind": "struct",
    "members": [
      {
        "name": "guid",
        "type": "lz_utils::bytes::Bytes32",
        "kind": "key"
      },
      {
        "name": "src_eid",
        "type": "core::integer::u32",
        "kind": "key"
      },
      {
        "name": "to",
        "type": "core::starknet::contract_address::ContractAddress",
        "kind": "key"
      },
      {
        "name": "amount_received_ld",
        "type": "core::integer::u256",
        "kind": "data"
      }
    ]
  },
  {
    "type": "event",
    "name": "layerzero::oapps::oft::events::MsgInspectorSet",
    "kind": "struct",
    "members": [
      {
        "name": "msg_inspector",
        "type": "core::starknet::contract_address::ContractAddress",
        "kind": "key"
      }
    ]
  },
  {
    "type": "event",
    "name": "layerzero::oapps::oft::oft_core::oft_core::OFTCoreComponent::Event",
    "kind": "enum",
    "variants": [
      {
        "name": "OFTSent",
        "type": "layerzero::oapps::oft::events::OFTSent",
        "kind": "nested"
      },
      {
        "name": "OFTReceived",
        "type": "layerzero::oapps::oft::events::OFTReceived",
        "kind": "nested"
      },
      {
        "name": "MsgInspectorSet",
        "type": "layerzero::oapps::oft::events::MsgInspectorSet",
        "kind": "nested"
      }
    ]
  },
  {
    "type": "event",
    "name": "layerzero::oapps::common::oapp_options_type_3::events::EnforcedOptionSet",
    "kind": "struct",
    "members": [
      {
        "name": "options",
        "type": "core::array::Array::<layerzero::oapps::common::oapp_options_type_3::structs::EnforcedOptionParam>",
        "kind": "data"
      }
    ]
  },
  {
    "type": "event",
    "name": "layerzero::oapps::common::oapp_options_type_3::oapp_options_type_3::OAppOptionsType3Component::Event",
    "kind": "enum",
    "variants": [
      {
        "name": "EnforcedOptionSet",
        "type": "layerzero::oapps::common::oapp_options_type_3::events::EnforcedOptionSet",
        "kind": "nested"
      }
    ]
  },
  {
    "type": "event",
    "name": "oft_adapter::oft_adapter::OFTAdapter::Event",
    "kind": "enum",
    "variants": [
      {
        "name": "OwnableEvent",
        "type": "openzeppelin_access::ownable::ownable::OwnableComponent::Event",
        "kind": "flat"
      },
      {
        "name": "OAppCoreEvent",
        "type": "layerzero::oapps::oapp::oapp_core::OAppCoreComponent::Event",
        "kind": "flat"
      },
      {
        "name": "OFTCoreEvent",
        "type": "layerzero::oapps::oft::oft_core::oft_core::OFTCoreComponent::Event",
        "kind": "flat"
      },
      {
        "name": "OAppOptionsType3Event",
        "type": "layerzero::oapps::common::oapp_options_type_3::oapp_options_type_3::OAppOptionsType3Component::Event",
        "kind": "flat"
      }
    ]
  }
];

export { oFTAdapter };
//# sourceMappingURL=JFLNUTE2.js.map
//# sourceMappingURL=JFLNUTE2.js.map