UNPKG

@basementdev/sdk

Version:
467 lines (466 loc) 14.7 kB
import { DocumentNode } from "graphql"; import { AddressQuery, NonFungibleTokenRefreshMutationVariables, TokenQuery, TokensQuery, TransactionQuery } from "./sdk"; import { AddressQueryOptions, Erc20BalancesQueryOptions, Erc20TransfersQueryOptions, Erc721TransfersQueryOptions, TokenQueryOptions, TokensQueryOptions, TransactionLogsQueryOptions, TransactionQueryOptions, TransactionsQueryOptions } from "./types"; export declare const DEFAULT_ENDPOINT = "https://beta.basement.dev/v2/graphql"; declare type SDKOptions = { endpoint?: string; apiKey?: string; }; export declare class BasementSDK { private apiKey?; private client; private opts; private sdk; constructor(opts?: SDKOptions); private withWrapper; /** * Queries information about a specific token */ token({ contract, tokenId, include, }: TokenQueryOptions): Promise<TokenQuery["token"]>; /** * Query tokens that satisfy the given filter(s) */ tokens(params?: TokensQueryOptions): Promise<TokensQuery["tokens"]>; /** * Queries information about an address */ address({ address, include, }: AddressQueryOptions): Promise<AddressQuery["address"]>; /** * Queries information about a transaction */ transaction({ hash, include, }: TransactionQueryOptions): Promise<TransactionQuery["transaction"]>; /** * Query transactions that satisfy the given filter(s) */ transactions(params?: TransactionsQueryOptions): Promise<{ totalCount?: number; cursors: { before: string; after: string; }; transactions: { blockNumber: number; blockTimestamp: any; effectiveGasPrice: any; gas: number; gasPaid: any; gasUsed: number; gasPrice: any; hash: string; id: string; index: number; input: string; value: any; methodId: string; status: boolean; events?: ({ transactionHash: string; } | { transactionHash: string; } | { transactionHash: string; })[]; from?: { address: any; reverseProfile: { name: string; avatar: string; }; }; to?: { address: any; reverseProfile: { name: string; avatar: string; }; }; logs?: { data: string; logIndex: number; removed: boolean; topics: string[]; }[]; }[]; }>; /** * Query transaction logs that satisfy the given filter(s) */ transactionLogs(params?: TransactionLogsQueryOptions): Promise<{ totalCount?: number; cursors: { before: string; after: string; }; transactionLogs: { blockHash?: string; data: string; logIndex: number; removed: boolean; topics: string[]; transactionHash: string; blockNumber: number; address: { address: any; reverseProfile?: { name: string; avatar: string; }; }; transaction?: { blockNumber: number; blockTimestamp: any; effectiveGasPrice: any; gas: number; gasPaid: any; gasUsed: number; gasPrice: any; hash: string; id: string; index: number; input: string; value: any; methodId: string; status: boolean; events?: ({ transactionHash: string; } | { transactionHash: string; } | { transactionHash: string; })[]; from?: { address: any; reverseProfile: { name: string; avatar: string; }; }; to?: { address: any; reverseProfile: { name: string; avatar: string; }; }; logs?: { data: string; logIndex: number; removed: boolean; topics: string[]; }[]; }; }[]; }>; /** * Refreshes metadata of a specific NFT */ nonFungibleTokenRefresh({ contract, tokenId, }: NonFungibleTokenRefreshMutationVariables): Promise<string>; /** * Query ERC721 transfers that satisfy the given filter(s) */ erc721Transfers(params?: Erc721TransfersQueryOptions): Promise<{ totalCount?: number; cursors: { before: string; after: string; }; erc721Transfers: { blockNumber: number; blockHash?: string; isAirdrop: boolean; logIndex: number; contract?: { address: any; reverseProfile?: { name: string; avatar: string; }; }; sale?: { eventIndex: number; logIndex: number; marketplace: import("./sdk").Marketplace; price: any; maker?: { address: any; reverseProfile?: { name: string; avatar: string; }; }; taker?: { address: any; reverseProfile?: { name: string; avatar: string; }; }; currencyContract: { address: any; }; marketplaceContract: { address: any; }; }; transaction?: { blockNumber: number; blockTimestamp: any; effectiveGasPrice: any; gas: number; gasPaid: any; gasUsed: number; gasPrice: any; hash: string; id: string; index: number; input: string; value: any; methodId: string; status: boolean; events?: ({ transactionHash: string; } | { transactionHash: string; } | { transactionHash: string; })[]; from?: { address: any; reverseProfile: { name: string; avatar: string; }; }; to?: { address: any; reverseProfile: { name: string; avatar: string; }; }; logs?: { data: string; logIndex: number; removed: boolean; topics: string[]; }[]; }; from?: { address: any; reverseProfile?: { name: string; avatar: string; }; }; to?: { address: any; reverseProfile?: { name: string; avatar: string; }; }; token?: { tokenUri?: any; contract: string; description: string; name: string; tokenId: string; externalUrl: string; imageStorageType: import("./sdk").TokenStorageType; backgroundColor: string; youtubeUrl: string; mintPrice: any; sales?: { eventIndex: number; logIndex: number; marketplace: import("./sdk").Marketplace; price: any; maker?: { address: any; reverseProfile?: { name: string; avatar: string; }; }; taker?: { address: any; reverseProfile?: { name: string; avatar: string; }; }; currencyContract: { address: any; }; marketplaceContract: { address: any; }; }[]; attributes: { displayType: string; traitType: string; value: string; }[]; animation: { blurhash: string; checksum: string; height: number; width: number; url: string; smallUrl: string; thumbnailUrl: string; largeUrl: string; mimeType: string; }; image: { blurhash: string; checksum: string; height: number; width: number; url: string; smallUrl: string; thumbnailUrl: string; largeUrl: string; mimeType: string; }; mintTransaction: { blockNumber: number; blockTimestamp: any; effectiveGasPrice: any; gas: number; gasPaid: any; gasUsed: number; gasPrice: any; hash: string; id: string; index: number; input: string; value: any; methodId: string; status: boolean; events?: ({ transactionHash: string; } | { transactionHash: string; } | { transactionHash: string; })[]; from?: { address: any; reverseProfile: { name: string; avatar: string; }; }; to?: { address: any; reverseProfile: { name: string; avatar: string; }; }; logs?: { data: string; logIndex: number; removed: boolean; topics: string[]; }[]; }; }; }[]; }>; /** * Query ERC20 transfers that satisfy the given filter(s) */ erc20Transfers(params?: Erc20TransfersQueryOptions): Promise<{ totalCount?: number; cursors: { before: string; after: string; }; erc20Transfers: { blockNumber: number; contractAddress: any; logIndex: number; from?: { address: any; reverseProfile?: { name: string; avatar: string; }; }; to?: { address: any; reverseProfile?: { name: string; avatar: string; }; }; transaction?: { blockNumber: number; blockTimestamp: any; effectiveGasPrice: any; gas: number; gasPaid: any; gasUsed: number; gasPrice: any; hash: string; id: string; index: number; input: string; value: any; methodId: string; status: boolean; events?: ({ transactionHash: string; } | { transactionHash: string; } | { transactionHash: string; })[]; from?: { address: any; reverseProfile: { name: string; avatar: string; }; }; to?: { address: any; reverseProfile: { name: string; avatar: string; }; }; logs?: { data: string; logIndex: number; removed: boolean; topics: string[]; }[]; }; }[]; }>; /** * Query ERC20 balances from a given address */ erc20Balances({ filter, include }: Erc20BalancesQueryOptions): Promise<{ amount: any; contract: { address: any; }; owner?: { address: any; profile?: { name: string; avatar: string; }; reverseProfile?: { name: string; avatar: string; }; }; }[]>; request(query: DocumentNode, variables?: Record<string, any>): Promise<any>; } export {};