import { Address , BigNumber , Bytes32 , PublicIdentifier , TransactionResponse } from "./basic" ; import { enumify } from "./utils" ; import { MinimalTransaction } from "./commitments" ; export type RebalanceProfile = { assetId : Address ; collateralizeThreshold : BigNumber ; target : BigNumber ; reclaimThreshold : BigNumber ; } ; export interface VerifyNonceDtoType { sig : string ; userIdentifier : PublicIdentifier ; } export type ChannelAppSequences = { userSequenceNumber : number ; nodeSequenceNumber : number ; } ; export const PriceOracleTypes = enumify ( { UNISWAP : "UNISWAP" , HARDCODED : "HARDCODED" , ACCEPT_CLIENT_RATE : "ACCEPT_CLIENT_RATE" , } ) ; export type PriceOracleTypes = typeof PriceOracleTypes [ keyof typeof PriceOracleTypes ] ; export type AllowedSwap = { from : Address ; to : Address ; fromChainId : number ; toChainId : number ; priceOracleType : PriceOracleTypes ; } ; export type SwapRate = AllowedSwap & { rate : string ; blockNumber ? : number ; } ; export interface IOnchainTransactionService { sendTransaction ( transaction , chainId , multisigAddress ? ) : Promise < TransactionResponse > ; }