UNPKG

@atomiqlabs/chain-starknet

Version:

Starknet specific base implementation

489 lines (488 loc) 17.4 kB
export declare const SpvVaultContractAbi: readonly [{ readonly type: "impl"; readonly name: "SpvVaultManagerImpl"; readonly interface_name: "spv_swap_vault::ISpvVaultManager"; }, { 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: "spv_swap_vault::structs::BitcoinVaultTransactionData"; readonly members: readonly [{ readonly name: "recipient"; readonly type: "core::starknet::contract_address::ContractAddress"; }, { readonly name: "amount"; readonly type: "(core::integer::u64, core::integer::u64)"; }, { readonly name: "caller_fee"; readonly type: "(core::integer::u64, core::integer::u64)"; }, { readonly name: "fronting_fee"; readonly type: "(core::integer::u64, core::integer::u64)"; }, { readonly name: "execution_handler_fee_amount_0"; readonly type: "core::integer::u64"; }, { readonly name: "execution_hash"; readonly type: "core::felt252"; }, { readonly name: "execution_expiry"; readonly type: "core::integer::u32"; }]; }, { readonly type: "struct"; readonly name: "core::byte_array::ByteArray"; readonly members: readonly [{ readonly name: "data"; readonly type: "core::array::Array::<core::bytes_31::bytes31>"; }, { readonly name: "pending_word"; readonly type: "core::felt252"; }, { readonly name: "pending_word_len"; readonly type: "core::integer::u32"; }]; }, { readonly type: "struct"; readonly name: "btc_relay::structs::blockheader::BlockHeader"; readonly members: readonly [{ readonly name: "reversed_version"; readonly type: "core::integer::u32"; }, { readonly name: "previous_blockhash"; readonly type: "[core::integer::u32; 8]"; }, { readonly name: "merkle_root"; readonly type: "[core::integer::u32; 8]"; }, { readonly name: "reversed_timestamp"; readonly type: "core::integer::u32"; }, { readonly name: "nbits"; readonly type: "core::integer::u32"; }, { readonly name: "nonce"; readonly type: "core::integer::u32"; }]; }, { readonly type: "struct"; readonly name: "btc_relay::structs::stored_blockheader::StoredBlockHeader"; readonly members: readonly [{ readonly name: "blockheader"; readonly type: "btc_relay::structs::blockheader::BlockHeader"; }, { readonly name: "block_hash"; readonly type: "[core::integer::u32; 8]"; }, { readonly name: "chain_work"; readonly type: "core::integer::u256"; }, { readonly name: "block_height"; readonly type: "core::integer::u32"; }, { readonly name: "last_diff_adjustment"; readonly type: "core::integer::u32"; }, { readonly name: "prev_block_timestamps"; readonly type: "[core::integer::u32; 10]"; }]; }, { readonly type: "struct"; readonly name: "core::array::Span::<[core::integer::u32; 8]>"; readonly members: readonly [{ readonly name: "snapshot"; readonly type: "@core::array::Array::<[core::integer::u32; 8]>"; }]; }, { readonly type: "interface"; readonly name: "spv_swap_vault::ISpvVaultManager"; readonly items: readonly [{ readonly type: "function"; readonly name: "open"; readonly inputs: readonly [{ readonly name: "vault_id"; readonly type: "core::felt252"; }, { readonly name: "relay_contract"; readonly type: "core::starknet::contract_address::ContractAddress"; }, { readonly name: "utxo"; readonly type: "(core::integer::u256, core::integer::u32)"; }, { readonly name: "confirmations"; readonly type: "core::integer::u8"; }, { readonly name: "token_0"; readonly type: "core::starknet::contract_address::ContractAddress"; }, { readonly name: "token_1"; readonly type: "core::starknet::contract_address::ContractAddress"; }, { readonly name: "token_0_multiplier"; readonly type: "core::felt252"; }, { readonly name: "token_1_multiplier"; readonly type: "core::felt252"; }]; readonly outputs: readonly []; readonly state_mutability: "external"; }, { readonly type: "function"; readonly name: "deposit"; readonly inputs: readonly [{ readonly name: "owner"; readonly type: "core::starknet::contract_address::ContractAddress"; }, { readonly name: "vault_id"; readonly type: "core::felt252"; }, { readonly name: "raw_token_0_amount"; readonly type: "core::integer::u64"; }, { readonly name: "raw_token_1_amount"; readonly type: "core::integer::u64"; }]; readonly outputs: readonly []; readonly state_mutability: "external"; }, { readonly type: "function"; readonly name: "front"; readonly inputs: readonly [{ readonly name: "owner"; readonly type: "core::starknet::contract_address::ContractAddress"; }, { readonly name: "vault_id"; readonly type: "core::felt252"; }, { readonly name: "withdraw_sequence"; readonly type: "core::integer::u32"; }, { readonly name: "btc_tx_hash"; readonly type: "core::integer::u256"; }, { readonly name: "data"; readonly type: "spv_swap_vault::structs::BitcoinVaultTransactionData"; }]; readonly outputs: readonly []; readonly state_mutability: "external"; }, { readonly type: "function"; readonly name: "claim"; readonly inputs: readonly [{ readonly name: "owner"; readonly type: "core::starknet::contract_address::ContractAddress"; }, { readonly name: "vault_id"; readonly type: "core::felt252"; }, { readonly name: "transaction"; readonly type: "core::byte_array::ByteArray"; }, { readonly name: "blockheader"; readonly type: "btc_relay::structs::stored_blockheader::StoredBlockHeader"; }, { readonly name: "merkle_proof"; readonly type: "core::array::Span::<[core::integer::u32; 8]>"; }, { readonly name: "position"; readonly type: "core::integer::u32"; }]; readonly outputs: readonly []; readonly state_mutability: "external"; }]; }, { readonly type: "impl"; readonly name: "SpvVaultManagerReadOnlyImpl"; readonly interface_name: "spv_swap_vault::ISpvVaultManagerReadOnly"; }, { readonly type: "struct"; readonly name: "spv_swap_vault::state::SpvVaultState"; readonly members: readonly [{ readonly name: "relay_contract"; readonly type: "core::starknet::contract_address::ContractAddress"; }, { readonly name: "token_0"; readonly type: "core::starknet::contract_address::ContractAddress"; }, { readonly name: "token_1"; readonly type: "core::starknet::contract_address::ContractAddress"; }, { readonly name: "token_0_multiplier"; readonly type: "core::felt252"; }, { readonly name: "token_1_multiplier"; readonly type: "core::felt252"; }, { readonly name: "utxo"; readonly type: "(core::integer::u256, core::integer::u32)"; }, { readonly name: "confirmations"; readonly type: "core::integer::u8"; }, { readonly name: "withdraw_count"; readonly type: "core::integer::u32"; }, { readonly name: "deposit_count"; readonly type: "core::integer::u32"; }, { readonly name: "token_0_amount"; readonly type: "core::integer::u64"; }, { readonly name: "token_1_amount"; readonly type: "core::integer::u64"; }]; }, { readonly type: "enum"; readonly name: "core::option::Option::<spv_swap_vault::structs::BitcoinVaultTransactionData>"; readonly variants: readonly [{ readonly name: "Some"; readonly type: "spv_swap_vault::structs::BitcoinVaultTransactionData"; }, { readonly name: "None"; readonly type: "()"; }]; }, { readonly type: "interface"; readonly name: "spv_swap_vault::ISpvVaultManagerReadOnly"; readonly items: readonly [{ readonly type: "function"; readonly name: "get_vault"; readonly inputs: readonly [{ readonly name: "owner"; readonly type: "core::starknet::contract_address::ContractAddress"; }, { readonly name: "vault_id"; readonly type: "core::felt252"; }]; readonly outputs: readonly [{ readonly type: "spv_swap_vault::state::SpvVaultState"; }]; readonly state_mutability: "view"; }, { readonly type: "function"; readonly name: "get_fronter_address"; readonly inputs: readonly [{ readonly name: "owner"; readonly type: "core::starknet::contract_address::ContractAddress"; }, { readonly name: "vault_id"; readonly type: "core::felt252"; }, { readonly name: "btc_tx_hash"; readonly type: "core::integer::u256"; }, { readonly name: "data"; readonly type: "spv_swap_vault::structs::BitcoinVaultTransactionData"; }]; readonly outputs: readonly [{ readonly type: "core::starknet::contract_address::ContractAddress"; }]; readonly state_mutability: "view"; }, { readonly type: "function"; readonly name: "get_fronter_address_by_id"; readonly inputs: readonly [{ readonly name: "owner"; readonly type: "core::starknet::contract_address::ContractAddress"; }, { readonly name: "vault_id"; readonly type: "core::felt252"; }, { readonly name: "fronting_id"; readonly type: "core::felt252"; }]; readonly outputs: readonly [{ readonly type: "core::starknet::contract_address::ContractAddress"; }]; readonly state_mutability: "view"; }, { readonly type: "function"; readonly name: "parse_bitcoin_tx"; readonly inputs: readonly [{ readonly name: "transaction"; readonly type: "core::byte_array::ByteArray"; }]; readonly outputs: readonly [{ readonly type: "core::option::Option::<spv_swap_vault::structs::BitcoinVaultTransactionData>"; }]; readonly state_mutability: "view"; }]; }, { readonly type: "constructor"; readonly name: "constructor"; readonly inputs: readonly [{ readonly name: "execution_contract"; readonly type: "core::starknet::contract_address::ContractAddress"; }]; }, { readonly type: "event"; readonly name: "spv_swap_vault::events::Opened"; readonly kind: "struct"; readonly members: readonly [{ readonly name: "btc_tx_hash"; readonly type: "core::integer::u256"; readonly kind: "key"; }, { readonly name: "owner"; readonly type: "core::starknet::contract_address::ContractAddress"; readonly kind: "key"; }, { readonly name: "vault_id"; readonly type: "core::felt252"; readonly kind: "key"; }, { readonly name: "vout"; readonly type: "core::integer::u32"; readonly kind: "key"; }]; }, { readonly type: "event"; readonly name: "spv_swap_vault::events::Deposited"; readonly kind: "struct"; readonly members: readonly [{ readonly name: "owner"; readonly type: "core::starknet::contract_address::ContractAddress"; readonly kind: "key"; }, { readonly name: "vault_id"; readonly type: "core::felt252"; readonly kind: "key"; }, { readonly name: "amounts"; readonly type: "(core::integer::u64, core::integer::u64)"; readonly kind: "data"; }, { readonly name: "deposit_count"; readonly type: "core::integer::u32"; readonly kind: "data"; }]; }, { readonly type: "event"; readonly name: "spv_swap_vault::events::Claimed"; readonly kind: "struct"; readonly members: readonly [{ readonly name: "btc_tx_hash"; readonly type: "core::integer::u256"; readonly kind: "key"; }, { readonly name: "owner"; readonly type: "core::starknet::contract_address::ContractAddress"; readonly kind: "key"; }, { readonly name: "vault_id"; readonly type: "core::felt252"; readonly kind: "key"; }, { readonly name: "recipient"; readonly type: "core::starknet::contract_address::ContractAddress"; readonly kind: "key"; }, { readonly name: "execution_hash"; readonly type: "core::felt252"; readonly kind: "key"; }, { readonly name: "caller"; readonly type: "core::starknet::contract_address::ContractAddress"; readonly kind: "key"; }, { readonly name: "amounts"; readonly type: "(core::integer::u64, core::integer::u64)"; readonly kind: "data"; }, { readonly name: "withdraw_count"; readonly type: "core::integer::u32"; readonly kind: "data"; }, { readonly name: "fronting_address"; readonly type: "core::starknet::contract_address::ContractAddress"; readonly kind: "data"; }]; }, { readonly type: "event"; readonly name: "spv_swap_vault::events::Fronted"; readonly kind: "struct"; readonly members: readonly [{ readonly name: "btc_tx_hash"; readonly type: "core::integer::u256"; readonly kind: "key"; }, { readonly name: "owner"; readonly type: "core::starknet::contract_address::ContractAddress"; readonly kind: "key"; }, { readonly name: "vault_id"; readonly type: "core::felt252"; readonly kind: "key"; }, { readonly name: "recipient"; readonly type: "core::starknet::contract_address::ContractAddress"; readonly kind: "key"; }, { readonly name: "execution_hash"; readonly type: "core::felt252"; readonly kind: "key"; }, { readonly name: "caller"; readonly type: "core::starknet::contract_address::ContractAddress"; readonly kind: "key"; }, { readonly name: "amounts"; readonly type: "(core::integer::u64, core::integer::u64)"; readonly kind: "data"; }]; }, { readonly type: "event"; readonly name: "spv_swap_vault::events::Closed"; readonly kind: "struct"; readonly members: readonly [{ readonly name: "btc_tx_hash"; readonly type: "core::integer::u256"; readonly kind: "key"; }, { readonly name: "owner"; readonly type: "core::starknet::contract_address::ContractAddress"; readonly kind: "key"; }, { readonly name: "vault_id"; readonly type: "core::felt252"; readonly kind: "key"; }, { readonly name: "error"; readonly type: "core::felt252"; readonly kind: "data"; }]; }, { readonly type: "event"; readonly name: "spv_swap_vault::SpvVaultManager::Event"; readonly kind: "enum"; readonly variants: readonly [{ readonly name: "Opened"; readonly type: "spv_swap_vault::events::Opened"; readonly kind: "nested"; }, { readonly name: "Deposited"; readonly type: "spv_swap_vault::events::Deposited"; readonly kind: "nested"; }, { readonly name: "Claimed"; readonly type: "spv_swap_vault::events::Claimed"; readonly kind: "nested"; }, { readonly name: "Fronted"; readonly type: "spv_swap_vault::events::Fronted"; readonly kind: "nested"; }, { readonly name: "Closed"; readonly type: "spv_swap_vault::events::Closed"; readonly kind: "nested"; }]; }]; export type SpvVaultContractAbiType = typeof SpvVaultContractAbi;