import { BigNumber } from '@ethersproject/bignumber'; export interface CreateWalletAuthorizationRequest { wallet_address?: string; redirect_url?: string; arbitrary_data?: Map; screen_config?: ScreenConfig; message_to_sign?: string; store_indefinitely?: boolean; } export interface WalletAuthorizationRequests { requests: WalletAuthorizationRequest[]; } export interface WalletAuthorizationRequest { id: string; project_id: string; status: RequestStatus; redirect_url: string; wallet_address?: string; arbitrary_data?: Map; screen_config?: ScreenConfig; message_to_sign: string; signed_message?: string; created_at: Date; } export interface CreateFunctionCallRequestWithContractId { deployed_contract_id: string; function_name: string; function_params: EncodedFunctionParameter[]; eth_amount: string; arbitrary_data?: Map; screen_config?: ScreenConfig; caller_address?: string; redirect_url?: string; } export interface CreateFunctionCallRequestWithContractAlias { deployed_contract_alias: string; function_name: string; function_params: EncodedFunctionParameter[]; eth_amount: string; arbitrary_data?: Map; screen_config?: ScreenConfig; caller_address?: string; redirect_url?: string; } export interface CreateFunctionCallRequestWithContractAddress { contract_address: string; function_name: string; function_params: EncodedFunctionParameter[]; eth_amount: string; arbitrary_data?: Map; screen_config?: ScreenConfig; caller_address?: string; redirect_url?: string; } export interface CreateContractArbitraryCallRequestWithContractId { deployed_contract_id: string; function_data: string; eth_amount: string; arbitrary_data?: Map; screen_config?: ScreenConfig; caller_address?: string; redirect_url?: string; } export interface CreateContractArbitraryCallRequestWithContractAlias { deployed_contract_alias: string; function_data: string; eth_amount: string; arbitrary_data?: Map; screen_config?: ScreenConfig; caller_address?: string; redirect_url?: string; } export interface CreateContractArbitraryCallRequestWithContractAddress { contract_address: string; function_data: string; eth_amount: string; arbitrary_data?: Map; screen_config?: ScreenConfig; caller_address?: string; redirect_url?: string; } export interface EstimateContractArbitraryCallRequestGasCostWithContractId { deployed_contract_id: string; function_data: string; eth_amount: string; caller_address?: string; } export interface EstimateContractArbitraryCallRequestGasCostWithContractAlias { deployed_contract_alias: string; function_data: string; eth_amount: string; caller_address?: string; } export interface EstimateContractArbitraryCallRequestGasCostWithContractAddress { contract_address: string; function_data: string; eth_amount: string; caller_address?: string; } export interface EstimateGasCostResponse { chain_id: number; gas_estimate: string; } export interface GasPriceResponse { chain_id: number; gas_price: string; } export interface ContractArbitraryCallRequest { id: string; status: RequestStatus; deployed_contract_id?: string; contract_address: string; function_name?: string; function_params?: EncodedFunctionParameter[]; function_call_data: string; eth_amount: string; chain_id: number; redirect_url: string; project_id: string; created_at: Date; arbitrary_data?: Map; screen_config?: ScreenConfig; caller_address?: string; arbitrary_call_tx: TxData; } export interface ContractArbitraryCallRequests { requests: ContractArbitraryCallRequest[]; } export interface EncodedFunctionParameter { type: string; value: string | string[] | boolean | EncodedFunctionParameter[]; } export type EncodedFunctionParameterValue = boolean | BigNumber | string | EncodedFunctionParameter[] | EncodedFunctionParameterValue[]; export type EncodedFunctionOutput = string | { type: string; elems: EncodedFunctionOutput[]; }; export interface ScreenConfig { before_action_message?: string; after_action_message?: string; } export interface TxData { tx_hash?: string; from?: string; to: string; data?: string; value: string; block_confirmations?: number; timestamp?: Date; raw_rpc_transaction_receipt: string; } export declare enum RequestStatus { SUCCESS = "SUCCESS", PENDING = "PENDING", FAILURE = "FAILURE" } export interface CreateContractDeploymentRequest { alias: string; contract_id: string; constructor_params: EncodedFunctionParameter[]; deployer_address?: string; redirect_url?: string; initial_eth_amount: string; arbitrary_data?: Map; screen_config?: ScreenConfig; } export interface ContractDeploymentRequest { id: string; alias: string; status: RequestStatus; contract_id: string; contract_deployment_data: string; constructor_params: EncodedFunctionParameter[]; contract_tags: string[]; contract_implements: string[]; initial_eth_amount: string; chain_id: number; redirect_url: string; project_id: string; created_at: Date; arbitrary_data?: Map; screen_config: ScreenConfig; contract_address?: string; deployer_address?: string; description?: string; deploy_tx: TxData; imported: boolean; } export interface ContractDeploymentRequests { requests: ContractDeploymentRequest[]; } export interface FunctionCallRequest { id: string; status: RequestStatus; deployed_contract_id?: string; contract_address: string; function_name: string; function_params: EncodedFunctionParameter[]; function_call_data: string; eth_amount: string; chain_id: number; redirect_url: string; project_id: string; created_at: Date; arbitrary_data?: Map; screen_config?: ScreenConfig; caller_address?: string; function_call_tx: TxData; } export interface FunctionCallRequests { requests: FunctionCallRequest[]; } export interface ReadFromContractByAddressRequest { contract_address: string; block_number?: string; function_name: string; function_params: EncodedFunctionParameter[]; output_params: EncodedFunctionOutput[]; caller_address: string; } export interface ReadFromContractByIdRequest { deployed_contract_id: string; block_number?: string; function_name: string; function_params: EncodedFunctionParameter[]; output_params: EncodedFunctionOutput[]; caller_address: string; } export interface ReadFromContractByAliasRequest { deployed_contract_alias: string; block_number?: string; function_name: string; function_params: EncodedFunctionParameter[]; output_params: EncodedFunctionOutput[]; caller_address: string; } export interface RawDataReadFromContractByAddressRequest { contract_address: string; block_number?: string; function_call_data: string; output_params: EncodedFunctionOutput[]; caller_address: string; } export interface RawDataReadFromContractByIdRequest { deployed_contract_id: string; block_number?: string; function_call_data: string; output_params: EncodedFunctionOutput[]; caller_address: string; } export interface RawDataReadFromContractByAliasRequest { deployed_contract_alias: string; block_number?: string; function_call_data: string; output_params: EncodedFunctionOutput[]; caller_address: string; } export interface ReadFromContractResult { deployed_contract_id?: string; contract_address: string; block_number: string; timestamp: Date; return_values: string[]; raw_return_value: string; } export interface AttachTxHashRequest { action_id: string; tx_hash: string; caller_address: string; } export interface DeployableContractsRequest { tags: string[]; implements: string[]; } export interface FunctionParameter { name: string; description: string; solidity_name: string; solidity_type: string; recommended_types: string[]; parameters?: FunctionParameter[]; } export interface ContractConstructor { inputs: FunctionParameter[]; description: string; payable: boolean; } export interface ContractFunction { name: string; description: string; solidity_name: string; inputs: FunctionParameter[]; outputs: FunctionParameter[]; emittable_events: string[]; read_only: boolean; } export interface ContractEvent { name: string; description: string; solidity_name: string; inputs: FunctionParameter[]; } export interface DeployableContract { id: string; name?: string; description?: string; binary: string; tags: string[]; implements: string[]; constructors: ContractConstructor[]; functions: ContractFunction[]; events: ContractEvent[]; } export interface DeployableContractsResult { deployable_contracts: DeployableContract[]; } export interface GetPayloadRequest { address?: string; } export interface GetPayload { payload: string; } export interface GetJwtRequest { address: string; signed_payload: string; chain_id?: number; } export interface GetJwtByMessageRequest { address: string; message_to_sign: string; signed_payload: string; } export interface JwtToken { access_token: string; expires_in: string; refresh_token: string; refresh_token_expires_in: string; } export interface CreateAddressBookEntryRequest { alias: string; address: string; phone_number?: string; email?: string; } export interface UpdateAddressBookEntryRequest { id: string; alias: string; address: string; phone_number?: string; email?: string; } export interface DeleteAddressBookEntryRequest { id: string; } export interface FetchAddressBookEntryByAliasRequest { alias: string; } export interface AddressBookEntry { id: string; alias: string; address: string; phone_number?: string; email?: string; created_at: Date; } export interface AddressBookEntries { entries: AddressBookEntry[]; } export declare enum AssetType { NATIVE = "NATIVE", TOKEN = "TOKEN" } export interface CreateAssetSendRequest { asset_type: AssetType; recipient_address: string; amount: string; token_address?: string; redirect_url?: string; sender_address?: string; arbitrary_data?: Map; screen_config?: ScreenConfig; } export interface AssetSendRequest { id: string; project_id: string; status: RequestStatus; chain_id: number; token_address?: string; asset_type: AssetType; amount: string; sender_address?: string; recipient_address: string; arbitrary_data?: Map; screen_config?: ScreenConfig; redirect_url: string; send_tx: TxData; created_at: string; } export interface AssetSendRequests { requests: AssetSendRequest[]; } export interface ProjectInfoRequest { id: string; owner_id: string; issuer_contract_address: string; base_redirect_url: string; chain_id: number; custom_rpc_url?: string; created_at: Date; } export interface VRFCoordinatorConfig { minimumRequestConfirmations: number; maxGasLimit: number; stalenessSeconds: number; gasAfterPaymentCalculation: number; } export interface VRFSubscriptionInfo { id: string; balance: string; requestCount: string; owner: string; consumers: string[]; } export interface FunctionsOracleRegistryConfig { maxGasLimit: number; stalenessSeconds: number; gasAfterPaymentCalculation: number; fallbackWeiPerUnitLink: number; gasOverhead: number; linkAddress: string; linkPriceFeed: string; } export interface FunctionsOracleRegistryRequestConfig { maxGasLimit: number; authorizedSenders: string[]; } export interface FunctionSubscriptionInfo { id: string; balance: string; owner: string; authorizedConsumers: string[]; } export interface KeeperRegistrarConfig { autoApproveConfigType: number; autoApproveMaxAllowed: number; approvedCount: number; keeperRegistry: string; minLINKJuels: number; } export interface UpkeepInfo { balance: string; targetContract: string; admin: string; checkData: string; offchainConfig: string; executeGas: string; maxValidBlockNumber: string; lastPerformBlockNumber: string; amountSpent: string; paused: boolean; }