// src/generated/abi/price-feed.ts
var priceFeed = [
  {
    "type": "impl",
    "name": "PriceFeedImpl",
    "interface_name": "layerzero::workers::price_feed::interface::IPriceFeed"
  },
  {
    "type": "enum",
    "name": "core::bool",
    "variants": [
      {
        "name": "False",
        "type": "()"
      },
      {
        "name": "True",
        "type": "()"
      }
    ]
  },
  {
    "type": "enum",
    "name": "layerzero::workers::price_feed::structs::ModelType",
    "variants": [
      {
        "name": "DEFAULT",
        "type": "()"
      },
      {
        "name": "OP_STACK",
        "type": "()"
      },
      {
        "name": "ARB_STACK",
        "type": "()"
      }
    ]
  },
  {
    "type": "struct",
    "name": "layerzero::workers::price_feed::structs::SetEidToModelTypeParam",
    "members": [
      {
        "name": "eid",
        "type": "core::integer::u32"
      },
      {
        "name": "model_type",
        "type": "layerzero::workers::price_feed::structs::ModelType"
      }
    ]
  },
  {
    "type": "struct",
    "name": "core::array::Span::<core::felt252>",
    "members": [
      {
        "name": "snapshot",
        "type": "@core::array::Array::<core::felt252>"
      }
    ]
  },
  {
    "type": "struct",
    "name": "core::integer::u256",
    "members": [
      {
        "name": "low",
        "type": "core::integer::u128"
      },
      {
        "name": "high",
        "type": "core::integer::u128"
      }
    ]
  },
  {
    "type": "struct",
    "name": "layerzero::workers::price_feed::structs::Price",
    "members": [
      {
        "name": "price_ratio",
        "type": "core::integer::u128"
      },
      {
        "name": "gas_price_in_unit",
        "type": "core::integer::u64"
      },
      {
        "name": "gas_per_byte",
        "type": "core::integer::u32"
      }
    ]
  },
  {
    "type": "struct",
    "name": "layerzero::workers::price_feed::structs::SetPriceParam",
    "members": [
      {
        "name": "eid",
        "type": "core::integer::u32"
      },
      {
        "name": "price",
        "type": "layerzero::workers::price_feed::structs::Price"
      }
    ]
  },
  {
    "type": "struct",
    "name": "layerzero::workers::price_feed::structs::ArbitrumPriceExt",
    "members": [
      {
        "name": "gas_per_l2_tx",
        "type": "core::integer::u64"
      },
      {
        "name": "gas_per_l1_call_data_byte",
        "type": "core::integer::u32"
      }
    ]
  },
  {
    "type": "struct",
    "name": "layerzero::workers::price_feed::structs::UpdatePriceExt",
    "members": [
      {
        "name": "eid",
        "type": "core::integer::u32"
      },
      {
        "name": "price",
        "type": "layerzero::workers::price_feed::structs::Price"
      },
      {
        "name": "extend",
        "type": "layerzero::workers::price_feed::structs::ArbitrumPriceExt"
      }
    ]
  },
  {
    "type": "interface",
    "name": "layerzero::workers::price_feed::interface::IPriceFeed",
    "items": [
      {
        "type": "function",
        "name": "set_price_updater",
        "inputs": [
          {
            "name": "address",
            "type": "core::starknet::contract_address::ContractAddress"
          },
          {
            "name": "active",
            "type": "core::bool"
          }
        ],
        "outputs": [],
        "state_mutability": "external"
      },
      {
        "type": "function",
        "name": "set_eid_to_model_type",
        "inputs": [
          {
            "name": "params",
            "type": "core::array::Array::<layerzero::workers::price_feed::structs::SetEidToModelTypeParam>"
          }
        ],
        "outputs": [],
        "state_mutability": "external"
      },
      {
        "type": "function",
        "name": "upgrade",
        "inputs": [
          {
            "name": "new_class_hash",
            "type": "core::starknet::class_hash::ClassHash"
          }
        ],
        "outputs": [],
        "state_mutability": "external"
      },
      {
        "type": "function",
        "name": "upgrade_and_call",
        "inputs": [
          {
            "name": "new_class_hash",
            "type": "core::starknet::class_hash::ClassHash"
          },
          {
            "name": "selector",
            "type": "core::felt252"
          },
          {
            "name": "calldata",
            "type": "core::array::Span::<core::felt252>"
          }
        ],
        "outputs": [
          {
            "type": "core::array::Span::<core::felt252>"
          }
        ],
        "state_mutability": "external"
      },
      {
        "type": "function",
        "name": "set_price_ratio_denominator",
        "inputs": [
          {
            "name": "denominator",
            "type": "core::integer::u128"
          }
        ],
        "outputs": [],
        "state_mutability": "external"
      },
      {
        "type": "function",
        "name": "set_arbitrum_compression_percent",
        "inputs": [
          {
            "name": "compression_percent",
            "type": "core::integer::u32"
          }
        ],
        "outputs": [],
        "state_mutability": "external"
      },
      {
        "type": "function",
        "name": "set_endpoint",
        "inputs": [
          {
            "name": "endpoint",
            "type": "core::starknet::contract_address::ContractAddress"
          }
        ],
        "outputs": [],
        "state_mutability": "external"
      },
      {
        "type": "function",
        "name": "withdraw_fee",
        "inputs": [
          {
            "name": "token_address",
            "type": "core::starknet::contract_address::ContractAddress"
          },
          {
            "name": "to",
            "type": "core::starknet::contract_address::ContractAddress"
          },
          {
            "name": "amount",
            "type": "core::integer::u256"
          }
        ],
        "outputs": [],
        "state_mutability": "external"
      },
      {
        "type": "function",
        "name": "set_price",
        "inputs": [
          {
            "name": "params",
            "type": "core::array::Array::<layerzero::workers::price_feed::structs::SetPriceParam>"
          }
        ],
        "outputs": [],
        "state_mutability": "external"
      },
      {
        "type": "function",
        "name": "set_price_for_arbitrum",
        "inputs": [
          {
            "name": "update",
            "type": "layerzero::workers::price_feed::structs::UpdatePriceExt"
          }
        ],
        "outputs": [],
        "state_mutability": "external"
      },
      {
        "type": "function",
        "name": "set_native_price_usd",
        "inputs": [
          {
            "name": "price",
            "type": "core::integer::u128"
          }
        ],
        "outputs": [],
        "state_mutability": "external"
      },
      {
        "type": "function",
        "name": "get_price_arbitrum_ext",
        "inputs": [
          {
            "name": "eid",
            "type": "core::integer::u32"
          }
        ],
        "outputs": [
          {
            "type": "layerzero::workers::price_feed::structs::ArbitrumPriceExt"
          }
        ],
        "state_mutability": "view"
      },
      {
        "type": "function",
        "name": "get_price_updater",
        "inputs": [
          {
            "name": "address",
            "type": "core::starknet::contract_address::ContractAddress"
          }
        ],
        "outputs": [
          {
            "type": "core::bool"
          }
        ],
        "state_mutability": "view"
      },
      {
        "type": "function",
        "name": "get_eid_to_model_type",
        "inputs": [
          {
            "name": "eid",
            "type": "core::integer::u32"
          }
        ],
        "outputs": [
          {
            "type": "layerzero::workers::price_feed::structs::ModelType"
          }
        ],
        "state_mutability": "view"
      },
      {
        "type": "function",
        "name": "get_arbitrum_compression_percent",
        "inputs": [],
        "outputs": [
          {
            "type": "core::integer::u32"
          }
        ],
        "state_mutability": "view"
      },
      {
        "type": "function",
        "name": "get_endpoint",
        "inputs": [],
        "outputs": [
          {
            "type": "core::starknet::contract_address::ContractAddress"
          }
        ],
        "state_mutability": "view"
      }
    ]
  },
  {
    "type": "impl",
    "name": "LayerZeroPriceFeedImpl",
    "interface_name": "layerzero::workers::price_feed::interface::ILayerZeroPriceFeed"
  },
  {
    "type": "struct",
    "name": "layerzero::workers::price_feed::structs::GetFeeResponse",
    "members": [
      {
        "name": "gas_fee",
        "type": "core::integer::u256"
      },
      {
        "name": "price_ratio",
        "type": "core::integer::u128"
      },
      {
        "name": "price_ratio_denominator",
        "type": "core::integer::u128"
      },
      {
        "name": "native_price_usd",
        "type": "core::integer::u128"
      }
    ]
  },
  {
    "type": "interface",
    "name": "layerzero::workers::price_feed::interface::ILayerZeroPriceFeed",
    "items": [
      {
        "type": "function",
        "name": "native_price_usd",
        "inputs": [],
        "outputs": [
          {
            "type": "core::integer::u128"
          }
        ],
        "state_mutability": "view"
      },
      {
        "type": "function",
        "name": "get_fee",
        "inputs": [
          {
            "name": "dst_eid",
            "type": "core::integer::u32"
          },
          {
            "name": "calldata_size",
            "type": "core::integer::u256"
          },
          {
            "name": "gas",
            "type": "core::integer::u256"
          }
        ],
        "outputs": [
          {
            "type": "core::integer::u256"
          }
        ],
        "state_mutability": "view"
      },
      {
        "type": "function",
        "name": "get_price",
        "inputs": [
          {
            "name": "eid",
            "type": "core::integer::u32"
          }
        ],
        "outputs": [
          {
            "type": "layerzero::workers::price_feed::structs::Price"
          }
        ],
        "state_mutability": "view"
      },
      {
        "type": "function",
        "name": "get_price_ratio_denominator",
        "inputs": [],
        "outputs": [
          {
            "type": "core::integer::u128"
          }
        ],
        "state_mutability": "view"
      },
      {
        "type": "function",
        "name": "estimate_fee_by_eid",
        "inputs": [
          {
            "name": "dst_eid",
            "type": "core::integer::u32"
          },
          {
            "name": "calldata_size",
            "type": "core::integer::u32"
          },
          {
            "name": "gas",
            "type": "core::integer::u256"
          }
        ],
        "outputs": [
          {
            "type": "layerzero::workers::price_feed::structs::GetFeeResponse"
          }
        ],
        "state_mutability": "view"
      },
      {
        "type": "function",
        "name": "estimate_fee_on_send",
        "inputs": [
          {
            "name": "dst_eid",
            "type": "core::integer::u32"
          },
          {
            "name": "calldata_size",
            "type": "core::integer::u32"
          },
          {
            "name": "gas",
            "type": "core::integer::u256"
          }
        ],
        "outputs": [
          {
            "type": "layerzero::workers::price_feed::structs::GetFeeResponse"
          }
        ],
        "state_mutability": "external"
      }
    ]
  },
  {
    "type": "impl",
    "name": "OwnableImpl",
    "interface_name": "openzeppelin_access::ownable::interface::IOwnable"
  },
  {
    "type": "interface",
    "name": "openzeppelin_access::ownable::interface::IOwnable",
    "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": "constructor",
    "name": "constructor",
    "inputs": [
      {
        "name": "owner",
        "type": "core::starknet::contract_address::ContractAddress"
      },
      {
        "name": "price_updater",
        "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": "openzeppelin_upgrades::upgradeable::UpgradeableComponent::Upgraded",
    "kind": "struct",
    "members": [
      {
        "name": "class_hash",
        "type": "core::starknet::class_hash::ClassHash",
        "kind": "data"
      }
    ]
  },
  {
    "type": "event",
    "name": "openzeppelin_upgrades::upgradeable::UpgradeableComponent::Event",
    "kind": "enum",
    "variants": [
      {
        "name": "Upgraded",
        "type": "openzeppelin_upgrades::upgradeable::UpgradeableComponent::Upgraded",
        "kind": "nested"
      }
    ]
  },
  {
    "type": "event",
    "name": "layerzero::workers::price_feed::events::FeeWithdrawn",
    "kind": "struct",
    "members": [
      {
        "name": "token_address",
        "type": "core::starknet::contract_address::ContractAddress",
        "kind": "key"
      },
      {
        "name": "to",
        "type": "core::starknet::contract_address::ContractAddress",
        "kind": "key"
      },
      {
        "name": "amount",
        "type": "core::integer::u256",
        "kind": "data"
      }
    ]
  },
  {
    "type": "event",
    "name": "layerzero::workers::price_feed::price_feed::PriceFeed::Event",
    "kind": "enum",
    "variants": [
      {
        "name": "OwnableEvent",
        "type": "openzeppelin_access::ownable::ownable::OwnableComponent::Event",
        "kind": "flat"
      },
      {
        "name": "UpgradeableEvent",
        "type": "openzeppelin_upgrades::upgradeable::UpgradeableComponent::Event",
        "kind": "flat"
      },
      {
        "name": "FeeWithdrawn",
        "type": "layerzero::workers::price_feed::events::FeeWithdrawn",
        "kind": "nested"
      }
    ]
  }
];

export { priceFeed };
//# sourceMappingURL=QL26J5ZZ.js.map
//# sourceMappingURL=QL26J5ZZ.js.map