import { Log, type Account, type Chain, type LocalAccount, type PublicClient, type TransactionReceipt, type WalletClient } from 'viem'; import type { Centrifuge } from '../Centrifuge.js'; import { PoolId } from '../utils/types.js'; import type { HexString } from './index.js'; import type { Query } from './query.js'; export type SafeMultisigTransactionResponse = { readonly safe: string; readonly to: string; readonly value: string; readonly data?: string; readonly operation: number; readonly gasToken: string; readonly safeTxGas: string; readonly baseGas: string; readonly gasPrice: string; readonly refundReceiver?: string; readonly nonce: string; readonly executionDate: string | null; readonly submissionDate: string; readonly modified: string; readonly blockNumber: number | null; readonly transactionHash: string | null; readonly safeTxHash: string; readonly executor: string | null; readonly proposer: string | null; readonly proposedByDelegate: string | null; readonly isExecuted: boolean; readonly isSuccessful: boolean | null; readonly ethGasPrice: string | null; readonly maxFeePerGas: string | null; readonly maxPriorityFeePerGas: string | null; readonly gasUsed: number | null; readonly fee: string | null; readonly origin: string; readonly dataDecoded?: any; readonly confirmationsRequired: number; readonly confirmations?: { readonly owner: string; readonly submissionDate: string; readonly transactionHash?: string; readonly confirmationType?: string; readonly signature: string; readonly signatureType: 'CONTRACT_SIGNATURE' | 'EOA' | 'APPROVED_HASH' | 'ETH_SIGN'; }[]; readonly trusted: boolean; readonly signatures: string | null; }; export type OperationStatusType = 'SwitchingChain' | 'SigningTransaction' | 'SigningMessage' | 'SignedMessage' | 'TransactionPending' | 'TransactionConfirmed'; export type OperationSigningStatus = { id: string; type: 'SigningTransaction'; title: string; }; export type OperationSigningMessageStatus = { id: string; type: 'SigningMessage'; title: string; }; export type OperationSignedMessageStatus = { id: string; type: 'SignedMessage'; title: string; signed: any; }; export type OperationPendingStatus = { id: string; type: 'TransactionPending'; title: string; hash: HexString; }; export type OperationConfirmedStatus = { id: string; type: 'TransactionConfirmed'; title: string; hash: HexString; receipt: TransactionReceipt; }; export type OperationSwitchChainStatus = { type: 'SwitchingChain'; chainId: number; }; type SimulationResult = { data: HexString; gasUsed: bigint; status: string; logs?: Log[]; }; export type SimulationStatus = { type: 'TransactionSimulation'; title: string; result: SimulationResult[]; }; export type DeployedOnOfframpManagerStatus = { type: 'DeployedOnOfframpManager'; address: HexString; }; export type OperationStatus = OperationSigningStatus | OperationSigningMessageStatus | OperationSignedMessageStatus | OperationPendingStatus | OperationConfirmedStatus | OperationSwitchChainStatus | SimulationStatus | DeployedOnOfframpManagerStatus; export type EIP1193ProviderLike = { request(...args: any): Promise; }; export type Signer = EIP1193ProviderLike | LocalAccount; export type Transaction = Query & { centrifugeId: number; }; export type TransactionContext = { isBatching?: boolean; signingAddress: HexString; chain: Chain; centrifugeId: number; publicClient: PublicClient; walletClient: WalletClient; signer: Signer; root: Centrifuge; }; export declare enum MessageType { _Invalid = 0, ScheduleUpgrade = 1, CancelUpgrade = 2, RecoverTokens = 3, RegisterAsset = 4, SetPoolAdapters = 5, NotifyPool = 6, NotifyShareClass = 7, NotifyPricePoolPerShare = 8, NotifyPricePoolPerAsset = 9, NotifyShareMetadata = 10, UpdateShareHook = 11, InitiateTransferShares = 12, ExecuteTransferShares = 13, UpdateRestriction = 14, UpdateVault = 15, UpdateBalanceSheetManager = 16, UpdateGatewayManager = 17, UpdateHoldingAmount = 18, UpdateShares = 19, SetMaxAssetPriceAge = 20, SetMaxSharePriceAge = 21, Request = 22, RequestCallback = 23, SetRequestManager = 24, TrustedContractUpdate = 25, UntrustedContractUpdate = 26 } export declare enum VaultUpdateKind { DeployAndLink = 0, Link = 1, Unlink = 2 } export type MessageTypeWithSubType = MessageType._Invalid | MessageType.ScheduleUpgrade | MessageType.CancelUpgrade | MessageType.RecoverTokens | MessageType.RegisterAsset | MessageType.SetPoolAdapters | { type: MessageType.NotifyPool | MessageType.NotifyShareClass | MessageType.NotifyPricePoolPerShare | MessageType.NotifyPricePoolPerAsset | MessageType.NotifyShareMetadata | MessageType.UpdateShareHook | MessageType.InitiateTransferShares | MessageType.ExecuteTransferShares | MessageType.UpdateRestriction | MessageType.UpdateBalanceSheetManager | MessageType.UpdateGatewayManager | MessageType.UpdateHoldingAmount | MessageType.UpdateShares | MessageType.SetMaxAssetPriceAge | MessageType.SetMaxSharePriceAge | MessageType.Request | MessageType.RequestCallback | MessageType.SetRequestManager | MessageType.TrustedContractUpdate | MessageType.UntrustedContractUpdate; poolId: PoolId; } | { type: MessageType.UpdateVault; subtype: VaultUpdateKind; poolId: PoolId; }; export declare function emptyMessage(type: MessageTypeWithSubType): HexString; export {}; //# sourceMappingURL=transaction.d.ts.map