import {z} from 'zod' export type Address = string; export type AccountAuthorizedDepositorBadgeType = 'ResourceBadge' | 'NonFungibleBadge'; export type TransactionAccountDepositPreValidationAuthorizedDepositorBadge = {badge_type: AccountAuthorizedDepositorBadgeType}; export type AccountDepositPreValidationRequest = {account_address: Address, resource_addresses: Array
, badge?: TransactionAccountDepositPreValidationAuthorizedDepositorBadge | undefined}; export type CreateApiTransactionAccountDepositPreValidationArgs = {body: AccountDepositPreValidationRequest}; export type CreateApiTransactionAccountDepositPreValidationOptions = {baseUrl?: string | undefined, fetch?: typeof fetch | undefined}; export const networkName = z.string(); export const ledgerState = z.object({network: networkName, state_version: z.number().int(), proposer_round_timestamp: z.string(), epoch: z.number().int(), round: z.number().int()}); export const address = z.string(); export const accountDepositPreValidationResourceSpecificBehaviourItem = z.object({resource_address: address, allows_try_deposit: z.boolean()}); export const accountDefaultDepositRule = z.enum(["Accept", "Reject", "AllowExisting"]); export const accountResourcePreferenceRule = z.enum(["Allowed", "Disallowed"]); export const accountDepositPreValidationDecidingFactorsResourceSpecificDetailsItem = z.object({resource_address: address, vault_exists: z.boolean(), is_xrd: z.boolean(), resource_preference_rule: accountResourcePreferenceRule.optional()}); export const accountDepositPreValidationDecidingFactors = z.object({is_badge_authorized_depositor: z.boolean().nullable().optional(), default_deposit_rule: accountDefaultDepositRule, resource_specific_details: z.array(accountDepositPreValidationDecidingFactorsResourceSpecificDetailsItem).optional()}); export const accountDepositPreValidationResponse = z.object({ledger_state: ledgerState, allows_try_deposit_batch: z.boolean(), resource_specific_behaviour: z.array(accountDepositPreValidationResourceSpecificBehaviourItem).optional(), deciding_factors: accountDepositPreValidationDecidingFactors}); export const validateResponse = async