import { ScamInfo, CollectionTrait, CollectionAuctionStats, CollectionRoles, TokenAssets } from "./"; export type AccountAssets = object; export interface AccountVerificationSource { abi: object; contract: object; } export interface AccountsQuery { from?: number; size?: number; ownerAddress?: string; sort?: "balance" | "timestamp"; order?: "asc" | "desc"; } export interface Account { address: string; balance: string; nonce: number; timestamp: number; shard: number; ownerAddress: string; assets: AccountAssets | null; } export interface AccountsCountQuery { ownerAddress?: string; } export interface AccountDetailsQuery { withGuardianInfo?: boolean; } export interface AccountDetailed { address: string; balance: string; nonce: number; timestamp: number; shard: number; ownerAddress: string; assets: AccountAssets | null; code: string; codeHash: string; rootHash: string; txCount: number; scrCount: number; username: object | null; developerReward: string; deployedAt: number; deployTxHash: string; isUpgradeable: boolean; isReadable: boolean; isVerified: boolean; isPayable: boolean; isPayableBySmartContract: boolean | null; scamInfo: ScamInfo | null; activeGuardianActivationEpoch: number; activeGuardianAddress: string; activeGuardianServiceUid: string; pendingGuardianActivationEpoch: number; pendingGuardianAddress: string; pendingGuardianServiceUid: string; isGuarded: boolean; } export interface AccountDeferred { deferredPayment: string; secondsLeft: number; } export interface AccountVerification { codeHash: string; source: AccountVerificationSource; status: "success" | "byteCodeChangedSinceLastVerification"; ipfsFileHash: string; } export interface AccountTokensQuery { from?: number; size?: number; type?: "FungibleESDT" | "MetaESDT"; search?: string; name?: string; identifier?: string; identifiers?: string | string[]; includeMetaESDT?: boolean; fields?: string; } export interface AccountTokensCountQuery { type?: "FungibleESDT" | "MetaESDT"; search?: string; name?: string; identifier?: string; identifiers?: string | string[]; includeMetaESDT?: boolean; } export interface AccountRoleCollectionsQuery { from?: number; size?: number; search?: string; type?: string[]; owner?: string; canCreate?: boolean; canBurn?: boolean; canAddQuantity?: boolean; canUpdateAttributes?: boolean; canAddUri?: boolean; canTransferRole?: boolean; excludeMetaESDT?: boolean; } export interface NftCollectionWithRoles { collection: string; type: "NonFungibleESDT" | "SemiFungibleESDT" | "MetaESDT"; name: string; ticker: string; owner: string | null; timestamp: number; canFreeze: boolean; canWipe: boolean; canPause: boolean; canTransferNftCreateRole: boolean; canChangeOwner: boolean; canUpgrade: boolean; canAddSpecialRoles: boolean; decimals: number | null; assets: TokenAssets | null; scamInfo: ScamInfo | null; traits: CollectionTrait[]; auctionStats: CollectionAuctionStats | null; isVerified: boolean | null; holderCount: number | null; nftCount: number | null; role: CollectionRoles; canTransfer: boolean; canCreate: boolean; canBurn: boolean; canAddQuantity: boolean; canUpdateAttributes: boolean; canAddUri: boolean; } export interface AccountRoleCollectionsCountQuery { search?: string; type?: string[]; owner?: string; canCreate?: boolean; canBurn?: boolean; canAddQuantity?: boolean; excludeMetaESDT?: boolean; } export interface AccountTokenRolesQuery { from?: number; size?: number; search?: string; owner?: string; canMint?: boolean; canBurn?: boolean; includeMetaESDT?: boolean; } export interface AccountTokenRolesCountQuery { search?: string; owner?: string; canMint?: boolean; canBurn?: boolean; includeMetaESDT?: boolean; } export interface AccountCollectionsQuery { from?: number; size?: number; search?: string; type?: string[]; excludeMetaESDT?: boolean; } export interface NftCollectionAccount { collection: string; type: "NonFungibleESDT" | "SemiFungibleESDT" | "MetaESDT"; name: string; ticker: string; owner: string | null; timestamp: number; canFreeze: boolean; canWipe: boolean; canPause: boolean; canTransferNftCreateRole: boolean; canChangeOwner: boolean; canUpgrade: boolean; canAddSpecialRoles: boolean; decimals: number | null; assets: TokenAssets | null; scamInfo: ScamInfo | null; traits: CollectionTrait[]; auctionStats: CollectionAuctionStats | null; isVerified: boolean | null; holderCount: number | null; nftCount: number | null; count: number; } export interface AccountCollectionsCountQuery { search?: string; type?: string[]; excludeMetaESDT?: boolean; } export interface AccountNftsQuery { from?: number; size?: number; search?: string; identifiers?: string | string[]; type?: string; collection?: string; collections?: string | string[]; name?: string; tags?: string[]; creator?: string; hasUris?: boolean; includeFlagged?: boolean; withSupply?: boolean; withScamInfo?: boolean; computeScamInfo?: boolean; source?: string; excludeMetaESDT?: boolean; fields?: string | string[]; } export interface NftMedia { url: string; originalUrl: string; thumbnailUrl: string; fileType: string; fileSize: number; } export interface NftMetadataError { code: "ipfs_error" | "not_found" | "timeout" | "unknown_error" | "invalid_content_type" | "json_parse_error" | "empty_metadata"; message: string; timestamp: number; } export interface NftMetadata { description: string; fileType: string; fileUri: string; fileName: string; error: NftMetadataError | null; } export interface NftRarity { rank: number; score: number; } export interface NftRarities { statistical: NftRarity; trait: NftRarity; jaccardDistances: NftRarity; openRarity: NftRarity; custom: NftRarity; } export interface UnlockMileStoneModel { remainingEpochs: number; percent: number; } export interface NftAccount { identifier: string; collection: string; timestamp: number | null; attributes: string; nonce: number; type: "NonFungibleESDT" | "SemiFungibleESDT" | "MetaESDT"; name: string; creator: string; royalties: number | null; uris: any[][]; url: string; media: NftMedia | null; isWhitelistedStorage: boolean; thumbnailUrl: string; tags: any[][]; metadata: NftMetadata | null; owner: string | null; balance: string | null; supply: string; decimals: number | null; assets: TokenAssets; ticker: string; scamInfo: ScamInfo | null; score: number | null; rank: number | null; rarities: NftRarities | null; isNsfw: boolean | null; unlockSchedule: UnlockMileStoneModel[] | null; unlockEpoch: number | null; price: number | null; valueUsd: number | null; } export interface AccountNftsCountQuery { identifiers?: string | string[]; search?: string; type?: string; collection?: string; collections?: string | string[]; name?: string; tags?: string[]; creator?: string; hasUris?: boolean; includeFlagged?: boolean; excludeMetaESDT?: boolean; } export interface AccountNftDetailsQuery { fields?: string | string[]; extract?: string; } export interface ProviderUnstakedTokens { amount: string; expires: number | null; epochs: number | null; } export interface ProviderStake { totalStaked: string; unstakedTokens: ProviderUnstakedTokens[] | null; } export interface AccountUndelegation { amount: string; seconds: number; } export interface AccountDelegation { address: string; contract: string; userUnBondable: string; userActiveStake: string; claimableRewards: string; userUndelegatedList: AccountUndelegation[]; } export interface AccountDelegationLegacy { claimableRewards: string; userActiveStake: string; userDeferredPaymentStake: string; userUnstakedStake: string; userWaitingStake: string; userWithdrawOnlyStake: string; } export interface AccountKey { blsKey: string; stake: string; topUp: string; status: string; rewardAddress: string; queueIndex: string | null; queueSize: string | null; } export interface AccountTransactionListQuery { from?: number; size?: number; sender?: string; receiver?: string[] | string; token?: string; senderShard?: number; receiverShard?: number; miniBlockHash?: string; hashes?: string | string[]; status?: "success" | "pending" | "invalid" | "fail"; function?: string; before?: number; after?: number; order?: "asc" | "desc"; fields?: string | string[]; withScResults?: boolean; withOperations?: boolean; withLogs?: boolean; withScamInfo?: boolean; withUsername?: boolean; withBlockInfo?: boolean; senderOrReceiver?: string; computeScamInfo?: boolean; } export interface AccountTransactionsCountQuery { sender?: string; receiver?: string[] | string; token?: string; senderShard?: number; receiverShard?: number; miniBlockHash?: string; hashes?: string | string[]; status?: "success" | "pending" | "invalid" | "fail"; function?: string; before?: number; after?: number; } export interface AccountTransfersQuery { from?: number; size?: number; sender?: string[]; receiver?: string[] | string; token?: string; senderShard?: number; receiverShard?: number; miniBlockHash?: string; hashes?: string | string[]; status?: "success" | "pending" | "invalid" | "fail"; function?: string; before?: number; after?: number; fields?: string | string[]; order?: "asc" | "desc"; withScamInfo?: boolean; withUsername?: boolean; withBlockInfo?: boolean; senderOrReceiver?: string; } export interface AccountTransfersCountQuery { sender?: string; receiver?: string[] | string; token?: string; senderShard?: number; receiverShard?: number; miniBlockHash?: string; hashes?: string | string[]; status?: "success" | "pending" | "invalid" | "fail"; function?: string; before?: number; after?: number; } export interface AccountContractsQuery { from?: number; size?: number; } export interface DeployedContract { address: string; deployTxHash: string; timestamp: number; assets: AccountAssets | null; } export interface AccountUpgradeDetailsQuery { from?: number; size?: number; } export interface ContractUpgrades { address: string | null; txHash: string | null; timestamp: number | null; } export interface AccountContractResultsQuery { from?: number; size?: number; } export interface AccountHistoryQuery { from?: number; size?: number; before?: number; after?: number; } export interface AccountHistory { address: string; balance: string; timestamp: number; isSender: boolean | null; } export interface AccountHistoryCountQuery { before?: number; after?: number; } export interface AccountTokenHistoryCountQuery { before?: number; after?: number; } export interface AccountTokenHistoryQuery { from?: number; size?: number; before?: number; after?: number; } export interface AccountEsdtHistory { address: string; balance: string; timestamp: number; isSender: boolean | null; token: string; identifier: string; }