@atomiqlabs/chain-starknet
Version:
Starknet specific base implementation
406 lines (405 loc) • 15.5 kB
TypeScript
export declare const EscrowManagerAbi: readonly [{
readonly type: "impl";
readonly name: "EscrowManagerImpl";
readonly interface_name: "escrow_manager::IEscrowManager";
}, {
readonly type: "struct";
readonly name: "core::integer::u256";
readonly members: readonly [{
readonly name: "low";
readonly type: "core::integer::u128";
}, {
readonly name: "high";
readonly type: "core::integer::u128";
}];
}, {
readonly type: "struct";
readonly name: "escrow_manager::structs::escrow::EscrowData";
readonly members: readonly [{
readonly name: "offerer";
readonly type: "core::starknet::contract_address::ContractAddress";
}, {
readonly name: "claimer";
readonly type: "core::starknet::contract_address::ContractAddress";
}, {
readonly name: "token";
readonly type: "core::starknet::contract_address::ContractAddress";
}, {
readonly name: "refund_handler";
readonly type: "core::starknet::contract_address::ContractAddress";
}, {
readonly name: "claim_handler";
readonly type: "core::starknet::contract_address::ContractAddress";
}, {
readonly name: "flags";
readonly type: "core::integer::u128";
}, {
readonly name: "claim_data";
readonly type: "core::felt252";
}, {
readonly name: "refund_data";
readonly type: "core::felt252";
}, {
readonly name: "amount";
readonly type: "core::integer::u256";
}, {
readonly name: "fee_token";
readonly type: "core::starknet::contract_address::ContractAddress";
}, {
readonly name: "security_deposit";
readonly type: "core::integer::u256";
}, {
readonly name: "claimer_bounty";
readonly type: "core::integer::u256";
}];
}, {
readonly type: "struct";
readonly name: "core::array::Span::<core::felt252>";
readonly members: readonly [{
readonly name: "snapshot";
readonly type: "@core::array::Array::<core::felt252>";
}];
}, {
readonly type: "interface";
readonly name: "escrow_manager::IEscrowManager";
readonly items: readonly [{
readonly type: "function";
readonly name: "initialize";
readonly inputs: readonly [{
readonly name: "escrow";
readonly type: "escrow_manager::structs::escrow::EscrowData";
}, {
readonly name: "signature";
readonly type: "core::array::Array::<core::felt252>";
}, {
readonly name: "timeout";
readonly type: "core::integer::u64";
}, {
readonly name: "extra_data";
readonly type: "core::array::Span::<core::felt252>";
}];
readonly outputs: readonly [];
readonly state_mutability: "external";
}, {
readonly type: "function";
readonly name: "claim";
readonly inputs: readonly [{
readonly name: "escrow";
readonly type: "escrow_manager::structs::escrow::EscrowData";
}, {
readonly name: "witness";
readonly type: "core::array::Array::<core::felt252>";
}];
readonly outputs: readonly [];
readonly state_mutability: "external";
}, {
readonly type: "function";
readonly name: "refund";
readonly inputs: readonly [{
readonly name: "escrow";
readonly type: "escrow_manager::structs::escrow::EscrowData";
}, {
readonly name: "witness";
readonly type: "core::array::Array::<core::felt252>";
}];
readonly outputs: readonly [];
readonly state_mutability: "external";
}, {
readonly type: "function";
readonly name: "cooperative_refund";
readonly inputs: readonly [{
readonly name: "escrow";
readonly type: "escrow_manager::structs::escrow::EscrowData";
}, {
readonly name: "signature";
readonly type: "core::array::Array::<core::felt252>";
}, {
readonly name: "timeout";
readonly type: "core::integer::u64";
}];
readonly outputs: readonly [];
readonly state_mutability: "external";
}];
}, {
readonly type: "impl";
readonly name: "LPVaultImpl";
readonly interface_name: "escrow_manager::components::lp_vault::ILPVault";
}, {
readonly type: "struct";
readonly name: "core::array::Span::<(core::starknet::contract_address::ContractAddress, core::starknet::contract_address::ContractAddress)>";
readonly members: readonly [{
readonly name: "snapshot";
readonly type: "@core::array::Array::<(core::starknet::contract_address::ContractAddress, core::starknet::contract_address::ContractAddress)>";
}];
}, {
readonly type: "interface";
readonly name: "escrow_manager::components::lp_vault::ILPVault";
readonly items: readonly [{
readonly type: "function";
readonly name: "deposit";
readonly inputs: readonly [{
readonly name: "token";
readonly type: "core::starknet::contract_address::ContractAddress";
}, {
readonly name: "amount";
readonly type: "core::integer::u256";
}];
readonly outputs: readonly [];
readonly state_mutability: "external";
}, {
readonly type: "function";
readonly name: "withdraw";
readonly inputs: readonly [{
readonly name: "token";
readonly type: "core::starknet::contract_address::ContractAddress";
}, {
readonly name: "amount";
readonly type: "core::integer::u256";
}, {
readonly name: "destination";
readonly type: "core::starknet::contract_address::ContractAddress";
}];
readonly outputs: readonly [];
readonly state_mutability: "external";
}, {
readonly type: "function";
readonly name: "get_balance";
readonly inputs: readonly [{
readonly name: "data";
readonly type: "core::array::Span::<(core::starknet::contract_address::ContractAddress, core::starknet::contract_address::ContractAddress)>";
}];
readonly outputs: readonly [{
readonly type: "core::array::Array::<core::integer::u256>";
}];
readonly state_mutability: "view";
}];
}, {
readonly type: "impl";
readonly name: "ReputationTrackerImpl";
readonly interface_name: "escrow_manager::components::reputation::IReputationTracker";
}, {
readonly type: "struct";
readonly name: "core::array::Span::<(core::starknet::contract_address::ContractAddress, core::starknet::contract_address::ContractAddress, core::starknet::contract_address::ContractAddress)>";
readonly members: readonly [{
readonly name: "snapshot";
readonly type: "@core::array::Array::<(core::starknet::contract_address::ContractAddress, core::starknet::contract_address::ContractAddress, core::starknet::contract_address::ContractAddress)>";
}];
}, {
readonly type: "struct";
readonly name: "escrow_manager::state::reputation::Reputation";
readonly members: readonly [{
readonly name: "amount";
readonly type: "core::integer::u256";
}, {
readonly name: "count";
readonly type: "core::integer::u128";
}];
}, {
readonly type: "interface";
readonly name: "escrow_manager::components::reputation::IReputationTracker";
readonly items: readonly [{
readonly type: "function";
readonly name: "get_reputation";
readonly inputs: readonly [{
readonly name: "data";
readonly type: "core::array::Span::<(core::starknet::contract_address::ContractAddress, core::starknet::contract_address::ContractAddress, core::starknet::contract_address::ContractAddress)>";
}];
readonly outputs: readonly [{
readonly type: "core::array::Array::<[escrow_manager::state::reputation::Reputation; 3]>";
}];
readonly state_mutability: "view";
}];
}, {
readonly type: "impl";
readonly name: "EscrowStorageImpl";
readonly interface_name: "escrow_manager::components::escrow_storage::IEscrowStorage";
}, {
readonly type: "struct";
readonly name: "escrow_manager::state::escrow::EscrowState";
readonly members: readonly [{
readonly name: "init_blockheight";
readonly type: "core::integer::u64";
}, {
readonly name: "finish_blockheight";
readonly type: "core::integer::u64";
}, {
readonly name: "state";
readonly type: "core::integer::u8";
}];
}, {
readonly type: "struct";
readonly name: "core::array::Span::<escrow_manager::state::escrow::EscrowState>";
readonly members: readonly [{
readonly name: "snapshot";
readonly type: "@core::array::Array::<escrow_manager::state::escrow::EscrowState>";
}];
}, {
readonly type: "interface";
readonly name: "escrow_manager::components::escrow_storage::IEscrowStorage";
readonly items: readonly [{
readonly type: "function";
readonly name: "get_state";
readonly inputs: readonly [{
readonly name: "escrow";
readonly type: "escrow_manager::structs::escrow::EscrowData";
}];
readonly outputs: readonly [{
readonly type: "escrow_manager::state::escrow::EscrowState";
}];
readonly state_mutability: "view";
}, {
readonly type: "function";
readonly name: "get_hash_state";
readonly inputs: readonly [{
readonly name: "escrow_hash";
readonly type: "core::felt252";
}];
readonly outputs: readonly [{
readonly type: "escrow_manager::state::escrow::EscrowState";
}];
readonly state_mutability: "view";
}, {
readonly type: "function";
readonly name: "get_hash_state_multiple";
readonly inputs: readonly [{
readonly name: "escrow_hashes";
readonly type: "core::array::Span::<core::felt252>";
}];
readonly outputs: readonly [{
readonly type: "core::array::Span::<escrow_manager::state::escrow::EscrowState>";
}];
readonly state_mutability: "view";
}];
}, {
readonly type: "event";
readonly name: "escrow_manager::components::lp_vault::lp_vault::Event";
readonly kind: "enum";
readonly variants: readonly [];
}, {
readonly type: "event";
readonly name: "escrow_manager::components::reputation::reputation::Event";
readonly kind: "enum";
readonly variants: readonly [];
}, {
readonly type: "event";
readonly name: "escrow_manager::components::escrow_storage::escrow_storage::Event";
readonly kind: "enum";
readonly variants: readonly [];
}, {
readonly type: "event";
readonly name: "escrow_manager::events::Initialize";
readonly kind: "struct";
readonly members: readonly [{
readonly name: "offerer";
readonly type: "core::starknet::contract_address::ContractAddress";
readonly kind: "key";
}, {
readonly name: "claimer";
readonly type: "core::starknet::contract_address::ContractAddress";
readonly kind: "key";
}, {
readonly name: "claim_data";
readonly type: "core::felt252";
readonly kind: "key";
}, {
readonly name: "escrow_hash";
readonly type: "core::felt252";
readonly kind: "key";
}, {
readonly name: "claim_handler";
readonly type: "core::starknet::contract_address::ContractAddress";
readonly kind: "data";
}, {
readonly name: "refund_handler";
readonly type: "core::starknet::contract_address::ContractAddress";
readonly kind: "data";
}];
}, {
readonly type: "event";
readonly name: "escrow_manager::events::Claim";
readonly kind: "struct";
readonly members: readonly [{
readonly name: "offerer";
readonly type: "core::starknet::contract_address::ContractAddress";
readonly kind: "key";
}, {
readonly name: "claimer";
readonly type: "core::starknet::contract_address::ContractAddress";
readonly kind: "key";
}, {
readonly name: "claim_data";
readonly type: "core::felt252";
readonly kind: "key";
}, {
readonly name: "escrow_hash";
readonly type: "core::felt252";
readonly kind: "key";
}, {
readonly name: "witness_result";
readonly type: "core::array::Span::<core::felt252>";
readonly kind: "data";
}, {
readonly name: "claim_handler";
readonly type: "core::starknet::contract_address::ContractAddress";
readonly kind: "data";
}];
}, {
readonly type: "event";
readonly name: "escrow_manager::events::Refund";
readonly kind: "struct";
readonly members: readonly [{
readonly name: "offerer";
readonly type: "core::starknet::contract_address::ContractAddress";
readonly kind: "key";
}, {
readonly name: "claimer";
readonly type: "core::starknet::contract_address::ContractAddress";
readonly kind: "key";
}, {
readonly name: "claim_data";
readonly type: "core::felt252";
readonly kind: "key";
}, {
readonly name: "escrow_hash";
readonly type: "core::felt252";
readonly kind: "key";
}, {
readonly name: "witness_result";
readonly type: "core::array::Span::<core::felt252>";
readonly kind: "data";
}, {
readonly name: "refund_handler";
readonly type: "core::starknet::contract_address::ContractAddress";
readonly kind: "data";
}];
}, {
readonly type: "event";
readonly name: "escrow_manager::EscrowManager::Event";
readonly kind: "enum";
readonly variants: readonly [{
readonly name: "LPVaultEvent";
readonly type: "escrow_manager::components::lp_vault::lp_vault::Event";
readonly kind: "nested";
}, {
readonly name: "ReputationTrackerEvent";
readonly type: "escrow_manager::components::reputation::reputation::Event";
readonly kind: "nested";
}, {
readonly name: "EscrowStorageEvent";
readonly type: "escrow_manager::components::escrow_storage::escrow_storage::Event";
readonly kind: "nested";
}, {
readonly name: "Initialize";
readonly type: "escrow_manager::events::Initialize";
readonly kind: "nested";
}, {
readonly name: "Claim";
readonly type: "escrow_manager::events::Claim";
readonly kind: "nested";
}, {
readonly name: "Refund";
readonly type: "escrow_manager::events::Refund";
readonly kind: "nested";
}];
}];
export type EscrowManagerAbiType = typeof EscrowManagerAbi;