Swap Router
Read Functions
get_factory
fn get_factory(self: @TContractState) -> ContractAddress;
Write Functions
ABI
[
{
"name": "RouterImpl",
"type": "impl",
"interface_name": "karrot_exchange::router::IRouter"
},
{
"name": "core::integer::u256",
"type": "struct",
"members": [
{
"name": "low",
"type": "core::integer::u128"
},
{
"name": "high",
"type": "core::integer::u128"
}
]
},
{
"name": "core::array::Span::<core::starknet::contract_address::ContractAddress>",
"type": "struct",
"members": [
{
"name": "snapshot",
"type": "@core::array::Array::<core::starknet::contract_address::ContractAddress>"
}
]
},
{
"name": "core::array::Span::<core::integer::u256>",
"type": "struct",
"members": [
{
"name": "snapshot",
"type": "@core::array::Array::<core::integer::u256>"
}
]
},
{
"name": "karrot_exchange::router::IRouter",
"type": "interface",
"items": [
{
"name": "get_factory",
"type": "function",
"inputs": [],
"outputs": [
{
"type": "core::starknet::contract_address::ContractAddress"
}
],
"state_mutability": "view"
},
{
"name": "quote",
"type": "function",
"inputs": [
{
"name": "amount_a",
"type": "core::integer::u256"
},
{
"name": "reserve_a",
"type": "core::integer::u256"
},
{
"name": "reserve_b",
"type": "core::integer::u256"
}
],
"outputs": [
{
"type": "core::integer::u256"
}
],
"state_mutability": "view"
},
{
"name": "get_amounts_out",
"type": "function",
"inputs": [
{
"name": "amount_in",
"type": "core::integer::u256"
},
{
"name": "path",
"type": "core::array::Span::<core::starknet::contract_address::ContractAddress>"
}
],
"outputs": [
{
"type": "core::array::Span::<core::integer::u256>"
}
],
"state_mutability": "view"
},
{
"name": "get_amounts_in",
"type": "function",
"inputs": [
{
"name": "amount_out",
"type": "core::integer::u256"
},
{
"name": "path",
"type": "core::array::Span::<core::starknet::contract_address::ContractAddress>"
}
],
"outputs": [
{
"type": "core::array::Span::<core::integer::u256>"
}
],
"state_mutability": "view"
},
{
"name": "add_liquidity",
"type": "function",
"inputs": [
{
"name": "token_a",
"type": "core::starknet::contract_address::ContractAddress"
},
{
"name": "token_b",
"type": "core::starknet::contract_address::ContractAddress"
},
{
"name": "amount_a_desired",
"type": "core::integer::u256"
},
{
"name": "amount_b_desired",
"type": "core::integer::u256"
},
{
"name": "amount_a_min",
"type": "core::integer::u256"
},
{
"name": "amount_b_min",
"type": "core::integer::u256"
},
{
"name": "to",
"type": "core::starknet::contract_address::ContractAddress"
},
{
"name": "deadline",
"type": "core::integer::u64"
}
],
"outputs": [
{
"type": "(core::integer::u256, core::integer::u256, core::integer::u256)"
}
],
"state_mutability": "external"
},
{
"name": "remove_liquidity",
"type": "function",
"inputs": [
{
"name": "token_a",
"type": "core::starknet::contract_address::ContractAddress"
},
{
"name": "token_b",
"type": "core::starknet::contract_address::ContractAddress"
},
{
"name": "liquidity",
"type": "core::integer::u256"
},
{
"name": "amount_a_min",
"type": "core::integer::u256"
},
{
"name": "amount_b_min",
"type": "core::integer::u256"
},
{
"name": "to",
"type": "core::starknet::contract_address::ContractAddress"
},
{
"name": "deadline",
"type": "core::integer::u64"
}
],
"outputs": [
{
"type": "(core::integer::u256, core::integer::u256)"
}
],
"state_mutability": "external"
},
{
"name": "swap_exact_tokens_for_tokens",
"type": "function",
"inputs": [
{
"name": "amount_in",
"type": "core::integer::u256"
},
{
"name": "amount_out_min",
"type": "core::integer::u256"
},
{
"name": "path",
"type": "core::array::Array::<core::starknet::contract_address::ContractAddress>"
},
{
"name": "to",
"type": "core::starknet::contract_address::ContractAddress"
},
{
"name": "deadline",
"type": "core::integer::u64"
}
],
"outputs": [
{
"type": "core::array::Span::<core::integer::u256>"
}
],
"state_mutability": "external"
},
{
"name": "swap_tokens_for_exact_tokens",
"type": "function",
"inputs": [
{
"name": "amount_out",
"type": "core::integer::u256"
},
{
"name": "amount_in_max",
"type": "core::integer::u256"
},
{
"name": "path",
"type": "core::array::Array::<core::starknet::contract_address::ContractAddress>"
},
{
"name": "to",
"type": "core::starknet::contract_address::ContractAddress"
},
{
"name": "deadline",
"type": "core::integer::u64"
}
],
"outputs": [
{
"type": "core::array::Span::<core::integer::u256>"
}
],
"state_mutability": "external"
}
]
},
{
"name": "constructor",
"type": "constructor",
"inputs": [
{
"name": "factory",
"type": "core::starknet::contract_address::ContractAddress"
}
]
},
{
"kind": "enum",
"name": "karrot_exchange::router::Router::Event",
"type": "event",
"variants": []
}
]
Last updated