UNPKG

@safe-global/protocol-kit

Version:

SDK that facilitates the interaction with Safe Smart Accounts

79 lines 3.4 kB
import { SafeVersion } from '@safe-global/types-kit'; import { SafeProviderConfig } from './safeProvider'; import { ContractNetworksConfig } from './contracts'; export type SafeAccountConfig = { owners: string[]; threshold: number; to?: string; data?: string; fallbackHandler?: string; paymentToken?: string; payment?: number; paymentReceiver?: string; }; export type DeploymentType = 'canonical' | 'eip155' | 'zksync'; export type SafeDeploymentConfig = { saltNonce?: string; safeVersion?: SafeVersion; deploymentType?: DeploymentType; }; export type PredictedSafeProps = { safeAccountConfig: SafeAccountConfig; safeDeploymentConfig?: SafeDeploymentConfig; }; type SafeConfigWithSafeAddressProps = { /** safeAddress - The address of the Safe account to use */ safeAddress: string; /** predictedSafe - The configuration of the Safe that is not yet deployed */ predictedSafe?: never; }; type SafeConfigWithPredictedSafeProps = { /** safeAddress - The address of the Safe account to use */ safeAddress?: never; /** predictedSafe - The configuration of the Safe that is not yet deployed */ predictedSafe: PredictedSafeProps; }; export type OnchainAnalyticsProps = { /** project - The project that is using the SDK */ project?: string; /** platform - The platform that is using the SDK */ platform?: string; }; export type SafeConfigProps = { provider: SafeProviderConfig['provider']; signer?: SafeProviderConfig['signer']; /** isL1SafeSingleton - Forces to use the Safe L1 version of the contract instead of the L2 version */ isL1SafeSingleton?: boolean; /** contractNetworks - Contract network configuration */ contractNetworks?: ContractNetworksConfig; onchainAnalytics?: OnchainAnalyticsProps; }; export type SafeConfigWithSafeAddress = SafeConfigProps & SafeConfigWithSafeAddressProps; export type SafeConfigWithPredictedSafe = SafeConfigProps & SafeConfigWithPredictedSafeProps; export type SafeConfig = SafeConfigWithSafeAddress | SafeConfigWithPredictedSafe; type ConnectSafeConfigWithSafeAddressProps = { /** safeAddress - The address of the Safe account to use */ safeAddress?: string; /** predictedSafe - The configuration of the Safe that is not yet deployed */ predictedSafe?: never; }; type ConnectSafeConfigWithPredictedSafeProps = { /** safeAddress - The address of the Safe account to use */ safeAddress?: never; /** predictedSafe - The configuration of the Safe that is not yet deployed */ predictedSafe?: PredictedSafeProps; }; type ConnectSafeConfigProps = { provider?: SafeProviderConfig['provider']; signer?: SafeProviderConfig['signer']; /** isL1SafeSingleton - Forces to use the Safe L1 version of the contract instead of the L2 version */ isL1SafeSingleton?: boolean; /** contractNetworks - Contract network configuration */ contractNetworks?: ContractNetworksConfig; onchainAnalytics?: OnchainAnalyticsProps; }; export type ConnectSafeConfigWithSafeAddress = ConnectSafeConfigProps & ConnectSafeConfigWithSafeAddressProps; export type ConnectSafeConfigWithPredictedSafe = ConnectSafeConfigProps & ConnectSafeConfigWithPredictedSafeProps; export type ConnectSafeConfig = ConnectSafeConfigWithSafeAddress | ConnectSafeConfigWithPredictedSafe; export {}; //# sourceMappingURL=safeConfig.d.ts.map