{"version":3,"sources":["../src/account/aptos_account.ts","../src/utils/hd-key.ts","../src/version.ts","../src/utils/misc.ts","../src/utils/memoize-decorator.ts","../src/client/core.ts","../src/client/types.ts","../src/client/get.ts","../src/client/post.ts","../src/utils/pagination_helpers.ts","../src/utils/api-endpoints.ts","../src/utils/hex_string.ts","../src/aptos_types/index.ts","../src/bcs/index.ts","../src/bcs/consts.ts","../src/bcs/serializer.ts","../src/bcs/deserializer.ts","../src/bcs/helper.ts","../src/aptos_types/transaction.ts","../src/aptos_types/account_address.ts","../src/aptos_types/ed25519.ts","../src/aptos_types/multi_ed25519.ts","../src/aptos_types/authenticator.ts","../src/aptos_types/identifier.ts","../src/aptos_types/type_tag.ts","../src/aptos_types/abi.ts","../src/aptos_types/authentication_key.ts","../src/aptos_types/rotation_proof_challenge.ts","../src/indexer/generated/queries.ts","../src/transaction_builder/builder.ts","../src/transaction_builder/builder_utils.ts","../src/providers/aptos_client.ts","../src/providers/indexer.ts","../src/providers/provider.ts","../src/utils/property_map_serde.ts","../src/aptos_types/token_types.ts","../src/plugins/token_client.ts","../src/plugins/fungible_asset_client.ts","../src/plugins/aptos_token.ts","../src/plugins/coin_client.ts","../src/plugins/faucet_client.ts","../src/plugins/ans_client.ts","../src/transactions/account_sequence_number.ts","../src/transactions/transaction_worker.ts","../src/transactions/async_queue.ts","../src/generated/index.ts","../src/generated/models/AptosErrorCode.ts","../src/generated/models/MoveFunctionVisibility.ts","../src/generated/models/RoleType.ts","../src/indexer/generated/types.ts"],"sourcesContent":["// Copyright © Aptos Foundation\n// SPDX-License-Identifier: Apache-2.0\n\nimport nacl from \"tweetnacl\";\nimport * as bip39 from \"@scure/bip39\";\nimport { bytesToHex } from \"@noble/hashes/utils\";\nimport { sha256 } from \"@noble/hashes/sha256\";\nimport { sha3_256 as sha3Hash } from \"@noble/hashes/sha3\";\nimport { derivePath } from \"../utils/hd-key\";\nimport { HexString, MaybeHexString, Memoize } from \"../utils\";\nimport * as Gen from \"../generated/index\";\nimport { AccountAddress, AuthenticationKey, Ed25519PublicKey } from \"../aptos_types\";\nimport { bcsToBytes } from \"../bcs\";\n\nexport interface AptosAccountObject {\n  address?: Gen.HexEncodedBytes;\n  publicKeyHex?: Gen.HexEncodedBytes;\n  privateKeyHex: Gen.HexEncodedBytes;\n}\n\n/**\n * Class for creating and managing Aptos account\n */\nexport class AptosAccount {\n  /**\n   * A private key and public key, associated with the given account\n   */\n  readonly signingKey: nacl.SignKeyPair;\n\n  /**\n   * Address associated with the given account\n   */\n  private readonly accountAddress: HexString;\n\n  static fromAptosAccountObject(obj: AptosAccountObject): AptosAccount {\n    return new AptosAccount(HexString.ensure(obj.privateKeyHex).toUint8Array(), obj.address);\n  }\n\n  /**\n   * Check's if the derive path is valid\n   */\n  static isValidPath(path: string): boolean {\n    return /^m\\/44'\\/637'\\/[0-9]+'\\/[0-9]+'\\/[0-9]+'+$/.test(path);\n  }\n\n  /**\n   * Creates new account with bip44 path and mnemonics,\n   * @param path. (e.g. m/44'/637'/0'/0'/0')\n   * Detailed description: {@link https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki}\n   * @param mnemonics.\n   * @returns AptosAccount\n   */\n  static fromDerivePath(path: string, mnemonics: string): AptosAccount {\n    if (!AptosAccount.isValidPath(path)) {\n      throw new Error(\"Invalid derivation path\");\n    }\n\n    const normalizeMnemonics = mnemonics\n      .trim()\n      .split(/\\s+/)\n      .map((part) => part.toLowerCase())\n      .join(\" \");\n\n    const { key } = derivePath(path, bytesToHex(bip39.mnemonicToSeedSync(normalizeMnemonics)));\n\n    return new AptosAccount(key);\n  }\n\n  /**\n   * Creates new account instance. Constructor allows passing in an address,\n   * to handle account key rotation, where auth_key != public_key\n   * @param privateKeyBytes  Private key from which account key pair will be generated.\n   * If not specified, new key pair is going to be created.\n   * @param address Account address (e.g. 0xe8012714cd17606cee7188a2a365eef3fe760be598750678c8c5954eb548a591).\n   * If not specified, a new one will be generated from public key\n   */\n  constructor(privateKeyBytes?: Uint8Array | undefined, address?: MaybeHexString) {\n    if (privateKeyBytes) {\n      this.signingKey = nacl.sign.keyPair.fromSeed(privateKeyBytes.slice(0, 32));\n    } else {\n      this.signingKey = nacl.sign.keyPair();\n    }\n    this.accountAddress = HexString.ensure(address || this.authKey().hex());\n  }\n\n  /**\n   * This is the key by which Aptos account is referenced.\n   * It is the 32-byte of the SHA-3 256 cryptographic hash\n   * of the public key(s) concatenated with a signature scheme identifier byte\n   * @returns Address associated with the given account\n   */\n  address(): HexString {\n    return this.accountAddress;\n  }\n\n  /**\n   * This key enables account owners to rotate their private key(s)\n   * associated with the account without changing the address that hosts their account.\n   * See here for more info: {@link https://aptos.dev/concepts/accounts#single-signer-authentication}\n   * @returns Authentication key for the associated account\n   */\n  @Memoize()\n  authKey(): HexString {\n    const pubKey = new Ed25519PublicKey(this.signingKey.publicKey);\n    const authKey = AuthenticationKey.fromEd25519PublicKey(pubKey);\n    return authKey.derivedAddress();\n  }\n\n  /**\n   * Takes source address and seeds and returns the resource account address\n   * @param sourceAddress Address used to derive the resource account\n   * @param seed The seed bytes\n   * @returns The resource account address\n   */\n  static getResourceAccountAddress(sourceAddress: MaybeHexString, seed: Uint8Array): HexString {\n    const source = bcsToBytes(AccountAddress.fromHex(sourceAddress));\n\n    const bytes = new Uint8Array([...source, ...seed, AuthenticationKey.DERIVE_RESOURCE_ACCOUNT_SCHEME]);\n\n    const hash = sha3Hash.create();\n    hash.update(bytes);\n\n    return HexString.fromUint8Array(hash.digest());\n  }\n\n  /**\n   * Takes creator address and collection name and returns the collection id hash.\n   * Collection id hash are generated as sha256 hash of (`creator_address::collection_name`)\n   *\n   * @param creatorAddress Collection creator address\n   * @param collectionName The collection name\n   * @returns The collection id hash\n   */\n  static getCollectionID(creatorAddress: MaybeHexString, collectionName: string): HexString {\n    const seed = new TextEncoder().encode(`${creatorAddress}::${collectionName}`);\n    const hash = sha256.create();\n    hash.update(seed);\n    return HexString.fromUint8Array(hash.digest());\n  }\n\n  /**\n   * This key is generated with Ed25519 scheme.\n   * Public key is used to check a signature of transaction, signed by given account\n   * @returns The public key for the associated account\n   */\n  pubKey(): HexString {\n    return HexString.fromUint8Array(this.signingKey.publicKey);\n  }\n\n  /**\n   * Signs specified `buffer` with account's private key\n   * @param buffer A buffer to sign\n   * @returns A signature HexString\n   */\n  signBuffer(buffer: Uint8Array): HexString {\n    const signature = nacl.sign.detached(buffer, this.signingKey.secretKey);\n    return HexString.fromUint8Array(signature);\n  }\n\n  /**\n   * Signs specified `hexString` with account's private key\n   * @param hexString A regular string or HexString to sign\n   * @returns A signature HexString\n   */\n  signHexString(hexString: MaybeHexString): HexString {\n    const toSign = HexString.ensure(hexString).toUint8Array();\n    return this.signBuffer(toSign);\n  }\n\n  /**\n   * Verifies the signature of the message with the public key of the account\n   * @param message a signed message\n   * @param signature the signature of the message\n   */\n  verifySignature(message: MaybeHexString, signature: MaybeHexString): boolean {\n    const rawMessage = HexString.ensure(message).toUint8Array();\n    const rawSignature = HexString.ensure(signature).toUint8Array();\n    return nacl.sign.detached.verify(rawMessage, rawSignature, this.signingKey.publicKey);\n  }\n\n  /**\n   * Derives account address, public key and private key\n   * @returns AptosAccountObject instance.\n   * @example An example of the returned AptosAccountObject object\n   * ```\n   * {\n   *    address: \"0xe8012714cd17606cee7188a2a365eef3fe760be598750678c8c5954eb548a591\",\n   *    publicKeyHex: \"0xf56d8524faf79fbc0f48c13aeed3b0ce5dd376b4db93b8130a107c0a5e04ba04\",\n   *    privateKeyHex: `0x009c9f7c992a06cfafe916f125d8adb7a395fca243e264a8e56a4b3e6accf940\n   *      d2b11e9ece3049ce60e3c7b4a1c58aebfa9298e29a30a58a67f1998646135204`\n   * }\n   * ```\n   */\n  toPrivateKeyObject(): AptosAccountObject {\n    return {\n      address: this.address().hex(),\n      publicKeyHex: this.pubKey().hex(),\n      privateKeyHex: HexString.fromUint8Array(this.signingKey.secretKey.slice(0, 32)).hex(),\n    };\n  }\n}\n\n// Returns an account address as a HexString given either an AptosAccount or a MaybeHexString.\nexport function getAddressFromAccountOrAddress(accountOrAddress: AptosAccount | MaybeHexString): HexString {\n  return accountOrAddress instanceof AptosAccount ? accountOrAddress.address() : HexString.ensure(accountOrAddress);\n}\n","import nacl from \"tweetnacl\";\nimport { hmac } from \"@noble/hashes/hmac\";\nimport { sha512 } from \"@noble/hashes/sha512\";\nimport { hexToBytes } from \"@noble/hashes/utils\";\n\nexport type Keys = {\n  key: Uint8Array;\n  chainCode: Uint8Array;\n};\n\nconst pathRegex = /^m(\\/[0-9]+')+$/;\n\nconst replaceDerive = (val: string): string => val.replace(\"'\", \"\");\n\nconst HMAC_KEY = \"ed25519 seed\";\nconst HARDENED_OFFSET = 0x80000000;\n\nexport const getMasterKeyFromSeed = (seed: string): Keys => {\n  const h = hmac.create(sha512, HMAC_KEY);\n  const I = h.update(hexToBytes(seed)).digest();\n  const IL = I.slice(0, 32);\n  const IR = I.slice(32);\n  return {\n    key: IL,\n    chainCode: IR,\n  };\n};\n\nexport const CKDPriv = ({ key, chainCode }: Keys, index: number): Keys => {\n  const buffer = new ArrayBuffer(4);\n  new DataView(buffer).setUint32(0, index);\n  const indexBytes = new Uint8Array(buffer);\n  const zero = new Uint8Array([0]);\n  const data = new Uint8Array([...zero, ...key, ...indexBytes]);\n\n  const I = hmac.create(sha512, chainCode).update(data).digest();\n  const IL = I.slice(0, 32);\n  const IR = I.slice(32);\n  return {\n    key: IL,\n    chainCode: IR,\n  };\n};\n\nexport const getPublicKey = (privateKey: Uint8Array, withZeroByte = true): Uint8Array => {\n  const keyPair = nacl.sign.keyPair.fromSeed(privateKey);\n  const signPk = keyPair.secretKey.subarray(32);\n  const zero = new Uint8Array([0]);\n  return withZeroByte ? new Uint8Array([...zero, ...signPk]) : signPk;\n};\n\nexport const isValidPath = (path: string): boolean => {\n  if (!pathRegex.test(path)) {\n    return false;\n  }\n  return !path\n    .split(\"/\")\n    .slice(1)\n    .map(replaceDerive)\n    .some(Number.isNaN as any);\n};\n\nexport const derivePath = (path: string, seed: string, offset = HARDENED_OFFSET): Keys => {\n  if (!isValidPath(path)) {\n    throw new Error(\"Invalid derivation path\");\n  }\n\n  const { key, chainCode } = getMasterKeyFromSeed(seed);\n  const segments = path\n    .split(\"/\")\n    .slice(1)\n    .map(replaceDerive)\n    .map((el) => parseInt(el, 10));\n\n  return segments.reduce((parentKeys, segment) => CKDPriv(parentKeys, segment + offset), { key, chainCode });\n};\n","// hardcoded for now, we would want to have it injected dynamically\nexport const VERSION = \"1.22.1\";\n","// Copyright © Aptos Foundation\n// SPDX-License-Identifier: Apache-2.0\n\nimport { VERSION } from \"../version\";\n\nexport async function sleep(timeMs: number): Promise<null> {\n  return new Promise((resolve) => {\n    setTimeout(resolve, timeMs);\n  });\n}\n\nexport const DEFAULT_VERSION_PATH_BASE = \"/v1\";\n\nexport function fixNodeUrl(nodeUrl: string): string {\n  let out = `${nodeUrl}`;\n  if (out.endsWith(\"/\")) {\n    out = out.substring(0, out.length - 1);\n  }\n  if (!out.endsWith(DEFAULT_VERSION_PATH_BASE)) {\n    out = `${out}${DEFAULT_VERSION_PATH_BASE}`;\n  }\n  return out;\n}\n\nexport const DEFAULT_MAX_GAS_AMOUNT = 200000;\n// Transaction expire timestamp\nexport const DEFAULT_TXN_EXP_SEC_FROM_NOW = 20;\n// How long does SDK wait for txn to finish\nexport const DEFAULT_TXN_TIMEOUT_SEC = 20;\nexport const APTOS_COIN = \"0x1::aptos_coin::AptosCoin\";\n\nexport const CUSTOM_REQUEST_HEADER = { \"x-aptos-client\": `aptos-ts-sdk/${VERSION}` };\n","/**\n * Credits to https://github.com/darrylhodgins/typescript-memoize\n */\n\n/* eslint-disable no-param-reassign */\n/* eslint-disable no-restricted-syntax */\n\ninterface MemoizeArgs {\n  // ttl in milliseconds for cached items. After `ttlMs`, cached items are evicted automatically. If no `ttlMs`\n  // is provided, cached items won't get auto-evicted.\n  ttlMs?: number;\n  // produces the cache key based on `args`.\n  hashFunction?: boolean | ((...args: any[]) => any);\n  // cached items can be taged with `tags`. `tags` can be used to evict cached items\n  tags?: string[];\n}\n\nexport function Memoize(args?: MemoizeArgs | MemoizeArgs[\"hashFunction\"]) {\n  let hashFunction: MemoizeArgs[\"hashFunction\"];\n  let ttlMs: MemoizeArgs[\"ttlMs\"];\n  let tags: MemoizeArgs[\"tags\"];\n\n  if (typeof args === \"object\") {\n    hashFunction = args.hashFunction;\n    ttlMs = args.ttlMs;\n    tags = args.tags;\n  } else {\n    hashFunction = args;\n  }\n\n  return (target: Object, propertyKey: string, descriptor: TypedPropertyDescriptor<any>) => {\n    if (descriptor.value != null) {\n      descriptor.value = getNewFunction(descriptor.value, hashFunction, ttlMs, tags);\n    } else if (descriptor.get != null) {\n      descriptor.get = getNewFunction(descriptor.get, hashFunction, ttlMs, tags);\n    } else {\n      throw new Error(\"Only put a Memoize() decorator on a method or get accessor.\");\n    }\n  };\n}\n\nexport function MemoizeExpiring(ttlMs: number, hashFunction?: MemoizeArgs[\"hashFunction\"]) {\n  return Memoize({\n    ttlMs,\n    hashFunction,\n  });\n}\n\nconst clearCacheTagsMap: Map<string, Map<any, any>[]> = new Map();\n\nexport function clear(tags: string[]): number {\n  const cleared: Set<Map<any, any>> = new Set();\n  for (const tag of tags) {\n    const maps = clearCacheTagsMap.get(tag);\n    if (maps) {\n      for (const mp of maps) {\n        if (!cleared.has(mp)) {\n          mp.clear();\n          cleared.add(mp);\n        }\n      }\n    }\n  }\n  return cleared.size;\n}\n\nfunction getNewFunction(\n  originalMethod: () => void,\n  hashFunction?: MemoizeArgs[\"hashFunction\"],\n  ttlMs: number = 0,\n  tags?: MemoizeArgs[\"tags\"],\n) {\n  const propMapName = Symbol(\"__memoized_map__\");\n\n  // The function returned here gets called instead of originalMethod.\n  // eslint-disable-next-line func-names\n  return function (...args: any[]) {\n    let returnedValue: any;\n\n    // @ts-ignore\n    const that: any = this;\n\n    // Get or create map\n    // eslint-disable-next-line no-prototype-builtins\n    if (!that.hasOwnProperty(propMapName)) {\n      Object.defineProperty(that, propMapName, {\n        configurable: false,\n        enumerable: false,\n        writable: false,\n        value: new Map<any, any>(),\n      });\n    }\n    const myMap: Map<any, any> = that[propMapName];\n\n    if (Array.isArray(tags)) {\n      for (const tag of tags) {\n        if (clearCacheTagsMap.has(tag)) {\n          clearCacheTagsMap.get(tag)!.push(myMap);\n        } else {\n          clearCacheTagsMap.set(tag, [myMap]);\n        }\n      }\n    }\n\n    if (hashFunction || args.length > 0 || ttlMs > 0) {\n      let hashKey: any;\n\n      // If true is passed as first parameter, will automatically use every argument, passed to string\n      if (hashFunction === true) {\n        hashKey = args.map((a) => a.toString()).join(\"!\");\n      } else if (hashFunction) {\n        hashKey = hashFunction.apply(that, args);\n      } else {\n        // eslint-disable-next-line prefer-destructuring\n        hashKey = args[0];\n      }\n\n      const timestampKey = `${hashKey}__timestamp`;\n      let isExpired: boolean = false;\n      if (ttlMs > 0) {\n        if (!myMap.has(timestampKey)) {\n          // \"Expired\" since it was never called before\n          isExpired = true;\n        } else {\n          const timestamp = myMap.get(timestampKey);\n          isExpired = Date.now() - timestamp > ttlMs;\n        }\n      }\n\n      if (myMap.has(hashKey) && !isExpired) {\n        returnedValue = myMap.get(hashKey);\n      } else {\n        returnedValue = originalMethod.apply(that, args as any);\n        myMap.set(hashKey, returnedValue);\n        if (ttlMs > 0) {\n          myMap.set(timestampKey, Date.now());\n        }\n      }\n    } else {\n      const hashKey = that;\n      if (myMap.has(hashKey)) {\n        returnedValue = myMap.get(hashKey);\n      } else {\n        returnedValue = originalMethod.apply(that, args as any);\n        myMap.set(hashKey, returnedValue);\n      }\n    }\n\n    return returnedValue;\n  };\n}\n","import aptosClient from \"@aptos-labs/aptos-client\";\nimport { AptosApiError, AptosRequest, AptosResponse, ClientConfig } from \"./types\";\nimport { VERSION } from \"../version\";\n\n/**\n * Meaningful errors map\n */\nconst errors: Record<number, string> = {\n  400: \"Bad Request\",\n  401: \"Unauthorized\",\n  403: \"Forbidden\",\n  404: \"Not Found\",\n  429: \"Too Many Requests\",\n  500: \"Internal Server Error\",\n  502: \"Bad Gateway\",\n  503: \"Service Unavailable\",\n};\n\n/**\n * Given a url and method, sends the request with axios and\n * returns the response.\n */\nasync function request<Req, Res>(\n  url: string,\n  method: \"GET\" | \"POST\",\n  body?: Req,\n  contentType?: string,\n  params?: any,\n  overrides?: ClientConfig,\n): Promise<any> {\n  const headers: Record<string, string | string[] | undefined> = {\n    ...overrides?.HEADERS,\n    \"x-aptos-client\": `aptos-ts-sdk/${VERSION}`,\n    \"content-type\": contentType ?? \"application/json\",\n  };\n\n  if (overrides?.TOKEN) {\n    headers.Authorization = `Bearer ${overrides?.TOKEN}`;\n  }\n\n  /**\n   * make a call using the @aptos-labs/aptos-client package\n   * {@link https://www.npmjs.com/package/@aptos-labs/aptos-client}\n   */\n  const response = await aptosClient<Res>({ url, method, body, params, headers, overrides });\n  return response;\n}\n\n/**\n * The main function to use when doing an API request.\n *\n * @param options AptosRequest\n * @returns the response or AptosApiError\n */\nexport async function aptosRequest<Req, Res>(options: AptosRequest): Promise<AptosResponse<Req, Res>> {\n  const { url, endpoint, method, body, contentType, params, overrides } = options;\n  const fullEndpoint = `${url}/${endpoint ?? \"\"}`;\n  const response = await request<Req, Res>(fullEndpoint, method, body, contentType, params, overrides);\n\n  const result: AptosResponse<Req, Res> = {\n    status: response.status,\n    statusText: response.statusText!,\n    data: response.data,\n    headers: response.headers,\n    config: response.config,\n    url: fullEndpoint,\n  };\n\n  if (result.status >= 200 && result.status < 300) {\n    return result;\n  }\n  const errorMessage = errors[result.status];\n  throw new AptosApiError(options, result, errorMessage ?? \"Generic Error\");\n}\n","import { AnyNumber } from \"../bcs\";\n\n/**\n * A configuration object we can pass with the request to the server.\n *\n * @param TOKEN - an auth token to send with the request\n * @param HEADERS - extra headers we want to send with the request\n * @param WITH_CREDENTIALS - whether to carry cookies. By default, it is set to true and cookies will be sent\n */\nexport type ClientConfig = {\n  TOKEN?: string;\n  HEADERS?: Record<string, string | number | boolean>;\n  WITH_CREDENTIALS?: boolean;\n};\n\n/**\n * The API request type\n *\n * @param url - the url to make the request to, i.e https://fullnode.aptoslabs.devnet.com/v1\n * @param method - the request method \"GET\" | \"POST\"\n * @param endpoint (optional) - the endpoint to make the request to, i.e transactions\n * @param body (optional) - the body of the request\n * @param contentType (optional) - the content type to set the `content-type` header to,\n * by default is set to `application/json`\n * @param params (optional) - query params to add to the request\n * @param originMethod (optional) - the local method the request came from\n * @param overrides (optional) - a `ClientConfig` object type to override request data\n */\nexport type AptosRequest = {\n  url: string;\n  method: \"GET\" | \"POST\";\n  endpoint?: string;\n  body?: any;\n  contentType?: string;\n  params?: Record<string, string | AnyNumber | boolean | undefined>;\n  originMethod?: string;\n  overrides?: ClientConfig;\n};\n\n/**\n * The API response type\n *\n * @param status - the response status. i.e 200\n * @param statusText - the response message\n * @param data the response data\n * @param url the url the request was made to\n * @param headers the response headers\n * @param config (optional) - the request object\n * @param request (optional) - the request object\n */\nexport interface AptosResponse<Req, Res> {\n  status: number;\n  statusText: string;\n  data: Res;\n  url: string;\n  headers: any;\n  config?: any;\n  request?: Req;\n}\n\n/**\n * The type returned from an API error\n *\n * @param name - the error name \"AptosApiError\"\n * @param url the url the request was made to\n * @param status - the response status. i.e 400\n * @param statusText - the response message\n * @param data the response data\n * @param request - the AptosRequest\n */\nexport class AptosApiError extends Error {\n  readonly url: string;\n\n  readonly status: number;\n\n  readonly statusText: string;\n\n  readonly data: any;\n\n  readonly request: AptosRequest;\n\n  constructor(request: AptosRequest, response: AptosResponse<any, any>, message: string) {\n    super(message);\n\n    this.name = \"AptosApiError\";\n    this.url = response.url;\n    this.status = response.status;\n    this.statusText = response.statusText;\n    this.data = response.data;\n    this.request = request;\n  }\n}\n","import { aptosRequest } from \"./core\";\nimport { AptosRequest, AptosResponse } from \"./types\";\n\nexport type GetRequestOptions = Omit<AptosRequest, \"body\" | \"method\">;\n\n/**\n * Main function to do a Get request\n *\n * @param options GetRequestOptions\n * @returns\n */\nexport async function get<Req, Res>(options: GetRequestOptions): Promise<AptosResponse<Req, Res>> {\n  const response: AptosResponse<Req, Res> = await aptosRequest<Req, Res>({ ...options, method: \"GET\" });\n  return response;\n}\n","import { aptosRequest } from \"./core\";\nimport { AptosRequest, AptosResponse } from \"./types\";\n\nexport type PostRequestOptions = Omit<AptosRequest, \"method\">;\n\n/**\n * Main function to do a Post request\n *\n * @param options PostRequestOptions\n * @returns\n */\nexport async function post<Req, Res>(options: PostRequestOptions): Promise<AptosResponse<Req, Res>> {\n  const response: AptosResponse<Req, Res> = await aptosRequest<Req, Res>({ ...options, method: \"POST\" });\n  return response;\n}\n","import { ClientConfig, get } from \"../client\";\n\n/// This function is a helper for paginating using a function wrapping an API\nexport async function paginateWithCursor<Req extends Record<string, any>, Res extends any[]>(options: {\n  url: string;\n  endpoint?: string;\n  body?: any;\n  params?: Req;\n  originMethod?: string;\n  overrides?: ClientConfig;\n}): Promise<Res> {\n  const out = [];\n  let cursor: string | undefined;\n  const requestParams = options.params as Req & { start?: string };\n  // eslint-disable-next-line no-constant-condition\n  while (true) {\n    requestParams.start = cursor;\n    // eslint-disable-next-line no-await-in-loop\n    const response = await get<Req, Res>({\n      url: options.url,\n      endpoint: options.endpoint,\n      params: requestParams,\n      originMethod: options.originMethod,\n      overrides: options.overrides,\n    });\n    // eslint-disable-next-line no-underscore-dangle\n    /**\n     * the cursor is a \"state key\" from the API prespective. Client\n     * should not need to \"care\" what it represents but just use it\n     * to query the next chunck of data.\n     */\n    cursor = response.headers[\"x-aptos-cursor\"];\n    // Now that we have the cursor (if any), we remove the headers before\n    // adding these to the output of this function.\n    // eslint-disable-next-line no-underscore-dangle\n    delete (response as any).headers;\n    out.push(...response.data);\n    if (cursor === null || cursor === undefined) {\n      break;\n    }\n  }\n  return out as any;\n}\n","export const NetworkToIndexerAPI: Record<string, string> = {\n  mainnet: \"https://api.mainnet.aptoslabs.com/v1/graphql\",\n  testnet: \"https://api.testnet.aptoslabs.com/v1/graphql\",\n  devnet: \"https://api.devnet.aptoslabs.com/v1/graphql\",\n  local: \"http://127.0.0.1:8090/v1/graphql\",\n};\n\nexport const NetworkToNodeAPI: Record<string, string> = {\n  mainnet: \"https://fullnode.mainnet.aptoslabs.com/v1\",\n  testnet: \"https://fullnode.testnet.aptoslabs.com/v1\",\n  devnet: \"https://fullnode.devnet.aptoslabs.com/v1\",\n  local: \"http://127.0.0.1:8080/v1\",\n};\n\nexport const NodeAPIToNetwork: Record<string, string> = {\n  \"https://fullnode.mainnet.aptoslabs.com/v1\": \"mainnet\",\n  \"https://fullnode.testnet.aptoslabs.com/v1\": \"testnet\",\n  \"https://fullnode.devnet.aptoslabs.com/v1\": \"devnet\",\n  \"http://127.0.0.1:8080/v1\": \"local\",\n};\n\nexport enum Network {\n  MAINNET = \"mainnet\",\n  TESTNET = \"testnet\",\n  DEVNET = \"devnet\",\n  LOCAL = \"local\",\n}\n\nexport interface CustomEndpoints {\n  fullnodeUrl: string;\n  indexerUrl?: string;\n}\n","// Copyright © Aptos Foundation\n// SPDX-License-Identifier: Apache-2.0\n\nimport { bytesToHex, hexToBytes } from \"@noble/hashes/utils\";\nimport { HexEncodedBytes } from \"../generated\";\n\n// eslint-disable-next-line no-use-before-define\nexport type MaybeHexString = HexString | string | HexEncodedBytes;\n\n/**\n * A util class for working with hex strings.\n * Hex strings are strings that are prefixed with `0x`\n */\nexport class HexString {\n  /// We want to make sure this hexString has the `0x` hex prefix\n  private readonly hexString: string;\n\n  /**\n   * Creates new hex string from Buffer\n   * @param buffer A buffer to convert\n   * @returns New HexString\n   */\n  static fromBuffer(buffer: Uint8Array): HexString {\n    return HexString.fromUint8Array(buffer);\n  }\n\n  /**\n   * Creates new hex string from Uint8Array\n   * @param arr Uint8Array to convert\n   * @returns New HexString\n   */\n  static fromUint8Array(arr: Uint8Array): HexString {\n    return new HexString(bytesToHex(arr));\n  }\n\n  /**\n   * Ensures `hexString` is instance of `HexString` class\n   * @param hexString String to check\n   * @returns New HexString if `hexString` is regular string or `hexString` if it is HexString instance\n   * @example\n   * ```\n   *  const regularString = \"string\";\n   *  const hexString = new HexString(\"string\"); // \"0xstring\"\n   *  HexString.ensure(regularString); // \"0xstring\"\n   *  HexString.ensure(hexString); // \"0xstring\"\n   * ```\n   */\n  static ensure(hexString: MaybeHexString): HexString {\n    if (typeof hexString === \"string\") {\n      return new HexString(hexString);\n    }\n    return hexString;\n  }\n\n  /**\n   * Creates new HexString instance from regular string. If specified string already starts with \"0x\" prefix,\n   * it will not add another one\n   * @param hexString String to convert\n   * @example\n   * ```\n   *  const string = \"string\";\n   *  new HexString(string); // \"0xstring\"\n   * ```\n   */\n  constructor(hexString: string | HexEncodedBytes) {\n    if (hexString.startsWith(\"0x\")) {\n      this.hexString = hexString;\n    } else {\n      this.hexString = `0x${hexString}`;\n    }\n  }\n\n  /**\n   * Getter for inner hexString\n   * @returns Inner hex string\n   */\n  hex(): string {\n    return this.hexString;\n  }\n\n  /**\n   * Getter for inner hexString without prefix\n   * @returns Inner hex string without prefix\n   * @example\n   * ```\n   *  const hexString = new HexString(\"string\"); // \"0xstring\"\n   *  hexString.noPrefix(); // \"string\"\n   * ```\n   */\n  noPrefix(): string {\n    return this.hexString.slice(2);\n  }\n\n  /**\n   * Overrides default `toString` method\n   * @returns Inner hex string\n   */\n  toString(): string {\n    return this.hex();\n  }\n\n  /**\n   * Trimmes extra zeroes in the begining of a string\n   * @returns Inner hexString without leading zeroes\n   * @example\n   * ```\n   *  new HexString(\"0x000000string\").toShortString(); // result = \"0xstring\"\n   * ```\n   */\n  toShortString(): string {\n    const trimmed = this.hexString.replace(/^0x0*/, \"\");\n    return `0x${trimmed}`;\n  }\n\n  /**\n   * Converts hex string to a Uint8Array\n   * @returns Uint8Array from inner hexString without prefix\n   */\n  toUint8Array(): Uint8Array {\n    return Uint8Array.from(hexToBytes(this.noPrefix()));\n  }\n}\n","// Copyright © Aptos Foundation\n// SPDX-License-Identifier: Apache-2.0\n\nexport * from \"./abi\";\nexport * from \"./account_address\";\nexport * from \"./authenticator\";\nexport * from \"./transaction\";\nexport * from \"./type_tag\";\nexport * from \"./identifier\";\nexport * from \"./ed25519\";\nexport * from \"./multi_ed25519\";\nexport * from \"./authentication_key\";\nexport * from \"./rotation_proof_challenge\";\n\nexport type SigningMessage = Uint8Array;\n","// Copyright © Aptos Foundation\n// SPDX-License-Identifier: Apache-2.0\n\nexport * from \"./types\";\nexport * from \"./serializer\";\nexport * from \"./deserializer\";\nexport * from \"./helper\";\n","// Copyright © Aptos Foundation\n// SPDX-License-Identifier: Apache-2.0\n\nimport { Uint128, Uint16, Uint32, Uint64, Uint8, Uint256 } from \"./types\";\n\n// Upper bound values for uint8, uint16, uint64 and uint128\nexport const MAX_U8_NUMBER: Uint8 = 255;\nexport const MAX_U16_NUMBER: Uint16 = 65535;\nexport const MAX_U32_NUMBER: Uint32 = 4294967295;\nexport const MAX_U64_BIG_INT: Uint64 = 18446744073709551615n;\nexport const MAX_U128_BIG_INT: Uint128 = 340282366920938463463374607431768211455n;\nexport const MAX_U256_BIG_INT: Uint256 =\n  115792089237316195423570985008687907853269984665640564039457584007913129639935n;\n","// Copyright © Aptos Foundation\n// SPDX-License-Identifier: Apache-2.0\n\n/* eslint-disable no-bitwise */\nimport {\n  MAX_U128_BIG_INT,\n  MAX_U16_NUMBER,\n  MAX_U32_NUMBER,\n  MAX_U64_BIG_INT,\n  MAX_U8_NUMBER,\n  MAX_U256_BIG_INT,\n} from \"./consts\";\nimport { AnyNumber, Bytes, Uint16, Uint32, Uint8 } from \"./types\";\n\nexport class Serializer {\n  private buffer: ArrayBuffer;\n\n  private offset: number;\n\n  constructor() {\n    this.buffer = new ArrayBuffer(64);\n    this.offset = 0;\n  }\n\n  private ensureBufferWillHandleSize(bytes: number) {\n    while (this.buffer.byteLength < this.offset + bytes) {\n      const newBuffer = new ArrayBuffer(this.buffer.byteLength * 2);\n      new Uint8Array(newBuffer).set(new Uint8Array(this.buffer));\n      this.buffer = newBuffer;\n    }\n  }\n\n  protected serialize(values: Bytes) {\n    this.ensureBufferWillHandleSize(values.length);\n    new Uint8Array(this.buffer, this.offset).set(values);\n    this.offset += values.length;\n  }\n\n  private serializeWithFunction(\n    fn: (byteOffset: number, value: number, littleEndian?: boolean) => void,\n    bytesLength: number,\n    value: number,\n  ) {\n    this.ensureBufferWillHandleSize(bytesLength);\n    const dv = new DataView(this.buffer, this.offset);\n    fn.apply(dv, [0, value, true]);\n    this.offset += bytesLength;\n  }\n\n  /**\n   * Serializes a string. UTF8 string is supported. Serializes the string's bytes length \"l\" first,\n   * and then serializes \"l\" bytes of the string content.\n   *\n   * BCS layout for \"string\": string_length | string_content. string_length is the bytes length of\n   * the string that is uleb128 encoded. string_length is a u32 integer.\n   *\n   * @example\n   * ```ts\n   * const serializer = new Serializer();\n   * serializer.serializeStr(\"çå∞≠¢õß∂ƒ∫\");\n   * assert(serializer.getBytes() === new Uint8Array([24, 0xc3, 0xa7, 0xc3, 0xa5, 0xe2, 0x88, 0x9e,\n   * 0xe2, 0x89, 0xa0, 0xc2, 0xa2, 0xc3, 0xb5, 0xc3, 0x9f, 0xe2, 0x88, 0x82, 0xc6, 0x92, 0xe2, 0x88, 0xab]));\n   * ```\n   */\n  serializeStr(value: string): void {\n    const textEncoder = new TextEncoder();\n    this.serializeBytes(textEncoder.encode(value));\n  }\n\n  /**\n   * Serializes an array of bytes.\n   *\n   * BCS layout for \"bytes\": bytes_length | bytes. bytes_length is the length of the bytes array that is\n   * uleb128 encoded. bytes_length is a u32 integer.\n   */\n  serializeBytes(value: Bytes): void {\n    this.serializeU32AsUleb128(value.length);\n    this.serialize(value);\n  }\n\n  /**\n   * Serializes an array of bytes with known length. Therefore length doesn't need to be\n   * serialized to help deserialization.  When deserializing, the number of\n   * bytes to deserialize needs to be passed in.\n   */\n  serializeFixedBytes(value: Bytes): void {\n    this.serialize(value);\n  }\n\n  /**\n   * Serializes a boolean value.\n   *\n   * BCS layout for \"boolean\": One byte. \"0x01\" for True and \"0x00\" for False.\n   */\n  serializeBool(value: boolean): void {\n    if (typeof value !== \"boolean\") {\n      throw new Error(\"Value needs to be a boolean\");\n    }\n    const byteValue = value ? 1 : 0;\n    this.serialize(new Uint8Array([byteValue]));\n  }\n\n  /**\n   * Serializes a uint8 number.\n   *\n   * BCS layout for \"uint8\": One byte. Binary format in little-endian representation.\n   */\n  @checkNumberRange(0, MAX_U8_NUMBER)\n  serializeU8(value: Uint8): void {\n    this.serialize(new Uint8Array([value]));\n  }\n\n  /**\n   * Serializes a uint16 number.\n   *\n   * BCS layout for \"uint16\": Two bytes. Binary format in little-endian representation.\n   * @example\n   * ```ts\n   * const serializer = new Serializer();\n   * serializer.serializeU16(4660);\n   * assert(serializer.getBytes() === new Uint8Array([0x34, 0x12]));\n   * ```\n   */\n  @checkNumberRange(0, MAX_U16_NUMBER)\n  serializeU16(value: Uint16): void {\n    this.serializeWithFunction(DataView.prototype.setUint16, 2, value);\n  }\n\n  /**\n   * Serializes a uint32 number.\n   *\n   * BCS layout for \"uint32\": Four bytes. Binary format in little-endian representation.\n   * @example\n   * ```ts\n   * const serializer = new Serializer();\n   * serializer.serializeU32(305419896);\n   * assert(serializer.getBytes() === new Uint8Array([0x78, 0x56, 0x34, 0x12]));\n   * ```\n   */\n  @checkNumberRange(0, MAX_U32_NUMBER)\n  serializeU32(value: Uint32): void {\n    this.serializeWithFunction(DataView.prototype.setUint32, 4, value);\n  }\n\n  /**\n   * Serializes a uint64 number.\n   *\n   * BCS layout for \"uint64\": Eight bytes. Binary format in little-endian representation.\n   * @example\n   * ```ts\n   * const serializer = new Serializer();\n   * serializer.serializeU64(1311768467750121216);\n   * assert(serializer.getBytes() === new Uint8Array([0x00, 0xEF, 0xCD, 0xAB, 0x78, 0x56, 0x34, 0x12]));\n   * ```\n   */\n  @checkNumberRange(BigInt(0), MAX_U64_BIG_INT)\n  serializeU64(value: AnyNumber): void {\n    const low = BigInt(value.toString()) & BigInt(MAX_U32_NUMBER);\n    const high = BigInt(value.toString()) >> BigInt(32);\n\n    // write little endian number\n    this.serializeU32(Number(low));\n    this.serializeU32(Number(high));\n  }\n\n  /**\n   * Serializes a uint128 number.\n   *\n   * BCS layout for \"uint128\": Sixteen bytes. Binary format in little-endian representation.\n   */\n  @checkNumberRange(BigInt(0), MAX_U128_BIG_INT)\n  serializeU128(value: AnyNumber): void {\n    const low = BigInt(value.toString()) & MAX_U64_BIG_INT;\n    const high = BigInt(value.toString()) >> BigInt(64);\n\n    // write little endian number\n    this.serializeU64(low);\n    this.serializeU64(high);\n  }\n\n  /**\n   * Serializes a uint256 number.\n   *\n   * BCS layout for \"uint256\": Sixteen bytes. Binary format in little-endian representation.\n   */\n  @checkNumberRange(BigInt(0), MAX_U256_BIG_INT)\n  serializeU256(value: AnyNumber): void {\n    const low = BigInt(value.toString()) & MAX_U128_BIG_INT;\n    const high = BigInt(value.toString()) >> BigInt(128);\n\n    // write little endian number\n    this.serializeU128(low);\n    this.serializeU128(high);\n  }\n\n  /**\n   * Serializes a uint32 number with uleb128.\n   *\n   * BCS use uleb128 encoding in two cases: (1) lengths of variable-length sequences and (2) tags of enum values\n   */\n  @checkNumberRange(0, MAX_U32_NUMBER)\n  serializeU32AsUleb128(val: Uint32): void {\n    let value = val;\n    const valueArray = [];\n    while (value >>> 7 !== 0) {\n      valueArray.push((value & 0x7f) | 0x80);\n      value >>>= 7;\n    }\n    valueArray.push(value);\n    this.serialize(new Uint8Array(valueArray));\n  }\n\n  /**\n   * Returns the buffered bytes\n   */\n  getBytes(): Bytes {\n    return new Uint8Array(this.buffer).slice(0, this.offset);\n  }\n}\n\n/**\n * Creates a decorator to make sure the arg value of the decorated function is within a range.\n * @param minValue The arg value of decorated function must >= minValue\n * @param maxValue The arg value of decorated function must <= maxValue\n * @param message Error message\n */\nfunction checkNumberRange<T extends AnyNumber>(minValue: T, maxValue: T, message?: string) {\n  return (target: unknown, propertyKey: string, descriptor: PropertyDescriptor) => {\n    const childFunction = descriptor.value;\n    // eslint-disable-next-line no-param-reassign\n    descriptor.value = function deco(value: AnyNumber) {\n      const valueBigInt = BigInt(value.toString());\n      if (valueBigInt > BigInt(maxValue.toString()) || valueBigInt < BigInt(minValue.toString())) {\n        throw new Error(message || \"Value is out of range\");\n      }\n      childFunction.apply(this, [value]);\n    };\n    return descriptor;\n  };\n}\n","// Copyright © Aptos Foundation\n// SPDX-License-Identifier: Apache-2.0\n\n/* eslint-disable no-bitwise */\nimport { MAX_U32_NUMBER } from \"./consts\";\nimport { Bytes, Uint128, Uint16, Uint256, Uint32, Uint64, Uint8 } from \"./types\";\n\nexport class Deserializer {\n  private buffer: ArrayBuffer;\n\n  private offset: number;\n\n  constructor(data: Bytes) {\n    // copies data to prevent outside mutation of buffer.\n    this.buffer = new ArrayBuffer(data.length);\n    new Uint8Array(this.buffer).set(data, 0);\n    this.offset = 0;\n  }\n\n  private read(length: number): ArrayBuffer {\n    if (this.offset + length > this.buffer.byteLength) {\n      throw new Error(\"Reached to the end of buffer\");\n    }\n\n    const bytes = this.buffer.slice(this.offset, this.offset + length);\n    this.offset += length;\n    return bytes;\n  }\n\n  /**\n   * Deserializes a string. UTF8 string is supported. Reads the string's bytes length \"l\" first,\n   * and then reads \"l\" bytes of content. Decodes the byte array into a string.\n   *\n   * BCS layout for \"string\": string_length | string_content. string_length is the bytes length of\n   * the string that is uleb128 encoded. string_length is a u32 integer.\n   *\n   * @example\n   * ```ts\n   * const deserializer = new Deserializer(new Uint8Array([24, 0xc3, 0xa7, 0xc3, 0xa5, 0xe2, 0x88, 0x9e,\n   * 0xe2, 0x89, 0xa0, 0xc2, 0xa2, 0xc3, 0xb5, 0xc3, 0x9f, 0xe2, 0x88, 0x82, 0xc6, 0x92, 0xe2, 0x88, 0xab]));\n   * assert(deserializer.deserializeStr() === \"çå∞≠¢õß∂ƒ∫\");\n   * ```\n   */\n  deserializeStr(): string {\n    const value = this.deserializeBytes();\n    const textDecoder = new TextDecoder();\n    return textDecoder.decode(value);\n  }\n\n  /**\n   * Deserializes an array of bytes.\n   *\n   * BCS layout for \"bytes\": bytes_length | bytes. bytes_length is the length of the bytes array that is\n   * uleb128 encoded. bytes_length is a u32 integer.\n   */\n  deserializeBytes(): Bytes {\n    const len = this.deserializeUleb128AsU32();\n    return new Uint8Array(this.read(len));\n  }\n\n  /**\n   * Deserializes an array of bytes. The number of bytes to read is already known.\n   *\n   */\n  deserializeFixedBytes(len: number): Bytes {\n    return new Uint8Array(this.read(len));\n  }\n\n  /**\n   * Deserializes a boolean value.\n   *\n   * BCS layout for \"boolean\": One byte. \"0x01\" for True and \"0x00\" for False.\n   */\n  deserializeBool(): boolean {\n    const bool = new Uint8Array(this.read(1))[0];\n    if (bool !== 1 && bool !== 0) {\n      throw new Error(\"Invalid boolean value\");\n    }\n    return bool === 1;\n  }\n\n  /**\n   * Deserializes a uint8 number.\n   *\n   * BCS layout for \"uint8\": One byte. Binary format in little-endian representation.\n   */\n  deserializeU8(): Uint8 {\n    return new DataView(this.read(1)).getUint8(0);\n  }\n\n  /**\n   * Deserializes a uint16 number.\n   *\n   * BCS layout for \"uint16\": Two bytes. Binary format in little-endian representation.\n   * @example\n   * ```ts\n   * const deserializer = new Deserializer(new Uint8Array([0x34, 0x12]));\n   * assert(deserializer.deserializeU16() === 4660);\n   * ```\n   */\n  deserializeU16(): Uint16 {\n    return new DataView(this.read(2)).getUint16(0, true);\n  }\n\n  /**\n   * Deserializes a uint32 number.\n   *\n   * BCS layout for \"uint32\": Four bytes. Binary format in little-endian representation.\n   * @example\n   * ```ts\n   * const deserializer = new Deserializer(new Uint8Array([0x78, 0x56, 0x34, 0x12]));\n   * assert(deserializer.deserializeU32() === 305419896);\n   * ```\n   */\n  deserializeU32(): Uint32 {\n    return new DataView(this.read(4)).getUint32(0, true);\n  }\n\n  /**\n   * Deserializes a uint64 number.\n   *\n   * BCS layout for \"uint64\": Eight bytes. Binary format in little-endian representation.\n   * @example\n   * ```ts\n   * const deserializer = new Deserializer(new Uint8Array([0x00, 0xEF, 0xCD, 0xAB, 0x78, 0x56, 0x34, 0x12]));\n   * assert(deserializer.deserializeU64() === 1311768467750121216);\n   * ```\n   */\n  deserializeU64(): Uint64 {\n    const low = this.deserializeU32();\n    const high = this.deserializeU32();\n\n    // combine the two 32-bit values and return (little endian)\n    return BigInt((BigInt(high) << BigInt(32)) | BigInt(low));\n  }\n\n  /**\n   * Deserializes a uint128 number.\n   *\n   * BCS layout for \"uint128\": Sixteen bytes. Binary format in little-endian representation.\n   */\n  deserializeU128(): Uint128 {\n    const low = this.deserializeU64();\n    const high = this.deserializeU64();\n\n    // combine the two 64-bit values and return (little endian)\n    return BigInt((high << BigInt(64)) | low);\n  }\n\n  /**\n   * Deserializes a uint256 number.\n   *\n   * BCS layout for \"uint256\": Thirty-two bytes. Binary format in little-endian representation.\n   */\n  deserializeU256(): Uint256 {\n    const low = this.deserializeU128();\n    const high = this.deserializeU128();\n\n    // combine the two 128-bit values and return (little endian)\n    return BigInt((high << BigInt(128)) | low);\n  }\n\n  /**\n   * Deserializes a uleb128 encoded uint32 number.\n   *\n   * BCS use uleb128 encoding in two cases: (1) lengths of variable-length sequences and (2) tags of enum values\n   */\n  deserializeUleb128AsU32(): Uint32 {\n    let value: bigint = BigInt(0);\n    let shift = 0;\n\n    while (value < MAX_U32_NUMBER) {\n      const byte = this.deserializeU8();\n      value |= BigInt(byte & 0x7f) << BigInt(shift);\n\n      if ((byte & 0x80) === 0) {\n        break;\n      }\n      shift += 7;\n    }\n\n    if (value > MAX_U32_NUMBER) {\n      throw new Error(\"Overflow while parsing uleb128-encoded uint32 value\");\n    }\n\n    return Number(value);\n  }\n}\n","// Copyright © Aptos Foundation\n// SPDX-License-Identifier: Apache-2.0\n\nimport { Deserializer } from \"./deserializer\";\nimport { Serializer } from \"./serializer\";\nimport { AnyNumber, Bytes, Seq, Uint16, Uint32, Uint8 } from \"./types\";\n\ninterface Serializable {\n  serialize(serializer: Serializer): void;\n}\n\n/**\n * Serializes a vector values that are \"Serializable\".\n */\nexport function serializeVector<T extends Serializable>(value: Seq<T>, serializer: Serializer): void {\n  serializer.serializeU32AsUleb128(value.length);\n  value.forEach((item: T) => {\n    item.serialize(serializer);\n  });\n}\n\n/**\n * Serializes a vector with specified item serialization function.\n * Very dynamic function and bypasses static typechecking.\n */\nexport function serializeVectorWithFunc(value: any[], func: string): Bytes {\n  const serializer = new Serializer();\n  serializer.serializeU32AsUleb128(value.length);\n  const f = (serializer as any)[func];\n  value.forEach((item) => {\n    f.call(serializer, item);\n  });\n  return serializer.getBytes();\n}\n\n/**\n * Deserializes a vector of values.\n */\nexport function deserializeVector(deserializer: Deserializer, cls: any): any[] {\n  const length = deserializer.deserializeUleb128AsU32();\n  const list: Seq<typeof cls> = [];\n  for (let i = 0; i < length; i += 1) {\n    list.push(cls.deserialize(deserializer));\n  }\n  return list;\n}\n\nexport function bcsToBytes<T extends Serializable>(value: T): Bytes {\n  const serializer = new Serializer();\n  value.serialize(serializer);\n  return serializer.getBytes();\n}\n\nexport function bcsSerializeUint64(value: AnyNumber): Bytes {\n  const serializer = new Serializer();\n  serializer.serializeU64(value);\n  return serializer.getBytes();\n}\n\nexport function bcsSerializeU8(value: Uint8): Bytes {\n  const serializer = new Serializer();\n  serializer.serializeU8(value);\n  return serializer.getBytes();\n}\n\nexport function bcsSerializeU16(value: Uint16): Bytes {\n  const serializer = new Serializer();\n  serializer.serializeU16(value);\n  return serializer.getBytes();\n}\n\nexport function bcsSerializeU32(value: Uint32): Bytes {\n  const serializer = new Serializer();\n  serializer.serializeU32(value);\n  return serializer.getBytes();\n}\n\nexport function bcsSerializeU128(value: AnyNumber): Bytes {\n  const serializer = new Serializer();\n  serializer.serializeU128(value);\n  return serializer.getBytes();\n}\n\nexport function bcsSerializeU256(value: AnyNumber): Bytes {\n  const serializer = new Serializer();\n  serializer.serializeU256(value);\n  return serializer.getBytes();\n}\n\nexport function bcsSerializeBool(value: boolean): Bytes {\n  const serializer = new Serializer();\n  serializer.serializeBool(value);\n  return serializer.getBytes();\n}\n\nexport function bcsSerializeStr(value: string): Bytes {\n  const serializer = new Serializer();\n  serializer.serializeStr(value);\n  return serializer.getBytes();\n}\n\nexport function bcsSerializeBytes(value: Bytes): Bytes {\n  const serializer = new Serializer();\n  serializer.serializeBytes(value);\n  return serializer.getBytes();\n}\n\nexport function bcsSerializeFixedBytes(value: Bytes): Bytes {\n  const serializer = new Serializer();\n  serializer.serializeFixedBytes(value);\n  return serializer.getBytes();\n}\n","// Copyright © Aptos Foundation\n// SPDX-License-Identifier: Apache-2.0\n\n/* eslint-disable @typescript-eslint/naming-convention */\n/* eslint-disable class-methods-use-this */\n/* eslint-disable @typescript-eslint/no-unused-vars */\n/* eslint-disable max-classes-per-file */\nimport { sha3_256 as sha3Hash } from \"@noble/hashes/sha3\";\nimport { HexString } from \"../utils\";\nimport {\n  Deserializer,\n  Serializer,\n  Uint64,\n  Bytes,\n  Seq,\n  Uint8,\n  Uint128,\n  deserializeVector,\n  serializeVector,\n  bcsToBytes,\n  Uint16,\n  Uint256,\n} from \"../bcs\";\nimport { AccountAuthenticator, TransactionAuthenticator, TransactionAuthenticatorMultiAgent } from \"./authenticator\";\nimport { Identifier } from \"./identifier\";\nimport { TypeTag } from \"./type_tag\";\nimport { AccountAddress } from \"./account_address\";\n\nexport class RawTransaction {\n  /**\n   * RawTransactions contain the metadata and payloads that can be submitted to Aptos chain for execution.\n   * RawTransactions must be signed before Aptos chain can execute them.\n   *\n   * @param sender Account address of the sender.\n   * @param sequence_number Sequence number of this transaction. This must match the sequence number stored in\n   *   the sender's account at the time the transaction executes.\n   * @param payload Instructions for the Aptos Blockchain, including publishing a module,\n   *   execute a entry function or execute a script payload.\n   * @param max_gas_amount Maximum total gas to spend for this transaction. The account must have more\n   *   than this gas or the transaction will be discarded during validation.\n   * @param gas_unit_price Price to be paid per gas unit.\n   * @param expiration_timestamp_secs The blockchain timestamp at which the blockchain would discard this transaction.\n   * @param chain_id The chain ID of the blockchain that this transaction is intended to be run on.\n   */\n  constructor(\n    public readonly sender: AccountAddress,\n    public readonly sequence_number: Uint64,\n    public readonly payload: TransactionPayload,\n    public readonly max_gas_amount: Uint64,\n    public readonly gas_unit_price: Uint64,\n    public readonly expiration_timestamp_secs: Uint64,\n    public readonly chain_id: ChainId,\n  ) {}\n\n  serialize(serializer: Serializer): void {\n    this.sender.serialize(serializer);\n    serializer.serializeU64(this.sequence_number);\n    this.payload.serialize(serializer);\n    serializer.serializeU64(this.max_gas_amount);\n    serializer.serializeU64(this.gas_unit_price);\n    serializer.serializeU64(this.expiration_timestamp_secs);\n    this.chain_id.serialize(serializer);\n  }\n\n  static deserialize(deserializer: Deserializer): RawTransaction {\n    const sender = AccountAddress.deserialize(deserializer);\n    const sequence_number = deserializer.deserializeU64();\n    const payload = TransactionPayload.deserialize(deserializer);\n    const max_gas_amount = deserializer.deserializeU64();\n    const gas_unit_price = deserializer.deserializeU64();\n    const expiration_timestamp_secs = deserializer.deserializeU64();\n    const chain_id = ChainId.deserialize(deserializer);\n    return new RawTransaction(\n      sender,\n      sequence_number,\n      payload,\n      max_gas_amount,\n      gas_unit_price,\n      expiration_timestamp_secs,\n      chain_id,\n    );\n  }\n}\n\nexport class Script {\n  /**\n   * Scripts contain the Move bytecodes payload that can be submitted to Aptos chain for execution.\n   * @param code Move bytecode\n   * @param ty_args Type arguments that bytecode requires.\n   *\n   * @example\n   * A coin transfer function has one type argument \"CoinType\".\n   * ```\n   * public(script) fun transfer<CoinType>(from: &signer, to: address, amount: u64,)\n   * ```\n   * @param args Arugments to bytecode function.\n   *\n   * @example\n   * A coin transfer function has three arugments \"from\", \"to\" and \"amount\".\n   * ```\n   * public(script) fun transfer<CoinType>(from: &signer, to: address, amount: u64,)\n   * ```\n   */\n  constructor(\n    public readonly code: Bytes,\n    public readonly ty_args: Seq<TypeTag>,\n    public readonly args: Seq<TransactionArgument>,\n  ) {}\n\n  serialize(serializer: Serializer): void {\n    serializer.serializeBytes(this.code);\n    serializeVector<TypeTag>(this.ty_args, serializer);\n    serializeVector<TransactionArgument>(this.args, serializer);\n  }\n\n  static deserialize(deserializer: Deserializer): Script {\n    const code = deserializer.deserializeBytes();\n    const ty_args = deserializeVector(deserializer, TypeTag);\n    const args = deserializeVector(deserializer, TransactionArgument);\n    return new Script(code, ty_args, args);\n  }\n}\n\nexport class EntryFunction {\n  /**\n   * Contains the payload to run a function within a module.\n   * @param module_name Fully qualified module name. ModuleId consists of account address and module name.\n   * @param function_name The function to run.\n   * @param ty_args Type arguments that move function requires.\n   *\n   * @example\n   * A coin transfer function has one type argument \"CoinType\".\n   * ```\n   * public(script) fun transfer<CoinType>(from: &signer, to: address, amount: u64,)\n   * ```\n   * @param args Arugments to the move function.\n   *\n   * @example\n   * A coin transfer function has three arugments \"from\", \"to\" and \"amount\".\n   * ```\n   * public(script) fun transfer<CoinType>(from: &signer, to: address, amount: u64,)\n   * ```\n   */\n  constructor(\n    public readonly module_name: ModuleId,\n    public readonly function_name: Identifier,\n    public readonly ty_args: Seq<TypeTag>,\n    public readonly args: Seq<Bytes>,\n  ) {}\n\n  /**\n   *\n   * @param module Fully qualified module name in format \"AccountAddress::module_name\" e.g. \"0x1::coin\"\n   * @param func Function name\n   * @param ty_args Type arguments that move function requires.\n   *\n   * @example\n   * A coin transfer function has one type argument \"CoinType\".\n   * ```\n   * public(script) fun transfer<CoinType>(from: &signer, to: address, amount: u64,)\n   * ```\n   * @param args Arugments to the move function.\n   *\n   * @example\n   * A coin transfer function has three arugments \"from\", \"to\" and \"amount\".\n   * ```\n   * public(script) fun transfer<CoinType>(from: &signer, to: address, amount: u64,)\n   * ```\n   * @returns\n   */\n  static natural(module: string, func: string, ty_args: Seq<TypeTag>, args: Seq<Bytes>): EntryFunction {\n    return new EntryFunction(ModuleId.fromStr(module), new Identifier(func), ty_args, args);\n  }\n\n  /**\n   * `natual` is deprecated, please use `natural`\n   *\n   * @deprecated.\n   */\n  static natual(module: string, func: string, ty_args: Seq<TypeTag>, args: Seq<Bytes>): EntryFunction {\n    return EntryFunction.natural(module, func, ty_args, args);\n  }\n\n  serialize(serializer: Serializer): void {\n    this.module_name.serialize(serializer);\n    this.function_name.serialize(serializer);\n    serializeVector<TypeTag>(this.ty_args, serializer);\n\n    serializer.serializeU32AsUleb128(this.args.length);\n    this.args.forEach((item: Bytes) => {\n      serializer.serializeBytes(item);\n    });\n  }\n\n  static deserialize(deserializer: Deserializer): EntryFunction {\n    const module_name = ModuleId.deserialize(deserializer);\n    const function_name = Identifier.deserialize(deserializer);\n    const ty_args = deserializeVector(deserializer, TypeTag);\n\n    const length = deserializer.deserializeUleb128AsU32();\n    const list: Seq<Bytes> = [];\n    for (let i = 0; i < length; i += 1) {\n      list.push(deserializer.deserializeBytes());\n    }\n\n    const args = list;\n    return new EntryFunction(module_name, function_name, ty_args, args);\n  }\n}\n\nexport class MultiSigTransactionPayload {\n  /**\n   * Contains the payload to run a multisig account transaction.\n   * @param transaction_payload The payload of the multisig transaction. This can only be EntryFunction for now but\n   * Script might be supported in the future.\n   */\n  constructor(public readonly transaction_payload: EntryFunction) {}\n\n  serialize(serializer: Serializer): void {\n    // We can support multiple types of inner transaction payload in the future.\n    // For now it's only EntryFunction but if we support more types, we need to serialize with the right enum values\n    // here\n    serializer.serializeU32AsUleb128(0);\n    this.transaction_payload.serialize(serializer);\n  }\n\n  static deserialize(deserializer: Deserializer): MultiSigTransactionPayload {\n    // TODO: Support other types of payload beside EntryFunction.\n    // This is the enum value indicating which type of payload the multisig tx contains.\n    deserializer.deserializeUleb128AsU32();\n    return new MultiSigTransactionPayload(EntryFunction.deserialize(deserializer));\n  }\n}\n\nexport class MultiSig {\n  /**\n   * Contains the payload to run a multisig account transaction.\n   * @param multisig_address The multisig account address the transaction will be executed as.\n   * @param transaction_payload The payload of the multisig transaction. This is optional when executing a multisig\n   *  transaction whose payload is already stored on chain.\n   */\n  constructor(\n    public readonly multisig_address: AccountAddress,\n    public readonly transaction_payload?: MultiSigTransactionPayload,\n  ) {}\n\n  serialize(serializer: Serializer): void {\n    this.multisig_address.serialize(serializer);\n    // Options are encoded with an extra u8 field before the value - 0x0 is none and 0x1 is present.\n    // We use serializeBool below to create this prefix value.\n    if (this.transaction_payload === undefined) {\n      serializer.serializeBool(false);\n    } else {\n      serializer.serializeBool(true);\n      this.transaction_payload.serialize(serializer);\n    }\n  }\n\n  static deserialize(deserializer: Deserializer): MultiSig {\n    const multisig_address = AccountAddress.deserialize(deserializer);\n    const payloadPresent = deserializer.deserializeBool();\n    let transaction_payload;\n    if (payloadPresent) {\n      transaction_payload = MultiSigTransactionPayload.deserialize(deserializer);\n    }\n    return new MultiSig(multisig_address, transaction_payload);\n  }\n}\n\nexport class Module {\n  /**\n   * Contains the bytecode of a Move module that can be published to the Aptos chain.\n   * @param code Move bytecode of a module.\n   */\n  constructor(public readonly code: Bytes) {}\n\n  serialize(serializer: Serializer): void {\n    serializer.serializeBytes(this.code);\n  }\n\n  static deserialize(deserializer: Deserializer): Module {\n    const code = deserializer.deserializeBytes();\n    return new Module(code);\n  }\n}\n\nexport class ModuleId {\n  /**\n   * Full name of a module.\n   * @param address The account address.\n   * @param name The name of the module under the account at \"address\".\n   */\n  constructor(\n    public readonly address: AccountAddress,\n    public readonly name: Identifier,\n  ) {}\n\n  /**\n   * Converts a string literal to a ModuleId\n   * @param moduleId String literal in format \"AccountAddress::module_name\", e.g. \"0x1::coin\"\n   * @returns\n   */\n  static fromStr(moduleId: string): ModuleId {\n    const parts = moduleId.split(\"::\");\n    if (parts.length !== 2) {\n      throw new Error(\"Invalid module id.\");\n    }\n    return new ModuleId(AccountAddress.fromHex(new HexString(parts[0])), new Identifier(parts[1]));\n  }\n\n  serialize(serializer: Serializer): void {\n    this.address.serialize(serializer);\n    this.name.serialize(serializer);\n  }\n\n  static deserialize(deserializer: Deserializer): ModuleId {\n    const address = AccountAddress.deserialize(deserializer);\n    const name = Identifier.deserialize(deserializer);\n    return new ModuleId(address, name);\n  }\n}\n\nexport class ChangeSet {\n  serialize(serializer: Serializer): void {\n    throw new Error(\"Not implemented.\");\n  }\n\n  static deserialize(deserializer: Deserializer): ChangeSet {\n    throw new Error(\"Not implemented.\");\n  }\n}\n\nexport class WriteSet {\n  serialize(serializer: Serializer): void {\n    throw new Error(\"Not implmented.\");\n  }\n\n  static deserialize(deserializer: Deserializer): WriteSet {\n    throw new Error(\"Not implmented.\");\n  }\n}\n\nexport class SignedTransaction {\n  /**\n   * A SignedTransaction consists of a raw transaction and an authenticator. The authenticator\n   * contains a client's public key and the signature of the raw transaction.\n   *\n   * @see {@link https://aptos.dev/guides/creating-a-signed-transaction/ | Creating a Signed Transaction}\n   *\n   * @param raw_txn\n   * @param authenticator Contains a client's public key and the signature of the raw transaction.\n   *   Authenticator has 3 flavors: single signature, multi-signature and multi-agent.\n   *   @see authenticator.ts for details.\n   */\n  constructor(\n    public readonly raw_txn: RawTransaction,\n    public readonly authenticator: TransactionAuthenticator,\n  ) {}\n\n  serialize(serializer: Serializer): void {\n    this.raw_txn.serialize(serializer);\n    this.authenticator.serialize(serializer);\n  }\n\n  static deserialize(deserializer: Deserializer): SignedTransaction {\n    const raw_txn = RawTransaction.deserialize(deserializer);\n    const authenticator = TransactionAuthenticator.deserialize(deserializer);\n    return new SignedTransaction(raw_txn, authenticator);\n  }\n}\n\nexport abstract class RawTransactionWithData {\n  abstract serialize(serializer: Serializer): void;\n\n  static deserialize(deserializer: Deserializer): RawTransactionWithData {\n    const index = deserializer.deserializeUleb128AsU32();\n    switch (index) {\n      case 0:\n        return MultiAgentRawTransaction.load(deserializer);\n      case 1:\n        return FeePayerRawTransaction.load(deserializer);\n      default:\n        throw new Error(`Unknown variant index for RawTransactionWithData: ${index}`);\n    }\n  }\n}\n\nexport class MultiAgentRawTransaction extends RawTransactionWithData {\n  constructor(\n    public readonly raw_txn: RawTransaction,\n    public readonly secondary_signer_addresses: Seq<AccountAddress>,\n  ) {\n    super();\n  }\n\n  serialize(serializer: Serializer): void {\n    // enum variant index\n    serializer.serializeU32AsUleb128(0);\n    this.raw_txn.serialize(serializer);\n    serializeVector<TransactionArgument>(this.secondary_signer_addresses, serializer);\n  }\n\n  static load(deserializer: Deserializer): MultiAgentRawTransaction {\n    const rawTxn = RawTransaction.deserialize(deserializer);\n    const secondarySignerAddresses = deserializeVector(deserializer, AccountAddress);\n\n    return new MultiAgentRawTransaction(rawTxn, secondarySignerAddresses);\n  }\n}\n\nexport class FeePayerRawTransaction extends RawTransactionWithData {\n  constructor(\n    public readonly raw_txn: RawTransaction,\n    public readonly secondary_signer_addresses: Seq<AccountAddress>,\n    public readonly fee_payer_address: AccountAddress,\n  ) {\n    super();\n  }\n\n  serialize(serializer: Serializer): void {\n    // enum variant index\n    serializer.serializeU32AsUleb128(1);\n    this.raw_txn.serialize(serializer);\n    serializeVector<TransactionArgument>(this.secondary_signer_addresses, serializer);\n    this.fee_payer_address.serialize(serializer);\n  }\n\n  static load(deserializer: Deserializer): FeePayerRawTransaction {\n    const rawTxn = RawTransaction.deserialize(deserializer);\n    const secondarySignerAddresses = deserializeVector(deserializer, AccountAddress);\n    const feePayerAddress = AccountAddress.deserialize(deserializer);\n\n    return new FeePayerRawTransaction(rawTxn, secondarySignerAddresses, feePayerAddress);\n  }\n}\n\nexport abstract class TransactionPayload {\n  abstract serialize(serializer: Serializer): void;\n\n  static deserialize(deserializer: Deserializer): TransactionPayload {\n    const index = deserializer.deserializeUleb128AsU32();\n    switch (index) {\n      case 0:\n        return TransactionPayloadScript.load(deserializer);\n      // TODO: change to 1 once ModuleBundle has been removed from rust\n      case 2:\n        return TransactionPayloadEntryFunction.load(deserializer);\n      case 3:\n        return TransactionPayloadMultisig.load(deserializer);\n      default:\n        throw new Error(`Unknown variant index for TransactionPayload: ${index}`);\n    }\n  }\n}\n\nexport class TransactionPayloadScript extends TransactionPayload {\n  constructor(public readonly value: Script) {\n    super();\n  }\n\n  serialize(serializer: Serializer): void {\n    serializer.serializeU32AsUleb128(0);\n    this.value.serialize(serializer);\n  }\n\n  static load(deserializer: Deserializer): TransactionPayloadScript {\n    const value = Script.deserialize(deserializer);\n    return new TransactionPayloadScript(value);\n  }\n}\n\nexport class TransactionPayloadEntryFunction extends TransactionPayload {\n  constructor(public readonly value: EntryFunction) {\n    super();\n  }\n\n  serialize(serializer: Serializer): void {\n    serializer.serializeU32AsUleb128(2);\n    this.value.serialize(serializer);\n  }\n\n  static load(deserializer: Deserializer): TransactionPayloadEntryFunction {\n    const value = EntryFunction.deserialize(deserializer);\n    return new TransactionPayloadEntryFunction(value);\n  }\n}\n\nexport class TransactionPayloadMultisig extends TransactionPayload {\n  constructor(public readonly value: MultiSig) {\n    super();\n  }\n\n  serialize(serializer: Serializer): void {\n    serializer.serializeU32AsUleb128(3);\n    this.value.serialize(serializer);\n  }\n\n  static load(deserializer: Deserializer): TransactionPayloadMultisig {\n    const value = MultiSig.deserialize(deserializer);\n    return new TransactionPayloadMultisig(value);\n  }\n}\n\nexport class ChainId {\n  constructor(public readonly value: Uint8) {}\n\n  serialize(serializer: Serializer): void {\n    serializer.serializeU8(this.value);\n  }\n\n  static deserialize(deserializer: Deserializer): ChainId {\n    const value = deserializer.deserializeU8();\n    return new ChainId(value);\n  }\n}\n\nexport abstract class TransactionArgument {\n  abstract serialize(serializer: Serializer): void;\n\n  static deserialize(deserializer: Deserializer): TransactionArgument {\n    const index = deserializer.deserializeUleb128AsU32();\n    switch (index) {\n      case 0:\n        return TransactionArgumentU8.load(deserializer);\n      case 1:\n        return TransactionArgumentU64.load(deserializer);\n      case 2:\n        return TransactionArgumentU128.load(deserializer);\n      case 3:\n        return TransactionArgumentAddress.load(deserializer);\n      case 4:\n        return TransactionArgumentU8Vector.load(deserializer);\n      case 5:\n        return TransactionArgumentBool.load(deserializer);\n      case 6:\n        return TransactionArgumentU16.load(deserializer);\n      case 7:\n        return TransactionArgumentU32.load(deserializer);\n      case 8:\n        return TransactionArgumentU256.load(deserializer);\n      default:\n        throw new Error(`Unknown variant index for TransactionArgument: ${index}`);\n    }\n  }\n}\n\nexport class TransactionArgumentU8 extends TransactionArgument {\n  constructor(public readonly value: Uint8) {\n    super();\n  }\n\n  serialize(serializer: Serializer): void {\n    serializer.serializeU32AsUleb128(0);\n    serializer.serializeU8(this.value);\n  }\n\n  static load(deserializer: Deserializer): TransactionArgumentU8 {\n    const value = deserializer.deserializeU8();\n    return new TransactionArgumentU8(value);\n  }\n}\n\nexport class TransactionArgumentU16 extends TransactionArgument {\n  constructor(public readonly value: Uint16) {\n    super();\n  }\n\n  serialize(serializer: Serializer): void {\n    serializer.serializeU32AsUleb128(6);\n    serializer.serializeU16(this.value);\n  }\n\n  static load(deserializer: Deserializer): TransactionArgumentU16 {\n    const value = deserializer.deserializeU16();\n    return new TransactionArgumentU16(value);\n  }\n}\n\nexport class TransactionArgumentU32 extends TransactionArgument {\n  constructor(public readonly value: Uint16) {\n    super();\n  }\n\n  serialize(serializer: Serializer): void {\n    serializer.serializeU32AsUleb128(7);\n    serializer.serializeU32(this.value);\n  }\n\n  static load(deserializer: Deserializer): TransactionArgumentU32 {\n    const value = deserializer.deserializeU32();\n    return new TransactionArgumentU32(value);\n  }\n}\n\nexport class TransactionArgumentU64 extends TransactionArgument {\n  constructor(public readonly value: Uint64) {\n    super();\n  }\n\n  serialize(serializer: Serializer): void {\n    serializer.serializeU32AsUleb128(1);\n    serializer.serializeU64(this.value);\n  }\n\n  static load(deserializer: Deserializer): TransactionArgumentU64 {\n    const value = deserializer.deserializeU64();\n    return new TransactionArgumentU64(value);\n  }\n}\n\nexport class TransactionArgumentU128 extends TransactionArgument {\n  constructor(public readonly value: Uint128) {\n    super();\n  }\n\n  serialize(serializer: Serializer): void {\n    serializer.serializeU32AsUleb128(2);\n    serializer.serializeU128(this.value);\n  }\n\n  static load(deserializer: Deserializer): TransactionArgumentU128 {\n    const value = deserializer.deserializeU128();\n    return new TransactionArgumentU128(value);\n  }\n}\n\nexport class TransactionArgumentU256 extends TransactionArgument {\n  constructor(public readonly value: Uint256) {\n    super();\n  }\n\n  serialize(serializer: Serializer): void {\n    serializer.serializeU32AsUleb128(8);\n    serializer.serializeU256(this.value);\n  }\n\n  static load(deserializer: Deserializer): TransactionArgumentU256 {\n    const value = deserializer.deserializeU256();\n    return new TransactionArgumentU256(value);\n  }\n}\n\nexport class TransactionArgumentAddress extends TransactionArgument {\n  constructor(public readonly value: AccountAddress) {\n    super();\n  }\n\n  serialize(serializer: Serializer): void {\n    serializer.serializeU32AsUleb128(3);\n    this.value.serialize(serializer);\n  }\n\n  static load(deserializer: Deserializer): TransactionArgumentAddress {\n    const value = AccountAddress.deserialize(deserializer);\n    return new TransactionArgumentAddress(value);\n  }\n}\n\nexport class TransactionArgumentU8Vector extends TransactionArgument {\n  constructor(public readonly value: Bytes) {\n    super();\n  }\n\n  serialize(serializer: Serializer): void {\n    serializer.serializeU32AsUleb128(4);\n    serializer.serializeBytes(this.value);\n  }\n\n  static load(deserializer: Deserializer): TransactionArgumentU8Vector {\n    const value = deserializer.deserializeBytes();\n    return new TransactionArgumentU8Vector(value);\n  }\n}\n\nexport class TransactionArgumentBool extends TransactionArgument {\n  constructor(public readonly value: boolean) {\n    super();\n  }\n\n  serialize(serializer: Serializer): void {\n    serializer.serializeU32AsUleb128(5);\n    serializer.serializeBool(this.value);\n  }\n\n  static load(deserializer: Deserializer): TransactionArgumentBool {\n    const value = deserializer.deserializeBool();\n    return new TransactionArgumentBool(value);\n  }\n}\n\nexport abstract class Transaction {\n  abstract serialize(serializer: Serializer): void;\n\n  abstract hash(): Bytes;\n\n  getHashSalt(): Bytes {\n    const hash = sha3Hash.create();\n    hash.update(\"APTOS::Transaction\");\n    return hash.digest();\n  }\n\n  static deserialize(deserializer: Deserializer): Transaction {\n    const index = deserializer.deserializeUleb128AsU32();\n    switch (index) {\n      case 0:\n        return UserTransaction.load(deserializer);\n      default:\n        throw new Error(`Unknown variant index for Transaction: ${index}`);\n    }\n  }\n}\n\nexport class UserTransaction extends Transaction {\n  constructor(public readonly value: SignedTransaction) {\n    super();\n  }\n\n  hash(): Bytes {\n    const hash = sha3Hash.create();\n    hash.update(this.getHashSalt());\n    hash.update(bcsToBytes(this));\n    return hash.digest();\n  }\n\n  serialize(serializer: Serializer): void {\n    serializer.serializeU32AsUleb128(0);\n    this.value.serialize(serializer);\n  }\n\n  static load(deserializer: Deserializer): UserTransaction {\n    return new UserTransaction(SignedTransaction.deserialize(deserializer));\n  }\n}\n","// Copyright © Aptos Foundation\n// SPDX-License-Identifier: Apache-2.0\n\nimport { HexString, MaybeHexString } from \"../utils\";\nimport { Serializer, Deserializer, Bytes } from \"../bcs\";\n\n/**\n * Exported as TransactionBuilderTypes.AccountAddress\n */\nexport class AccountAddress {\n  static readonly LENGTH: number = 32;\n\n  readonly address: Bytes;\n\n  static CORE_CODE_ADDRESS: AccountAddress = AccountAddress.fromHex(\"0x1\");\n\n  constructor(address: Bytes) {\n    if (address.length !== AccountAddress.LENGTH) {\n      throw new Error(\"Expected address of length 32\");\n    }\n    this.address = address;\n  }\n\n  /**\n   * Creates AccountAddress from a hex string.\n   * @param addr Hex string can be with a prefix or without a prefix,\n   *   e.g. '0x1aa' or '1aa'. Hex string will be left padded with 0s if too short.\n   */\n  static fromHex(addr: MaybeHexString): AccountAddress {\n    let address = HexString.ensure(addr);\n\n    // If an address hex has odd number of digits, padd the hex string with 0\n    // e.g. '1aa' would become '01aa'.\n    if (address.noPrefix().length % 2 !== 0) {\n      address = new HexString(`0${address.noPrefix()}`);\n    }\n\n    const addressBytes = address.toUint8Array();\n\n    if (addressBytes.length > AccountAddress.LENGTH) {\n      // eslint-disable-next-line quotes\n      throw new Error(\"Hex string is too long. Address's length is 32 bytes.\");\n    } else if (addressBytes.length === AccountAddress.LENGTH) {\n      return new AccountAddress(addressBytes);\n    }\n\n    const res: Bytes = new Uint8Array(AccountAddress.LENGTH);\n    res.set(addressBytes, AccountAddress.LENGTH - addressBytes.length);\n\n    return new AccountAddress(res);\n  }\n\n  /**\n   * Checks if the string is a valid AccountAddress\n   * @param addr Hex string can be with a prefix or without a prefix,\n   *   e.g. '0x1aa' or '1aa'. Hex string will be left padded with 0s if too short.\n   */\n  static isValid(addr: MaybeHexString): boolean {\n    // At least one zero is required\n    if (addr === \"\") {\n      return false;\n    }\n\n    let address = HexString.ensure(addr);\n\n    // If an address hex has odd number of digits, padd the hex string with 0\n    // e.g. '1aa' would become '01aa'.\n    if (address.noPrefix().length % 2 !== 0) {\n      address = new HexString(`0${address.noPrefix()}`);\n    }\n\n    const addressBytes = address.toUint8Array();\n\n    return addressBytes.length <= AccountAddress.LENGTH;\n  }\n\n  /**\n   * Return a hex string from account Address.\n   */\n  toHexString(): MaybeHexString {\n    return HexString.fromUint8Array(this.address).hex();\n  }\n\n  serialize(serializer: Serializer): void {\n    serializer.serializeFixedBytes(this.address);\n  }\n\n  static deserialize(deserializer: Deserializer): AccountAddress {\n    return new AccountAddress(deserializer.deserializeFixedBytes(AccountAddress.LENGTH));\n  }\n\n  /**\n   * Standardizes an address to the format \"0x\" followed by 64 lowercase hexadecimal digits.\n   */\n  static standardizeAddress(address: string): string {\n    // Convert the address to lowercase\n    const lowercaseAddress = address.toLowerCase();\n    // Remove the \"0x\" prefix if present\n    const addressWithoutPrefix = lowercaseAddress.startsWith(\"0x\") ? lowercaseAddress.slice(2) : lowercaseAddress;\n    // Pad the address with leading zeros if necessary\n    // to ensure it has exactly 64 characters (excluding the \"0x\" prefix)\n    const addressWithPadding = addressWithoutPrefix.padStart(64, \"0\");\n    // Return the standardized address with the \"0x\" prefix\n    return `0x${addressWithPadding}`;\n  }\n}\n","// Copyright © Aptos Foundation\n// SPDX-License-Identifier: Apache-2.0\n\nimport { Bytes, Deserializer, Serializer } from \"../bcs\";\n\nexport class Ed25519PublicKey {\n  static readonly LENGTH: number = 32;\n\n  readonly value: Bytes;\n\n  constructor(value: Bytes) {\n    if (value.length !== Ed25519PublicKey.LENGTH) {\n      throw new Error(`Ed25519PublicKey length should be ${Ed25519PublicKey.LENGTH}`);\n    }\n    this.value = value;\n  }\n\n  toBytes(): Bytes {\n    return this.value;\n  }\n\n  serialize(serializer: Serializer): void {\n    serializer.serializeBytes(this.value);\n  }\n\n  static deserialize(deserializer: Deserializer): Ed25519PublicKey {\n    const value = deserializer.deserializeBytes();\n    return new Ed25519PublicKey(value);\n  }\n}\n\nexport class Ed25519Signature {\n  static readonly LENGTH = 64;\n\n  constructor(public readonly value: Bytes) {\n    if (value.length !== Ed25519Signature.LENGTH) {\n      throw new Error(`Ed25519Signature length should be ${Ed25519Signature.LENGTH}`);\n    }\n  }\n\n  serialize(serializer: Serializer): void {\n    serializer.serializeBytes(this.value);\n  }\n\n  static deserialize(deserializer: Deserializer): Ed25519Signature {\n    const value = deserializer.deserializeBytes();\n    return new Ed25519Signature(value);\n  }\n}\n","// Copyright © Aptos Foundation\n// SPDX-License-Identifier: Apache-2.0\n\n/* eslint-disable no-bitwise */\nimport { Bytes, Deserializer, Seq, Serializer, Uint8 } from \"../bcs\";\nimport { Ed25519PublicKey, Ed25519Signature } from \"./ed25519\";\n\n/**\n * MultiEd25519 currently supports at most 32 signatures.\n */\nconst MAX_SIGNATURES_SUPPORTED = 32;\n\nexport class MultiEd25519PublicKey {\n  /**\n   * Public key for a K-of-N multisig transaction. A K-of-N multisig transaction means that for such a\n   * transaction to be executed, at least K out of the N authorized signers have signed the transaction\n   * and passed the check conducted by the chain.\n   *\n   * @see {@link\n   * https://aptos.dev/guides/creating-a-signed-transaction#multisignature-transactions | Creating a Signed Transaction}\n   *\n   * @param public_keys A list of public keys\n   * @param threshold At least \"threshold\" signatures must be valid\n   */\n  constructor(\n    public readonly public_keys: Seq<Ed25519PublicKey>,\n    public readonly threshold: Uint8,\n  ) {\n    if (threshold > MAX_SIGNATURES_SUPPORTED) {\n      throw new Error(`\"threshold\" cannot be larger than ${MAX_SIGNATURES_SUPPORTED}`);\n    }\n  }\n\n  /**\n   * Converts a MultiEd25519PublicKey into bytes with: bytes = p1_bytes | ... | pn_bytes | threshold\n   */\n  toBytes(): Bytes {\n    const bytes = new Uint8Array(this.public_keys.length * Ed25519PublicKey.LENGTH + 1);\n    this.public_keys.forEach((k: Ed25519PublicKey, i: number) => {\n      bytes.set(k.value, i * Ed25519PublicKey.LENGTH);\n    });\n\n    bytes[this.public_keys.length * Ed25519PublicKey.LENGTH] = this.threshold;\n\n    return bytes;\n  }\n\n  serialize(serializer: Serializer): void {\n    serializer.serializeBytes(this.toBytes());\n  }\n\n  static deserialize(deserializer: Deserializer): MultiEd25519PublicKey {\n    const bytes = deserializer.deserializeBytes();\n    const threshold = bytes[bytes.length - 1];\n\n    const keys: Seq<Ed25519PublicKey> = [];\n\n    for (let i = 0; i < bytes.length - 1; i += Ed25519PublicKey.LENGTH) {\n      const begin = i;\n      keys.push(new Ed25519PublicKey(bytes.subarray(begin, begin + Ed25519PublicKey.LENGTH)));\n    }\n    return new MultiEd25519PublicKey(keys, threshold);\n  }\n}\n\nexport class MultiEd25519Signature {\n  static BITMAP_LEN: Uint8 = 4;\n\n  /**\n   * Signature for a K-of-N multisig transaction.\n   *\n   * @see {@link\n   * https://aptos.dev/guides/creating-a-signed-transaction#multisignature-transactions | Creating a Signed Transaction}\n   *\n   * @param signatures A list of ed25519 signatures\n   * @param bitmap 4 bytes, at most 32 signatures are supported. If Nth bit value is `1`, the Nth\n   * signature should be provided in `signatures`. Bits are read from left to right\n   */\n  constructor(\n    public readonly signatures: Seq<Ed25519Signature>,\n    public readonly bitmap: Uint8Array,\n  ) {\n    if (bitmap.length !== MultiEd25519Signature.BITMAP_LEN) {\n      throw new Error(`\"bitmap\" length should be ${MultiEd25519Signature.BITMAP_LEN}`);\n    }\n  }\n\n  /**\n   * Converts a MultiEd25519Signature into bytes with `bytes = s1_bytes | ... | sn_bytes | bitmap`\n   */\n  toBytes(): Bytes {\n    const bytes = new Uint8Array(this.signatures.length * Ed25519Signature.LENGTH + MultiEd25519Signature.BITMAP_LEN);\n    this.signatures.forEach((k: Ed25519Signature, i: number) => {\n      bytes.set(k.value, i * Ed25519Signature.LENGTH);\n    });\n\n    bytes.set(this.bitmap, this.signatures.length * Ed25519Signature.LENGTH);\n\n    return bytes;\n  }\n\n  /**\n   * Helper method to create a bitmap out of the specified bit positions\n   * @param bits The bitmap positions that should be set. A position starts at index 0.\n   * Valid position should range between 0 and 31.\n   * @example\n   * Here's an example of valid `bits`\n   * ```\n   * [0, 2, 31]\n   * ```\n   * `[0, 2, 31]` means the 1st, 3rd and 32nd bits should be set in the bitmap.\n   * The result bitmap should be 0b1010000000000000000000000000001\n   *\n   * @returns bitmap that is 32bit long\n   */\n  static createBitmap(bits: Seq<Uint8>): Uint8Array {\n    // Bits are read from left to right. e.g. 0b10000000 represents the first bit is set in one byte.\n    // The decimal value of 0b10000000 is 128.\n    const firstBitInByte = 128;\n    const bitmap = new Uint8Array([0, 0, 0, 0]);\n\n    // Check if duplicates exist in bits\n    const dupCheckSet = new Set();\n\n    bits.forEach((bit: number) => {\n      if (bit >= MAX_SIGNATURES_SUPPORTED) {\n        throw new Error(`Invalid bit value ${bit}.`);\n      }\n\n      if (dupCheckSet.has(bit)) {\n        throw new Error(\"Duplicated bits detected.\");\n      }\n\n      dupCheckSet.add(bit);\n\n      const byteOffset = Math.floor(bit / 8);\n\n      let byte = bitmap[byteOffset];\n\n      byte |= firstBitInByte >> bit % 8;\n\n      bitmap[byteOffset] = byte;\n    });\n\n    return bitmap;\n  }\n\n  serialize(serializer: Serializer): void {\n    serializer.serializeBytes(this.toBytes());\n  }\n\n  static deserialize(deserializer: Deserializer): MultiEd25519Signature {\n    const bytes = deserializer.deserializeBytes();\n    const bitmap = bytes.subarray(bytes.length - 4);\n\n    const sigs: Seq<Ed25519Signature> = [];\n\n    for (let i = 0; i < bytes.length - bitmap.length; i += Ed25519Signature.LENGTH) {\n      const begin = i;\n      sigs.push(new Ed25519Signature(bytes.subarray(begin, begin + Ed25519Signature.LENGTH)));\n    }\n    return new MultiEd25519Signature(sigs, bitmap);\n  }\n}\n","// Copyright © Aptos Foundation\n// SPDX-License-Identifier: Apache-2.0\n\n/* eslint-disable @typescript-eslint/naming-convention */\nimport { AccountAddress } from \"./account_address\";\nimport { Serializer, Deserializer, Seq, deserializeVector, serializeVector } from \"../bcs\";\nimport { Ed25519PublicKey, Ed25519Signature } from \"./ed25519\";\nimport { MultiEd25519PublicKey, MultiEd25519Signature } from \"./multi_ed25519\";\n\nexport abstract class TransactionAuthenticator {\n  abstract serialize(serializer: Serializer): void;\n\n  static deserialize(deserializer: Deserializer): TransactionAuthenticator {\n    const index = deserializer.deserializeUleb128AsU32();\n    switch (index) {\n      case 0:\n        return TransactionAuthenticatorEd25519.load(deserializer);\n      case 1:\n        return TransactionAuthenticatorMultiEd25519.load(deserializer);\n      case 2:\n        return TransactionAuthenticatorMultiAgent.load(deserializer);\n      case 3:\n        return TransactionAuthenticatorFeePayer.load(deserializer);\n      default:\n        throw new Error(`Unknown variant index for TransactionAuthenticator: ${index}`);\n    }\n  }\n}\n\nexport class TransactionAuthenticatorEd25519 extends TransactionAuthenticator {\n  /**\n   * An authenticator for single signature.\n   *\n   * @param public_key Client's public key.\n   * @param signature Signature of a raw transaction.\n   * @see {@link https://aptos.dev/guides/creating-a-signed-transaction/ | Creating a Signed Transaction}\n   * for details about generating a signature.\n   */\n  constructor(\n    public readonly public_key: Ed25519PublicKey,\n    public readonly signature: Ed25519Signature,\n  ) {\n    super();\n  }\n\n  serialize(serializer: Serializer): void {\n    serializer.serializeU32AsUleb128(0);\n    this.public_key.serialize(serializer);\n    this.signature.serialize(serializer);\n  }\n\n  static load(deserializer: Deserializer): TransactionAuthenticatorEd25519 {\n    const public_key = Ed25519PublicKey.deserialize(deserializer);\n    const signature = Ed25519Signature.deserialize(deserializer);\n    return new TransactionAuthenticatorEd25519(public_key, signature);\n  }\n}\n\nexport class TransactionAuthenticatorMultiEd25519 extends TransactionAuthenticator {\n  /**\n   * An authenticator for multiple signatures.\n   *\n   * @param public_key\n   * @param signature\n   *\n   */\n  constructor(\n    public readonly public_key: MultiEd25519PublicKey,\n    public readonly signature: MultiEd25519Signature,\n  ) {\n    super();\n  }\n\n  serialize(serializer: Serializer): void {\n    serializer.serializeU32AsUleb128(1);\n    this.public_key.serialize(serializer);\n    this.signature.serialize(serializer);\n  }\n\n  static load(deserializer: Deserializer): TransactionAuthenticatorMultiEd25519 {\n    const public_key = MultiEd25519PublicKey.deserialize(deserializer);\n    const signature = MultiEd25519Signature.deserialize(deserializer);\n    return new TransactionAuthenticatorMultiEd25519(public_key, signature);\n  }\n}\n\nexport class TransactionAuthenticatorMultiAgent extends TransactionAuthenticator {\n  constructor(\n    public readonly sender: AccountAuthenticator,\n    public readonly secondary_signer_addresses: Seq<AccountAddress>,\n    public readonly secondary_signers: Seq<AccountAuthenticator>,\n  ) {\n    super();\n  }\n\n  serialize(serializer: Serializer): void {\n    serializer.serializeU32AsUleb128(2);\n    this.sender.serialize(serializer);\n    serializeVector<AccountAddress>(this.secondary_signer_addresses, serializer);\n    serializeVector<AccountAuthenticator>(this.secondary_signers, serializer);\n  }\n\n  static load(deserializer: Deserializer): TransactionAuthenticatorMultiAgent {\n    const sender = AccountAuthenticator.deserialize(deserializer);\n    const secondary_signer_addresses = deserializeVector(deserializer, AccountAddress);\n    const secondary_signers = deserializeVector(deserializer, AccountAuthenticator);\n    return new TransactionAuthenticatorMultiAgent(sender, secondary_signer_addresses, secondary_signers);\n  }\n}\n\nexport class TransactionAuthenticatorFeePayer extends TransactionAuthenticator {\n  constructor(\n    public readonly sender: AccountAuthenticator,\n    public readonly secondary_signer_addresses: Seq<AccountAddress>,\n    public readonly secondary_signers: Seq<AccountAuthenticator>,\n    public readonly fee_payer: { address: AccountAddress; authenticator: AccountAuthenticator },\n  ) {\n    super();\n  }\n\n  serialize(serializer: Serializer): void {\n    serializer.serializeU32AsUleb128(3);\n    this.sender.serialize(serializer);\n    serializeVector<AccountAddress>(this.secondary_signer_addresses, serializer);\n    serializeVector<AccountAuthenticator>(this.secondary_signers, serializer);\n    this.fee_payer.address.serialize(serializer);\n    this.fee_payer.authenticator.serialize(serializer);\n  }\n\n  static load(deserializer: Deserializer): TransactionAuthenticatorMultiAgent {\n    const sender = AccountAuthenticator.deserialize(deserializer);\n    const secondary_signer_addresses = deserializeVector(deserializer, AccountAddress);\n    const secondary_signers = deserializeVector(deserializer, AccountAuthenticator);\n    const address = AccountAddress.deserialize(deserializer);\n    const authenticator = AccountAuthenticator.deserialize(deserializer);\n    const fee_payer = { address, authenticator };\n    return new TransactionAuthenticatorFeePayer(sender, secondary_signer_addresses, secondary_signers, fee_payer);\n  }\n}\n\nexport abstract class AccountAuthenticator {\n  abstract serialize(serializer: Serializer): void;\n\n  static deserialize(deserializer: Deserializer): AccountAuthenticator {\n    const index = deserializer.deserializeUleb128AsU32();\n    switch (index) {\n      case 0:\n        return AccountAuthenticatorEd25519.load(deserializer);\n      case 1:\n        return AccountAuthenticatorMultiEd25519.load(deserializer);\n      default:\n        throw new Error(`Unknown variant index for AccountAuthenticator: ${index}`);\n    }\n  }\n}\n\nexport class AccountAuthenticatorEd25519 extends AccountAuthenticator {\n  constructor(\n    public readonly public_key: Ed25519PublicKey,\n    public readonly signature: Ed25519Signature,\n  ) {\n    super();\n  }\n\n  serialize(serializer: Serializer): void {\n    serializer.serializeU32AsUleb128(0);\n    this.public_key.serialize(serializer);\n    this.signature.serialize(serializer);\n  }\n\n  static load(deserializer: Deserializer): AccountAuthenticatorEd25519 {\n    const public_key = Ed25519PublicKey.deserialize(deserializer);\n    const signature = Ed25519Signature.deserialize(deserializer);\n    return new AccountAuthenticatorEd25519(public_key, signature);\n  }\n}\n\nexport class AccountAuthenticatorMultiEd25519 extends AccountAuthenticator {\n  constructor(\n    public readonly public_key: MultiEd25519PublicKey,\n    public readonly signature: MultiEd25519Signature,\n  ) {\n    super();\n  }\n\n  serialize(serializer: Serializer): void {\n    serializer.serializeU32AsUleb128(1);\n    this.public_key.serialize(serializer);\n    this.signature.serialize(serializer);\n  }\n\n  static load(deserializer: Deserializer): AccountAuthenticatorMultiEd25519 {\n    const public_key = MultiEd25519PublicKey.deserialize(deserializer);\n    const signature = MultiEd25519Signature.deserialize(deserializer);\n    return new AccountAuthenticatorMultiEd25519(public_key, signature);\n  }\n}\n","// Copyright © Aptos Foundation\n// SPDX-License-Identifier: Apache-2.0\n\nimport { Deserializer, Serializer } from \"../bcs\";\n\nexport class Identifier {\n  constructor(public value: string) {}\n\n  public serialize(serializer: Serializer): void {\n    serializer.serializeStr(this.value);\n  }\n\n  static deserialize(deserializer: Deserializer): Identifier {\n    const value = deserializer.deserializeStr();\n    return new Identifier(value);\n  }\n}\n","// Copyright © Aptos Foundation\n// SPDX-License-Identifier: Apache-2.0\n\n/* eslint-disable @typescript-eslint/no-unused-vars */\n/* eslint-disable class-methods-use-this */\n/* eslint-disable max-classes-per-file */\nimport { AccountAddress } from \"./account_address\";\nimport { Deserializer, Seq, Serializer, deserializeVector, serializeVector } from \"../bcs\";\nimport { Identifier } from \"./identifier\";\n\nexport abstract class TypeTag {\n  abstract serialize(serializer: Serializer): void;\n\n  static deserialize(deserializer: Deserializer): TypeTag {\n    const index = deserializer.deserializeUleb128AsU32();\n    switch (index) {\n      case 0:\n        return TypeTagBool.load(deserializer);\n      case 1:\n        return TypeTagU8.load(deserializer);\n      case 2:\n        return TypeTagU64.load(deserializer);\n      case 3:\n        return TypeTagU128.load(deserializer);\n      case 4:\n        return TypeTagAddress.load(deserializer);\n      case 5:\n        return TypeTagSigner.load(deserializer);\n      case 6:\n        return TypeTagVector.load(deserializer);\n      case 7:\n        return TypeTagStruct.load(deserializer);\n      case 8:\n        return TypeTagU16.load(deserializer);\n      case 9:\n        return TypeTagU32.load(deserializer);\n      case 10:\n        return TypeTagU256.load(deserializer);\n      default:\n        throw new Error(`Unknown variant index for TypeTag: ${index}`);\n    }\n  }\n}\n\nexport class TypeTagBool extends TypeTag {\n  serialize(serializer: Serializer): void {\n    serializer.serializeU32AsUleb128(0);\n  }\n\n  static load(_deserializer: Deserializer): TypeTagBool {\n    return new TypeTagBool();\n  }\n}\n\nexport class TypeTagU8 extends TypeTag {\n  serialize(serializer: Serializer): void {\n    serializer.serializeU32AsUleb128(1);\n  }\n\n  static load(_deserializer: Deserializer): TypeTagU8 {\n    return new TypeTagU8();\n  }\n}\n\nexport class TypeTagU16 extends TypeTag {\n  serialize(serializer: Serializer): void {\n    serializer.serializeU32AsUleb128(8);\n  }\n\n  static load(_deserializer: Deserializer): TypeTagU16 {\n    return new TypeTagU16();\n  }\n}\n\nexport class TypeTagU32 extends TypeTag {\n  serialize(serializer: Serializer): void {\n    serializer.serializeU32AsUleb128(9);\n  }\n\n  static load(_deserializer: Deserializer): TypeTagU32 {\n    return new TypeTagU32();\n  }\n}\n\nexport class TypeTagU64 extends TypeTag {\n  serialize(serializer: Serializer): void {\n    serializer.serializeU32AsUleb128(2);\n  }\n\n  static load(_deserializer: Deserializer): TypeTagU64 {\n    return new TypeTagU64();\n  }\n}\n\nexport class TypeTagU128 extends TypeTag {\n  serialize(serializer: Serializer): void {\n    serializer.serializeU32AsUleb128(3);\n  }\n\n  static load(_deserializer: Deserializer): TypeTagU128 {\n    return new TypeTagU128();\n  }\n}\n\nexport class TypeTagU256 extends TypeTag {\n  serialize(serializer: Serializer): void {\n    serializer.serializeU32AsUleb128(10);\n  }\n\n  static load(_deserializer: Deserializer): TypeTagU256 {\n    return new TypeTagU256();\n  }\n}\n\nexport class TypeTagAddress extends TypeTag {\n  serialize(serializer: Serializer): void {\n    serializer.serializeU32AsUleb128(4);\n  }\n\n  static load(_deserializer: Deserializer): TypeTagAddress {\n    return new TypeTagAddress();\n  }\n}\n\nexport class TypeTagSigner extends TypeTag {\n  serialize(serializer: Serializer): void {\n    serializer.serializeU32AsUleb128(5);\n  }\n\n  static load(_deserializer: Deserializer): TypeTagSigner {\n    return new TypeTagSigner();\n  }\n}\n\nexport class TypeTagVector extends TypeTag {\n  constructor(public readonly value: TypeTag) {\n    super();\n  }\n\n  serialize(serializer: Serializer): void {\n    serializer.serializeU32AsUleb128(6);\n    this.value.serialize(serializer);\n  }\n\n  static load(deserializer: Deserializer): TypeTagVector {\n    const value = TypeTag.deserialize(deserializer);\n    return new TypeTagVector(value);\n  }\n}\n\nexport class TypeTagStruct extends TypeTag {\n  constructor(public readonly value: StructTag) {\n    super();\n  }\n\n  serialize(serializer: Serializer): void {\n    serializer.serializeU32AsUleb128(7);\n    this.value.serialize(serializer);\n  }\n\n  static load(deserializer: Deserializer): TypeTagStruct {\n    const value = StructTag.deserialize(deserializer);\n    return new TypeTagStruct(value);\n  }\n\n  isStringTypeTag(): boolean {\n    if (\n      this.value.module_name.value === \"string\" &&\n      this.value.name.value === \"String\" &&\n      this.value.address.toHexString() === AccountAddress.CORE_CODE_ADDRESS.toHexString()\n    ) {\n      return true;\n    }\n    return false;\n  }\n}\n\nexport class StructTag {\n  constructor(\n    public readonly address: AccountAddress,\n    public readonly module_name: Identifier,\n    public readonly name: Identifier,\n    public readonly type_args: Seq<TypeTag>,\n  ) {}\n\n  /**\n   * Converts a string literal to a StructTag\n   * @param structTag String literal in format \"AcountAddress::module_name::ResourceName\",\n   *   e.g. \"0x1::aptos_coin::AptosCoin\"\n   * @returns\n   */\n  static fromString(structTag: string): StructTag {\n    // Use the TypeTagParser to parse the string literal into a TypeTagStruct\n    const typeTagStruct = new TypeTagParser(structTag).parseTypeTag() as TypeTagStruct;\n\n    // Convert and return as a StructTag\n    return new StructTag(\n      typeTagStruct.value.address,\n      typeTagStruct.value.module_name,\n      typeTagStruct.value.name,\n      typeTagStruct.value.type_args,\n    );\n  }\n\n  serialize(serializer: Serializer): void {\n    this.address.serialize(serializer);\n    this.module_name.serialize(serializer);\n    this.name.serialize(serializer);\n    serializeVector<TypeTag>(this.type_args, serializer);\n  }\n\n  static deserialize(deserializer: Deserializer): StructTag {\n    const address = AccountAddress.deserialize(deserializer);\n    const moduleName = Identifier.deserialize(deserializer);\n    const name = Identifier.deserialize(deserializer);\n    const typeArgs = deserializeVector(deserializer, TypeTag);\n    return new StructTag(address, moduleName, name, typeArgs);\n  }\n}\n\nexport const stringStructTag = new StructTag(\n  AccountAddress.fromHex(\"0x1\"),\n  new Identifier(\"string\"),\n  new Identifier(\"String\"),\n  [],\n);\n\nexport function optionStructTag(typeArg: TypeTag): StructTag {\n  return new StructTag(AccountAddress.fromHex(\"0x1\"), new Identifier(\"option\"), new Identifier(\"Option\"), [typeArg]);\n}\n\nexport function objectStructTag(typeArg: TypeTag): StructTag {\n  return new StructTag(AccountAddress.fromHex(\"0x1\"), new Identifier(\"object\"), new Identifier(\"Object\"), [typeArg]);\n}\n\nfunction bail(message: string) {\n  throw new TypeTagParserError(message);\n}\n\nfunction isWhiteSpace(c: string): boolean {\n  if (c.match(/\\s/)) {\n    return true;\n  }\n  return false;\n}\n\nfunction isValidAlphabetic(c: string): boolean {\n  if (c.match(/[_A-Za-z0-9]/g)) {\n    return true;\n  }\n  return false;\n}\n\n// Generic format is T<digits> - for example T1, T2, T10\nfunction isGeneric(c: string): boolean {\n  if (c.match(/T\\d+/g)) {\n    return true;\n  }\n  return false;\n}\n\ntype TokenType = string;\ntype TokenValue = string;\ntype Token = [TokenType, TokenValue];\n\n// Returns Token and Token byte size\nfunction nextToken(tagStr: string, pos: number): [Token, number] {\n  const c = tagStr[pos];\n  if (c === \":\") {\n    if (tagStr.slice(pos, pos + 2) === \"::\") {\n      return [[\"COLON\", \"::\"], 2];\n    }\n    bail(\"Unrecognized token.\");\n  } else if (c === \"<\") {\n    return [[\"LT\", \"<\"], 1];\n  } else if (c === \">\") {\n    return [[\"GT\", \">\"], 1];\n  } else if (c === \",\") {\n    return [[\"COMMA\", \",\"], 1];\n  } else if (isWhiteSpace(c)) {\n    let res = \"\";\n    for (let i = pos; i < tagStr.length; i += 1) {\n      const char = tagStr[i];\n      if (isWhiteSpace(char)) {\n        res = `${res}${char}`;\n      } else {\n        break;\n      }\n    }\n    return [[\"SPACE\", res], res.length];\n  } else if (isValidAlphabetic(c)) {\n    let res = \"\";\n    for (let i = pos; i < tagStr.length; i += 1) {\n      const char = tagStr[i];\n      if (isValidAlphabetic(char)) {\n        res = `${res}${char}`;\n      } else {\n        break;\n      }\n    }\n    if (isGeneric(res)) {\n      return [[\"GENERIC\", res], res.length];\n    }\n    return [[\"IDENT\", res], res.length];\n  }\n  throw new Error(\"Unrecognized token.\");\n}\n\nfunction tokenize(tagStr: string): Token[] {\n  let pos = 0;\n  const tokens = [];\n  while (pos < tagStr.length) {\n    const [token, size] = nextToken(tagStr, pos);\n    if (token[0] !== \"SPACE\") {\n      tokens.push(token);\n    }\n    pos += size;\n  }\n  return tokens;\n}\n\n/**\n * Parser to parse a type tag string\n */\nexport class TypeTagParser {\n  private readonly tokens: Token[];\n\n  private readonly typeTags: string[] = [];\n\n  constructor(tagStr: string, typeTags?: string[]) {\n    this.tokens = tokenize(tagStr);\n    this.typeTags = typeTags || [];\n  }\n\n  private consume(targetToken: string) {\n    const token = this.tokens.shift();\n    if (!token || token[1] !== targetToken) {\n      bail(\"Invalid type tag.\");\n    }\n  }\n\n  /**\n   * Consumes all of an unused generic field, mostly applicable to object\n   *\n   * Note: This is recursive.  it can be problematic if there's bad input\n   * @private\n   */\n  private consumeWholeGeneric() {\n    this.consume(\"<\");\n    while (this.tokens[0][1] !== \">\") {\n      // If it is nested, we have to consume another nested generic\n      if (this.tokens[0][1] === \"<\") {\n        this.consumeWholeGeneric();\n      } else {\n        this.tokens.shift();\n      }\n    }\n    this.consume(\">\");\n  }\n\n  private parseCommaList(endToken: TokenValue, allowTraillingComma: boolean): TypeTag[] {\n    const res: TypeTag[] = [];\n    if (this.tokens.length <= 0) {\n      bail(\"Invalid type tag.\");\n    }\n\n    while (this.tokens[0][1] !== endToken) {\n      res.push(this.parseTypeTag());\n\n      if (this.tokens.length > 0 && this.tokens[0][1] === endToken) {\n        break;\n      }\n\n      this.consume(\",\");\n      if (this.tokens.length > 0 && this.tokens[0][1] === endToken && allowTraillingComma) {\n        break;\n      }\n\n      if (this.tokens.length <= 0) {\n        bail(\"Invalid type tag.\");\n      }\n    }\n    return res;\n  }\n\n  parseTypeTag(): TypeTag {\n    if (this.tokens.length === 0) {\n      bail(\"Invalid type tag.\");\n    }\n\n    // Pop left most element out\n    const [tokenTy, tokenVal] = this.tokens.shift()!;\n\n    if (tokenVal === \"u8\") {\n      return new TypeTagU8();\n    }\n    if (tokenVal === \"u16\") {\n      return new TypeTagU16();\n    }\n    if (tokenVal === \"u32\") {\n      return new TypeTagU32();\n    }\n    if (tokenVal === \"u64\") {\n      return new TypeTagU64();\n    }\n    if (tokenVal === \"u128\") {\n      return new TypeTagU128();\n    }\n    if (tokenVal === \"u256\") {\n      return new TypeTagU256();\n    }\n    if (tokenVal === \"bool\") {\n      return new TypeTagBool();\n    }\n    if (tokenVal === \"address\") {\n      return new TypeTagAddress();\n    }\n    if (tokenVal === \"vector\") {\n      this.consume(\"<\");\n      const res = this.parseTypeTag();\n      this.consume(\">\");\n      return new TypeTagVector(res);\n    }\n    if (tokenVal === \"string\") {\n      return new TypeTagStruct(stringStructTag);\n    }\n    if (tokenTy === \"IDENT\" && (tokenVal.startsWith(\"0x\") || tokenVal.startsWith(\"0X\"))) {\n      const address = AccountAddress.fromHex(tokenVal);\n      this.consume(\"::\");\n      const [moduleTokenTy, module] = this.tokens.shift()!;\n      if (moduleTokenTy !== \"IDENT\") {\n        bail(\"Invalid type tag.\");\n      }\n      this.consume(\"::\");\n      const [nameTokenTy, name] = this.tokens.shift()!;\n      if (nameTokenTy !== \"IDENT\") {\n        bail(\"Invalid type tag.\");\n      }\n\n      // Objects can contain either concrete types e.g. 0x1::object::ObjectCore or generics e.g. T\n      // Neither matter as we can't do type checks, so just the address applies and we consume the entire generic.\n      // TODO: Support parsing structs that don't come from core code address\n      if (\n        AccountAddress.CORE_CODE_ADDRESS.toHexString() === address.toHexString() &&\n        module === \"object\" &&\n        name === \"Object\"\n      ) {\n        this.consumeWholeGeneric();\n        return new TypeTagAddress();\n      }\n\n      let tyTags: TypeTag[] = [];\n      // Check if the struct has ty args\n      if (this.tokens.length > 0 && this.tokens[0][1] === \"<\") {\n        this.consume(\"<\");\n        tyTags = this.parseCommaList(\">\", true);\n        this.consume(\">\");\n      }\n\n      const structTag = new StructTag(address, new Identifier(module), new Identifier(name), tyTags);\n      return new TypeTagStruct(structTag);\n    }\n    if (tokenTy === \"GENERIC\") {\n      if (this.typeTags.length === 0) {\n        bail(\"Can't convert generic type since no typeTags were specified.\");\n      }\n      // a generic tokenVal has the format of `T<digit>`, for example `T1`.\n      // The digit (i.e 1) indicates the index of this type in the typeTags array.\n      // For a tokenVal == T1, should be parsed as the type in typeTags[1]\n      const idx = parseInt(tokenVal.substring(1), 10);\n      return new TypeTagParser(this.typeTags[idx]).parseTypeTag();\n    }\n\n    throw new Error(\"Invalid type tag.\");\n  }\n}\n\nexport class TypeTagParserError extends Error {\n  constructor(message: string) {\n    super(message);\n    this.name = \"TypeTagParserError\";\n  }\n}\n","// Copyright © Aptos Foundation\n// SPDX-License-Identifier: Apache-2.0\n\nimport { Deserializer, Serializer, Bytes, Seq, deserializeVector, serializeVector } from \"../bcs\";\n\nimport { ModuleId } from \"./transaction\";\n\nimport { TypeTag } from \"./type_tag\";\n\nexport class TypeArgumentABI {\n  /**\n   * Constructs a TypeArgumentABI instance.\n   * @param name\n   */\n  constructor(public readonly name: string) {}\n\n  serialize(serializer: Serializer): void {\n    serializer.serializeStr(this.name);\n  }\n\n  static deserialize(deserializer: Deserializer): TypeArgumentABI {\n    const name = deserializer.deserializeStr();\n    return new TypeArgumentABI(name);\n  }\n}\n\nexport class ArgumentABI {\n  /**\n   * Constructs an ArgumentABI instance.\n   * @param name\n   * @param type_tag\n   */\n  constructor(\n    public readonly name: string,\n    public readonly type_tag: TypeTag,\n  ) {}\n\n  serialize(serializer: Serializer): void {\n    serializer.serializeStr(this.name);\n    this.type_tag.serialize(serializer);\n  }\n\n  static deserialize(deserializer: Deserializer): ArgumentABI {\n    const name = deserializer.deserializeStr();\n    const typeTag = TypeTag.deserialize(deserializer);\n    return new ArgumentABI(name, typeTag);\n  }\n}\n\nexport abstract class ScriptABI {\n  abstract serialize(serializer: Serializer): void;\n\n  static deserialize(deserializer: Deserializer): ScriptABI {\n    const index = deserializer.deserializeUleb128AsU32();\n    switch (index) {\n      case 0:\n        return TransactionScriptABI.load(deserializer);\n      case 1:\n        return EntryFunctionABI.load(deserializer);\n      default:\n        throw new Error(`Unknown variant index for TransactionPayload: ${index}`);\n    }\n  }\n}\n\nexport class TransactionScriptABI extends ScriptABI {\n  /**\n   * Constructs a TransactionScriptABI instance.\n   * @param name Entry function name\n   * @param doc\n   * @param code\n   * @param ty_args\n   * @param args\n   */\n  constructor(\n    public readonly name: string,\n    public readonly doc: string,\n    public readonly code: Bytes,\n    public readonly ty_args: Seq<TypeArgumentABI>,\n    public readonly args: Seq<ArgumentABI>,\n  ) {\n    super();\n  }\n\n  serialize(serializer: Serializer): void {\n    serializer.serializeU32AsUleb128(0);\n    serializer.serializeStr(this.name);\n    serializer.serializeStr(this.doc);\n    serializer.serializeBytes(this.code);\n    serializeVector<TypeArgumentABI>(this.ty_args, serializer);\n    serializeVector<ArgumentABI>(this.args, serializer);\n  }\n\n  static load(deserializer: Deserializer): TransactionScriptABI {\n    const name = deserializer.deserializeStr();\n    const doc = deserializer.deserializeStr();\n    const code = deserializer.deserializeBytes();\n    const tyArgs = deserializeVector(deserializer, TypeArgumentABI);\n    const args = deserializeVector(deserializer, ArgumentABI);\n    return new TransactionScriptABI(name, doc, code, tyArgs, args);\n  }\n}\n\nexport class EntryFunctionABI extends ScriptABI {\n  /**\n   * Constructs a EntryFunctionABI instance\n   * @param name\n   * @param module_name Fully qualified module id\n   * @param doc\n   * @param ty_args\n   * @param args\n   */\n  constructor(\n    public readonly name: string,\n    public readonly module_name: ModuleId,\n    public readonly doc: string,\n    public readonly ty_args: Seq<TypeArgumentABI>,\n    public readonly args: Seq<ArgumentABI>,\n  ) {\n    super();\n  }\n\n  serialize(serializer: Serializer): void {\n    serializer.serializeU32AsUleb128(1);\n    serializer.serializeStr(this.name);\n    this.module_name.serialize(serializer);\n    serializer.serializeStr(this.doc);\n    serializeVector<TypeArgumentABI>(this.ty_args, serializer);\n    serializeVector<ArgumentABI>(this.args, serializer);\n  }\n\n  static load(deserializer: Deserializer): EntryFunctionABI {\n    const name = deserializer.deserializeStr();\n    const moduleName = ModuleId.deserialize(deserializer);\n    const doc = deserializer.deserializeStr();\n    const tyArgs = deserializeVector(deserializer, TypeArgumentABI);\n    const args = deserializeVector(deserializer, ArgumentABI);\n    return new EntryFunctionABI(name, moduleName, doc, tyArgs, args);\n  }\n}\n","// Copyright © Aptos Foundation\n// SPDX-License-Identifier: Apache-2.0\n\nimport { sha3_256 as sha3Hash } from \"@noble/hashes/sha3\";\nimport { HexString } from \"../utils\";\nimport { Bytes } from \"../bcs\";\nimport { MultiEd25519PublicKey } from \"./multi_ed25519\";\nimport { Ed25519PublicKey } from \"./ed25519\";\n\n/**\n * Each account stores an authentication key. Authentication key enables account owners to rotate\n * their private key(s) associated with the account without changing the address that hosts their account.\n * @see {@link * https://aptos.dev/concepts/accounts | Account Basics}\n *\n * Account addresses can be derived from AuthenticationKey\n */\nexport class AuthenticationKey {\n  static readonly LENGTH: number = 32;\n\n  static readonly MULTI_ED25519_SCHEME: number = 1;\n\n  static readonly ED25519_SCHEME: number = 0;\n\n  static readonly DERIVE_RESOURCE_ACCOUNT_SCHEME: number = 255;\n\n  readonly bytes: Bytes;\n\n  constructor(bytes: Bytes) {\n    if (bytes.length !== AuthenticationKey.LENGTH) {\n      throw new Error(\"Expected a byte array of length 32\");\n    }\n    this.bytes = bytes;\n  }\n\n  /**\n   * Converts a K-of-N MultiEd25519PublicKey to AuthenticationKey with:\n   * `auth_key = sha3-256(p_1 | … | p_n | K | 0x01)`. `K` represents the K-of-N required for\n   * authenticating the transaction. `0x01` is the 1-byte scheme for multisig.\n   */\n  static fromMultiEd25519PublicKey(publicKey: MultiEd25519PublicKey): AuthenticationKey {\n    const pubKeyBytes = publicKey.toBytes();\n\n    const bytes = new Uint8Array(pubKeyBytes.length + 1);\n    bytes.set(pubKeyBytes);\n    bytes.set([AuthenticationKey.MULTI_ED25519_SCHEME], pubKeyBytes.length);\n\n    const hash = sha3Hash.create();\n    hash.update(bytes);\n\n    return new AuthenticationKey(hash.digest());\n  }\n\n  static fromEd25519PublicKey(publicKey: Ed25519PublicKey): AuthenticationKey {\n    const pubKeyBytes = publicKey.value;\n\n    const bytes = new Uint8Array(pubKeyBytes.length + 1);\n    bytes.set(pubKeyBytes);\n    bytes.set([AuthenticationKey.ED25519_SCHEME], pubKeyBytes.length);\n\n    const hash = sha3Hash.create();\n    hash.update(bytes);\n\n    return new AuthenticationKey(hash.digest());\n  }\n\n  /**\n   * Derives an account address from AuthenticationKey. Since current AccountAddress is 32 bytes,\n   * AuthenticationKey bytes are directly translated to AccountAddress.\n   */\n  derivedAddress(): HexString {\n    return HexString.fromUint8Array(this.bytes);\n  }\n}\n","// Copyright © Aptos Foundation\n// SPDX-License-Identifier: Apache-2.0\n\nimport { AccountAddress } from \"./account_address\";\nimport { AnyNumber, Serializer } from \"../bcs\";\n\nexport class RotationProofChallenge {\n  constructor(\n    public readonly accountAddress: AccountAddress,\n    public readonly moduleName: string,\n    public readonly structName: string,\n    public readonly sequenceNumber: AnyNumber,\n    public readonly originator: AccountAddress,\n    public readonly currentAuthKey: AccountAddress,\n    public readonly newPublicKey: Uint8Array,\n  ) {}\n\n  serialize(serializer: Serializer): void {\n    this.accountAddress.serialize(serializer);\n    serializer.serializeStr(this.moduleName);\n    serializer.serializeStr(this.structName);\n    serializer.serializeU64(this.sequenceNumber);\n    this.originator.serialize(serializer);\n    this.currentAuthKey.serialize(serializer);\n    serializer.serializeBytes(this.newPublicKey);\n  }\n}\n","import * as Types from './operations';\n\nimport { GraphQLClient } from 'graphql-request';\nimport { GraphQLClientRequestHeaders } from 'graphql-request/build/cjs/types';\nexport const CurrentTokenOwnershipFieldsFragmentDoc = `\n    fragment CurrentTokenOwnershipFields on current_token_ownerships_v2 {\n  token_standard\n  token_properties_mutated_v1\n  token_data_id\n  table_type_v1\n  storage_id\n  property_version_v1\n  owner_address\n  last_transaction_version\n  last_transaction_timestamp\n  is_soulbound_v2\n  is_fungible_v2\n  amount\n  current_token_data {\n    collection_id\n    description\n    is_fungible_v2\n    largest_property_version_v1\n    last_transaction_timestamp\n    last_transaction_version\n    maximum\n    supply\n    token_data_id\n    token_name\n    token_properties\n    token_standard\n    token_uri\n    current_collection {\n      collection_id\n      collection_name\n      creator_address\n      current_supply\n      description\n      last_transaction_timestamp\n      last_transaction_version\n      max_supply\n      mutable_description\n      mutable_uri\n      table_handle_v1\n      token_standard\n      total_minted_v2\n      uri\n    }\n  }\n}\n    `;\nexport const TokenDataFieldsFragmentDoc = `\n    fragment TokenDataFields on current_token_datas {\n  creator_address\n  collection_name\n  description\n  metadata_uri\n  name\n  token_data_id_hash\n  collection_data_id_hash\n}\n    `;\nexport const CollectionDataFieldsFragmentDoc = `\n    fragment CollectionDataFields on current_collection_datas {\n  metadata_uri\n  supply\n  description\n  collection_name\n  collection_data_id_hash\n  table_handle\n  creator_address\n}\n    `;\nexport const TokenActivitiesFieldsFragmentDoc = `\n    fragment TokenActivitiesFields on token_activities_v2 {\n  after_value\n  before_value\n  entry_function_id_str\n  event_account_address\n  event_index\n  from_address\n  is_fungible_v2\n  property_version_v1\n  to_address\n  token_amount\n  token_data_id\n  token_standard\n  transaction_timestamp\n  transaction_version\n  type\n}\n    `;\nexport const GetAccountCoinsDataCount = `\n    query getAccountCoinsDataCount($address: String) {\n  current_fungible_asset_balances_aggregate(\n    where: {owner_address: {_eq: $address}}\n  ) {\n    aggregate {\n      count\n    }\n  }\n}\n    `;\nexport const GetAccountCoinsData = `\n    query getAccountCoinsData($where_condition: current_fungible_asset_balances_bool_exp!, $offset: Int, $limit: Int, $order_by: [current_fungible_asset_balances_order_by!]) {\n  current_fungible_asset_balances(\n    where: $where_condition\n    offset: $offset\n    limit: $limit\n    order_by: $order_by\n  ) {\n    amount\n    asset_type\n    is_frozen\n    is_primary\n    last_transaction_timestamp\n    last_transaction_version\n    owner_address\n    storage_id\n    token_standard\n    metadata {\n      token_standard\n      symbol\n      supply_aggregator_table_key_v1\n      supply_aggregator_table_handle_v1\n      project_uri\n      name\n      last_transaction_version\n      last_transaction_timestamp\n      icon_uri\n      decimals\n      creator_address\n      asset_type\n    }\n  }\n}\n    `;\nexport const GetAccountCurrentTokens = `\n    query getAccountCurrentTokens($address: String!, $offset: Int, $limit: Int) {\n  current_token_ownerships(\n    where: {owner_address: {_eq: $address}, amount: {_gt: 0}}\n    order_by: [{last_transaction_version: desc}, {creator_address: asc}, {collection_name: asc}, {name: asc}]\n    offset: $offset\n    limit: $limit\n  ) {\n    amount\n    current_token_data {\n      ...TokenDataFields\n    }\n    current_collection_data {\n      ...CollectionDataFields\n    }\n    last_transaction_version\n    property_version\n  }\n}\n    ${TokenDataFieldsFragmentDoc}\n${CollectionDataFieldsFragmentDoc}`;\nexport const GetAccountTokensCount = `\n    query getAccountTokensCount($where_condition: current_token_ownerships_v2_bool_exp, $offset: Int, $limit: Int) {\n  current_token_ownerships_v2_aggregate(\n    where: $where_condition\n    offset: $offset\n    limit: $limit\n  ) {\n    aggregate {\n      count\n    }\n  }\n}\n    `;\nexport const GetAccountTransactionsCount = `\n    query getAccountTransactionsCount($address: String) {\n  account_transactions_aggregate(where: {account_address: {_eq: $address}}) {\n    aggregate {\n      count\n    }\n  }\n}\n    `;\nexport const GetAccountTransactionsData = `\n    query getAccountTransactionsData($where_condition: account_transactions_bool_exp!, $offset: Int, $limit: Int, $order_by: [account_transactions_order_by!]) {\n  account_transactions(\n    where: $where_condition\n    order_by: $order_by\n    limit: $limit\n    offset: $offset\n  ) {\n    token_activities_v2 {\n      ...TokenActivitiesFields\n    }\n    transaction_version\n    account_address\n  }\n}\n    ${TokenActivitiesFieldsFragmentDoc}`;\nexport const GetCollectionData = `\n    query getCollectionData($where_condition: current_collections_v2_bool_exp!, $offset: Int, $limit: Int, $order_by: [current_collections_v2_order_by!]) {\n  current_collections_v2(\n    where: $where_condition\n    offset: $offset\n    limit: $limit\n    order_by: $order_by\n  ) {\n    collection_id\n    collection_name\n    creator_address\n    current_supply\n    description\n    last_transaction_timestamp\n    last_transaction_version\n    max_supply\n    mutable_description\n    mutable_uri\n    table_handle_v1\n    token_standard\n    total_minted_v2\n    uri\n  }\n}\n    `;\nexport const GetCollectionsWithOwnedTokens = `\n    query getCollectionsWithOwnedTokens($where_condition: current_collection_ownership_v2_view_bool_exp!, $offset: Int, $limit: Int, $order_by: [current_collection_ownership_v2_view_order_by!]) {\n  current_collection_ownership_v2_view(\n    where: $where_condition\n    offset: $offset\n    limit: $limit\n    order_by: $order_by\n  ) {\n    current_collection {\n      collection_id\n      collection_name\n      creator_address\n      current_supply\n      description\n      last_transaction_timestamp\n      last_transaction_version\n      mutable_description\n      max_supply\n      mutable_uri\n      table_handle_v1\n      token_standard\n      total_minted_v2\n      uri\n    }\n    collection_id\n    collection_name\n    collection_uri\n    creator_address\n    distinct_tokens\n    last_transaction_version\n    owner_address\n    single_token_uri\n  }\n}\n    `;\nexport const GetCurrentObjects = `\n    query getCurrentObjects($where_condition: current_objects_bool_exp, $offset: Int, $limit: Int, $order_by: [current_objects_order_by!]) {\n  current_objects(\n    where: $where_condition\n    offset: $offset\n    limit: $limit\n    order_by: $order_by\n  ) {\n    allow_ungated_transfer\n    state_key_hash\n    owner_address\n    object_address\n    last_transaction_version\n    last_guid_creation_num\n    is_deleted\n  }\n}\n    `;\nexport const GetDelegatedStakingActivities = `\n    query getDelegatedStakingActivities($delegatorAddress: String, $poolAddress: String) {\n  delegated_staking_activities(\n    where: {delegator_address: {_eq: $delegatorAddress}, pool_address: {_eq: $poolAddress}}\n  ) {\n    amount\n    delegator_address\n    event_index\n    event_type\n    pool_address\n    transaction_version\n  }\n}\n    `;\nexport const GetIndexerLedgerInfo = `\n    query getIndexerLedgerInfo {\n  ledger_infos {\n    chain_id\n  }\n}\n    `;\nexport const GetNumberOfDelegators = `\n    query getNumberOfDelegators($poolAddress: String) {\n  num_active_delegator_per_pool(\n    where: {pool_address: {_eq: $poolAddress}, num_active_delegator: {_gt: \"0\"}}\n    distinct_on: pool_address\n  ) {\n    num_active_delegator\n    pool_address\n  }\n}\n    `;\nexport const GetOwnedTokens = `\n    query getOwnedTokens($where_condition: current_token_ownerships_v2_bool_exp!, $offset: Int, $limit: Int, $order_by: [current_token_ownerships_v2_order_by!]) {\n  current_token_ownerships_v2(\n    where: $where_condition\n    offset: $offset\n    limit: $limit\n    order_by: $order_by\n  ) {\n    ...CurrentTokenOwnershipFields\n  }\n}\n    ${CurrentTokenOwnershipFieldsFragmentDoc}`;\nexport const GetOwnedTokensByTokenData = `\n    query getOwnedTokensByTokenData($where_condition: current_token_ownerships_v2_bool_exp!, $offset: Int, $limit: Int, $order_by: [current_token_ownerships_v2_order_by!]) {\n  current_token_ownerships_v2(\n    where: $where_condition\n    offset: $offset\n    limit: $limit\n    order_by: $order_by\n  ) {\n    ...CurrentTokenOwnershipFields\n  }\n}\n    ${CurrentTokenOwnershipFieldsFragmentDoc}`;\nexport const GetTokenActivities = `\n    query getTokenActivities($where_condition: token_activities_v2_bool_exp!, $offset: Int, $limit: Int, $order_by: [token_activities_v2_order_by!]) {\n  token_activities_v2(\n    where: $where_condition\n    order_by: $order_by\n    offset: $offset\n    limit: $limit\n  ) {\n    ...TokenActivitiesFields\n  }\n}\n    ${TokenActivitiesFieldsFragmentDoc}`;\nexport const GetTokenActivitiesCount = `\n    query getTokenActivitiesCount($token_id: String) {\n  token_activities_v2_aggregate(where: {token_data_id: {_eq: $token_id}}) {\n    aggregate {\n      count\n    }\n  }\n}\n    `;\nexport const GetTokenCurrentOwnerData = `\n    query getTokenCurrentOwnerData($where_condition: current_token_ownerships_v2_bool_exp!, $offset: Int, $limit: Int, $order_by: [current_token_ownerships_v2_order_by!]) {\n  current_token_ownerships_v2(\n    where: $where_condition\n    offset: $offset\n    limit: $limit\n    order_by: $order_by\n  ) {\n    ...CurrentTokenOwnershipFields\n  }\n}\n    ${CurrentTokenOwnershipFieldsFragmentDoc}`;\nexport const GetTokenData = `\n    query getTokenData($where_condition: current_token_datas_v2_bool_exp, $offset: Int, $limit: Int, $order_by: [current_token_datas_v2_order_by!]) {\n  current_token_datas_v2(\n    where: $where_condition\n    offset: $offset\n    limit: $limit\n    order_by: $order_by\n  ) {\n    collection_id\n    description\n    is_fungible_v2\n    largest_property_version_v1\n    last_transaction_timestamp\n    last_transaction_version\n    maximum\n    supply\n    token_data_id\n    token_name\n    token_properties\n    token_standard\n    token_uri\n    current_collection {\n      collection_id\n      collection_name\n      creator_address\n      current_supply\n      description\n      last_transaction_timestamp\n      last_transaction_version\n      max_supply\n      mutable_description\n      mutable_uri\n      table_handle_v1\n      token_standard\n      total_minted_v2\n      uri\n    }\n  }\n}\n    `;\nexport const GetTokenOwnedFromCollection = `\n    query getTokenOwnedFromCollection($where_condition: current_token_ownerships_v2_bool_exp!, $offset: Int, $limit: Int, $order_by: [current_token_ownerships_v2_order_by!]) {\n  current_token_ownerships_v2(\n    where: $where_condition\n    offset: $offset\n    limit: $limit\n    order_by: $order_by\n  ) {\n    ...CurrentTokenOwnershipFields\n  }\n}\n    ${CurrentTokenOwnershipFieldsFragmentDoc}`;\nexport const GetTokenOwnersData = `\n    query getTokenOwnersData($where_condition: current_token_ownerships_v2_bool_exp!, $offset: Int, $limit: Int, $order_by: [current_token_ownerships_v2_order_by!]) {\n  current_token_ownerships_v2(\n    where: $where_condition\n    offset: $offset\n    limit: $limit\n    order_by: $order_by\n  ) {\n    ...CurrentTokenOwnershipFields\n  }\n}\n    ${CurrentTokenOwnershipFieldsFragmentDoc}`;\nexport const GetTopUserTransactions = `\n    query getTopUserTransactions($limit: Int) {\n  user_transactions(limit: $limit, order_by: {version: desc}) {\n    version\n  }\n}\n    `;\nexport const GetUserTransactions = `\n    query getUserTransactions($where_condition: user_transactions_bool_exp!, $offset: Int, $limit: Int, $order_by: [user_transactions_order_by!]) {\n  user_transactions(\n    order_by: $order_by\n    where: $where_condition\n    limit: $limit\n    offset: $offset\n  ) {\n    version\n  }\n}\n    `;\n\nexport type SdkFunctionWrapper = <T>(action: (requestHeaders?:Record<string, string>) => Promise<T>, operationName: string, operationType?: string) => Promise<T>;\n\n\nconst defaultWrapper: SdkFunctionWrapper = (action, _operationName, _operationType) => action();\n\nexport function getSdk(client: GraphQLClient, withWrapper: SdkFunctionWrapper = defaultWrapper) {\n  return {\n    getAccountCoinsDataCount(variables?: Types.GetAccountCoinsDataCountQueryVariables, requestHeaders?: GraphQLClientRequestHeaders): Promise<Types.GetAccountCoinsDataCountQuery> {\n      return withWrapper((wrappedRequestHeaders) => client.request<Types.GetAccountCoinsDataCountQuery>(GetAccountCoinsDataCount, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'getAccountCoinsDataCount', 'query');\n    },\n    getAccountCoinsData(variables: Types.GetAccountCoinsDataQueryVariables, requestHeaders?: GraphQLClientRequestHeaders): Promise<Types.GetAccountCoinsDataQuery> {\n      return withWrapper((wrappedRequestHeaders) => client.request<Types.GetAccountCoinsDataQuery>(GetAccountCoinsData, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'getAccountCoinsData', 'query');\n    },\n    getAccountCurrentTokens(variables: Types.GetAccountCurrentTokensQueryVariables, requestHeaders?: GraphQLClientRequestHeaders): Promise<Types.GetAccountCurrentTokensQuery> {\n      return withWrapper((wrappedRequestHeaders) => client.request<Types.GetAccountCurrentTokensQuery>(GetAccountCurrentTokens, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'getAccountCurrentTokens', 'query');\n    },\n    getAccountTokensCount(variables?: Types.GetAccountTokensCountQueryVariables, requestHeaders?: GraphQLClientRequestHeaders): Promise<Types.GetAccountTokensCountQuery> {\n      return withWrapper((wrappedRequestHeaders) => client.request<Types.GetAccountTokensCountQuery>(GetAccountTokensCount, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'getAccountTokensCount', 'query');\n    },\n    getAccountTransactionsCount(variables?: Types.GetAccountTransactionsCountQueryVariables, requestHeaders?: GraphQLClientRequestHeaders): Promise<Types.GetAccountTransactionsCountQuery> {\n      return withWrapper((wrappedRequestHeaders) => client.request<Types.GetAccountTransactionsCountQuery>(GetAccountTransactionsCount, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'getAccountTransactionsCount', 'query');\n    },\n    getAccountTransactionsData(variables: Types.GetAccountTransactionsDataQueryVariables, requestHeaders?: GraphQLClientRequestHeaders): Promise<Types.GetAccountTransactionsDataQuery> {\n      return withWrapper((wrappedRequestHeaders) => client.request<Types.GetAccountTransactionsDataQuery>(GetAccountTransactionsData, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'getAccountTransactionsData', 'query');\n    },\n    getCollectionData(variables: Types.GetCollectionDataQueryVariables, requestHeaders?: GraphQLClientRequestHeaders): Promise<Types.GetCollectionDataQuery> {\n      return withWrapper((wrappedRequestHeaders) => client.request<Types.GetCollectionDataQuery>(GetCollectionData, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'getCollectionData', 'query');\n    },\n    getCollectionsWithOwnedTokens(variables: Types.GetCollectionsWithOwnedTokensQueryVariables, requestHeaders?: GraphQLClientRequestHeaders): Promise<Types.GetCollectionsWithOwnedTokensQuery> {\n      return withWrapper((wrappedRequestHeaders) => client.request<Types.GetCollectionsWithOwnedTokensQuery>(GetCollectionsWithOwnedTokens, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'getCollectionsWithOwnedTokens', 'query');\n    },\n    getCurrentObjects(variables?: Types.GetCurrentObjectsQueryVariables, requestHeaders?: GraphQLClientRequestHeaders): Promise<Types.GetCurrentObjectsQuery> {\n      return withWrapper((wrappedRequestHeaders) => client.request<Types.GetCurrentObjectsQuery>(GetCurrentObjects, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'getCurrentObjects', 'query');\n    },\n    getDelegatedStakingActivities(variables?: Types.GetDelegatedStakingActivitiesQueryVariables, requestHeaders?: GraphQLClientRequestHeaders): Promise<Types.GetDelegatedStakingActivitiesQuery> {\n      return withWrapper((wrappedRequestHeaders) => client.request<Types.GetDelegatedStakingActivitiesQuery>(GetDelegatedStakingActivities, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'getDelegatedStakingActivities', 'query');\n    },\n    getIndexerLedgerInfo(variables?: Types.GetIndexerLedgerInfoQueryVariables, requestHeaders?: GraphQLClientRequestHeaders): Promise<Types.GetIndexerLedgerInfoQuery> {\n      return withWrapper((wrappedRequestHeaders) => client.request<Types.GetIndexerLedgerInfoQuery>(GetIndexerLedgerInfo, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'getIndexerLedgerInfo', 'query');\n    },\n    getNumberOfDelegators(variables?: Types.GetNumberOfDelegatorsQueryVariables, requestHeaders?: GraphQLClientRequestHeaders): Promise<Types.GetNumberOfDelegatorsQuery> {\n      return withWrapper((wrappedRequestHeaders) => client.request<Types.GetNumberOfDelegatorsQuery>(GetNumberOfDelegators, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'getNumberOfDelegators', 'query');\n    },\n    getOwnedTokens(variables: Types.GetOwnedTokensQueryVariables, requestHeaders?: GraphQLClientRequestHeaders): Promise<Types.GetOwnedTokensQuery> {\n      return withWrapper((wrappedRequestHeaders) => client.request<Types.GetOwnedTokensQuery>(GetOwnedTokens, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'getOwnedTokens', 'query');\n    },\n    getOwnedTokensByTokenData(variables: Types.GetOwnedTokensByTokenDataQueryVariables, requestHeaders?: GraphQLClientRequestHeaders): Promise<Types.GetOwnedTokensByTokenDataQuery> {\n      return withWrapper((wrappedRequestHeaders) => client.request<Types.GetOwnedTokensByTokenDataQuery>(GetOwnedTokensByTokenData, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'getOwnedTokensByTokenData', 'query');\n    },\n    getTokenActivities(variables: Types.GetTokenActivitiesQueryVariables, requestHeaders?: GraphQLClientRequestHeaders): Promise<Types.GetTokenActivitiesQuery> {\n      return withWrapper((wrappedRequestHeaders) => client.request<Types.GetTokenActivitiesQuery>(GetTokenActivities, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'getTokenActivities', 'query');\n    },\n    getTokenActivitiesCount(variables?: Types.GetTokenActivitiesCountQueryVariables, requestHeaders?: GraphQLClientRequestHeaders): Promise<Types.GetTokenActivitiesCountQuery> {\n      return withWrapper((wrappedRequestHeaders) => client.request<Types.GetTokenActivitiesCountQuery>(GetTokenActivitiesCount, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'getTokenActivitiesCount', 'query');\n    },\n    getTokenCurrentOwnerData(variables: Types.GetTokenCurrentOwnerDataQueryVariables, requestHeaders?: GraphQLClientRequestHeaders): Promise<Types.GetTokenCurrentOwnerDataQuery> {\n      return withWrapper((wrappedRequestHeaders) => client.request<Types.GetTokenCurrentOwnerDataQuery>(GetTokenCurrentOwnerData, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'getTokenCurrentOwnerData', 'query');\n    },\n    getTokenData(variables?: Types.GetTokenDataQueryVariables, requestHeaders?: GraphQLClientRequestHeaders): Promise<Types.GetTokenDataQuery> {\n      return withWrapper((wrappedRequestHeaders) => client.request<Types.GetTokenDataQuery>(GetTokenData, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'getTokenData', 'query');\n    },\n    getTokenOwnedFromCollection(variables: Types.GetTokenOwnedFromCollectionQueryVariables, requestHeaders?: GraphQLClientRequestHeaders): Promise<Types.GetTokenOwnedFromCollectionQuery> {\n      return withWrapper((wrappedRequestHeaders) => client.request<Types.GetTokenOwnedFromCollectionQuery>(GetTokenOwnedFromCollection, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'getTokenOwnedFromCollection', 'query');\n    },\n    getTokenOwnersData(variables: Types.GetTokenOwnersDataQueryVariables, requestHeaders?: GraphQLClientRequestHeaders): Promise<Types.GetTokenOwnersDataQuery> {\n      return withWrapper((wrappedRequestHeaders) => client.request<Types.GetTokenOwnersDataQuery>(GetTokenOwnersData, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'getTokenOwnersData', 'query');\n    },\n    getTopUserTransactions(variables?: Types.GetTopUserTransactionsQueryVariables, requestHeaders?: GraphQLClientRequestHeaders): Promise<Types.GetTopUserTransactionsQuery> {\n      return withWrapper((wrappedRequestHeaders) => client.request<Types.GetTopUserTransactionsQuery>(GetTopUserTransactions, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'getTopUserTransactions', 'query');\n    },\n    getUserTransactions(variables: Types.GetUserTransactionsQueryVariables, requestHeaders?: GraphQLClientRequestHeaders): Promise<Types.GetUserTransactionsQuery> {\n      return withWrapper((wrappedRequestHeaders) => client.request<Types.GetUserTransactionsQuery>(GetUserTransactions, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'getUserTransactions', 'query');\n    }\n  };\n}\nexport type Sdk = ReturnType<typeof getSdk>;","// Copyright © Aptos Foundation\n// SPDX-License-Identifier: Apache-2.0\n\nimport { sha3_256 as sha3Hash } from \"@noble/hashes/sha3\";\nimport {\n  Ed25519PublicKey,\n  Ed25519Signature,\n  MultiEd25519PublicKey,\n  MultiEd25519Signature,\n  RawTransaction,\n  SignedTransaction,\n  TransactionAuthenticatorEd25519,\n  TransactionAuthenticatorMultiEd25519,\n  SigningMessage,\n  MultiAgentRawTransaction,\n  FeePayerRawTransaction,\n  AccountAddress,\n  EntryFunction,\n  Identifier,\n  ChainId,\n  Script,\n  TransactionPayload,\n  TransactionArgument,\n  TransactionPayloadEntryFunction,\n  TransactionPayloadScript,\n  ModuleId,\n  TypeTagParser,\n} from \"../aptos_types\";\nimport { bcsToBytes, Bytes, Deserializer, Serializer, Uint64, Uint8 } from \"../bcs\";\nimport { ArgumentABI, EntryFunctionABI, ScriptABI, TransactionScriptABI, TypeArgumentABI } from \"../aptos_types/abi\";\nimport { argToTransactionArgument, serializeArg } from \"./builder_utils\";\nimport * as Gen from \"../generated/index\";\nimport {\n  DEFAULT_TXN_EXP_SEC_FROM_NOW,\n  DEFAULT_MAX_GAS_AMOUNT,\n  HexString,\n  MaybeHexString,\n  MemoizeExpiring,\n} from \"../utils\";\n\nexport { TypeTagParser } from \"../aptos_types\";\n\nconst RAW_TRANSACTION_SALT = \"APTOS::RawTransaction\";\nconst RAW_TRANSACTION_WITH_DATA_SALT = \"APTOS::RawTransactionWithData\";\n\nexport type AnyRawTransaction = RawTransaction | MultiAgentRawTransaction | FeePayerRawTransaction;\n\n/**\n * Function that takes in a Signing Message (serialized raw transaction)\n *  and returns a signature\n */\nexport type SigningFn = (txn: SigningMessage) => Ed25519Signature | MultiEd25519Signature;\n\nexport class TransactionBuilder<F extends SigningFn> {\n  protected readonly signingFunction: F;\n\n  constructor(\n    signingFunction: F,\n    public readonly rawTxnBuilder?: TransactionBuilderABI,\n  ) {\n    this.signingFunction = signingFunction;\n  }\n\n  /**\n   * Builds a RawTransaction. Relays the call to TransactionBuilderABI.build\n   * @param func\n   * @param ty_tags\n   * @param args\n   */\n  build(func: string, ty_tags: string[], args: any[]): RawTransaction {\n    if (!this.rawTxnBuilder) {\n      throw new Error(\"this.rawTxnBuilder doesn't exist.\");\n    }\n\n    return this.rawTxnBuilder.build(func, ty_tags, args);\n  }\n\n  /** Generates a Signing Message out of a raw transaction. */\n  static getSigningMessage(rawTxn: AnyRawTransaction): SigningMessage {\n    const hash = sha3Hash.create();\n    if (rawTxn instanceof RawTransaction) {\n      hash.update(RAW_TRANSACTION_SALT);\n    } else if (rawTxn instanceof MultiAgentRawTransaction) {\n      hash.update(RAW_TRANSACTION_WITH_DATA_SALT);\n    } else if (rawTxn instanceof FeePayerRawTransaction) {\n      hash.update(RAW_TRANSACTION_WITH_DATA_SALT);\n    } else {\n      throw new Error(\"Unknown transaction type.\");\n    }\n\n    const prefix = hash.digest();\n\n    const body = bcsToBytes(rawTxn);\n\n    const mergedArray = new Uint8Array(prefix.length + body.length);\n    mergedArray.set(prefix);\n    mergedArray.set(body, prefix.length);\n\n    return mergedArray;\n  }\n}\n\n/**\n * Provides signing method for signing a raw transaction with single public key.\n */\nexport class TransactionBuilderEd25519 extends TransactionBuilder<SigningFn> {\n  private readonly publicKey: Uint8Array;\n\n  constructor(signingFunction: SigningFn, publicKey: Uint8Array, rawTxnBuilder?: TransactionBuilderABI) {\n    super(signingFunction, rawTxnBuilder);\n    this.publicKey = publicKey;\n  }\n\n  rawToSigned(rawTxn: RawTransaction): SignedTransaction {\n    const signingMessage = TransactionBuilder.getSigningMessage(rawTxn);\n    const signature = this.signingFunction(signingMessage);\n\n    const authenticator = new TransactionAuthenticatorEd25519(\n      new Ed25519PublicKey(this.publicKey),\n      signature as Ed25519Signature,\n    );\n\n    return new SignedTransaction(rawTxn, authenticator);\n  }\n\n  /** Signs a raw transaction and returns a bcs serialized transaction. */\n  sign(rawTxn: RawTransaction): Bytes {\n    return bcsToBytes(this.rawToSigned(rawTxn));\n  }\n}\n\n/**\n * Provides signing method for signing a raw transaction with multisig public key.\n */\nexport class TransactionBuilderMultiEd25519 extends TransactionBuilder<SigningFn> {\n  private readonly publicKey: MultiEd25519PublicKey;\n\n  constructor(signingFunction: SigningFn, publicKey: MultiEd25519PublicKey) {\n    super(signingFunction);\n    this.publicKey = publicKey;\n  }\n\n  rawToSigned(rawTxn: RawTransaction): SignedTransaction {\n    const signingMessage = TransactionBuilder.getSigningMessage(rawTxn);\n    const signature = this.signingFunction(signingMessage);\n\n    const authenticator = new TransactionAuthenticatorMultiEd25519(this.publicKey, signature as MultiEd25519Signature);\n\n    return new SignedTransaction(rawTxn, authenticator);\n  }\n\n  /** Signs a raw transaction and returns a bcs serialized transaction. */\n  sign(rawTxn: RawTransaction): Bytes {\n    return bcsToBytes(this.rawToSigned(rawTxn));\n  }\n}\n\n/**\n * Config for creating raw transactions.\n */\nexport interface ABIBuilderConfig {\n  sender: MaybeHexString | AccountAddress;\n  sequenceNumber: Uint64 | string;\n  gasUnitPrice: Uint64 | string;\n  maxGasAmount?: Uint64 | string;\n  expSecFromNow?: number | string;\n  chainId: Uint8 | string;\n}\n\n/**\n * Builds raw transactions based on ABI\n */\nexport class TransactionBuilderABI {\n  private readonly abiMap: Map<string, ScriptABI>;\n\n  private readonly builderConfig: Partial<ABIBuilderConfig>;\n\n  /**\n   * Constructs a TransactionBuilderABI instance\n   * @param abis List of binary ABIs.\n   * @param builderConfig Configs for creating a raw transaction.\n   */\n  constructor(abis: Bytes[], builderConfig?: ABIBuilderConfig) {\n    this.abiMap = new Map<string, ScriptABI>();\n\n    abis.forEach((abi) => {\n      const deserializer = new Deserializer(abi);\n      const scriptABI = ScriptABI.deserialize(deserializer);\n      let k: string;\n      if (scriptABI instanceof EntryFunctionABI) {\n        const funcABI = scriptABI as EntryFunctionABI;\n        const { address: addr, name: moduleName } = funcABI.module_name;\n        k = `${HexString.fromUint8Array(addr.address).toShortString()}::${moduleName.value}::${funcABI.name}`;\n      } else {\n        const funcABI = scriptABI as TransactionScriptABI;\n        k = funcABI.name;\n      }\n\n      if (this.abiMap.has(k)) {\n        throw new Error(\"Found conflicting ABI interfaces\");\n      }\n\n      this.abiMap.set(k, scriptABI);\n    });\n\n    this.builderConfig = {\n      maxGasAmount: BigInt(DEFAULT_MAX_GAS_AMOUNT),\n      expSecFromNow: DEFAULT_TXN_EXP_SEC_FROM_NOW,\n      ...builderConfig,\n    };\n  }\n\n  private static toBCSArgs(abiArgs: any[], args: any[]): Bytes[] {\n    if (abiArgs.length !== args.length) {\n      throw new Error(\"Wrong number of args provided.\");\n    }\n\n    return args.map((arg, i) => {\n      const serializer = new Serializer();\n      serializeArg(arg, abiArgs[i].type_tag, serializer);\n      return serializer.getBytes();\n    });\n  }\n\n  private static toTransactionArguments(abiArgs: any[], args: any[]): TransactionArgument[] {\n    if (abiArgs.length !== args.length) {\n      throw new Error(\"Wrong number of args provided.\");\n    }\n\n    return args.map((arg, i) => argToTransactionArgument(arg, abiArgs[i].type_tag));\n  }\n\n  setSequenceNumber(seqNumber: Uint64 | string) {\n    this.builderConfig.sequenceNumber = BigInt(seqNumber);\n  }\n\n  /**\n   * Builds a TransactionPayload. For dApps, chain ID and account sequence numbers are only known to the wallet.\n   * Instead of building a RawTransaction (requires chainID and sequenceNumber), dApps can build a TransactionPayload\n   * and pass the payload to the wallet for signing and sending.\n   * @param func Fully qualified func names, e.g. 0x1::aptos_account::transfer\n   * @param ty_tags TypeTag strings\n   * @param args Function arguments\n   * @returns TransactionPayload\n   */\n  buildTransactionPayload(func: string, ty_tags: string[], args: any[]): TransactionPayload {\n    const typeTags = ty_tags.map((ty_arg) => new TypeTagParser(ty_arg).parseTypeTag());\n\n    let payload: TransactionPayload;\n\n    if (!this.abiMap.has(func)) {\n      throw new Error(`Cannot find function: ${func}`);\n    }\n\n    const scriptABI = this.abiMap.get(func);\n\n    if (scriptABI instanceof EntryFunctionABI) {\n      const funcABI = scriptABI as EntryFunctionABI;\n      const bcsArgs = TransactionBuilderABI.toBCSArgs(funcABI.args, args);\n      payload = new TransactionPayloadEntryFunction(\n        new EntryFunction(funcABI.module_name, new Identifier(funcABI.name), typeTags, bcsArgs),\n      );\n    } else if (scriptABI instanceof TransactionScriptABI) {\n      const funcABI = scriptABI as TransactionScriptABI;\n      const scriptArgs = TransactionBuilderABI.toTransactionArguments(funcABI.args, args);\n\n      payload = new TransactionPayloadScript(new Script(funcABI.code, typeTags, scriptArgs));\n    } else {\n      /* istanbul ignore next */\n      throw new Error(\"Unknown ABI format.\");\n    }\n\n    return payload;\n  }\n\n  /**\n   * Builds a RawTransaction\n   * @param func Fully qualified func names, e.g. 0x1::aptos_account::transfer\n   * @param ty_tags TypeTag strings.\n   * @example Below are valid value examples\n   * ```\n   * // Structs are in format `AccountAddress::ModuleName::StructName`\n   * 0x1::aptos_coin::AptosCoin\n   * // Vectors are in format `vector<other_tag_string>`\n   * vector<0x1::aptos_coin::AptosCoin>\n   * bool\n   * u8\n   * u16\n   * u32\n   * u64\n   * u128\n   * u256\n   * address\n   * ```\n   * @param args Function arguments\n   * @returns RawTransaction\n   */\n  build(func: string, ty_tags: string[], args: any[]): RawTransaction {\n    const { sender, sequenceNumber, gasUnitPrice, maxGasAmount, expSecFromNow, chainId } = this.builderConfig;\n\n    if (!gasUnitPrice) {\n      throw new Error(\"No gasUnitPrice provided.\");\n    }\n\n    const senderAccount = sender instanceof AccountAddress ? sender : AccountAddress.fromHex(sender!);\n    const expTimestampSec = BigInt(Math.floor(Date.now() / 1000) + Number(expSecFromNow));\n    const payload = this.buildTransactionPayload(func, ty_tags, args);\n\n    if (payload) {\n      return new RawTransaction(\n        senderAccount,\n        BigInt(sequenceNumber!),\n        payload,\n        BigInt(maxGasAmount!),\n        BigInt(gasUnitPrice!),\n        expTimestampSec,\n        new ChainId(Number(chainId)),\n      );\n    }\n\n    throw new Error(\"Invalid ABI.\");\n  }\n}\n\nexport type RemoteABIBuilderConfig = Partial<Omit<ABIBuilderConfig, \"sender\">> & {\n  sender: MaybeHexString | AccountAddress;\n};\n\nexport interface AptosClientInterface {\n  getAccountModules: (accountAddress: MaybeHexString) => Promise<Gen.MoveModuleBytecode[]>;\n  getAccount: (accountAddress: MaybeHexString) => Promise<Gen.AccountData>;\n  getChainId: () => Promise<number>;\n  estimateGasPrice: () => Promise<Gen.GasEstimation>;\n}\n\n/**\n * This transaction builder downloads JSON ABIs from the fullnodes.\n * It then translates the JSON ABIs to the format that is accepted by TransactionBuilderABI\n */\nexport class TransactionBuilderRemoteABI {\n  // We don't want the builder to depend on the actual AptosClient. There might be circular dependencies.\n  constructor(\n    private readonly aptosClient: AptosClientInterface,\n    private readonly builderConfig: RemoteABIBuilderConfig,\n  ) {}\n\n  // Cache for 10 minutes\n  @MemoizeExpiring(10 * 60 * 1000)\n  async fetchABI(addr: string) {\n    const modules = await this.aptosClient.getAccountModules(addr);\n    const abis = modules\n      .map((module) => module.abi)\n      .flatMap((abi) =>\n        abi!.exposed_functions\n          .filter((ef) => ef.is_entry)\n          .map(\n            (ef) =>\n              ({\n                fullName: `${abi!.address}::${abi!.name}::${ef.name}`,\n                ...ef,\n              }) as Gen.MoveFunction & { fullName: string },\n          ),\n      );\n\n    const abiMap = new Map<string, Gen.MoveFunction & { fullName: string }>();\n    abis.forEach((abi) => {\n      abiMap.set(abi.fullName, abi);\n    });\n\n    return abiMap;\n  }\n\n  /**\n   * Builds a raw transaction. Only support script function a.k.a entry function payloads\n   *\n   * @param func fully qualified function name in format <address>::<module>::<function>, e.g. 0x1::coin::transfer\n   * @param ty_tags\n   * @param args\n   * @returns RawTransaction\n   */\n  async build(func: Gen.EntryFunctionId, ty_tags: Gen.MoveType[], args: any[]): Promise<RawTransaction> {\n    /* eslint no-param-reassign: [\"off\"] */\n    const normlize = (s: string) => s.replace(/^0[xX]0*/g, \"0x\");\n    func = normlize(func);\n    const funcNameParts = func.split(\"::\");\n    if (funcNameParts.length !== 3) {\n      throw new Error(\n        // eslint-disable-next-line max-len\n        \"'func' needs to be a fully qualified function name in format <address>::<module>::<function>, e.g. 0x1::coin::transfer\",\n      );\n    }\n\n    const [addr, module] = func.split(\"::\");\n\n    // Downloads the JSON abi\n    const abiMap = await this.fetchABI(addr);\n    if (!abiMap.has(func)) {\n      throw new Error(`${func} doesn't exist.`);\n    }\n\n    const funcAbi = abiMap.get(func);\n\n    // Remove all `signer` and `&signer` from argument list because the Move VM injects those arguments. Clients do not\n    // need to care about those args. `signer` and `&signer` are required be in the front of the argument list. But we\n    // just loop through all arguments and filter out `signer` and `&signer`.\n    const abiArgs = funcAbi!.params.filter((param) => param !== \"signer\" && param !== \"&signer\");\n\n    // Convert abi string arguments to TypeArgumentABI\n    const typeArgABIs = abiArgs.map(\n      (abiArg, i) => new ArgumentABI(`var${i}`, new TypeTagParser(abiArg, ty_tags).parseTypeTag()),\n    );\n\n    const entryFunctionABI = new EntryFunctionABI(\n      funcAbi!.name,\n      ModuleId.fromStr(`${addr}::${module}`),\n      \"\", // Doc string\n      funcAbi!.generic_type_params.map((_, i) => new TypeArgumentABI(`${i}`)),\n      typeArgABIs,\n    );\n\n    const { sender, ...rest } = this.builderConfig;\n\n    const senderAddress = sender instanceof AccountAddress ? HexString.fromUint8Array(sender.address) : sender;\n\n    const [{ sequence_number: sequenceNumber }, chainId, { gas_estimate: gasUnitPrice }] = await Promise.all([\n      rest?.sequenceNumber\n        ? Promise.resolve({ sequence_number: rest?.sequenceNumber })\n        : this.aptosClient.getAccount(senderAddress),\n      rest?.chainId ? Promise.resolve(rest?.chainId) : this.aptosClient.getChainId(),\n      rest?.gasUnitPrice ? Promise.resolve({ gas_estimate: rest?.gasUnitPrice }) : this.aptosClient.estimateGasPrice(),\n    ]);\n\n    const builderABI = new TransactionBuilderABI([bcsToBytes(entryFunctionABI)], {\n      sender,\n      sequenceNumber,\n      chainId,\n      gasUnitPrice: BigInt(gasUnitPrice),\n      ...rest,\n    });\n\n    return builderABI.build(func, ty_tags, args);\n  }\n}\n","// Copyright © Aptos Foundation\n// SPDX-License-Identifier: Apache-2.0\n\nimport { HexString } from \"../utils\";\nimport {\n  TypeTag,\n  TypeTagBool,\n  TypeTagU8,\n  TypeTagU16,\n  TypeTagU32,\n  TypeTagU64,\n  TypeTagU128,\n  TypeTagU256,\n  TypeTagAddress,\n  AccountAddress,\n  TypeTagVector,\n  TypeTagStruct,\n  TransactionArgument,\n  TransactionArgumentBool,\n  TransactionArgumentU16,\n  TransactionArgumentU32,\n  TransactionArgumentU64,\n  TransactionArgumentU128,\n  TransactionArgumentU256,\n  TransactionArgumentAddress,\n  TransactionArgumentU8,\n  TransactionArgumentU8Vector,\n} from \"../aptos_types\";\nimport { Serializer } from \"../bcs\";\n\nfunction assertType(val: any, types: string[] | string, message?: string) {\n  if (!types?.includes(typeof val)) {\n    throw new Error(\n      message || `Invalid arg: ${val} type should be ${types instanceof Array ? types.join(\" or \") : types}`,\n    );\n  }\n}\n\nexport function ensureBoolean(val: boolean | string): boolean {\n  assertType(val, [\"boolean\", \"string\"]);\n  if (typeof val === \"boolean\") {\n    return val;\n  }\n\n  if (val === \"true\") {\n    return true;\n  }\n  if (val === \"false\") {\n    return false;\n  }\n\n  throw new Error(\"Invalid boolean string.\");\n}\n\nexport function ensureNumber(val: number | string): number {\n  assertType(val, [\"number\", \"string\"]);\n  if (typeof val === \"number\") {\n    return val;\n  }\n\n  const res = Number.parseInt(val, 10);\n  if (Number.isNaN(res)) {\n    throw new Error(\"Invalid number string.\");\n  }\n\n  return res;\n}\n\nexport function ensureBigInt(val: number | bigint | string): bigint {\n  assertType(val, [\"number\", \"bigint\", \"string\"]);\n  return BigInt(val);\n}\n\nexport function serializeArg(argVal: any, argType: TypeTag, serializer: Serializer) {\n  serializeArgInner(argVal, argType, serializer, 0);\n}\n\nfunction serializeArgInner(argVal: any, argType: TypeTag, serializer: Serializer, depth: number) {\n  if (argType instanceof TypeTagBool) {\n    serializer.serializeBool(ensureBoolean(argVal));\n  } else if (argType instanceof TypeTagU8) {\n    serializer.serializeU8(ensureNumber(argVal));\n  } else if (argType instanceof TypeTagU16) {\n    serializer.serializeU16(ensureNumber(argVal));\n  } else if (argType instanceof TypeTagU32) {\n    serializer.serializeU32(ensureNumber(argVal));\n  } else if (argType instanceof TypeTagU64) {\n    serializer.serializeU64(ensureBigInt(argVal));\n  } else if (argType instanceof TypeTagU128) {\n    serializer.serializeU128(ensureBigInt(argVal));\n  } else if (argType instanceof TypeTagU256) {\n    serializer.serializeU256(ensureBigInt(argVal));\n  } else if (argType instanceof TypeTagAddress) {\n    serializeAddress(argVal, serializer);\n  } else if (argType instanceof TypeTagVector) {\n    serializeVector(argVal, argType, serializer, depth);\n  } else if (argType instanceof TypeTagStruct) {\n    serializeStruct(argVal, argType, serializer, depth);\n  } else {\n    throw new Error(\"Unsupported arg type.\");\n  }\n}\n\nfunction serializeAddress(argVal: any, serializer: Serializer) {\n  let addr: AccountAddress;\n  if (typeof argVal === \"string\" || argVal instanceof HexString) {\n    addr = AccountAddress.fromHex(argVal);\n  } else if (argVal instanceof AccountAddress) {\n    addr = argVal;\n  } else {\n    throw new Error(\"Invalid account address.\");\n  }\n  addr.serialize(serializer);\n}\n\nfunction serializeVector(argVal: any, argType: TypeTagVector, serializer: Serializer, depth: number) {\n  // We are serializing a vector<u8>\n  if (argType.value instanceof TypeTagU8) {\n    if (argVal instanceof Uint8Array) {\n      serializer.serializeBytes(argVal);\n      return;\n    }\n    if (argVal instanceof HexString) {\n      serializer.serializeBytes(argVal.toUint8Array());\n      return;\n    }\n    if (typeof argVal === \"string\") {\n      serializer.serializeStr(argVal);\n      return;\n    }\n    // If it isn't any of those types, then it must just be an actual array of numbers\n  }\n\n  if (!Array.isArray(argVal)) {\n    throw new Error(\"Invalid vector args.\");\n  }\n\n  serializer.serializeU32AsUleb128(argVal.length);\n\n  argVal.forEach((arg) => serializeArgInner(arg, argType.value, serializer, depth + 1));\n}\n\nfunction serializeStruct(argVal: any, argType: TypeTag, serializer: Serializer, depth: number) {\n  const { address, module_name: moduleName, name, type_args: typeArgs } = (argType as TypeTagStruct).value;\n  const structType = `${HexString.fromUint8Array(address.address).toShortString()}::${moduleName.value}::${name.value}`;\n  if (structType === \"0x1::string::String\") {\n    assertType(argVal, [\"string\"]);\n    serializer.serializeStr(argVal);\n  } else if (structType === \"0x1::object::Object\") {\n    serializeAddress(argVal, serializer);\n  } else if (structType === \"0x1::option::Option\") {\n    if (typeArgs.length !== 1) {\n      throw new Error(`Option has the wrong number of type arguments ${typeArgs.length}`);\n    }\n    serializeOption(argVal, typeArgs[0], serializer, depth);\n  } else {\n    throw new Error(\"Unsupported struct type in function argument\");\n  }\n}\n\nfunction serializeOption(argVal: any, argType: TypeTag, serializer: Serializer, depth: number) {\n  // For option, we determine if it's empty or not empty first\n  // empty option is nothing, we specifically check for undefined to prevent fuzzy matching\n  if (argVal === undefined || argVal === null) {\n    serializer.serializeU32AsUleb128(0);\n  } else {\n    // Something means we need an array of 1\n    serializer.serializeU32AsUleb128(1);\n\n    // Serialize the inner type arg, ensuring that depth is tracked\n    serializeArgInner(argVal, argType, serializer, depth + 1);\n  }\n}\n\nexport function argToTransactionArgument(argVal: any, argType: TypeTag): TransactionArgument {\n  if (argType instanceof TypeTagBool) {\n    return new TransactionArgumentBool(ensureBoolean(argVal));\n  }\n  if (argType instanceof TypeTagU8) {\n    return new TransactionArgumentU8(ensureNumber(argVal));\n  }\n  if (argType instanceof TypeTagU16) {\n    return new TransactionArgumentU16(ensureNumber(argVal));\n  }\n  if (argType instanceof TypeTagU32) {\n    return new TransactionArgumentU32(ensureNumber(argVal));\n  }\n  if (argType instanceof TypeTagU64) {\n    return new TransactionArgumentU64(ensureBigInt(argVal));\n  }\n  if (argType instanceof TypeTagU128) {\n    return new TransactionArgumentU128(ensureBigInt(argVal));\n  }\n  if (argType instanceof TypeTagU256) {\n    return new TransactionArgumentU256(ensureBigInt(argVal));\n  }\n  if (argType instanceof TypeTagAddress) {\n    let addr: AccountAddress;\n    if (typeof argVal === \"string\" || argVal instanceof HexString) {\n      addr = AccountAddress.fromHex(argVal);\n    } else if (argVal instanceof AccountAddress) {\n      addr = argVal;\n    } else {\n      throw new Error(\"Invalid account address.\");\n    }\n    return new TransactionArgumentAddress(addr);\n  }\n  if (argType instanceof TypeTagVector && argType.value instanceof TypeTagU8) {\n    if (!(argVal instanceof Uint8Array)) {\n      throw new Error(`${argVal} should be an instance of Uint8Array`);\n    }\n    return new TransactionArgumentU8Vector(argVal);\n  }\n\n  throw new Error(\"Unknown type for TransactionArgument.\");\n}\n","// Copyright © Aptos Foundation\n// SPDX-License-Identifier: Apache-2.0\n\nimport {\n  clear,\n  DEFAULT_TXN_EXP_SEC_FROM_NOW,\n  DEFAULT_MAX_GAS_AMOUNT,\n  DEFAULT_TXN_TIMEOUT_SEC,\n  fixNodeUrl,\n  HexString,\n  paginateWithCursor,\n  MaybeHexString,\n  Memoize,\n  sleep,\n  APTOS_COIN,\n  MemoizeExpiring,\n} from \"../utils\";\nimport { AptosAccount } from \"../account/aptos_account\";\nimport * as Gen from \"../generated/index\";\nimport {\n  TxnBuilderTypes,\n  TransactionBuilderEd25519,\n  TransactionBuilderRemoteABI,\n  RemoteABIBuilderConfig,\n  TransactionBuilderMultiEd25519,\n  TransactionBuilder,\n} from \"../transaction_builder\";\nimport {\n  bcsSerializeBytes,\n  bcsSerializeU8,\n  bcsToBytes,\n  Bytes,\n  Seq,\n  Serializer,\n  serializeVector,\n  Uint64,\n  AnyNumber,\n} from \"../bcs\";\nimport {\n  AccountAddress,\n  Ed25519PublicKey,\n  FeePayerRawTransaction,\n  MultiAgentRawTransaction,\n  MultiEd25519PublicKey,\n  RawTransaction,\n} from \"../aptos_types\";\nimport { get, post, ClientConfig, AptosApiError } from \"../client\";\n\nexport interface OptionalTransactionArgs {\n  maxGasAmount?: Uint64;\n  gasUnitPrice?: Uint64;\n  expireTimestamp?: Uint64;\n  providedSequenceNumber?: string | bigint;\n}\n\nexport interface PaginationArgs {\n  start?: AnyNumber;\n  limit?: number;\n}\n\n/**\n * Provides methods for retrieving data from Aptos node.\n * For more detailed API specification see {@link https://fullnode.devnet.aptoslabs.com/v1/spec}\n */\nexport class AptosClient {\n  readonly nodeUrl: string;\n\n  readonly config: ClientConfig | undefined;\n\n  /**\n   * Build a client configured to connect to an Aptos node at the given URL.\n   *\n   * Note: If you forget to append `/v1` to the URL, the client constructor\n   * will automatically append it. If you don't want this URL processing to\n   * take place, set doNotFixNodeUrl to true.\n   *\n   * @param nodeUrl URL of the Aptos Node API endpoint.\n   * @param config Additional configuration options for the generated Axios client.\n   */\n  constructor(nodeUrl: string, config?: ClientConfig, doNotFixNodeUrl: boolean = false) {\n    if (!nodeUrl) {\n      throw new Error(\"Node URL cannot be empty.\");\n    }\n    if (doNotFixNodeUrl) {\n      this.nodeUrl = nodeUrl;\n    } else {\n      this.nodeUrl = fixNodeUrl(nodeUrl);\n    }\n    this.config = config === undefined || config === null ? {} : { ...config };\n  }\n\n  /**\n   * Queries an Aptos account by address\n   * @param accountAddress Hex-encoded 32 byte Aptos account address\n   * @returns Core account resource, used for identifying account and transaction execution\n   * @example An example of the returned account\n   * ```\n   * {\n   *    sequence_number: \"1\",\n   *    authentication_key: \"0x5307b5f4bc67829097a8ba9b43dba3b88261eeccd1f709d9bde240fc100fbb69\"\n   * }\n   * ```\n   */\n  @parseApiError\n  async getAccount(accountAddress: MaybeHexString): Promise<Gen.AccountData> {\n    const { data } = await get<{}, Gen.AccountData>({\n      url: this.nodeUrl,\n      endpoint: `accounts/${HexString.ensure(accountAddress).hex()}`,\n      originMethod: \"getAccount\",\n      overrides: { ...this.config },\n    });\n    return data;\n  }\n\n  /**\n   * Queries transactions sent by given account\n   * @param accountAddress Hex-encoded 32 byte Aptos account address\n   * @param query Optional pagination object\n   * @param query.start The sequence number of the start transaction of the page. Default is 0.\n   * @param query.limit The max number of transactions should be returned for the page. Default is 25.\n   * @returns An array of on-chain transactions, sent by account\n   */\n  @parseApiError\n  async getAccountTransactions(accountAddress: MaybeHexString, query?: PaginationArgs): Promise<Gen.Transaction[]> {\n    const { data } = await get<{}, Gen.Transaction[]>({\n      url: this.nodeUrl,\n      endpoint: `accounts/${HexString.ensure(accountAddress).hex()}/transactions`,\n      originMethod: \"getAccountTransactions\",\n      params: { start: query?.start, limit: query?.limit },\n      overrides: { ...this.config },\n    });\n    return data;\n  }\n\n  /**\n   * Queries modules associated with given account\n   *\n   * Note: In order to get all account modules, this function may call the API\n   * multiple times as it paginates.\n   *\n   * @param accountAddress Hex-encoded 32 byte Aptos account address\n   * @param query.ledgerVersion Specifies ledger version of transactions. By default latest version will be used\n   * @returns Account modules array for a specific ledger version.\n   * Module is represented by MoveModule interface. It contains module `bytecode` and `abi`,\n   * which is JSON representation of a module. Account modules are cached by account address for 10 minutes\n   * to prevent unnecessary API calls when fetching the same account modules\n   */\n  @parseApiError\n  @MemoizeExpiring(10 * 60 * 1000)\n  async getAccountModules(\n    accountAddress: MaybeHexString,\n    query?: { ledgerVersion?: AnyNumber },\n  ): Promise<Gen.MoveModuleBytecode[]> {\n    // Note: This function does not expose a `limit` parameter because it might\n    // be ambiguous how this is being used. Is it being passed to getAccountModules\n    // to limit the number of items per response, or does it limit the total output\n    // of this function? We avoid this confusion by not exposing the parameter at all.\n    const out = await paginateWithCursor<{}, Gen.MoveModuleBytecode[]>({\n      url: this.nodeUrl,\n      endpoint: `accounts/${accountAddress}/modules`,\n      params: { ledger_version: query?.ledgerVersion, limit: 1000 },\n      originMethod: \"getAccountModules\",\n      overrides: { ...this.config },\n    });\n    return out;\n  }\n\n  /**\n   * Queries module associated with given account by module name\n   *\n   * Note: In order to get all account resources, this function may call the API\n   * multiple times as it paginates.\n   *\n   * @param accountAddress Hex-encoded 32 byte Aptos account address\n   * @param moduleName The name of the module\n   * @param query.ledgerVersion Specifies ledger version of transactions. By default latest version will be used\n   * @returns Specified module.\n   * Module is represented by MoveModule interface. It contains module `bytecode` and `abi`,\n   * which JSON representation of a module\n   */\n  @parseApiError\n  async getAccountModule(\n    accountAddress: MaybeHexString,\n    moduleName: string,\n    query?: { ledgerVersion?: AnyNumber },\n  ): Promise<Gen.MoveModuleBytecode> {\n    const { data } = await get<{}, Gen.MoveModuleBytecode>({\n      url: this.nodeUrl,\n      endpoint: `accounts/${HexString.ensure(accountAddress).hex()}/module/${moduleName}`,\n      originMethod: \"getAccountModule\",\n      params: { ledger_version: query?.ledgerVersion },\n      overrides: { ...this.config },\n    });\n    return data;\n  }\n\n  /**\n   * Queries all resources associated with given account\n   * @param accountAddress Hex-encoded 32 byte Aptos account address\n   * @param query.ledgerVersion Specifies ledger version of transactions. By default latest version will be used\n   * @returns Account resources for a specific ledger version\n   */\n  @parseApiError\n  async getAccountResources(\n    accountAddress: MaybeHexString,\n    query?: { ledgerVersion?: AnyNumber },\n  ): Promise<Gen.MoveResource[]> {\n    const out = await paginateWithCursor<{}, Gen.MoveResource[]>({\n      url: this.nodeUrl,\n      endpoint: `accounts/${accountAddress}/resources`,\n      params: { ledger_version: query?.ledgerVersion, limit: 9999 },\n      originMethod: \"getAccountResources\",\n      overrides: { ...this.config },\n    });\n    return out;\n  }\n\n  /**\n   * Queries resource associated with given account by resource type\n   * @param accountAddress Hex-encoded 32 byte Aptos account address\n   * @param resourceType String representation of an on-chain Move struct type\n   * @param query.ledgerVersion Specifies ledger version of transactions. By default latest version will be used\n   * @returns Account resource of specified type and ledger version\n   * @example An example of an account resource\n   * ```\n   * {\n   *    type: \"0x1::aptos_coin::AptosCoin\",\n   *    data: { value: 6 }\n   * }\n   * ```\n   */\n  @parseApiError\n  async getAccountResource(\n    accountAddress: MaybeHexString,\n    resourceType: Gen.MoveStructTag,\n    query?: { ledgerVersion?: AnyNumber },\n  ): Promise<Gen.MoveResource> {\n    const { data } = await get<{}, Gen.MoveResource>({\n      url: this.nodeUrl,\n      endpoint: `accounts/${HexString.ensure(accountAddress).hex()}/resource/${resourceType}`,\n      originMethod: \"getAccountResource\",\n      params: { ledger_version: query?.ledgerVersion },\n      overrides: { ...this.config },\n    });\n    return data;\n  }\n\n  /** Generates a signed transaction that can be submitted to the chain for execution. */\n  static generateBCSTransaction(accountFrom: AptosAccount, rawTxn: TxnBuilderTypes.RawTransaction): Uint8Array {\n    const txnBuilder = new TransactionBuilderEd25519((signingMessage: TxnBuilderTypes.SigningMessage) => {\n      // @ts-ignore\n      const sigHexStr = accountFrom.signBuffer(signingMessage);\n      return new TxnBuilderTypes.Ed25519Signature(sigHexStr.toUint8Array());\n    }, accountFrom.pubKey().toUint8Array());\n\n    return txnBuilder.sign(rawTxn);\n  }\n\n  /**\n   * Note: Unless you have a specific reason for using this, it'll probably be simpler\n   * to use `simulateTransaction`.\n   *\n   * Generates a BCS transaction that can be submitted to the chain for simulation.\n   *\n   * @param accountFrom The account that will be used to send the transaction\n   * for simulation.\n   * @param rawTxn The raw transaction to be simulated, likely created by calling\n   * the `generateTransaction` function.\n   * @returns The BCS encoded signed transaction, which you should then pass into\n   * the `submitBCSSimulation` function.\n   */\n  static generateBCSSimulation(accountFrom: AptosAccount, rawTxn: TxnBuilderTypes.RawTransaction): Uint8Array {\n    // eslint-disable-next-line @typescript-eslint/no-unused-vars\n    const txnBuilder = new TransactionBuilderEd25519((_signingMessage: TxnBuilderTypes.SigningMessage) => {\n      // @ts-ignore\n      const invalidSigBytes = new Uint8Array(64);\n      return new TxnBuilderTypes.Ed25519Signature(invalidSigBytes);\n    }, accountFrom.pubKey().toUint8Array());\n\n    return txnBuilder.sign(rawTxn);\n  }\n\n  /** Generates an entry function transaction request that can be submitted to produce a raw transaction that\n   * can be signed, which upon being signed can be submitted to the blockchain\n   * This function fetches the remote ABI and uses it to serialized the data, therefore\n   * users don't need to handle serialization by themselves.\n   * @param sender Hex-encoded 32 byte Aptos account address of transaction sender\n   * @param payload Entry function transaction payload type\n   * @param options Options allow to overwrite default transaction options.\n   * @returns A raw transaction object\n   */\n  async generateTransaction(\n    sender: MaybeHexString,\n    payload: Gen.EntryFunctionPayload,\n    options?: Partial<Gen.SubmitTransactionRequest>,\n  ): Promise<TxnBuilderTypes.RawTransaction> {\n    const config: RemoteABIBuilderConfig = { sender };\n    if (options?.sequence_number) {\n      config.sequenceNumber = options.sequence_number;\n    }\n\n    if (options?.gas_unit_price) {\n      config.gasUnitPrice = options.gas_unit_price;\n    }\n\n    if (options?.max_gas_amount) {\n      config.maxGasAmount = options.max_gas_amount;\n    }\n\n    if (options?.expiration_timestamp_secs) {\n      const timestamp = Number.parseInt(options.expiration_timestamp_secs, 10);\n      config.expSecFromNow = timestamp - Math.floor(Date.now() / 1000);\n    }\n\n    const builder = new TransactionBuilderRemoteABI(this, config);\n    return builder.build(payload.function, payload.type_arguments, payload.arguments);\n  }\n\n  /**\n   * Generates a fee payer transaction that can be signed and submitted to chain\n   *\n   * @param sender the sender's account address\n   * @param payload the transaction payload\n   * @param fee_payer the fee payer account\n   * @param secondarySignerAccounts an optional array of the secondary signers accounts\n   * @returns a fee payer raw transaction that can be signed and submitted to chain\n   */\n  async generateFeePayerTransaction(\n    sender: MaybeHexString,\n    payload: Gen.EntryFunctionPayload,\n    feePayer: MaybeHexString,\n    secondarySignerAccounts: Array<MaybeHexString> = [],\n    options?: Partial<Gen.SubmitTransactionRequest>,\n  ): Promise<TxnBuilderTypes.FeePayerRawTransaction> {\n    const rawTxn = await this.generateTransaction(sender, payload, options);\n\n    const signers: Array<AccountAddress> = secondarySignerAccounts.map((signer) => AccountAddress.fromHex(signer));\n\n    const feePayerTxn = new TxnBuilderTypes.FeePayerRawTransaction(rawTxn, signers, AccountAddress.fromHex(feePayer));\n    return feePayerTxn;\n  }\n\n  /**\n   * Submits fee payer transaction to chain\n   *\n   * @param feePayerTransaction the raw transaction to be submitted, of type FeePayerRawTransaction\n   * @param senderAuthenticator the sender account authenticator (can get from signMultiTransaction() method)\n   * @param feePayerAuthenticator the feepayer account authenticator (can get from signMultiTransaction() method)\n   * @param signersAuthenticators an optional array of the signer account authenticators\n   * @returns The pending transaction\n   */\n  async submitFeePayerTransaction(\n    feePayerTransaction: TxnBuilderTypes.FeePayerRawTransaction,\n    senderAuthenticator: TxnBuilderTypes.AccountAuthenticatorEd25519,\n    feePayerAuthenticator: TxnBuilderTypes.AccountAuthenticatorEd25519,\n    additionalSignersAuthenticators: Array<TxnBuilderTypes.AccountAuthenticatorEd25519> = [],\n  ): Promise<Gen.PendingTransaction> {\n    const txAuthenticatorFeePayer = new TxnBuilderTypes.TransactionAuthenticatorFeePayer(\n      senderAuthenticator,\n      feePayerTransaction.secondary_signer_addresses,\n      additionalSignersAuthenticators,\n      { address: feePayerTransaction.fee_payer_address, authenticator: feePayerAuthenticator },\n    );\n\n    const bcsTxn = bcsToBytes(\n      new TxnBuilderTypes.SignedTransaction(feePayerTransaction.raw_txn, txAuthenticatorFeePayer),\n    );\n    const transactionRes = await this.submitSignedBCSTransaction(bcsTxn);\n\n    return transactionRes;\n  }\n\n  /**\n   * Signs a multi transaction type (multi agent / fee payer) and returns the\n   * signer authenticator to be used to submit the transaction.\n   *\n   * @param signer the account to sign on the transaction\n   * @param rawTxn a MultiAgentRawTransaction or FeePayerRawTransaction\n   * @returns signer authenticator\n   */\n  // eslint-disable-next-line class-methods-use-this\n  async signMultiTransaction(\n    signer: AptosAccount,\n    rawTxn: MultiAgentRawTransaction | FeePayerRawTransaction,\n  ): Promise<TxnBuilderTypes.AccountAuthenticatorEd25519> {\n    const signerSignature = new TxnBuilderTypes.Ed25519Signature(\n      signer.signBuffer(TransactionBuilder.getSigningMessage(rawTxn)).toUint8Array(),\n    );\n\n    const signerAuthenticator = new TxnBuilderTypes.AccountAuthenticatorEd25519(\n      new TxnBuilderTypes.Ed25519PublicKey(signer.signingKey.publicKey),\n      signerSignature,\n    );\n\n    return Promise.resolve(signerAuthenticator);\n  }\n\n  /** Converts a transaction request produced by `generateTransaction` into a properly\n   * signed transaction, which can then be submitted to the blockchain\n   * @param accountFrom AptosAccount of transaction sender\n   * @param rawTransaction A raw transaction generated by `generateTransaction` method\n   * @returns A transaction, signed with sender account\n   */\n  // eslint-disable-next-line class-methods-use-this\n  async signTransaction(\n    accountFrom: AptosAccount,\n    rawTransaction: TxnBuilderTypes.RawTransaction,\n  ): Promise<Uint8Array> {\n    return Promise.resolve(AptosClient.generateBCSTransaction(accountFrom, rawTransaction));\n  }\n\n  /**\n   * Event types are globally identifiable by an account `address` and\n   * monotonically increasing `creation_number`, one per event type emitted\n   * to the given account. This API returns events corresponding to that\n   * that event type.\n   * @param address Hex-encoded 32 byte Aptos account, with or without a `0x` prefix,\n   * for which events are queried. This refers to the account that events were emitted\n   * to, not the account hosting the move module that emits that event type.\n   * @param creationNumber Creation number corresponding to the event type.\n   * @returns Array of events assotiated with the given account and creation number.\n   */\n  @parseApiError\n  async getEventsByCreationNumber(\n    address: MaybeHexString,\n    creationNumber: AnyNumber | string,\n    query?: PaginationArgs,\n  ): Promise<Gen.Event[]> {\n    const { data } = await get<{}, Gen.Event[]>({\n      url: this.nodeUrl,\n      endpoint: `accounts/${HexString.ensure(address).hex()}/events/${creationNumber}`,\n      originMethod: \"getEventsByCreationNumber\",\n      params: { start: query?.start, limit: query?.limit },\n      overrides: { ...this.config },\n    });\n    return data;\n  }\n\n  /**\n   * This API uses the given account `address`, `eventHandle`, and `fieldName`\n   * to build a key that can globally identify an event types. It then uses this\n   * key to return events emitted to the given account matching that event type.\n   * @param address Hex-encoded 32 byte Aptos account, with or without a `0x` prefix,\n   * for which events are queried. This refers to the account that events were emitted\n   * to, not the account hosting the move module that emits that event type.\n   * @param eventHandleStruct String representation of an on-chain Move struct type.\n   * (e.g. `0x1::coin::CoinStore<0x1::aptos_coin::AptosCoin>`)\n   * @param fieldName The field name of the EventHandle in the struct\n   * @param query Optional query object\n   * @param query.start The start sequence number in the EVENT STREAM, defaulting to the latest event.\n   * The events are returned in the reverse order of sequence number\n   * @param query.limit The number of events to be returned. The default is 25.\n   * @returns Array of events\n   */\n  @parseApiError\n  async getEventsByEventHandle(\n    address: MaybeHexString,\n    eventHandleStruct: Gen.MoveStructTag,\n    fieldName: string,\n    query?: PaginationArgs,\n  ): Promise<Gen.Event[]> {\n    const { data } = await get<{}, Gen.Event[]>({\n      url: this.nodeUrl,\n      endpoint: `accounts/${HexString.ensure(address).hex()}/events/${eventHandleStruct}/${fieldName}`,\n      originMethod: \"getEventsByEventHandle\",\n      params: { start: query?.start, limit: query?.limit },\n      overrides: { ...this.config },\n    });\n    return data;\n  }\n\n  /**\n   * Submits a signed transaction to the transaction endpoint.\n   * @param signedTxn A transaction, signed by `signTransaction` method\n   * @returns Transaction that is accepted and submitted to mempool\n   */\n  async submitTransaction(signedTxn: Uint8Array): Promise<Gen.PendingTransaction> {\n    return this.submitSignedBCSTransaction(signedTxn);\n  }\n\n  /**\n   * Generates and submits a transaction to the transaction simulation\n   * endpoint. For this we generate a transaction with a fake signature.\n   *\n   * @param accountOrPubkey The sender or sender's public key. When private key is available, `AptosAccount` instance\n   * can be used to send the transaction for simulation. If private key is not available, sender's public key can be\n   * used to send the transaction for simulation.\n   * @param rawTransaction The raw transaction to be simulated, likely created\n   * by calling the `generateTransaction` function.\n   * @param query.estimateGasUnitPrice If set to true, the gas unit price in the\n   * transaction will be ignored and the estimated value will be used.\n   * @param query.estimateMaxGasAmount If set to true, the max gas value in the\n   * transaction will be ignored and the maximum possible gas will be used.\n   * @param query.estimatePrioritizedGasUnitPrice If set to true, the transaction will use a higher price than the\n   * original estimate.\n   * @returns The BCS encoded signed transaction, which you should then provide\n   *\n   */\n  async simulateTransaction(\n    accountOrPubkey: AptosAccount | Ed25519PublicKey | MultiEd25519PublicKey,\n    rawTransaction: TxnBuilderTypes.RawTransaction,\n    query?: {\n      estimateGasUnitPrice?: boolean;\n      estimateMaxGasAmount?: boolean;\n      estimatePrioritizedGasUnitPrice: boolean;\n    },\n  ): Promise<Gen.UserTransaction[]> {\n    let signedTxn: Uint8Array;\n\n    if (accountOrPubkey instanceof AptosAccount) {\n      signedTxn = AptosClient.generateBCSSimulation(accountOrPubkey, rawTransaction);\n    } else if (accountOrPubkey instanceof MultiEd25519PublicKey) {\n      const txnBuilder = new TransactionBuilderMultiEd25519(() => {\n        const { threshold } = accountOrPubkey;\n        const bits: Seq<number> = [];\n        const signatures: TxnBuilderTypes.Ed25519Signature[] = [];\n        for (let i = 0; i < threshold; i += 1) {\n          bits.push(i);\n          signatures.push(new TxnBuilderTypes.Ed25519Signature(new Uint8Array(64)));\n        }\n        const bitmap = TxnBuilderTypes.MultiEd25519Signature.createBitmap(bits);\n        return new TxnBuilderTypes.MultiEd25519Signature(signatures, bitmap);\n      }, accountOrPubkey);\n\n      signedTxn = txnBuilder.sign(rawTransaction);\n    } else {\n      const txnBuilder = new TransactionBuilderEd25519(() => {\n        const invalidSigBytes = new Uint8Array(64);\n        return new TxnBuilderTypes.Ed25519Signature(invalidSigBytes);\n      }, accountOrPubkey.toBytes());\n\n      signedTxn = txnBuilder.sign(rawTransaction);\n    }\n    return this.submitBCSSimulation(signedTxn, query);\n  }\n\n  /**\n   * Submits a signed transaction to the endpoint that takes BCS payload\n   *\n   * @param signedTxn A BCS transaction representation\n   * @returns Transaction that is accepted and submitted to mempool\n   */\n  @parseApiError\n  async submitSignedBCSTransaction(signedTxn: Uint8Array): Promise<Gen.PendingTransaction> {\n    // Need to construct a customized post request for transactions in BCS payload\n    const { data } = await post<Uint8Array, Gen.PendingTransaction>({\n      url: this.nodeUrl,\n      body: signedTxn,\n      endpoint: \"transactions\",\n      originMethod: \"submitSignedBCSTransaction\",\n      contentType: \"application/x.aptos.signed_transaction+bcs\",\n      overrides: { ...this.config },\n    });\n    return data;\n  }\n\n  /**\n   * Submits the BCS serialization of a signed transaction to the simulation endpoint.\n   *\n   * @param bcsBody The output of `generateBCSSimulation`.\n   * @param query?.estimateGasUnitPrice If set to true, the gas unit price in the\n   * transaction will be ignored and the estimated value will be used.\n   * @param query?.estimateMaxGasAmount If set to true, the max gas value in the\n   * transaction will be ignored and the maximum possible gas will be used.\n   * @param query?.estimatePrioritizedGasUnitPrice If set to true, the transaction will use a higher price than the\n   * original estimate.\n   * @returns Simulation result in the form of UserTransaction.\n   */\n  @parseApiError\n  async submitBCSSimulation(\n    bcsBody: Uint8Array,\n    query?: {\n      estimateGasUnitPrice?: boolean;\n      estimateMaxGasAmount?: boolean;\n      estimatePrioritizedGasUnitPrice?: boolean;\n    },\n  ): Promise<Gen.UserTransaction[]> {\n    // Need to construct a customized post request for transactions in BCS payload.\n    const queryParams = {\n      estimate_gas_unit_price: query?.estimateGasUnitPrice ?? false,\n      estimate_max_gas_amount: query?.estimateMaxGasAmount ?? false,\n      estimate_prioritized_gas_unit_price: query?.estimatePrioritizedGasUnitPrice ?? false,\n    };\n    const { data } = await post<Uint8Array, Gen.UserTransaction[]>({\n      url: this.nodeUrl,\n      body: bcsBody,\n      endpoint: \"transactions/simulate\",\n      params: queryParams,\n      originMethod: \"submitBCSSimulation\",\n      contentType: \"application/x.aptos.signed_transaction+bcs\",\n      overrides: { ...this.config },\n    });\n    return data;\n  }\n\n  /**\n   * Queries on-chain transactions. This function will not return pending\n   * transactions. For that, use `getTransactionsByHash`.\n   *\n   * @param query Optional pagination object\n   * @param query.start The start transaction version of the page. Default is the latest ledger version\n   * @param query.limit The max number of transactions should be returned for the page. Default is 25\n   * @returns Array of on-chain transactions\n   */\n  @parseApiError\n  async getTransactions(query?: PaginationArgs): Promise<Gen.Transaction[]> {\n    const { data } = await get<{}, Gen.Transaction[]>({\n      url: this.nodeUrl,\n      endpoint: \"transactions\",\n      originMethod: \"getTransactions\",\n      params: { start: query?.start?.toString(), limit: query?.limit },\n      overrides: { ...this.config },\n    });\n    return data;\n  }\n\n  /**\n   * @param txnHash - Transaction hash should be hex-encoded bytes string with 0x prefix.\n   * @returns Transaction from mempool (pending) or on-chain (committed) transaction\n   */\n  @parseApiError\n  async getTransactionByHash(txnHash: string): Promise<Gen.Transaction> {\n    const { data } = await get<{}, Gen.Transaction>({\n      url: this.nodeUrl,\n      endpoint: `transactions/by_hash/${txnHash}`,\n      originMethod: \"getTransactionByHash\",\n      overrides: { ...this.config },\n    });\n\n    return data;\n  }\n\n  /**\n   * @param txnVersion - Transaction version is an uint64 number.\n   * @returns On-chain transaction. Only on-chain transactions have versions, so this\n   * function cannot be used to query pending transactions.\n   */\n  @parseApiError\n  async getTransactionByVersion(txnVersion: AnyNumber): Promise<Gen.Transaction> {\n    const { data } = await get<{}, Gen.Transaction>({\n      url: this.nodeUrl,\n      endpoint: `transactions/by_version/${txnVersion}`,\n      originMethod: \"getTransactionByVersion\",\n      overrides: { ...this.config },\n    });\n    return data;\n  }\n\n  /**\n   * Defines if specified transaction is currently in pending state\n   * @param txnHash A hash of transaction\n   *\n   * To create a transaction hash:\n   *\n   * 1. Create hash message bytes: \"Aptos::Transaction\" bytes + BCS bytes of Transaction.\n   * 2. Apply hash algorithm SHA3-256 to the hash message bytes.\n   * 3. Hex-encode the hash bytes with 0x prefix.\n   *\n   * @returns `true` if transaction is in pending state and `false` otherwise\n   */\n  async transactionPending(txnHash: string): Promise<boolean> {\n    try {\n      const response = await this.getTransactionByHash(txnHash);\n      return response.type === \"pending_transaction\";\n    } catch (e: any) {\n      if (e?.status === 404) {\n        return true;\n      }\n      throw e;\n    }\n  }\n\n  /**\n   * Wait for a transaction to move past pending state.\n   *\n   * There are 4 possible outcomes:\n   * 1. Transaction is processed and successfully committed to the blockchain.\n   * 2. Transaction is rejected for some reason, and is therefore not committed\n   *    to the blockchain.\n   * 3. Transaction is committed but execution failed, meaning no changes were\n   *    written to the blockchain state.\n   * 4. Transaction is not processed within the specified timeout.\n   *\n   * In case 1, this function resolves with the transaction response returned\n   * by the API.\n   *\n   * In case 2, the function will throw an ApiError, likely with an HTTP status\n   * code indicating some problem with the request (e.g. 400).\n   *\n   * In case 3, if `checkSuccess` is false (the default), this function returns\n   * the transaction response just like in case 1, in which the `success` field\n   * will be false. If `checkSuccess` is true, it will instead throw a\n   * FailedTransactionError.\n   *\n   * In case 4, this function throws a WaitForTransactionError.\n   *\n   * @param txnHash The hash of a transaction previously submitted to the blockchain.\n   * @param extraArgs.timeoutSecs Timeout in seconds. Defaults to 20 seconds.\n   * @param extraArgs.checkSuccess See above. Defaults to false.\n   * @returns See above.\n   *\n   * @example\n   * ```\n   * const rawTransaction = await this.generateRawTransaction(sender.address(), payload, extraArgs);\n   * const bcsTxn = AptosClient.generateBCSTransaction(sender, rawTransaction);\n   * const pendingTransaction = await this.submitSignedBCSTransaction(bcsTxn);\n   * const transasction = await this.aptosClient.waitForTransactionWithResult(pendingTransaction.hash);\n   * ```\n   */\n  async waitForTransactionWithResult(\n    txnHash: string,\n    extraArgs?: { timeoutSecs?: number; checkSuccess?: boolean },\n  ): Promise<Gen.Transaction> {\n    const timeoutSecs = extraArgs?.timeoutSecs ?? DEFAULT_TXN_TIMEOUT_SEC;\n    const checkSuccess = extraArgs?.checkSuccess ?? false;\n\n    let isPending = true;\n    let count = 0;\n    let lastTxn: Gen.Transaction | undefined;\n\n    while (isPending) {\n      if (count >= timeoutSecs) {\n        break;\n      }\n      try {\n        // eslint-disable-next-line no-await-in-loop\n        lastTxn = await this.getTransactionByHash(txnHash);\n\n        isPending = lastTxn.type === \"pending_transaction\";\n        if (!isPending) {\n          break;\n        }\n      } catch (e) {\n        // In short, this means we will retry if it was an ApiError and the code was 404 or 5xx.\n        const isApiError = e instanceof ApiError;\n        const isRequestError = isApiError && e.status !== 404 && e.status >= 400 && e.status < 500;\n        if (!isApiError || isRequestError) {\n          throw e;\n        }\n      }\n      // eslint-disable-next-line no-await-in-loop\n      await sleep(1000);\n      count += 1;\n    }\n\n    // There is a chance that lastTxn is still undefined. Let's throw some error here\n    if (lastTxn === undefined) {\n      throw new Error(`Waiting for transaction ${txnHash} failed`);\n    }\n\n    if (isPending) {\n      throw new WaitForTransactionError(\n        `Waiting for transaction ${txnHash} timed out after ${timeoutSecs} seconds`,\n        lastTxn,\n      );\n    }\n    if (!checkSuccess) {\n      return lastTxn;\n    }\n    if (!(lastTxn as any)?.success) {\n      throw new FailedTransactionError(\n        `Transaction ${txnHash} failed with an error: ${(lastTxn as any).vm_status}`,\n        lastTxn,\n      );\n    }\n    return lastTxn;\n  }\n\n  /**\n   * This function works the same as `waitForTransactionWithResult` except it\n   * doesn't return the transaction in those cases, it returns nothing. For\n   * more information, see the documentation for `waitForTransactionWithResult`.\n   */\n  async waitForTransaction(\n    txnHash: string,\n    extraArgs?: { timeoutSecs?: number; checkSuccess?: boolean },\n  ): Promise<void> {\n    await this.waitForTransactionWithResult(txnHash, extraArgs);\n  }\n\n  /**\n   * Queries the latest ledger information\n   * @returns Latest ledger information\n   * @example Example of returned data\n   * ```\n   * {\n   *   chain_id: 15,\n   *   epoch: 6,\n   *   ledgerVersion: \"2235883\",\n   *   ledger_timestamp:\"1654580922321826\"\n   * }\n   * ```\n   */\n  @parseApiError\n  async getLedgerInfo(): Promise<Gen.IndexResponse> {\n    const { data } = await get<{}, Gen.IndexResponse>({\n      url: this.nodeUrl,\n      originMethod: \"getLedgerInfo\",\n      overrides: { ...this.config },\n    });\n    return data;\n  }\n\n  /**\n   * @returns Current chain id\n   */\n  @Memoize()\n  async getChainId(): Promise<number> {\n    const result = await this.getLedgerInfo();\n    return result.chain_id;\n  }\n\n  /**\n   * Gets a table item for a table identified by the handle and the key for the item.\n   * Key and value types need to be passed in to help with key serialization and value deserialization.\n   * @param handle A pointer to where that table is stored\n   * @param data Object, that describes table item\n   * @param data.key_type Move type of table key (e.g. `vector<u8>`)\n   * @param data.value_type Move type of table value (e.g. `u64`)\n   * @param data.key Value of table key\n   * @returns Table item value rendered in JSON\n   */\n  @parseApiError\n  async getTableItem(handle: string, data: Gen.TableItemRequest, query?: { ledgerVersion?: AnyNumber }): Promise<any> {\n    const response = await post<Gen.TableItemRequest, any>({\n      url: this.nodeUrl,\n      body: data,\n      endpoint: `tables/${handle}/item`,\n      originMethod: \"getTableItem\",\n      params: { ledger_version: query?.ledgerVersion?.toString() },\n      overrides: { ...this.config },\n    });\n    return response.data;\n  }\n\n  /**\n   * Generates a raw transaction out of a transaction payload\n   * @param accountFrom\n   * @param payload\n   * @param extraArgs\n   * @returns A raw transaction object\n   */\n  async generateRawTransaction(\n    accountFrom: HexString,\n    payload: TxnBuilderTypes.TransactionPayload,\n    extraArgs?: OptionalTransactionArgs,\n  ): Promise<TxnBuilderTypes.RawTransaction> {\n    const [{ sequence_number: sequenceNumber }, chainId, { gas_estimate: gasEstimate }] = await Promise.all([\n      extraArgs?.providedSequenceNumber\n        ? Promise.resolve({ sequence_number: extraArgs.providedSequenceNumber })\n        : this.getAccount(accountFrom),\n      this.getChainId(),\n      extraArgs?.gasUnitPrice ? Promise.resolve({ gas_estimate: extraArgs.gasUnitPrice }) : this.estimateGasPrice(),\n    ]);\n\n    const { maxGasAmount, gasUnitPrice, expireTimestamp } = {\n      maxGasAmount: BigInt(DEFAULT_MAX_GAS_AMOUNT),\n      gasUnitPrice: BigInt(gasEstimate),\n      expireTimestamp: BigInt(Math.floor(Date.now() / 1000) + DEFAULT_TXN_EXP_SEC_FROM_NOW),\n      ...extraArgs,\n    };\n\n    return new TxnBuilderTypes.RawTransaction(\n      TxnBuilderTypes.AccountAddress.fromHex(accountFrom),\n      BigInt(sequenceNumber),\n      payload,\n      maxGasAmount,\n      gasUnitPrice,\n      expireTimestamp,\n      new TxnBuilderTypes.ChainId(chainId),\n    );\n  }\n\n  /**\n   * Helper for generating, signing, and submitting a transaction.\n   *\n   * @param sender AptosAccount of transaction sender.\n   * @param payload Transaction payload.\n   * @param extraArgs Extra args for building the transaction payload.\n   * @returns The transaction response from the API.\n   */\n  async generateSignSubmitTransaction(\n    sender: AptosAccount,\n    payload: TxnBuilderTypes.TransactionPayload,\n    extraArgs?: OptionalTransactionArgs,\n  ): Promise<string> {\n    // :!:>generateSignSubmitTransactionInner\n    const rawTransaction = await this.generateRawTransaction(sender.address(), payload, extraArgs);\n    const bcsTxn = AptosClient.generateBCSTransaction(sender, rawTransaction);\n    const pendingTransaction = await this.submitSignedBCSTransaction(bcsTxn);\n    return pendingTransaction.hash;\n    // <:!:generateSignSubmitTransactionInner\n  }\n\n  /**\n   * Helper for signing and submitting a transaction.\n   *\n   * @param sender AptosAccount of transaction sender.\n   * @param transaction A generated Raw transaction payload.\n   * @returns The transaction response from the API.\n   */\n  async signAndSubmitTransaction(sender: AptosAccount, transaction: RawTransaction): Promise<string> {\n    const bcsTxn = AptosClient.generateBCSTransaction(sender, transaction);\n    const pendingTransaction = await this.submitSignedBCSTransaction(bcsTxn);\n    return pendingTransaction.hash;\n  }\n\n  /**\n   * Publishes a move package. `packageMetadata` and `modules` can be generated with command\n   * `aptos move compile --save-metadata [ --included-artifacts=<...> ]`.\n   * @param sender\n   * @param packageMetadata package metadata bytes\n   * @param modules bytecodes of modules\n   * @param extraArgs\n   * @returns Transaction hash\n   */\n  async publishPackage(\n    sender: AptosAccount,\n    packageMetadata: Bytes,\n    modules: Seq<TxnBuilderTypes.Module>,\n    extraArgs?: OptionalTransactionArgs,\n  ): Promise<string> {\n    const codeSerializer = new Serializer();\n    serializeVector(modules, codeSerializer);\n\n    const payload = new TxnBuilderTypes.TransactionPayloadEntryFunction(\n      TxnBuilderTypes.EntryFunction.natural(\n        \"0x1::code\",\n        \"publish_package_txn\",\n        [],\n        [bcsSerializeBytes(packageMetadata), codeSerializer.getBytes()],\n      ),\n    );\n\n    return this.generateSignSubmitTransaction(sender, payload, extraArgs);\n  }\n\n  /**\n   * Publishes a move packages by creating a resource account.\n   * The package cannot be upgraded since it is deployed by resource account\n   * `packageMetadata` and `modules` can be generated with command\n   * `aptos move compile --save-metadata [ --included-artifacts=<...> ]`.\n   * @param sender\n   * @param seed seeds for creation of resource address\n   * @param packageMetadata package metadata bytes\n   * @param modules bytecodes of modules\n   * @param extraArgs\n   * @returns Transaction hash\n   */\n  async createResourceAccountAndPublishPackage(\n    sender: AptosAccount,\n    seed: Bytes,\n    packageMetadata: Bytes,\n    modules: Seq<TxnBuilderTypes.Module>,\n    extraArgs?: OptionalTransactionArgs,\n  ): Promise<string> {\n    const codeSerializer = new Serializer();\n    serializeVector(modules, codeSerializer);\n\n    const payload = new TxnBuilderTypes.TransactionPayloadEntryFunction(\n      TxnBuilderTypes.EntryFunction.natural(\n        \"0x1::resource_account\",\n        \"create_resource_account_and_publish_package\",\n        [],\n        [bcsSerializeBytes(seed), bcsSerializeBytes(packageMetadata), codeSerializer.getBytes()],\n      ),\n    );\n\n    return this.generateSignSubmitTransaction(sender, payload, extraArgs);\n  }\n\n  /**\n   * Helper for generating, submitting, and waiting for a transaction, and then\n   * checking whether it was committed successfully. Under the hood this is just\n   * `generateSignSubmitTransaction` and then `waitForTransactionWithResult`, see\n   * those for information about the return / error semantics of this function.\n   */\n  async generateSignSubmitWaitForTransaction(\n    sender: AptosAccount,\n    payload: TxnBuilderTypes.TransactionPayload,\n    extraArgs?: OptionalTransactionArgs & {\n      checkSuccess?: boolean;\n      timeoutSecs?: number;\n    },\n  ): Promise<Gen.Transaction> {\n    const txnHash = await this.generateSignSubmitTransaction(sender, payload, extraArgs);\n    return this.waitForTransactionWithResult(txnHash, extraArgs);\n  }\n\n  @parseApiError\n  @Memoize({\n    ttlMs: 5 * 60 * 1000, // cache result for 5min\n    tags: [\"gas_estimates\"],\n  })\n  async estimateGasPrice(): Promise<Gen.GasEstimation> {\n    const { data } = await get<{}, Gen.GasEstimation>({\n      url: this.nodeUrl,\n      endpoint: \"estimate_gas_price\",\n      originMethod: \"estimateGasPrice\",\n      overrides: { ...this.config },\n    });\n    return data;\n  }\n\n  @parseApiError\n  async estimateMaxGasAmount(forAccount: MaybeHexString): Promise<Uint64> {\n    // Only Aptos utility coin is accepted as gas\n    const typeTag = `0x1::coin::CoinStore<${APTOS_COIN}>`;\n\n    const [{ gas_estimate: gasUnitPrice }, resources] = await Promise.all([\n      this.estimateGasPrice(),\n      this.getAccountResources(forAccount),\n    ]);\n\n    const accountResource = resources.find((r) => r.type === typeTag);\n    const balance = BigInt((accountResource!.data as any).coin.value);\n    return balance / BigInt(gasUnitPrice);\n  }\n\n  /**\n   * Rotate an account's auth key. After rotation, only the new private key can be used to sign txns for\n   * the account.\n   * WARNING: You must create a new instance of AptosAccount after using this function.\n   * @param forAccount Account of which the auth key will be rotated\n   * @param toPrivateKeyBytes New private key\n   * @param extraArgs Extra args for building the transaction payload.\n   * @returns PendingTransaction\n   */\n  async rotateAuthKeyEd25519(\n    forAccount: AptosAccount,\n    toPrivateKeyBytes: Uint8Array,\n    extraArgs?: OptionalTransactionArgs,\n  ): Promise<Gen.PendingTransaction> {\n    const { sequence_number: sequenceNumber, authentication_key: authKey } = await this.getAccount(\n      forAccount.address(),\n    );\n\n    const helperAccount = new AptosAccount(toPrivateKeyBytes);\n\n    const challenge = new TxnBuilderTypes.RotationProofChallenge(\n      TxnBuilderTypes.AccountAddress.CORE_CODE_ADDRESS,\n      \"account\",\n      \"RotationProofChallenge\",\n      BigInt(sequenceNumber),\n      TxnBuilderTypes.AccountAddress.fromHex(forAccount.address()),\n      new TxnBuilderTypes.AccountAddress(new HexString(authKey).toUint8Array()),\n      helperAccount.pubKey().toUint8Array(),\n    );\n\n    const challengeHex = HexString.fromUint8Array(bcsToBytes(challenge));\n\n    const proofSignedByCurrentPrivateKey = forAccount.signHexString(challengeHex);\n\n    const proofSignedByNewPrivateKey = helperAccount.signHexString(challengeHex);\n\n    const payload = new TxnBuilderTypes.TransactionPayloadEntryFunction(\n      TxnBuilderTypes.EntryFunction.natural(\n        \"0x1::account\",\n        \"rotate_authentication_key\",\n        [],\n        [\n          bcsSerializeU8(0), // ed25519 scheme\n          bcsSerializeBytes(forAccount.pubKey().toUint8Array()),\n          bcsSerializeU8(0), // ed25519 scheme\n          bcsSerializeBytes(helperAccount.pubKey().toUint8Array()),\n          bcsSerializeBytes(proofSignedByCurrentPrivateKey.toUint8Array()),\n          bcsSerializeBytes(proofSignedByNewPrivateKey.toUint8Array()),\n        ],\n      ),\n    );\n\n    const rawTransaction = await this.generateRawTransaction(forAccount.address(), payload, extraArgs);\n    const bcsTxn = AptosClient.generateBCSTransaction(forAccount, rawTransaction);\n    return this.submitSignedBCSTransaction(bcsTxn);\n  }\n\n  /**\n   * Lookup the original address by the current derived address\n   * @param addressOrAuthKey\n   * @returns original address\n   */\n  async lookupOriginalAddress(addressOrAuthKey: MaybeHexString): Promise<HexString> {\n    const resource = await this.getAccountResource(\"0x1\", \"0x1::account::OriginatingAddress\");\n\n    const {\n      address_map: { handle },\n    } = resource.data as any;\n\n    const origAddress = await this.getTableItem(handle, {\n      key_type: \"address\",\n      value_type: \"address\",\n      key: HexString.ensure(addressOrAuthKey).hex(),\n    });\n\n    return new HexString(origAddress);\n  }\n\n  /**\n   * Get block by height\n   *\n   * @param blockHeight Block height to lookup.  Starts at 0\n   * @param withTransactions If set to true, include all transactions in the block\n   *\n   * @returns Block\n   */\n  @parseApiError\n  async getBlockByHeight(blockHeight: number, withTransactions?: boolean): Promise<Gen.Block> {\n    const { data } = await get<{}, Gen.Block>({\n      url: this.nodeUrl,\n      endpoint: `blocks/by_height/${blockHeight}`,\n      originMethod: \"getBlockByHeight\",\n      params: { with_transactions: withTransactions },\n      overrides: { ...this.config },\n    });\n    return data;\n  }\n\n  /**\n   * Get block by block transaction version\n   *\n   * @param version Ledger version to lookup block information for\n   * @param withTransactions If set to true, include all transactions in the block\n   *\n   * @returns Block\n   */\n  @parseApiError\n  async getBlockByVersion(version: number, withTransactions?: boolean): Promise<Gen.Block> {\n    const { data } = await get<{}, Gen.Block>({\n      url: this.nodeUrl,\n      endpoint: `blocks/by_version/${version}`,\n      originMethod: \"getBlockByVersion\",\n      params: { with_transactions: withTransactions },\n      overrides: { ...this.config },\n    });\n    return data;\n  }\n\n  /**\n   * Call for a move view function\n   *\n   * @param payload Transaction payload\n   * @param version (optional) Ledger version to lookup block information for\n   *\n   * @returns MoveValue[]\n   */\n  @parseApiError\n  async view(payload: Gen.ViewRequest, ledger_version?: string): Promise<Gen.MoveValue[]> {\n    const { data } = await post<Gen.ViewRequest, Gen.MoveValue[]>({\n      url: this.nodeUrl,\n      body: payload,\n      endpoint: \"view\",\n      originMethod: \"getTableItem\",\n      params: { ledger_version },\n      overrides: { ...this.config },\n    });\n    return data;\n  }\n\n  // eslint-disable-next-line class-methods-use-this\n  clearCache(tags: string[]) {\n    clear(tags);\n  }\n}\n/**\n * This error is used by `waitForTransactionWithResult` when waiting for a\n * transaction times out.\n */\nexport class WaitForTransactionError extends Error {\n  public readonly lastSubmittedTransaction: Gen.Transaction | undefined;\n\n  constructor(message: string, lastSubmittedTransaction: Gen.Transaction | undefined) {\n    super(message);\n    this.lastSubmittedTransaction = lastSubmittedTransaction;\n  }\n}\n\n/**\n * This error is used by `waitForTransactionWithResult` if `checkSuccess` is true.\n * See that function for more information.\n */\nexport class FailedTransactionError extends Error {\n  public readonly transaction: Gen.Transaction;\n\n  constructor(message: string, transaction: Gen.Transaction) {\n    super(message);\n    this.transaction = transaction;\n  }\n}\n\nexport class ApiError extends Error {\n  constructor(\n    public readonly status: number,\n    public readonly message: string,\n    public readonly errorCode?: string,\n    public readonly vmErrorCode?: string,\n  ) {\n    super(message);\n  }\n}\n\nfunction parseApiError(target: unknown, propertyKey: string, descriptor: PropertyDescriptor) {\n  const childFunction = descriptor.value;\n  // eslint-disable-next-line no-param-reassign\n  descriptor.value = async function wrapper(...args: any[]) {\n    try {\n      // We need to explicitly await here so that the function is called and\n      // potentially throws an error. If we just return without awaiting, the\n      // promise is returned directly and the catch block cannot trigger.\n      const res = await childFunction.apply(this, [...args]);\n      return res;\n    } catch (e) {\n      if (e instanceof AptosApiError) {\n        throw new ApiError(\n          e.status,\n          JSON.stringify({ message: e.message, ...e.data }),\n          e.data?.error_code,\n          e.data?.vm_error_code,\n        );\n      }\n      throw e;\n    }\n  };\n  return descriptor;\n}\n","import { AnyNumber } from \"../bcs/types\";\nimport { HexString, MaybeHexString } from \"../utils\";\nimport {\n  GetAccountTokensCountQuery,\n  GetAccountCoinsDataQuery,\n  GetAccountCurrentTokensQuery,\n  GetAccountTransactionsCountQuery,\n  GetAccountTransactionsDataQuery,\n  GetNumberOfDelegatorsQuery,\n  GetDelegatedStakingActivitiesQuery,\n  GetIndexerLedgerInfoQuery,\n  GetTokenActivitiesCountQuery,\n  GetTokenActivitiesQuery,\n  GetTokenDataQuery,\n  GetTokenOwnersDataQuery,\n  GetTopUserTransactionsQuery,\n  GetUserTransactionsQuery,\n  GetOwnedTokensQuery,\n  GetTokenOwnedFromCollectionQuery,\n  GetCollectionDataQuery,\n  GetCollectionsWithOwnedTokensQuery,\n  GetTokenCurrentOwnerDataQuery,\n  GetOwnedTokensByTokenDataQuery,\n  GetAccountCoinsDataCountQuery,\n  GetCurrentObjectsQuery,\n} from \"../indexer/generated/operations\";\nimport {\n  GetAccountTokensCount,\n  GetAccountCoinsData,\n  GetAccountCurrentTokens,\n  GetAccountTransactionsCount,\n  GetAccountTransactionsData,\n  GetNumberOfDelegators,\n  GetDelegatedStakingActivities,\n  GetIndexerLedgerInfo,\n  GetTokenActivities,\n  GetTokenActivitiesCount,\n  GetTokenData,\n  GetTokenOwnersData,\n  GetTopUserTransactions,\n  GetUserTransactions,\n  GetOwnedTokens,\n  GetTokenOwnedFromCollection,\n  GetCollectionData,\n  GetCollectionsWithOwnedTokens,\n  GetTokenCurrentOwnerData,\n  GetOwnedTokensByTokenData,\n  GetAccountCoinsDataCount,\n  GetCurrentObjects,\n} from \"../indexer/generated/queries\";\nimport { ClientConfig, post } from \"../client\";\nimport { ApiError } from \"./aptos_client\";\nimport {\n  Account_Transactions_Order_By,\n  Current_Collections_V2_Order_By,\n  Current_Collection_Ownership_V2_View_Order_By,\n  Current_Fungible_Asset_Balances_Order_By,\n  Current_Token_Datas_V2_Order_By,\n  Current_Token_Ownerships_V2_Order_By,\n  InputMaybe,\n  Token_Activities_V2_Order_By,\n  User_Transactions_Order_By,\n  Current_Objects_Order_By,\n} from \"../indexer/generated/types\";\n\n/**\n * Controls the number of results that are returned and the starting position of those results.\n * limit specifies the maximum number of items or records to return in a query result.\n * offset parameter specifies the starting position of the query result within the set of data.\n * For example, if you want to retrieve records 11-20,\n * you would set the offset parameter to 10 (i.e., the index of the first record to retrieve is 10)\n * and the limit parameter to 10 (i.e., the number of records to retrieve is 10))\n */\nexport interface IndexerPaginationArgs {\n  offset?: AnyNumber;\n  limit?: number;\n}\n\n/**\n * Holds a generic type that being passed by each function and holds an\n * array of properties we can sort the query by\n */\nexport type IndexerSortBy<T> = IndexerSortingOptions<T>;\n\nexport type IndexerSortingOptions<T> = {\n  [K in keyof T]?: T[K] extends InputMaybe<infer U>\n    ? IndexerSortingOptions<U> | U | IndexerOrderBy\n    : T[K] | IndexerOrderBy;\n};\n\nexport type IndexerOrderBy = \"asc\" | \"desc\";\n\n/**\n * Refers to the token standard we want to query for\n */\nexport type TokenStandard = \"v1\" | \"v2\";\n\n/**\n * The graphql query type to pass into the `queryIndexer` function\n */\nexport type GraphqlQuery = {\n  query: string;\n  variables?: {};\n};\n\n/**\n * Provides methods for retrieving data from Aptos Indexer.\n * For more detailed Queries specification see\n * {@link https://cloud.hasura.io/public/graphiql?endpoint=https://api.mainnet.aptoslabs.com/v1/graphql}\n *\n * Some methods support optional extra arguments, such as - TokenStandard, IndexerSortBy, IndexerPaginationArgs\n *\n * @param TokenStandard is of type `v1` or `v2` and it refers to the token standard we want to query for.\n * @example An example of how to pass a specific token standard\n * ```\n * {\n *    tokenStandard:\"v2\"\n * }\n * ```\n *\n * @param IndexerSortBy has a generic type that being passed by each function and holds an\n * array of properties we can sort the query by\n * @example An example of how to sort by a specific field\n * ```\n * {\n *  orderBy: [{ token_standard: \"desc\" }]\n * }\n * ```\n *\n * @param IndexerPaginationArgs Controls the number of results that are returned and the starting position\n * of those results.\n * limit specifies the maximum number of items or records to return in a query result.\n * offset parameter specifies the starting position of the query result within the set of data.\n * For example, if you want to retrieve records 11-20,\n * you would set the offset parameter to 10 (i.e., the index of the first record to retrieve is 10)\n * and the limit parameter to 10 (i.e., the number of records to retrieve is 10))\n *\n * @example An example of how to set the `limit` and `offset`\n * ```\n * {\n *  { offset: 2, limit: 4 }\n * }\n * ```\n */\nexport class IndexerClient {\n  readonly endpoint: string;\n\n  readonly config: ClientConfig | undefined;\n\n  /**\n   * @param endpoint URL of the Aptos Indexer API endpoint.\n   */\n  constructor(endpoint: string, config?: ClientConfig) {\n    this.endpoint = endpoint;\n    this.config = config;\n  }\n\n  /**\n   * Indexer only accepts address in the long format, i.e a 66 chars long -> 0x<64 chars>\n   * This method makes sure address is 66 chars long.\n   * @param address\n   */\n  static validateAddress(address: string): void {\n    if (address.length < 66) {\n      throw new Error(`${address} is less than 66 chars long.`);\n    }\n  }\n\n  /**\n   * Makes axios client call to fetch data from Aptos Indexer.\n   *\n   * @param graphqlQuery A GraphQL query to pass in the `data` axios call.\n   */\n  async queryIndexer<T>(graphqlQuery: GraphqlQuery): Promise<T> {\n    const response = await post<GraphqlQuery, any>({\n      url: this.endpoint,\n      body: graphqlQuery,\n      overrides: { WITH_CREDENTIALS: false, ...this.config },\n    });\n    if (response.data.errors) {\n      throw new ApiError(\n        response.data.errors[0].extensions.code,\n        JSON.stringify({\n          message: response.data.errors[0].message,\n          error_code: response.data.errors[0].extensions.code,\n        }),\n      );\n    }\n    return response.data.data;\n  }\n\n  /**\n   * Queries Indexer Ledger Info\n   *\n   * @returns GetLedgerInfoQuery response type\n   */\n  async getIndexerLedgerInfo(): Promise<GetIndexerLedgerInfoQuery> {\n    const graphqlQuery = {\n      query: GetIndexerLedgerInfo,\n    };\n    return this.queryIndexer(graphqlQuery);\n  }\n\n  // TOKENS //\n\n  /**\n   * @deprecated please use `getOwnedTokens` query\n   *\n   * Queries an Aptos account's NFTs by owner address\n   *\n   * @param ownerAddress Hex-encoded 32 byte Aptos account address\n   * @returns GetAccountCurrentTokensQuery response type\n   */\n  async getAccountNFTs(\n    ownerAddress: MaybeHexString,\n    options?: IndexerPaginationArgs,\n  ): Promise<GetAccountCurrentTokensQuery> {\n    const address = HexString.ensure(ownerAddress).hex();\n    IndexerClient.validateAddress(address);\n    const graphqlQuery = {\n      query: GetAccountCurrentTokens,\n      variables: { address, offset: options?.offset, limit: options?.limit },\n    };\n\n    return this.queryIndexer<GetAccountCurrentTokensQuery>(graphqlQuery);\n  }\n\n  /**\n   * Queries a token activities by token address (v2) or token data id (v1)\n   *\n   * @param idHash token address (v2) or token data id (v1)\n   * @returns GetTokenActivitiesQuery response type\n   */\n  async getTokenActivities(\n    token: MaybeHexString,\n    extraArgs?: {\n      tokenStandard?: TokenStandard;\n      options?: IndexerPaginationArgs;\n      orderBy?: IndexerSortBy<Token_Activities_V2_Order_By>[];\n    },\n  ): Promise<GetTokenActivitiesQuery> {\n    const tokenAddress = HexString.ensure(token).hex();\n    IndexerClient.validateAddress(tokenAddress);\n\n    const whereCondition: any = {\n      token_data_id: { _eq: tokenAddress },\n    };\n\n    if (extraArgs?.tokenStandard) {\n      whereCondition.token_standard = { _eq: extraArgs?.tokenStandard };\n    }\n    const graphqlQuery = {\n      query: GetTokenActivities,\n      variables: {\n        where_condition: whereCondition,\n        offset: extraArgs?.options?.offset,\n        limit: extraArgs?.options?.limit,\n        order_by: extraArgs?.orderBy,\n      },\n    };\n\n    return this.queryIndexer(graphqlQuery);\n  }\n\n  /**\n   * Gets the count of token's activities by token address (v2) or token data id (v1)\n   *\n   * @param token token address (v2) or token data id (v1)\n   * @returns GetTokenActivitiesCountQuery response type\n   */\n  async getTokenActivitiesCount(token: string): Promise<GetTokenActivitiesCountQuery> {\n    const graphqlQuery = {\n      query: GetTokenActivitiesCount,\n      variables: { token_id: token },\n    };\n    return this.queryIndexer(graphqlQuery);\n  }\n\n  /**\n   * Gets the count of tokens owned by an account\n   *\n   * @param ownerAddress Owner address\n   * @returns AccountTokensCountQuery response type\n   */\n  async getAccountTokensCount(\n    ownerAddress: MaybeHexString,\n    extraArgs?: {\n      tokenStandard?: TokenStandard;\n      options?: IndexerPaginationArgs;\n    },\n  ): Promise<GetAccountTokensCountQuery> {\n    const whereCondition: any = {\n      owner_address: { _eq: ownerAddress },\n      amount: { _gt: \"0\" },\n    };\n\n    if (extraArgs?.tokenStandard) {\n      whereCondition.token_standard = { _eq: extraArgs?.tokenStandard };\n    }\n\n    const address = HexString.ensure(ownerAddress).hex();\n    IndexerClient.validateAddress(address);\n    const graphqlQuery = {\n      query: GetAccountTokensCount,\n      variables: {\n        where_condition: whereCondition,\n        offset: extraArgs?.options?.offset,\n        limit: extraArgs?.options?.limit,\n      },\n    };\n    return this.queryIndexer(graphqlQuery);\n  }\n\n  /**\n   * Queries token data by token address (v2) or token data id (v1)\n   *\n   * @param token token address (v2) or token data id (v1)\n   * @returns GetTokenDataQuery response type\n   */\n  // :!:>getTokenData\n  async getTokenData(\n    token: string,\n    extraArgs?: {\n      tokenStandard?: TokenStandard;\n      options?: IndexerPaginationArgs;\n      orderBy?: IndexerSortBy<Current_Token_Datas_V2_Order_By>[];\n    },\n  ): Promise<GetTokenDataQuery> {\n    const tokenAddress = HexString.ensure(token).hex();\n    IndexerClient.validateAddress(tokenAddress);\n\n    const whereCondition: any = {\n      token_data_id: { _eq: tokenAddress },\n    };\n\n    if (extraArgs?.tokenStandard) {\n      whereCondition.token_standard = { _eq: extraArgs?.tokenStandard };\n    }\n    const graphqlQuery = {\n      query: GetTokenData,\n      variables: {\n        where_condition: whereCondition,\n        offset: extraArgs?.options?.offset,\n        limit: extraArgs?.options?.limit,\n        order_by: extraArgs?.orderBy,\n      },\n    };\n    return this.queryIndexer(graphqlQuery);\n  } // <:!:getTokenData\n\n  /**\n   * Queries token owners data by token address (v2) or token data id (v1).\n   * This query returns historical owners data.\n   *\n   * To fetch token v2 standard, pass in the optional `tokenStandard` parameter and\n   * dont pass `propertyVersion` parameter (as propertyVersion only compatible with v1 standard)\n   *\n   * @param token token address (v2) or token data id (v1)\n   * @param propertyVersion Property version (optional) - only compatible with token v1 standard\n   * @returns GetTokenOwnersDataQuery response type\n   */\n  async getTokenOwnersData(\n    token: string,\n    propertyVersion?: number,\n    extraArgs?: {\n      tokenStandard?: TokenStandard;\n      options?: IndexerPaginationArgs;\n      orderBy?: IndexerSortBy<Current_Token_Ownerships_V2_Order_By>[];\n    },\n  ): Promise<GetTokenOwnersDataQuery> {\n    const tokenAddress = HexString.ensure(token).hex();\n    IndexerClient.validateAddress(tokenAddress);\n\n    const whereCondition: any = {\n      token_data_id: { _eq: tokenAddress },\n      amount: { _gt: \"0\" },\n    };\n\n    if (propertyVersion) {\n      whereCondition.property_version_v1 = { _eq: propertyVersion };\n    }\n\n    if (extraArgs?.tokenStandard) {\n      whereCondition.token_standard = { _eq: extraArgs?.tokenStandard };\n    }\n\n    const graphqlQuery = {\n      query: GetTokenOwnersData,\n      variables: {\n        where_condition: whereCondition,\n        offset: extraArgs?.options?.offset,\n        limit: extraArgs?.options?.limit,\n        order_by: extraArgs?.orderBy,\n      },\n    };\n    return this.queryIndexer(graphqlQuery);\n  }\n\n  /**\n   * Queries current token owner data by token address (v2) or token data id (v1).\n   * This query returns the current token owner data.\n   *\n   * To fetch token v2 standard, pass in the optional `tokenStandard` parameter and\n   * dont pass `propertyVersion` parameter (as propertyVersion only compatible with v1 standard)\n   *\n   * @param token token address (v2) or token data id (v1)\n   * @param propertyVersion Property version (optional) - only compatible with token v1 standard\n   * @returns GetTokenCurrentOwnerDataQuery response type\n   */\n  async getTokenCurrentOwnerData(\n    token: string,\n    propertyVersion?: number,\n    extraArgs?: {\n      tokenStandard?: TokenStandard;\n      options?: IndexerPaginationArgs;\n      orderBy?: IndexerSortBy<Current_Token_Ownerships_V2_Order_By>[];\n    },\n  ): Promise<GetTokenCurrentOwnerDataQuery> {\n    const tokenAddress = HexString.ensure(token).hex();\n    IndexerClient.validateAddress(tokenAddress);\n\n    const whereCondition: any = {\n      token_data_id: { _eq: tokenAddress },\n      amount: { _gt: \"0\" },\n    };\n\n    if (propertyVersion) {\n      whereCondition.property_version_v1 = { _eq: propertyVersion };\n    }\n\n    if (extraArgs?.tokenStandard) {\n      whereCondition.token_standard = { _eq: extraArgs?.tokenStandard };\n    }\n\n    const graphqlQuery = {\n      query: GetTokenCurrentOwnerData,\n      variables: {\n        where_condition: whereCondition,\n        offset: extraArgs?.options?.offset,\n        limit: extraArgs?.options?.limit,\n        order_by: extraArgs?.orderBy,\n      },\n    };\n    return this.queryIndexer(graphqlQuery);\n  }\n\n  /**\n   * Queries account's current owned tokens.\n   * This query returns all tokens (v1 and v2 standards) an account owns, including NFTs, fungible, soulbound, etc.\n   * If you want to get only the token from a specific standrd, you can pass an optional tokenStandard param\n   *\n   * @param ownerAddress The token owner address we want to get the tokens for\n   * @returns GetOwnedTokensQuery response type\n   */\n  async getOwnedTokens(\n    ownerAddress: MaybeHexString,\n    extraArgs?: {\n      tokenStandard?: TokenStandard;\n      options?: IndexerPaginationArgs;\n      orderBy?: IndexerSortBy<Current_Token_Ownerships_V2_Order_By>[];\n    },\n  ): Promise<GetOwnedTokensQuery> {\n    const address = HexString.ensure(ownerAddress).hex();\n    IndexerClient.validateAddress(address);\n\n    const whereCondition: any = {\n      owner_address: { _eq: address },\n      amount: { _gt: 0 },\n    };\n\n    if (extraArgs?.tokenStandard) {\n      whereCondition.token_standard = { _eq: extraArgs?.tokenStandard };\n    }\n\n    const graphqlQuery = {\n      query: GetOwnedTokens,\n      variables: {\n        where_condition: whereCondition,\n        offset: extraArgs?.options?.offset,\n        limit: extraArgs?.options?.limit,\n        order_by: extraArgs?.orderBy,\n      },\n    };\n    return this.queryIndexer(graphqlQuery);\n  }\n\n  /**\n   * Queries account's current owned tokens by token address (v2) or token data id (v1).\n   *\n   * @param token token address (v2) or token data id (v1)\n   * @returns GetOwnedTokensByTokenDataQuery response type\n   */\n  async getOwnedTokensByTokenData(\n    token: MaybeHexString,\n    extraArgs?: {\n      tokenStandard?: TokenStandard;\n      options?: IndexerPaginationArgs;\n      orderBy?: IndexerSortBy<Current_Token_Ownerships_V2_Order_By>[];\n    },\n  ): Promise<GetOwnedTokensByTokenDataQuery> {\n    const address = HexString.ensure(token).hex();\n    IndexerClient.validateAddress(address);\n\n    const whereCondition: any = {\n      token_data_id: { _eq: address },\n      amount: { _gt: 0 },\n    };\n\n    if (extraArgs?.tokenStandard) {\n      whereCondition.token_standard = { _eq: extraArgs?.tokenStandard };\n    }\n\n    const graphqlQuery = {\n      query: GetOwnedTokensByTokenData,\n      variables: {\n        where_condition: whereCondition,\n        offset: extraArgs?.options?.offset,\n        limit: extraArgs?.options?.limit,\n        order_by: extraArgs?.orderBy,\n      },\n    };\n    return this.queryIndexer(graphqlQuery);\n  }\n\n  /**\n   * Queries all tokens of a specific collection that an account owns by the collection address\n   *\n   * @param ownerAddress owner address that owns the tokens\n   * @param collectionAddress the collection address\n   * @returns GetTokenOwnedFromCollectionQuery response type\n   */\n  async getTokenOwnedFromCollectionAddress(\n    ownerAddress: MaybeHexString,\n    collectionAddress: string,\n    extraArgs?: {\n      tokenStandard?: TokenStandard;\n      options?: IndexerPaginationArgs;\n      orderBy?: IndexerSortBy<Current_Token_Ownerships_V2_Order_By>[];\n    },\n  ): Promise<GetTokenOwnedFromCollectionQuery> {\n    const ownerHexAddress = HexString.ensure(ownerAddress).hex();\n    IndexerClient.validateAddress(ownerHexAddress);\n\n    const collectionHexAddress = HexString.ensure(collectionAddress).hex();\n    IndexerClient.validateAddress(collectionHexAddress);\n\n    const whereCondition: any = {\n      owner_address: { _eq: ownerHexAddress },\n      current_token_data: { collection_id: { _eq: collectionHexAddress } },\n      amount: { _gt: 0 },\n    };\n\n    if (extraArgs?.tokenStandard) {\n      whereCondition.token_standard = { _eq: extraArgs?.tokenStandard };\n    }\n\n    const graphqlQuery = {\n      query: GetTokenOwnedFromCollection,\n      variables: {\n        where_condition: whereCondition,\n        offset: extraArgs?.options?.offset,\n        limit: extraArgs?.options?.limit,\n        order_by: extraArgs?.orderBy,\n      },\n    };\n    return this.queryIndexer(graphqlQuery);\n  }\n\n  /**\n   * Queries all tokens of a specific collection that an account owns by the collection name and collection\n   * creator address\n   *\n   * @param ownerAddress owner address that owns the tokens\n   * @param collectionName the collection name\n   * @param creatorAddress the collection creator address\n   * @returns GetTokenOwnedFromCollectionQuery response type\n   */\n  async getTokenOwnedFromCollectionNameAndCreatorAddress(\n    ownerAddress: MaybeHexString,\n    collectionName: string,\n    creatorAddress: MaybeHexString,\n    extraArgs?: {\n      tokenStandard?: TokenStandard;\n      options?: IndexerPaginationArgs;\n    },\n  ): Promise<GetTokenOwnedFromCollectionQuery> {\n    const collectionAddress = await this.getCollectionAddress(creatorAddress, collectionName, extraArgs);\n    const tokens = await this.getTokenOwnedFromCollectionAddress(ownerAddress, collectionAddress, extraArgs);\n    return tokens;\n  }\n\n  /**\n   * Queries data of a specific collection by the collection creator address and the collection name.\n   *\n   * if, for some reason, a creator account has 2 collections with the same name in v1 and v2,\n   * can pass an optional `tokenStandard` parameter to query a specific standard\n   *\n   * @param creatorAddress the collection creator address\n   * @param collectionName the collection name\n   * @returns GetCollectionDataQuery response type\n   */\n  async getCollectionData(\n    creatorAddress: MaybeHexString,\n    collectionName: string,\n    extraArgs?: {\n      tokenStandard?: TokenStandard;\n      options?: IndexerPaginationArgs;\n      orderBy?: IndexerSortBy<Current_Collections_V2_Order_By>[];\n    },\n  ): Promise<GetCollectionDataQuery> {\n    const address = HexString.ensure(creatorAddress).hex();\n    IndexerClient.validateAddress(address);\n\n    const whereCondition: any = {\n      collection_name: { _eq: collectionName },\n      creator_address: { _eq: address },\n    };\n\n    if (extraArgs?.tokenStandard) {\n      whereCondition.token_standard = { _eq: extraArgs?.tokenStandard };\n    }\n\n    const graphqlQuery = {\n      query: GetCollectionData,\n      variables: {\n        where_condition: whereCondition,\n        offset: extraArgs?.options?.offset,\n        limit: extraArgs?.options?.limit,\n        order_by: extraArgs?.orderBy,\n      },\n    };\n    return this.queryIndexer(graphqlQuery);\n  }\n\n  /**\n   * Queries a collection address.\n   *\n   * @param creatorAddress the collection creator address\n   * @param collectionName the collection name\n   * @returns the collection address\n   */\n  async getCollectionAddress(\n    creatorAddress: MaybeHexString,\n    collectionName: string,\n    extraArgs?: {\n      tokenStandard?: TokenStandard;\n      orderBy?: IndexerSortBy<Current_Collections_V2_Order_By>[];\n    },\n  ): Promise<string> {\n    return (await this.getCollectionData(creatorAddress, collectionName, extraArgs)).current_collections_v2[0]\n      .collection_id;\n  }\n\n  /**\n   * Queries for all collections that an account has tokens for.\n   *\n   * @param ownerAddress the account address that owns the tokens\n   * @returns GetCollectionsWithOwnedTokensQuery response type\n   */\n  async getCollectionsWithOwnedTokens(\n    ownerAddress: MaybeHexString,\n    extraArgs?: {\n      tokenStandard?: TokenStandard;\n      options?: IndexerPaginationArgs;\n      orderBy?: IndexerSortBy<Current_Collection_Ownership_V2_View_Order_By>[];\n    },\n  ): Promise<GetCollectionsWithOwnedTokensQuery> {\n    const ownerHexAddress = HexString.ensure(ownerAddress).hex();\n    IndexerClient.validateAddress(ownerHexAddress);\n\n    const whereCondition: any = {\n      owner_address: { _eq: ownerHexAddress },\n    };\n\n    if (extraArgs?.tokenStandard) {\n      whereCondition.current_collection = { token_standard: { _eq: extraArgs?.tokenStandard } };\n    }\n\n    const graphqlQuery = {\n      query: GetCollectionsWithOwnedTokens,\n      variables: {\n        where_condition: whereCondition,\n        offset: extraArgs?.options?.offset,\n        limit: extraArgs?.options?.limit,\n        order_by: extraArgs?.orderBy,\n      },\n    };\n    return this.queryIndexer(graphqlQuery);\n  }\n\n  // TRANSACTIONS //\n\n  /**\n   * Gets the count of transactions submitted by an account\n   *\n   * @param address Account address\n   * @returns GetAccountTransactionsCountQuery response type\n   */\n  async getAccountTransactionsCount(accountAddress: MaybeHexString): Promise<GetAccountTransactionsCountQuery> {\n    const address = HexString.ensure(accountAddress).hex();\n    IndexerClient.validateAddress(address);\n    const graphqlQuery = {\n      query: GetAccountTransactionsCount,\n      variables: { address },\n    };\n    return this.queryIndexer(graphqlQuery);\n  }\n\n  /**\n   * Queries an account transactions data\n   *\n   * @param address Account address\n   * @returns GetAccountTransactionsDataQuery response type\n   */\n  async getAccountTransactionsData(\n    accountAddress: MaybeHexString,\n    extraArgs?: {\n      options?: IndexerPaginationArgs;\n      orderBy?: IndexerSortBy<Account_Transactions_Order_By>[];\n    },\n  ): Promise<GetAccountTransactionsDataQuery> {\n    const address = HexString.ensure(accountAddress).hex();\n    IndexerClient.validateAddress(address);\n\n    const whereCondition: any = {\n      account_address: { _eq: address },\n    };\n\n    const graphqlQuery = {\n      query: GetAccountTransactionsData,\n      variables: {\n        where_condition: whereCondition,\n        offset: extraArgs?.options?.offset,\n        limit: extraArgs?.options?.limit,\n        order_by: extraArgs?.orderBy,\n      },\n    };\n    return this.queryIndexer(graphqlQuery);\n  }\n\n  /**\n   * Queries top user transactions\n   *\n   * @param limit\n   * @returns GetTopUserTransactionsQuery response type\n   */\n  async getTopUserTransactions(limit: number): Promise<GetTopUserTransactionsQuery> {\n    const graphqlQuery = {\n      query: GetTopUserTransactions,\n      variables: { limit },\n    };\n    return this.queryIndexer(graphqlQuery);\n  }\n\n  /**\n   * Queries top user transactions\n   *\n   * @param startVersion optional - can be set to tell indexer what version to start from\n   * @returns GetUserTransactionsQuery response type\n   */\n  async getUserTransactions(extraArgs?: {\n    startVersion?: number;\n    options?: IndexerPaginationArgs;\n    orderBy?: IndexerSortBy<User_Transactions_Order_By>[];\n  }): Promise<GetUserTransactionsQuery> {\n    const whereCondition: any = {\n      version: { _lte: extraArgs?.startVersion },\n    };\n\n    const graphqlQuery = {\n      query: GetUserTransactions,\n      variables: {\n        where_condition: whereCondition,\n        offset: extraArgs?.options?.offset,\n        limit: extraArgs?.options?.limit,\n        order_by: extraArgs?.orderBy,\n      },\n    };\n    return this.queryIndexer(graphqlQuery);\n  }\n\n  // STAKING //\n\n  /**\n   * Queries delegated staking activities\n   *\n   * @param delegatorAddress Delegator address\n   * @param poolAddress Pool address\n   * @returns GetDelegatedStakingActivitiesQuery response type\n   */\n  async getDelegatedStakingActivities(\n    delegatorAddress: MaybeHexString,\n    poolAddress: MaybeHexString,\n  ): Promise<GetDelegatedStakingActivitiesQuery> {\n    const delegator = HexString.ensure(delegatorAddress).hex();\n    const pool = HexString.ensure(poolAddress).hex();\n    IndexerClient.validateAddress(delegator);\n    IndexerClient.validateAddress(pool);\n    const graphqlQuery = {\n      query: GetDelegatedStakingActivities,\n      variables: {\n        delegatorAddress: delegator,\n        poolAddress: pool,\n      },\n    };\n    return this.queryIndexer(graphqlQuery);\n  }\n\n  /**\n   * Queries current number of delegators in a pool\n   *\n   * @returns GetNumberOfDelegatorsQuery response type\n   */\n  async getNumberOfDelegators(poolAddress: MaybeHexString): Promise<GetNumberOfDelegatorsQuery> {\n    const address = HexString.ensure(poolAddress).hex();\n    IndexerClient.validateAddress(address);\n    const graphqlQuery = {\n      query: GetNumberOfDelegators,\n      variables: { poolAddress: address },\n    };\n    return this.queryIndexer(graphqlQuery);\n  }\n\n  // ACCOUNT //\n\n  /**\n   * Queries an account coin data\n   *\n   * @param ownerAddress Owner address\n   * @returns GetAccountCoinsDataQuery response type\n   */\n  async getAccountCoinsData(\n    ownerAddress: MaybeHexString,\n    extraArgs?: {\n      options?: IndexerPaginationArgs;\n      orderBy?: IndexerSortBy<Current_Fungible_Asset_Balances_Order_By>[];\n    },\n  ): Promise<GetAccountCoinsDataQuery> {\n    const address = HexString.ensure(ownerAddress).hex();\n    IndexerClient.validateAddress(address);\n\n    const whereCondition: any = {\n      owner_address: { _eq: address },\n    };\n\n    const graphqlQuery = {\n      query: GetAccountCoinsData,\n      variables: {\n        where_condition: whereCondition,\n        offset: extraArgs?.options?.offset,\n        limit: extraArgs?.options?.limit,\n        order_by: extraArgs?.orderBy,\n      },\n    };\n\n    return this.queryIndexer(graphqlQuery);\n  }\n\n  /**\n   * Queries an account coin data count\n   *\n   * @param ownerAddress Owner address\n   * @returns GetAccountCoinsDataCountQuery response type\n   */\n  async getAccountCoinsDataCount(ownerAddress: MaybeHexString): Promise<GetAccountCoinsDataCountQuery> {\n    const address = HexString.ensure(ownerAddress).hex();\n    IndexerClient.validateAddress(address);\n\n    const graphqlQuery = {\n      query: GetAccountCoinsDataCount,\n      variables: {\n        address,\n      },\n    };\n\n    return this.queryIndexer(graphqlQuery);\n  }\n\n  /**\n   * Queries an account owned objects\n   *\n   * @param ownerAddress Owner address\n   * @returns GetCurrentObjectsQuery response type\n   */\n  async getAccountOwnedObjects(\n    ownerAddress: MaybeHexString,\n    extraArgs?: {\n      options?: IndexerPaginationArgs;\n      orderBy?: IndexerSortBy<Current_Objects_Order_By>[];\n    },\n  ): Promise<GetCurrentObjectsQuery> {\n    const address = HexString.ensure(ownerAddress).hex();\n    IndexerClient.validateAddress(address);\n\n    const whereCondition: any = {\n      owner_address: { _eq: address },\n    };\n\n    const graphqlQuery = {\n      query: GetCurrentObjects,\n      variables: {\n        where_condition: whereCondition,\n        offset: extraArgs?.options?.offset,\n        limit: extraArgs?.options?.limit,\n        order_by: extraArgs?.orderBy,\n      },\n    };\n    return this.queryIndexer(graphqlQuery);\n  }\n}\n","import { AptosClient } from \"./aptos_client\";\nimport { IndexerClient } from \"./indexer\";\n\nimport { CustomEndpoints, Network, NetworkToIndexerAPI, NetworkToNodeAPI } from \"../utils\";\nimport { ClientConfig } from \"../client\";\n\ntype NetworkWithCustom = Network | \"CUSTOM\";\n/**\n * Builds a Provider class with an aptos client configured to connect to an Aptos node\n * and indexer client configured to connect to Aptos Indexer.\n *\n * It creates AptosClient and IndexerClient instances based on the network or custom endpoints provided.\n *\n * This class holds both AptosClient and IndexerClient classes's methods and properties so we\n * can instantiate the Provider class and use it to query full node and/or Indexer.\n *\n * NOTE: Indexer client can be undefined/not set when we use Network.LOCAL (since Indexer\n * does not support local environment) or when we use a CUSTOM network to support applications\n * that only use custom fullnode and not Indexer\n *\n * @example An example of how to use this class with a live network\n * ```\n * const provider = new Provider(Network.DEVNET)\n * const account = await provider.getAccount(\"0x123\");\n * const accountTokens = await provider.getOwnedTokens(\"0x123\");\n * ```\n *\n * @example An example of how to use this class with a local network. Indexer\n * doesn't support local network.\n * ```\n * const provider = new Provider(Network.LOCAL)\n * const account = await provider.getAccount(\"0x123\");\n * ```\n *\n * @example An example of how to use this class with a custom network.\n * ```\n * const provider = new Provider({fullnodeUrl:\"my-fullnode-url\",indexerUrl:\"my-indexer-url\"})\n * const account = await provider.getAccount(\"0x123\");\n * const accountTokens = await provider.getOwnedTokens(\"0x123\");\n * ```\n *\n * @param network enum of type Network - MAINNET | TESTNET | DEVNET | LOCAL or custom endpoints of type CustomEndpoints\n * @param config optional ClientConfig config arg - additional configuration we can pass with the request to the server.\n */\nexport class Provider {\n  aptosClient: AptosClient;\n\n  indexerClient?: IndexerClient;\n\n  network: NetworkWithCustom;\n\n  constructor(network: Network | CustomEndpoints, config?: ClientConfig, doNotFixNodeUrl: boolean = false) {\n    let fullNodeUrl = null;\n    let indexerUrl = null;\n\n    if (typeof network === \"object\" && isCustomEndpoints(network)) {\n      fullNodeUrl = network.fullnodeUrl;\n      indexerUrl = network.indexerUrl;\n      this.network = \"CUSTOM\";\n    } else {\n      fullNodeUrl = NetworkToNodeAPI[network];\n      indexerUrl = NetworkToIndexerAPI[network];\n      this.network = network;\n    }\n\n    if (this.network === \"CUSTOM\" && !fullNodeUrl) {\n      throw new Error(\"fullnode url is not provided\");\n    }\n\n    if (indexerUrl) {\n      this.indexerClient = new IndexerClient(indexerUrl, config);\n    }\n    this.aptosClient = new AptosClient(fullNodeUrl, config, doNotFixNodeUrl);\n  }\n}\n\nexport interface Provider extends AptosClient, IndexerClient {}\n\n/**\nIn TypeScript, we can’t inherit or extend from more than one class,\nMixins helps us to get around that by creating a partial classes \nthat we can combine to form a single class that contains all the methods and properties from the partial classes.\n{@link https://www.typescriptlang.org/docs/handbook/mixins.html#alternative-pattern}\n\nHere, we combine AptosClient and IndexerClient classes into one Provider class that holds all \nmethods and properties from both classes.\n*/\nfunction applyMixin(targetClass: any, baseClass: any, baseClassProp: string) {\n  // Mixin instance methods\n  Object.getOwnPropertyNames(baseClass.prototype).forEach((propertyName) => {\n    const propertyDescriptor = Object.getOwnPropertyDescriptor(baseClass.prototype, propertyName);\n    if (!propertyDescriptor) return;\n    // eslint-disable-next-line func-names\n    propertyDescriptor.value = function (...args: any) {\n      return (this as any)[baseClassProp][propertyName](...args);\n    };\n    Object.defineProperty(targetClass.prototype, propertyName, propertyDescriptor);\n  });\n  // Mixin static methods\n  Object.getOwnPropertyNames(baseClass).forEach((propertyName) => {\n    const propertyDescriptor = Object.getOwnPropertyDescriptor(baseClass, propertyName);\n    if (!propertyDescriptor) return;\n    // eslint-disable-next-line func-names\n    propertyDescriptor.value = function (...args: any) {\n      return (this as any)[baseClassProp][propertyName](...args);\n    };\n    if (targetClass.hasOwnProperty.call(targetClass, propertyName)) {\n      // The mixin has already been applied, so skip applying it again\n      return;\n    }\n    Object.defineProperty(targetClass, propertyName, propertyDescriptor);\n  });\n}\n\napplyMixin(Provider, AptosClient, \"aptosClient\");\napplyMixin(Provider, IndexerClient, \"indexerClient\");\n\n// use exhaustive type predicates\nfunction isCustomEndpoints(network: CustomEndpoints): network is CustomEndpoints {\n  return network.fullnodeUrl !== undefined && typeof network.fullnodeUrl === \"string\";\n}\n","import { Bytes, Deserializer, Serializer } from \"../bcs\";\nimport { serializeArg } from \"../transaction_builder/builder_utils\";\nimport {\n  stringStructTag,\n  TypeTag,\n  TypeTagAddress,\n  TypeTagBool,\n  TypeTagParser,\n  TypeTagStruct,\n  TypeTagU128,\n  TypeTagU64,\n  TypeTagU8,\n} from \"../aptos_types\";\nimport { HexString } from \"./hex_string\";\n\nexport class PropertyValue {\n  type: string;\n\n  value: any;\n\n  constructor(type: string, value: string) {\n    this.type = type;\n    this.value = value;\n  }\n}\n\nexport class PropertyMap {\n  data: { [key: string]: PropertyValue };\n\n  constructor() {\n    this.data = {};\n  }\n\n  setProperty(key: string, value: PropertyValue) {\n    this.data[key] = value;\n  }\n}\n\nexport function getPropertyType(typ: string): TypeTag {\n  let typeTag: TypeTag;\n  if (typ === \"string\" || typ === \"String\") {\n    typeTag = new TypeTagStruct(stringStructTag);\n  } else {\n    typeTag = new TypeTagParser(typ).parseTypeTag();\n  }\n  return typeTag;\n}\n\nexport function getPropertyValueRaw(values: Array<string>, types: Array<string>): Array<Bytes> {\n  if (values.length !== types.length) {\n    throw new Error(\"Length of property values and types not match\");\n  }\n\n  const results = new Array<Bytes>();\n  types.forEach((typ, index) => {\n    try {\n      const typeTag = getPropertyType(typ);\n      const serializer = new Serializer();\n      serializeArg(values[index], typeTag, serializer);\n      results.push(serializer.getBytes());\n    } catch (error) {\n      // if not support type, just use the raw string bytes\n      results.push(new TextEncoder().encode(values[index]));\n    }\n  });\n  return results;\n}\n\nexport function getSinglePropertyValueRaw(value: string, type: string): Uint8Array {\n  if (!value || !type) {\n    throw new Error(\"value or type can not be empty\");\n  }\n\n  try {\n    const typeTag = getPropertyType(type);\n    const serializer = new Serializer();\n    serializeArg(value, typeTag, serializer);\n    return serializer.getBytes();\n  } catch (error) {\n    // if not support type, just use the raw string bytes\n    return new TextEncoder().encode(value);\n  }\n}\n\nexport function deserializePropertyMap(rawPropertyMap: any): PropertyMap {\n  const entries = rawPropertyMap.map.data;\n  const pm = new PropertyMap();\n  entries.forEach((prop: any) => {\n    const { key } = prop;\n    const val: string = prop.value.value;\n    const typ: string = prop.value.type;\n    const typeTag = getPropertyType(typ);\n    const newValue = deserializeValueBasedOnTypeTag(typeTag, val);\n    const pv = new PropertyValue(typ, newValue);\n    pm.setProperty(key, pv);\n  });\n  return pm;\n}\n\nexport function deserializeValueBasedOnTypeTag(tag: TypeTag, val: string): string {\n  const de = new Deserializer(new HexString(val).toUint8Array());\n  let res: string = \"\";\n  if (tag instanceof TypeTagU8) {\n    res = de.deserializeU8().toString();\n  } else if (tag instanceof TypeTagU64) {\n    res = de.deserializeU64().toString();\n  } else if (tag instanceof TypeTagU128) {\n    res = de.deserializeU128().toString();\n  } else if (tag instanceof TypeTagBool) {\n    res = de.deserializeBool() ? \"true\" : \"false\";\n  } else if (tag instanceof TypeTagAddress) {\n    res = HexString.fromUint8Array(de.deserializeFixedBytes(32)).hex();\n  } else if (tag instanceof TypeTagStruct && (tag as TypeTagStruct).isStringTypeTag()) {\n    res = de.deserializeStr();\n  } else {\n    res = val;\n  }\n  return res;\n}\n","// Copyright © Aptos Foundation\n// SPDX-License-Identifier: Apache-2.0\n\nimport { deserializePropertyMap, PropertyMap, PropertyValue } from \"../utils/property_map_serde\";\n\nexport { PropertyMap, PropertyValue };\nexport class TokenData {\n  /** Unique name within this creator's account for this Token's collection */\n  collection: string;\n\n  /** Description of Token */\n  description: string;\n\n  /** Name of Token */\n  name: string;\n\n  /** Optional maximum number of this Token */\n  maximum?: number;\n\n  /** Total number of this type of Token */\n  supply: number;\n\n  /** URL for additional information / media */\n  uri: string;\n\n  /** default properties of token data */\n  default_properties: PropertyMap;\n\n  /** mutability config of tokendata fields */\n  mutability_config: boolean[];\n\n  constructor(\n    collection: string,\n    description: string,\n    name: string,\n    maximum: number,\n    supply: number,\n    uri: string,\n    default_properties: any,\n    mutability_config: boolean[],\n  ) {\n    this.collection = collection;\n    this.description = description;\n    this.name = name;\n    this.maximum = maximum;\n    this.supply = supply;\n    this.uri = uri;\n    this.default_properties = deserializePropertyMap(default_properties);\n    this.mutability_config = mutability_config;\n  }\n}\n\nexport interface TokenDataId {\n  /** Token creator address */\n  creator: string;\n\n  /** Unique name within this creator's account for this Token's collection */\n  collection: string;\n\n  /** Name of Token */\n  name: string;\n}\n\nexport interface TokenId {\n  token_data_id: TokenDataId;\n\n  /** version number of the property map */\n  property_version: string;\n}\n\n/** server will return string for u64 */\ntype U64 = string;\n\nexport class Token {\n  id: TokenId;\n\n  /** server will return string for u64 */\n  amount: U64;\n\n  /** the property map of the token */\n  token_properties: PropertyMap;\n\n  constructor(id: TokenId, amount: U64, token_properties: any) {\n    this.id = id;\n    this.amount = amount;\n    this.token_properties = deserializePropertyMap(token_properties);\n  }\n}\n","// Copyright © Aptos Foundation\n// SPDX-License-Identifier: Apache-2.0\n\n/* eslint-disable max-len */\n\nimport { AptosAccount } from \"../account/aptos_account\";\nimport { AptosClient, OptionalTransactionArgs } from \"../providers/aptos_client\";\nimport * as TokenTypes from \"../aptos_types/token_types\";\nimport * as Gen from \"../generated/index\";\nimport { HexString, MaybeHexString } from \"../utils\";\nimport { TransactionBuilder, TransactionBuilderRemoteABI, TxnBuilderTypes } from \"../transaction_builder\";\nimport { MAX_U64_BIG_INT } from \"../bcs/consts\";\nimport { AnyNumber, bcsToBytes, Bytes } from \"../bcs\";\nimport { getPropertyValueRaw, PropertyMap } from \"../utils/property_map_serde\";\nimport { Token, TokenData } from \"../aptos_types/token_types\";\n\n/**\n * Class for creating, minting and managing minting NFT collections and tokens\n */\nexport class TokenClient {\n  aptosClient: AptosClient;\n\n  /**\n   * Creates new TokenClient instance\n   *\n   * @param aptosClient AptosClient instance\n   */\n  constructor(aptosClient: AptosClient) {\n    this.aptosClient = aptosClient;\n  }\n\n  /**\n   * Creates a new NFT collection within the specified account\n   *\n   * @param account AptosAccount where collection will be created\n   * @param name Collection name\n   * @param description Collection description\n   * @param uri URL to additional info about collection\n   * @param maxAmount Maximum number of `token_data` allowed within this collection\n   * @returns The hash of the transaction submitted to the API\n   */\n  // :!:>createCollection\n  async createCollection(\n    account: AptosAccount,\n    name: string,\n    description: string,\n    uri: string,\n    maxAmount: AnyNumber = MAX_U64_BIG_INT,\n    extraArgs?: OptionalTransactionArgs,\n  ): Promise<string> {\n    // <:!:createCollection\n\n    const builder = new TransactionBuilderRemoteABI(this.aptosClient, { sender: account.address(), ...extraArgs });\n    const rawTxn = await builder.build(\n      \"0x3::token::create_collection_script\",\n      [],\n      [name, description, uri, maxAmount, [false, false, false]],\n    );\n\n    const bcsTxn = AptosClient.generateBCSTransaction(account, rawTxn);\n    const pendingTransaction = await this.aptosClient.submitSignedBCSTransaction(bcsTxn);\n    return pendingTransaction.hash;\n  }\n\n  /**\n   * Creates a new NFT within the specified account\n   *\n   * @param account AptosAccount where token will be created\n   * @param collectionName Name of collection, that token belongs to\n   * @param name Token name\n   * @param description Token description\n   * @param supply Token supply\n   * @param uri URL to additional info about token\n   * @param max The maxium of tokens can be minted from this token\n   * @param royalty_payee_address the address to receive the royalty, the address can be a shared account address.\n   * @param royalty_points_denominator the denominator for calculating royalty\n   * @param royalty_points_numerator the numerator for calculating royalty\n   * @param property_keys the property keys for storing on-chain properties\n   * @param property_values the property values to be stored on-chain\n   * @param property_types the type of property values\n   * @returns The hash of the transaction submitted to the API\n   */\n  // :!:>createToken\n  async createToken(\n    account: AptosAccount,\n    collectionName: string,\n    name: string,\n    description: string,\n    supply: number,\n    uri: string,\n    max: AnyNumber = MAX_U64_BIG_INT,\n    royalty_payee_address: MaybeHexString = account.address(),\n    royalty_points_denominator: number = 0,\n    royalty_points_numerator: number = 0,\n    property_keys: Array<string> = [],\n    property_values: Array<string> = [],\n    property_types: Array<string> = [],\n    extraArgs?: OptionalTransactionArgs,\n  ): Promise<string> {\n    // <:!:createToken\n    const builder = new TransactionBuilderRemoteABI(this.aptosClient, { sender: account.address(), ...extraArgs });\n\n    const rawTxn = await builder.build(\n      \"0x3::token::create_token_script\",\n      [],\n      [\n        collectionName,\n        name,\n        description,\n        supply,\n        max,\n        uri,\n        royalty_payee_address,\n        royalty_points_denominator,\n        royalty_points_numerator,\n        [false, false, false, false, false],\n        property_keys,\n        getPropertyValueRaw(property_values, property_types),\n        property_types,\n      ],\n    );\n\n    const bcsTxn = AptosClient.generateBCSTransaction(account, rawTxn);\n    const pendingTransaction = await this.aptosClient.submitSignedBCSTransaction(bcsTxn);\n    return pendingTransaction.hash;\n  }\n\n  /**\n   * Creates a new NFT within the specified account\n   *\n   * @param account AptosAccount where token will be created\n   * @param collectionName Name of collection, that token belongs to\n   * @param name Token name\n   * @param description Token description\n   * @param supply Token supply\n   * @param uri URL to additional info about token\n   * @param max The maxium of tokens can be minted from this token\n   * @param royalty_payee_address the address to receive the royalty, the address can be a shared account address.\n   * @param royalty_points_denominator the denominator for calculating royalty\n   * @param royalty_points_numerator the numerator for calculating royalty\n   * @param property_keys the property keys for storing on-chain properties\n   * @param property_values the property values to be stored on-chain\n   * @param property_types the type of property values\n   * @param mutability_config configs which field is mutable\n   * @returns The hash of the transaction submitted to the API\n   */\n  // :!:>createToken\n  async createTokenWithMutabilityConfig(\n    account: AptosAccount,\n    collectionName: string,\n    name: string,\n    description: string,\n    supply: AnyNumber,\n    uri: string,\n    max: AnyNumber = MAX_U64_BIG_INT,\n    royalty_payee_address: MaybeHexString = account.address(),\n    royalty_points_denominator: AnyNumber = 0,\n    royalty_points_numerator: AnyNumber = 0,\n    property_keys: Array<string> = [],\n    property_values: Array<Bytes> = [],\n    property_types: Array<string> = [],\n    mutability_config: Array<boolean> = [false, false, false, false, false],\n    extraArgs?: OptionalTransactionArgs,\n  ): Promise<string> {\n    // <:!:createToken\n    const builder = new TransactionBuilderRemoteABI(this.aptosClient, { sender: account.address(), ...extraArgs });\n    const rawTxn = await builder.build(\n      \"0x3::token::create_token_script\",\n      [],\n      [\n        collectionName,\n        name,\n        description,\n        supply,\n        max,\n        uri,\n        royalty_payee_address,\n        royalty_points_denominator,\n        royalty_points_numerator,\n        mutability_config,\n        property_keys,\n        property_values,\n        property_types,\n      ],\n    );\n\n    const bcsTxn = AptosClient.generateBCSTransaction(account, rawTxn);\n    const pendingTransaction = await this.aptosClient.submitSignedBCSTransaction(bcsTxn);\n    return pendingTransaction.hash;\n  }\n\n  /**\n   * Transfers specified amount of tokens from account to receiver\n   *\n   * @param account AptosAccount where token from which tokens will be transfered\n   * @param receiver  Hex-encoded 32 byte Aptos account address to which tokens will be transfered\n   * @param creator Hex-encoded 32 byte Aptos account address to which created tokens\n   * @param collectionName Name of collection where token is stored\n   * @param name Token name\n   * @param amount Amount of tokens which will be transfered\n   * @param property_version the version of token PropertyMap with a default value 0.\n   * @returns The hash of the transaction submitted to the API\n   */\n  async offerToken(\n    account: AptosAccount,\n    receiver: MaybeHexString,\n    creator: MaybeHexString,\n    collectionName: string,\n    name: string,\n    amount: number,\n    property_version: number = 0,\n    extraArgs?: OptionalTransactionArgs,\n  ): Promise<string> {\n    const builder = new TransactionBuilderRemoteABI(this.aptosClient, { sender: account.address(), ...extraArgs });\n    const rawTxn = await builder.build(\n      \"0x3::token_transfers::offer_script\",\n      [],\n      [receiver, creator, collectionName, name, property_version, amount],\n    );\n\n    const bcsTxn = AptosClient.generateBCSTransaction(account, rawTxn);\n    const pendingTransaction = await this.aptosClient.submitSignedBCSTransaction(bcsTxn);\n    return pendingTransaction.hash;\n  }\n\n  /**\n   * Claims a token on specified account\n   *\n   * @param account AptosAccount which will claim token\n   * @param sender Hex-encoded 32 byte Aptos account address which holds a token\n   * @param creator Hex-encoded 32 byte Aptos account address which created a token\n   * @param collectionName Name of collection where token is stored\n   * @param name Token name\n   * @param property_version the version of token PropertyMap with a default value 0.\n   * @returns The hash of the transaction submitted to the API\n   */\n  async claimToken(\n    account: AptosAccount,\n    sender: MaybeHexString,\n    creator: MaybeHexString,\n    collectionName: string,\n    name: string,\n    property_version: number = 0,\n    extraArgs?: OptionalTransactionArgs,\n  ): Promise<string> {\n    const builder = new TransactionBuilderRemoteABI(this.aptosClient, { sender: account.address(), ...extraArgs });\n    const rawTxn = await builder.build(\n      \"0x3::token_transfers::claim_script\",\n      [],\n      [sender, creator, collectionName, name, property_version],\n    );\n\n    const bcsTxn = AptosClient.generateBCSTransaction(account, rawTxn);\n    const pendingTransaction = await this.aptosClient.submitSignedBCSTransaction(bcsTxn);\n    return pendingTransaction.hash;\n  }\n\n  /**\n   * Removes a token from pending claims list\n   *\n   * @param account AptosAccount which will remove token from pending list\n   * @param receiver Hex-encoded 32 byte Aptos account address which had to claim token\n   * @param creator Hex-encoded 32 byte Aptos account address which created a token\n   * @param collectionName Name of collection where token is strored\n   * @param name Token name\n   * @param property_version the version of token PropertyMap with a default value 0.\n   * @returns The hash of the transaction submitted to the API\n   */\n  async cancelTokenOffer(\n    account: AptosAccount,\n    receiver: MaybeHexString,\n    creator: MaybeHexString,\n    collectionName: string,\n    name: string,\n    property_version: number = 0,\n    extraArgs?: OptionalTransactionArgs,\n  ): Promise<string> {\n    const builder = new TransactionBuilderRemoteABI(this.aptosClient, { sender: account.address(), ...extraArgs });\n    const rawTxn = await builder.build(\n      \"0x3::token_transfers::cancel_offer_script\",\n      [],\n      [receiver, creator, collectionName, name, property_version],\n    );\n\n    const bcsTxn = AptosClient.generateBCSTransaction(account, rawTxn);\n    const pendingTransaction = await this.aptosClient.submitSignedBCSTransaction(bcsTxn);\n    return pendingTransaction.hash;\n  }\n\n  /**\n   * Directly transfer the specified amount of tokens from account to receiver\n   * using a single multi signature transaction.\n   *\n   * @param sender AptosAccount where token from which tokens will be transferred\n   * @param receiver Hex-encoded 32 byte Aptos account address to which tokens will be transferred\n   * @param creator Hex-encoded 32 byte Aptos account address to which created tokens\n   * @param collectionName Name of collection where token is stored\n   * @param name Token name\n   * @param amount Amount of tokens which will be transferred\n   * @param property_version the version of token PropertyMap with a default value 0.\n   * @returns The hash of the transaction submitted to the API\n   */\n  async directTransferToken(\n    sender: AptosAccount,\n    receiver: AptosAccount,\n    creator: MaybeHexString,\n    collectionName: string,\n    name: string,\n    amount: AnyNumber,\n    propertyVersion: AnyNumber = 0,\n    extraArgs?: OptionalTransactionArgs,\n  ): Promise<string> {\n    const builder = new TransactionBuilderRemoteABI(this.aptosClient, { sender: sender.address(), ...extraArgs });\n    const rawTxn = await builder.build(\n      \"0x3::token::direct_transfer_script\",\n      [],\n      [creator, collectionName, name, propertyVersion, amount],\n    );\n\n    const multiAgentTxn = new TxnBuilderTypes.MultiAgentRawTransaction(rawTxn, [\n      TxnBuilderTypes.AccountAddress.fromHex(receiver.address()),\n    ]);\n\n    const senderSignature = new TxnBuilderTypes.Ed25519Signature(\n      sender.signBuffer(TransactionBuilder.getSigningMessage(multiAgentTxn)).toUint8Array(),\n    );\n\n    const senderAuthenticator = new TxnBuilderTypes.AccountAuthenticatorEd25519(\n      new TxnBuilderTypes.Ed25519PublicKey(sender.signingKey.publicKey),\n      senderSignature,\n    );\n\n    const receiverSignature = new TxnBuilderTypes.Ed25519Signature(\n      receiver.signBuffer(TransactionBuilder.getSigningMessage(multiAgentTxn)).toUint8Array(),\n    );\n\n    const receiverAuthenticator = new TxnBuilderTypes.AccountAuthenticatorEd25519(\n      new TxnBuilderTypes.Ed25519PublicKey(receiver.signingKey.publicKey),\n      receiverSignature,\n    );\n\n    const multiAgentAuthenticator = new TxnBuilderTypes.TransactionAuthenticatorMultiAgent(\n      senderAuthenticator,\n      [TxnBuilderTypes.AccountAddress.fromHex(receiver.address())], // Secondary signer addresses\n      [receiverAuthenticator], // Secondary signer authenticators\n    );\n\n    const bcsTxn = bcsToBytes(new TxnBuilderTypes.SignedTransaction(rawTxn, multiAgentAuthenticator));\n\n    const transactionRes = await this.aptosClient.submitSignedBCSTransaction(bcsTxn);\n\n    return transactionRes.hash;\n  }\n\n  /**\n   * Directly transfer the specified amount of tokens from account to receiver\n   * using a single multi signature transaction.\n   *\n   * @param sender AptosAccount where token from which tokens will be transferred\n   * @param receiver Hex-encoded 32 byte Aptos account address to which tokens will be transferred\n   * @param creator Hex-encoded 32 byte Aptos account address to which created tokens\n   * @param collectionName Name of collection where token is stored\n   * @param name Token name\n   * @param amount Amount of tokens which will be transferred\n   * @param fee_payer AptosAccount which will pay fee for transaction\n   * @param property_version the version of token PropertyMap with a default value 0.\n   * @returns The hash of the transaction submitted to the API\n   */\n  async directTransferTokenWithFeePayer(\n    sender: AptosAccount,\n    receiver: AptosAccount,\n    creator: MaybeHexString,\n    collectionName: string,\n    name: string,\n    amount: AnyNumber,\n    fee_payer: AptosAccount,\n    propertyVersion: AnyNumber = 0,\n    extraArgs?: OptionalTransactionArgs,\n  ): Promise<string> {\n    const builder = new TransactionBuilderRemoteABI(this.aptosClient, { sender: sender.address(), ...extraArgs });\n    const rawTxn = await builder.build(\n      \"0x3::token::direct_transfer_script\",\n      [],\n      [creator, collectionName, name, propertyVersion, amount],\n    );\n\n    const feePayerTxn = new TxnBuilderTypes.FeePayerRawTransaction(\n      rawTxn,\n      [TxnBuilderTypes.AccountAddress.fromHex(receiver.address())],\n      TxnBuilderTypes.AccountAddress.fromHex(fee_payer.address()),\n    );\n\n    const senderSignature = new TxnBuilderTypes.Ed25519Signature(\n      sender.signBuffer(TransactionBuilder.getSigningMessage(feePayerTxn)).toUint8Array(),\n    );\n\n    const senderAuthenticator = new TxnBuilderTypes.AccountAuthenticatorEd25519(\n      new TxnBuilderTypes.Ed25519PublicKey(sender.signingKey.publicKey),\n      senderSignature,\n    );\n\n    const receiverSignature = new TxnBuilderTypes.Ed25519Signature(\n      receiver.signBuffer(TransactionBuilder.getSigningMessage(feePayerTxn)).toUint8Array(),\n    );\n\n    const receiverAuthenticator = new TxnBuilderTypes.AccountAuthenticatorEd25519(\n      new TxnBuilderTypes.Ed25519PublicKey(receiver.signingKey.publicKey),\n      receiverSignature,\n    );\n\n    const feePayerSignature = new TxnBuilderTypes.Ed25519Signature(\n      fee_payer.signBuffer(TransactionBuilder.getSigningMessage(feePayerTxn)).toUint8Array(),\n    );\n\n    const feePayerAuthenticator = new TxnBuilderTypes.AccountAuthenticatorEd25519(\n      new TxnBuilderTypes.Ed25519PublicKey(fee_payer.signingKey.publicKey),\n      feePayerSignature,\n    );\n\n    const txAuthenticatorFeePayer = new TxnBuilderTypes.TransactionAuthenticatorFeePayer(\n      senderAuthenticator,\n      [TxnBuilderTypes.AccountAddress.fromHex(receiver.address())],\n      [receiverAuthenticator],\n      { address: TxnBuilderTypes.AccountAddress.fromHex(fee_payer.address()), authenticator: feePayerAuthenticator },\n    );\n\n    const bcsTxn = bcsToBytes(new TxnBuilderTypes.SignedTransaction(rawTxn, txAuthenticatorFeePayer));\n\n    const transactionRes = await this.aptosClient.submitSignedBCSTransaction(bcsTxn);\n\n    return transactionRes.hash;\n  }\n\n  /**\n   * User opt-in or out direct transfer through a boolean flag\n   *\n   * @param sender AptosAccount where the token will be transferred\n   * @param optIn boolean value indicates user want to opt-in or out of direct transfer\n   * @returns The hash of the transaction submitted to the API\n   */\n  async optInTokenTransfer(sender: AptosAccount, optIn: boolean, extraArgs?: OptionalTransactionArgs): Promise<string> {\n    const builder = new TransactionBuilderRemoteABI(this.aptosClient, { sender: sender.address(), ...extraArgs });\n    const rawTxn = await builder.build(\"0x3::token::opt_in_direct_transfer\", [], [optIn]);\n    const bcsTxn = AptosClient.generateBCSTransaction(sender, rawTxn);\n    const pendingTransaction = await this.aptosClient.submitSignedBCSTransaction(bcsTxn);\n    return pendingTransaction.hash;\n  }\n\n  /**\n   * Directly transfer token to a receiver. The receiver should have opted in to direct transfer\n   *\n   * @param sender AptosAccount where the token will be transferred\n   * @param creator  address of the token creator\n   * @param collectionName Name of collection where token is stored\n   * @param name Token name\n   * @param property_version the version of token PropertyMap\n   * @param amount Amount of tokens which will be transfered\n   * @returns The hash of the transaction submitted to the API\n   */\n  async transferWithOptIn(\n    sender: AptosAccount,\n    creator: MaybeHexString,\n    collectionName: string,\n    tokenName: string,\n    propertyVersion: AnyNumber,\n    receiver: MaybeHexString,\n    amount: AnyNumber,\n    extraArgs?: OptionalTransactionArgs,\n  ): Promise<string> {\n    const builder = new TransactionBuilderRemoteABI(this.aptosClient, { sender: sender.address(), ...extraArgs });\n    const rawTxn = await builder.build(\n      \"0x3::token::transfer_with_opt_in\",\n      [],\n      [creator, collectionName, tokenName, propertyVersion, receiver, amount],\n    );\n    const bcsTxn = AptosClient.generateBCSTransaction(sender, rawTxn);\n    const pendingTransaction = await this.aptosClient.submitSignedBCSTransaction(bcsTxn);\n    return pendingTransaction.hash;\n  }\n\n  /**\n   * BurnToken by Creator\n   *\n   * @param creator creator of the token\n   * @param ownerAddress address of the token owner\n   * @param collectionName Name of collection where token is stored\n   * @param name Token name\n   * @param amount Amount of tokens which will be transfered\n   * @param property_version the version of token PropertyMap\n   * @returns The hash of the transaction submitted to the API\n   */\n  async burnByCreator(\n    creator: AptosAccount,\n    ownerAddress: MaybeHexString,\n    collection: String,\n    name: String,\n    PropertyVersion: AnyNumber,\n    amount: AnyNumber,\n    extraArgs?: OptionalTransactionArgs,\n  ): Promise<string> {\n    const builder = new TransactionBuilderRemoteABI(this.aptosClient, { sender: creator.address(), ...extraArgs });\n    const rawTxn = await builder.build(\n      \"0x3::token::burn_by_creator\",\n      [],\n      [ownerAddress, collection, name, PropertyVersion, amount],\n    );\n\n    const bcsTxn = AptosClient.generateBCSTransaction(creator, rawTxn);\n    const pendingTransaction = await this.aptosClient.submitSignedBCSTransaction(bcsTxn);\n    return pendingTransaction.hash;\n  }\n\n  /**\n   * BurnToken by Owner\n   *\n   * @param owner creator of the token\n   * @param creatorAddress address of the token creator\n   * @param collectionName Name of collection where token is stored\n   * @param name Token name\n   * @param amount Amount of tokens which will be transfered\n   * @param property_version the version of token PropertyMap\n   * @returns The hash of the transaction submitted to the API\n   */\n  async burnByOwner(\n    owner: AptosAccount,\n    creatorAddress: MaybeHexString,\n    collection: String,\n    name: String,\n    PropertyVersion: AnyNumber,\n    amount: AnyNumber,\n    extraArgs?: OptionalTransactionArgs,\n  ): Promise<string> {\n    const builder = new TransactionBuilderRemoteABI(this.aptosClient, { sender: owner.address(), ...extraArgs });\n    const rawTxn = await builder.build(\n      \"0x3::token::burn\",\n      [],\n      [creatorAddress, collection, name, PropertyVersion, amount],\n    );\n\n    const bcsTxn = AptosClient.generateBCSTransaction(owner, rawTxn);\n    const pendingTransaction = await this.aptosClient.submitSignedBCSTransaction(bcsTxn);\n    return pendingTransaction.hash;\n  }\n\n  /**\n   * creator mutates the properties of the tokens\n   *\n   * @param account AptosAccount who modifies the token properties\n   * @param tokenOwner the address of account owning the token\n   * @param creator the creator of the token\n   * @param collection_name the name of the token collection\n   * @param tokenName the name of created token\n   * @param propertyVersion the property_version of the token to be modified\n   * @param amount the number of tokens to be modified\n   *\n   * @returns The hash of the transaction submitted to the API\n   */\n  async mutateTokenProperties(\n    account: AptosAccount,\n    tokenOwner: HexString,\n    creator: HexString,\n    collection_name: string,\n    tokenName: string,\n    propertyVersion: AnyNumber,\n    amount: AnyNumber,\n    keys: Array<string>,\n    values: Array<Bytes>,\n    types: Array<string>,\n    extraArgs?: OptionalTransactionArgs,\n  ): Promise<string> {\n    const builder = new TransactionBuilderRemoteABI(this.aptosClient, { sender: account.address(), ...extraArgs });\n    const rawTxn = await builder.build(\n      \"0x3::token::mutate_token_properties\",\n      [],\n      [tokenOwner, creator, collection_name, tokenName, propertyVersion, amount, keys, values, types],\n    );\n\n    const bcsTxn = AptosClient.generateBCSTransaction(account, rawTxn);\n    const pendingTransaction = await this.aptosClient.submitSignedBCSTransaction(bcsTxn);\n    return pendingTransaction.hash;\n  }\n\n  /**\n   * Queries collection data\n   * @param creator Hex-encoded 32 byte Aptos account address which created a collection\n   * @param collectionName Collection name\n   * @returns Collection data in below format\n   * ```\n   *  Collection {\n   *    // Describes the collection\n   *    description: string,\n   *    // Unique name within this creators account for this collection\n   *    name: string,\n   *    // URL for additional information/media\n   *    uri: string,\n   *    // Total number of distinct Tokens tracked by the collection\n   *    count: number,\n   *    // Optional maximum number of tokens allowed within this collections\n   *    maximum: number\n   *  }\n   * ```\n   */\n  async getCollectionData(creator: MaybeHexString, collectionName: string): Promise<any> {\n    const resources = await this.aptosClient.getAccountResources(creator);\n    const accountResource: { type: Gen.MoveStructTag; data: any } = resources.find(\n      (r) => r.type === \"0x3::token::Collections\",\n    )!;\n    const { handle }: { handle: string } = accountResource.data.collection_data;\n    const getCollectionTableItemRequest: Gen.TableItemRequest = {\n      key_type: \"0x1::string::String\",\n      value_type: \"0x3::token::CollectionData\",\n      key: collectionName,\n    };\n\n    const collectionTable = await this.aptosClient.getTableItem(handle, getCollectionTableItemRequest);\n    return collectionTable;\n  }\n\n  /**\n   * Queries token data from collection\n   *\n   * @param creator Hex-encoded 32 byte Aptos account address which created a token\n   * @param collectionName Name of collection, which holds a token\n   * @param tokenName Token name\n   * @returns Token data in below format\n   * ```\n   * TokenData {\n   *     // Unique name within this creators account for this Token's collection\n   *     collection: string;\n   *     // Describes this Token\n   *     description: string;\n   *     // The name of this Token\n   *     name: string;\n   *     // Optional maximum number of this type of Token.\n   *     maximum: number;\n   *     // Total number of this type of Token\n   *     supply: number;\n   *     /// URL for additional information / media\n   *     uri: string;\n   *   }\n   * ```\n   */\n  // :!:>getTokenData\n  async getTokenData(\n    creator: MaybeHexString,\n    collectionName: string,\n    tokenName: string,\n  ): Promise<TokenTypes.TokenData> {\n    const creatorHex = creator instanceof HexString ? creator.hex() : creator;\n    const collection: { type: Gen.MoveStructTag; data: any } = await this.aptosClient.getAccountResource(\n      creatorHex,\n      \"0x3::token::Collections\",\n    );\n    const { handle } = collection.data.token_data;\n    const tokenDataId = {\n      creator: creatorHex,\n      collection: collectionName,\n      name: tokenName,\n    };\n\n    const getTokenTableItemRequest: Gen.TableItemRequest = {\n      key_type: \"0x3::token::TokenDataId\",\n      value_type: \"0x3::token::TokenData\",\n      key: tokenDataId,\n    };\n\n    // We know the response will be a struct containing TokenData, hence the\n    // implicit cast.\n    const rawTokenData = await this.aptosClient.getTableItem(handle, getTokenTableItemRequest);\n    return new TokenData(\n      rawTokenData.collection,\n      rawTokenData.description,\n      rawTokenData.name,\n      rawTokenData.maximum,\n      rawTokenData.supply,\n      rawTokenData.uri,\n      rawTokenData.default_properties,\n      rawTokenData.mutability_config,\n    );\n  } // <:!:getTokenData\n\n  /**\n   * Queries token balance for the token creator\n   */\n  async getToken(\n    creator: MaybeHexString,\n    collectionName: string,\n    tokenName: string,\n    property_version: string = \"0\",\n  ): Promise<TokenTypes.Token> {\n    const tokenDataId: TokenTypes.TokenDataId = {\n      creator: creator instanceof HexString ? creator.hex() : creator,\n      collection: collectionName,\n      name: tokenName,\n    };\n    return this.getTokenForAccount(creator, {\n      token_data_id: tokenDataId,\n      property_version,\n    });\n  }\n\n  /**\n   * Queries token balance for a token account\n   * @param account Hex-encoded 32 byte Aptos account address which created a token\n   * @param tokenId token id\n   *\n   * TODO: Update this:\n   * @example\n   * ```\n   * {\n   *   creator: '0x1',\n   *   collection: 'Some collection',\n   *   name: 'Awesome token'\n   * }\n   * ```\n   * @returns Token object in below format\n   * ```\n   * Token {\n   *   id: TokenId;\n   *   value: number;\n   * }\n   * ```\n   */\n  async getTokenForAccount(account: MaybeHexString, tokenId: TokenTypes.TokenId): Promise<TokenTypes.Token> {\n    const tokenStore: { type: Gen.MoveStructTag; data: any } = await this.aptosClient.getAccountResource(\n      account instanceof HexString ? account.hex() : account,\n      \"0x3::token::TokenStore\",\n    );\n    const { handle } = tokenStore.data.tokens;\n\n    const getTokenTableItemRequest: Gen.TableItemRequest = {\n      key_type: \"0x3::token::TokenId\",\n      value_type: \"0x3::token::Token\",\n      key: tokenId,\n    };\n\n    try {\n      const rawToken = await this.aptosClient.getTableItem(handle, getTokenTableItemRequest);\n      return new Token(rawToken.id, rawToken.amount, rawToken.token_properties);\n    } catch (error: any) {\n      if (error?.status === 404) {\n        return {\n          id: tokenId,\n          amount: \"0\",\n          token_properties: new PropertyMap(),\n        };\n      }\n      return error;\n    }\n  }\n}\n","import { AptosAccount } from \"../account\";\nimport { RawTransaction } from \"../aptos_types\";\nimport * as Gen from \"../generated/index\";\nimport { OptionalTransactionArgs, Provider } from \"../providers\";\nimport { TransactionBuilderRemoteABI } from \"../transaction_builder\";\nimport { MaybeHexString, HexString } from \"../utils\";\nimport { AnyNumber } from \"../bcs\";\n\nexport class FungibleAssetClient {\n  provider: Provider;\n\n  readonly assetType: string = \"0x1::fungible_asset::Metadata\";\n\n  /**\n   * Creates new FungibleAssetClient instance\n   *\n   * @param provider Provider instance\n   */\n  constructor(provider: Provider) {\n    this.provider = provider;\n  }\n\n  /**\n   *  Transfer `amount` of fungible asset from sender's primary store to recipient's primary store.\n   *\n   * Use this method to transfer any fungible asset including fungible token.\n   *\n   * @param sender The sender account\n   * @param fungibleAssetMetadataAddress The fungible asset address.\n   * For example if you’re transferring USDT this would be the USDT address\n   * @param recipient Recipient address\n   * @param amount Number of assets to transfer\n   * @returns The hash of the transaction submitted to the API\n   */\n  async transfer(\n    sender: AptosAccount,\n    fungibleAssetMetadataAddress: MaybeHexString,\n    recipient: MaybeHexString,\n    amount: number | bigint,\n    extraArgs?: OptionalTransactionArgs,\n  ): Promise<string> {\n    const rawTransaction = await this.generateTransfer(\n      sender,\n      fungibleAssetMetadataAddress,\n      recipient,\n      amount,\n      extraArgs,\n    );\n    const txnHash = await this.provider.signAndSubmitTransaction(sender, rawTransaction);\n    return txnHash;\n  }\n\n  /**\n   * Get the balance of a fungible asset from the account's primary fungible store.\n   *\n   * @param account Account that you want to get the balance of.\n   * @param fungibleAssetMetadataAddress The fungible asset address you want to check the balance of\n   * @returns Promise that resolves to the balance\n   */\n  async getPrimaryBalance(account: MaybeHexString, fungibleAssetMetadataAddress: MaybeHexString): Promise<bigint> {\n    const payload: Gen.ViewRequest = {\n      function: \"0x1::primary_fungible_store::balance\",\n      type_arguments: [this.assetType],\n      arguments: [HexString.ensure(account).hex(), HexString.ensure(fungibleAssetMetadataAddress).hex()],\n    };\n    const response = await this.provider.view(payload);\n    return BigInt((response as any)[0]);\n  }\n\n  /**\n   *\n   * Generate a transfer transaction that can be used to sign and submit to transfer an asset amount\n   * from the sender primary fungible store to the recipient primary fungible store.\n   *\n   * This method can be used if you want/need to get the raw transaction so you can\n   * first simulate the transaction and then sign and submit it.\n   *\n   * @param sender The sender account\n   * @param fungibleAssetMetadataAddress The fungible asset address.\n   * For example if you’re transferring USDT this would be the USDT address\n   * @param recipient Recipient address\n   * @param amount Number of assets to transfer\n   * @returns Raw Transaction\n   */\n  async generateTransfer(\n    sender: AptosAccount,\n    fungibleAssetMetadataAddress: MaybeHexString,\n    recipient: MaybeHexString,\n    amount: AnyNumber,\n    extraArgs?: OptionalTransactionArgs,\n  ): Promise<RawTransaction> {\n    const builder = new TransactionBuilderRemoteABI(this.provider, {\n      sender: sender.address(),\n      ...extraArgs,\n    });\n    const rawTxn = await builder.build(\n      \"0x1::primary_fungible_store::transfer\",\n      [this.assetType],\n      [HexString.ensure(fungibleAssetMetadataAddress).hex(), HexString.ensure(recipient).hex(), amount],\n    );\n    return rawTxn;\n  }\n}\n","// Copyright © Aptos Foundation\n// SPDX-License-Identifier: Apache-2.0\n\n/* eslint-disable max-len */\n\nimport { AptosAccount } from \"../account/aptos_account\";\nimport { AnyNumber } from \"../bcs\";\nimport { MAX_U64_BIG_INT } from \"../bcs/consts\";\nimport { Provider } from \"../providers\";\nimport { AptosClient, OptionalTransactionArgs } from \"../providers/aptos_client\";\nimport { TransactionBuilderRemoteABI } from \"../transaction_builder\";\nimport { HexString, MaybeHexString } from \"../utils\";\nimport { getPropertyValueRaw, getSinglePropertyValueRaw } from \"../utils/property_map_serde\";\nimport { FungibleAssetClient } from \"./fungible_asset_client\";\n\nexport interface CreateCollectionOptions {\n  royaltyNumerator?: number;\n  royaltyDenominator?: number;\n  mutableDescription?: boolean;\n  mutableRoyalty?: boolean;\n  mutableURI?: boolean;\n  mutableTokenDescription?: boolean;\n  mutableTokenName?: boolean;\n  mutableTokenProperties?: boolean;\n  mutableTokenURI?: boolean;\n  tokensBurnableByCreator?: boolean;\n  tokensFreezableByCreator?: boolean;\n}\n\nconst PropertyTypeMap = {\n  BOOLEAN: \"bool\",\n  U8: \"u8\",\n  U16: \"u16\",\n  U32: \"u32\",\n  U64: \"u64\",\n  U128: \"u128\",\n  U256: \"u256\",\n  ADDRESS: \"address\",\n  VECTOR: \"vector<u8>\",\n  STRING: \"string\",\n};\n\nexport type PropertyType = keyof typeof PropertyTypeMap;\n\nexport type FungibleTokenParameters = {\n  owner: AptosAccount;\n  tokenAddress: MaybeHexString;\n  recipient: MaybeHexString;\n  amount: number | bigint;\n  extraArgs?: OptionalTransactionArgs;\n};\n\nexport type NonFungibleTokenParameters = {\n  owner: AptosAccount;\n  tokenAddress: MaybeHexString;\n  recipient: MaybeHexString;\n  tokenType?: string;\n  extraArgs?: OptionalTransactionArgs;\n};\n\n/**\n * Class for managing aptos_token\n */\nexport class AptosToken {\n  readonly provider: Provider;\n\n  private readonly tokenType: string = \"0x4::token::Token\";\n\n  /**\n   * Creates new AptosToken instance\n   *\n   * @param provider Provider instance\n   */\n  constructor(provider: Provider) {\n    this.provider = provider;\n  }\n\n  private async submitTransaction(\n    account: AptosAccount,\n    funcName: string,\n    typeArgs: string[],\n    args: any[],\n    extraArgs?: OptionalTransactionArgs,\n  ) {\n    const builder = new TransactionBuilderRemoteABI(this.provider, {\n      sender: account.address(),\n      ...extraArgs,\n    });\n    const rawTxn = await builder.build(`0x4::aptos_token::${funcName}`, typeArgs, args);\n    const bcsTxn = AptosClient.generateBCSTransaction(account, rawTxn);\n    const pendingTransaction = await this.provider.submitSignedBCSTransaction(bcsTxn);\n    return pendingTransaction.hash;\n  }\n\n  /**\n   * Creates a new collection within the specified account\n   *\n   * @param creator AptosAccount where collection will be created\n   * @param description Collection description\n   * @param name Collection name\n   * @param uri URL to additional info about collection\n   * @param options CreateCollectionOptions type. By default all values set to `true` or `0`\n   * @returns The hash of the transaction submitted to the API\n   */\n  // :!:>createCollection\n  async createCollection(\n    creator: AptosAccount,\n    description: string,\n    name: string,\n    uri: string,\n    maxSupply: AnyNumber = MAX_U64_BIG_INT,\n    options?: CreateCollectionOptions,\n    extraArgs?: OptionalTransactionArgs,\n  ): Promise<string> {\n    // <:!:createCollection\n    return this.submitTransaction(\n      creator,\n      \"create_collection\",\n      [],\n      [\n        description,\n        maxSupply,\n        name,\n        uri,\n        options?.mutableDescription ?? true,\n        options?.mutableRoyalty ?? true,\n        options?.mutableURI ?? true,\n        options?.mutableTokenDescription ?? true,\n        options?.mutableTokenName ?? true,\n        options?.mutableTokenProperties ?? true,\n        options?.mutableTokenURI ?? true,\n        options?.tokensBurnableByCreator ?? true,\n        options?.tokensFreezableByCreator ?? true,\n        options?.royaltyNumerator ?? 0,\n        options?.royaltyDenominator ?? 1,\n      ],\n      extraArgs,\n    );\n  }\n\n  /**\n   * Mint a new token within the specified account\n   *\n   * @param account AptosAccount where token will be created\n   * @param collection Name of collection, that token belongs to\n   * @param description Token description\n   * @param name Token name\n   * @param uri URL to additional info about token\n   * @param propertyKeys the property keys for storing on-chain properties\n   * @param propertyTypes the type of property values\n   * @param propertyValues the property values to be stored on-chain\n   * @returns The hash of the transaction submitted to the API\n   */\n  // :!:>mint\n  async mint(\n    account: AptosAccount,\n    collection: string,\n    description: string,\n    name: string,\n    uri: string,\n    propertyKeys: Array<string> = [],\n    propertyTypes: Array<string> = [],\n    propertyValues: Array<string> = [],\n    extraArgs?: OptionalTransactionArgs,\n  ): Promise<string> {\n    // <:!:mint\n    return this.submitTransaction(\n      account,\n      \"mint\",\n      [],\n      [\n        collection,\n        description,\n        name,\n        uri,\n        propertyKeys,\n        propertyTypes,\n        getPropertyValueRaw(propertyValues, propertyTypes),\n      ],\n      extraArgs,\n    );\n  }\n\n  /**\n   * Mint a soul bound token into a recipient's account\n   *\n   * @param account AptosAccount that mints the token\n   * @param collection Name of collection, that token belongs to\n   * @param description Token description\n   * @param name Token name\n   * @param uri URL to additional info about token\n   * @param recipient AptosAccount where token will be created\n   * @param propertyKeys the property keys for storing on-chain properties\n   * @param propertyTypes the type of property values\n   * @param propertyValues the property values to be stored on-chain\n   * @returns The hash of the transaction submitted to the API\n   */\n  async mintSoulBound(\n    account: AptosAccount,\n    collection: string,\n    description: string,\n    name: string,\n    uri: string,\n    recipient: AptosAccount,\n    propertyKeys: Array<string> = [],\n    propertyTypes: Array<string> = [],\n    propertyValues: Array<string> = [],\n    extraArgs?: OptionalTransactionArgs,\n  ): Promise<string> {\n    return this.submitTransaction(\n      account,\n      \"mint_soul_bound\",\n      [],\n      [\n        collection,\n        description,\n        name,\n        uri,\n        propertyKeys,\n        propertyTypes,\n        getPropertyValueRaw(propertyValues, propertyTypes),\n        recipient.address().hex(),\n      ],\n      extraArgs,\n    );\n  }\n\n  /**\n   * Burn a token by its creator\n   * @param creator Creator account\n   * @param token Token address\n   * @returns The hash of the transaction submitted to the API\n   */\n  async burnToken(\n    creator: AptosAccount,\n    token: MaybeHexString,\n    tokenType?: string,\n    extraArgs?: OptionalTransactionArgs,\n  ): Promise<string> {\n    return this.submitTransaction(\n      creator,\n      \"burn\",\n      [tokenType || this.tokenType],\n      [HexString.ensure(token).hex()],\n      extraArgs,\n    );\n  }\n\n  /**\n   * Freeze token transfer ability\n   * @param creator Creator account\n   * @param token Token address\n   * @returns The hash of the transaction submitted to the API\n   */\n  async freezeTokenTransafer(\n    creator: AptosAccount,\n    token: MaybeHexString,\n    tokenType?: string,\n    extraArgs?: OptionalTransactionArgs,\n  ): Promise<string> {\n    return this.submitTransaction(\n      creator,\n      \"freeze_transfer\",\n      [tokenType || this.tokenType],\n      [HexString.ensure(token).hex()],\n      extraArgs,\n    );\n  }\n\n  /**\n   * Unfreeze token transfer ability\n   * @param creator Creator account\n   * @param token Token address\n   * @returns The hash of the transaction submitted to the API\n   */\n  async unfreezeTokenTransafer(\n    creator: AptosAccount,\n    token: MaybeHexString,\n    tokenType?: string,\n    extraArgs?: OptionalTransactionArgs,\n  ): Promise<string> {\n    return this.submitTransaction(\n      creator,\n      \"unfreeze_transfer\",\n      [tokenType || this.tokenType],\n      [HexString.ensure(token).hex()],\n      extraArgs,\n    );\n  }\n\n  /**\n   * Set token description\n   * @param creator Creator account\n   * @param token Token address\n   * @param description Token description\n   * @returns The hash of the transaction submitted to the API\n   */\n  async setTokenDescription(\n    creator: AptosAccount,\n    token: MaybeHexString,\n    description: string,\n    tokenType?: string,\n    extraArgs?: OptionalTransactionArgs,\n  ): Promise<string> {\n    return this.submitTransaction(\n      creator,\n      \"set_description\",\n      [tokenType || this.tokenType],\n      [HexString.ensure(token).hex(), description],\n      extraArgs,\n    );\n  }\n\n  /**\n   * Set token name\n   * @param creator Creator account\n   * @param token Token address\n   * @param name Token name\n   * @returns The hash of the transaction submitted to the API\n   */\n  async setTokenName(\n    creator: AptosAccount,\n    token: MaybeHexString,\n    name: string,\n    tokenType?: string,\n    extraArgs?: OptionalTransactionArgs,\n  ): Promise<string> {\n    return this.submitTransaction(\n      creator,\n      \"set_name\",\n      [tokenType || this.tokenType],\n      [HexString.ensure(token).hex(), name],\n      extraArgs,\n    );\n  }\n\n  /**\n   * Set token URI\n   * @param creator Creator account\n   * @param token Token address\n   * @param uri Token uri\n   * @returns The hash of the transaction submitted to the API\n   */\n  async setTokenURI(\n    creator: AptosAccount,\n    token: MaybeHexString,\n    uri: string,\n    tokenType?: string,\n    extraArgs?: OptionalTransactionArgs,\n  ): Promise<string> {\n    return this.submitTransaction(\n      creator,\n      \"set_uri\",\n      [tokenType || this.tokenType],\n      [HexString.ensure(token).hex(), uri],\n      extraArgs,\n    );\n  }\n\n  /**\n   * Add token property\n   * @param creator Creator account\n   * @param token Token address\n   * @param key the property key for storing on-chain property\n   * @param type the type of property value\n   * @param value the property value to be stored on-chain\n   * @returns The hash of the transaction submitted to the API\n   */\n  async addTokenProperty(\n    creator: AptosAccount,\n    token: MaybeHexString,\n    propertyKey: string,\n    propertyType: PropertyType,\n    propertyValue: string,\n    tokenType?: string,\n    extraArgs?: OptionalTransactionArgs,\n  ): Promise<string> {\n    return this.submitTransaction(\n      creator,\n      \"add_property\",\n      [tokenType || this.tokenType],\n      [\n        HexString.ensure(token).hex(),\n        propertyKey,\n        PropertyTypeMap[propertyType],\n        getSinglePropertyValueRaw(propertyValue, PropertyTypeMap[propertyType]),\n      ],\n      extraArgs,\n    );\n  }\n\n  /**\n   * Remove token property\n   * @param creator Creator account\n   * @param token Token address\n   * @param key the property key stored on-chain\n   * @returns The hash of the transaction submitted to the API\n   */\n  async removeTokenProperty(\n    creator: AptosAccount,\n    token: MaybeHexString,\n    propertyKey: string,\n    tokenType?: string,\n    extraArgs?: OptionalTransactionArgs,\n  ): Promise<string> {\n    return this.submitTransaction(\n      creator,\n      \"remove_property\",\n      [tokenType || this.tokenType],\n      [HexString.ensure(token).hex(), propertyKey],\n      extraArgs,\n    );\n  }\n\n  /**\n   * Update token property\n   * @param creator Creator account\n   * @param token Token address\n   * @param key the property key stored on-chain\n   * @param type the property typed stored on-chain\n   * @param value the property value to be stored on-chain\n   * @returns The hash of the transaction submitted to the API\n   */\n  async updateTokenProperty(\n    creator: AptosAccount,\n    token: MaybeHexString,\n    propertyKey: string,\n    propertyType: PropertyType,\n    propertyValue: string,\n    tokenType?: string,\n    extraArgs?: OptionalTransactionArgs,\n  ): Promise<string> {\n    return this.submitTransaction(\n      creator,\n      \"update_property\",\n      [tokenType || this.tokenType],\n      [\n        HexString.ensure(token).hex(),\n        propertyKey,\n        PropertyTypeMap[propertyType],\n        getSinglePropertyValueRaw(propertyValue, PropertyTypeMap[propertyType]),\n      ],\n      extraArgs,\n    );\n  }\n\n  async addTypedProperty(\n    creator: AptosAccount,\n    token: MaybeHexString,\n    propertyKey: string,\n    propertyType: PropertyType,\n    propertyValue: string,\n    tokenType?: string,\n    extraArgs?: OptionalTransactionArgs,\n  ) {\n    return this.submitTransaction(\n      creator,\n      \"add_typed_property\",\n      [tokenType || this.tokenType, PropertyTypeMap[propertyType]],\n      [HexString.ensure(token).hex(), propertyKey, propertyValue],\n      extraArgs,\n    );\n  }\n\n  async updateTypedProperty(\n    creator: AptosAccount,\n    token: MaybeHexString,\n    propertyKey: string,\n    propertyType: PropertyType,\n    propertyValue: string,\n    tokenType?: string,\n    extraArgs?: OptionalTransactionArgs,\n  ) {\n    return this.submitTransaction(\n      creator,\n      \"update_typed_property\",\n      [tokenType || this.tokenType, PropertyTypeMap[propertyType]],\n      [HexString.ensure(token).hex(), propertyKey, propertyValue],\n      extraArgs,\n    );\n  }\n\n  /**\n   * Transfer a non fungible token ownership.\n   * We can transfer a token only when the token is not frozen (i.e. owner transfer is not disabled such as for soul bound tokens)\n   * @param owner The account of the current token owner\n   * @param token Token address\n   * @param recipient Recipient address\n   * @returns The hash of the transaction submitted to the API\n   */\n  async transferTokenOwnership(\n    owner: AptosAccount,\n    token: MaybeHexString,\n    recipient: MaybeHexString,\n    tokenType?: string,\n    extraArgs?: OptionalTransactionArgs,\n  ): Promise<string> {\n    const builder = new TransactionBuilderRemoteABI(this.provider, {\n      sender: owner.address(),\n      ...extraArgs,\n    });\n    const rawTxn = await builder.build(\n      \"0x1::object::transfer\",\n      [tokenType || this.tokenType],\n      [HexString.ensure(token).hex(), HexString.ensure(recipient).hex()],\n    );\n    const bcsTxn = AptosClient.generateBCSTransaction(owner, rawTxn);\n    const pendingTransaction = await this.provider.submitSignedBCSTransaction(bcsTxn);\n    return pendingTransaction.hash;\n  }\n\n  /**\n   * Transfer a token. This function supports transfer non-fungible token and fungible token.\n   *\n   * To set the token type, set isFungibleToken param to true or false.\n   * If isFungibleToken param is not set, the function would query Indexer\n   * for the token data and check whether it is a non-fungible or a fungible token.\n   *\n   * Note: this function supports only token v2 standard (it does not support the token v1 standard)\n   *\n   * @param data NonFungibleTokenParameters | FungibleTokenParameters type\n   * @param isFungibleToken (optional) The token type, non-fungible or fungible token.\n   * @returns The hash of the transaction submitted to the API\n   */\n  async transfer(\n    data: NonFungibleTokenParameters | FungibleTokenParameters,\n    isFungibleToken?: boolean | null,\n  ): Promise<string> {\n    let isFungible = isFungibleToken;\n    if (isFungible === undefined || isFungible === null) {\n      const tokenData = await this.provider.getTokenData(HexString.ensure(data.tokenAddress).hex());\n      isFungible = tokenData.current_token_datas_v2[0].is_fungible_v2;\n    }\n    if (isFungible) {\n      const token = data as FungibleTokenParameters;\n      const fungibleAsset = new FungibleAssetClient(this.provider);\n      const txnHash = await fungibleAsset.transfer(\n        token.owner,\n        token.tokenAddress,\n        token.recipient,\n        token.amount,\n        token.extraArgs,\n      );\n      return txnHash;\n    }\n    const token = data as NonFungibleTokenParameters;\n    const txnHash = await this.transferTokenOwnership(\n      token.owner,\n      token.tokenAddress,\n      token.recipient,\n      token.tokenType,\n      token.extraArgs,\n    );\n    return txnHash;\n  }\n\n  /**\n   * Burn an object by the object owner\n   * @param owner The object owner account\n   * @param objectId The object address\n   * @optional objectType. The object type, default to \"0x1::object::ObjectCore\"\n   * @returns The hash of the transaction submitted to the API\n   */\n  async burnObject(\n    owner: AptosAccount,\n    objectId: MaybeHexString,\n    objectType?: string,\n    extraArgs?: OptionalTransactionArgs,\n  ): Promise<string> {\n    const builder = new TransactionBuilderRemoteABI(this.provider, {\n      sender: owner.address(),\n      ...extraArgs,\n    });\n    const rawTxn = await builder.build(\n      \"0x1::object::burn\",\n      [objectType || \"0x1::object::ObjectCore\"],\n      [HexString.ensure(objectId).hex()],\n    );\n    const bcsTxn = AptosClient.generateBCSTransaction(owner, rawTxn);\n    const pendingTransaction = await this.provider.submitSignedBCSTransaction(bcsTxn);\n    return pendingTransaction.hash;\n  }\n}\n","// Copyright © Aptos Foundation\n// SPDX-License-Identifier: Apache-2.0\nimport { AptosAccount, getAddressFromAccountOrAddress } from \"../account/aptos_account\";\nimport { AptosClient, OptionalTransactionArgs } from \"../providers/aptos_client\";\nimport { MaybeHexString, APTOS_COIN, NetworkToIndexerAPI, NodeAPIToNetwork } from \"../utils\";\nimport { TransactionBuilderRemoteABI } from \"../transaction_builder\";\nimport { FungibleAssetClient } from \"./fungible_asset_client\";\nimport { Provider } from \"../providers\";\nimport { AccountAddress } from \"../aptos_types\";\n\nexport const TRANSFER_COINS = \"0x1::aptos_account::transfer_coins\";\nexport const COIN_TRANSFER = \"0x1::coin::transfer\";\n/**\n * Class for working with the coin module, such as transferring coins and\n * checking balances.\n */\nexport class CoinClient {\n  aptosClient: AptosClient;\n\n  /**\n   * Creates new CoinClient instance\n   * @param aptosClient AptosClient instance\n   */\n  constructor(aptosClient: AptosClient) {\n    this.aptosClient = aptosClient;\n  }\n\n  /**\n   * Generate, sign, and submit a transaction to the Aptos blockchain API to\n   * transfer coins from one account to another. By default it transfers\n   * 0x1::aptos_coin::AptosCoin, but you can specify a different coin type\n   * with the `coinType` argument.\n   *\n   * You may set `createReceiverIfMissing` to true if you want to create the\n   * receiver account if it does not exist on chain yet. If you do not set\n   * this to true, the transaction will fail if the receiver account does not\n   * exist on-chain.\n   *\n   * The TS SDK supports fungible assets operations. If you want to use CoinClient\n   * with this feature, set the `coinType` to be the fungible asset metadata address.\n   * This option uses the `FungibleAssetClient` class and queries the\n   * fungible asset primary store.\n   *\n   * @param from Account sending the coins\n   * @param to Account to receive the coins\n   * @param amount Number of coins to transfer\n   * @param extraArgs Extra args for building the transaction or configuring how\n   * the client should submit and wait for the transaction\n   * @returns The hash of the transaction submitted to the API\n   */\n  // :!:>transfer\n  async transfer(\n    from: AptosAccount,\n    to: AptosAccount | MaybeHexString,\n    amount: number | bigint,\n    extraArgs?: OptionalTransactionArgs & {\n      // The coin type to use, defaults to 0x1::aptos_coin::AptosCoin.\n      // If you want to transfer a fungible asset, set this param to be the\n      // fungible asset address\n      coinType?: string | MaybeHexString;\n      // If set, create the `receiver` account if it doesn't exist on-chain.\n      // This is done by calling `0x1::aptos_account::transfer` instead, which\n      // will create the account on-chain first if it doesn't exist before\n      // transferring the coins to it.\n      // If this is the first time an account has received the specified coinType,\n      // and this is set to false, the transaction would fail.\n      createReceiverIfMissing?: boolean;\n    },\n  ): Promise<string> {\n    // Since we can receive either a fully qualified type tag like \"0x1::coin_type::CoinType\"\n    // or a fungible object address \"0x1234...6789\" we first check to see if the raw string value includes \"::\"\n    // This is to make sure it's not supposed to be a fungible asset object address.\n    const isTypeTag = (extraArgs?.coinType ?? \"\").toString().includes(\"::\");\n\n    // If the coin type exists, definitely isn't a type tag, and is a valid account address,\n    // then we enter this if block under the assumption that it's a fungible asset object address.\n    if (extraArgs?.coinType && !isTypeTag && AccountAddress.isValid(extraArgs.coinType)) {\n      /* eslint-disable no-console */\n      console.warn(\"to transfer a fungible asset, use `FungibleAssetClient()` class for better support\");\n      const provider = new Provider({\n        fullnodeUrl: this.aptosClient.nodeUrl,\n        indexerUrl: NetworkToIndexerAPI[NodeAPIToNetwork[this.aptosClient.nodeUrl]] ?? this.aptosClient.nodeUrl,\n      });\n      const fungibleAsset = new FungibleAssetClient(provider);\n      const txnHash = await fungibleAsset.transfer(\n        from,\n        extraArgs?.coinType,\n        getAddressFromAccountOrAddress(to),\n        amount,\n      );\n      return txnHash;\n    }\n\n    // If none is explicitly given, use 0x1::aptos_coin::AptosCoin as the coin type.\n    const coinTypeToTransfer = extraArgs?.coinType ?? APTOS_COIN;\n\n    // If we should create the receiver account if it doesn't exist on-chain,\n    // use the `0x1::aptos_account::transfer_coins` function.\n    let func: string;\n    if (extraArgs?.createReceiverIfMissing === undefined) {\n      func = TRANSFER_COINS;\n    } else {\n      func = extraArgs?.createReceiverIfMissing ? TRANSFER_COINS : COIN_TRANSFER;\n    }\n\n    // Get the receiver address from the AptosAccount or MaybeHexString.\n    const toAddress = getAddressFromAccountOrAddress(to);\n\n    const builder = new TransactionBuilderRemoteABI(this.aptosClient, { sender: from.address(), ...extraArgs });\n    const rawTxn = await builder.build(func, [coinTypeToTransfer as string], [toAddress, amount]);\n\n    const bcsTxn = AptosClient.generateBCSTransaction(from, rawTxn);\n    const pendingTransaction = await this.aptosClient.submitSignedBCSTransaction(bcsTxn);\n    return pendingTransaction.hash;\n  } // <:!:transfer\n\n  /**\n   * Get the balance of the account. By default it checks the balance of\n   * 0x1::aptos_coin::AptosCoin, but you can specify a different coin type.\n   *\n   * to use a different type, set the `coinType` to be the fungible asset type.\n   *\n   * The TS SDK supports fungible assets operations. If you want to use CoinClient\n   * with this feature, set the `coinType` to be the fungible asset metadata address.\n   * This option uses the FungibleAssetClient class and queries the\n   * fungible asset primary store.\n   *\n   * @param account Account that you want to get the balance of.\n   * @param extraArgs Extra args for checking the balance.\n   * @returns Promise that resolves to the balance as a bigint.\n   */\n  // :!:>checkBalance\n  async checkBalance(\n    account: AptosAccount | MaybeHexString,\n    extraArgs?: {\n      // The coin type to use, defaults to 0x1::aptos_coin::AptosCoin.\n      // If you want to check the balance of a fungible asset, set this param to be the\n      // fungible asset address\n      coinType?: string | MaybeHexString;\n    },\n  ): Promise<bigint> {\n    // Since we can receive either a fully qualified type tag like \"0x1::coin_type::CoinType\"\n    // or a fungible object address \"0x1234...6789\" we first check to see if the raw string value includes \"::\"\n    // This is to make sure it's not supposed to be a fungible asset object address.\n    const isTypeTag = (extraArgs?.coinType ?? \"\").toString().includes(\"::\");\n\n    // If the coin type exists, definitely isn't a type tag, and is a valid account address,\n    // then we enter this if block under the assumption that it's a fungible asset object address.\n    if (extraArgs?.coinType && !isTypeTag && AccountAddress.isValid(extraArgs.coinType)) {\n      /* eslint-disable no-console */\n      console.warn(\"to check balance of a fungible asset, use `FungibleAssetClient()` class for better support\");\n      const provider = new Provider({\n        fullnodeUrl: this.aptosClient.nodeUrl,\n        indexerUrl: NetworkToIndexerAPI[NodeAPIToNetwork[this.aptosClient.nodeUrl]] ?? this.aptosClient.nodeUrl,\n      });\n      const fungibleAsset = new FungibleAssetClient(provider);\n      const balance = await fungibleAsset.getPrimaryBalance(\n        getAddressFromAccountOrAddress(account),\n        extraArgs?.coinType,\n      );\n      return balance;\n    }\n\n    const coinType = extraArgs?.coinType ?? APTOS_COIN;\n    const typeTag = `0x1::coin::CoinStore<${coinType}>`;\n    const address = getAddressFromAccountOrAddress(account);\n    const accountResource = await this.aptosClient.getAccountResource(address, typeTag);\n    return BigInt((accountResource.data as any).coin.value);\n  } // <:!:checkBalance\n}\n","// Copyright © Aptos Foundation\n// SPDX-License-Identifier: Apache-2.0\n\n/** Faucet creates and funds accounts. This is a thin wrapper around that. */\nimport { AptosClient } from \"../providers/aptos_client\";\nimport { HexString, MaybeHexString, DEFAULT_TXN_TIMEOUT_SEC } from \"../utils\";\nimport { post, ClientConfig } from \"../client\";\n\n/**\n * Class for requsting tokens from faucet\n */\nexport class FaucetClient extends AptosClient {\n  readonly faucetUrl: string;\n\n  readonly config: ClientConfig | undefined;\n\n  /**\n   * Establishes a connection to Aptos node\n   * @param nodeUrl A url of the Aptos Node API endpoint\n   * @param faucetUrl A faucet url\n   * @param config An optional config for inner axios instance\n   * Detailed config description: {@link https://github.com/axios/axios#request-config}\n   */\n  constructor(nodeUrl: string, faucetUrl: string, config?: ClientConfig) {\n    super(nodeUrl, config);\n\n    if (!faucetUrl) {\n      throw new Error(\"Faucet URL cannot be empty.\");\n    }\n    this.faucetUrl = faucetUrl;\n    this.config = config;\n  }\n\n  /**\n   * This creates an account if it does not exist and mints the specified amount of\n   * coins into that account\n   * @param address Hex-encoded 16 bytes Aptos account address wich mints tokens\n   * @param amount Amount of tokens to mint\n   * @param timeoutSecs\n   * @returns Hashes of submitted transactions\n   */\n  async fundAccount(address: MaybeHexString, amount: number, timeoutSecs = DEFAULT_TXN_TIMEOUT_SEC): Promise<string[]> {\n    const { data } = await post<any, Array<string>>({\n      url: this.faucetUrl,\n      endpoint: \"mint\",\n      body: null,\n      params: {\n        address: HexString.ensure(address).noPrefix(),\n        amount,\n      },\n      overrides: { ...this.config },\n      originMethod: \"fundAccount\",\n    });\n\n    const promises: Promise<void>[] = [];\n    for (let i = 0; i < data.length; i += 1) {\n      const tnxHash = data[i];\n      promises.push(this.waitForTransaction(tnxHash, { timeoutSecs }));\n    }\n    await Promise.all(promises);\n    return data;\n  }\n}\n","import { AptosClient, Provider, OptionalTransactionArgs, ApiError } from \"../providers\";\nimport * as Gen from \"../generated/index\";\nimport { AptosAccount } from \"../account\";\nimport { AccountAddress } from \"../aptos_types\";\nimport { TransactionBuilderRemoteABI } from \"../transaction_builder\";\n\nexport const ansContractsMap: Record<string, string> = {\n  testnet: \"0x5f8fd2347449685cf41d4db97926ec3a096eaf381332be4f1318ad4d16a8497c\",\n  mainnet: \"0x867ed1f6bf916171b1de3ee92849b8978b7d1b9e0a8cc982a3d19d535dfd9c0c\",\n};\n\n// Each name component can only have lowercase letters, number or hyphens, and cannot start or end with a hyphen.\nexport const nameComponentPattern = /^[a-z\\d][a-z\\d-]{1,61}[a-z\\d]$/;\n\nexport const namePattern = new RegExp(\n  \"^\" +\n    // Optional subdomain (cannot be followed by .apt)\n    \"(?:(?<subdomain>[^.]+)\\\\.(?!apt$))?\" +\n    // Domain\n    \"(?<domain>[^.]+)\" +\n    // Optional .apt suffix\n    \"(?:\\\\.apt)?\" +\n    \"$\",\n);\n\nexport type ReverseLookupRegistryV1 = {\n  registry: {\n    handle: string;\n  };\n};\n\nexport type NameRegistryV1 = {\n  registry: {\n    handle: string;\n  };\n};\n\nexport type AnsRegistry = {\n  expirationTimestampSeconds: number;\n  target: string | null;\n};\n\nexport class AnsClient {\n  contractAddress: string;\n\n  provider: Provider;\n\n  /**\n   * Creates new AnsClient instance\n   * @param provider Provider instance\n   * @param contractAddress An optional contract address.\n   * If there is no contract address matching to the provided network\n   * then the AnsClient class expects a contract address -\n   * this is to support both mainnet/testnet networks and local development.\n   */\n  constructor(provider: Provider, contractAddress?: string) {\n    this.provider = provider;\n    if (!ansContractsMap[this.provider.network] && !contractAddress) {\n      throw new Error(\"Error: For custom providers, you must pass in a contract address\");\n    }\n    this.contractAddress = ansContractsMap[this.provider.network] ?? contractAddress;\n  }\n\n  /**\n   * Returns the primary name for the given account address\n   * @param address An account address\n   * @returns Account's primary name | null if there is no primary name defined\n   */\n  async getPrimaryNameByAddress(address: string): Promise<string | null> {\n    const ansResource: Gen.MoveResource = await this.provider.getAccountResource(\n      this.contractAddress,\n      `${this.contractAddress}::domains::ReverseLookupRegistryV1`,\n    );\n    const data = ansResource.data as ReverseLookupRegistryV1;\n    const { handle } = data.registry;\n    const domainsTableItemRequest = {\n      key_type: \"address\",\n      value_type: `${this.contractAddress}::domains::NameRecordKeyV1`,\n      key: address,\n    };\n    try {\n      const item = await this.provider.getTableItem(handle, domainsTableItemRequest);\n      return item.subdomain_name.vec[0] ? `${item.subdomain_name.vec[0]}.${item.domain_name}` : item.domain_name;\n    } catch (error: any) {\n      // if item not found, response is 404 error - meaning item not found\n      if (error.status === 404) {\n        return null;\n      }\n      throw new Error(error);\n    }\n  }\n\n  /**\n   * Returns the target account address for the given name\n   * @param name ANS name\n   * @returns Account address | null\n   */\n  async getAddressByName(name: string): Promise<string | null> {\n    const { domain, subdomain } = name.match(namePattern)?.groups ?? {};\n    if (!domain) return null;\n    const registration = subdomain\n      ? await this.getRegistrationForSubdomainName(domain, subdomain)\n      : await this.getRegistrationForDomainName(domain);\n    return registration === null ? null : registration.target;\n  }\n\n  /**\n   * Mint a new Aptos name\n   *\n   * @param account AptosAccount where collection will be created\n   * @param domainName Aptos domain name to mint\n   * @param years year duration of the domain name\n   * @returns The hash of the pending transaction submitted to the API\n   */\n  async mintAptosName(\n    account: AptosAccount,\n    domainName: string,\n    years: number = 1,\n    extraArgs?: OptionalTransactionArgs,\n  ): Promise<Gen.HashValue> {\n    // check if the name is valid\n    if (domainName.match(nameComponentPattern) === null) {\n      throw new ApiError(400, `Name ${domainName} is not valid`);\n    }\n    // check if the name is available\n    const registration = await this.getRegistrationForDomainName(domainName);\n    if (registration) {\n      const now = Math.ceil(Date.now() / 1000);\n      if (now < registration.expirationTimestampSeconds) {\n        throw new ApiError(400, `Name ${domainName} is not available`);\n      }\n    }\n\n    const builder = new TransactionBuilderRemoteABI(this.provider.aptosClient, {\n      sender: account.address(),\n      ...extraArgs,\n    });\n    const rawTxn = await builder.build(`${this.contractAddress}::domains::register_domain`, [], [domainName, years]);\n\n    const bcsTxn = AptosClient.generateBCSTransaction(account, rawTxn);\n    const pendingTransaction = await this.provider.submitSignedBCSTransaction(bcsTxn);\n\n    return pendingTransaction.hash;\n  }\n\n  /**\n   * Mint a new Aptos Subdomain\n   *\n   * @param account AptosAccount the owner of the domain name\n   * @param subdomainName subdomain name to mint\n   * @param domainName Aptos domain name to mint under\n   * @param expirationTimestampSeconds must be set between the domains expiration and the current time\n   * @returns The hash of the pending transaction submitted to the API\n   */\n  async mintAptosSubdomain(\n    account: AptosAccount,\n    subdomainName: string,\n    domainName: string,\n    expirationTimestampSeconds?: number,\n    extraArgs?: OptionalTransactionArgs,\n  ): Promise<Gen.HashValue> {\n    // check if the name is valid\n    if (domainName.match(nameComponentPattern) === null) {\n      throw new ApiError(400, `Domain name ${domainName} is not valid`);\n    }\n    // check if the name is valid\n    if (subdomainName.match(nameComponentPattern) === null) {\n      throw new ApiError(400, `Subdomain name ${subdomainName} is not valid`);\n    }\n    // check if the name is available\n    const subdomainRegistration = await this.getRegistrationForSubdomainName(domainName, subdomainName);\n    if (subdomainRegistration) {\n      const now = Math.ceil(Date.now() / 1000);\n      if (now < subdomainRegistration.expirationTimestampSeconds) {\n        throw new ApiError(400, `Name ${subdomainName}.${domainName} is not available`);\n      }\n    }\n\n    const domainRegistration = await this.getRegistrationForDomainName(domainName);\n    if (domainRegistration === null) {\n      throw new ApiError(400, `Domain name ${domainName} does not exist`);\n    }\n    const now = Math.ceil(Date.now() / 1000);\n    if (domainRegistration.expirationTimestampSeconds < now) {\n      throw new ApiError(400, `Domain name ${domainName} expired`);\n    }\n\n    const actualExpirationTimestampSeconds =\n      expirationTimestampSeconds || domainRegistration.expirationTimestampSeconds;\n    if (actualExpirationTimestampSeconds < now) {\n      throw new ApiError(400, `Expiration for ${subdomainName}.${domainName} is before now`);\n    }\n\n    const builder = new TransactionBuilderRemoteABI(this.provider.aptosClient, {\n      sender: account.address(),\n      ...extraArgs,\n    });\n    const rawTxn = await builder.build(\n      `${this.contractAddress}::domains::register_subdomain`,\n      [],\n      [subdomainName, domainName, actualExpirationTimestampSeconds],\n    );\n\n    const bcsTxn = AptosClient.generateBCSTransaction(account, rawTxn);\n    const pendingTransaction = await this.provider.submitSignedBCSTransaction(bcsTxn);\n\n    return pendingTransaction.hash;\n  }\n\n  /**\n   * @param account AptosAccount the owner of the domain name\n   * @param subdomainName subdomain name to mint\n   * @param domainName Aptos domain name to mint\n   * @param target the target address for the subdomain\n   * @returns The hash of the pending transaction submitted to the API\n   */\n  async setSubdomainAddress(\n    account: AptosAccount,\n    subdomainName: string,\n    domainName: string,\n    target: string,\n    extraArgs?: OptionalTransactionArgs,\n  ): Promise<Gen.HashValue> {\n    const standardizeAddress = AccountAddress.standardizeAddress(target);\n\n    // check if the name is valid\n    if (domainName.match(nameComponentPattern) === null) {\n      throw new ApiError(400, `Name ${domainName} is not valid`);\n    }\n    // check if the name is valid\n    if (subdomainName.match(nameComponentPattern) === null) {\n      throw new ApiError(400, `Name ${subdomainName} is not valid`);\n    }\n\n    const builder = new TransactionBuilderRemoteABI(this.provider.aptosClient, {\n      sender: account.address(),\n      ...extraArgs,\n    });\n    const rawTxn = await builder.build(\n      `${this.contractAddress}::domains::set_subdomain_address`,\n      [],\n      [subdomainName, domainName, standardizeAddress],\n    );\n\n    const bcsTxn = AptosClient.generateBCSTransaction(account, rawTxn);\n    const pendingTransaction = await this.provider.submitSignedBCSTransaction(bcsTxn);\n\n    return pendingTransaction.hash;\n  }\n\n  /**\n   * Initialize reverse lookup for contract owner\n   *\n   * @param owner the `aptos_names` AptosAccount\n   * @returns The hash of the pending transaction submitted to the API\n   */\n  async initReverseLookupRegistry(owner: AptosAccount, extraArgs?: OptionalTransactionArgs): Promise<Gen.HashValue> {\n    const builder = new TransactionBuilderRemoteABI(this.provider.aptosClient, {\n      sender: owner.address(),\n      ...extraArgs,\n    });\n    const rawTxn = await builder.build(`${this.contractAddress}::domains::init_reverse_lookup_registry_v1`, [], []);\n\n    const bcsTxn = AptosClient.generateBCSTransaction(owner, rawTxn);\n    const pendingTransaction = await this.provider.submitSignedBCSTransaction(bcsTxn);\n\n    return pendingTransaction.hash;\n  }\n\n  /**\n   * Returns the AnsRegistry for the given domain name\n   * @param domain domain name\n   * @example\n   * if name is `aptos.apt`\n   * domain = aptos\n   *\n   * @returns AnsRegistry | null\n   */\n  private async getRegistrationForDomainName(domain: string): Promise<AnsRegistry | null> {\n    if (domain.match(nameComponentPattern) === null) return null;\n    const ansResource: { type: Gen.MoveStructTag; data: any } = await this.provider.getAccountResource(\n      this.contractAddress,\n      `${this.contractAddress}::domains::NameRegistryV1`,\n    );\n    const data = ansResource.data as NameRegistryV1;\n    const { handle } = data.registry;\n    const domainsTableItemRequest = {\n      key_type: `${this.contractAddress}::domains::NameRecordKeyV1`,\n      value_type: `${this.contractAddress}::domains::NameRecordV1`,\n      key: {\n        subdomain_name: { vec: [] },\n        domain_name: domain,\n      },\n    };\n\n    try {\n      const item = await this.provider.getTableItem(handle, domainsTableItemRequest);\n      return {\n        target: item.target_address.vec.length === 1 ? item.target_address.vec[0] : null,\n        expirationTimestampSeconds: item.expiration_time_sec,\n      };\n    } catch (error: any) {\n      // if item not found, response is 404 error - meaning item not found\n      if (error.status === 404) {\n        return null;\n      }\n      throw new Error(error);\n    }\n  }\n\n  /**\n   * Returns the AnsRegistry for the given subdomain_name\n   * @param domain domain name\n   * @param subdomain subdomain name\n   * @example\n   * if name is `dev.aptos.apt`\n   * domain = aptos\n   * subdomain = dev\n   *\n   * @returns AnsRegistry | null\n   */\n  private async getRegistrationForSubdomainName(domain: string, subdomain: string): Promise<AnsRegistry | null> {\n    if (domain.match(nameComponentPattern) === null) return null;\n    if (subdomain.match(nameComponentPattern) === null) return null;\n    const ansResource: { type: Gen.MoveStructTag; data: any } = await this.provider.getAccountResource(\n      this.contractAddress,\n      `${this.contractAddress}::domains::NameRegistryV1`,\n    );\n    const data = ansResource.data as NameRegistryV1;\n    const { handle } = data.registry;\n    const domainsTableItemRequest = {\n      key_type: `${this.contractAddress}::domains::NameRecordKeyV1`,\n      value_type: `${this.contractAddress}::domains::NameRecordV1`,\n      key: {\n        subdomain_name: { vec: [subdomain] },\n        domain_name: domain,\n      },\n    };\n\n    try {\n      const item = await this.provider.getTableItem(handle, domainsTableItemRequest);\n      return {\n        target: item.target_address.vec.length === 1 ? item.target_address.vec[0] : null,\n        expirationTimestampSeconds: item.expiration_time_sec,\n      };\n    } catch (error: any) {\n      // if item not found, response is 404 error - meaning item not found\n      if (error.status === 404) {\n        return null;\n      }\n      throw new Error(error);\n    }\n  }\n}\n","/**\n * A wrapper that handles and manages an account sequence number.\n *\n * Submit up to `maximumInFlight` transactions per account in parallel with a timeout of `sleepTime`\n * If local assumes `maximumInFlight` are in flight, determine the actual committed state from the network\n * If there are less than `maximumInFlight` due to some being committed, adjust the window\n * If `maximumInFlight` are in flight, wait `sleepTime` seconds before re-evaluating\n * If ever waiting more than `maxWaitTime` restart the sequence number to the current on-chain state\n *\n * Assumptions:\n * Accounts are expected to be managed by a single AccountSequenceNumber and not used otherwise.\n * They are initialized to the current on-chain state, so if there are already transactions in\n * flight, they may take some time to reset.\n * Accounts are automatically initialized if not explicitly\n *\n * Notes:\n * This is co-routine safe, that is many async tasks can be reading from this concurrently.\n * The state of an account cannot be used across multiple AccountSequenceNumber services.\n * The synchronize method will create a barrier that prevents additional nextSequenceNumber\n * calls until it is complete.\n * This only manages the distribution of sequence numbers it does not help handle transaction\n * failures.\n * If a transaction fails, you should call synchronize and wait for timeouts.\n */\n\nimport { AptosAccount } from \"../account\";\nimport { Provider } from \"../providers\";\nimport { sleep } from \"../utils\";\n\n// returns `now` time in seconds\nconst now = () => Math.floor(Date.now() / 1000);\n\nexport class AccountSequenceNumber {\n  readonly provider: Provider;\n\n  readonly account: AptosAccount;\n\n  // sequence number on chain\n  lastUncommintedNumber: bigint | null = null;\n\n  // local sequence number\n  currentNumber: bigint | null = null;\n\n  /**\n   * We want to guarantee that we preserve ordering of workers to requests.\n   *\n   * `lock` is used to try to prevent multiple coroutines from accessing a shared resource at the same time,\n   * which can result in race conditions and data inconsistency.\n   * This code actually doesn't do it though, since we aren't giving out a slot, it is still somewhat a race condition.\n   *\n   * The ideal solution is likely that each thread grabs the next number from a incremental integer.\n   * When they complete, they increment that number and that entity is able to enter the `lock`.\n   * That would guarantee ordering.\n   */\n  lock = false;\n\n  maxWaitTime: number;\n\n  maximumInFlight: number;\n\n  sleepTime: number;\n\n  constructor(\n    provider: Provider,\n    account: AptosAccount,\n    maxWaitTime: number,\n    maximumInFlight: number,\n    sleepTime: number,\n  ) {\n    this.provider = provider;\n    this.account = account;\n    this.maxWaitTime = maxWaitTime;\n    this.maximumInFlight = maximumInFlight;\n    this.sleepTime = sleepTime;\n  }\n\n  /**\n   * Returns the next available sequence number for this account\n   *\n   * @returns next available sequence number\n   */\n  async nextSequenceNumber(): Promise<bigint | null> {\n    /* eslint-disable no-await-in-loop */\n    while (this.lock) {\n      await sleep(this.sleepTime);\n    }\n\n    this.lock = true;\n    let nextNumber = BigInt(0);\n    try {\n      if (this.lastUncommintedNumber === null || this.currentNumber === null) {\n        await this.initialize();\n      }\n\n      if (this.currentNumber! - this.lastUncommintedNumber! >= this.maximumInFlight) {\n        await this.update();\n\n        const startTime = now();\n        while (this.currentNumber! - this.lastUncommintedNumber! >= this.maximumInFlight) {\n          await sleep(this.sleepTime);\n          if (now() - startTime > this.maxWaitTime) {\n            /* eslint-disable no-console */\n            console.warn(`Waited over 30 seconds for a transaction to commit, resyncing ${this.account.address()}`);\n            await this.initialize();\n          } else {\n            await this.update();\n          }\n        }\n      }\n      nextNumber = this.currentNumber!;\n      this.currentNumber! += BigInt(1);\n    } catch (e) {\n      console.error(\"error in getting next sequence number for this account\", e);\n    } finally {\n      this.lock = false;\n    }\n    return nextNumber;\n  }\n\n  /**\n   * Initializes this account with the sequence number on chain\n   */\n  async initialize(): Promise<void> {\n    const { sequence_number: sequenceNumber } = await this.provider.getAccount(this.account.address());\n    this.currentNumber = BigInt(sequenceNumber);\n    this.lastUncommintedNumber = BigInt(sequenceNumber);\n  }\n\n  /**\n   * Updates this account sequence number with the one on-chain\n   *\n   * @returns on-chain sequence number for this account\n   */\n  async update(): Promise<bigint> {\n    const { sequence_number: sequenceNumber } = await this.provider.getAccount(this.account.address());\n    this.lastUncommintedNumber = BigInt(sequenceNumber);\n    return this.lastUncommintedNumber;\n  }\n\n  /**\n   * Synchronizes local sequence number with the seqeunce number on chain for this account.\n   *\n   * Poll the network until all submitted transactions have either been committed or until\n   * the maximum wait time has elapsed\n   */\n  async synchronize(): Promise<void> {\n    if (this.lastUncommintedNumber === this.currentNumber) return;\n\n    /* eslint-disable no-await-in-loop */\n    while (this.lock) {\n      await sleep(this.sleepTime);\n    }\n\n    this.lock = true;\n\n    try {\n      await this.update();\n      const startTime = now();\n      while (this.lastUncommintedNumber !== this.currentNumber) {\n        if (now() - startTime > this.maxWaitTime) {\n          /* eslint-disable no-console */\n          console.warn(`Waited over 30 seconds for a transaction to commit, resyncing ${this.account.address()}`);\n          await this.initialize();\n        } else {\n          await sleep(this.sleepTime);\n          await this.update();\n        }\n      }\n    } catch (e) {\n      console.error(\"error in synchronizing this account sequence number with the one on chain\", e);\n    } finally {\n      this.lock = false;\n    }\n  }\n}\n","/* eslint-disable no-await-in-loop */\n\n/**\n * TransactionWorker provides a simple framework for receiving payloads to be processed.\n *\n * Once one `start()` the process and pushes a new transaction, the worker acquires\n * the current account's next sequence number (by using the AccountSequenceNumber class),\n * generates a signed transaction and pushes an async submission process into the `outstandingTransactions` queue.\n * At the same time, the worker processes transactions by reading the `outstandingTransactions` queue\n * and submits the next transaction to chain, it\n * 1) waits for resolution of the submission process or get pre-execution validation error\n * and 2) waits for the resolution of the execution process or get an execution error.\n * The worker fires events for any submission and/or execution success and/or failure.\n */\n\nimport EventEmitter from \"eventemitter3\";\nimport { AptosAccount } from \"../account\";\nimport { PendingTransaction, Transaction } from \"../generated\";\nimport { AptosClient, Provider } from \"../providers\";\nimport { TxnBuilderTypes } from \"../transaction_builder\";\nimport { AccountSequenceNumber } from \"./account_sequence_number\";\nimport { AsyncQueue, AsyncQueueCancelledError } from \"./async_queue\";\n\nconst promiseFulfilledStatus = \"fulfilled\";\n\nexport enum TransactionWorkerEvents {\n  TransactionSent = \"transactionSent\",\n  TransactionSendFailed = \"transactionsendFailed\",\n  TransactionExecuted = \"transactionExecuted\",\n  TransactionExecutionFailed = \"transactionexecutionFailed\",\n}\n\nexport class TransactionWorker extends EventEmitter<TransactionWorkerEvents> {\n  readonly provider: Provider;\n\n  readonly account: AptosAccount;\n\n  // current account sequence number\n  readonly accountSequnceNumber: AccountSequenceNumber;\n\n  readonly taskQueue: AsyncQueue<() => Promise<void>> = new AsyncQueue<() => Promise<void>>();\n\n  // process has started\n  started: boolean;\n\n  /**\n   * transactions payloads waiting to be generated and signed\n   *\n   * TODO support entry function payload from ABI builder\n   */\n  transactionsQueue = new AsyncQueue<TxnBuilderTypes.TransactionPayload>();\n\n  /**\n   * signed transactions waiting to be submitted\n   */\n  outstandingTransactions = new AsyncQueue<[Promise<PendingTransaction>, bigint]>();\n\n  /**\n   * transactions that have been submitted to chain\n   */\n  sentTransactions: Array<[string, bigint, any]> = [];\n\n  /**\n   * transactions that have been committed to chain\n   */\n  executedTransactions: Array<[string, bigint, any]> = [];\n\n  /**\n   * Provides a simple framework for receiving payloads to be processed.\n   *\n   * @param provider - a client provider\n   * @param sender - a sender as AptosAccount\n   * @param maxWaitTime - the max wait time to wait before resyncing the sequence number\n   * to the current on-chain state, default to 30\n   * @param maximumInFlight - submit up to `maximumInFlight` transactions per account.\n   * Mempool limits the number of transactions per account to 100, hence why we default to 100.\n   * @param sleepTime - If `maximumInFlight` are in flight, wait `sleepTime` seconds before re-evaluating, default to 10\n   */\n  constructor(\n    provider: Provider,\n    account: AptosAccount,\n    maxWaitTime: number = 30,\n    maximumInFlight: number = 100,\n    sleepTime: number = 10,\n  ) {\n    super();\n    this.provider = provider;\n    this.account = account;\n    this.started = false;\n    this.accountSequnceNumber = new AccountSequenceNumber(provider, account, maxWaitTime, maximumInFlight, sleepTime);\n  }\n\n  /**\n   * Gets the current account sequence number,\n   * generates the transaction with the account sequence number,\n   * adds the transaction to the outstanding transaction queue\n   * to be processed later.\n   */\n  async submitNextTransaction() {\n    try {\n      /* eslint-disable no-constant-condition */\n      while (true) {\n        if (this.transactionsQueue.isEmpty()) return;\n        const sequenceNumber = await this.accountSequnceNumber.nextSequenceNumber();\n        if (sequenceNumber === null) return;\n        const transaction = await this.generateNextTransaction(this.account, sequenceNumber);\n        if (!transaction) return;\n        const pendingTransaction = this.provider.submitSignedBCSTransaction(transaction);\n        await this.outstandingTransactions.enqueue([pendingTransaction, sequenceNumber]);\n      }\n    } catch (error: any) {\n      if (error instanceof AsyncQueueCancelledError) {\n        return;\n      }\n      // TODO use future log service\n      /* eslint-disable no-console */\n      console.log(error);\n    }\n  }\n\n  /**\n   * Reads the outstanding transaction queue and submits the transaction to chain.\n   *\n   * If the transaction has fulfilled, it pushes the transaction to the processed\n   * transactions queue and fires a transactionsFulfilled event.\n   *\n   * If the transaction has failed, it pushes the transaction to the processed\n   * transactions queue with the failure reason and fires a transactionsFailed event.\n   */\n  async processTransactions() {\n    try {\n      /* eslint-disable no-constant-condition */\n      while (true) {\n        const awaitingTransactions = [];\n        const sequenceNumbers = [];\n        let [pendingTransaction, sequenceNumber] = await this.outstandingTransactions.dequeue();\n\n        awaitingTransactions.push(pendingTransaction);\n        sequenceNumbers.push(sequenceNumber);\n\n        while (!this.outstandingTransactions.isEmpty()) {\n          [pendingTransaction, sequenceNumber] = await this.outstandingTransactions.dequeue();\n\n          awaitingTransactions.push(pendingTransaction);\n          sequenceNumbers.push(sequenceNumber);\n        }\n        // send awaiting transactions to chain\n        const sentTransactions = await Promise.allSettled(awaitingTransactions);\n        for (let i = 0; i < sentTransactions.length && i < sequenceNumbers.length; i += 1) {\n          // check sent transaction status\n          const sentTransaction = sentTransactions[i];\n          sequenceNumber = sequenceNumbers[i];\n          if (sentTransaction.status === promiseFulfilledStatus) {\n            // transaction sent to chain\n            this.sentTransactions.push([sentTransaction.value.hash, sequenceNumber, null]);\n            this.emit(TransactionWorkerEvents.TransactionSent, [\n              this.sentTransactions.length,\n              sentTransaction.value.hash,\n            ]);\n            // check sent transaction execution\n            await this.checkTransaction(sentTransaction, sequenceNumber);\n          } else {\n            // send transaction failed\n            this.sentTransactions.push([sentTransaction.status, sequenceNumber, sentTransaction.reason]);\n            this.emit(TransactionWorkerEvents.TransactionSendFailed, [\n              this.sentTransactions.length,\n              sentTransaction.reason,\n            ]);\n          }\n        }\n      }\n    } catch (error: any) {\n      if (error instanceof AsyncQueueCancelledError) {\n        return;\n      }\n      // TODO use future log service\n      /* eslint-disable no-console */\n      console.log(error);\n    }\n  }\n\n  /**\n   * Once transaction has been sent to chain, we check for its execution status.\n   * @param sentTransaction transactions that were sent to chain and are now waiting to be executed\n   * @param sequenceNumber the account's sequence number that was sent with the transaction\n   */\n  async checkTransaction(sentTransaction: PromiseFulfilledResult<PendingTransaction>, sequenceNumber: bigint) {\n    const waitFor: Array<Promise<Transaction>> = [];\n    waitFor.push(this.provider.waitForTransactionWithResult(sentTransaction.value.hash, { checkSuccess: true }));\n    const sentTransactions = await Promise.allSettled(waitFor);\n\n    for (let i = 0; i < sentTransactions.length; i += 1) {\n      const executedTransaction = sentTransactions[i];\n      if (executedTransaction.status === promiseFulfilledStatus) {\n        // transaction executed to chain\n        this.executedTransactions.push([executedTransaction.value.hash, sequenceNumber, null]);\n        this.emit(TransactionWorkerEvents.TransactionExecuted, [\n          this.executedTransactions.length,\n          executedTransaction.value.hash,\n        ]);\n      } else {\n        // transaction execution failed\n        this.executedTransactions.push([executedTransaction.status, sequenceNumber, executedTransaction.reason]);\n        this.emit(TransactionWorkerEvents.TransactionExecutionFailed, [\n          this.executedTransactions.length,\n          executedTransaction.reason,\n        ]);\n      }\n    }\n  }\n\n  /**\n   * Push transaction to the transactions queue\n   * @param payload Transaction payload\n   */\n  async push(payload: TxnBuilderTypes.TransactionPayload): Promise<void> {\n    await this.transactionsQueue.enqueue(payload);\n  }\n\n  /**\n   * Generates a signed transaction that can be submitted to chain\n   * @param account an Aptos account\n   * @param sequenceNumber a sequence number the transaction will be generated with\n   * @returns\n   */\n  async generateNextTransaction(account: AptosAccount, sequenceNumber: bigint): Promise<Uint8Array | undefined> {\n    if (this.transactionsQueue.isEmpty()) return undefined;\n    const payload = await this.transactionsQueue.dequeue();\n    const rawTransaction = await this.provider.generateRawTransaction(account.address(), payload, {\n      providedSequenceNumber: sequenceNumber,\n    });\n    const signedTransaction = AptosClient.generateBCSTransaction(account, rawTransaction);\n    return signedTransaction;\n  }\n\n  /**\n   * Starts transaction submission and transaction processing.\n   */\n  async run() {\n    try {\n      while (!this.taskQueue.isCancelled()) {\n        const task = await this.taskQueue.dequeue();\n        await task();\n      }\n    } catch (error: any) {\n      throw new Error(error);\n    }\n  }\n\n  /**\n   * Starts the transaction management process.\n   */\n  start() {\n    if (this.started) {\n      throw new Error(\"worker has already started\");\n    }\n    this.started = true;\n    this.taskQueue.enqueue(() => this.submitNextTransaction());\n    this.taskQueue.enqueue(() => this.processTransactions());\n    this.run();\n  }\n\n  /**\n   * Stops the transaction management process.\n   */\n  stop() {\n    if (this.taskQueue.isCancelled()) {\n      throw new Error(\"worker has already stopped\");\n    }\n    this.started = false;\n    this.taskQueue.cancel();\n  }\n}\n","/**\n * The AsyncQueue class is an async-aware data structure that provides a queue-like\n * behavior for managing asynchronous tasks or operations.\n * It allows to enqueue items and dequeue them asynchronously.\n * This is not thread-safe but it is async concurrency safe and\n * it does not guarantee ordering for those that call into and await on enqueue.\n */\n\ninterface PendingDequeue<T> {\n  resolve: (value: T) => void;\n  reject: (reason?: AsyncQueueCancelledError) => void;\n}\n\nexport class AsyncQueue<T> {\n  readonly queue: T[] = [];\n\n  // The pendingDequeue is used to handle the resolution of promises when items are enqueued and dequeued.\n  private pendingDequeue: PendingDequeue<T>[] = [];\n\n  private cancelled: boolean = false;\n\n  /**\n   * The enqueue method adds an item to the queue. If there are pending dequeued promises,\n   * in the pendingDequeue, it resolves the oldest promise with the enqueued item immediately.\n   * Otherwise, it adds the item to the queue.\n   *\n   * @param item T\n   */\n  enqueue(item: T): void {\n    this.cancelled = false;\n\n    if (this.pendingDequeue.length > 0) {\n      const promise = this.pendingDequeue.shift();\n\n      promise?.resolve(item);\n\n      return;\n    }\n\n    this.queue.push(item);\n  }\n\n  /**\n   * The dequeue method returns a promise that resolves to the next item in the queue.\n   * If the queue is not empty, it resolves the promise immediately with the next item.\n   * Otherwise, it creates a new promise. The promise's resolve function is stored\n   * in the pendingDequeue with a unique counter value as the key.\n   * The newly created promise is then returned, and it will be resolved later when an item is enqueued.\n   *\n   * @returns Promise<T>\n   */\n  async dequeue(): Promise<T> {\n    if (this.queue.length > 0) {\n      return Promise.resolve(this.queue.shift()!);\n    }\n\n    return new Promise<T>((resolve, reject) => {\n      this.pendingDequeue.push({ resolve, reject });\n    });\n  }\n\n  /**\n   * The isEmpty method returns whether the queue is empty or not.\n   *\n   * @returns boolean\n   */\n  isEmpty(): boolean {\n    return this.queue.length === 0;\n  }\n\n  /**\n   * The cancel method cancels all pending promises in the queue.\n   * It rejects the promises with a AsyncQueueCancelledError error,\n   * ensuring that any awaiting code can handle the cancellation appropriately.\n   */\n  cancel(): void {\n    this.cancelled = true;\n\n    this.pendingDequeue.forEach(async ({ reject }) => {\n      reject(new AsyncQueueCancelledError(\"Task cancelled\"));\n    });\n\n    this.pendingDequeue = [];\n\n    this.queue.length = 0;\n  }\n\n  /**\n   * The isCancelled method returns whether the queue is cancelled or not.\n   *\n   * @returns boolean\n   */\n  isCancelled(): boolean {\n    return this.cancelled;\n  }\n\n  /**\n   * The pendingDequeueLength method returns the length of the pendingDequeue.\n   *\n   * @returns number\n   */\n  pendingDequeueLength(): number {\n    return this.pendingDequeue.length;\n  }\n}\n\nexport class AsyncQueueCancelledError extends Error {}\n","/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\n\nexport type { AccountData } from './models/AccountData';\nexport type { AccountSignature } from './models/AccountSignature';\nexport type { AccountSignature_Ed25519Signature } from './models/AccountSignature_Ed25519Signature';\nexport type { AccountSignature_MultiEd25519Signature } from './models/AccountSignature_MultiEd25519Signature';\nexport type { AccountSignature_MultiKeySignature } from './models/AccountSignature_MultiKeySignature';\nexport type { AccountSignature_SingleKeySignature } from './models/AccountSignature_SingleKeySignature';\nexport type { Address } from './models/Address';\nexport type { AptosError } from './models/AptosError';\nexport { AptosErrorCode } from './models/AptosErrorCode';\nexport type { Block } from './models/Block';\nexport type { BlockEndInfo } from './models/BlockEndInfo';\nexport type { BlockEpilogueTransaction } from './models/BlockEpilogueTransaction';\nexport type { BlockMetadataTransaction } from './models/BlockMetadataTransaction';\nexport type { DecodedTableData } from './models/DecodedTableData';\nexport type { DeletedTableData } from './models/DeletedTableData';\nexport type { DeleteModule } from './models/DeleteModule';\nexport type { DeleteResource } from './models/DeleteResource';\nexport type { DeleteTableItem } from './models/DeleteTableItem';\nexport type { DeprecatedModuleBundlePayload } from './models/DeprecatedModuleBundlePayload';\nexport type { DirectWriteSet } from './models/DirectWriteSet';\nexport type { Ed25519 } from './models/Ed25519';\nexport type { Ed25519Signature } from './models/Ed25519Signature';\nexport type { EncodeSubmissionRequest } from './models/EncodeSubmissionRequest';\nexport type { EntryFunctionId } from './models/EntryFunctionId';\nexport type { EntryFunctionPayload } from './models/EntryFunctionPayload';\nexport type { Event } from './models/Event';\nexport type { EventGuid } from './models/EventGuid';\nexport type { FeePayerSignature } from './models/FeePayerSignature';\nexport type { GasEstimation } from './models/GasEstimation';\nexport type { GenesisPayload } from './models/GenesisPayload';\nexport type { GenesisPayload_WriteSetPayload } from './models/GenesisPayload_WriteSetPayload';\nexport type { GenesisTransaction } from './models/GenesisTransaction';\nexport type { HashValue } from './models/HashValue';\nexport type { HealthCheckSuccess } from './models/HealthCheckSuccess';\nexport type { HexEncodedBytes } from './models/HexEncodedBytes';\nexport type { IdentifierWrapper } from './models/IdentifierWrapper';\nexport type { IndexedSignature } from './models/IndexedSignature';\nexport type { IndexResponse } from './models/IndexResponse';\nexport type { Keyless } from './models/Keyless';\nexport type { MoveAbility } from './models/MoveAbility';\nexport type { MoveFunction } from './models/MoveFunction';\nexport type { MoveFunctionGenericTypeParam } from './models/MoveFunctionGenericTypeParam';\nexport { MoveFunctionVisibility } from './models/MoveFunctionVisibility';\nexport type { MoveModule } from './models/MoveModule';\nexport type { MoveModuleBytecode } from './models/MoveModuleBytecode';\nexport type { MoveModuleId } from './models/MoveModuleId';\nexport type { MoveResource } from './models/MoveResource';\nexport type { MoveScriptBytecode } from './models/MoveScriptBytecode';\nexport type { MoveStruct } from './models/MoveStruct';\nexport type { MoveStructField } from './models/MoveStructField';\nexport type { MoveStructGenericTypeParam } from './models/MoveStructGenericTypeParam';\nexport type { MoveStructTag } from './models/MoveStructTag';\nexport type { MoveStructValue } from './models/MoveStructValue';\nexport type { MoveType } from './models/MoveType';\nexport type { MoveValue } from './models/MoveValue';\nexport type { MultiAgentSignature } from './models/MultiAgentSignature';\nexport type { MultiEd25519Signature } from './models/MultiEd25519Signature';\nexport type { MultiKeySignature } from './models/MultiKeySignature';\nexport type { MultisigPayload } from './models/MultisigPayload';\nexport type { MultisigTransactionPayload } from './models/MultisigTransactionPayload';\nexport type { MultisigTransactionPayload_EntryFunctionPayload } from './models/MultisigTransactionPayload_EntryFunctionPayload';\nexport type { PendingTransaction } from './models/PendingTransaction';\nexport type { PublicKey } from './models/PublicKey';\nexport type { PublicKey_Ed25519 } from './models/PublicKey_Ed25519';\nexport type { PublicKey_Keyless } from './models/PublicKey_Keyless';\nexport type { PublicKey_Secp256k1Ecdsa } from './models/PublicKey_Secp256k1Ecdsa';\nexport type { PublicKey_Secp256r1Ecdsa } from './models/PublicKey_Secp256r1Ecdsa';\nexport type { RawTableItemRequest } from './models/RawTableItemRequest';\nexport { RoleType } from './models/RoleType';\nexport type { ScriptPayload } from './models/ScriptPayload';\nexport type { ScriptWriteSet } from './models/ScriptWriteSet';\nexport type { Secp256k1Ecdsa } from './models/Secp256k1Ecdsa';\nexport type { Secp256r1Ecdsa } from './models/Secp256r1Ecdsa';\nexport type { Signature } from './models/Signature';\nexport type { Signature_Ed25519 } from './models/Signature_Ed25519';\nexport type { Signature_Keyless } from './models/Signature_Keyless';\nexport type { Signature_Secp256k1Ecdsa } from './models/Signature_Secp256k1Ecdsa';\nexport type { Signature_WebAuthn } from './models/Signature_WebAuthn';\nexport type { SingleKeySignature } from './models/SingleKeySignature';\nexport type { StateCheckpointTransaction } from './models/StateCheckpointTransaction';\nexport type { StateKeyWrapper } from './models/StateKeyWrapper';\nexport type { SubmitTransactionRequest } from './models/SubmitTransactionRequest';\nexport type { TableItemRequest } from './models/TableItemRequest';\nexport type { Transaction } from './models/Transaction';\nexport type { Transaction_BlockEpilogueTransaction } from './models/Transaction_BlockEpilogueTransaction';\nexport type { Transaction_BlockMetadataTransaction } from './models/Transaction_BlockMetadataTransaction';\nexport type { Transaction_GenesisTransaction } from './models/Transaction_GenesisTransaction';\nexport type { Transaction_PendingTransaction } from './models/Transaction_PendingTransaction';\nexport type { Transaction_StateCheckpointTransaction } from './models/Transaction_StateCheckpointTransaction';\nexport type { Transaction_UserTransaction } from './models/Transaction_UserTransaction';\nexport type { Transaction_ValidatorTransaction } from './models/Transaction_ValidatorTransaction';\nexport type { TransactionPayload } from './models/TransactionPayload';\nexport type { TransactionPayload_DeprecatedModuleBundlePayload } from './models/TransactionPayload_DeprecatedModuleBundlePayload';\nexport type { TransactionPayload_EntryFunctionPayload } from './models/TransactionPayload_EntryFunctionPayload';\nexport type { TransactionPayload_MultisigPayload } from './models/TransactionPayload_MultisigPayload';\nexport type { TransactionPayload_ScriptPayload } from './models/TransactionPayload_ScriptPayload';\nexport type { TransactionsBatchSingleSubmissionFailure } from './models/TransactionsBatchSingleSubmissionFailure';\nexport type { TransactionsBatchSubmissionResult } from './models/TransactionsBatchSubmissionResult';\nexport type { TransactionSignature } from './models/TransactionSignature';\nexport type { TransactionSignature_AccountSignature } from './models/TransactionSignature_AccountSignature';\nexport type { TransactionSignature_Ed25519Signature } from './models/TransactionSignature_Ed25519Signature';\nexport type { TransactionSignature_FeePayerSignature } from './models/TransactionSignature_FeePayerSignature';\nexport type { TransactionSignature_MultiAgentSignature } from './models/TransactionSignature_MultiAgentSignature';\nexport type { TransactionSignature_MultiEd25519Signature } from './models/TransactionSignature_MultiEd25519Signature';\nexport type { U128 } from './models/U128';\nexport type { U256 } from './models/U256';\nexport type { U64 } from './models/U64';\nexport type { UserTransaction } from './models/UserTransaction';\nexport type { ValidatorTransaction } from './models/ValidatorTransaction';\nexport type { VersionedEvent } from './models/VersionedEvent';\nexport type { ViewRequest } from './models/ViewRequest';\nexport type { WebAuthn } from './models/WebAuthn';\nexport type { WriteModule } from './models/WriteModule';\nexport type { WriteResource } from './models/WriteResource';\nexport type { WriteSet } from './models/WriteSet';\nexport type { WriteSet_DirectWriteSet } from './models/WriteSet_DirectWriteSet';\nexport type { WriteSet_ScriptWriteSet } from './models/WriteSet_ScriptWriteSet';\nexport type { WriteSetChange } from './models/WriteSetChange';\nexport type { WriteSetChange_DeleteModule } from './models/WriteSetChange_DeleteModule';\nexport type { WriteSetChange_DeleteResource } from './models/WriteSetChange_DeleteResource';\nexport type { WriteSetChange_DeleteTableItem } from './models/WriteSetChange_DeleteTableItem';\nexport type { WriteSetChange_WriteModule } from './models/WriteSetChange_WriteModule';\nexport type { WriteSetChange_WriteResource } from './models/WriteSetChange_WriteResource';\nexport type { WriteSetChange_WriteTableItem } from './models/WriteSetChange_WriteTableItem';\nexport type { WriteSetPayload } from './models/WriteSetPayload';\nexport type { WriteTableItem } from './models/WriteTableItem';\n","/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\n\n/**\n * These codes provide more granular error information beyond just the HTTP\n * status code of the response.\n */\nexport enum AptosErrorCode {\n    ACCOUNT_NOT_FOUND = 'account_not_found',\n    RESOURCE_NOT_FOUND = 'resource_not_found',\n    MODULE_NOT_FOUND = 'module_not_found',\n    STRUCT_FIELD_NOT_FOUND = 'struct_field_not_found',\n    VERSION_NOT_FOUND = 'version_not_found',\n    TRANSACTION_NOT_FOUND = 'transaction_not_found',\n    TABLE_ITEM_NOT_FOUND = 'table_item_not_found',\n    BLOCK_NOT_FOUND = 'block_not_found',\n    STATE_VALUE_NOT_FOUND = 'state_value_not_found',\n    VERSION_PRUNED = 'version_pruned',\n    BLOCK_PRUNED = 'block_pruned',\n    INVALID_INPUT = 'invalid_input',\n    INVALID_TRANSACTION_UPDATE = 'invalid_transaction_update',\n    SEQUENCE_NUMBER_TOO_OLD = 'sequence_number_too_old',\n    VM_ERROR = 'vm_error',\n    HEALTH_CHECK_FAILED = 'health_check_failed',\n    MEMPOOL_IS_FULL = 'mempool_is_full',\n    INTERNAL_ERROR = 'internal_error',\n    WEB_FRAMEWORK_ERROR = 'web_framework_error',\n    BCS_NOT_SUPPORTED = 'bcs_not_supported',\n    API_DISABLED = 'api_disabled',\n}\n","/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\n\n/**\n * Move function visibility\n */\nexport enum MoveFunctionVisibility {\n    PRIVATE = 'private',\n    PUBLIC = 'public',\n    FRIEND = 'friend',\n}\n","/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\n\nexport enum RoleType {\n    VALIDATOR = 'validator',\n    FULL_NODE = 'full_node',\n}\n","export type Maybe<T> = T | null;\nexport type InputMaybe<T> = Maybe<T>;\nexport type Exact<T extends { [key: string]: unknown }> = { [K in keyof T]: T[K] };\nexport type MakeOptional<T, K extends keyof T> = Omit<T, K> & { [SubKey in K]?: Maybe<T[SubKey]> };\nexport type MakeMaybe<T, K extends keyof T> = Omit<T, K> & { [SubKey in K]: Maybe<T[SubKey]> };\nexport type MakeEmpty<T extends { [key: string]: unknown }, K extends keyof T> = { [_ in K]?: never };\nexport type Incremental<T> = T | { [P in keyof T]?: P extends ' $fragmentName' | '__typename' ? T[P] : never };\n/** All built-in and custom scalars, mapped to their actual values */\nexport type Scalars = {\n  ID: { input: string; output: string; }\n  String: { input: string; output: string; }\n  Boolean: { input: boolean; output: boolean; }\n  Int: { input: number; output: number; }\n  Float: { input: number; output: number; }\n  bigint: { input: any; output: any; }\n  jsonb: { input: any; output: any; }\n  numeric: { input: any; output: any; }\n  timestamp: { input: any; output: any; }\n  timestamptz: { input: any; output: any; }\n};\n\n/** Boolean expression to compare columns of type \"Boolean\". All fields are combined with logical 'AND'. */\nexport type Boolean_Comparison_Exp = {\n  _eq?: InputMaybe<Scalars['Boolean']['input']>;\n  _gt?: InputMaybe<Scalars['Boolean']['input']>;\n  _gte?: InputMaybe<Scalars['Boolean']['input']>;\n  _in?: InputMaybe<Array<Scalars['Boolean']['input']>>;\n  _is_null?: InputMaybe<Scalars['Boolean']['input']>;\n  _lt?: InputMaybe<Scalars['Boolean']['input']>;\n  _lte?: InputMaybe<Scalars['Boolean']['input']>;\n  _neq?: InputMaybe<Scalars['Boolean']['input']>;\n  _nin?: InputMaybe<Array<Scalars['Boolean']['input']>>;\n};\n\n/** Boolean expression to compare columns of type \"Int\". All fields are combined with logical 'AND'. */\nexport type Int_Comparison_Exp = {\n  _eq?: InputMaybe<Scalars['Int']['input']>;\n  _gt?: InputMaybe<Scalars['Int']['input']>;\n  _gte?: InputMaybe<Scalars['Int']['input']>;\n  _in?: InputMaybe<Array<Scalars['Int']['input']>>;\n  _is_null?: InputMaybe<Scalars['Boolean']['input']>;\n  _lt?: InputMaybe<Scalars['Int']['input']>;\n  _lte?: InputMaybe<Scalars['Int']['input']>;\n  _neq?: InputMaybe<Scalars['Int']['input']>;\n  _nin?: InputMaybe<Array<Scalars['Int']['input']>>;\n};\n\n/** Boolean expression to compare columns of type \"String\". All fields are combined with logical 'AND'. */\nexport type String_Comparison_Exp = {\n  _eq?: InputMaybe<Scalars['String']['input']>;\n  _gt?: InputMaybe<Scalars['String']['input']>;\n  _gte?: InputMaybe<Scalars['String']['input']>;\n  /** does the column match the given case-insensitive pattern */\n  _ilike?: InputMaybe<Scalars['String']['input']>;\n  _in?: InputMaybe<Array<Scalars['String']['input']>>;\n  /** does the column match the given POSIX regular expression, case insensitive */\n  _iregex?: InputMaybe<Scalars['String']['input']>;\n  _is_null?: InputMaybe<Scalars['Boolean']['input']>;\n  /** does the column match the given pattern */\n  _like?: InputMaybe<Scalars['String']['input']>;\n  _lt?: InputMaybe<Scalars['String']['input']>;\n  _lte?: InputMaybe<Scalars['String']['input']>;\n  _neq?: InputMaybe<Scalars['String']['input']>;\n  /** does the column NOT match the given case-insensitive pattern */\n  _nilike?: InputMaybe<Scalars['String']['input']>;\n  _nin?: InputMaybe<Array<Scalars['String']['input']>>;\n  /** does the column NOT match the given POSIX regular expression, case insensitive */\n  _niregex?: InputMaybe<Scalars['String']['input']>;\n  /** does the column NOT match the given pattern */\n  _nlike?: InputMaybe<Scalars['String']['input']>;\n  /** does the column NOT match the given POSIX regular expression, case sensitive */\n  _nregex?: InputMaybe<Scalars['String']['input']>;\n  /** does the column NOT match the given SQL regular expression */\n  _nsimilar?: InputMaybe<Scalars['String']['input']>;\n  /** does the column match the given POSIX regular expression, case sensitive */\n  _regex?: InputMaybe<Scalars['String']['input']>;\n  /** does the column match the given SQL regular expression */\n  _similar?: InputMaybe<Scalars['String']['input']>;\n};\n\n/** columns and relationships of \"account_transactions\" */\nexport type Account_Transactions = {\n  __typename?: 'account_transactions';\n  account_address: Scalars['String']['output'];\n  /** An array relationship */\n  coin_activities: Array<Coin_Activities>;\n  /** An aggregate relationship */\n  coin_activities_aggregate: Coin_Activities_Aggregate;\n  /** An array relationship */\n  delegated_staking_activities: Array<Delegated_Staking_Activities>;\n  /** An array relationship */\n  fungible_asset_activities: Array<Fungible_Asset_Activities>;\n  /** An array relationship */\n  token_activities: Array<Token_Activities>;\n  /** An aggregate relationship */\n  token_activities_aggregate: Token_Activities_Aggregate;\n  /** An array relationship */\n  token_activities_v2: Array<Token_Activities_V2>;\n  /** An aggregate relationship */\n  token_activities_v2_aggregate: Token_Activities_V2_Aggregate;\n  transaction_version: Scalars['bigint']['output'];\n};\n\n\n/** columns and relationships of \"account_transactions\" */\nexport type Account_TransactionsCoin_ActivitiesArgs = {\n  distinct_on?: InputMaybe<Array<Coin_Activities_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Coin_Activities_Order_By>>;\n  where?: InputMaybe<Coin_Activities_Bool_Exp>;\n};\n\n\n/** columns and relationships of \"account_transactions\" */\nexport type Account_TransactionsCoin_Activities_AggregateArgs = {\n  distinct_on?: InputMaybe<Array<Coin_Activities_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Coin_Activities_Order_By>>;\n  where?: InputMaybe<Coin_Activities_Bool_Exp>;\n};\n\n\n/** columns and relationships of \"account_transactions\" */\nexport type Account_TransactionsDelegated_Staking_ActivitiesArgs = {\n  distinct_on?: InputMaybe<Array<Delegated_Staking_Activities_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Delegated_Staking_Activities_Order_By>>;\n  where?: InputMaybe<Delegated_Staking_Activities_Bool_Exp>;\n};\n\n\n/** columns and relationships of \"account_transactions\" */\nexport type Account_TransactionsFungible_Asset_ActivitiesArgs = {\n  distinct_on?: InputMaybe<Array<Fungible_Asset_Activities_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Fungible_Asset_Activities_Order_By>>;\n  where?: InputMaybe<Fungible_Asset_Activities_Bool_Exp>;\n};\n\n\n/** columns and relationships of \"account_transactions\" */\nexport type Account_TransactionsToken_ActivitiesArgs = {\n  distinct_on?: InputMaybe<Array<Token_Activities_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Token_Activities_Order_By>>;\n  where?: InputMaybe<Token_Activities_Bool_Exp>;\n};\n\n\n/** columns and relationships of \"account_transactions\" */\nexport type Account_TransactionsToken_Activities_AggregateArgs = {\n  distinct_on?: InputMaybe<Array<Token_Activities_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Token_Activities_Order_By>>;\n  where?: InputMaybe<Token_Activities_Bool_Exp>;\n};\n\n\n/** columns and relationships of \"account_transactions\" */\nexport type Account_TransactionsToken_Activities_V2Args = {\n  distinct_on?: InputMaybe<Array<Token_Activities_V2_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Token_Activities_V2_Order_By>>;\n  where?: InputMaybe<Token_Activities_V2_Bool_Exp>;\n};\n\n\n/** columns and relationships of \"account_transactions\" */\nexport type Account_TransactionsToken_Activities_V2_AggregateArgs = {\n  distinct_on?: InputMaybe<Array<Token_Activities_V2_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Token_Activities_V2_Order_By>>;\n  where?: InputMaybe<Token_Activities_V2_Bool_Exp>;\n};\n\n/** aggregated selection of \"account_transactions\" */\nexport type Account_Transactions_Aggregate = {\n  __typename?: 'account_transactions_aggregate';\n  aggregate?: Maybe<Account_Transactions_Aggregate_Fields>;\n  nodes: Array<Account_Transactions>;\n};\n\n/** aggregate fields of \"account_transactions\" */\nexport type Account_Transactions_Aggregate_Fields = {\n  __typename?: 'account_transactions_aggregate_fields';\n  avg?: Maybe<Account_Transactions_Avg_Fields>;\n  count: Scalars['Int']['output'];\n  max?: Maybe<Account_Transactions_Max_Fields>;\n  min?: Maybe<Account_Transactions_Min_Fields>;\n  stddev?: Maybe<Account_Transactions_Stddev_Fields>;\n  stddev_pop?: Maybe<Account_Transactions_Stddev_Pop_Fields>;\n  stddev_samp?: Maybe<Account_Transactions_Stddev_Samp_Fields>;\n  sum?: Maybe<Account_Transactions_Sum_Fields>;\n  var_pop?: Maybe<Account_Transactions_Var_Pop_Fields>;\n  var_samp?: Maybe<Account_Transactions_Var_Samp_Fields>;\n  variance?: Maybe<Account_Transactions_Variance_Fields>;\n};\n\n\n/** aggregate fields of \"account_transactions\" */\nexport type Account_Transactions_Aggregate_FieldsCountArgs = {\n  columns?: InputMaybe<Array<Account_Transactions_Select_Column>>;\n  distinct?: InputMaybe<Scalars['Boolean']['input']>;\n};\n\n/** aggregate avg on columns */\nexport type Account_Transactions_Avg_Fields = {\n  __typename?: 'account_transactions_avg_fields';\n  transaction_version?: Maybe<Scalars['Float']['output']>;\n};\n\n/** Boolean expression to filter rows from the table \"account_transactions\". All fields are combined with a logical 'AND'. */\nexport type Account_Transactions_Bool_Exp = {\n  _and?: InputMaybe<Array<Account_Transactions_Bool_Exp>>;\n  _not?: InputMaybe<Account_Transactions_Bool_Exp>;\n  _or?: InputMaybe<Array<Account_Transactions_Bool_Exp>>;\n  account_address?: InputMaybe<String_Comparison_Exp>;\n  coin_activities?: InputMaybe<Coin_Activities_Bool_Exp>;\n  coin_activities_aggregate?: InputMaybe<Coin_Activities_Aggregate_Bool_Exp>;\n  delegated_staking_activities?: InputMaybe<Delegated_Staking_Activities_Bool_Exp>;\n  fungible_asset_activities?: InputMaybe<Fungible_Asset_Activities_Bool_Exp>;\n  token_activities?: InputMaybe<Token_Activities_Bool_Exp>;\n  token_activities_aggregate?: InputMaybe<Token_Activities_Aggregate_Bool_Exp>;\n  token_activities_v2?: InputMaybe<Token_Activities_V2_Bool_Exp>;\n  token_activities_v2_aggregate?: InputMaybe<Token_Activities_V2_Aggregate_Bool_Exp>;\n  transaction_version?: InputMaybe<Bigint_Comparison_Exp>;\n};\n\n/** aggregate max on columns */\nexport type Account_Transactions_Max_Fields = {\n  __typename?: 'account_transactions_max_fields';\n  account_address?: Maybe<Scalars['String']['output']>;\n  transaction_version?: Maybe<Scalars['bigint']['output']>;\n};\n\n/** aggregate min on columns */\nexport type Account_Transactions_Min_Fields = {\n  __typename?: 'account_transactions_min_fields';\n  account_address?: Maybe<Scalars['String']['output']>;\n  transaction_version?: Maybe<Scalars['bigint']['output']>;\n};\n\n/** Ordering options when selecting data from \"account_transactions\". */\nexport type Account_Transactions_Order_By = {\n  account_address?: InputMaybe<Order_By>;\n  coin_activities_aggregate?: InputMaybe<Coin_Activities_Aggregate_Order_By>;\n  delegated_staking_activities_aggregate?: InputMaybe<Delegated_Staking_Activities_Aggregate_Order_By>;\n  fungible_asset_activities_aggregate?: InputMaybe<Fungible_Asset_Activities_Aggregate_Order_By>;\n  token_activities_aggregate?: InputMaybe<Token_Activities_Aggregate_Order_By>;\n  token_activities_v2_aggregate?: InputMaybe<Token_Activities_V2_Aggregate_Order_By>;\n  transaction_version?: InputMaybe<Order_By>;\n};\n\n/** select columns of table \"account_transactions\" */\nexport enum Account_Transactions_Select_Column {\n  /** column name */\n  AccountAddress = 'account_address',\n  /** column name */\n  TransactionVersion = 'transaction_version'\n}\n\n/** aggregate stddev on columns */\nexport type Account_Transactions_Stddev_Fields = {\n  __typename?: 'account_transactions_stddev_fields';\n  transaction_version?: Maybe<Scalars['Float']['output']>;\n};\n\n/** aggregate stddev_pop on columns */\nexport type Account_Transactions_Stddev_Pop_Fields = {\n  __typename?: 'account_transactions_stddev_pop_fields';\n  transaction_version?: Maybe<Scalars['Float']['output']>;\n};\n\n/** aggregate stddev_samp on columns */\nexport type Account_Transactions_Stddev_Samp_Fields = {\n  __typename?: 'account_transactions_stddev_samp_fields';\n  transaction_version?: Maybe<Scalars['Float']['output']>;\n};\n\n/** Streaming cursor of the table \"account_transactions\" */\nexport type Account_Transactions_Stream_Cursor_Input = {\n  /** Stream column input with initial value */\n  initial_value: Account_Transactions_Stream_Cursor_Value_Input;\n  /** cursor ordering */\n  ordering?: InputMaybe<Cursor_Ordering>;\n};\n\n/** Initial value of the column from where the streaming should start */\nexport type Account_Transactions_Stream_Cursor_Value_Input = {\n  account_address?: InputMaybe<Scalars['String']['input']>;\n  transaction_version?: InputMaybe<Scalars['bigint']['input']>;\n};\n\n/** aggregate sum on columns */\nexport type Account_Transactions_Sum_Fields = {\n  __typename?: 'account_transactions_sum_fields';\n  transaction_version?: Maybe<Scalars['bigint']['output']>;\n};\n\n/** aggregate var_pop on columns */\nexport type Account_Transactions_Var_Pop_Fields = {\n  __typename?: 'account_transactions_var_pop_fields';\n  transaction_version?: Maybe<Scalars['Float']['output']>;\n};\n\n/** aggregate var_samp on columns */\nexport type Account_Transactions_Var_Samp_Fields = {\n  __typename?: 'account_transactions_var_samp_fields';\n  transaction_version?: Maybe<Scalars['Float']['output']>;\n};\n\n/** aggregate variance on columns */\nexport type Account_Transactions_Variance_Fields = {\n  __typename?: 'account_transactions_variance_fields';\n  transaction_version?: Maybe<Scalars['Float']['output']>;\n};\n\n/** columns and relationships of \"address_events_summary\" */\nexport type Address_Events_Summary = {\n  __typename?: 'address_events_summary';\n  account_address?: Maybe<Scalars['String']['output']>;\n  /** An object relationship */\n  block_metadata?: Maybe<Block_Metadata_Transactions>;\n  min_block_height?: Maybe<Scalars['bigint']['output']>;\n  num_distinct_versions?: Maybe<Scalars['bigint']['output']>;\n};\n\n/** Boolean expression to filter rows from the table \"address_events_summary\". All fields are combined with a logical 'AND'. */\nexport type Address_Events_Summary_Bool_Exp = {\n  _and?: InputMaybe<Array<Address_Events_Summary_Bool_Exp>>;\n  _not?: InputMaybe<Address_Events_Summary_Bool_Exp>;\n  _or?: InputMaybe<Array<Address_Events_Summary_Bool_Exp>>;\n  account_address?: InputMaybe<String_Comparison_Exp>;\n  block_metadata?: InputMaybe<Block_Metadata_Transactions_Bool_Exp>;\n  min_block_height?: InputMaybe<Bigint_Comparison_Exp>;\n  num_distinct_versions?: InputMaybe<Bigint_Comparison_Exp>;\n};\n\n/** Ordering options when selecting data from \"address_events_summary\". */\nexport type Address_Events_Summary_Order_By = {\n  account_address?: InputMaybe<Order_By>;\n  block_metadata?: InputMaybe<Block_Metadata_Transactions_Order_By>;\n  min_block_height?: InputMaybe<Order_By>;\n  num_distinct_versions?: InputMaybe<Order_By>;\n};\n\n/** select columns of table \"address_events_summary\" */\nexport enum Address_Events_Summary_Select_Column {\n  /** column name */\n  AccountAddress = 'account_address',\n  /** column name */\n  MinBlockHeight = 'min_block_height',\n  /** column name */\n  NumDistinctVersions = 'num_distinct_versions'\n}\n\n/** Streaming cursor of the table \"address_events_summary\" */\nexport type Address_Events_Summary_Stream_Cursor_Input = {\n  /** Stream column input with initial value */\n  initial_value: Address_Events_Summary_Stream_Cursor_Value_Input;\n  /** cursor ordering */\n  ordering?: InputMaybe<Cursor_Ordering>;\n};\n\n/** Initial value of the column from where the streaming should start */\nexport type Address_Events_Summary_Stream_Cursor_Value_Input = {\n  account_address?: InputMaybe<Scalars['String']['input']>;\n  min_block_height?: InputMaybe<Scalars['bigint']['input']>;\n  num_distinct_versions?: InputMaybe<Scalars['bigint']['input']>;\n};\n\n/** columns and relationships of \"address_version_from_events\" */\nexport type Address_Version_From_Events = {\n  __typename?: 'address_version_from_events';\n  account_address?: Maybe<Scalars['String']['output']>;\n  /** An array relationship */\n  coin_activities: Array<Coin_Activities>;\n  /** An aggregate relationship */\n  coin_activities_aggregate: Coin_Activities_Aggregate;\n  /** An array relationship */\n  delegated_staking_activities: Array<Delegated_Staking_Activities>;\n  /** An array relationship */\n  token_activities: Array<Token_Activities>;\n  /** An aggregate relationship */\n  token_activities_aggregate: Token_Activities_Aggregate;\n  /** An array relationship */\n  token_activities_v2: Array<Token_Activities_V2>;\n  /** An aggregate relationship */\n  token_activities_v2_aggregate: Token_Activities_V2_Aggregate;\n  transaction_version?: Maybe<Scalars['bigint']['output']>;\n};\n\n\n/** columns and relationships of \"address_version_from_events\" */\nexport type Address_Version_From_EventsCoin_ActivitiesArgs = {\n  distinct_on?: InputMaybe<Array<Coin_Activities_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Coin_Activities_Order_By>>;\n  where?: InputMaybe<Coin_Activities_Bool_Exp>;\n};\n\n\n/** columns and relationships of \"address_version_from_events\" */\nexport type Address_Version_From_EventsCoin_Activities_AggregateArgs = {\n  distinct_on?: InputMaybe<Array<Coin_Activities_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Coin_Activities_Order_By>>;\n  where?: InputMaybe<Coin_Activities_Bool_Exp>;\n};\n\n\n/** columns and relationships of \"address_version_from_events\" */\nexport type Address_Version_From_EventsDelegated_Staking_ActivitiesArgs = {\n  distinct_on?: InputMaybe<Array<Delegated_Staking_Activities_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Delegated_Staking_Activities_Order_By>>;\n  where?: InputMaybe<Delegated_Staking_Activities_Bool_Exp>;\n};\n\n\n/** columns and relationships of \"address_version_from_events\" */\nexport type Address_Version_From_EventsToken_ActivitiesArgs = {\n  distinct_on?: InputMaybe<Array<Token_Activities_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Token_Activities_Order_By>>;\n  where?: InputMaybe<Token_Activities_Bool_Exp>;\n};\n\n\n/** columns and relationships of \"address_version_from_events\" */\nexport type Address_Version_From_EventsToken_Activities_AggregateArgs = {\n  distinct_on?: InputMaybe<Array<Token_Activities_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Token_Activities_Order_By>>;\n  where?: InputMaybe<Token_Activities_Bool_Exp>;\n};\n\n\n/** columns and relationships of \"address_version_from_events\" */\nexport type Address_Version_From_EventsToken_Activities_V2Args = {\n  distinct_on?: InputMaybe<Array<Token_Activities_V2_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Token_Activities_V2_Order_By>>;\n  where?: InputMaybe<Token_Activities_V2_Bool_Exp>;\n};\n\n\n/** columns and relationships of \"address_version_from_events\" */\nexport type Address_Version_From_EventsToken_Activities_V2_AggregateArgs = {\n  distinct_on?: InputMaybe<Array<Token_Activities_V2_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Token_Activities_V2_Order_By>>;\n  where?: InputMaybe<Token_Activities_V2_Bool_Exp>;\n};\n\n/** aggregated selection of \"address_version_from_events\" */\nexport type Address_Version_From_Events_Aggregate = {\n  __typename?: 'address_version_from_events_aggregate';\n  aggregate?: Maybe<Address_Version_From_Events_Aggregate_Fields>;\n  nodes: Array<Address_Version_From_Events>;\n};\n\n/** aggregate fields of \"address_version_from_events\" */\nexport type Address_Version_From_Events_Aggregate_Fields = {\n  __typename?: 'address_version_from_events_aggregate_fields';\n  avg?: Maybe<Address_Version_From_Events_Avg_Fields>;\n  count: Scalars['Int']['output'];\n  max?: Maybe<Address_Version_From_Events_Max_Fields>;\n  min?: Maybe<Address_Version_From_Events_Min_Fields>;\n  stddev?: Maybe<Address_Version_From_Events_Stddev_Fields>;\n  stddev_pop?: Maybe<Address_Version_From_Events_Stddev_Pop_Fields>;\n  stddev_samp?: Maybe<Address_Version_From_Events_Stddev_Samp_Fields>;\n  sum?: Maybe<Address_Version_From_Events_Sum_Fields>;\n  var_pop?: Maybe<Address_Version_From_Events_Var_Pop_Fields>;\n  var_samp?: Maybe<Address_Version_From_Events_Var_Samp_Fields>;\n  variance?: Maybe<Address_Version_From_Events_Variance_Fields>;\n};\n\n\n/** aggregate fields of \"address_version_from_events\" */\nexport type Address_Version_From_Events_Aggregate_FieldsCountArgs = {\n  columns?: InputMaybe<Array<Address_Version_From_Events_Select_Column>>;\n  distinct?: InputMaybe<Scalars['Boolean']['input']>;\n};\n\n/** aggregate avg on columns */\nexport type Address_Version_From_Events_Avg_Fields = {\n  __typename?: 'address_version_from_events_avg_fields';\n  transaction_version?: Maybe<Scalars['Float']['output']>;\n};\n\n/** Boolean expression to filter rows from the table \"address_version_from_events\". All fields are combined with a logical 'AND'. */\nexport type Address_Version_From_Events_Bool_Exp = {\n  _and?: InputMaybe<Array<Address_Version_From_Events_Bool_Exp>>;\n  _not?: InputMaybe<Address_Version_From_Events_Bool_Exp>;\n  _or?: InputMaybe<Array<Address_Version_From_Events_Bool_Exp>>;\n  account_address?: InputMaybe<String_Comparison_Exp>;\n  coin_activities?: InputMaybe<Coin_Activities_Bool_Exp>;\n  coin_activities_aggregate?: InputMaybe<Coin_Activities_Aggregate_Bool_Exp>;\n  delegated_staking_activities?: InputMaybe<Delegated_Staking_Activities_Bool_Exp>;\n  token_activities?: InputMaybe<Token_Activities_Bool_Exp>;\n  token_activities_aggregate?: InputMaybe<Token_Activities_Aggregate_Bool_Exp>;\n  token_activities_v2?: InputMaybe<Token_Activities_V2_Bool_Exp>;\n  token_activities_v2_aggregate?: InputMaybe<Token_Activities_V2_Aggregate_Bool_Exp>;\n  transaction_version?: InputMaybe<Bigint_Comparison_Exp>;\n};\n\n/** aggregate max on columns */\nexport type Address_Version_From_Events_Max_Fields = {\n  __typename?: 'address_version_from_events_max_fields';\n  account_address?: Maybe<Scalars['String']['output']>;\n  transaction_version?: Maybe<Scalars['bigint']['output']>;\n};\n\n/** aggregate min on columns */\nexport type Address_Version_From_Events_Min_Fields = {\n  __typename?: 'address_version_from_events_min_fields';\n  account_address?: Maybe<Scalars['String']['output']>;\n  transaction_version?: Maybe<Scalars['bigint']['output']>;\n};\n\n/** Ordering options when selecting data from \"address_version_from_events\". */\nexport type Address_Version_From_Events_Order_By = {\n  account_address?: InputMaybe<Order_By>;\n  coin_activities_aggregate?: InputMaybe<Coin_Activities_Aggregate_Order_By>;\n  delegated_staking_activities_aggregate?: InputMaybe<Delegated_Staking_Activities_Aggregate_Order_By>;\n  token_activities_aggregate?: InputMaybe<Token_Activities_Aggregate_Order_By>;\n  token_activities_v2_aggregate?: InputMaybe<Token_Activities_V2_Aggregate_Order_By>;\n  transaction_version?: InputMaybe<Order_By>;\n};\n\n/** select columns of table \"address_version_from_events\" */\nexport enum Address_Version_From_Events_Select_Column {\n  /** column name */\n  AccountAddress = 'account_address',\n  /** column name */\n  TransactionVersion = 'transaction_version'\n}\n\n/** aggregate stddev on columns */\nexport type Address_Version_From_Events_Stddev_Fields = {\n  __typename?: 'address_version_from_events_stddev_fields';\n  transaction_version?: Maybe<Scalars['Float']['output']>;\n};\n\n/** aggregate stddev_pop on columns */\nexport type Address_Version_From_Events_Stddev_Pop_Fields = {\n  __typename?: 'address_version_from_events_stddev_pop_fields';\n  transaction_version?: Maybe<Scalars['Float']['output']>;\n};\n\n/** aggregate stddev_samp on columns */\nexport type Address_Version_From_Events_Stddev_Samp_Fields = {\n  __typename?: 'address_version_from_events_stddev_samp_fields';\n  transaction_version?: Maybe<Scalars['Float']['output']>;\n};\n\n/** Streaming cursor of the table \"address_version_from_events\" */\nexport type Address_Version_From_Events_Stream_Cursor_Input = {\n  /** Stream column input with initial value */\n  initial_value: Address_Version_From_Events_Stream_Cursor_Value_Input;\n  /** cursor ordering */\n  ordering?: InputMaybe<Cursor_Ordering>;\n};\n\n/** Initial value of the column from where the streaming should start */\nexport type Address_Version_From_Events_Stream_Cursor_Value_Input = {\n  account_address?: InputMaybe<Scalars['String']['input']>;\n  transaction_version?: InputMaybe<Scalars['bigint']['input']>;\n};\n\n/** aggregate sum on columns */\nexport type Address_Version_From_Events_Sum_Fields = {\n  __typename?: 'address_version_from_events_sum_fields';\n  transaction_version?: Maybe<Scalars['bigint']['output']>;\n};\n\n/** aggregate var_pop on columns */\nexport type Address_Version_From_Events_Var_Pop_Fields = {\n  __typename?: 'address_version_from_events_var_pop_fields';\n  transaction_version?: Maybe<Scalars['Float']['output']>;\n};\n\n/** aggregate var_samp on columns */\nexport type Address_Version_From_Events_Var_Samp_Fields = {\n  __typename?: 'address_version_from_events_var_samp_fields';\n  transaction_version?: Maybe<Scalars['Float']['output']>;\n};\n\n/** aggregate variance on columns */\nexport type Address_Version_From_Events_Variance_Fields = {\n  __typename?: 'address_version_from_events_variance_fields';\n  transaction_version?: Maybe<Scalars['Float']['output']>;\n};\n\n/** columns and relationships of \"address_version_from_move_resources\" */\nexport type Address_Version_From_Move_Resources = {\n  __typename?: 'address_version_from_move_resources';\n  address?: Maybe<Scalars['String']['output']>;\n  /** An array relationship */\n  coin_activities: Array<Coin_Activities>;\n  /** An aggregate relationship */\n  coin_activities_aggregate: Coin_Activities_Aggregate;\n  /** An array relationship */\n  delegated_staking_activities: Array<Delegated_Staking_Activities>;\n  /** An array relationship */\n  token_activities: Array<Token_Activities>;\n  /** An aggregate relationship */\n  token_activities_aggregate: Token_Activities_Aggregate;\n  /** An array relationship */\n  token_activities_v2: Array<Token_Activities_V2>;\n  /** An aggregate relationship */\n  token_activities_v2_aggregate: Token_Activities_V2_Aggregate;\n  transaction_version?: Maybe<Scalars['bigint']['output']>;\n};\n\n\n/** columns and relationships of \"address_version_from_move_resources\" */\nexport type Address_Version_From_Move_ResourcesCoin_ActivitiesArgs = {\n  distinct_on?: InputMaybe<Array<Coin_Activities_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Coin_Activities_Order_By>>;\n  where?: InputMaybe<Coin_Activities_Bool_Exp>;\n};\n\n\n/** columns and relationships of \"address_version_from_move_resources\" */\nexport type Address_Version_From_Move_ResourcesCoin_Activities_AggregateArgs = {\n  distinct_on?: InputMaybe<Array<Coin_Activities_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Coin_Activities_Order_By>>;\n  where?: InputMaybe<Coin_Activities_Bool_Exp>;\n};\n\n\n/** columns and relationships of \"address_version_from_move_resources\" */\nexport type Address_Version_From_Move_ResourcesDelegated_Staking_ActivitiesArgs = {\n  distinct_on?: InputMaybe<Array<Delegated_Staking_Activities_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Delegated_Staking_Activities_Order_By>>;\n  where?: InputMaybe<Delegated_Staking_Activities_Bool_Exp>;\n};\n\n\n/** columns and relationships of \"address_version_from_move_resources\" */\nexport type Address_Version_From_Move_ResourcesToken_ActivitiesArgs = {\n  distinct_on?: InputMaybe<Array<Token_Activities_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Token_Activities_Order_By>>;\n  where?: InputMaybe<Token_Activities_Bool_Exp>;\n};\n\n\n/** columns and relationships of \"address_version_from_move_resources\" */\nexport type Address_Version_From_Move_ResourcesToken_Activities_AggregateArgs = {\n  distinct_on?: InputMaybe<Array<Token_Activities_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Token_Activities_Order_By>>;\n  where?: InputMaybe<Token_Activities_Bool_Exp>;\n};\n\n\n/** columns and relationships of \"address_version_from_move_resources\" */\nexport type Address_Version_From_Move_ResourcesToken_Activities_V2Args = {\n  distinct_on?: InputMaybe<Array<Token_Activities_V2_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Token_Activities_V2_Order_By>>;\n  where?: InputMaybe<Token_Activities_V2_Bool_Exp>;\n};\n\n\n/** columns and relationships of \"address_version_from_move_resources\" */\nexport type Address_Version_From_Move_ResourcesToken_Activities_V2_AggregateArgs = {\n  distinct_on?: InputMaybe<Array<Token_Activities_V2_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Token_Activities_V2_Order_By>>;\n  where?: InputMaybe<Token_Activities_V2_Bool_Exp>;\n};\n\n/** aggregated selection of \"address_version_from_move_resources\" */\nexport type Address_Version_From_Move_Resources_Aggregate = {\n  __typename?: 'address_version_from_move_resources_aggregate';\n  aggregate?: Maybe<Address_Version_From_Move_Resources_Aggregate_Fields>;\n  nodes: Array<Address_Version_From_Move_Resources>;\n};\n\n/** aggregate fields of \"address_version_from_move_resources\" */\nexport type Address_Version_From_Move_Resources_Aggregate_Fields = {\n  __typename?: 'address_version_from_move_resources_aggregate_fields';\n  avg?: Maybe<Address_Version_From_Move_Resources_Avg_Fields>;\n  count: Scalars['Int']['output'];\n  max?: Maybe<Address_Version_From_Move_Resources_Max_Fields>;\n  min?: Maybe<Address_Version_From_Move_Resources_Min_Fields>;\n  stddev?: Maybe<Address_Version_From_Move_Resources_Stddev_Fields>;\n  stddev_pop?: Maybe<Address_Version_From_Move_Resources_Stddev_Pop_Fields>;\n  stddev_samp?: Maybe<Address_Version_From_Move_Resources_Stddev_Samp_Fields>;\n  sum?: Maybe<Address_Version_From_Move_Resources_Sum_Fields>;\n  var_pop?: Maybe<Address_Version_From_Move_Resources_Var_Pop_Fields>;\n  var_samp?: Maybe<Address_Version_From_Move_Resources_Var_Samp_Fields>;\n  variance?: Maybe<Address_Version_From_Move_Resources_Variance_Fields>;\n};\n\n\n/** aggregate fields of \"address_version_from_move_resources\" */\nexport type Address_Version_From_Move_Resources_Aggregate_FieldsCountArgs = {\n  columns?: InputMaybe<Array<Address_Version_From_Move_Resources_Select_Column>>;\n  distinct?: InputMaybe<Scalars['Boolean']['input']>;\n};\n\n/** aggregate avg on columns */\nexport type Address_Version_From_Move_Resources_Avg_Fields = {\n  __typename?: 'address_version_from_move_resources_avg_fields';\n  transaction_version?: Maybe<Scalars['Float']['output']>;\n};\n\n/** Boolean expression to filter rows from the table \"address_version_from_move_resources\". All fields are combined with a logical 'AND'. */\nexport type Address_Version_From_Move_Resources_Bool_Exp = {\n  _and?: InputMaybe<Array<Address_Version_From_Move_Resources_Bool_Exp>>;\n  _not?: InputMaybe<Address_Version_From_Move_Resources_Bool_Exp>;\n  _or?: InputMaybe<Array<Address_Version_From_Move_Resources_Bool_Exp>>;\n  address?: InputMaybe<String_Comparison_Exp>;\n  coin_activities?: InputMaybe<Coin_Activities_Bool_Exp>;\n  coin_activities_aggregate?: InputMaybe<Coin_Activities_Aggregate_Bool_Exp>;\n  delegated_staking_activities?: InputMaybe<Delegated_Staking_Activities_Bool_Exp>;\n  token_activities?: InputMaybe<Token_Activities_Bool_Exp>;\n  token_activities_aggregate?: InputMaybe<Token_Activities_Aggregate_Bool_Exp>;\n  token_activities_v2?: InputMaybe<Token_Activities_V2_Bool_Exp>;\n  token_activities_v2_aggregate?: InputMaybe<Token_Activities_V2_Aggregate_Bool_Exp>;\n  transaction_version?: InputMaybe<Bigint_Comparison_Exp>;\n};\n\n/** aggregate max on columns */\nexport type Address_Version_From_Move_Resources_Max_Fields = {\n  __typename?: 'address_version_from_move_resources_max_fields';\n  address?: Maybe<Scalars['String']['output']>;\n  transaction_version?: Maybe<Scalars['bigint']['output']>;\n};\n\n/** aggregate min on columns */\nexport type Address_Version_From_Move_Resources_Min_Fields = {\n  __typename?: 'address_version_from_move_resources_min_fields';\n  address?: Maybe<Scalars['String']['output']>;\n  transaction_version?: Maybe<Scalars['bigint']['output']>;\n};\n\n/** Ordering options when selecting data from \"address_version_from_move_resources\". */\nexport type Address_Version_From_Move_Resources_Order_By = {\n  address?: InputMaybe<Order_By>;\n  coin_activities_aggregate?: InputMaybe<Coin_Activities_Aggregate_Order_By>;\n  delegated_staking_activities_aggregate?: InputMaybe<Delegated_Staking_Activities_Aggregate_Order_By>;\n  token_activities_aggregate?: InputMaybe<Token_Activities_Aggregate_Order_By>;\n  token_activities_v2_aggregate?: InputMaybe<Token_Activities_V2_Aggregate_Order_By>;\n  transaction_version?: InputMaybe<Order_By>;\n};\n\n/** select columns of table \"address_version_from_move_resources\" */\nexport enum Address_Version_From_Move_Resources_Select_Column {\n  /** column name */\n  Address = 'address',\n  /** column name */\n  TransactionVersion = 'transaction_version'\n}\n\n/** aggregate stddev on columns */\nexport type Address_Version_From_Move_Resources_Stddev_Fields = {\n  __typename?: 'address_version_from_move_resources_stddev_fields';\n  transaction_version?: Maybe<Scalars['Float']['output']>;\n};\n\n/** aggregate stddev_pop on columns */\nexport type Address_Version_From_Move_Resources_Stddev_Pop_Fields = {\n  __typename?: 'address_version_from_move_resources_stddev_pop_fields';\n  transaction_version?: Maybe<Scalars['Float']['output']>;\n};\n\n/** aggregate stddev_samp on columns */\nexport type Address_Version_From_Move_Resources_Stddev_Samp_Fields = {\n  __typename?: 'address_version_from_move_resources_stddev_samp_fields';\n  transaction_version?: Maybe<Scalars['Float']['output']>;\n};\n\n/** Streaming cursor of the table \"address_version_from_move_resources\" */\nexport type Address_Version_From_Move_Resources_Stream_Cursor_Input = {\n  /** Stream column input with initial value */\n  initial_value: Address_Version_From_Move_Resources_Stream_Cursor_Value_Input;\n  /** cursor ordering */\n  ordering?: InputMaybe<Cursor_Ordering>;\n};\n\n/** Initial value of the column from where the streaming should start */\nexport type Address_Version_From_Move_Resources_Stream_Cursor_Value_Input = {\n  address?: InputMaybe<Scalars['String']['input']>;\n  transaction_version?: InputMaybe<Scalars['bigint']['input']>;\n};\n\n/** aggregate sum on columns */\nexport type Address_Version_From_Move_Resources_Sum_Fields = {\n  __typename?: 'address_version_from_move_resources_sum_fields';\n  transaction_version?: Maybe<Scalars['bigint']['output']>;\n};\n\n/** aggregate var_pop on columns */\nexport type Address_Version_From_Move_Resources_Var_Pop_Fields = {\n  __typename?: 'address_version_from_move_resources_var_pop_fields';\n  transaction_version?: Maybe<Scalars['Float']['output']>;\n};\n\n/** aggregate var_samp on columns */\nexport type Address_Version_From_Move_Resources_Var_Samp_Fields = {\n  __typename?: 'address_version_from_move_resources_var_samp_fields';\n  transaction_version?: Maybe<Scalars['Float']['output']>;\n};\n\n/** aggregate variance on columns */\nexport type Address_Version_From_Move_Resources_Variance_Fields = {\n  __typename?: 'address_version_from_move_resources_variance_fields';\n  transaction_version?: Maybe<Scalars['Float']['output']>;\n};\n\n/** Boolean expression to compare columns of type \"bigint\". All fields are combined with logical 'AND'. */\nexport type Bigint_Comparison_Exp = {\n  _eq?: InputMaybe<Scalars['bigint']['input']>;\n  _gt?: InputMaybe<Scalars['bigint']['input']>;\n  _gte?: InputMaybe<Scalars['bigint']['input']>;\n  _in?: InputMaybe<Array<Scalars['bigint']['input']>>;\n  _is_null?: InputMaybe<Scalars['Boolean']['input']>;\n  _lt?: InputMaybe<Scalars['bigint']['input']>;\n  _lte?: InputMaybe<Scalars['bigint']['input']>;\n  _neq?: InputMaybe<Scalars['bigint']['input']>;\n  _nin?: InputMaybe<Array<Scalars['bigint']['input']>>;\n};\n\n/** columns and relationships of \"block_metadata_transactions\" */\nexport type Block_Metadata_Transactions = {\n  __typename?: 'block_metadata_transactions';\n  block_height: Scalars['bigint']['output'];\n  epoch: Scalars['bigint']['output'];\n  failed_proposer_indices: Scalars['jsonb']['output'];\n  id: Scalars['String']['output'];\n  previous_block_votes_bitvec: Scalars['jsonb']['output'];\n  proposer: Scalars['String']['output'];\n  round: Scalars['bigint']['output'];\n  timestamp: Scalars['timestamp']['output'];\n  version: Scalars['bigint']['output'];\n};\n\n\n/** columns and relationships of \"block_metadata_transactions\" */\nexport type Block_Metadata_TransactionsFailed_Proposer_IndicesArgs = {\n  path?: InputMaybe<Scalars['String']['input']>;\n};\n\n\n/** columns and relationships of \"block_metadata_transactions\" */\nexport type Block_Metadata_TransactionsPrevious_Block_Votes_BitvecArgs = {\n  path?: InputMaybe<Scalars['String']['input']>;\n};\n\n/** Boolean expression to filter rows from the table \"block_metadata_transactions\". All fields are combined with a logical 'AND'. */\nexport type Block_Metadata_Transactions_Bool_Exp = {\n  _and?: InputMaybe<Array<Block_Metadata_Transactions_Bool_Exp>>;\n  _not?: InputMaybe<Block_Metadata_Transactions_Bool_Exp>;\n  _or?: InputMaybe<Array<Block_Metadata_Transactions_Bool_Exp>>;\n  block_height?: InputMaybe<Bigint_Comparison_Exp>;\n  epoch?: InputMaybe<Bigint_Comparison_Exp>;\n  failed_proposer_indices?: InputMaybe<Jsonb_Comparison_Exp>;\n  id?: InputMaybe<String_Comparison_Exp>;\n  previous_block_votes_bitvec?: InputMaybe<Jsonb_Comparison_Exp>;\n  proposer?: InputMaybe<String_Comparison_Exp>;\n  round?: InputMaybe<Bigint_Comparison_Exp>;\n  timestamp?: InputMaybe<Timestamp_Comparison_Exp>;\n  version?: InputMaybe<Bigint_Comparison_Exp>;\n};\n\n/** Ordering options when selecting data from \"block_metadata_transactions\". */\nexport type Block_Metadata_Transactions_Order_By = {\n  block_height?: InputMaybe<Order_By>;\n  epoch?: InputMaybe<Order_By>;\n  failed_proposer_indices?: InputMaybe<Order_By>;\n  id?: InputMaybe<Order_By>;\n  previous_block_votes_bitvec?: InputMaybe<Order_By>;\n  proposer?: InputMaybe<Order_By>;\n  round?: InputMaybe<Order_By>;\n  timestamp?: InputMaybe<Order_By>;\n  version?: InputMaybe<Order_By>;\n};\n\n/** select columns of table \"block_metadata_transactions\" */\nexport enum Block_Metadata_Transactions_Select_Column {\n  /** column name */\n  BlockHeight = 'block_height',\n  /** column name */\n  Epoch = 'epoch',\n  /** column name */\n  FailedProposerIndices = 'failed_proposer_indices',\n  /** column name */\n  Id = 'id',\n  /** column name */\n  PreviousBlockVotesBitvec = 'previous_block_votes_bitvec',\n  /** column name */\n  Proposer = 'proposer',\n  /** column name */\n  Round = 'round',\n  /** column name */\n  Timestamp = 'timestamp',\n  /** column name */\n  Version = 'version'\n}\n\n/** Streaming cursor of the table \"block_metadata_transactions\" */\nexport type Block_Metadata_Transactions_Stream_Cursor_Input = {\n  /** Stream column input with initial value */\n  initial_value: Block_Metadata_Transactions_Stream_Cursor_Value_Input;\n  /** cursor ordering */\n  ordering?: InputMaybe<Cursor_Ordering>;\n};\n\n/** Initial value of the column from where the streaming should start */\nexport type Block_Metadata_Transactions_Stream_Cursor_Value_Input = {\n  block_height?: InputMaybe<Scalars['bigint']['input']>;\n  epoch?: InputMaybe<Scalars['bigint']['input']>;\n  failed_proposer_indices?: InputMaybe<Scalars['jsonb']['input']>;\n  id?: InputMaybe<Scalars['String']['input']>;\n  previous_block_votes_bitvec?: InputMaybe<Scalars['jsonb']['input']>;\n  proposer?: InputMaybe<Scalars['String']['input']>;\n  round?: InputMaybe<Scalars['bigint']['input']>;\n  timestamp?: InputMaybe<Scalars['timestamp']['input']>;\n  version?: InputMaybe<Scalars['bigint']['input']>;\n};\n\n/** columns and relationships of \"coin_activities\" */\nexport type Coin_Activities = {\n  __typename?: 'coin_activities';\n  activity_type: Scalars['String']['output'];\n  amount: Scalars['numeric']['output'];\n  /** An array relationship */\n  aptos_names: Array<Current_Aptos_Names>;\n  /** An aggregate relationship */\n  aptos_names_aggregate: Current_Aptos_Names_Aggregate;\n  block_height: Scalars['bigint']['output'];\n  /** An object relationship */\n  coin_info?: Maybe<Coin_Infos>;\n  coin_type: Scalars['String']['output'];\n  entry_function_id_str?: Maybe<Scalars['String']['output']>;\n  event_account_address: Scalars['String']['output'];\n  event_creation_number: Scalars['bigint']['output'];\n  event_index?: Maybe<Scalars['bigint']['output']>;\n  event_sequence_number: Scalars['bigint']['output'];\n  is_gas_fee: Scalars['Boolean']['output'];\n  is_transaction_success: Scalars['Boolean']['output'];\n  owner_address: Scalars['String']['output'];\n  storage_refund_amount: Scalars['numeric']['output'];\n  transaction_timestamp: Scalars['timestamp']['output'];\n  transaction_version: Scalars['bigint']['output'];\n};\n\n\n/** columns and relationships of \"coin_activities\" */\nexport type Coin_ActivitiesAptos_NamesArgs = {\n  distinct_on?: InputMaybe<Array<Current_Aptos_Names_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Current_Aptos_Names_Order_By>>;\n  where?: InputMaybe<Current_Aptos_Names_Bool_Exp>;\n};\n\n\n/** columns and relationships of \"coin_activities\" */\nexport type Coin_ActivitiesAptos_Names_AggregateArgs = {\n  distinct_on?: InputMaybe<Array<Current_Aptos_Names_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Current_Aptos_Names_Order_By>>;\n  where?: InputMaybe<Current_Aptos_Names_Bool_Exp>;\n};\n\n/** aggregated selection of \"coin_activities\" */\nexport type Coin_Activities_Aggregate = {\n  __typename?: 'coin_activities_aggregate';\n  aggregate?: Maybe<Coin_Activities_Aggregate_Fields>;\n  nodes: Array<Coin_Activities>;\n};\n\nexport type Coin_Activities_Aggregate_Bool_Exp = {\n  bool_and?: InputMaybe<Coin_Activities_Aggregate_Bool_Exp_Bool_And>;\n  bool_or?: InputMaybe<Coin_Activities_Aggregate_Bool_Exp_Bool_Or>;\n  count?: InputMaybe<Coin_Activities_Aggregate_Bool_Exp_Count>;\n};\n\nexport type Coin_Activities_Aggregate_Bool_Exp_Bool_And = {\n  arguments: Coin_Activities_Select_Column_Coin_Activities_Aggregate_Bool_Exp_Bool_And_Arguments_Columns;\n  distinct?: InputMaybe<Scalars['Boolean']['input']>;\n  filter?: InputMaybe<Coin_Activities_Bool_Exp>;\n  predicate: Boolean_Comparison_Exp;\n};\n\nexport type Coin_Activities_Aggregate_Bool_Exp_Bool_Or = {\n  arguments: Coin_Activities_Select_Column_Coin_Activities_Aggregate_Bool_Exp_Bool_Or_Arguments_Columns;\n  distinct?: InputMaybe<Scalars['Boolean']['input']>;\n  filter?: InputMaybe<Coin_Activities_Bool_Exp>;\n  predicate: Boolean_Comparison_Exp;\n};\n\nexport type Coin_Activities_Aggregate_Bool_Exp_Count = {\n  arguments?: InputMaybe<Array<Coin_Activities_Select_Column>>;\n  distinct?: InputMaybe<Scalars['Boolean']['input']>;\n  filter?: InputMaybe<Coin_Activities_Bool_Exp>;\n  predicate: Int_Comparison_Exp;\n};\n\n/** aggregate fields of \"coin_activities\" */\nexport type Coin_Activities_Aggregate_Fields = {\n  __typename?: 'coin_activities_aggregate_fields';\n  avg?: Maybe<Coin_Activities_Avg_Fields>;\n  count: Scalars['Int']['output'];\n  max?: Maybe<Coin_Activities_Max_Fields>;\n  min?: Maybe<Coin_Activities_Min_Fields>;\n  stddev?: Maybe<Coin_Activities_Stddev_Fields>;\n  stddev_pop?: Maybe<Coin_Activities_Stddev_Pop_Fields>;\n  stddev_samp?: Maybe<Coin_Activities_Stddev_Samp_Fields>;\n  sum?: Maybe<Coin_Activities_Sum_Fields>;\n  var_pop?: Maybe<Coin_Activities_Var_Pop_Fields>;\n  var_samp?: Maybe<Coin_Activities_Var_Samp_Fields>;\n  variance?: Maybe<Coin_Activities_Variance_Fields>;\n};\n\n\n/** aggregate fields of \"coin_activities\" */\nexport type Coin_Activities_Aggregate_FieldsCountArgs = {\n  columns?: InputMaybe<Array<Coin_Activities_Select_Column>>;\n  distinct?: InputMaybe<Scalars['Boolean']['input']>;\n};\n\n/** order by aggregate values of table \"coin_activities\" */\nexport type Coin_Activities_Aggregate_Order_By = {\n  avg?: InputMaybe<Coin_Activities_Avg_Order_By>;\n  count?: InputMaybe<Order_By>;\n  max?: InputMaybe<Coin_Activities_Max_Order_By>;\n  min?: InputMaybe<Coin_Activities_Min_Order_By>;\n  stddev?: InputMaybe<Coin_Activities_Stddev_Order_By>;\n  stddev_pop?: InputMaybe<Coin_Activities_Stddev_Pop_Order_By>;\n  stddev_samp?: InputMaybe<Coin_Activities_Stddev_Samp_Order_By>;\n  sum?: InputMaybe<Coin_Activities_Sum_Order_By>;\n  var_pop?: InputMaybe<Coin_Activities_Var_Pop_Order_By>;\n  var_samp?: InputMaybe<Coin_Activities_Var_Samp_Order_By>;\n  variance?: InputMaybe<Coin_Activities_Variance_Order_By>;\n};\n\n/** aggregate avg on columns */\nexport type Coin_Activities_Avg_Fields = {\n  __typename?: 'coin_activities_avg_fields';\n  amount?: Maybe<Scalars['Float']['output']>;\n  block_height?: Maybe<Scalars['Float']['output']>;\n  event_creation_number?: Maybe<Scalars['Float']['output']>;\n  event_index?: Maybe<Scalars['Float']['output']>;\n  event_sequence_number?: Maybe<Scalars['Float']['output']>;\n  storage_refund_amount?: Maybe<Scalars['Float']['output']>;\n  transaction_version?: Maybe<Scalars['Float']['output']>;\n};\n\n/** order by avg() on columns of table \"coin_activities\" */\nexport type Coin_Activities_Avg_Order_By = {\n  amount?: InputMaybe<Order_By>;\n  block_height?: InputMaybe<Order_By>;\n  event_creation_number?: InputMaybe<Order_By>;\n  event_index?: InputMaybe<Order_By>;\n  event_sequence_number?: InputMaybe<Order_By>;\n  storage_refund_amount?: InputMaybe<Order_By>;\n  transaction_version?: InputMaybe<Order_By>;\n};\n\n/** Boolean expression to filter rows from the table \"coin_activities\". All fields are combined with a logical 'AND'. */\nexport type Coin_Activities_Bool_Exp = {\n  _and?: InputMaybe<Array<Coin_Activities_Bool_Exp>>;\n  _not?: InputMaybe<Coin_Activities_Bool_Exp>;\n  _or?: InputMaybe<Array<Coin_Activities_Bool_Exp>>;\n  activity_type?: InputMaybe<String_Comparison_Exp>;\n  amount?: InputMaybe<Numeric_Comparison_Exp>;\n  aptos_names?: InputMaybe<Current_Aptos_Names_Bool_Exp>;\n  aptos_names_aggregate?: InputMaybe<Current_Aptos_Names_Aggregate_Bool_Exp>;\n  block_height?: InputMaybe<Bigint_Comparison_Exp>;\n  coin_info?: InputMaybe<Coin_Infos_Bool_Exp>;\n  coin_type?: InputMaybe<String_Comparison_Exp>;\n  entry_function_id_str?: InputMaybe<String_Comparison_Exp>;\n  event_account_address?: InputMaybe<String_Comparison_Exp>;\n  event_creation_number?: InputMaybe<Bigint_Comparison_Exp>;\n  event_index?: InputMaybe<Bigint_Comparison_Exp>;\n  event_sequence_number?: InputMaybe<Bigint_Comparison_Exp>;\n  is_gas_fee?: InputMaybe<Boolean_Comparison_Exp>;\n  is_transaction_success?: InputMaybe<Boolean_Comparison_Exp>;\n  owner_address?: InputMaybe<String_Comparison_Exp>;\n  storage_refund_amount?: InputMaybe<Numeric_Comparison_Exp>;\n  transaction_timestamp?: InputMaybe<Timestamp_Comparison_Exp>;\n  transaction_version?: InputMaybe<Bigint_Comparison_Exp>;\n};\n\n/** aggregate max on columns */\nexport type Coin_Activities_Max_Fields = {\n  __typename?: 'coin_activities_max_fields';\n  activity_type?: Maybe<Scalars['String']['output']>;\n  amount?: Maybe<Scalars['numeric']['output']>;\n  block_height?: Maybe<Scalars['bigint']['output']>;\n  coin_type?: Maybe<Scalars['String']['output']>;\n  entry_function_id_str?: Maybe<Scalars['String']['output']>;\n  event_account_address?: Maybe<Scalars['String']['output']>;\n  event_creation_number?: Maybe<Scalars['bigint']['output']>;\n  event_index?: Maybe<Scalars['bigint']['output']>;\n  event_sequence_number?: Maybe<Scalars['bigint']['output']>;\n  owner_address?: Maybe<Scalars['String']['output']>;\n  storage_refund_amount?: Maybe<Scalars['numeric']['output']>;\n  transaction_timestamp?: Maybe<Scalars['timestamp']['output']>;\n  transaction_version?: Maybe<Scalars['bigint']['output']>;\n};\n\n/** order by max() on columns of table \"coin_activities\" */\nexport type Coin_Activities_Max_Order_By = {\n  activity_type?: InputMaybe<Order_By>;\n  amount?: InputMaybe<Order_By>;\n  block_height?: InputMaybe<Order_By>;\n  coin_type?: InputMaybe<Order_By>;\n  entry_function_id_str?: InputMaybe<Order_By>;\n  event_account_address?: InputMaybe<Order_By>;\n  event_creation_number?: InputMaybe<Order_By>;\n  event_index?: InputMaybe<Order_By>;\n  event_sequence_number?: InputMaybe<Order_By>;\n  owner_address?: InputMaybe<Order_By>;\n  storage_refund_amount?: InputMaybe<Order_By>;\n  transaction_timestamp?: InputMaybe<Order_By>;\n  transaction_version?: InputMaybe<Order_By>;\n};\n\n/** aggregate min on columns */\nexport type Coin_Activities_Min_Fields = {\n  __typename?: 'coin_activities_min_fields';\n  activity_type?: Maybe<Scalars['String']['output']>;\n  amount?: Maybe<Scalars['numeric']['output']>;\n  block_height?: Maybe<Scalars['bigint']['output']>;\n  coin_type?: Maybe<Scalars['String']['output']>;\n  entry_function_id_str?: Maybe<Scalars['String']['output']>;\n  event_account_address?: Maybe<Scalars['String']['output']>;\n  event_creation_number?: Maybe<Scalars['bigint']['output']>;\n  event_index?: Maybe<Scalars['bigint']['output']>;\n  event_sequence_number?: Maybe<Scalars['bigint']['output']>;\n  owner_address?: Maybe<Scalars['String']['output']>;\n  storage_refund_amount?: Maybe<Scalars['numeric']['output']>;\n  transaction_timestamp?: Maybe<Scalars['timestamp']['output']>;\n  transaction_version?: Maybe<Scalars['bigint']['output']>;\n};\n\n/** order by min() on columns of table \"coin_activities\" */\nexport type Coin_Activities_Min_Order_By = {\n  activity_type?: InputMaybe<Order_By>;\n  amount?: InputMaybe<Order_By>;\n  block_height?: InputMaybe<Order_By>;\n  coin_type?: InputMaybe<Order_By>;\n  entry_function_id_str?: InputMaybe<Order_By>;\n  event_account_address?: InputMaybe<Order_By>;\n  event_creation_number?: InputMaybe<Order_By>;\n  event_index?: InputMaybe<Order_By>;\n  event_sequence_number?: InputMaybe<Order_By>;\n  owner_address?: InputMaybe<Order_By>;\n  storage_refund_amount?: InputMaybe<Order_By>;\n  transaction_timestamp?: InputMaybe<Order_By>;\n  transaction_version?: InputMaybe<Order_By>;\n};\n\n/** Ordering options when selecting data from \"coin_activities\". */\nexport type Coin_Activities_Order_By = {\n  activity_type?: InputMaybe<Order_By>;\n  amount?: InputMaybe<Order_By>;\n  aptos_names_aggregate?: InputMaybe<Current_Aptos_Names_Aggregate_Order_By>;\n  block_height?: InputMaybe<Order_By>;\n  coin_info?: InputMaybe<Coin_Infos_Order_By>;\n  coin_type?: InputMaybe<Order_By>;\n  entry_function_id_str?: InputMaybe<Order_By>;\n  event_account_address?: InputMaybe<Order_By>;\n  event_creation_number?: InputMaybe<Order_By>;\n  event_index?: InputMaybe<Order_By>;\n  event_sequence_number?: InputMaybe<Order_By>;\n  is_gas_fee?: InputMaybe<Order_By>;\n  is_transaction_success?: InputMaybe<Order_By>;\n  owner_address?: InputMaybe<Order_By>;\n  storage_refund_amount?: InputMaybe<Order_By>;\n  transaction_timestamp?: InputMaybe<Order_By>;\n  transaction_version?: InputMaybe<Order_By>;\n};\n\n/** select columns of table \"coin_activities\" */\nexport enum Coin_Activities_Select_Column {\n  /** column name */\n  ActivityType = 'activity_type',\n  /** column name */\n  Amount = 'amount',\n  /** column name */\n  BlockHeight = 'block_height',\n  /** column name */\n  CoinType = 'coin_type',\n  /** column name */\n  EntryFunctionIdStr = 'entry_function_id_str',\n  /** column name */\n  EventAccountAddress = 'event_account_address',\n  /** column name */\n  EventCreationNumber = 'event_creation_number',\n  /** column name */\n  EventIndex = 'event_index',\n  /** column name */\n  EventSequenceNumber = 'event_sequence_number',\n  /** column name */\n  IsGasFee = 'is_gas_fee',\n  /** column name */\n  IsTransactionSuccess = 'is_transaction_success',\n  /** column name */\n  OwnerAddress = 'owner_address',\n  /** column name */\n  StorageRefundAmount = 'storage_refund_amount',\n  /** column name */\n  TransactionTimestamp = 'transaction_timestamp',\n  /** column name */\n  TransactionVersion = 'transaction_version'\n}\n\n/** select \"coin_activities_aggregate_bool_exp_bool_and_arguments_columns\" columns of table \"coin_activities\" */\nexport enum Coin_Activities_Select_Column_Coin_Activities_Aggregate_Bool_Exp_Bool_And_Arguments_Columns {\n  /** column name */\n  IsGasFee = 'is_gas_fee',\n  /** column name */\n  IsTransactionSuccess = 'is_transaction_success'\n}\n\n/** select \"coin_activities_aggregate_bool_exp_bool_or_arguments_columns\" columns of table \"coin_activities\" */\nexport enum Coin_Activities_Select_Column_Coin_Activities_Aggregate_Bool_Exp_Bool_Or_Arguments_Columns {\n  /** column name */\n  IsGasFee = 'is_gas_fee',\n  /** column name */\n  IsTransactionSuccess = 'is_transaction_success'\n}\n\n/** aggregate stddev on columns */\nexport type Coin_Activities_Stddev_Fields = {\n  __typename?: 'coin_activities_stddev_fields';\n  amount?: Maybe<Scalars['Float']['output']>;\n  block_height?: Maybe<Scalars['Float']['output']>;\n  event_creation_number?: Maybe<Scalars['Float']['output']>;\n  event_index?: Maybe<Scalars['Float']['output']>;\n  event_sequence_number?: Maybe<Scalars['Float']['output']>;\n  storage_refund_amount?: Maybe<Scalars['Float']['output']>;\n  transaction_version?: Maybe<Scalars['Float']['output']>;\n};\n\n/** order by stddev() on columns of table \"coin_activities\" */\nexport type Coin_Activities_Stddev_Order_By = {\n  amount?: InputMaybe<Order_By>;\n  block_height?: InputMaybe<Order_By>;\n  event_creation_number?: InputMaybe<Order_By>;\n  event_index?: InputMaybe<Order_By>;\n  event_sequence_number?: InputMaybe<Order_By>;\n  storage_refund_amount?: InputMaybe<Order_By>;\n  transaction_version?: InputMaybe<Order_By>;\n};\n\n/** aggregate stddev_pop on columns */\nexport type Coin_Activities_Stddev_Pop_Fields = {\n  __typename?: 'coin_activities_stddev_pop_fields';\n  amount?: Maybe<Scalars['Float']['output']>;\n  block_height?: Maybe<Scalars['Float']['output']>;\n  event_creation_number?: Maybe<Scalars['Float']['output']>;\n  event_index?: Maybe<Scalars['Float']['output']>;\n  event_sequence_number?: Maybe<Scalars['Float']['output']>;\n  storage_refund_amount?: Maybe<Scalars['Float']['output']>;\n  transaction_version?: Maybe<Scalars['Float']['output']>;\n};\n\n/** order by stddev_pop() on columns of table \"coin_activities\" */\nexport type Coin_Activities_Stddev_Pop_Order_By = {\n  amount?: InputMaybe<Order_By>;\n  block_height?: InputMaybe<Order_By>;\n  event_creation_number?: InputMaybe<Order_By>;\n  event_index?: InputMaybe<Order_By>;\n  event_sequence_number?: InputMaybe<Order_By>;\n  storage_refund_amount?: InputMaybe<Order_By>;\n  transaction_version?: InputMaybe<Order_By>;\n};\n\n/** aggregate stddev_samp on columns */\nexport type Coin_Activities_Stddev_Samp_Fields = {\n  __typename?: 'coin_activities_stddev_samp_fields';\n  amount?: Maybe<Scalars['Float']['output']>;\n  block_height?: Maybe<Scalars['Float']['output']>;\n  event_creation_number?: Maybe<Scalars['Float']['output']>;\n  event_index?: Maybe<Scalars['Float']['output']>;\n  event_sequence_number?: Maybe<Scalars['Float']['output']>;\n  storage_refund_amount?: Maybe<Scalars['Float']['output']>;\n  transaction_version?: Maybe<Scalars['Float']['output']>;\n};\n\n/** order by stddev_samp() on columns of table \"coin_activities\" */\nexport type Coin_Activities_Stddev_Samp_Order_By = {\n  amount?: InputMaybe<Order_By>;\n  block_height?: InputMaybe<Order_By>;\n  event_creation_number?: InputMaybe<Order_By>;\n  event_index?: InputMaybe<Order_By>;\n  event_sequence_number?: InputMaybe<Order_By>;\n  storage_refund_amount?: InputMaybe<Order_By>;\n  transaction_version?: InputMaybe<Order_By>;\n};\n\n/** Streaming cursor of the table \"coin_activities\" */\nexport type Coin_Activities_Stream_Cursor_Input = {\n  /** Stream column input with initial value */\n  initial_value: Coin_Activities_Stream_Cursor_Value_Input;\n  /** cursor ordering */\n  ordering?: InputMaybe<Cursor_Ordering>;\n};\n\n/** Initial value of the column from where the streaming should start */\nexport type Coin_Activities_Stream_Cursor_Value_Input = {\n  activity_type?: InputMaybe<Scalars['String']['input']>;\n  amount?: InputMaybe<Scalars['numeric']['input']>;\n  block_height?: InputMaybe<Scalars['bigint']['input']>;\n  coin_type?: InputMaybe<Scalars['String']['input']>;\n  entry_function_id_str?: InputMaybe<Scalars['String']['input']>;\n  event_account_address?: InputMaybe<Scalars['String']['input']>;\n  event_creation_number?: InputMaybe<Scalars['bigint']['input']>;\n  event_index?: InputMaybe<Scalars['bigint']['input']>;\n  event_sequence_number?: InputMaybe<Scalars['bigint']['input']>;\n  is_gas_fee?: InputMaybe<Scalars['Boolean']['input']>;\n  is_transaction_success?: InputMaybe<Scalars['Boolean']['input']>;\n  owner_address?: InputMaybe<Scalars['String']['input']>;\n  storage_refund_amount?: InputMaybe<Scalars['numeric']['input']>;\n  transaction_timestamp?: InputMaybe<Scalars['timestamp']['input']>;\n  transaction_version?: InputMaybe<Scalars['bigint']['input']>;\n};\n\n/** aggregate sum on columns */\nexport type Coin_Activities_Sum_Fields = {\n  __typename?: 'coin_activities_sum_fields';\n  amount?: Maybe<Scalars['numeric']['output']>;\n  block_height?: Maybe<Scalars['bigint']['output']>;\n  event_creation_number?: Maybe<Scalars['bigint']['output']>;\n  event_index?: Maybe<Scalars['bigint']['output']>;\n  event_sequence_number?: Maybe<Scalars['bigint']['output']>;\n  storage_refund_amount?: Maybe<Scalars['numeric']['output']>;\n  transaction_version?: Maybe<Scalars['bigint']['output']>;\n};\n\n/** order by sum() on columns of table \"coin_activities\" */\nexport type Coin_Activities_Sum_Order_By = {\n  amount?: InputMaybe<Order_By>;\n  block_height?: InputMaybe<Order_By>;\n  event_creation_number?: InputMaybe<Order_By>;\n  event_index?: InputMaybe<Order_By>;\n  event_sequence_number?: InputMaybe<Order_By>;\n  storage_refund_amount?: InputMaybe<Order_By>;\n  transaction_version?: InputMaybe<Order_By>;\n};\n\n/** aggregate var_pop on columns */\nexport type Coin_Activities_Var_Pop_Fields = {\n  __typename?: 'coin_activities_var_pop_fields';\n  amount?: Maybe<Scalars['Float']['output']>;\n  block_height?: Maybe<Scalars['Float']['output']>;\n  event_creation_number?: Maybe<Scalars['Float']['output']>;\n  event_index?: Maybe<Scalars['Float']['output']>;\n  event_sequence_number?: Maybe<Scalars['Float']['output']>;\n  storage_refund_amount?: Maybe<Scalars['Float']['output']>;\n  transaction_version?: Maybe<Scalars['Float']['output']>;\n};\n\n/** order by var_pop() on columns of table \"coin_activities\" */\nexport type Coin_Activities_Var_Pop_Order_By = {\n  amount?: InputMaybe<Order_By>;\n  block_height?: InputMaybe<Order_By>;\n  event_creation_number?: InputMaybe<Order_By>;\n  event_index?: InputMaybe<Order_By>;\n  event_sequence_number?: InputMaybe<Order_By>;\n  storage_refund_amount?: InputMaybe<Order_By>;\n  transaction_version?: InputMaybe<Order_By>;\n};\n\n/** aggregate var_samp on columns */\nexport type Coin_Activities_Var_Samp_Fields = {\n  __typename?: 'coin_activities_var_samp_fields';\n  amount?: Maybe<Scalars['Float']['output']>;\n  block_height?: Maybe<Scalars['Float']['output']>;\n  event_creation_number?: Maybe<Scalars['Float']['output']>;\n  event_index?: Maybe<Scalars['Float']['output']>;\n  event_sequence_number?: Maybe<Scalars['Float']['output']>;\n  storage_refund_amount?: Maybe<Scalars['Float']['output']>;\n  transaction_version?: Maybe<Scalars['Float']['output']>;\n};\n\n/** order by var_samp() on columns of table \"coin_activities\" */\nexport type Coin_Activities_Var_Samp_Order_By = {\n  amount?: InputMaybe<Order_By>;\n  block_height?: InputMaybe<Order_By>;\n  event_creation_number?: InputMaybe<Order_By>;\n  event_index?: InputMaybe<Order_By>;\n  event_sequence_number?: InputMaybe<Order_By>;\n  storage_refund_amount?: InputMaybe<Order_By>;\n  transaction_version?: InputMaybe<Order_By>;\n};\n\n/** aggregate variance on columns */\nexport type Coin_Activities_Variance_Fields = {\n  __typename?: 'coin_activities_variance_fields';\n  amount?: Maybe<Scalars['Float']['output']>;\n  block_height?: Maybe<Scalars['Float']['output']>;\n  event_creation_number?: Maybe<Scalars['Float']['output']>;\n  event_index?: Maybe<Scalars['Float']['output']>;\n  event_sequence_number?: Maybe<Scalars['Float']['output']>;\n  storage_refund_amount?: Maybe<Scalars['Float']['output']>;\n  transaction_version?: Maybe<Scalars['Float']['output']>;\n};\n\n/** order by variance() on columns of table \"coin_activities\" */\nexport type Coin_Activities_Variance_Order_By = {\n  amount?: InputMaybe<Order_By>;\n  block_height?: InputMaybe<Order_By>;\n  event_creation_number?: InputMaybe<Order_By>;\n  event_index?: InputMaybe<Order_By>;\n  event_sequence_number?: InputMaybe<Order_By>;\n  storage_refund_amount?: InputMaybe<Order_By>;\n  transaction_version?: InputMaybe<Order_By>;\n};\n\n/** columns and relationships of \"coin_balances\" */\nexport type Coin_Balances = {\n  __typename?: 'coin_balances';\n  amount: Scalars['numeric']['output'];\n  coin_type: Scalars['String']['output'];\n  coin_type_hash: Scalars['String']['output'];\n  owner_address: Scalars['String']['output'];\n  transaction_timestamp: Scalars['timestamp']['output'];\n  transaction_version: Scalars['bigint']['output'];\n};\n\n/** Boolean expression to filter rows from the table \"coin_balances\". All fields are combined with a logical 'AND'. */\nexport type Coin_Balances_Bool_Exp = {\n  _and?: InputMaybe<Array<Coin_Balances_Bool_Exp>>;\n  _not?: InputMaybe<Coin_Balances_Bool_Exp>;\n  _or?: InputMaybe<Array<Coin_Balances_Bool_Exp>>;\n  amount?: InputMaybe<Numeric_Comparison_Exp>;\n  coin_type?: InputMaybe<String_Comparison_Exp>;\n  coin_type_hash?: InputMaybe<String_Comparison_Exp>;\n  owner_address?: InputMaybe<String_Comparison_Exp>;\n  transaction_timestamp?: InputMaybe<Timestamp_Comparison_Exp>;\n  transaction_version?: InputMaybe<Bigint_Comparison_Exp>;\n};\n\n/** Ordering options when selecting data from \"coin_balances\". */\nexport type Coin_Balances_Order_By = {\n  amount?: InputMaybe<Order_By>;\n  coin_type?: InputMaybe<Order_By>;\n  coin_type_hash?: InputMaybe<Order_By>;\n  owner_address?: InputMaybe<Order_By>;\n  transaction_timestamp?: InputMaybe<Order_By>;\n  transaction_version?: InputMaybe<Order_By>;\n};\n\n/** select columns of table \"coin_balances\" */\nexport enum Coin_Balances_Select_Column {\n  /** column name */\n  Amount = 'amount',\n  /** column name */\n  CoinType = 'coin_type',\n  /** column name */\n  CoinTypeHash = 'coin_type_hash',\n  /** column name */\n  OwnerAddress = 'owner_address',\n  /** column name */\n  TransactionTimestamp = 'transaction_timestamp',\n  /** column name */\n  TransactionVersion = 'transaction_version'\n}\n\n/** Streaming cursor of the table \"coin_balances\" */\nexport type Coin_Balances_Stream_Cursor_Input = {\n  /** Stream column input with initial value */\n  initial_value: Coin_Balances_Stream_Cursor_Value_Input;\n  /** cursor ordering */\n  ordering?: InputMaybe<Cursor_Ordering>;\n};\n\n/** Initial value of the column from where the streaming should start */\nexport type Coin_Balances_Stream_Cursor_Value_Input = {\n  amount?: InputMaybe<Scalars['numeric']['input']>;\n  coin_type?: InputMaybe<Scalars['String']['input']>;\n  coin_type_hash?: InputMaybe<Scalars['String']['input']>;\n  owner_address?: InputMaybe<Scalars['String']['input']>;\n  transaction_timestamp?: InputMaybe<Scalars['timestamp']['input']>;\n  transaction_version?: InputMaybe<Scalars['bigint']['input']>;\n};\n\n/** columns and relationships of \"coin_infos\" */\nexport type Coin_Infos = {\n  __typename?: 'coin_infos';\n  coin_type: Scalars['String']['output'];\n  coin_type_hash: Scalars['String']['output'];\n  creator_address: Scalars['String']['output'];\n  decimals: Scalars['Int']['output'];\n  name: Scalars['String']['output'];\n  supply_aggregator_table_handle?: Maybe<Scalars['String']['output']>;\n  supply_aggregator_table_key?: Maybe<Scalars['String']['output']>;\n  symbol: Scalars['String']['output'];\n  transaction_created_timestamp: Scalars['timestamp']['output'];\n  transaction_version_created: Scalars['bigint']['output'];\n};\n\n/** Boolean expression to filter rows from the table \"coin_infos\". All fields are combined with a logical 'AND'. */\nexport type Coin_Infos_Bool_Exp = {\n  _and?: InputMaybe<Array<Coin_Infos_Bool_Exp>>;\n  _not?: InputMaybe<Coin_Infos_Bool_Exp>;\n  _or?: InputMaybe<Array<Coin_Infos_Bool_Exp>>;\n  coin_type?: InputMaybe<String_Comparison_Exp>;\n  coin_type_hash?: InputMaybe<String_Comparison_Exp>;\n  creator_address?: InputMaybe<String_Comparison_Exp>;\n  decimals?: InputMaybe<Int_Comparison_Exp>;\n  name?: InputMaybe<String_Comparison_Exp>;\n  supply_aggregator_table_handle?: InputMaybe<String_Comparison_Exp>;\n  supply_aggregator_table_key?: InputMaybe<String_Comparison_Exp>;\n  symbol?: InputMaybe<String_Comparison_Exp>;\n  transaction_created_timestamp?: InputMaybe<Timestamp_Comparison_Exp>;\n  transaction_version_created?: InputMaybe<Bigint_Comparison_Exp>;\n};\n\n/** Ordering options when selecting data from \"coin_infos\". */\nexport type Coin_Infos_Order_By = {\n  coin_type?: InputMaybe<Order_By>;\n  coin_type_hash?: InputMaybe<Order_By>;\n  creator_address?: InputMaybe<Order_By>;\n  decimals?: InputMaybe<Order_By>;\n  name?: InputMaybe<Order_By>;\n  supply_aggregator_table_handle?: InputMaybe<Order_By>;\n  supply_aggregator_table_key?: InputMaybe<Order_By>;\n  symbol?: InputMaybe<Order_By>;\n  transaction_created_timestamp?: InputMaybe<Order_By>;\n  transaction_version_created?: InputMaybe<Order_By>;\n};\n\n/** select columns of table \"coin_infos\" */\nexport enum Coin_Infos_Select_Column {\n  /** column name */\n  CoinType = 'coin_type',\n  /** column name */\n  CoinTypeHash = 'coin_type_hash',\n  /** column name */\n  CreatorAddress = 'creator_address',\n  /** column name */\n  Decimals = 'decimals',\n  /** column name */\n  Name = 'name',\n  /** column name */\n  SupplyAggregatorTableHandle = 'supply_aggregator_table_handle',\n  /** column name */\n  SupplyAggregatorTableKey = 'supply_aggregator_table_key',\n  /** column name */\n  Symbol = 'symbol',\n  /** column name */\n  TransactionCreatedTimestamp = 'transaction_created_timestamp',\n  /** column name */\n  TransactionVersionCreated = 'transaction_version_created'\n}\n\n/** Streaming cursor of the table \"coin_infos\" */\nexport type Coin_Infos_Stream_Cursor_Input = {\n  /** Stream column input with initial value */\n  initial_value: Coin_Infos_Stream_Cursor_Value_Input;\n  /** cursor ordering */\n  ordering?: InputMaybe<Cursor_Ordering>;\n};\n\n/** Initial value of the column from where the streaming should start */\nexport type Coin_Infos_Stream_Cursor_Value_Input = {\n  coin_type?: InputMaybe<Scalars['String']['input']>;\n  coin_type_hash?: InputMaybe<Scalars['String']['input']>;\n  creator_address?: InputMaybe<Scalars['String']['input']>;\n  decimals?: InputMaybe<Scalars['Int']['input']>;\n  name?: InputMaybe<Scalars['String']['input']>;\n  supply_aggregator_table_handle?: InputMaybe<Scalars['String']['input']>;\n  supply_aggregator_table_key?: InputMaybe<Scalars['String']['input']>;\n  symbol?: InputMaybe<Scalars['String']['input']>;\n  transaction_created_timestamp?: InputMaybe<Scalars['timestamp']['input']>;\n  transaction_version_created?: InputMaybe<Scalars['bigint']['input']>;\n};\n\n/** columns and relationships of \"coin_supply\" */\nexport type Coin_Supply = {\n  __typename?: 'coin_supply';\n  coin_type: Scalars['String']['output'];\n  coin_type_hash: Scalars['String']['output'];\n  supply: Scalars['numeric']['output'];\n  transaction_epoch: Scalars['bigint']['output'];\n  transaction_timestamp: Scalars['timestamp']['output'];\n  transaction_version: Scalars['bigint']['output'];\n};\n\n/** Boolean expression to filter rows from the table \"coin_supply\". All fields are combined with a logical 'AND'. */\nexport type Coin_Supply_Bool_Exp = {\n  _and?: InputMaybe<Array<Coin_Supply_Bool_Exp>>;\n  _not?: InputMaybe<Coin_Supply_Bool_Exp>;\n  _or?: InputMaybe<Array<Coin_Supply_Bool_Exp>>;\n  coin_type?: InputMaybe<String_Comparison_Exp>;\n  coin_type_hash?: InputMaybe<String_Comparison_Exp>;\n  supply?: InputMaybe<Numeric_Comparison_Exp>;\n  transaction_epoch?: InputMaybe<Bigint_Comparison_Exp>;\n  transaction_timestamp?: InputMaybe<Timestamp_Comparison_Exp>;\n  transaction_version?: InputMaybe<Bigint_Comparison_Exp>;\n};\n\n/** Ordering options when selecting data from \"coin_supply\". */\nexport type Coin_Supply_Order_By = {\n  coin_type?: InputMaybe<Order_By>;\n  coin_type_hash?: InputMaybe<Order_By>;\n  supply?: InputMaybe<Order_By>;\n  transaction_epoch?: InputMaybe<Order_By>;\n  transaction_timestamp?: InputMaybe<Order_By>;\n  transaction_version?: InputMaybe<Order_By>;\n};\n\n/** select columns of table \"coin_supply\" */\nexport enum Coin_Supply_Select_Column {\n  /** column name */\n  CoinType = 'coin_type',\n  /** column name */\n  CoinTypeHash = 'coin_type_hash',\n  /** column name */\n  Supply = 'supply',\n  /** column name */\n  TransactionEpoch = 'transaction_epoch',\n  /** column name */\n  TransactionTimestamp = 'transaction_timestamp',\n  /** column name */\n  TransactionVersion = 'transaction_version'\n}\n\n/** Streaming cursor of the table \"coin_supply\" */\nexport type Coin_Supply_Stream_Cursor_Input = {\n  /** Stream column input with initial value */\n  initial_value: Coin_Supply_Stream_Cursor_Value_Input;\n  /** cursor ordering */\n  ordering?: InputMaybe<Cursor_Ordering>;\n};\n\n/** Initial value of the column from where the streaming should start */\nexport type Coin_Supply_Stream_Cursor_Value_Input = {\n  coin_type?: InputMaybe<Scalars['String']['input']>;\n  coin_type_hash?: InputMaybe<Scalars['String']['input']>;\n  supply?: InputMaybe<Scalars['numeric']['input']>;\n  transaction_epoch?: InputMaybe<Scalars['bigint']['input']>;\n  transaction_timestamp?: InputMaybe<Scalars['timestamp']['input']>;\n  transaction_version?: InputMaybe<Scalars['bigint']['input']>;\n};\n\n/** columns and relationships of \"collection_datas\" */\nexport type Collection_Datas = {\n  __typename?: 'collection_datas';\n  collection_data_id_hash: Scalars['String']['output'];\n  collection_name: Scalars['String']['output'];\n  creator_address: Scalars['String']['output'];\n  description: Scalars['String']['output'];\n  description_mutable: Scalars['Boolean']['output'];\n  maximum: Scalars['numeric']['output'];\n  maximum_mutable: Scalars['Boolean']['output'];\n  metadata_uri: Scalars['String']['output'];\n  supply: Scalars['numeric']['output'];\n  table_handle: Scalars['String']['output'];\n  transaction_timestamp: Scalars['timestamp']['output'];\n  transaction_version: Scalars['bigint']['output'];\n  uri_mutable: Scalars['Boolean']['output'];\n};\n\n/** Boolean expression to filter rows from the table \"collection_datas\". All fields are combined with a logical 'AND'. */\nexport type Collection_Datas_Bool_Exp = {\n  _and?: InputMaybe<Array<Collection_Datas_Bool_Exp>>;\n  _not?: InputMaybe<Collection_Datas_Bool_Exp>;\n  _or?: InputMaybe<Array<Collection_Datas_Bool_Exp>>;\n  collection_data_id_hash?: InputMaybe<String_Comparison_Exp>;\n  collection_name?: InputMaybe<String_Comparison_Exp>;\n  creator_address?: InputMaybe<String_Comparison_Exp>;\n  description?: InputMaybe<String_Comparison_Exp>;\n  description_mutable?: InputMaybe<Boolean_Comparison_Exp>;\n  maximum?: InputMaybe<Numeric_Comparison_Exp>;\n  maximum_mutable?: InputMaybe<Boolean_Comparison_Exp>;\n  metadata_uri?: InputMaybe<String_Comparison_Exp>;\n  supply?: InputMaybe<Numeric_Comparison_Exp>;\n  table_handle?: InputMaybe<String_Comparison_Exp>;\n  transaction_timestamp?: InputMaybe<Timestamp_Comparison_Exp>;\n  transaction_version?: InputMaybe<Bigint_Comparison_Exp>;\n  uri_mutable?: InputMaybe<Boolean_Comparison_Exp>;\n};\n\n/** Ordering options when selecting data from \"collection_datas\". */\nexport type Collection_Datas_Order_By = {\n  collection_data_id_hash?: InputMaybe<Order_By>;\n  collection_name?: InputMaybe<Order_By>;\n  creator_address?: InputMaybe<Order_By>;\n  description?: InputMaybe<Order_By>;\n  description_mutable?: InputMaybe<Order_By>;\n  maximum?: InputMaybe<Order_By>;\n  maximum_mutable?: InputMaybe<Order_By>;\n  metadata_uri?: InputMaybe<Order_By>;\n  supply?: InputMaybe<Order_By>;\n  table_handle?: InputMaybe<Order_By>;\n  transaction_timestamp?: InputMaybe<Order_By>;\n  transaction_version?: InputMaybe<Order_By>;\n  uri_mutable?: InputMaybe<Order_By>;\n};\n\n/** select columns of table \"collection_datas\" */\nexport enum Collection_Datas_Select_Column {\n  /** column name */\n  CollectionDataIdHash = 'collection_data_id_hash',\n  /** column name */\n  CollectionName = 'collection_name',\n  /** column name */\n  CreatorAddress = 'creator_address',\n  /** column name */\n  Description = 'description',\n  /** column name */\n  DescriptionMutable = 'description_mutable',\n  /** column name */\n  Maximum = 'maximum',\n  /** column name */\n  MaximumMutable = 'maximum_mutable',\n  /** column name */\n  MetadataUri = 'metadata_uri',\n  /** column name */\n  Supply = 'supply',\n  /** column name */\n  TableHandle = 'table_handle',\n  /** column name */\n  TransactionTimestamp = 'transaction_timestamp',\n  /** column name */\n  TransactionVersion = 'transaction_version',\n  /** column name */\n  UriMutable = 'uri_mutable'\n}\n\n/** Streaming cursor of the table \"collection_datas\" */\nexport type Collection_Datas_Stream_Cursor_Input = {\n  /** Stream column input with initial value */\n  initial_value: Collection_Datas_Stream_Cursor_Value_Input;\n  /** cursor ordering */\n  ordering?: InputMaybe<Cursor_Ordering>;\n};\n\n/** Initial value of the column from where the streaming should start */\nexport type Collection_Datas_Stream_Cursor_Value_Input = {\n  collection_data_id_hash?: InputMaybe<Scalars['String']['input']>;\n  collection_name?: InputMaybe<Scalars['String']['input']>;\n  creator_address?: InputMaybe<Scalars['String']['input']>;\n  description?: InputMaybe<Scalars['String']['input']>;\n  description_mutable?: InputMaybe<Scalars['Boolean']['input']>;\n  maximum?: InputMaybe<Scalars['numeric']['input']>;\n  maximum_mutable?: InputMaybe<Scalars['Boolean']['input']>;\n  metadata_uri?: InputMaybe<Scalars['String']['input']>;\n  supply?: InputMaybe<Scalars['numeric']['input']>;\n  table_handle?: InputMaybe<Scalars['String']['input']>;\n  transaction_timestamp?: InputMaybe<Scalars['timestamp']['input']>;\n  transaction_version?: InputMaybe<Scalars['bigint']['input']>;\n  uri_mutable?: InputMaybe<Scalars['Boolean']['input']>;\n};\n\n/** columns and relationships of \"current_ans_lookup\" */\nexport type Current_Ans_Lookup = {\n  __typename?: 'current_ans_lookup';\n  /** An array relationship */\n  all_token_ownerships: Array<Current_Token_Ownerships>;\n  /** An aggregate relationship */\n  all_token_ownerships_aggregate: Current_Token_Ownerships_Aggregate;\n  domain: Scalars['String']['output'];\n  expiration_timestamp: Scalars['timestamp']['output'];\n  is_deleted: Scalars['Boolean']['output'];\n  last_transaction_version: Scalars['bigint']['output'];\n  registered_address?: Maybe<Scalars['String']['output']>;\n  subdomain: Scalars['String']['output'];\n  token_name: Scalars['String']['output'];\n};\n\n\n/** columns and relationships of \"current_ans_lookup\" */\nexport type Current_Ans_LookupAll_Token_OwnershipsArgs = {\n  distinct_on?: InputMaybe<Array<Current_Token_Ownerships_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Current_Token_Ownerships_Order_By>>;\n  where?: InputMaybe<Current_Token_Ownerships_Bool_Exp>;\n};\n\n\n/** columns and relationships of \"current_ans_lookup\" */\nexport type Current_Ans_LookupAll_Token_Ownerships_AggregateArgs = {\n  distinct_on?: InputMaybe<Array<Current_Token_Ownerships_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Current_Token_Ownerships_Order_By>>;\n  where?: InputMaybe<Current_Token_Ownerships_Bool_Exp>;\n};\n\n/** Boolean expression to filter rows from the table \"current_ans_lookup\". All fields are combined with a logical 'AND'. */\nexport type Current_Ans_Lookup_Bool_Exp = {\n  _and?: InputMaybe<Array<Current_Ans_Lookup_Bool_Exp>>;\n  _not?: InputMaybe<Current_Ans_Lookup_Bool_Exp>;\n  _or?: InputMaybe<Array<Current_Ans_Lookup_Bool_Exp>>;\n  all_token_ownerships?: InputMaybe<Current_Token_Ownerships_Bool_Exp>;\n  all_token_ownerships_aggregate?: InputMaybe<Current_Token_Ownerships_Aggregate_Bool_Exp>;\n  domain?: InputMaybe<String_Comparison_Exp>;\n  expiration_timestamp?: InputMaybe<Timestamp_Comparison_Exp>;\n  is_deleted?: InputMaybe<Boolean_Comparison_Exp>;\n  last_transaction_version?: InputMaybe<Bigint_Comparison_Exp>;\n  registered_address?: InputMaybe<String_Comparison_Exp>;\n  subdomain?: InputMaybe<String_Comparison_Exp>;\n  token_name?: InputMaybe<String_Comparison_Exp>;\n};\n\n/** Ordering options when selecting data from \"current_ans_lookup\". */\nexport type Current_Ans_Lookup_Order_By = {\n  all_token_ownerships_aggregate?: InputMaybe<Current_Token_Ownerships_Aggregate_Order_By>;\n  domain?: InputMaybe<Order_By>;\n  expiration_timestamp?: InputMaybe<Order_By>;\n  is_deleted?: InputMaybe<Order_By>;\n  last_transaction_version?: InputMaybe<Order_By>;\n  registered_address?: InputMaybe<Order_By>;\n  subdomain?: InputMaybe<Order_By>;\n  token_name?: InputMaybe<Order_By>;\n};\n\n/** select columns of table \"current_ans_lookup\" */\nexport enum Current_Ans_Lookup_Select_Column {\n  /** column name */\n  Domain = 'domain',\n  /** column name */\n  ExpirationTimestamp = 'expiration_timestamp',\n  /** column name */\n  IsDeleted = 'is_deleted',\n  /** column name */\n  LastTransactionVersion = 'last_transaction_version',\n  /** column name */\n  RegisteredAddress = 'registered_address',\n  /** column name */\n  Subdomain = 'subdomain',\n  /** column name */\n  TokenName = 'token_name'\n}\n\n/** Streaming cursor of the table \"current_ans_lookup\" */\nexport type Current_Ans_Lookup_Stream_Cursor_Input = {\n  /** Stream column input with initial value */\n  initial_value: Current_Ans_Lookup_Stream_Cursor_Value_Input;\n  /** cursor ordering */\n  ordering?: InputMaybe<Cursor_Ordering>;\n};\n\n/** Initial value of the column from where the streaming should start */\nexport type Current_Ans_Lookup_Stream_Cursor_Value_Input = {\n  domain?: InputMaybe<Scalars['String']['input']>;\n  expiration_timestamp?: InputMaybe<Scalars['timestamp']['input']>;\n  is_deleted?: InputMaybe<Scalars['Boolean']['input']>;\n  last_transaction_version?: InputMaybe<Scalars['bigint']['input']>;\n  registered_address?: InputMaybe<Scalars['String']['input']>;\n  subdomain?: InputMaybe<Scalars['String']['input']>;\n  token_name?: InputMaybe<Scalars['String']['input']>;\n};\n\n/** columns and relationships of \"current_ans_lookup_v2\" */\nexport type Current_Ans_Lookup_V2 = {\n  __typename?: 'current_ans_lookup_v2';\n  domain: Scalars['String']['output'];\n  expiration_timestamp: Scalars['timestamp']['output'];\n  is_deleted: Scalars['Boolean']['output'];\n  last_transaction_version: Scalars['bigint']['output'];\n  registered_address?: Maybe<Scalars['String']['output']>;\n  subdomain: Scalars['String']['output'];\n  token_name?: Maybe<Scalars['String']['output']>;\n  token_standard: Scalars['String']['output'];\n};\n\n/** Boolean expression to filter rows from the table \"current_ans_lookup_v2\". All fields are combined with a logical 'AND'. */\nexport type Current_Ans_Lookup_V2_Bool_Exp = {\n  _and?: InputMaybe<Array<Current_Ans_Lookup_V2_Bool_Exp>>;\n  _not?: InputMaybe<Current_Ans_Lookup_V2_Bool_Exp>;\n  _or?: InputMaybe<Array<Current_Ans_Lookup_V2_Bool_Exp>>;\n  domain?: InputMaybe<String_Comparison_Exp>;\n  expiration_timestamp?: InputMaybe<Timestamp_Comparison_Exp>;\n  is_deleted?: InputMaybe<Boolean_Comparison_Exp>;\n  last_transaction_version?: InputMaybe<Bigint_Comparison_Exp>;\n  registered_address?: InputMaybe<String_Comparison_Exp>;\n  subdomain?: InputMaybe<String_Comparison_Exp>;\n  token_name?: InputMaybe<String_Comparison_Exp>;\n  token_standard?: InputMaybe<String_Comparison_Exp>;\n};\n\n/** Ordering options when selecting data from \"current_ans_lookup_v2\". */\nexport type Current_Ans_Lookup_V2_Order_By = {\n  domain?: InputMaybe<Order_By>;\n  expiration_timestamp?: InputMaybe<Order_By>;\n  is_deleted?: InputMaybe<Order_By>;\n  last_transaction_version?: InputMaybe<Order_By>;\n  registered_address?: InputMaybe<Order_By>;\n  subdomain?: InputMaybe<Order_By>;\n  token_name?: InputMaybe<Order_By>;\n  token_standard?: InputMaybe<Order_By>;\n};\n\n/** select columns of table \"current_ans_lookup_v2\" */\nexport enum Current_Ans_Lookup_V2_Select_Column {\n  /** column name */\n  Domain = 'domain',\n  /** column name */\n  ExpirationTimestamp = 'expiration_timestamp',\n  /** column name */\n  IsDeleted = 'is_deleted',\n  /** column name */\n  LastTransactionVersion = 'last_transaction_version',\n  /** column name */\n  RegisteredAddress = 'registered_address',\n  /** column name */\n  Subdomain = 'subdomain',\n  /** column name */\n  TokenName = 'token_name',\n  /** column name */\n  TokenStandard = 'token_standard'\n}\n\n/** Streaming cursor of the table \"current_ans_lookup_v2\" */\nexport type Current_Ans_Lookup_V2_Stream_Cursor_Input = {\n  /** Stream column input with initial value */\n  initial_value: Current_Ans_Lookup_V2_Stream_Cursor_Value_Input;\n  /** cursor ordering */\n  ordering?: InputMaybe<Cursor_Ordering>;\n};\n\n/** Initial value of the column from where the streaming should start */\nexport type Current_Ans_Lookup_V2_Stream_Cursor_Value_Input = {\n  domain?: InputMaybe<Scalars['String']['input']>;\n  expiration_timestamp?: InputMaybe<Scalars['timestamp']['input']>;\n  is_deleted?: InputMaybe<Scalars['Boolean']['input']>;\n  last_transaction_version?: InputMaybe<Scalars['bigint']['input']>;\n  registered_address?: InputMaybe<Scalars['String']['input']>;\n  subdomain?: InputMaybe<Scalars['String']['input']>;\n  token_name?: InputMaybe<Scalars['String']['input']>;\n  token_standard?: InputMaybe<Scalars['String']['input']>;\n};\n\n/** columns and relationships of \"current_aptos_names\" */\nexport type Current_Aptos_Names = {\n  __typename?: 'current_aptos_names';\n  domain?: Maybe<Scalars['String']['output']>;\n  domain_with_suffix?: Maybe<Scalars['String']['output']>;\n  expiration_timestamp?: Maybe<Scalars['timestamp']['output']>;\n  is_active?: Maybe<Scalars['Boolean']['output']>;\n  /** An object relationship */\n  is_domain_owner?: Maybe<Current_Aptos_Names>;\n  is_primary?: Maybe<Scalars['Boolean']['output']>;\n  last_transaction_version?: Maybe<Scalars['bigint']['output']>;\n  owner_address?: Maybe<Scalars['String']['output']>;\n  registered_address?: Maybe<Scalars['String']['output']>;\n  subdomain?: Maybe<Scalars['String']['output']>;\n  token_name?: Maybe<Scalars['String']['output']>;\n  token_standard?: Maybe<Scalars['String']['output']>;\n};\n\n/** aggregated selection of \"current_aptos_names\" */\nexport type Current_Aptos_Names_Aggregate = {\n  __typename?: 'current_aptos_names_aggregate';\n  aggregate?: Maybe<Current_Aptos_Names_Aggregate_Fields>;\n  nodes: Array<Current_Aptos_Names>;\n};\n\nexport type Current_Aptos_Names_Aggregate_Bool_Exp = {\n  bool_and?: InputMaybe<Current_Aptos_Names_Aggregate_Bool_Exp_Bool_And>;\n  bool_or?: InputMaybe<Current_Aptos_Names_Aggregate_Bool_Exp_Bool_Or>;\n  count?: InputMaybe<Current_Aptos_Names_Aggregate_Bool_Exp_Count>;\n};\n\nexport type Current_Aptos_Names_Aggregate_Bool_Exp_Bool_And = {\n  arguments: Current_Aptos_Names_Select_Column_Current_Aptos_Names_Aggregate_Bool_Exp_Bool_And_Arguments_Columns;\n  distinct?: InputMaybe<Scalars['Boolean']['input']>;\n  filter?: InputMaybe<Current_Aptos_Names_Bool_Exp>;\n  predicate: Boolean_Comparison_Exp;\n};\n\nexport type Current_Aptos_Names_Aggregate_Bool_Exp_Bool_Or = {\n  arguments: Current_Aptos_Names_Select_Column_Current_Aptos_Names_Aggregate_Bool_Exp_Bool_Or_Arguments_Columns;\n  distinct?: InputMaybe<Scalars['Boolean']['input']>;\n  filter?: InputMaybe<Current_Aptos_Names_Bool_Exp>;\n  predicate: Boolean_Comparison_Exp;\n};\n\nexport type Current_Aptos_Names_Aggregate_Bool_Exp_Count = {\n  arguments?: InputMaybe<Array<Current_Aptos_Names_Select_Column>>;\n  distinct?: InputMaybe<Scalars['Boolean']['input']>;\n  filter?: InputMaybe<Current_Aptos_Names_Bool_Exp>;\n  predicate: Int_Comparison_Exp;\n};\n\n/** aggregate fields of \"current_aptos_names\" */\nexport type Current_Aptos_Names_Aggregate_Fields = {\n  __typename?: 'current_aptos_names_aggregate_fields';\n  avg?: Maybe<Current_Aptos_Names_Avg_Fields>;\n  count: Scalars['Int']['output'];\n  max?: Maybe<Current_Aptos_Names_Max_Fields>;\n  min?: Maybe<Current_Aptos_Names_Min_Fields>;\n  stddev?: Maybe<Current_Aptos_Names_Stddev_Fields>;\n  stddev_pop?: Maybe<Current_Aptos_Names_Stddev_Pop_Fields>;\n  stddev_samp?: Maybe<Current_Aptos_Names_Stddev_Samp_Fields>;\n  sum?: Maybe<Current_Aptos_Names_Sum_Fields>;\n  var_pop?: Maybe<Current_Aptos_Names_Var_Pop_Fields>;\n  var_samp?: Maybe<Current_Aptos_Names_Var_Samp_Fields>;\n  variance?: Maybe<Current_Aptos_Names_Variance_Fields>;\n};\n\n\n/** aggregate fields of \"current_aptos_names\" */\nexport type Current_Aptos_Names_Aggregate_FieldsCountArgs = {\n  columns?: InputMaybe<Array<Current_Aptos_Names_Select_Column>>;\n  distinct?: InputMaybe<Scalars['Boolean']['input']>;\n};\n\n/** order by aggregate values of table \"current_aptos_names\" */\nexport type Current_Aptos_Names_Aggregate_Order_By = {\n  avg?: InputMaybe<Current_Aptos_Names_Avg_Order_By>;\n  count?: InputMaybe<Order_By>;\n  max?: InputMaybe<Current_Aptos_Names_Max_Order_By>;\n  min?: InputMaybe<Current_Aptos_Names_Min_Order_By>;\n  stddev?: InputMaybe<Current_Aptos_Names_Stddev_Order_By>;\n  stddev_pop?: InputMaybe<Current_Aptos_Names_Stddev_Pop_Order_By>;\n  stddev_samp?: InputMaybe<Current_Aptos_Names_Stddev_Samp_Order_By>;\n  sum?: InputMaybe<Current_Aptos_Names_Sum_Order_By>;\n  var_pop?: InputMaybe<Current_Aptos_Names_Var_Pop_Order_By>;\n  var_samp?: InputMaybe<Current_Aptos_Names_Var_Samp_Order_By>;\n  variance?: InputMaybe<Current_Aptos_Names_Variance_Order_By>;\n};\n\n/** aggregate avg on columns */\nexport type Current_Aptos_Names_Avg_Fields = {\n  __typename?: 'current_aptos_names_avg_fields';\n  last_transaction_version?: Maybe<Scalars['Float']['output']>;\n};\n\n/** order by avg() on columns of table \"current_aptos_names\" */\nexport type Current_Aptos_Names_Avg_Order_By = {\n  last_transaction_version?: InputMaybe<Order_By>;\n};\n\n/** Boolean expression to filter rows from the table \"current_aptos_names\". All fields are combined with a logical 'AND'. */\nexport type Current_Aptos_Names_Bool_Exp = {\n  _and?: InputMaybe<Array<Current_Aptos_Names_Bool_Exp>>;\n  _not?: InputMaybe<Current_Aptos_Names_Bool_Exp>;\n  _or?: InputMaybe<Array<Current_Aptos_Names_Bool_Exp>>;\n  domain?: InputMaybe<String_Comparison_Exp>;\n  domain_with_suffix?: InputMaybe<String_Comparison_Exp>;\n  expiration_timestamp?: InputMaybe<Timestamp_Comparison_Exp>;\n  is_active?: InputMaybe<Boolean_Comparison_Exp>;\n  is_domain_owner?: InputMaybe<Current_Aptos_Names_Bool_Exp>;\n  is_primary?: InputMaybe<Boolean_Comparison_Exp>;\n  last_transaction_version?: InputMaybe<Bigint_Comparison_Exp>;\n  owner_address?: InputMaybe<String_Comparison_Exp>;\n  registered_address?: InputMaybe<String_Comparison_Exp>;\n  subdomain?: InputMaybe<String_Comparison_Exp>;\n  token_name?: InputMaybe<String_Comparison_Exp>;\n  token_standard?: InputMaybe<String_Comparison_Exp>;\n};\n\n/** aggregate max on columns */\nexport type Current_Aptos_Names_Max_Fields = {\n  __typename?: 'current_aptos_names_max_fields';\n  domain?: Maybe<Scalars['String']['output']>;\n  domain_with_suffix?: Maybe<Scalars['String']['output']>;\n  expiration_timestamp?: Maybe<Scalars['timestamp']['output']>;\n  last_transaction_version?: Maybe<Scalars['bigint']['output']>;\n  owner_address?: Maybe<Scalars['String']['output']>;\n  registered_address?: Maybe<Scalars['String']['output']>;\n  subdomain?: Maybe<Scalars['String']['output']>;\n  token_name?: Maybe<Scalars['String']['output']>;\n  token_standard?: Maybe<Scalars['String']['output']>;\n};\n\n/** order by max() on columns of table \"current_aptos_names\" */\nexport type Current_Aptos_Names_Max_Order_By = {\n  domain?: InputMaybe<Order_By>;\n  domain_with_suffix?: InputMaybe<Order_By>;\n  expiration_timestamp?: InputMaybe<Order_By>;\n  last_transaction_version?: InputMaybe<Order_By>;\n  owner_address?: InputMaybe<Order_By>;\n  registered_address?: InputMaybe<Order_By>;\n  subdomain?: InputMaybe<Order_By>;\n  token_name?: InputMaybe<Order_By>;\n  token_standard?: InputMaybe<Order_By>;\n};\n\n/** aggregate min on columns */\nexport type Current_Aptos_Names_Min_Fields = {\n  __typename?: 'current_aptos_names_min_fields';\n  domain?: Maybe<Scalars['String']['output']>;\n  domain_with_suffix?: Maybe<Scalars['String']['output']>;\n  expiration_timestamp?: Maybe<Scalars['timestamp']['output']>;\n  last_transaction_version?: Maybe<Scalars['bigint']['output']>;\n  owner_address?: Maybe<Scalars['String']['output']>;\n  registered_address?: Maybe<Scalars['String']['output']>;\n  subdomain?: Maybe<Scalars['String']['output']>;\n  token_name?: Maybe<Scalars['String']['output']>;\n  token_standard?: Maybe<Scalars['String']['output']>;\n};\n\n/** order by min() on columns of table \"current_aptos_names\" */\nexport type Current_Aptos_Names_Min_Order_By = {\n  domain?: InputMaybe<Order_By>;\n  domain_with_suffix?: InputMaybe<Order_By>;\n  expiration_timestamp?: InputMaybe<Order_By>;\n  last_transaction_version?: InputMaybe<Order_By>;\n  owner_address?: InputMaybe<Order_By>;\n  registered_address?: InputMaybe<Order_By>;\n  subdomain?: InputMaybe<Order_By>;\n  token_name?: InputMaybe<Order_By>;\n  token_standard?: InputMaybe<Order_By>;\n};\n\n/** Ordering options when selecting data from \"current_aptos_names\". */\nexport type Current_Aptos_Names_Order_By = {\n  domain?: InputMaybe<Order_By>;\n  domain_with_suffix?: InputMaybe<Order_By>;\n  expiration_timestamp?: InputMaybe<Order_By>;\n  is_active?: InputMaybe<Order_By>;\n  is_domain_owner?: InputMaybe<Current_Aptos_Names_Order_By>;\n  is_primary?: InputMaybe<Order_By>;\n  last_transaction_version?: InputMaybe<Order_By>;\n  owner_address?: InputMaybe<Order_By>;\n  registered_address?: InputMaybe<Order_By>;\n  subdomain?: InputMaybe<Order_By>;\n  token_name?: InputMaybe<Order_By>;\n  token_standard?: InputMaybe<Order_By>;\n};\n\n/** select columns of table \"current_aptos_names\" */\nexport enum Current_Aptos_Names_Select_Column {\n  /** column name */\n  Domain = 'domain',\n  /** column name */\n  DomainWithSuffix = 'domain_with_suffix',\n  /** column name */\n  ExpirationTimestamp = 'expiration_timestamp',\n  /** column name */\n  IsActive = 'is_active',\n  /** column name */\n  IsPrimary = 'is_primary',\n  /** column name */\n  LastTransactionVersion = 'last_transaction_version',\n  /** column name */\n  OwnerAddress = 'owner_address',\n  /** column name */\n  RegisteredAddress = 'registered_address',\n  /** column name */\n  Subdomain = 'subdomain',\n  /** column name */\n  TokenName = 'token_name',\n  /** column name */\n  TokenStandard = 'token_standard'\n}\n\n/** select \"current_aptos_names_aggregate_bool_exp_bool_and_arguments_columns\" columns of table \"current_aptos_names\" */\nexport enum Current_Aptos_Names_Select_Column_Current_Aptos_Names_Aggregate_Bool_Exp_Bool_And_Arguments_Columns {\n  /** column name */\n  IsActive = 'is_active',\n  /** column name */\n  IsPrimary = 'is_primary'\n}\n\n/** select \"current_aptos_names_aggregate_bool_exp_bool_or_arguments_columns\" columns of table \"current_aptos_names\" */\nexport enum Current_Aptos_Names_Select_Column_Current_Aptos_Names_Aggregate_Bool_Exp_Bool_Or_Arguments_Columns {\n  /** column name */\n  IsActive = 'is_active',\n  /** column name */\n  IsPrimary = 'is_primary'\n}\n\n/** aggregate stddev on columns */\nexport type Current_Aptos_Names_Stddev_Fields = {\n  __typename?: 'current_aptos_names_stddev_fields';\n  last_transaction_version?: Maybe<Scalars['Float']['output']>;\n};\n\n/** order by stddev() on columns of table \"current_aptos_names\" */\nexport type Current_Aptos_Names_Stddev_Order_By = {\n  last_transaction_version?: InputMaybe<Order_By>;\n};\n\n/** aggregate stddev_pop on columns */\nexport type Current_Aptos_Names_Stddev_Pop_Fields = {\n  __typename?: 'current_aptos_names_stddev_pop_fields';\n  last_transaction_version?: Maybe<Scalars['Float']['output']>;\n};\n\n/** order by stddev_pop() on columns of table \"current_aptos_names\" */\nexport type Current_Aptos_Names_Stddev_Pop_Order_By = {\n  last_transaction_version?: InputMaybe<Order_By>;\n};\n\n/** aggregate stddev_samp on columns */\nexport type Current_Aptos_Names_Stddev_Samp_Fields = {\n  __typename?: 'current_aptos_names_stddev_samp_fields';\n  last_transaction_version?: Maybe<Scalars['Float']['output']>;\n};\n\n/** order by stddev_samp() on columns of table \"current_aptos_names\" */\nexport type Current_Aptos_Names_Stddev_Samp_Order_By = {\n  last_transaction_version?: InputMaybe<Order_By>;\n};\n\n/** Streaming cursor of the table \"current_aptos_names\" */\nexport type Current_Aptos_Names_Stream_Cursor_Input = {\n  /** Stream column input with initial value */\n  initial_value: Current_Aptos_Names_Stream_Cursor_Value_Input;\n  /** cursor ordering */\n  ordering?: InputMaybe<Cursor_Ordering>;\n};\n\n/** Initial value of the column from where the streaming should start */\nexport type Current_Aptos_Names_Stream_Cursor_Value_Input = {\n  domain?: InputMaybe<Scalars['String']['input']>;\n  domain_with_suffix?: InputMaybe<Scalars['String']['input']>;\n  expiration_timestamp?: InputMaybe<Scalars['timestamp']['input']>;\n  is_active?: InputMaybe<Scalars['Boolean']['input']>;\n  is_primary?: InputMaybe<Scalars['Boolean']['input']>;\n  last_transaction_version?: InputMaybe<Scalars['bigint']['input']>;\n  owner_address?: InputMaybe<Scalars['String']['input']>;\n  registered_address?: InputMaybe<Scalars['String']['input']>;\n  subdomain?: InputMaybe<Scalars['String']['input']>;\n  token_name?: InputMaybe<Scalars['String']['input']>;\n  token_standard?: InputMaybe<Scalars['String']['input']>;\n};\n\n/** aggregate sum on columns */\nexport type Current_Aptos_Names_Sum_Fields = {\n  __typename?: 'current_aptos_names_sum_fields';\n  last_transaction_version?: Maybe<Scalars['bigint']['output']>;\n};\n\n/** order by sum() on columns of table \"current_aptos_names\" */\nexport type Current_Aptos_Names_Sum_Order_By = {\n  last_transaction_version?: InputMaybe<Order_By>;\n};\n\n/** aggregate var_pop on columns */\nexport type Current_Aptos_Names_Var_Pop_Fields = {\n  __typename?: 'current_aptos_names_var_pop_fields';\n  last_transaction_version?: Maybe<Scalars['Float']['output']>;\n};\n\n/** order by var_pop() on columns of table \"current_aptos_names\" */\nexport type Current_Aptos_Names_Var_Pop_Order_By = {\n  last_transaction_version?: InputMaybe<Order_By>;\n};\n\n/** aggregate var_samp on columns */\nexport type Current_Aptos_Names_Var_Samp_Fields = {\n  __typename?: 'current_aptos_names_var_samp_fields';\n  last_transaction_version?: Maybe<Scalars['Float']['output']>;\n};\n\n/** order by var_samp() on columns of table \"current_aptos_names\" */\nexport type Current_Aptos_Names_Var_Samp_Order_By = {\n  last_transaction_version?: InputMaybe<Order_By>;\n};\n\n/** aggregate variance on columns */\nexport type Current_Aptos_Names_Variance_Fields = {\n  __typename?: 'current_aptos_names_variance_fields';\n  last_transaction_version?: Maybe<Scalars['Float']['output']>;\n};\n\n/** order by variance() on columns of table \"current_aptos_names\" */\nexport type Current_Aptos_Names_Variance_Order_By = {\n  last_transaction_version?: InputMaybe<Order_By>;\n};\n\n/** columns and relationships of \"current_coin_balances\" */\nexport type Current_Coin_Balances = {\n  __typename?: 'current_coin_balances';\n  amount: Scalars['numeric']['output'];\n  /** An object relationship */\n  coin_info?: Maybe<Coin_Infos>;\n  coin_type: Scalars['String']['output'];\n  coin_type_hash: Scalars['String']['output'];\n  last_transaction_timestamp: Scalars['timestamp']['output'];\n  last_transaction_version: Scalars['bigint']['output'];\n  owner_address: Scalars['String']['output'];\n};\n\n/** Boolean expression to filter rows from the table \"current_coin_balances\". All fields are combined with a logical 'AND'. */\nexport type Current_Coin_Balances_Bool_Exp = {\n  _and?: InputMaybe<Array<Current_Coin_Balances_Bool_Exp>>;\n  _not?: InputMaybe<Current_Coin_Balances_Bool_Exp>;\n  _or?: InputMaybe<Array<Current_Coin_Balances_Bool_Exp>>;\n  amount?: InputMaybe<Numeric_Comparison_Exp>;\n  coin_info?: InputMaybe<Coin_Infos_Bool_Exp>;\n  coin_type?: InputMaybe<String_Comparison_Exp>;\n  coin_type_hash?: InputMaybe<String_Comparison_Exp>;\n  last_transaction_timestamp?: InputMaybe<Timestamp_Comparison_Exp>;\n  last_transaction_version?: InputMaybe<Bigint_Comparison_Exp>;\n  owner_address?: InputMaybe<String_Comparison_Exp>;\n};\n\n/** Ordering options when selecting data from \"current_coin_balances\". */\nexport type Current_Coin_Balances_Order_By = {\n  amount?: InputMaybe<Order_By>;\n  coin_info?: InputMaybe<Coin_Infos_Order_By>;\n  coin_type?: InputMaybe<Order_By>;\n  coin_type_hash?: InputMaybe<Order_By>;\n  last_transaction_timestamp?: InputMaybe<Order_By>;\n  last_transaction_version?: InputMaybe<Order_By>;\n  owner_address?: InputMaybe<Order_By>;\n};\n\n/** select columns of table \"current_coin_balances\" */\nexport enum Current_Coin_Balances_Select_Column {\n  /** column name */\n  Amount = 'amount',\n  /** column name */\n  CoinType = 'coin_type',\n  /** column name */\n  CoinTypeHash = 'coin_type_hash',\n  /** column name */\n  LastTransactionTimestamp = 'last_transaction_timestamp',\n  /** column name */\n  LastTransactionVersion = 'last_transaction_version',\n  /** column name */\n  OwnerAddress = 'owner_address'\n}\n\n/** Streaming cursor of the table \"current_coin_balances\" */\nexport type Current_Coin_Balances_Stream_Cursor_Input = {\n  /** Stream column input with initial value */\n  initial_value: Current_Coin_Balances_Stream_Cursor_Value_Input;\n  /** cursor ordering */\n  ordering?: InputMaybe<Cursor_Ordering>;\n};\n\n/** Initial value of the column from where the streaming should start */\nexport type Current_Coin_Balances_Stream_Cursor_Value_Input = {\n  amount?: InputMaybe<Scalars['numeric']['input']>;\n  coin_type?: InputMaybe<Scalars['String']['input']>;\n  coin_type_hash?: InputMaybe<Scalars['String']['input']>;\n  last_transaction_timestamp?: InputMaybe<Scalars['timestamp']['input']>;\n  last_transaction_version?: InputMaybe<Scalars['bigint']['input']>;\n  owner_address?: InputMaybe<Scalars['String']['input']>;\n};\n\n/** columns and relationships of \"current_collection_datas\" */\nexport type Current_Collection_Datas = {\n  __typename?: 'current_collection_datas';\n  collection_data_id_hash: Scalars['String']['output'];\n  collection_name: Scalars['String']['output'];\n  creator_address: Scalars['String']['output'];\n  description: Scalars['String']['output'];\n  description_mutable: Scalars['Boolean']['output'];\n  last_transaction_timestamp: Scalars['timestamp']['output'];\n  last_transaction_version: Scalars['bigint']['output'];\n  maximum: Scalars['numeric']['output'];\n  maximum_mutable: Scalars['Boolean']['output'];\n  metadata_uri: Scalars['String']['output'];\n  supply: Scalars['numeric']['output'];\n  table_handle: Scalars['String']['output'];\n  uri_mutable: Scalars['Boolean']['output'];\n};\n\n/** Boolean expression to filter rows from the table \"current_collection_datas\". All fields are combined with a logical 'AND'. */\nexport type Current_Collection_Datas_Bool_Exp = {\n  _and?: InputMaybe<Array<Current_Collection_Datas_Bool_Exp>>;\n  _not?: InputMaybe<Current_Collection_Datas_Bool_Exp>;\n  _or?: InputMaybe<Array<Current_Collection_Datas_Bool_Exp>>;\n  collection_data_id_hash?: InputMaybe<String_Comparison_Exp>;\n  collection_name?: InputMaybe<String_Comparison_Exp>;\n  creator_address?: InputMaybe<String_Comparison_Exp>;\n  description?: InputMaybe<String_Comparison_Exp>;\n  description_mutable?: InputMaybe<Boolean_Comparison_Exp>;\n  last_transaction_timestamp?: InputMaybe<Timestamp_Comparison_Exp>;\n  last_transaction_version?: InputMaybe<Bigint_Comparison_Exp>;\n  maximum?: InputMaybe<Numeric_Comparison_Exp>;\n  maximum_mutable?: InputMaybe<Boolean_Comparison_Exp>;\n  metadata_uri?: InputMaybe<String_Comparison_Exp>;\n  supply?: InputMaybe<Numeric_Comparison_Exp>;\n  table_handle?: InputMaybe<String_Comparison_Exp>;\n  uri_mutable?: InputMaybe<Boolean_Comparison_Exp>;\n};\n\n/** Ordering options when selecting data from \"current_collection_datas\". */\nexport type Current_Collection_Datas_Order_By = {\n  collection_data_id_hash?: InputMaybe<Order_By>;\n  collection_name?: InputMaybe<Order_By>;\n  creator_address?: InputMaybe<Order_By>;\n  description?: InputMaybe<Order_By>;\n  description_mutable?: InputMaybe<Order_By>;\n  last_transaction_timestamp?: InputMaybe<Order_By>;\n  last_transaction_version?: InputMaybe<Order_By>;\n  maximum?: InputMaybe<Order_By>;\n  maximum_mutable?: InputMaybe<Order_By>;\n  metadata_uri?: InputMaybe<Order_By>;\n  supply?: InputMaybe<Order_By>;\n  table_handle?: InputMaybe<Order_By>;\n  uri_mutable?: InputMaybe<Order_By>;\n};\n\n/** select columns of table \"current_collection_datas\" */\nexport enum Current_Collection_Datas_Select_Column {\n  /** column name */\n  CollectionDataIdHash = 'collection_data_id_hash',\n  /** column name */\n  CollectionName = 'collection_name',\n  /** column name */\n  CreatorAddress = 'creator_address',\n  /** column name */\n  Description = 'description',\n  /** column name */\n  DescriptionMutable = 'description_mutable',\n  /** column name */\n  LastTransactionTimestamp = 'last_transaction_timestamp',\n  /** column name */\n  LastTransactionVersion = 'last_transaction_version',\n  /** column name */\n  Maximum = 'maximum',\n  /** column name */\n  MaximumMutable = 'maximum_mutable',\n  /** column name */\n  MetadataUri = 'metadata_uri',\n  /** column name */\n  Supply = 'supply',\n  /** column name */\n  TableHandle = 'table_handle',\n  /** column name */\n  UriMutable = 'uri_mutable'\n}\n\n/** Streaming cursor of the table \"current_collection_datas\" */\nexport type Current_Collection_Datas_Stream_Cursor_Input = {\n  /** Stream column input with initial value */\n  initial_value: Current_Collection_Datas_Stream_Cursor_Value_Input;\n  /** cursor ordering */\n  ordering?: InputMaybe<Cursor_Ordering>;\n};\n\n/** Initial value of the column from where the streaming should start */\nexport type Current_Collection_Datas_Stream_Cursor_Value_Input = {\n  collection_data_id_hash?: InputMaybe<Scalars['String']['input']>;\n  collection_name?: InputMaybe<Scalars['String']['input']>;\n  creator_address?: InputMaybe<Scalars['String']['input']>;\n  description?: InputMaybe<Scalars['String']['input']>;\n  description_mutable?: InputMaybe<Scalars['Boolean']['input']>;\n  last_transaction_timestamp?: InputMaybe<Scalars['timestamp']['input']>;\n  last_transaction_version?: InputMaybe<Scalars['bigint']['input']>;\n  maximum?: InputMaybe<Scalars['numeric']['input']>;\n  maximum_mutable?: InputMaybe<Scalars['Boolean']['input']>;\n  metadata_uri?: InputMaybe<Scalars['String']['input']>;\n  supply?: InputMaybe<Scalars['numeric']['input']>;\n  table_handle?: InputMaybe<Scalars['String']['input']>;\n  uri_mutable?: InputMaybe<Scalars['Boolean']['input']>;\n};\n\n/** columns and relationships of \"current_collection_ownership_v2_view\" */\nexport type Current_Collection_Ownership_V2_View = {\n  __typename?: 'current_collection_ownership_v2_view';\n  collection_id?: Maybe<Scalars['String']['output']>;\n  collection_name?: Maybe<Scalars['String']['output']>;\n  collection_uri?: Maybe<Scalars['String']['output']>;\n  creator_address?: Maybe<Scalars['String']['output']>;\n  /** An object relationship */\n  current_collection?: Maybe<Current_Collections_V2>;\n  distinct_tokens?: Maybe<Scalars['bigint']['output']>;\n  last_transaction_version?: Maybe<Scalars['bigint']['output']>;\n  owner_address?: Maybe<Scalars['String']['output']>;\n  single_token_uri?: Maybe<Scalars['String']['output']>;\n};\n\n/** aggregated selection of \"current_collection_ownership_v2_view\" */\nexport type Current_Collection_Ownership_V2_View_Aggregate = {\n  __typename?: 'current_collection_ownership_v2_view_aggregate';\n  aggregate?: Maybe<Current_Collection_Ownership_V2_View_Aggregate_Fields>;\n  nodes: Array<Current_Collection_Ownership_V2_View>;\n};\n\n/** aggregate fields of \"current_collection_ownership_v2_view\" */\nexport type Current_Collection_Ownership_V2_View_Aggregate_Fields = {\n  __typename?: 'current_collection_ownership_v2_view_aggregate_fields';\n  avg?: Maybe<Current_Collection_Ownership_V2_View_Avg_Fields>;\n  count: Scalars['Int']['output'];\n  max?: Maybe<Current_Collection_Ownership_V2_View_Max_Fields>;\n  min?: Maybe<Current_Collection_Ownership_V2_View_Min_Fields>;\n  stddev?: Maybe<Current_Collection_Ownership_V2_View_Stddev_Fields>;\n  stddev_pop?: Maybe<Current_Collection_Ownership_V2_View_Stddev_Pop_Fields>;\n  stddev_samp?: Maybe<Current_Collection_Ownership_V2_View_Stddev_Samp_Fields>;\n  sum?: Maybe<Current_Collection_Ownership_V2_View_Sum_Fields>;\n  var_pop?: Maybe<Current_Collection_Ownership_V2_View_Var_Pop_Fields>;\n  var_samp?: Maybe<Current_Collection_Ownership_V2_View_Var_Samp_Fields>;\n  variance?: Maybe<Current_Collection_Ownership_V2_View_Variance_Fields>;\n};\n\n\n/** aggregate fields of \"current_collection_ownership_v2_view\" */\nexport type Current_Collection_Ownership_V2_View_Aggregate_FieldsCountArgs = {\n  columns?: InputMaybe<Array<Current_Collection_Ownership_V2_View_Select_Column>>;\n  distinct?: InputMaybe<Scalars['Boolean']['input']>;\n};\n\n/** aggregate avg on columns */\nexport type Current_Collection_Ownership_V2_View_Avg_Fields = {\n  __typename?: 'current_collection_ownership_v2_view_avg_fields';\n  distinct_tokens?: Maybe<Scalars['Float']['output']>;\n  last_transaction_version?: Maybe<Scalars['Float']['output']>;\n};\n\n/** Boolean expression to filter rows from the table \"current_collection_ownership_v2_view\". All fields are combined with a logical 'AND'. */\nexport type Current_Collection_Ownership_V2_View_Bool_Exp = {\n  _and?: InputMaybe<Array<Current_Collection_Ownership_V2_View_Bool_Exp>>;\n  _not?: InputMaybe<Current_Collection_Ownership_V2_View_Bool_Exp>;\n  _or?: InputMaybe<Array<Current_Collection_Ownership_V2_View_Bool_Exp>>;\n  collection_id?: InputMaybe<String_Comparison_Exp>;\n  collection_name?: InputMaybe<String_Comparison_Exp>;\n  collection_uri?: InputMaybe<String_Comparison_Exp>;\n  creator_address?: InputMaybe<String_Comparison_Exp>;\n  current_collection?: InputMaybe<Current_Collections_V2_Bool_Exp>;\n  distinct_tokens?: InputMaybe<Bigint_Comparison_Exp>;\n  last_transaction_version?: InputMaybe<Bigint_Comparison_Exp>;\n  owner_address?: InputMaybe<String_Comparison_Exp>;\n  single_token_uri?: InputMaybe<String_Comparison_Exp>;\n};\n\n/** aggregate max on columns */\nexport type Current_Collection_Ownership_V2_View_Max_Fields = {\n  __typename?: 'current_collection_ownership_v2_view_max_fields';\n  collection_id?: Maybe<Scalars['String']['output']>;\n  collection_name?: Maybe<Scalars['String']['output']>;\n  collection_uri?: Maybe<Scalars['String']['output']>;\n  creator_address?: Maybe<Scalars['String']['output']>;\n  distinct_tokens?: Maybe<Scalars['bigint']['output']>;\n  last_transaction_version?: Maybe<Scalars['bigint']['output']>;\n  owner_address?: Maybe<Scalars['String']['output']>;\n  single_token_uri?: Maybe<Scalars['String']['output']>;\n};\n\n/** aggregate min on columns */\nexport type Current_Collection_Ownership_V2_View_Min_Fields = {\n  __typename?: 'current_collection_ownership_v2_view_min_fields';\n  collection_id?: Maybe<Scalars['String']['output']>;\n  collection_name?: Maybe<Scalars['String']['output']>;\n  collection_uri?: Maybe<Scalars['String']['output']>;\n  creator_address?: Maybe<Scalars['String']['output']>;\n  distinct_tokens?: Maybe<Scalars['bigint']['output']>;\n  last_transaction_version?: Maybe<Scalars['bigint']['output']>;\n  owner_address?: Maybe<Scalars['String']['output']>;\n  single_token_uri?: Maybe<Scalars['String']['output']>;\n};\n\n/** Ordering options when selecting data from \"current_collection_ownership_v2_view\". */\nexport type Current_Collection_Ownership_V2_View_Order_By = {\n  collection_id?: InputMaybe<Order_By>;\n  collection_name?: InputMaybe<Order_By>;\n  collection_uri?: InputMaybe<Order_By>;\n  creator_address?: InputMaybe<Order_By>;\n  current_collection?: InputMaybe<Current_Collections_V2_Order_By>;\n  distinct_tokens?: InputMaybe<Order_By>;\n  last_transaction_version?: InputMaybe<Order_By>;\n  owner_address?: InputMaybe<Order_By>;\n  single_token_uri?: InputMaybe<Order_By>;\n};\n\n/** select columns of table \"current_collection_ownership_v2_view\" */\nexport enum Current_Collection_Ownership_V2_View_Select_Column {\n  /** column name */\n  CollectionId = 'collection_id',\n  /** column name */\n  CollectionName = 'collection_name',\n  /** column name */\n  CollectionUri = 'collection_uri',\n  /** column name */\n  CreatorAddress = 'creator_address',\n  /** column name */\n  DistinctTokens = 'distinct_tokens',\n  /** column name */\n  LastTransactionVersion = 'last_transaction_version',\n  /** column name */\n  OwnerAddress = 'owner_address',\n  /** column name */\n  SingleTokenUri = 'single_token_uri'\n}\n\n/** aggregate stddev on columns */\nexport type Current_Collection_Ownership_V2_View_Stddev_Fields = {\n  __typename?: 'current_collection_ownership_v2_view_stddev_fields';\n  distinct_tokens?: Maybe<Scalars['Float']['output']>;\n  last_transaction_version?: Maybe<Scalars['Float']['output']>;\n};\n\n/** aggregate stddev_pop on columns */\nexport type Current_Collection_Ownership_V2_View_Stddev_Pop_Fields = {\n  __typename?: 'current_collection_ownership_v2_view_stddev_pop_fields';\n  distinct_tokens?: Maybe<Scalars['Float']['output']>;\n  last_transaction_version?: Maybe<Scalars['Float']['output']>;\n};\n\n/** aggregate stddev_samp on columns */\nexport type Current_Collection_Ownership_V2_View_Stddev_Samp_Fields = {\n  __typename?: 'current_collection_ownership_v2_view_stddev_samp_fields';\n  distinct_tokens?: Maybe<Scalars['Float']['output']>;\n  last_transaction_version?: Maybe<Scalars['Float']['output']>;\n};\n\n/** Streaming cursor of the table \"current_collection_ownership_v2_view\" */\nexport type Current_Collection_Ownership_V2_View_Stream_Cursor_Input = {\n  /** Stream column input with initial value */\n  initial_value: Current_Collection_Ownership_V2_View_Stream_Cursor_Value_Input;\n  /** cursor ordering */\n  ordering?: InputMaybe<Cursor_Ordering>;\n};\n\n/** Initial value of the column from where the streaming should start */\nexport type Current_Collection_Ownership_V2_View_Stream_Cursor_Value_Input = {\n  collection_id?: InputMaybe<Scalars['String']['input']>;\n  collection_name?: InputMaybe<Scalars['String']['input']>;\n  collection_uri?: InputMaybe<Scalars['String']['input']>;\n  creator_address?: InputMaybe<Scalars['String']['input']>;\n  distinct_tokens?: InputMaybe<Scalars['bigint']['input']>;\n  last_transaction_version?: InputMaybe<Scalars['bigint']['input']>;\n  owner_address?: InputMaybe<Scalars['String']['input']>;\n  single_token_uri?: InputMaybe<Scalars['String']['input']>;\n};\n\n/** aggregate sum on columns */\nexport type Current_Collection_Ownership_V2_View_Sum_Fields = {\n  __typename?: 'current_collection_ownership_v2_view_sum_fields';\n  distinct_tokens?: Maybe<Scalars['bigint']['output']>;\n  last_transaction_version?: Maybe<Scalars['bigint']['output']>;\n};\n\n/** aggregate var_pop on columns */\nexport type Current_Collection_Ownership_V2_View_Var_Pop_Fields = {\n  __typename?: 'current_collection_ownership_v2_view_var_pop_fields';\n  distinct_tokens?: Maybe<Scalars['Float']['output']>;\n  last_transaction_version?: Maybe<Scalars['Float']['output']>;\n};\n\n/** aggregate var_samp on columns */\nexport type Current_Collection_Ownership_V2_View_Var_Samp_Fields = {\n  __typename?: 'current_collection_ownership_v2_view_var_samp_fields';\n  distinct_tokens?: Maybe<Scalars['Float']['output']>;\n  last_transaction_version?: Maybe<Scalars['Float']['output']>;\n};\n\n/** aggregate variance on columns */\nexport type Current_Collection_Ownership_V2_View_Variance_Fields = {\n  __typename?: 'current_collection_ownership_v2_view_variance_fields';\n  distinct_tokens?: Maybe<Scalars['Float']['output']>;\n  last_transaction_version?: Maybe<Scalars['Float']['output']>;\n};\n\n/** columns and relationships of \"current_collections_v2\" */\nexport type Current_Collections_V2 = {\n  __typename?: 'current_collections_v2';\n  /** An object relationship */\n  cdn_asset_uris?: Maybe<Nft_Metadata_Crawler_Parsed_Asset_Uris>;\n  collection_id: Scalars['String']['output'];\n  collection_name: Scalars['String']['output'];\n  creator_address: Scalars['String']['output'];\n  current_supply: Scalars['numeric']['output'];\n  description: Scalars['String']['output'];\n  last_transaction_timestamp: Scalars['timestamp']['output'];\n  last_transaction_version: Scalars['bigint']['output'];\n  max_supply?: Maybe<Scalars['numeric']['output']>;\n  mutable_description?: Maybe<Scalars['Boolean']['output']>;\n  mutable_uri?: Maybe<Scalars['Boolean']['output']>;\n  table_handle_v1?: Maybe<Scalars['String']['output']>;\n  token_standard: Scalars['String']['output'];\n  total_minted_v2?: Maybe<Scalars['numeric']['output']>;\n  uri: Scalars['String']['output'];\n};\n\n/** Boolean expression to filter rows from the table \"current_collections_v2\". All fields are combined with a logical 'AND'. */\nexport type Current_Collections_V2_Bool_Exp = {\n  _and?: InputMaybe<Array<Current_Collections_V2_Bool_Exp>>;\n  _not?: InputMaybe<Current_Collections_V2_Bool_Exp>;\n  _or?: InputMaybe<Array<Current_Collections_V2_Bool_Exp>>;\n  cdn_asset_uris?: InputMaybe<Nft_Metadata_Crawler_Parsed_Asset_Uris_Bool_Exp>;\n  collection_id?: InputMaybe<String_Comparison_Exp>;\n  collection_name?: InputMaybe<String_Comparison_Exp>;\n  creator_address?: InputMaybe<String_Comparison_Exp>;\n  current_supply?: InputMaybe<Numeric_Comparison_Exp>;\n  description?: InputMaybe<String_Comparison_Exp>;\n  last_transaction_timestamp?: InputMaybe<Timestamp_Comparison_Exp>;\n  last_transaction_version?: InputMaybe<Bigint_Comparison_Exp>;\n  max_supply?: InputMaybe<Numeric_Comparison_Exp>;\n  mutable_description?: InputMaybe<Boolean_Comparison_Exp>;\n  mutable_uri?: InputMaybe<Boolean_Comparison_Exp>;\n  table_handle_v1?: InputMaybe<String_Comparison_Exp>;\n  token_standard?: InputMaybe<String_Comparison_Exp>;\n  total_minted_v2?: InputMaybe<Numeric_Comparison_Exp>;\n  uri?: InputMaybe<String_Comparison_Exp>;\n};\n\n/** Ordering options when selecting data from \"current_collections_v2\". */\nexport type Current_Collections_V2_Order_By = {\n  cdn_asset_uris?: InputMaybe<Nft_Metadata_Crawler_Parsed_Asset_Uris_Order_By>;\n  collection_id?: InputMaybe<Order_By>;\n  collection_name?: InputMaybe<Order_By>;\n  creator_address?: InputMaybe<Order_By>;\n  current_supply?: InputMaybe<Order_By>;\n  description?: InputMaybe<Order_By>;\n  last_transaction_timestamp?: InputMaybe<Order_By>;\n  last_transaction_version?: InputMaybe<Order_By>;\n  max_supply?: InputMaybe<Order_By>;\n  mutable_description?: InputMaybe<Order_By>;\n  mutable_uri?: InputMaybe<Order_By>;\n  table_handle_v1?: InputMaybe<Order_By>;\n  token_standard?: InputMaybe<Order_By>;\n  total_minted_v2?: InputMaybe<Order_By>;\n  uri?: InputMaybe<Order_By>;\n};\n\n/** select columns of table \"current_collections_v2\" */\nexport enum Current_Collections_V2_Select_Column {\n  /** column name */\n  CollectionId = 'collection_id',\n  /** column name */\n  CollectionName = 'collection_name',\n  /** column name */\n  CreatorAddress = 'creator_address',\n  /** column name */\n  CurrentSupply = 'current_supply',\n  /** column name */\n  Description = 'description',\n  /** column name */\n  LastTransactionTimestamp = 'last_transaction_timestamp',\n  /** column name */\n  LastTransactionVersion = 'last_transaction_version',\n  /** column name */\n  MaxSupply = 'max_supply',\n  /** column name */\n  MutableDescription = 'mutable_description',\n  /** column name */\n  MutableUri = 'mutable_uri',\n  /** column name */\n  TableHandleV1 = 'table_handle_v1',\n  /** column name */\n  TokenStandard = 'token_standard',\n  /** column name */\n  TotalMintedV2 = 'total_minted_v2',\n  /** column name */\n  Uri = 'uri'\n}\n\n/** Streaming cursor of the table \"current_collections_v2\" */\nexport type Current_Collections_V2_Stream_Cursor_Input = {\n  /** Stream column input with initial value */\n  initial_value: Current_Collections_V2_Stream_Cursor_Value_Input;\n  /** cursor ordering */\n  ordering?: InputMaybe<Cursor_Ordering>;\n};\n\n/** Initial value of the column from where the streaming should start */\nexport type Current_Collections_V2_Stream_Cursor_Value_Input = {\n  collection_id?: InputMaybe<Scalars['String']['input']>;\n  collection_name?: InputMaybe<Scalars['String']['input']>;\n  creator_address?: InputMaybe<Scalars['String']['input']>;\n  current_supply?: InputMaybe<Scalars['numeric']['input']>;\n  description?: InputMaybe<Scalars['String']['input']>;\n  last_transaction_timestamp?: InputMaybe<Scalars['timestamp']['input']>;\n  last_transaction_version?: InputMaybe<Scalars['bigint']['input']>;\n  max_supply?: InputMaybe<Scalars['numeric']['input']>;\n  mutable_description?: InputMaybe<Scalars['Boolean']['input']>;\n  mutable_uri?: InputMaybe<Scalars['Boolean']['input']>;\n  table_handle_v1?: InputMaybe<Scalars['String']['input']>;\n  token_standard?: InputMaybe<Scalars['String']['input']>;\n  total_minted_v2?: InputMaybe<Scalars['numeric']['input']>;\n  uri?: InputMaybe<Scalars['String']['input']>;\n};\n\n/** columns and relationships of \"current_delegated_staking_pool_balances\" */\nexport type Current_Delegated_Staking_Pool_Balances = {\n  __typename?: 'current_delegated_staking_pool_balances';\n  active_table_handle: Scalars['String']['output'];\n  inactive_table_handle: Scalars['String']['output'];\n  last_transaction_version: Scalars['bigint']['output'];\n  operator_commission_percentage: Scalars['numeric']['output'];\n  staking_pool_address: Scalars['String']['output'];\n  total_coins: Scalars['numeric']['output'];\n  total_shares: Scalars['numeric']['output'];\n};\n\n/** Boolean expression to filter rows from the table \"current_delegated_staking_pool_balances\". All fields are combined with a logical 'AND'. */\nexport type Current_Delegated_Staking_Pool_Balances_Bool_Exp = {\n  _and?: InputMaybe<Array<Current_Delegated_Staking_Pool_Balances_Bool_Exp>>;\n  _not?: InputMaybe<Current_Delegated_Staking_Pool_Balances_Bool_Exp>;\n  _or?: InputMaybe<Array<Current_Delegated_Staking_Pool_Balances_Bool_Exp>>;\n  active_table_handle?: InputMaybe<String_Comparison_Exp>;\n  inactive_table_handle?: InputMaybe<String_Comparison_Exp>;\n  last_transaction_version?: InputMaybe<Bigint_Comparison_Exp>;\n  operator_commission_percentage?: InputMaybe<Numeric_Comparison_Exp>;\n  staking_pool_address?: InputMaybe<String_Comparison_Exp>;\n  total_coins?: InputMaybe<Numeric_Comparison_Exp>;\n  total_shares?: InputMaybe<Numeric_Comparison_Exp>;\n};\n\n/** Ordering options when selecting data from \"current_delegated_staking_pool_balances\". */\nexport type Current_Delegated_Staking_Pool_Balances_Order_By = {\n  active_table_handle?: InputMaybe<Order_By>;\n  inactive_table_handle?: InputMaybe<Order_By>;\n  last_transaction_version?: InputMaybe<Order_By>;\n  operator_commission_percentage?: InputMaybe<Order_By>;\n  staking_pool_address?: InputMaybe<Order_By>;\n  total_coins?: InputMaybe<Order_By>;\n  total_shares?: InputMaybe<Order_By>;\n};\n\n/** select columns of table \"current_delegated_staking_pool_balances\" */\nexport enum Current_Delegated_Staking_Pool_Balances_Select_Column {\n  /** column name */\n  ActiveTableHandle = 'active_table_handle',\n  /** column name */\n  InactiveTableHandle = 'inactive_table_handle',\n  /** column name */\n  LastTransactionVersion = 'last_transaction_version',\n  /** column name */\n  OperatorCommissionPercentage = 'operator_commission_percentage',\n  /** column name */\n  StakingPoolAddress = 'staking_pool_address',\n  /** column name */\n  TotalCoins = 'total_coins',\n  /** column name */\n  TotalShares = 'total_shares'\n}\n\n/** Streaming cursor of the table \"current_delegated_staking_pool_balances\" */\nexport type Current_Delegated_Staking_Pool_Balances_Stream_Cursor_Input = {\n  /** Stream column input with initial value */\n  initial_value: Current_Delegated_Staking_Pool_Balances_Stream_Cursor_Value_Input;\n  /** cursor ordering */\n  ordering?: InputMaybe<Cursor_Ordering>;\n};\n\n/** Initial value of the column from where the streaming should start */\nexport type Current_Delegated_Staking_Pool_Balances_Stream_Cursor_Value_Input = {\n  active_table_handle?: InputMaybe<Scalars['String']['input']>;\n  inactive_table_handle?: InputMaybe<Scalars['String']['input']>;\n  last_transaction_version?: InputMaybe<Scalars['bigint']['input']>;\n  operator_commission_percentage?: InputMaybe<Scalars['numeric']['input']>;\n  staking_pool_address?: InputMaybe<Scalars['String']['input']>;\n  total_coins?: InputMaybe<Scalars['numeric']['input']>;\n  total_shares?: InputMaybe<Scalars['numeric']['input']>;\n};\n\n/** columns and relationships of \"current_delegated_voter\" */\nexport type Current_Delegated_Voter = {\n  __typename?: 'current_delegated_voter';\n  delegation_pool_address: Scalars['String']['output'];\n  delegator_address: Scalars['String']['output'];\n  last_transaction_timestamp: Scalars['timestamp']['output'];\n  last_transaction_version: Scalars['bigint']['output'];\n  pending_voter?: Maybe<Scalars['String']['output']>;\n  table_handle?: Maybe<Scalars['String']['output']>;\n  voter?: Maybe<Scalars['String']['output']>;\n};\n\n/** Boolean expression to filter rows from the table \"current_delegated_voter\". All fields are combined with a logical 'AND'. */\nexport type Current_Delegated_Voter_Bool_Exp = {\n  _and?: InputMaybe<Array<Current_Delegated_Voter_Bool_Exp>>;\n  _not?: InputMaybe<Current_Delegated_Voter_Bool_Exp>;\n  _or?: InputMaybe<Array<Current_Delegated_Voter_Bool_Exp>>;\n  delegation_pool_address?: InputMaybe<String_Comparison_Exp>;\n  delegator_address?: InputMaybe<String_Comparison_Exp>;\n  last_transaction_timestamp?: InputMaybe<Timestamp_Comparison_Exp>;\n  last_transaction_version?: InputMaybe<Bigint_Comparison_Exp>;\n  pending_voter?: InputMaybe<String_Comparison_Exp>;\n  table_handle?: InputMaybe<String_Comparison_Exp>;\n  voter?: InputMaybe<String_Comparison_Exp>;\n};\n\n/** Ordering options when selecting data from \"current_delegated_voter\". */\nexport type Current_Delegated_Voter_Order_By = {\n  delegation_pool_address?: InputMaybe<Order_By>;\n  delegator_address?: InputMaybe<Order_By>;\n  last_transaction_timestamp?: InputMaybe<Order_By>;\n  last_transaction_version?: InputMaybe<Order_By>;\n  pending_voter?: InputMaybe<Order_By>;\n  table_handle?: InputMaybe<Order_By>;\n  voter?: InputMaybe<Order_By>;\n};\n\n/** select columns of table \"current_delegated_voter\" */\nexport enum Current_Delegated_Voter_Select_Column {\n  /** column name */\n  DelegationPoolAddress = 'delegation_pool_address',\n  /** column name */\n  DelegatorAddress = 'delegator_address',\n  /** column name */\n  LastTransactionTimestamp = 'last_transaction_timestamp',\n  /** column name */\n  LastTransactionVersion = 'last_transaction_version',\n  /** column name */\n  PendingVoter = 'pending_voter',\n  /** column name */\n  TableHandle = 'table_handle',\n  /** column name */\n  Voter = 'voter'\n}\n\n/** Streaming cursor of the table \"current_delegated_voter\" */\nexport type Current_Delegated_Voter_Stream_Cursor_Input = {\n  /** Stream column input with initial value */\n  initial_value: Current_Delegated_Voter_Stream_Cursor_Value_Input;\n  /** cursor ordering */\n  ordering?: InputMaybe<Cursor_Ordering>;\n};\n\n/** Initial value of the column from where the streaming should start */\nexport type Current_Delegated_Voter_Stream_Cursor_Value_Input = {\n  delegation_pool_address?: InputMaybe<Scalars['String']['input']>;\n  delegator_address?: InputMaybe<Scalars['String']['input']>;\n  last_transaction_timestamp?: InputMaybe<Scalars['timestamp']['input']>;\n  last_transaction_version?: InputMaybe<Scalars['bigint']['input']>;\n  pending_voter?: InputMaybe<Scalars['String']['input']>;\n  table_handle?: InputMaybe<Scalars['String']['input']>;\n  voter?: InputMaybe<Scalars['String']['input']>;\n};\n\n/** columns and relationships of \"current_delegator_balances\" */\nexport type Current_Delegator_Balances = {\n  __typename?: 'current_delegator_balances';\n  /** An object relationship */\n  current_pool_balance?: Maybe<Current_Delegated_Staking_Pool_Balances>;\n  delegator_address: Scalars['String']['output'];\n  last_transaction_version: Scalars['bigint']['output'];\n  parent_table_handle: Scalars['String']['output'];\n  pool_address: Scalars['String']['output'];\n  pool_type: Scalars['String']['output'];\n  shares: Scalars['numeric']['output'];\n  /** An object relationship */\n  staking_pool_metadata?: Maybe<Current_Staking_Pool_Voter>;\n  table_handle: Scalars['String']['output'];\n};\n\n/** Boolean expression to filter rows from the table \"current_delegator_balances\". All fields are combined with a logical 'AND'. */\nexport type Current_Delegator_Balances_Bool_Exp = {\n  _and?: InputMaybe<Array<Current_Delegator_Balances_Bool_Exp>>;\n  _not?: InputMaybe<Current_Delegator_Balances_Bool_Exp>;\n  _or?: InputMaybe<Array<Current_Delegator_Balances_Bool_Exp>>;\n  current_pool_balance?: InputMaybe<Current_Delegated_Staking_Pool_Balances_Bool_Exp>;\n  delegator_address?: InputMaybe<String_Comparison_Exp>;\n  last_transaction_version?: InputMaybe<Bigint_Comparison_Exp>;\n  parent_table_handle?: InputMaybe<String_Comparison_Exp>;\n  pool_address?: InputMaybe<String_Comparison_Exp>;\n  pool_type?: InputMaybe<String_Comparison_Exp>;\n  shares?: InputMaybe<Numeric_Comparison_Exp>;\n  staking_pool_metadata?: InputMaybe<Current_Staking_Pool_Voter_Bool_Exp>;\n  table_handle?: InputMaybe<String_Comparison_Exp>;\n};\n\n/** Ordering options when selecting data from \"current_delegator_balances\". */\nexport type Current_Delegator_Balances_Order_By = {\n  current_pool_balance?: InputMaybe<Current_Delegated_Staking_Pool_Balances_Order_By>;\n  delegator_address?: InputMaybe<Order_By>;\n  last_transaction_version?: InputMaybe<Order_By>;\n  parent_table_handle?: InputMaybe<Order_By>;\n  pool_address?: InputMaybe<Order_By>;\n  pool_type?: InputMaybe<Order_By>;\n  shares?: InputMaybe<Order_By>;\n  staking_pool_metadata?: InputMaybe<Current_Staking_Pool_Voter_Order_By>;\n  table_handle?: InputMaybe<Order_By>;\n};\n\n/** select columns of table \"current_delegator_balances\" */\nexport enum Current_Delegator_Balances_Select_Column {\n  /** column name */\n  DelegatorAddress = 'delegator_address',\n  /** column name */\n  LastTransactionVersion = 'last_transaction_version',\n  /** column name */\n  ParentTableHandle = 'parent_table_handle',\n  /** column name */\n  PoolAddress = 'pool_address',\n  /** column name */\n  PoolType = 'pool_type',\n  /** column name */\n  Shares = 'shares',\n  /** column name */\n  TableHandle = 'table_handle'\n}\n\n/** Streaming cursor of the table \"current_delegator_balances\" */\nexport type Current_Delegator_Balances_Stream_Cursor_Input = {\n  /** Stream column input with initial value */\n  initial_value: Current_Delegator_Balances_Stream_Cursor_Value_Input;\n  /** cursor ordering */\n  ordering?: InputMaybe<Cursor_Ordering>;\n};\n\n/** Initial value of the column from where the streaming should start */\nexport type Current_Delegator_Balances_Stream_Cursor_Value_Input = {\n  delegator_address?: InputMaybe<Scalars['String']['input']>;\n  last_transaction_version?: InputMaybe<Scalars['bigint']['input']>;\n  parent_table_handle?: InputMaybe<Scalars['String']['input']>;\n  pool_address?: InputMaybe<Scalars['String']['input']>;\n  pool_type?: InputMaybe<Scalars['String']['input']>;\n  shares?: InputMaybe<Scalars['numeric']['input']>;\n  table_handle?: InputMaybe<Scalars['String']['input']>;\n};\n\n/** columns and relationships of \"current_fungible_asset_balances\" */\nexport type Current_Fungible_Asset_Balances = {\n  __typename?: 'current_fungible_asset_balances';\n  amount: Scalars['numeric']['output'];\n  asset_type: Scalars['String']['output'];\n  is_frozen: Scalars['Boolean']['output'];\n  is_primary: Scalars['Boolean']['output'];\n  last_transaction_timestamp: Scalars['timestamp']['output'];\n  last_transaction_version: Scalars['bigint']['output'];\n  /** An object relationship */\n  metadata?: Maybe<Fungible_Asset_Metadata>;\n  owner_address: Scalars['String']['output'];\n  storage_id: Scalars['String']['output'];\n  token_standard: Scalars['String']['output'];\n};\n\n/** aggregated selection of \"current_fungible_asset_balances\" */\nexport type Current_Fungible_Asset_Balances_Aggregate = {\n  __typename?: 'current_fungible_asset_balances_aggregate';\n  aggregate?: Maybe<Current_Fungible_Asset_Balances_Aggregate_Fields>;\n  nodes: Array<Current_Fungible_Asset_Balances>;\n};\n\n/** aggregate fields of \"current_fungible_asset_balances\" */\nexport type Current_Fungible_Asset_Balances_Aggregate_Fields = {\n  __typename?: 'current_fungible_asset_balances_aggregate_fields';\n  avg?: Maybe<Current_Fungible_Asset_Balances_Avg_Fields>;\n  count: Scalars['Int']['output'];\n  max?: Maybe<Current_Fungible_Asset_Balances_Max_Fields>;\n  min?: Maybe<Current_Fungible_Asset_Balances_Min_Fields>;\n  stddev?: Maybe<Current_Fungible_Asset_Balances_Stddev_Fields>;\n  stddev_pop?: Maybe<Current_Fungible_Asset_Balances_Stddev_Pop_Fields>;\n  stddev_samp?: Maybe<Current_Fungible_Asset_Balances_Stddev_Samp_Fields>;\n  sum?: Maybe<Current_Fungible_Asset_Balances_Sum_Fields>;\n  var_pop?: Maybe<Current_Fungible_Asset_Balances_Var_Pop_Fields>;\n  var_samp?: Maybe<Current_Fungible_Asset_Balances_Var_Samp_Fields>;\n  variance?: Maybe<Current_Fungible_Asset_Balances_Variance_Fields>;\n};\n\n\n/** aggregate fields of \"current_fungible_asset_balances\" */\nexport type Current_Fungible_Asset_Balances_Aggregate_FieldsCountArgs = {\n  columns?: InputMaybe<Array<Current_Fungible_Asset_Balances_Select_Column>>;\n  distinct?: InputMaybe<Scalars['Boolean']['input']>;\n};\n\n/** aggregate avg on columns */\nexport type Current_Fungible_Asset_Balances_Avg_Fields = {\n  __typename?: 'current_fungible_asset_balances_avg_fields';\n  amount?: Maybe<Scalars['Float']['output']>;\n  last_transaction_version?: Maybe<Scalars['Float']['output']>;\n};\n\n/** Boolean expression to filter rows from the table \"current_fungible_asset_balances\". All fields are combined with a logical 'AND'. */\nexport type Current_Fungible_Asset_Balances_Bool_Exp = {\n  _and?: InputMaybe<Array<Current_Fungible_Asset_Balances_Bool_Exp>>;\n  _not?: InputMaybe<Current_Fungible_Asset_Balances_Bool_Exp>;\n  _or?: InputMaybe<Array<Current_Fungible_Asset_Balances_Bool_Exp>>;\n  amount?: InputMaybe<Numeric_Comparison_Exp>;\n  asset_type?: InputMaybe<String_Comparison_Exp>;\n  is_frozen?: InputMaybe<Boolean_Comparison_Exp>;\n  is_primary?: InputMaybe<Boolean_Comparison_Exp>;\n  last_transaction_timestamp?: InputMaybe<Timestamp_Comparison_Exp>;\n  last_transaction_version?: InputMaybe<Bigint_Comparison_Exp>;\n  metadata?: InputMaybe<Fungible_Asset_Metadata_Bool_Exp>;\n  owner_address?: InputMaybe<String_Comparison_Exp>;\n  storage_id?: InputMaybe<String_Comparison_Exp>;\n  token_standard?: InputMaybe<String_Comparison_Exp>;\n};\n\n/** aggregate max on columns */\nexport type Current_Fungible_Asset_Balances_Max_Fields = {\n  __typename?: 'current_fungible_asset_balances_max_fields';\n  amount?: Maybe<Scalars['numeric']['output']>;\n  asset_type?: Maybe<Scalars['String']['output']>;\n  last_transaction_timestamp?: Maybe<Scalars['timestamp']['output']>;\n  last_transaction_version?: Maybe<Scalars['bigint']['output']>;\n  owner_address?: Maybe<Scalars['String']['output']>;\n  storage_id?: Maybe<Scalars['String']['output']>;\n  token_standard?: Maybe<Scalars['String']['output']>;\n};\n\n/** aggregate min on columns */\nexport type Current_Fungible_Asset_Balances_Min_Fields = {\n  __typename?: 'current_fungible_asset_balances_min_fields';\n  amount?: Maybe<Scalars['numeric']['output']>;\n  asset_type?: Maybe<Scalars['String']['output']>;\n  last_transaction_timestamp?: Maybe<Scalars['timestamp']['output']>;\n  last_transaction_version?: Maybe<Scalars['bigint']['output']>;\n  owner_address?: Maybe<Scalars['String']['output']>;\n  storage_id?: Maybe<Scalars['String']['output']>;\n  token_standard?: Maybe<Scalars['String']['output']>;\n};\n\n/** Ordering options when selecting data from \"current_fungible_asset_balances\". */\nexport type Current_Fungible_Asset_Balances_Order_By = {\n  amount?: InputMaybe<Order_By>;\n  asset_type?: InputMaybe<Order_By>;\n  is_frozen?: InputMaybe<Order_By>;\n  is_primary?: InputMaybe<Order_By>;\n  last_transaction_timestamp?: InputMaybe<Order_By>;\n  last_transaction_version?: InputMaybe<Order_By>;\n  metadata?: InputMaybe<Fungible_Asset_Metadata_Order_By>;\n  owner_address?: InputMaybe<Order_By>;\n  storage_id?: InputMaybe<Order_By>;\n  token_standard?: InputMaybe<Order_By>;\n};\n\n/** select columns of table \"current_fungible_asset_balances\" */\nexport enum Current_Fungible_Asset_Balances_Select_Column {\n  /** column name */\n  Amount = 'amount',\n  /** column name */\n  AssetType = 'asset_type',\n  /** column name */\n  IsFrozen = 'is_frozen',\n  /** column name */\n  IsPrimary = 'is_primary',\n  /** column name */\n  LastTransactionTimestamp = 'last_transaction_timestamp',\n  /** column name */\n  LastTransactionVersion = 'last_transaction_version',\n  /** column name */\n  OwnerAddress = 'owner_address',\n  /** column name */\n  StorageId = 'storage_id',\n  /** column name */\n  TokenStandard = 'token_standard'\n}\n\n/** aggregate stddev on columns */\nexport type Current_Fungible_Asset_Balances_Stddev_Fields = {\n  __typename?: 'current_fungible_asset_balances_stddev_fields';\n  amount?: Maybe<Scalars['Float']['output']>;\n  last_transaction_version?: Maybe<Scalars['Float']['output']>;\n};\n\n/** aggregate stddev_pop on columns */\nexport type Current_Fungible_Asset_Balances_Stddev_Pop_Fields = {\n  __typename?: 'current_fungible_asset_balances_stddev_pop_fields';\n  amount?: Maybe<Scalars['Float']['output']>;\n  last_transaction_version?: Maybe<Scalars['Float']['output']>;\n};\n\n/** aggregate stddev_samp on columns */\nexport type Current_Fungible_Asset_Balances_Stddev_Samp_Fields = {\n  __typename?: 'current_fungible_asset_balances_stddev_samp_fields';\n  amount?: Maybe<Scalars['Float']['output']>;\n  last_transaction_version?: Maybe<Scalars['Float']['output']>;\n};\n\n/** Streaming cursor of the table \"current_fungible_asset_balances\" */\nexport type Current_Fungible_Asset_Balances_Stream_Cursor_Input = {\n  /** Stream column input with initial value */\n  initial_value: Current_Fungible_Asset_Balances_Stream_Cursor_Value_Input;\n  /** cursor ordering */\n  ordering?: InputMaybe<Cursor_Ordering>;\n};\n\n/** Initial value of the column from where the streaming should start */\nexport type Current_Fungible_Asset_Balances_Stream_Cursor_Value_Input = {\n  amount?: InputMaybe<Scalars['numeric']['input']>;\n  asset_type?: InputMaybe<Scalars['String']['input']>;\n  is_frozen?: InputMaybe<Scalars['Boolean']['input']>;\n  is_primary?: InputMaybe<Scalars['Boolean']['input']>;\n  last_transaction_timestamp?: InputMaybe<Scalars['timestamp']['input']>;\n  last_transaction_version?: InputMaybe<Scalars['bigint']['input']>;\n  owner_address?: InputMaybe<Scalars['String']['input']>;\n  storage_id?: InputMaybe<Scalars['String']['input']>;\n  token_standard?: InputMaybe<Scalars['String']['input']>;\n};\n\n/** aggregate sum on columns */\nexport type Current_Fungible_Asset_Balances_Sum_Fields = {\n  __typename?: 'current_fungible_asset_balances_sum_fields';\n  amount?: Maybe<Scalars['numeric']['output']>;\n  last_transaction_version?: Maybe<Scalars['bigint']['output']>;\n};\n\n/** aggregate var_pop on columns */\nexport type Current_Fungible_Asset_Balances_Var_Pop_Fields = {\n  __typename?: 'current_fungible_asset_balances_var_pop_fields';\n  amount?: Maybe<Scalars['Float']['output']>;\n  last_transaction_version?: Maybe<Scalars['Float']['output']>;\n};\n\n/** aggregate var_samp on columns */\nexport type Current_Fungible_Asset_Balances_Var_Samp_Fields = {\n  __typename?: 'current_fungible_asset_balances_var_samp_fields';\n  amount?: Maybe<Scalars['Float']['output']>;\n  last_transaction_version?: Maybe<Scalars['Float']['output']>;\n};\n\n/** aggregate variance on columns */\nexport type Current_Fungible_Asset_Balances_Variance_Fields = {\n  __typename?: 'current_fungible_asset_balances_variance_fields';\n  amount?: Maybe<Scalars['Float']['output']>;\n  last_transaction_version?: Maybe<Scalars['Float']['output']>;\n};\n\n/** columns and relationships of \"current_objects\" */\nexport type Current_Objects = {\n  __typename?: 'current_objects';\n  allow_ungated_transfer: Scalars['Boolean']['output'];\n  is_deleted: Scalars['Boolean']['output'];\n  last_guid_creation_num: Scalars['numeric']['output'];\n  last_transaction_version: Scalars['bigint']['output'];\n  object_address: Scalars['String']['output'];\n  owner_address: Scalars['String']['output'];\n  state_key_hash: Scalars['String']['output'];\n};\n\n/** Boolean expression to filter rows from the table \"current_objects\". All fields are combined with a logical 'AND'. */\nexport type Current_Objects_Bool_Exp = {\n  _and?: InputMaybe<Array<Current_Objects_Bool_Exp>>;\n  _not?: InputMaybe<Current_Objects_Bool_Exp>;\n  _or?: InputMaybe<Array<Current_Objects_Bool_Exp>>;\n  allow_ungated_transfer?: InputMaybe<Boolean_Comparison_Exp>;\n  is_deleted?: InputMaybe<Boolean_Comparison_Exp>;\n  last_guid_creation_num?: InputMaybe<Numeric_Comparison_Exp>;\n  last_transaction_version?: InputMaybe<Bigint_Comparison_Exp>;\n  object_address?: InputMaybe<String_Comparison_Exp>;\n  owner_address?: InputMaybe<String_Comparison_Exp>;\n  state_key_hash?: InputMaybe<String_Comparison_Exp>;\n};\n\n/** Ordering options when selecting data from \"current_objects\". */\nexport type Current_Objects_Order_By = {\n  allow_ungated_transfer?: InputMaybe<Order_By>;\n  is_deleted?: InputMaybe<Order_By>;\n  last_guid_creation_num?: InputMaybe<Order_By>;\n  last_transaction_version?: InputMaybe<Order_By>;\n  object_address?: InputMaybe<Order_By>;\n  owner_address?: InputMaybe<Order_By>;\n  state_key_hash?: InputMaybe<Order_By>;\n};\n\n/** select columns of table \"current_objects\" */\nexport enum Current_Objects_Select_Column {\n  /** column name */\n  AllowUngatedTransfer = 'allow_ungated_transfer',\n  /** column name */\n  IsDeleted = 'is_deleted',\n  /** column name */\n  LastGuidCreationNum = 'last_guid_creation_num',\n  /** column name */\n  LastTransactionVersion = 'last_transaction_version',\n  /** column name */\n  ObjectAddress = 'object_address',\n  /** column name */\n  OwnerAddress = 'owner_address',\n  /** column name */\n  StateKeyHash = 'state_key_hash'\n}\n\n/** Streaming cursor of the table \"current_objects\" */\nexport type Current_Objects_Stream_Cursor_Input = {\n  /** Stream column input with initial value */\n  initial_value: Current_Objects_Stream_Cursor_Value_Input;\n  /** cursor ordering */\n  ordering?: InputMaybe<Cursor_Ordering>;\n};\n\n/** Initial value of the column from where the streaming should start */\nexport type Current_Objects_Stream_Cursor_Value_Input = {\n  allow_ungated_transfer?: InputMaybe<Scalars['Boolean']['input']>;\n  is_deleted?: InputMaybe<Scalars['Boolean']['input']>;\n  last_guid_creation_num?: InputMaybe<Scalars['numeric']['input']>;\n  last_transaction_version?: InputMaybe<Scalars['bigint']['input']>;\n  object_address?: InputMaybe<Scalars['String']['input']>;\n  owner_address?: InputMaybe<Scalars['String']['input']>;\n  state_key_hash?: InputMaybe<Scalars['String']['input']>;\n};\n\n/** columns and relationships of \"current_staking_pool_voter\" */\nexport type Current_Staking_Pool_Voter = {\n  __typename?: 'current_staking_pool_voter';\n  last_transaction_version: Scalars['bigint']['output'];\n  operator_address: Scalars['String']['output'];\n  /** An array relationship */\n  operator_aptos_name: Array<Current_Aptos_Names>;\n  /** An aggregate relationship */\n  operator_aptos_name_aggregate: Current_Aptos_Names_Aggregate;\n  staking_pool_address: Scalars['String']['output'];\n  voter_address: Scalars['String']['output'];\n};\n\n\n/** columns and relationships of \"current_staking_pool_voter\" */\nexport type Current_Staking_Pool_VoterOperator_Aptos_NameArgs = {\n  distinct_on?: InputMaybe<Array<Current_Aptos_Names_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Current_Aptos_Names_Order_By>>;\n  where?: InputMaybe<Current_Aptos_Names_Bool_Exp>;\n};\n\n\n/** columns and relationships of \"current_staking_pool_voter\" */\nexport type Current_Staking_Pool_VoterOperator_Aptos_Name_AggregateArgs = {\n  distinct_on?: InputMaybe<Array<Current_Aptos_Names_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Current_Aptos_Names_Order_By>>;\n  where?: InputMaybe<Current_Aptos_Names_Bool_Exp>;\n};\n\n/** Boolean expression to filter rows from the table \"current_staking_pool_voter\". All fields are combined with a logical 'AND'. */\nexport type Current_Staking_Pool_Voter_Bool_Exp = {\n  _and?: InputMaybe<Array<Current_Staking_Pool_Voter_Bool_Exp>>;\n  _not?: InputMaybe<Current_Staking_Pool_Voter_Bool_Exp>;\n  _or?: InputMaybe<Array<Current_Staking_Pool_Voter_Bool_Exp>>;\n  last_transaction_version?: InputMaybe<Bigint_Comparison_Exp>;\n  operator_address?: InputMaybe<String_Comparison_Exp>;\n  operator_aptos_name?: InputMaybe<Current_Aptos_Names_Bool_Exp>;\n  operator_aptos_name_aggregate?: InputMaybe<Current_Aptos_Names_Aggregate_Bool_Exp>;\n  staking_pool_address?: InputMaybe<String_Comparison_Exp>;\n  voter_address?: InputMaybe<String_Comparison_Exp>;\n};\n\n/** Ordering options when selecting data from \"current_staking_pool_voter\". */\nexport type Current_Staking_Pool_Voter_Order_By = {\n  last_transaction_version?: InputMaybe<Order_By>;\n  operator_address?: InputMaybe<Order_By>;\n  operator_aptos_name_aggregate?: InputMaybe<Current_Aptos_Names_Aggregate_Order_By>;\n  staking_pool_address?: InputMaybe<Order_By>;\n  voter_address?: InputMaybe<Order_By>;\n};\n\n/** select columns of table \"current_staking_pool_voter\" */\nexport enum Current_Staking_Pool_Voter_Select_Column {\n  /** column name */\n  LastTransactionVersion = 'last_transaction_version',\n  /** column name */\n  OperatorAddress = 'operator_address',\n  /** column name */\n  StakingPoolAddress = 'staking_pool_address',\n  /** column name */\n  VoterAddress = 'voter_address'\n}\n\n/** Streaming cursor of the table \"current_staking_pool_voter\" */\nexport type Current_Staking_Pool_Voter_Stream_Cursor_Input = {\n  /** Stream column input with initial value */\n  initial_value: Current_Staking_Pool_Voter_Stream_Cursor_Value_Input;\n  /** cursor ordering */\n  ordering?: InputMaybe<Cursor_Ordering>;\n};\n\n/** Initial value of the column from where the streaming should start */\nexport type Current_Staking_Pool_Voter_Stream_Cursor_Value_Input = {\n  last_transaction_version?: InputMaybe<Scalars['bigint']['input']>;\n  operator_address?: InputMaybe<Scalars['String']['input']>;\n  staking_pool_address?: InputMaybe<Scalars['String']['input']>;\n  voter_address?: InputMaybe<Scalars['String']['input']>;\n};\n\n/** columns and relationships of \"current_table_items\" */\nexport type Current_Table_Items = {\n  __typename?: 'current_table_items';\n  decoded_key: Scalars['jsonb']['output'];\n  decoded_value?: Maybe<Scalars['jsonb']['output']>;\n  is_deleted: Scalars['Boolean']['output'];\n  key: Scalars['String']['output'];\n  key_hash: Scalars['String']['output'];\n  last_transaction_version: Scalars['bigint']['output'];\n  table_handle: Scalars['String']['output'];\n};\n\n\n/** columns and relationships of \"current_table_items\" */\nexport type Current_Table_ItemsDecoded_KeyArgs = {\n  path?: InputMaybe<Scalars['String']['input']>;\n};\n\n\n/** columns and relationships of \"current_table_items\" */\nexport type Current_Table_ItemsDecoded_ValueArgs = {\n  path?: InputMaybe<Scalars['String']['input']>;\n};\n\n/** Boolean expression to filter rows from the table \"current_table_items\". All fields are combined with a logical 'AND'. */\nexport type Current_Table_Items_Bool_Exp = {\n  _and?: InputMaybe<Array<Current_Table_Items_Bool_Exp>>;\n  _not?: InputMaybe<Current_Table_Items_Bool_Exp>;\n  _or?: InputMaybe<Array<Current_Table_Items_Bool_Exp>>;\n  decoded_key?: InputMaybe<Jsonb_Comparison_Exp>;\n  decoded_value?: InputMaybe<Jsonb_Comparison_Exp>;\n  is_deleted?: InputMaybe<Boolean_Comparison_Exp>;\n  key?: InputMaybe<String_Comparison_Exp>;\n  key_hash?: InputMaybe<String_Comparison_Exp>;\n  last_transaction_version?: InputMaybe<Bigint_Comparison_Exp>;\n  table_handle?: InputMaybe<String_Comparison_Exp>;\n};\n\n/** Ordering options when selecting data from \"current_table_items\". */\nexport type Current_Table_Items_Order_By = {\n  decoded_key?: InputMaybe<Order_By>;\n  decoded_value?: InputMaybe<Order_By>;\n  is_deleted?: InputMaybe<Order_By>;\n  key?: InputMaybe<Order_By>;\n  key_hash?: InputMaybe<Order_By>;\n  last_transaction_version?: InputMaybe<Order_By>;\n  table_handle?: InputMaybe<Order_By>;\n};\n\n/** select columns of table \"current_table_items\" */\nexport enum Current_Table_Items_Select_Column {\n  /** column name */\n  DecodedKey = 'decoded_key',\n  /** column name */\n  DecodedValue = 'decoded_value',\n  /** column name */\n  IsDeleted = 'is_deleted',\n  /** column name */\n  Key = 'key',\n  /** column name */\n  KeyHash = 'key_hash',\n  /** column name */\n  LastTransactionVersion = 'last_transaction_version',\n  /** column name */\n  TableHandle = 'table_handle'\n}\n\n/** Streaming cursor of the table \"current_table_items\" */\nexport type Current_Table_Items_Stream_Cursor_Input = {\n  /** Stream column input with initial value */\n  initial_value: Current_Table_Items_Stream_Cursor_Value_Input;\n  /** cursor ordering */\n  ordering?: InputMaybe<Cursor_Ordering>;\n};\n\n/** Initial value of the column from where the streaming should start */\nexport type Current_Table_Items_Stream_Cursor_Value_Input = {\n  decoded_key?: InputMaybe<Scalars['jsonb']['input']>;\n  decoded_value?: InputMaybe<Scalars['jsonb']['input']>;\n  is_deleted?: InputMaybe<Scalars['Boolean']['input']>;\n  key?: InputMaybe<Scalars['String']['input']>;\n  key_hash?: InputMaybe<Scalars['String']['input']>;\n  last_transaction_version?: InputMaybe<Scalars['bigint']['input']>;\n  table_handle?: InputMaybe<Scalars['String']['input']>;\n};\n\n/** columns and relationships of \"current_token_datas\" */\nexport type Current_Token_Datas = {\n  __typename?: 'current_token_datas';\n  collection_data_id_hash: Scalars['String']['output'];\n  collection_name: Scalars['String']['output'];\n  creator_address: Scalars['String']['output'];\n  /** An object relationship */\n  current_collection_data?: Maybe<Current_Collection_Datas>;\n  default_properties: Scalars['jsonb']['output'];\n  description: Scalars['String']['output'];\n  description_mutable: Scalars['Boolean']['output'];\n  largest_property_version: Scalars['numeric']['output'];\n  last_transaction_timestamp: Scalars['timestamp']['output'];\n  last_transaction_version: Scalars['bigint']['output'];\n  maximum: Scalars['numeric']['output'];\n  maximum_mutable: Scalars['Boolean']['output'];\n  metadata_uri: Scalars['String']['output'];\n  name: Scalars['String']['output'];\n  payee_address: Scalars['String']['output'];\n  properties_mutable: Scalars['Boolean']['output'];\n  royalty_mutable: Scalars['Boolean']['output'];\n  royalty_points_denominator: Scalars['numeric']['output'];\n  royalty_points_numerator: Scalars['numeric']['output'];\n  supply: Scalars['numeric']['output'];\n  token_data_id_hash: Scalars['String']['output'];\n  uri_mutable: Scalars['Boolean']['output'];\n};\n\n\n/** columns and relationships of \"current_token_datas\" */\nexport type Current_Token_DatasDefault_PropertiesArgs = {\n  path?: InputMaybe<Scalars['String']['input']>;\n};\n\n/** Boolean expression to filter rows from the table \"current_token_datas\". All fields are combined with a logical 'AND'. */\nexport type Current_Token_Datas_Bool_Exp = {\n  _and?: InputMaybe<Array<Current_Token_Datas_Bool_Exp>>;\n  _not?: InputMaybe<Current_Token_Datas_Bool_Exp>;\n  _or?: InputMaybe<Array<Current_Token_Datas_Bool_Exp>>;\n  collection_data_id_hash?: InputMaybe<String_Comparison_Exp>;\n  collection_name?: InputMaybe<String_Comparison_Exp>;\n  creator_address?: InputMaybe<String_Comparison_Exp>;\n  current_collection_data?: InputMaybe<Current_Collection_Datas_Bool_Exp>;\n  default_properties?: InputMaybe<Jsonb_Comparison_Exp>;\n  description?: InputMaybe<String_Comparison_Exp>;\n  description_mutable?: InputMaybe<Boolean_Comparison_Exp>;\n  largest_property_version?: InputMaybe<Numeric_Comparison_Exp>;\n  last_transaction_timestamp?: InputMaybe<Timestamp_Comparison_Exp>;\n  last_transaction_version?: InputMaybe<Bigint_Comparison_Exp>;\n  maximum?: InputMaybe<Numeric_Comparison_Exp>;\n  maximum_mutable?: InputMaybe<Boolean_Comparison_Exp>;\n  metadata_uri?: InputMaybe<String_Comparison_Exp>;\n  name?: InputMaybe<String_Comparison_Exp>;\n  payee_address?: InputMaybe<String_Comparison_Exp>;\n  properties_mutable?: InputMaybe<Boolean_Comparison_Exp>;\n  royalty_mutable?: InputMaybe<Boolean_Comparison_Exp>;\n  royalty_points_denominator?: InputMaybe<Numeric_Comparison_Exp>;\n  royalty_points_numerator?: InputMaybe<Numeric_Comparison_Exp>;\n  supply?: InputMaybe<Numeric_Comparison_Exp>;\n  token_data_id_hash?: InputMaybe<String_Comparison_Exp>;\n  uri_mutable?: InputMaybe<Boolean_Comparison_Exp>;\n};\n\n/** Ordering options when selecting data from \"current_token_datas\". */\nexport type Current_Token_Datas_Order_By = {\n  collection_data_id_hash?: InputMaybe<Order_By>;\n  collection_name?: InputMaybe<Order_By>;\n  creator_address?: InputMaybe<Order_By>;\n  current_collection_data?: InputMaybe<Current_Collection_Datas_Order_By>;\n  default_properties?: InputMaybe<Order_By>;\n  description?: InputMaybe<Order_By>;\n  description_mutable?: InputMaybe<Order_By>;\n  largest_property_version?: InputMaybe<Order_By>;\n  last_transaction_timestamp?: InputMaybe<Order_By>;\n  last_transaction_version?: InputMaybe<Order_By>;\n  maximum?: InputMaybe<Order_By>;\n  maximum_mutable?: InputMaybe<Order_By>;\n  metadata_uri?: InputMaybe<Order_By>;\n  name?: InputMaybe<Order_By>;\n  payee_address?: InputMaybe<Order_By>;\n  properties_mutable?: InputMaybe<Order_By>;\n  royalty_mutable?: InputMaybe<Order_By>;\n  royalty_points_denominator?: InputMaybe<Order_By>;\n  royalty_points_numerator?: InputMaybe<Order_By>;\n  supply?: InputMaybe<Order_By>;\n  token_data_id_hash?: InputMaybe<Order_By>;\n  uri_mutable?: InputMaybe<Order_By>;\n};\n\n/** select columns of table \"current_token_datas\" */\nexport enum Current_Token_Datas_Select_Column {\n  /** column name */\n  CollectionDataIdHash = 'collection_data_id_hash',\n  /** column name */\n  CollectionName = 'collection_name',\n  /** column name */\n  CreatorAddress = 'creator_address',\n  /** column name */\n  DefaultProperties = 'default_properties',\n  /** column name */\n  Description = 'description',\n  /** column name */\n  DescriptionMutable = 'description_mutable',\n  /** column name */\n  LargestPropertyVersion = 'largest_property_version',\n  /** column name */\n  LastTransactionTimestamp = 'last_transaction_timestamp',\n  /** column name */\n  LastTransactionVersion = 'last_transaction_version',\n  /** column name */\n  Maximum = 'maximum',\n  /** column name */\n  MaximumMutable = 'maximum_mutable',\n  /** column name */\n  MetadataUri = 'metadata_uri',\n  /** column name */\n  Name = 'name',\n  /** column name */\n  PayeeAddress = 'payee_address',\n  /** column name */\n  PropertiesMutable = 'properties_mutable',\n  /** column name */\n  RoyaltyMutable = 'royalty_mutable',\n  /** column name */\n  RoyaltyPointsDenominator = 'royalty_points_denominator',\n  /** column name */\n  RoyaltyPointsNumerator = 'royalty_points_numerator',\n  /** column name */\n  Supply = 'supply',\n  /** column name */\n  TokenDataIdHash = 'token_data_id_hash',\n  /** column name */\n  UriMutable = 'uri_mutable'\n}\n\n/** Streaming cursor of the table \"current_token_datas\" */\nexport type Current_Token_Datas_Stream_Cursor_Input = {\n  /** Stream column input with initial value */\n  initial_value: Current_Token_Datas_Stream_Cursor_Value_Input;\n  /** cursor ordering */\n  ordering?: InputMaybe<Cursor_Ordering>;\n};\n\n/** Initial value of the column from where the streaming should start */\nexport type Current_Token_Datas_Stream_Cursor_Value_Input = {\n  collection_data_id_hash?: InputMaybe<Scalars['String']['input']>;\n  collection_name?: InputMaybe<Scalars['String']['input']>;\n  creator_address?: InputMaybe<Scalars['String']['input']>;\n  default_properties?: InputMaybe<Scalars['jsonb']['input']>;\n  description?: InputMaybe<Scalars['String']['input']>;\n  description_mutable?: InputMaybe<Scalars['Boolean']['input']>;\n  largest_property_version?: InputMaybe<Scalars['numeric']['input']>;\n  last_transaction_timestamp?: InputMaybe<Scalars['timestamp']['input']>;\n  last_transaction_version?: InputMaybe<Scalars['bigint']['input']>;\n  maximum?: InputMaybe<Scalars['numeric']['input']>;\n  maximum_mutable?: InputMaybe<Scalars['Boolean']['input']>;\n  metadata_uri?: InputMaybe<Scalars['String']['input']>;\n  name?: InputMaybe<Scalars['String']['input']>;\n  payee_address?: InputMaybe<Scalars['String']['input']>;\n  properties_mutable?: InputMaybe<Scalars['Boolean']['input']>;\n  royalty_mutable?: InputMaybe<Scalars['Boolean']['input']>;\n  royalty_points_denominator?: InputMaybe<Scalars['numeric']['input']>;\n  royalty_points_numerator?: InputMaybe<Scalars['numeric']['input']>;\n  supply?: InputMaybe<Scalars['numeric']['input']>;\n  token_data_id_hash?: InputMaybe<Scalars['String']['input']>;\n  uri_mutable?: InputMaybe<Scalars['Boolean']['input']>;\n};\n\n/** columns and relationships of \"current_token_datas_v2\" */\nexport type Current_Token_Datas_V2 = {\n  __typename?: 'current_token_datas_v2';\n  /** An object relationship */\n  aptos_name?: Maybe<Current_Aptos_Names>;\n  /** An object relationship */\n  cdn_asset_uris?: Maybe<Nft_Metadata_Crawler_Parsed_Asset_Uris>;\n  collection_id: Scalars['String']['output'];\n  /** An object relationship */\n  current_collection?: Maybe<Current_Collections_V2>;\n  /** An object relationship */\n  current_token_ownership?: Maybe<Current_Token_Ownerships_V2>;\n  description: Scalars['String']['output'];\n  is_fungible_v2?: Maybe<Scalars['Boolean']['output']>;\n  largest_property_version_v1?: Maybe<Scalars['numeric']['output']>;\n  last_transaction_timestamp: Scalars['timestamp']['output'];\n  last_transaction_version: Scalars['bigint']['output'];\n  maximum?: Maybe<Scalars['numeric']['output']>;\n  supply: Scalars['numeric']['output'];\n  token_data_id: Scalars['String']['output'];\n  token_name: Scalars['String']['output'];\n  token_properties: Scalars['jsonb']['output'];\n  token_standard: Scalars['String']['output'];\n  token_uri: Scalars['String']['output'];\n};\n\n\n/** columns and relationships of \"current_token_datas_v2\" */\nexport type Current_Token_Datas_V2Token_PropertiesArgs = {\n  path?: InputMaybe<Scalars['String']['input']>;\n};\n\n/** Boolean expression to filter rows from the table \"current_token_datas_v2\". All fields are combined with a logical 'AND'. */\nexport type Current_Token_Datas_V2_Bool_Exp = {\n  _and?: InputMaybe<Array<Current_Token_Datas_V2_Bool_Exp>>;\n  _not?: InputMaybe<Current_Token_Datas_V2_Bool_Exp>;\n  _or?: InputMaybe<Array<Current_Token_Datas_V2_Bool_Exp>>;\n  aptos_name?: InputMaybe<Current_Aptos_Names_Bool_Exp>;\n  cdn_asset_uris?: InputMaybe<Nft_Metadata_Crawler_Parsed_Asset_Uris_Bool_Exp>;\n  collection_id?: InputMaybe<String_Comparison_Exp>;\n  current_collection?: InputMaybe<Current_Collections_V2_Bool_Exp>;\n  current_token_ownership?: InputMaybe<Current_Token_Ownerships_V2_Bool_Exp>;\n  description?: InputMaybe<String_Comparison_Exp>;\n  is_fungible_v2?: InputMaybe<Boolean_Comparison_Exp>;\n  largest_property_version_v1?: InputMaybe<Numeric_Comparison_Exp>;\n  last_transaction_timestamp?: InputMaybe<Timestamp_Comparison_Exp>;\n  last_transaction_version?: InputMaybe<Bigint_Comparison_Exp>;\n  maximum?: InputMaybe<Numeric_Comparison_Exp>;\n  supply?: InputMaybe<Numeric_Comparison_Exp>;\n  token_data_id?: InputMaybe<String_Comparison_Exp>;\n  token_name?: InputMaybe<String_Comparison_Exp>;\n  token_properties?: InputMaybe<Jsonb_Comparison_Exp>;\n  token_standard?: InputMaybe<String_Comparison_Exp>;\n  token_uri?: InputMaybe<String_Comparison_Exp>;\n};\n\n/** Ordering options when selecting data from \"current_token_datas_v2\". */\nexport type Current_Token_Datas_V2_Order_By = {\n  aptos_name?: InputMaybe<Current_Aptos_Names_Order_By>;\n  cdn_asset_uris?: InputMaybe<Nft_Metadata_Crawler_Parsed_Asset_Uris_Order_By>;\n  collection_id?: InputMaybe<Order_By>;\n  current_collection?: InputMaybe<Current_Collections_V2_Order_By>;\n  current_token_ownership?: InputMaybe<Current_Token_Ownerships_V2_Order_By>;\n  description?: InputMaybe<Order_By>;\n  is_fungible_v2?: InputMaybe<Order_By>;\n  largest_property_version_v1?: InputMaybe<Order_By>;\n  last_transaction_timestamp?: InputMaybe<Order_By>;\n  last_transaction_version?: InputMaybe<Order_By>;\n  maximum?: InputMaybe<Order_By>;\n  supply?: InputMaybe<Order_By>;\n  token_data_id?: InputMaybe<Order_By>;\n  token_name?: InputMaybe<Order_By>;\n  token_properties?: InputMaybe<Order_By>;\n  token_standard?: InputMaybe<Order_By>;\n  token_uri?: InputMaybe<Order_By>;\n};\n\n/** select columns of table \"current_token_datas_v2\" */\nexport enum Current_Token_Datas_V2_Select_Column {\n  /** column name */\n  CollectionId = 'collection_id',\n  /** column name */\n  Description = 'description',\n  /** column name */\n  IsFungibleV2 = 'is_fungible_v2',\n  /** column name */\n  LargestPropertyVersionV1 = 'largest_property_version_v1',\n  /** column name */\n  LastTransactionTimestamp = 'last_transaction_timestamp',\n  /** column name */\n  LastTransactionVersion = 'last_transaction_version',\n  /** column name */\n  Maximum = 'maximum',\n  /** column name */\n  Supply = 'supply',\n  /** column name */\n  TokenDataId = 'token_data_id',\n  /** column name */\n  TokenName = 'token_name',\n  /** column name */\n  TokenProperties = 'token_properties',\n  /** column name */\n  TokenStandard = 'token_standard',\n  /** column name */\n  TokenUri = 'token_uri'\n}\n\n/** Streaming cursor of the table \"current_token_datas_v2\" */\nexport type Current_Token_Datas_V2_Stream_Cursor_Input = {\n  /** Stream column input with initial value */\n  initial_value: Current_Token_Datas_V2_Stream_Cursor_Value_Input;\n  /** cursor ordering */\n  ordering?: InputMaybe<Cursor_Ordering>;\n};\n\n/** Initial value of the column from where the streaming should start */\nexport type Current_Token_Datas_V2_Stream_Cursor_Value_Input = {\n  collection_id?: InputMaybe<Scalars['String']['input']>;\n  description?: InputMaybe<Scalars['String']['input']>;\n  is_fungible_v2?: InputMaybe<Scalars['Boolean']['input']>;\n  largest_property_version_v1?: InputMaybe<Scalars['numeric']['input']>;\n  last_transaction_timestamp?: InputMaybe<Scalars['timestamp']['input']>;\n  last_transaction_version?: InputMaybe<Scalars['bigint']['input']>;\n  maximum?: InputMaybe<Scalars['numeric']['input']>;\n  supply?: InputMaybe<Scalars['numeric']['input']>;\n  token_data_id?: InputMaybe<Scalars['String']['input']>;\n  token_name?: InputMaybe<Scalars['String']['input']>;\n  token_properties?: InputMaybe<Scalars['jsonb']['input']>;\n  token_standard?: InputMaybe<Scalars['String']['input']>;\n  token_uri?: InputMaybe<Scalars['String']['input']>;\n};\n\n/** columns and relationships of \"current_token_ownerships\" */\nexport type Current_Token_Ownerships = {\n  __typename?: 'current_token_ownerships';\n  amount: Scalars['numeric']['output'];\n  /** An object relationship */\n  aptos_name?: Maybe<Current_Aptos_Names>;\n  collection_data_id_hash: Scalars['String']['output'];\n  collection_name: Scalars['String']['output'];\n  creator_address: Scalars['String']['output'];\n  /** An object relationship */\n  current_collection_data?: Maybe<Current_Collection_Datas>;\n  /** An object relationship */\n  current_token_data?: Maybe<Current_Token_Datas>;\n  last_transaction_timestamp: Scalars['timestamp']['output'];\n  last_transaction_version: Scalars['bigint']['output'];\n  name: Scalars['String']['output'];\n  owner_address: Scalars['String']['output'];\n  property_version: Scalars['numeric']['output'];\n  table_type: Scalars['String']['output'];\n  token_data_id_hash: Scalars['String']['output'];\n  token_properties: Scalars['jsonb']['output'];\n};\n\n\n/** columns and relationships of \"current_token_ownerships\" */\nexport type Current_Token_OwnershipsToken_PropertiesArgs = {\n  path?: InputMaybe<Scalars['String']['input']>;\n};\n\n/** aggregated selection of \"current_token_ownerships\" */\nexport type Current_Token_Ownerships_Aggregate = {\n  __typename?: 'current_token_ownerships_aggregate';\n  aggregate?: Maybe<Current_Token_Ownerships_Aggregate_Fields>;\n  nodes: Array<Current_Token_Ownerships>;\n};\n\nexport type Current_Token_Ownerships_Aggregate_Bool_Exp = {\n  count?: InputMaybe<Current_Token_Ownerships_Aggregate_Bool_Exp_Count>;\n};\n\nexport type Current_Token_Ownerships_Aggregate_Bool_Exp_Count = {\n  arguments?: InputMaybe<Array<Current_Token_Ownerships_Select_Column>>;\n  distinct?: InputMaybe<Scalars['Boolean']['input']>;\n  filter?: InputMaybe<Current_Token_Ownerships_Bool_Exp>;\n  predicate: Int_Comparison_Exp;\n};\n\n/** aggregate fields of \"current_token_ownerships\" */\nexport type Current_Token_Ownerships_Aggregate_Fields = {\n  __typename?: 'current_token_ownerships_aggregate_fields';\n  avg?: Maybe<Current_Token_Ownerships_Avg_Fields>;\n  count: Scalars['Int']['output'];\n  max?: Maybe<Current_Token_Ownerships_Max_Fields>;\n  min?: Maybe<Current_Token_Ownerships_Min_Fields>;\n  stddev?: Maybe<Current_Token_Ownerships_Stddev_Fields>;\n  stddev_pop?: Maybe<Current_Token_Ownerships_Stddev_Pop_Fields>;\n  stddev_samp?: Maybe<Current_Token_Ownerships_Stddev_Samp_Fields>;\n  sum?: Maybe<Current_Token_Ownerships_Sum_Fields>;\n  var_pop?: Maybe<Current_Token_Ownerships_Var_Pop_Fields>;\n  var_samp?: Maybe<Current_Token_Ownerships_Var_Samp_Fields>;\n  variance?: Maybe<Current_Token_Ownerships_Variance_Fields>;\n};\n\n\n/** aggregate fields of \"current_token_ownerships\" */\nexport type Current_Token_Ownerships_Aggregate_FieldsCountArgs = {\n  columns?: InputMaybe<Array<Current_Token_Ownerships_Select_Column>>;\n  distinct?: InputMaybe<Scalars['Boolean']['input']>;\n};\n\n/** order by aggregate values of table \"current_token_ownerships\" */\nexport type Current_Token_Ownerships_Aggregate_Order_By = {\n  avg?: InputMaybe<Current_Token_Ownerships_Avg_Order_By>;\n  count?: InputMaybe<Order_By>;\n  max?: InputMaybe<Current_Token_Ownerships_Max_Order_By>;\n  min?: InputMaybe<Current_Token_Ownerships_Min_Order_By>;\n  stddev?: InputMaybe<Current_Token_Ownerships_Stddev_Order_By>;\n  stddev_pop?: InputMaybe<Current_Token_Ownerships_Stddev_Pop_Order_By>;\n  stddev_samp?: InputMaybe<Current_Token_Ownerships_Stddev_Samp_Order_By>;\n  sum?: InputMaybe<Current_Token_Ownerships_Sum_Order_By>;\n  var_pop?: InputMaybe<Current_Token_Ownerships_Var_Pop_Order_By>;\n  var_samp?: InputMaybe<Current_Token_Ownerships_Var_Samp_Order_By>;\n  variance?: InputMaybe<Current_Token_Ownerships_Variance_Order_By>;\n};\n\n/** aggregate avg on columns */\nexport type Current_Token_Ownerships_Avg_Fields = {\n  __typename?: 'current_token_ownerships_avg_fields';\n  amount?: Maybe<Scalars['Float']['output']>;\n  last_transaction_version?: Maybe<Scalars['Float']['output']>;\n  property_version?: Maybe<Scalars['Float']['output']>;\n};\n\n/** order by avg() on columns of table \"current_token_ownerships\" */\nexport type Current_Token_Ownerships_Avg_Order_By = {\n  amount?: InputMaybe<Order_By>;\n  last_transaction_version?: InputMaybe<Order_By>;\n  property_version?: InputMaybe<Order_By>;\n};\n\n/** Boolean expression to filter rows from the table \"current_token_ownerships\". All fields are combined with a logical 'AND'. */\nexport type Current_Token_Ownerships_Bool_Exp = {\n  _and?: InputMaybe<Array<Current_Token_Ownerships_Bool_Exp>>;\n  _not?: InputMaybe<Current_Token_Ownerships_Bool_Exp>;\n  _or?: InputMaybe<Array<Current_Token_Ownerships_Bool_Exp>>;\n  amount?: InputMaybe<Numeric_Comparison_Exp>;\n  aptos_name?: InputMaybe<Current_Aptos_Names_Bool_Exp>;\n  collection_data_id_hash?: InputMaybe<String_Comparison_Exp>;\n  collection_name?: InputMaybe<String_Comparison_Exp>;\n  creator_address?: InputMaybe<String_Comparison_Exp>;\n  current_collection_data?: InputMaybe<Current_Collection_Datas_Bool_Exp>;\n  current_token_data?: InputMaybe<Current_Token_Datas_Bool_Exp>;\n  last_transaction_timestamp?: InputMaybe<Timestamp_Comparison_Exp>;\n  last_transaction_version?: InputMaybe<Bigint_Comparison_Exp>;\n  name?: InputMaybe<String_Comparison_Exp>;\n  owner_address?: InputMaybe<String_Comparison_Exp>;\n  property_version?: InputMaybe<Numeric_Comparison_Exp>;\n  table_type?: InputMaybe<String_Comparison_Exp>;\n  token_data_id_hash?: InputMaybe<String_Comparison_Exp>;\n  token_properties?: InputMaybe<Jsonb_Comparison_Exp>;\n};\n\n/** aggregate max on columns */\nexport type Current_Token_Ownerships_Max_Fields = {\n  __typename?: 'current_token_ownerships_max_fields';\n  amount?: Maybe<Scalars['numeric']['output']>;\n  collection_data_id_hash?: Maybe<Scalars['String']['output']>;\n  collection_name?: Maybe<Scalars['String']['output']>;\n  creator_address?: Maybe<Scalars['String']['output']>;\n  last_transaction_timestamp?: Maybe<Scalars['timestamp']['output']>;\n  last_transaction_version?: Maybe<Scalars['bigint']['output']>;\n  name?: Maybe<Scalars['String']['output']>;\n  owner_address?: Maybe<Scalars['String']['output']>;\n  property_version?: Maybe<Scalars['numeric']['output']>;\n  table_type?: Maybe<Scalars['String']['output']>;\n  token_data_id_hash?: Maybe<Scalars['String']['output']>;\n};\n\n/** order by max() on columns of table \"current_token_ownerships\" */\nexport type Current_Token_Ownerships_Max_Order_By = {\n  amount?: InputMaybe<Order_By>;\n  collection_data_id_hash?: InputMaybe<Order_By>;\n  collection_name?: InputMaybe<Order_By>;\n  creator_address?: InputMaybe<Order_By>;\n  last_transaction_timestamp?: InputMaybe<Order_By>;\n  last_transaction_version?: InputMaybe<Order_By>;\n  name?: InputMaybe<Order_By>;\n  owner_address?: InputMaybe<Order_By>;\n  property_version?: InputMaybe<Order_By>;\n  table_type?: InputMaybe<Order_By>;\n  token_data_id_hash?: InputMaybe<Order_By>;\n};\n\n/** aggregate min on columns */\nexport type Current_Token_Ownerships_Min_Fields = {\n  __typename?: 'current_token_ownerships_min_fields';\n  amount?: Maybe<Scalars['numeric']['output']>;\n  collection_data_id_hash?: Maybe<Scalars['String']['output']>;\n  collection_name?: Maybe<Scalars['String']['output']>;\n  creator_address?: Maybe<Scalars['String']['output']>;\n  last_transaction_timestamp?: Maybe<Scalars['timestamp']['output']>;\n  last_transaction_version?: Maybe<Scalars['bigint']['output']>;\n  name?: Maybe<Scalars['String']['output']>;\n  owner_address?: Maybe<Scalars['String']['output']>;\n  property_version?: Maybe<Scalars['numeric']['output']>;\n  table_type?: Maybe<Scalars['String']['output']>;\n  token_data_id_hash?: Maybe<Scalars['String']['output']>;\n};\n\n/** order by min() on columns of table \"current_token_ownerships\" */\nexport type Current_Token_Ownerships_Min_Order_By = {\n  amount?: InputMaybe<Order_By>;\n  collection_data_id_hash?: InputMaybe<Order_By>;\n  collection_name?: InputMaybe<Order_By>;\n  creator_address?: InputMaybe<Order_By>;\n  last_transaction_timestamp?: InputMaybe<Order_By>;\n  last_transaction_version?: InputMaybe<Order_By>;\n  name?: InputMaybe<Order_By>;\n  owner_address?: InputMaybe<Order_By>;\n  property_version?: InputMaybe<Order_By>;\n  table_type?: InputMaybe<Order_By>;\n  token_data_id_hash?: InputMaybe<Order_By>;\n};\n\n/** Ordering options when selecting data from \"current_token_ownerships\". */\nexport type Current_Token_Ownerships_Order_By = {\n  amount?: InputMaybe<Order_By>;\n  aptos_name?: InputMaybe<Current_Aptos_Names_Order_By>;\n  collection_data_id_hash?: InputMaybe<Order_By>;\n  collection_name?: InputMaybe<Order_By>;\n  creator_address?: InputMaybe<Order_By>;\n  current_collection_data?: InputMaybe<Current_Collection_Datas_Order_By>;\n  current_token_data?: InputMaybe<Current_Token_Datas_Order_By>;\n  last_transaction_timestamp?: InputMaybe<Order_By>;\n  last_transaction_version?: InputMaybe<Order_By>;\n  name?: InputMaybe<Order_By>;\n  owner_address?: InputMaybe<Order_By>;\n  property_version?: InputMaybe<Order_By>;\n  table_type?: InputMaybe<Order_By>;\n  token_data_id_hash?: InputMaybe<Order_By>;\n  token_properties?: InputMaybe<Order_By>;\n};\n\n/** select columns of table \"current_token_ownerships\" */\nexport enum Current_Token_Ownerships_Select_Column {\n  /** column name */\n  Amount = 'amount',\n  /** column name */\n  CollectionDataIdHash = 'collection_data_id_hash',\n  /** column name */\n  CollectionName = 'collection_name',\n  /** column name */\n  CreatorAddress = 'creator_address',\n  /** column name */\n  LastTransactionTimestamp = 'last_transaction_timestamp',\n  /** column name */\n  LastTransactionVersion = 'last_transaction_version',\n  /** column name */\n  Name = 'name',\n  /** column name */\n  OwnerAddress = 'owner_address',\n  /** column name */\n  PropertyVersion = 'property_version',\n  /** column name */\n  TableType = 'table_type',\n  /** column name */\n  TokenDataIdHash = 'token_data_id_hash',\n  /** column name */\n  TokenProperties = 'token_properties'\n}\n\n/** aggregate stddev on columns */\nexport type Current_Token_Ownerships_Stddev_Fields = {\n  __typename?: 'current_token_ownerships_stddev_fields';\n  amount?: Maybe<Scalars['Float']['output']>;\n  last_transaction_version?: Maybe<Scalars['Float']['output']>;\n  property_version?: Maybe<Scalars['Float']['output']>;\n};\n\n/** order by stddev() on columns of table \"current_token_ownerships\" */\nexport type Current_Token_Ownerships_Stddev_Order_By = {\n  amount?: InputMaybe<Order_By>;\n  last_transaction_version?: InputMaybe<Order_By>;\n  property_version?: InputMaybe<Order_By>;\n};\n\n/** aggregate stddev_pop on columns */\nexport type Current_Token_Ownerships_Stddev_Pop_Fields = {\n  __typename?: 'current_token_ownerships_stddev_pop_fields';\n  amount?: Maybe<Scalars['Float']['output']>;\n  last_transaction_version?: Maybe<Scalars['Float']['output']>;\n  property_version?: Maybe<Scalars['Float']['output']>;\n};\n\n/** order by stddev_pop() on columns of table \"current_token_ownerships\" */\nexport type Current_Token_Ownerships_Stddev_Pop_Order_By = {\n  amount?: InputMaybe<Order_By>;\n  last_transaction_version?: InputMaybe<Order_By>;\n  property_version?: InputMaybe<Order_By>;\n};\n\n/** aggregate stddev_samp on columns */\nexport type Current_Token_Ownerships_Stddev_Samp_Fields = {\n  __typename?: 'current_token_ownerships_stddev_samp_fields';\n  amount?: Maybe<Scalars['Float']['output']>;\n  last_transaction_version?: Maybe<Scalars['Float']['output']>;\n  property_version?: Maybe<Scalars['Float']['output']>;\n};\n\n/** order by stddev_samp() on columns of table \"current_token_ownerships\" */\nexport type Current_Token_Ownerships_Stddev_Samp_Order_By = {\n  amount?: InputMaybe<Order_By>;\n  last_transaction_version?: InputMaybe<Order_By>;\n  property_version?: InputMaybe<Order_By>;\n};\n\n/** Streaming cursor of the table \"current_token_ownerships\" */\nexport type Current_Token_Ownerships_Stream_Cursor_Input = {\n  /** Stream column input with initial value */\n  initial_value: Current_Token_Ownerships_Stream_Cursor_Value_Input;\n  /** cursor ordering */\n  ordering?: InputMaybe<Cursor_Ordering>;\n};\n\n/** Initial value of the column from where the streaming should start */\nexport type Current_Token_Ownerships_Stream_Cursor_Value_Input = {\n  amount?: InputMaybe<Scalars['numeric']['input']>;\n  collection_data_id_hash?: InputMaybe<Scalars['String']['input']>;\n  collection_name?: InputMaybe<Scalars['String']['input']>;\n  creator_address?: InputMaybe<Scalars['String']['input']>;\n  last_transaction_timestamp?: InputMaybe<Scalars['timestamp']['input']>;\n  last_transaction_version?: InputMaybe<Scalars['bigint']['input']>;\n  name?: InputMaybe<Scalars['String']['input']>;\n  owner_address?: InputMaybe<Scalars['String']['input']>;\n  property_version?: InputMaybe<Scalars['numeric']['input']>;\n  table_type?: InputMaybe<Scalars['String']['input']>;\n  token_data_id_hash?: InputMaybe<Scalars['String']['input']>;\n  token_properties?: InputMaybe<Scalars['jsonb']['input']>;\n};\n\n/** aggregate sum on columns */\nexport type Current_Token_Ownerships_Sum_Fields = {\n  __typename?: 'current_token_ownerships_sum_fields';\n  amount?: Maybe<Scalars['numeric']['output']>;\n  last_transaction_version?: Maybe<Scalars['bigint']['output']>;\n  property_version?: Maybe<Scalars['numeric']['output']>;\n};\n\n/** order by sum() on columns of table \"current_token_ownerships\" */\nexport type Current_Token_Ownerships_Sum_Order_By = {\n  amount?: InputMaybe<Order_By>;\n  last_transaction_version?: InputMaybe<Order_By>;\n  property_version?: InputMaybe<Order_By>;\n};\n\n/** columns and relationships of \"current_token_ownerships_v2\" */\nexport type Current_Token_Ownerships_V2 = {\n  __typename?: 'current_token_ownerships_v2';\n  amount: Scalars['numeric']['output'];\n  /** An array relationship */\n  composed_nfts: Array<Current_Token_Ownerships_V2>;\n  /** An aggregate relationship */\n  composed_nfts_aggregate: Current_Token_Ownerships_V2_Aggregate;\n  /** An object relationship */\n  current_token_data?: Maybe<Current_Token_Datas_V2>;\n  is_fungible_v2?: Maybe<Scalars['Boolean']['output']>;\n  is_soulbound_v2?: Maybe<Scalars['Boolean']['output']>;\n  last_transaction_timestamp: Scalars['timestamp']['output'];\n  last_transaction_version: Scalars['bigint']['output'];\n  owner_address: Scalars['String']['output'];\n  property_version_v1: Scalars['numeric']['output'];\n  storage_id: Scalars['String']['output'];\n  table_type_v1?: Maybe<Scalars['String']['output']>;\n  token_data_id: Scalars['String']['output'];\n  token_properties_mutated_v1?: Maybe<Scalars['jsonb']['output']>;\n  token_standard: Scalars['String']['output'];\n};\n\n\n/** columns and relationships of \"current_token_ownerships_v2\" */\nexport type Current_Token_Ownerships_V2Composed_NftsArgs = {\n  distinct_on?: InputMaybe<Array<Current_Token_Ownerships_V2_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Current_Token_Ownerships_V2_Order_By>>;\n  where?: InputMaybe<Current_Token_Ownerships_V2_Bool_Exp>;\n};\n\n\n/** columns and relationships of \"current_token_ownerships_v2\" */\nexport type Current_Token_Ownerships_V2Composed_Nfts_AggregateArgs = {\n  distinct_on?: InputMaybe<Array<Current_Token_Ownerships_V2_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Current_Token_Ownerships_V2_Order_By>>;\n  where?: InputMaybe<Current_Token_Ownerships_V2_Bool_Exp>;\n};\n\n\n/** columns and relationships of \"current_token_ownerships_v2\" */\nexport type Current_Token_Ownerships_V2Token_Properties_Mutated_V1Args = {\n  path?: InputMaybe<Scalars['String']['input']>;\n};\n\n/** aggregated selection of \"current_token_ownerships_v2\" */\nexport type Current_Token_Ownerships_V2_Aggregate = {\n  __typename?: 'current_token_ownerships_v2_aggregate';\n  aggregate?: Maybe<Current_Token_Ownerships_V2_Aggregate_Fields>;\n  nodes: Array<Current_Token_Ownerships_V2>;\n};\n\nexport type Current_Token_Ownerships_V2_Aggregate_Bool_Exp = {\n  bool_and?: InputMaybe<Current_Token_Ownerships_V2_Aggregate_Bool_Exp_Bool_And>;\n  bool_or?: InputMaybe<Current_Token_Ownerships_V2_Aggregate_Bool_Exp_Bool_Or>;\n  count?: InputMaybe<Current_Token_Ownerships_V2_Aggregate_Bool_Exp_Count>;\n};\n\nexport type Current_Token_Ownerships_V2_Aggregate_Bool_Exp_Bool_And = {\n  arguments: Current_Token_Ownerships_V2_Select_Column_Current_Token_Ownerships_V2_Aggregate_Bool_Exp_Bool_And_Arguments_Columns;\n  distinct?: InputMaybe<Scalars['Boolean']['input']>;\n  filter?: InputMaybe<Current_Token_Ownerships_V2_Bool_Exp>;\n  predicate: Boolean_Comparison_Exp;\n};\n\nexport type Current_Token_Ownerships_V2_Aggregate_Bool_Exp_Bool_Or = {\n  arguments: Current_Token_Ownerships_V2_Select_Column_Current_Token_Ownerships_V2_Aggregate_Bool_Exp_Bool_Or_Arguments_Columns;\n  distinct?: InputMaybe<Scalars['Boolean']['input']>;\n  filter?: InputMaybe<Current_Token_Ownerships_V2_Bool_Exp>;\n  predicate: Boolean_Comparison_Exp;\n};\n\nexport type Current_Token_Ownerships_V2_Aggregate_Bool_Exp_Count = {\n  arguments?: InputMaybe<Array<Current_Token_Ownerships_V2_Select_Column>>;\n  distinct?: InputMaybe<Scalars['Boolean']['input']>;\n  filter?: InputMaybe<Current_Token_Ownerships_V2_Bool_Exp>;\n  predicate: Int_Comparison_Exp;\n};\n\n/** aggregate fields of \"current_token_ownerships_v2\" */\nexport type Current_Token_Ownerships_V2_Aggregate_Fields = {\n  __typename?: 'current_token_ownerships_v2_aggregate_fields';\n  avg?: Maybe<Current_Token_Ownerships_V2_Avg_Fields>;\n  count: Scalars['Int']['output'];\n  max?: Maybe<Current_Token_Ownerships_V2_Max_Fields>;\n  min?: Maybe<Current_Token_Ownerships_V2_Min_Fields>;\n  stddev?: Maybe<Current_Token_Ownerships_V2_Stddev_Fields>;\n  stddev_pop?: Maybe<Current_Token_Ownerships_V2_Stddev_Pop_Fields>;\n  stddev_samp?: Maybe<Current_Token_Ownerships_V2_Stddev_Samp_Fields>;\n  sum?: Maybe<Current_Token_Ownerships_V2_Sum_Fields>;\n  var_pop?: Maybe<Current_Token_Ownerships_V2_Var_Pop_Fields>;\n  var_samp?: Maybe<Current_Token_Ownerships_V2_Var_Samp_Fields>;\n  variance?: Maybe<Current_Token_Ownerships_V2_Variance_Fields>;\n};\n\n\n/** aggregate fields of \"current_token_ownerships_v2\" */\nexport type Current_Token_Ownerships_V2_Aggregate_FieldsCountArgs = {\n  columns?: InputMaybe<Array<Current_Token_Ownerships_V2_Select_Column>>;\n  distinct?: InputMaybe<Scalars['Boolean']['input']>;\n};\n\n/** order by aggregate values of table \"current_token_ownerships_v2\" */\nexport type Current_Token_Ownerships_V2_Aggregate_Order_By = {\n  avg?: InputMaybe<Current_Token_Ownerships_V2_Avg_Order_By>;\n  count?: InputMaybe<Order_By>;\n  max?: InputMaybe<Current_Token_Ownerships_V2_Max_Order_By>;\n  min?: InputMaybe<Current_Token_Ownerships_V2_Min_Order_By>;\n  stddev?: InputMaybe<Current_Token_Ownerships_V2_Stddev_Order_By>;\n  stddev_pop?: InputMaybe<Current_Token_Ownerships_V2_Stddev_Pop_Order_By>;\n  stddev_samp?: InputMaybe<Current_Token_Ownerships_V2_Stddev_Samp_Order_By>;\n  sum?: InputMaybe<Current_Token_Ownerships_V2_Sum_Order_By>;\n  var_pop?: InputMaybe<Current_Token_Ownerships_V2_Var_Pop_Order_By>;\n  var_samp?: InputMaybe<Current_Token_Ownerships_V2_Var_Samp_Order_By>;\n  variance?: InputMaybe<Current_Token_Ownerships_V2_Variance_Order_By>;\n};\n\n/** aggregate avg on columns */\nexport type Current_Token_Ownerships_V2_Avg_Fields = {\n  __typename?: 'current_token_ownerships_v2_avg_fields';\n  amount?: Maybe<Scalars['Float']['output']>;\n  last_transaction_version?: Maybe<Scalars['Float']['output']>;\n  property_version_v1?: Maybe<Scalars['Float']['output']>;\n};\n\n/** order by avg() on columns of table \"current_token_ownerships_v2\" */\nexport type Current_Token_Ownerships_V2_Avg_Order_By = {\n  amount?: InputMaybe<Order_By>;\n  last_transaction_version?: InputMaybe<Order_By>;\n  property_version_v1?: InputMaybe<Order_By>;\n};\n\n/** Boolean expression to filter rows from the table \"current_token_ownerships_v2\". All fields are combined with a logical 'AND'. */\nexport type Current_Token_Ownerships_V2_Bool_Exp = {\n  _and?: InputMaybe<Array<Current_Token_Ownerships_V2_Bool_Exp>>;\n  _not?: InputMaybe<Current_Token_Ownerships_V2_Bool_Exp>;\n  _or?: InputMaybe<Array<Current_Token_Ownerships_V2_Bool_Exp>>;\n  amount?: InputMaybe<Numeric_Comparison_Exp>;\n  composed_nfts?: InputMaybe<Current_Token_Ownerships_V2_Bool_Exp>;\n  composed_nfts_aggregate?: InputMaybe<Current_Token_Ownerships_V2_Aggregate_Bool_Exp>;\n  current_token_data?: InputMaybe<Current_Token_Datas_V2_Bool_Exp>;\n  is_fungible_v2?: InputMaybe<Boolean_Comparison_Exp>;\n  is_soulbound_v2?: InputMaybe<Boolean_Comparison_Exp>;\n  last_transaction_timestamp?: InputMaybe<Timestamp_Comparison_Exp>;\n  last_transaction_version?: InputMaybe<Bigint_Comparison_Exp>;\n  owner_address?: InputMaybe<String_Comparison_Exp>;\n  property_version_v1?: InputMaybe<Numeric_Comparison_Exp>;\n  storage_id?: InputMaybe<String_Comparison_Exp>;\n  table_type_v1?: InputMaybe<String_Comparison_Exp>;\n  token_data_id?: InputMaybe<String_Comparison_Exp>;\n  token_properties_mutated_v1?: InputMaybe<Jsonb_Comparison_Exp>;\n  token_standard?: InputMaybe<String_Comparison_Exp>;\n};\n\n/** aggregate max on columns */\nexport type Current_Token_Ownerships_V2_Max_Fields = {\n  __typename?: 'current_token_ownerships_v2_max_fields';\n  amount?: Maybe<Scalars['numeric']['output']>;\n  last_transaction_timestamp?: Maybe<Scalars['timestamp']['output']>;\n  last_transaction_version?: Maybe<Scalars['bigint']['output']>;\n  owner_address?: Maybe<Scalars['String']['output']>;\n  property_version_v1?: Maybe<Scalars['numeric']['output']>;\n  storage_id?: Maybe<Scalars['String']['output']>;\n  table_type_v1?: Maybe<Scalars['String']['output']>;\n  token_data_id?: Maybe<Scalars['String']['output']>;\n  token_standard?: Maybe<Scalars['String']['output']>;\n};\n\n/** order by max() on columns of table \"current_token_ownerships_v2\" */\nexport type Current_Token_Ownerships_V2_Max_Order_By = {\n  amount?: InputMaybe<Order_By>;\n  last_transaction_timestamp?: InputMaybe<Order_By>;\n  last_transaction_version?: InputMaybe<Order_By>;\n  owner_address?: InputMaybe<Order_By>;\n  property_version_v1?: InputMaybe<Order_By>;\n  storage_id?: InputMaybe<Order_By>;\n  table_type_v1?: InputMaybe<Order_By>;\n  token_data_id?: InputMaybe<Order_By>;\n  token_standard?: InputMaybe<Order_By>;\n};\n\n/** aggregate min on columns */\nexport type Current_Token_Ownerships_V2_Min_Fields = {\n  __typename?: 'current_token_ownerships_v2_min_fields';\n  amount?: Maybe<Scalars['numeric']['output']>;\n  last_transaction_timestamp?: Maybe<Scalars['timestamp']['output']>;\n  last_transaction_version?: Maybe<Scalars['bigint']['output']>;\n  owner_address?: Maybe<Scalars['String']['output']>;\n  property_version_v1?: Maybe<Scalars['numeric']['output']>;\n  storage_id?: Maybe<Scalars['String']['output']>;\n  table_type_v1?: Maybe<Scalars['String']['output']>;\n  token_data_id?: Maybe<Scalars['String']['output']>;\n  token_standard?: Maybe<Scalars['String']['output']>;\n};\n\n/** order by min() on columns of table \"current_token_ownerships_v2\" */\nexport type Current_Token_Ownerships_V2_Min_Order_By = {\n  amount?: InputMaybe<Order_By>;\n  last_transaction_timestamp?: InputMaybe<Order_By>;\n  last_transaction_version?: InputMaybe<Order_By>;\n  owner_address?: InputMaybe<Order_By>;\n  property_version_v1?: InputMaybe<Order_By>;\n  storage_id?: InputMaybe<Order_By>;\n  table_type_v1?: InputMaybe<Order_By>;\n  token_data_id?: InputMaybe<Order_By>;\n  token_standard?: InputMaybe<Order_By>;\n};\n\n/** Ordering options when selecting data from \"current_token_ownerships_v2\". */\nexport type Current_Token_Ownerships_V2_Order_By = {\n  amount?: InputMaybe<Order_By>;\n  composed_nfts_aggregate?: InputMaybe<Current_Token_Ownerships_V2_Aggregate_Order_By>;\n  current_token_data?: InputMaybe<Current_Token_Datas_V2_Order_By>;\n  is_fungible_v2?: InputMaybe<Order_By>;\n  is_soulbound_v2?: InputMaybe<Order_By>;\n  last_transaction_timestamp?: InputMaybe<Order_By>;\n  last_transaction_version?: InputMaybe<Order_By>;\n  owner_address?: InputMaybe<Order_By>;\n  property_version_v1?: InputMaybe<Order_By>;\n  storage_id?: InputMaybe<Order_By>;\n  table_type_v1?: InputMaybe<Order_By>;\n  token_data_id?: InputMaybe<Order_By>;\n  token_properties_mutated_v1?: InputMaybe<Order_By>;\n  token_standard?: InputMaybe<Order_By>;\n};\n\n/** select columns of table \"current_token_ownerships_v2\" */\nexport enum Current_Token_Ownerships_V2_Select_Column {\n  /** column name */\n  Amount = 'amount',\n  /** column name */\n  IsFungibleV2 = 'is_fungible_v2',\n  /** column name */\n  IsSoulboundV2 = 'is_soulbound_v2',\n  /** column name */\n  LastTransactionTimestamp = 'last_transaction_timestamp',\n  /** column name */\n  LastTransactionVersion = 'last_transaction_version',\n  /** column name */\n  OwnerAddress = 'owner_address',\n  /** column name */\n  PropertyVersionV1 = 'property_version_v1',\n  /** column name */\n  StorageId = 'storage_id',\n  /** column name */\n  TableTypeV1 = 'table_type_v1',\n  /** column name */\n  TokenDataId = 'token_data_id',\n  /** column name */\n  TokenPropertiesMutatedV1 = 'token_properties_mutated_v1',\n  /** column name */\n  TokenStandard = 'token_standard'\n}\n\n/** select \"current_token_ownerships_v2_aggregate_bool_exp_bool_and_arguments_columns\" columns of table \"current_token_ownerships_v2\" */\nexport enum Current_Token_Ownerships_V2_Select_Column_Current_Token_Ownerships_V2_Aggregate_Bool_Exp_Bool_And_Arguments_Columns {\n  /** column name */\n  IsFungibleV2 = 'is_fungible_v2',\n  /** column name */\n  IsSoulboundV2 = 'is_soulbound_v2'\n}\n\n/** select \"current_token_ownerships_v2_aggregate_bool_exp_bool_or_arguments_columns\" columns of table \"current_token_ownerships_v2\" */\nexport enum Current_Token_Ownerships_V2_Select_Column_Current_Token_Ownerships_V2_Aggregate_Bool_Exp_Bool_Or_Arguments_Columns {\n  /** column name */\n  IsFungibleV2 = 'is_fungible_v2',\n  /** column name */\n  IsSoulboundV2 = 'is_soulbound_v2'\n}\n\n/** aggregate stddev on columns */\nexport type Current_Token_Ownerships_V2_Stddev_Fields = {\n  __typename?: 'current_token_ownerships_v2_stddev_fields';\n  amount?: Maybe<Scalars['Float']['output']>;\n  last_transaction_version?: Maybe<Scalars['Float']['output']>;\n  property_version_v1?: Maybe<Scalars['Float']['output']>;\n};\n\n/** order by stddev() on columns of table \"current_token_ownerships_v2\" */\nexport type Current_Token_Ownerships_V2_Stddev_Order_By = {\n  amount?: InputMaybe<Order_By>;\n  last_transaction_version?: InputMaybe<Order_By>;\n  property_version_v1?: InputMaybe<Order_By>;\n};\n\n/** aggregate stddev_pop on columns */\nexport type Current_Token_Ownerships_V2_Stddev_Pop_Fields = {\n  __typename?: 'current_token_ownerships_v2_stddev_pop_fields';\n  amount?: Maybe<Scalars['Float']['output']>;\n  last_transaction_version?: Maybe<Scalars['Float']['output']>;\n  property_version_v1?: Maybe<Scalars['Float']['output']>;\n};\n\n/** order by stddev_pop() on columns of table \"current_token_ownerships_v2\" */\nexport type Current_Token_Ownerships_V2_Stddev_Pop_Order_By = {\n  amount?: InputMaybe<Order_By>;\n  last_transaction_version?: InputMaybe<Order_By>;\n  property_version_v1?: InputMaybe<Order_By>;\n};\n\n/** aggregate stddev_samp on columns */\nexport type Current_Token_Ownerships_V2_Stddev_Samp_Fields = {\n  __typename?: 'current_token_ownerships_v2_stddev_samp_fields';\n  amount?: Maybe<Scalars['Float']['output']>;\n  last_transaction_version?: Maybe<Scalars['Float']['output']>;\n  property_version_v1?: Maybe<Scalars['Float']['output']>;\n};\n\n/** order by stddev_samp() on columns of table \"current_token_ownerships_v2\" */\nexport type Current_Token_Ownerships_V2_Stddev_Samp_Order_By = {\n  amount?: InputMaybe<Order_By>;\n  last_transaction_version?: InputMaybe<Order_By>;\n  property_version_v1?: InputMaybe<Order_By>;\n};\n\n/** Streaming cursor of the table \"current_token_ownerships_v2\" */\nexport type Current_Token_Ownerships_V2_Stream_Cursor_Input = {\n  /** Stream column input with initial value */\n  initial_value: Current_Token_Ownerships_V2_Stream_Cursor_Value_Input;\n  /** cursor ordering */\n  ordering?: InputMaybe<Cursor_Ordering>;\n};\n\n/** Initial value of the column from where the streaming should start */\nexport type Current_Token_Ownerships_V2_Stream_Cursor_Value_Input = {\n  amount?: InputMaybe<Scalars['numeric']['input']>;\n  is_fungible_v2?: InputMaybe<Scalars['Boolean']['input']>;\n  is_soulbound_v2?: InputMaybe<Scalars['Boolean']['input']>;\n  last_transaction_timestamp?: InputMaybe<Scalars['timestamp']['input']>;\n  last_transaction_version?: InputMaybe<Scalars['bigint']['input']>;\n  owner_address?: InputMaybe<Scalars['String']['input']>;\n  property_version_v1?: InputMaybe<Scalars['numeric']['input']>;\n  storage_id?: InputMaybe<Scalars['String']['input']>;\n  table_type_v1?: InputMaybe<Scalars['String']['input']>;\n  token_data_id?: InputMaybe<Scalars['String']['input']>;\n  token_properties_mutated_v1?: InputMaybe<Scalars['jsonb']['input']>;\n  token_standard?: InputMaybe<Scalars['String']['input']>;\n};\n\n/** aggregate sum on columns */\nexport type Current_Token_Ownerships_V2_Sum_Fields = {\n  __typename?: 'current_token_ownerships_v2_sum_fields';\n  amount?: Maybe<Scalars['numeric']['output']>;\n  last_transaction_version?: Maybe<Scalars['bigint']['output']>;\n  property_version_v1?: Maybe<Scalars['numeric']['output']>;\n};\n\n/** order by sum() on columns of table \"current_token_ownerships_v2\" */\nexport type Current_Token_Ownerships_V2_Sum_Order_By = {\n  amount?: InputMaybe<Order_By>;\n  last_transaction_version?: InputMaybe<Order_By>;\n  property_version_v1?: InputMaybe<Order_By>;\n};\n\n/** aggregate var_pop on columns */\nexport type Current_Token_Ownerships_V2_Var_Pop_Fields = {\n  __typename?: 'current_token_ownerships_v2_var_pop_fields';\n  amount?: Maybe<Scalars['Float']['output']>;\n  last_transaction_version?: Maybe<Scalars['Float']['output']>;\n  property_version_v1?: Maybe<Scalars['Float']['output']>;\n};\n\n/** order by var_pop() on columns of table \"current_token_ownerships_v2\" */\nexport type Current_Token_Ownerships_V2_Var_Pop_Order_By = {\n  amount?: InputMaybe<Order_By>;\n  last_transaction_version?: InputMaybe<Order_By>;\n  property_version_v1?: InputMaybe<Order_By>;\n};\n\n/** aggregate var_samp on columns */\nexport type Current_Token_Ownerships_V2_Var_Samp_Fields = {\n  __typename?: 'current_token_ownerships_v2_var_samp_fields';\n  amount?: Maybe<Scalars['Float']['output']>;\n  last_transaction_version?: Maybe<Scalars['Float']['output']>;\n  property_version_v1?: Maybe<Scalars['Float']['output']>;\n};\n\n/** order by var_samp() on columns of table \"current_token_ownerships_v2\" */\nexport type Current_Token_Ownerships_V2_Var_Samp_Order_By = {\n  amount?: InputMaybe<Order_By>;\n  last_transaction_version?: InputMaybe<Order_By>;\n  property_version_v1?: InputMaybe<Order_By>;\n};\n\n/** aggregate variance on columns */\nexport type Current_Token_Ownerships_V2_Variance_Fields = {\n  __typename?: 'current_token_ownerships_v2_variance_fields';\n  amount?: Maybe<Scalars['Float']['output']>;\n  last_transaction_version?: Maybe<Scalars['Float']['output']>;\n  property_version_v1?: Maybe<Scalars['Float']['output']>;\n};\n\n/** order by variance() on columns of table \"current_token_ownerships_v2\" */\nexport type Current_Token_Ownerships_V2_Variance_Order_By = {\n  amount?: InputMaybe<Order_By>;\n  last_transaction_version?: InputMaybe<Order_By>;\n  property_version_v1?: InputMaybe<Order_By>;\n};\n\n/** aggregate var_pop on columns */\nexport type Current_Token_Ownerships_Var_Pop_Fields = {\n  __typename?: 'current_token_ownerships_var_pop_fields';\n  amount?: Maybe<Scalars['Float']['output']>;\n  last_transaction_version?: Maybe<Scalars['Float']['output']>;\n  property_version?: Maybe<Scalars['Float']['output']>;\n};\n\n/** order by var_pop() on columns of table \"current_token_ownerships\" */\nexport type Current_Token_Ownerships_Var_Pop_Order_By = {\n  amount?: InputMaybe<Order_By>;\n  last_transaction_version?: InputMaybe<Order_By>;\n  property_version?: InputMaybe<Order_By>;\n};\n\n/** aggregate var_samp on columns */\nexport type Current_Token_Ownerships_Var_Samp_Fields = {\n  __typename?: 'current_token_ownerships_var_samp_fields';\n  amount?: Maybe<Scalars['Float']['output']>;\n  last_transaction_version?: Maybe<Scalars['Float']['output']>;\n  property_version?: Maybe<Scalars['Float']['output']>;\n};\n\n/** order by var_samp() on columns of table \"current_token_ownerships\" */\nexport type Current_Token_Ownerships_Var_Samp_Order_By = {\n  amount?: InputMaybe<Order_By>;\n  last_transaction_version?: InputMaybe<Order_By>;\n  property_version?: InputMaybe<Order_By>;\n};\n\n/** aggregate variance on columns */\nexport type Current_Token_Ownerships_Variance_Fields = {\n  __typename?: 'current_token_ownerships_variance_fields';\n  amount?: Maybe<Scalars['Float']['output']>;\n  last_transaction_version?: Maybe<Scalars['Float']['output']>;\n  property_version?: Maybe<Scalars['Float']['output']>;\n};\n\n/** order by variance() on columns of table \"current_token_ownerships\" */\nexport type Current_Token_Ownerships_Variance_Order_By = {\n  amount?: InputMaybe<Order_By>;\n  last_transaction_version?: InputMaybe<Order_By>;\n  property_version?: InputMaybe<Order_By>;\n};\n\n/** columns and relationships of \"current_token_pending_claims\" */\nexport type Current_Token_Pending_Claims = {\n  __typename?: 'current_token_pending_claims';\n  amount: Scalars['numeric']['output'];\n  collection_data_id_hash: Scalars['String']['output'];\n  collection_id: Scalars['String']['output'];\n  collection_name: Scalars['String']['output'];\n  creator_address: Scalars['String']['output'];\n  /** An object relationship */\n  current_collection_data?: Maybe<Current_Collection_Datas>;\n  /** An object relationship */\n  current_collection_v2?: Maybe<Current_Collections_V2>;\n  /** An object relationship */\n  current_token_data?: Maybe<Current_Token_Datas>;\n  /** An object relationship */\n  current_token_data_v2?: Maybe<Current_Token_Datas_V2>;\n  from_address: Scalars['String']['output'];\n  last_transaction_timestamp: Scalars['timestamp']['output'];\n  last_transaction_version: Scalars['bigint']['output'];\n  name: Scalars['String']['output'];\n  property_version: Scalars['numeric']['output'];\n  table_handle: Scalars['String']['output'];\n  to_address: Scalars['String']['output'];\n  /** An object relationship */\n  token?: Maybe<Tokens>;\n  token_data_id: Scalars['String']['output'];\n  token_data_id_hash: Scalars['String']['output'];\n};\n\n/** Boolean expression to filter rows from the table \"current_token_pending_claims\". All fields are combined with a logical 'AND'. */\nexport type Current_Token_Pending_Claims_Bool_Exp = {\n  _and?: InputMaybe<Array<Current_Token_Pending_Claims_Bool_Exp>>;\n  _not?: InputMaybe<Current_Token_Pending_Claims_Bool_Exp>;\n  _or?: InputMaybe<Array<Current_Token_Pending_Claims_Bool_Exp>>;\n  amount?: InputMaybe<Numeric_Comparison_Exp>;\n  collection_data_id_hash?: InputMaybe<String_Comparison_Exp>;\n  collection_id?: InputMaybe<String_Comparison_Exp>;\n  collection_name?: InputMaybe<String_Comparison_Exp>;\n  creator_address?: InputMaybe<String_Comparison_Exp>;\n  current_collection_data?: InputMaybe<Current_Collection_Datas_Bool_Exp>;\n  current_collection_v2?: InputMaybe<Current_Collections_V2_Bool_Exp>;\n  current_token_data?: InputMaybe<Current_Token_Datas_Bool_Exp>;\n  current_token_data_v2?: InputMaybe<Current_Token_Datas_V2_Bool_Exp>;\n  from_address?: InputMaybe<String_Comparison_Exp>;\n  last_transaction_timestamp?: InputMaybe<Timestamp_Comparison_Exp>;\n  last_transaction_version?: InputMaybe<Bigint_Comparison_Exp>;\n  name?: InputMaybe<String_Comparison_Exp>;\n  property_version?: InputMaybe<Numeric_Comparison_Exp>;\n  table_handle?: InputMaybe<String_Comparison_Exp>;\n  to_address?: InputMaybe<String_Comparison_Exp>;\n  token?: InputMaybe<Tokens_Bool_Exp>;\n  token_data_id?: InputMaybe<String_Comparison_Exp>;\n  token_data_id_hash?: InputMaybe<String_Comparison_Exp>;\n};\n\n/** Ordering options when selecting data from \"current_token_pending_claims\". */\nexport type Current_Token_Pending_Claims_Order_By = {\n  amount?: InputMaybe<Order_By>;\n  collection_data_id_hash?: InputMaybe<Order_By>;\n  collection_id?: InputMaybe<Order_By>;\n  collection_name?: InputMaybe<Order_By>;\n  creator_address?: InputMaybe<Order_By>;\n  current_collection_data?: InputMaybe<Current_Collection_Datas_Order_By>;\n  current_collection_v2?: InputMaybe<Current_Collections_V2_Order_By>;\n  current_token_data?: InputMaybe<Current_Token_Datas_Order_By>;\n  current_token_data_v2?: InputMaybe<Current_Token_Datas_V2_Order_By>;\n  from_address?: InputMaybe<Order_By>;\n  last_transaction_timestamp?: InputMaybe<Order_By>;\n  last_transaction_version?: InputMaybe<Order_By>;\n  name?: InputMaybe<Order_By>;\n  property_version?: InputMaybe<Order_By>;\n  table_handle?: InputMaybe<Order_By>;\n  to_address?: InputMaybe<Order_By>;\n  token?: InputMaybe<Tokens_Order_By>;\n  token_data_id?: InputMaybe<Order_By>;\n  token_data_id_hash?: InputMaybe<Order_By>;\n};\n\n/** select columns of table \"current_token_pending_claims\" */\nexport enum Current_Token_Pending_Claims_Select_Column {\n  /** column name */\n  Amount = 'amount',\n  /** column name */\n  CollectionDataIdHash = 'collection_data_id_hash',\n  /** column name */\n  CollectionId = 'collection_id',\n  /** column name */\n  CollectionName = 'collection_name',\n  /** column name */\n  CreatorAddress = 'creator_address',\n  /** column name */\n  FromAddress = 'from_address',\n  /** column name */\n  LastTransactionTimestamp = 'last_transaction_timestamp',\n  /** column name */\n  LastTransactionVersion = 'last_transaction_version',\n  /** column name */\n  Name = 'name',\n  /** column name */\n  PropertyVersion = 'property_version',\n  /** column name */\n  TableHandle = 'table_handle',\n  /** column name */\n  ToAddress = 'to_address',\n  /** column name */\n  TokenDataId = 'token_data_id',\n  /** column name */\n  TokenDataIdHash = 'token_data_id_hash'\n}\n\n/** Streaming cursor of the table \"current_token_pending_claims\" */\nexport type Current_Token_Pending_Claims_Stream_Cursor_Input = {\n  /** Stream column input with initial value */\n  initial_value: Current_Token_Pending_Claims_Stream_Cursor_Value_Input;\n  /** cursor ordering */\n  ordering?: InputMaybe<Cursor_Ordering>;\n};\n\n/** Initial value of the column from where the streaming should start */\nexport type Current_Token_Pending_Claims_Stream_Cursor_Value_Input = {\n  amount?: InputMaybe<Scalars['numeric']['input']>;\n  collection_data_id_hash?: InputMaybe<Scalars['String']['input']>;\n  collection_id?: InputMaybe<Scalars['String']['input']>;\n  collection_name?: InputMaybe<Scalars['String']['input']>;\n  creator_address?: InputMaybe<Scalars['String']['input']>;\n  from_address?: InputMaybe<Scalars['String']['input']>;\n  last_transaction_timestamp?: InputMaybe<Scalars['timestamp']['input']>;\n  last_transaction_version?: InputMaybe<Scalars['bigint']['input']>;\n  name?: InputMaybe<Scalars['String']['input']>;\n  property_version?: InputMaybe<Scalars['numeric']['input']>;\n  table_handle?: InputMaybe<Scalars['String']['input']>;\n  to_address?: InputMaybe<Scalars['String']['input']>;\n  token_data_id?: InputMaybe<Scalars['String']['input']>;\n  token_data_id_hash?: InputMaybe<Scalars['String']['input']>;\n};\n\n/** ordering argument of a cursor */\nexport enum Cursor_Ordering {\n  /** ascending ordering of the cursor */\n  Asc = 'ASC',\n  /** descending ordering of the cursor */\n  Desc = 'DESC'\n}\n\n/** columns and relationships of \"delegated_staking_activities\" */\nexport type Delegated_Staking_Activities = {\n  __typename?: 'delegated_staking_activities';\n  amount: Scalars['numeric']['output'];\n  delegator_address: Scalars['String']['output'];\n  event_index: Scalars['bigint']['output'];\n  event_type: Scalars['String']['output'];\n  pool_address: Scalars['String']['output'];\n  transaction_version: Scalars['bigint']['output'];\n};\n\n/** order by aggregate values of table \"delegated_staking_activities\" */\nexport type Delegated_Staking_Activities_Aggregate_Order_By = {\n  avg?: InputMaybe<Delegated_Staking_Activities_Avg_Order_By>;\n  count?: InputMaybe<Order_By>;\n  max?: InputMaybe<Delegated_Staking_Activities_Max_Order_By>;\n  min?: InputMaybe<Delegated_Staking_Activities_Min_Order_By>;\n  stddev?: InputMaybe<Delegated_Staking_Activities_Stddev_Order_By>;\n  stddev_pop?: InputMaybe<Delegated_Staking_Activities_Stddev_Pop_Order_By>;\n  stddev_samp?: InputMaybe<Delegated_Staking_Activities_Stddev_Samp_Order_By>;\n  sum?: InputMaybe<Delegated_Staking_Activities_Sum_Order_By>;\n  var_pop?: InputMaybe<Delegated_Staking_Activities_Var_Pop_Order_By>;\n  var_samp?: InputMaybe<Delegated_Staking_Activities_Var_Samp_Order_By>;\n  variance?: InputMaybe<Delegated_Staking_Activities_Variance_Order_By>;\n};\n\n/** order by avg() on columns of table \"delegated_staking_activities\" */\nexport type Delegated_Staking_Activities_Avg_Order_By = {\n  amount?: InputMaybe<Order_By>;\n  event_index?: InputMaybe<Order_By>;\n  transaction_version?: InputMaybe<Order_By>;\n};\n\n/** Boolean expression to filter rows from the table \"delegated_staking_activities\". All fields are combined with a logical 'AND'. */\nexport type Delegated_Staking_Activities_Bool_Exp = {\n  _and?: InputMaybe<Array<Delegated_Staking_Activities_Bool_Exp>>;\n  _not?: InputMaybe<Delegated_Staking_Activities_Bool_Exp>;\n  _or?: InputMaybe<Array<Delegated_Staking_Activities_Bool_Exp>>;\n  amount?: InputMaybe<Numeric_Comparison_Exp>;\n  delegator_address?: InputMaybe<String_Comparison_Exp>;\n  event_index?: InputMaybe<Bigint_Comparison_Exp>;\n  event_type?: InputMaybe<String_Comparison_Exp>;\n  pool_address?: InputMaybe<String_Comparison_Exp>;\n  transaction_version?: InputMaybe<Bigint_Comparison_Exp>;\n};\n\n/** order by max() on columns of table \"delegated_staking_activities\" */\nexport type Delegated_Staking_Activities_Max_Order_By = {\n  amount?: InputMaybe<Order_By>;\n  delegator_address?: InputMaybe<Order_By>;\n  event_index?: InputMaybe<Order_By>;\n  event_type?: InputMaybe<Order_By>;\n  pool_address?: InputMaybe<Order_By>;\n  transaction_version?: InputMaybe<Order_By>;\n};\n\n/** order by min() on columns of table \"delegated_staking_activities\" */\nexport type Delegated_Staking_Activities_Min_Order_By = {\n  amount?: InputMaybe<Order_By>;\n  delegator_address?: InputMaybe<Order_By>;\n  event_index?: InputMaybe<Order_By>;\n  event_type?: InputMaybe<Order_By>;\n  pool_address?: InputMaybe<Order_By>;\n  transaction_version?: InputMaybe<Order_By>;\n};\n\n/** Ordering options when selecting data from \"delegated_staking_activities\". */\nexport type Delegated_Staking_Activities_Order_By = {\n  amount?: InputMaybe<Order_By>;\n  delegator_address?: InputMaybe<Order_By>;\n  event_index?: InputMaybe<Order_By>;\n  event_type?: InputMaybe<Order_By>;\n  pool_address?: InputMaybe<Order_By>;\n  transaction_version?: InputMaybe<Order_By>;\n};\n\n/** select columns of table \"delegated_staking_activities\" */\nexport enum Delegated_Staking_Activities_Select_Column {\n  /** column name */\n  Amount = 'amount',\n  /** column name */\n  DelegatorAddress = 'delegator_address',\n  /** column name */\n  EventIndex = 'event_index',\n  /** column name */\n  EventType = 'event_type',\n  /** column name */\n  PoolAddress = 'pool_address',\n  /** column name */\n  TransactionVersion = 'transaction_version'\n}\n\n/** order by stddev() on columns of table \"delegated_staking_activities\" */\nexport type Delegated_Staking_Activities_Stddev_Order_By = {\n  amount?: InputMaybe<Order_By>;\n  event_index?: InputMaybe<Order_By>;\n  transaction_version?: InputMaybe<Order_By>;\n};\n\n/** order by stddev_pop() on columns of table \"delegated_staking_activities\" */\nexport type Delegated_Staking_Activities_Stddev_Pop_Order_By = {\n  amount?: InputMaybe<Order_By>;\n  event_index?: InputMaybe<Order_By>;\n  transaction_version?: InputMaybe<Order_By>;\n};\n\n/** order by stddev_samp() on columns of table \"delegated_staking_activities\" */\nexport type Delegated_Staking_Activities_Stddev_Samp_Order_By = {\n  amount?: InputMaybe<Order_By>;\n  event_index?: InputMaybe<Order_By>;\n  transaction_version?: InputMaybe<Order_By>;\n};\n\n/** Streaming cursor of the table \"delegated_staking_activities\" */\nexport type Delegated_Staking_Activities_Stream_Cursor_Input = {\n  /** Stream column input with initial value */\n  initial_value: Delegated_Staking_Activities_Stream_Cursor_Value_Input;\n  /** cursor ordering */\n  ordering?: InputMaybe<Cursor_Ordering>;\n};\n\n/** Initial value of the column from where the streaming should start */\nexport type Delegated_Staking_Activities_Stream_Cursor_Value_Input = {\n  amount?: InputMaybe<Scalars['numeric']['input']>;\n  delegator_address?: InputMaybe<Scalars['String']['input']>;\n  event_index?: InputMaybe<Scalars['bigint']['input']>;\n  event_type?: InputMaybe<Scalars['String']['input']>;\n  pool_address?: InputMaybe<Scalars['String']['input']>;\n  transaction_version?: InputMaybe<Scalars['bigint']['input']>;\n};\n\n/** order by sum() on columns of table \"delegated_staking_activities\" */\nexport type Delegated_Staking_Activities_Sum_Order_By = {\n  amount?: InputMaybe<Order_By>;\n  event_index?: InputMaybe<Order_By>;\n  transaction_version?: InputMaybe<Order_By>;\n};\n\n/** order by var_pop() on columns of table \"delegated_staking_activities\" */\nexport type Delegated_Staking_Activities_Var_Pop_Order_By = {\n  amount?: InputMaybe<Order_By>;\n  event_index?: InputMaybe<Order_By>;\n  transaction_version?: InputMaybe<Order_By>;\n};\n\n/** order by var_samp() on columns of table \"delegated_staking_activities\" */\nexport type Delegated_Staking_Activities_Var_Samp_Order_By = {\n  amount?: InputMaybe<Order_By>;\n  event_index?: InputMaybe<Order_By>;\n  transaction_version?: InputMaybe<Order_By>;\n};\n\n/** order by variance() on columns of table \"delegated_staking_activities\" */\nexport type Delegated_Staking_Activities_Variance_Order_By = {\n  amount?: InputMaybe<Order_By>;\n  event_index?: InputMaybe<Order_By>;\n  transaction_version?: InputMaybe<Order_By>;\n};\n\n/** columns and relationships of \"delegated_staking_pools\" */\nexport type Delegated_Staking_Pools = {\n  __typename?: 'delegated_staking_pools';\n  /** An object relationship */\n  current_staking_pool?: Maybe<Current_Staking_Pool_Voter>;\n  first_transaction_version: Scalars['bigint']['output'];\n  staking_pool_address: Scalars['String']['output'];\n};\n\n/** Boolean expression to filter rows from the table \"delegated_staking_pools\". All fields are combined with a logical 'AND'. */\nexport type Delegated_Staking_Pools_Bool_Exp = {\n  _and?: InputMaybe<Array<Delegated_Staking_Pools_Bool_Exp>>;\n  _not?: InputMaybe<Delegated_Staking_Pools_Bool_Exp>;\n  _or?: InputMaybe<Array<Delegated_Staking_Pools_Bool_Exp>>;\n  current_staking_pool?: InputMaybe<Current_Staking_Pool_Voter_Bool_Exp>;\n  first_transaction_version?: InputMaybe<Bigint_Comparison_Exp>;\n  staking_pool_address?: InputMaybe<String_Comparison_Exp>;\n};\n\n/** Ordering options when selecting data from \"delegated_staking_pools\". */\nexport type Delegated_Staking_Pools_Order_By = {\n  current_staking_pool?: InputMaybe<Current_Staking_Pool_Voter_Order_By>;\n  first_transaction_version?: InputMaybe<Order_By>;\n  staking_pool_address?: InputMaybe<Order_By>;\n};\n\n/** select columns of table \"delegated_staking_pools\" */\nexport enum Delegated_Staking_Pools_Select_Column {\n  /** column name */\n  FirstTransactionVersion = 'first_transaction_version',\n  /** column name */\n  StakingPoolAddress = 'staking_pool_address'\n}\n\n/** Streaming cursor of the table \"delegated_staking_pools\" */\nexport type Delegated_Staking_Pools_Stream_Cursor_Input = {\n  /** Stream column input with initial value */\n  initial_value: Delegated_Staking_Pools_Stream_Cursor_Value_Input;\n  /** cursor ordering */\n  ordering?: InputMaybe<Cursor_Ordering>;\n};\n\n/** Initial value of the column from where the streaming should start */\nexport type Delegated_Staking_Pools_Stream_Cursor_Value_Input = {\n  first_transaction_version?: InputMaybe<Scalars['bigint']['input']>;\n  staking_pool_address?: InputMaybe<Scalars['String']['input']>;\n};\n\n/** columns and relationships of \"delegator_distinct_pool\" */\nexport type Delegator_Distinct_Pool = {\n  __typename?: 'delegator_distinct_pool';\n  /** An object relationship */\n  current_pool_balance?: Maybe<Current_Delegated_Staking_Pool_Balances>;\n  delegator_address?: Maybe<Scalars['String']['output']>;\n  pool_address?: Maybe<Scalars['String']['output']>;\n  /** An object relationship */\n  staking_pool_metadata?: Maybe<Current_Staking_Pool_Voter>;\n};\n\n/** aggregated selection of \"delegator_distinct_pool\" */\nexport type Delegator_Distinct_Pool_Aggregate = {\n  __typename?: 'delegator_distinct_pool_aggregate';\n  aggregate?: Maybe<Delegator_Distinct_Pool_Aggregate_Fields>;\n  nodes: Array<Delegator_Distinct_Pool>;\n};\n\n/** aggregate fields of \"delegator_distinct_pool\" */\nexport type Delegator_Distinct_Pool_Aggregate_Fields = {\n  __typename?: 'delegator_distinct_pool_aggregate_fields';\n  count: Scalars['Int']['output'];\n  max?: Maybe<Delegator_Distinct_Pool_Max_Fields>;\n  min?: Maybe<Delegator_Distinct_Pool_Min_Fields>;\n};\n\n\n/** aggregate fields of \"delegator_distinct_pool\" */\nexport type Delegator_Distinct_Pool_Aggregate_FieldsCountArgs = {\n  columns?: InputMaybe<Array<Delegator_Distinct_Pool_Select_Column>>;\n  distinct?: InputMaybe<Scalars['Boolean']['input']>;\n};\n\n/** Boolean expression to filter rows from the table \"delegator_distinct_pool\". All fields are combined with a logical 'AND'. */\nexport type Delegator_Distinct_Pool_Bool_Exp = {\n  _and?: InputMaybe<Array<Delegator_Distinct_Pool_Bool_Exp>>;\n  _not?: InputMaybe<Delegator_Distinct_Pool_Bool_Exp>;\n  _or?: InputMaybe<Array<Delegator_Distinct_Pool_Bool_Exp>>;\n  current_pool_balance?: InputMaybe<Current_Delegated_Staking_Pool_Balances_Bool_Exp>;\n  delegator_address?: InputMaybe<String_Comparison_Exp>;\n  pool_address?: InputMaybe<String_Comparison_Exp>;\n  staking_pool_metadata?: InputMaybe<Current_Staking_Pool_Voter_Bool_Exp>;\n};\n\n/** aggregate max on columns */\nexport type Delegator_Distinct_Pool_Max_Fields = {\n  __typename?: 'delegator_distinct_pool_max_fields';\n  delegator_address?: Maybe<Scalars['String']['output']>;\n  pool_address?: Maybe<Scalars['String']['output']>;\n};\n\n/** aggregate min on columns */\nexport type Delegator_Distinct_Pool_Min_Fields = {\n  __typename?: 'delegator_distinct_pool_min_fields';\n  delegator_address?: Maybe<Scalars['String']['output']>;\n  pool_address?: Maybe<Scalars['String']['output']>;\n};\n\n/** Ordering options when selecting data from \"delegator_distinct_pool\". */\nexport type Delegator_Distinct_Pool_Order_By = {\n  current_pool_balance?: InputMaybe<Current_Delegated_Staking_Pool_Balances_Order_By>;\n  delegator_address?: InputMaybe<Order_By>;\n  pool_address?: InputMaybe<Order_By>;\n  staking_pool_metadata?: InputMaybe<Current_Staking_Pool_Voter_Order_By>;\n};\n\n/** select columns of table \"delegator_distinct_pool\" */\nexport enum Delegator_Distinct_Pool_Select_Column {\n  /** column name */\n  DelegatorAddress = 'delegator_address',\n  /** column name */\n  PoolAddress = 'pool_address'\n}\n\n/** Streaming cursor of the table \"delegator_distinct_pool\" */\nexport type Delegator_Distinct_Pool_Stream_Cursor_Input = {\n  /** Stream column input with initial value */\n  initial_value: Delegator_Distinct_Pool_Stream_Cursor_Value_Input;\n  /** cursor ordering */\n  ordering?: InputMaybe<Cursor_Ordering>;\n};\n\n/** Initial value of the column from where the streaming should start */\nexport type Delegator_Distinct_Pool_Stream_Cursor_Value_Input = {\n  delegator_address?: InputMaybe<Scalars['String']['input']>;\n  pool_address?: InputMaybe<Scalars['String']['input']>;\n};\n\n/** columns and relationships of \"events\" */\nexport type Events = {\n  __typename?: 'events';\n  account_address: Scalars['String']['output'];\n  creation_number: Scalars['bigint']['output'];\n  data: Scalars['jsonb']['output'];\n  event_index: Scalars['bigint']['output'];\n  indexed_type: Scalars['String']['output'];\n  sequence_number: Scalars['bigint']['output'];\n  transaction_block_height: Scalars['bigint']['output'];\n  transaction_version: Scalars['bigint']['output'];\n  type: Scalars['String']['output'];\n};\n\n\n/** columns and relationships of \"events\" */\nexport type EventsDataArgs = {\n  path?: InputMaybe<Scalars['String']['input']>;\n};\n\n/** Boolean expression to filter rows from the table \"events\". All fields are combined with a logical 'AND'. */\nexport type Events_Bool_Exp = {\n  _and?: InputMaybe<Array<Events_Bool_Exp>>;\n  _not?: InputMaybe<Events_Bool_Exp>;\n  _or?: InputMaybe<Array<Events_Bool_Exp>>;\n  account_address?: InputMaybe<String_Comparison_Exp>;\n  creation_number?: InputMaybe<Bigint_Comparison_Exp>;\n  data?: InputMaybe<Jsonb_Comparison_Exp>;\n  event_index?: InputMaybe<Bigint_Comparison_Exp>;\n  indexed_type?: InputMaybe<String_Comparison_Exp>;\n  sequence_number?: InputMaybe<Bigint_Comparison_Exp>;\n  transaction_block_height?: InputMaybe<Bigint_Comparison_Exp>;\n  transaction_version?: InputMaybe<Bigint_Comparison_Exp>;\n  type?: InputMaybe<String_Comparison_Exp>;\n};\n\n/** Ordering options when selecting data from \"events\". */\nexport type Events_Order_By = {\n  account_address?: InputMaybe<Order_By>;\n  creation_number?: InputMaybe<Order_By>;\n  data?: InputMaybe<Order_By>;\n  event_index?: InputMaybe<Order_By>;\n  indexed_type?: InputMaybe<Order_By>;\n  sequence_number?: InputMaybe<Order_By>;\n  transaction_block_height?: InputMaybe<Order_By>;\n  transaction_version?: InputMaybe<Order_By>;\n  type?: InputMaybe<Order_By>;\n};\n\n/** select columns of table \"events\" */\nexport enum Events_Select_Column {\n  /** column name */\n  AccountAddress = 'account_address',\n  /** column name */\n  CreationNumber = 'creation_number',\n  /** column name */\n  Data = 'data',\n  /** column name */\n  EventIndex = 'event_index',\n  /** column name */\n  IndexedType = 'indexed_type',\n  /** column name */\n  SequenceNumber = 'sequence_number',\n  /** column name */\n  TransactionBlockHeight = 'transaction_block_height',\n  /** column name */\n  TransactionVersion = 'transaction_version',\n  /** column name */\n  Type = 'type'\n}\n\n/** Streaming cursor of the table \"events\" */\nexport type Events_Stream_Cursor_Input = {\n  /** Stream column input with initial value */\n  initial_value: Events_Stream_Cursor_Value_Input;\n  /** cursor ordering */\n  ordering?: InputMaybe<Cursor_Ordering>;\n};\n\n/** Initial value of the column from where the streaming should start */\nexport type Events_Stream_Cursor_Value_Input = {\n  account_address?: InputMaybe<Scalars['String']['input']>;\n  creation_number?: InputMaybe<Scalars['bigint']['input']>;\n  data?: InputMaybe<Scalars['jsonb']['input']>;\n  event_index?: InputMaybe<Scalars['bigint']['input']>;\n  indexed_type?: InputMaybe<Scalars['String']['input']>;\n  sequence_number?: InputMaybe<Scalars['bigint']['input']>;\n  transaction_block_height?: InputMaybe<Scalars['bigint']['input']>;\n  transaction_version?: InputMaybe<Scalars['bigint']['input']>;\n  type?: InputMaybe<Scalars['String']['input']>;\n};\n\n/** columns and relationships of \"fungible_asset_activities\" */\nexport type Fungible_Asset_Activities = {\n  __typename?: 'fungible_asset_activities';\n  amount?: Maybe<Scalars['numeric']['output']>;\n  asset_type: Scalars['String']['output'];\n  block_height: Scalars['bigint']['output'];\n  entry_function_id_str?: Maybe<Scalars['String']['output']>;\n  event_index: Scalars['bigint']['output'];\n  gas_fee_payer_address?: Maybe<Scalars['String']['output']>;\n  is_frozen?: Maybe<Scalars['Boolean']['output']>;\n  is_gas_fee: Scalars['Boolean']['output'];\n  is_transaction_success: Scalars['Boolean']['output'];\n  /** An object relationship */\n  metadata?: Maybe<Fungible_Asset_Metadata>;\n  owner_address: Scalars['String']['output'];\n  /** An array relationship */\n  owner_aptos_names: Array<Current_Aptos_Names>;\n  /** An aggregate relationship */\n  owner_aptos_names_aggregate: Current_Aptos_Names_Aggregate;\n  storage_id: Scalars['String']['output'];\n  storage_refund_amount: Scalars['numeric']['output'];\n  token_standard: Scalars['String']['output'];\n  transaction_timestamp: Scalars['timestamp']['output'];\n  transaction_version: Scalars['bigint']['output'];\n  type: Scalars['String']['output'];\n};\n\n\n/** columns and relationships of \"fungible_asset_activities\" */\nexport type Fungible_Asset_ActivitiesOwner_Aptos_NamesArgs = {\n  distinct_on?: InputMaybe<Array<Current_Aptos_Names_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Current_Aptos_Names_Order_By>>;\n  where?: InputMaybe<Current_Aptos_Names_Bool_Exp>;\n};\n\n\n/** columns and relationships of \"fungible_asset_activities\" */\nexport type Fungible_Asset_ActivitiesOwner_Aptos_Names_AggregateArgs = {\n  distinct_on?: InputMaybe<Array<Current_Aptos_Names_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Current_Aptos_Names_Order_By>>;\n  where?: InputMaybe<Current_Aptos_Names_Bool_Exp>;\n};\n\n/** order by aggregate values of table \"fungible_asset_activities\" */\nexport type Fungible_Asset_Activities_Aggregate_Order_By = {\n  avg?: InputMaybe<Fungible_Asset_Activities_Avg_Order_By>;\n  count?: InputMaybe<Order_By>;\n  max?: InputMaybe<Fungible_Asset_Activities_Max_Order_By>;\n  min?: InputMaybe<Fungible_Asset_Activities_Min_Order_By>;\n  stddev?: InputMaybe<Fungible_Asset_Activities_Stddev_Order_By>;\n  stddev_pop?: InputMaybe<Fungible_Asset_Activities_Stddev_Pop_Order_By>;\n  stddev_samp?: InputMaybe<Fungible_Asset_Activities_Stddev_Samp_Order_By>;\n  sum?: InputMaybe<Fungible_Asset_Activities_Sum_Order_By>;\n  var_pop?: InputMaybe<Fungible_Asset_Activities_Var_Pop_Order_By>;\n  var_samp?: InputMaybe<Fungible_Asset_Activities_Var_Samp_Order_By>;\n  variance?: InputMaybe<Fungible_Asset_Activities_Variance_Order_By>;\n};\n\n/** order by avg() on columns of table \"fungible_asset_activities\" */\nexport type Fungible_Asset_Activities_Avg_Order_By = {\n  amount?: InputMaybe<Order_By>;\n  block_height?: InputMaybe<Order_By>;\n  event_index?: InputMaybe<Order_By>;\n  storage_refund_amount?: InputMaybe<Order_By>;\n  transaction_version?: InputMaybe<Order_By>;\n};\n\n/** Boolean expression to filter rows from the table \"fungible_asset_activities\". All fields are combined with a logical 'AND'. */\nexport type Fungible_Asset_Activities_Bool_Exp = {\n  _and?: InputMaybe<Array<Fungible_Asset_Activities_Bool_Exp>>;\n  _not?: InputMaybe<Fungible_Asset_Activities_Bool_Exp>;\n  _or?: InputMaybe<Array<Fungible_Asset_Activities_Bool_Exp>>;\n  amount?: InputMaybe<Numeric_Comparison_Exp>;\n  asset_type?: InputMaybe<String_Comparison_Exp>;\n  block_height?: InputMaybe<Bigint_Comparison_Exp>;\n  entry_function_id_str?: InputMaybe<String_Comparison_Exp>;\n  event_index?: InputMaybe<Bigint_Comparison_Exp>;\n  gas_fee_payer_address?: InputMaybe<String_Comparison_Exp>;\n  is_frozen?: InputMaybe<Boolean_Comparison_Exp>;\n  is_gas_fee?: InputMaybe<Boolean_Comparison_Exp>;\n  is_transaction_success?: InputMaybe<Boolean_Comparison_Exp>;\n  metadata?: InputMaybe<Fungible_Asset_Metadata_Bool_Exp>;\n  owner_address?: InputMaybe<String_Comparison_Exp>;\n  owner_aptos_names?: InputMaybe<Current_Aptos_Names_Bool_Exp>;\n  owner_aptos_names_aggregate?: InputMaybe<Current_Aptos_Names_Aggregate_Bool_Exp>;\n  storage_id?: InputMaybe<String_Comparison_Exp>;\n  storage_refund_amount?: InputMaybe<Numeric_Comparison_Exp>;\n  token_standard?: InputMaybe<String_Comparison_Exp>;\n  transaction_timestamp?: InputMaybe<Timestamp_Comparison_Exp>;\n  transaction_version?: InputMaybe<Bigint_Comparison_Exp>;\n  type?: InputMaybe<String_Comparison_Exp>;\n};\n\n/** order by max() on columns of table \"fungible_asset_activities\" */\nexport type Fungible_Asset_Activities_Max_Order_By = {\n  amount?: InputMaybe<Order_By>;\n  asset_type?: InputMaybe<Order_By>;\n  block_height?: InputMaybe<Order_By>;\n  entry_function_id_str?: InputMaybe<Order_By>;\n  event_index?: InputMaybe<Order_By>;\n  gas_fee_payer_address?: InputMaybe<Order_By>;\n  owner_address?: InputMaybe<Order_By>;\n  storage_id?: InputMaybe<Order_By>;\n  storage_refund_amount?: InputMaybe<Order_By>;\n  token_standard?: InputMaybe<Order_By>;\n  transaction_timestamp?: InputMaybe<Order_By>;\n  transaction_version?: InputMaybe<Order_By>;\n  type?: InputMaybe<Order_By>;\n};\n\n/** order by min() on columns of table \"fungible_asset_activities\" */\nexport type Fungible_Asset_Activities_Min_Order_By = {\n  amount?: InputMaybe<Order_By>;\n  asset_type?: InputMaybe<Order_By>;\n  block_height?: InputMaybe<Order_By>;\n  entry_function_id_str?: InputMaybe<Order_By>;\n  event_index?: InputMaybe<Order_By>;\n  gas_fee_payer_address?: InputMaybe<Order_By>;\n  owner_address?: InputMaybe<Order_By>;\n  storage_id?: InputMaybe<Order_By>;\n  storage_refund_amount?: InputMaybe<Order_By>;\n  token_standard?: InputMaybe<Order_By>;\n  transaction_timestamp?: InputMaybe<Order_By>;\n  transaction_version?: InputMaybe<Order_By>;\n  type?: InputMaybe<Order_By>;\n};\n\n/** Ordering options when selecting data from \"fungible_asset_activities\". */\nexport type Fungible_Asset_Activities_Order_By = {\n  amount?: InputMaybe<Order_By>;\n  asset_type?: InputMaybe<Order_By>;\n  block_height?: InputMaybe<Order_By>;\n  entry_function_id_str?: InputMaybe<Order_By>;\n  event_index?: InputMaybe<Order_By>;\n  gas_fee_payer_address?: InputMaybe<Order_By>;\n  is_frozen?: InputMaybe<Order_By>;\n  is_gas_fee?: InputMaybe<Order_By>;\n  is_transaction_success?: InputMaybe<Order_By>;\n  metadata?: InputMaybe<Fungible_Asset_Metadata_Order_By>;\n  owner_address?: InputMaybe<Order_By>;\n  owner_aptos_names_aggregate?: InputMaybe<Current_Aptos_Names_Aggregate_Order_By>;\n  storage_id?: InputMaybe<Order_By>;\n  storage_refund_amount?: InputMaybe<Order_By>;\n  token_standard?: InputMaybe<Order_By>;\n  transaction_timestamp?: InputMaybe<Order_By>;\n  transaction_version?: InputMaybe<Order_By>;\n  type?: InputMaybe<Order_By>;\n};\n\n/** select columns of table \"fungible_asset_activities\" */\nexport enum Fungible_Asset_Activities_Select_Column {\n  /** column name */\n  Amount = 'amount',\n  /** column name */\n  AssetType = 'asset_type',\n  /** column name */\n  BlockHeight = 'block_height',\n  /** column name */\n  EntryFunctionIdStr = 'entry_function_id_str',\n  /** column name */\n  EventIndex = 'event_index',\n  /** column name */\n  GasFeePayerAddress = 'gas_fee_payer_address',\n  /** column name */\n  IsFrozen = 'is_frozen',\n  /** column name */\n  IsGasFee = 'is_gas_fee',\n  /** column name */\n  IsTransactionSuccess = 'is_transaction_success',\n  /** column name */\n  OwnerAddress = 'owner_address',\n  /** column name */\n  StorageId = 'storage_id',\n  /** column name */\n  StorageRefundAmount = 'storage_refund_amount',\n  /** column name */\n  TokenStandard = 'token_standard',\n  /** column name */\n  TransactionTimestamp = 'transaction_timestamp',\n  /** column name */\n  TransactionVersion = 'transaction_version',\n  /** column name */\n  Type = 'type'\n}\n\n/** order by stddev() on columns of table \"fungible_asset_activities\" */\nexport type Fungible_Asset_Activities_Stddev_Order_By = {\n  amount?: InputMaybe<Order_By>;\n  block_height?: InputMaybe<Order_By>;\n  event_index?: InputMaybe<Order_By>;\n  storage_refund_amount?: InputMaybe<Order_By>;\n  transaction_version?: InputMaybe<Order_By>;\n};\n\n/** order by stddev_pop() on columns of table \"fungible_asset_activities\" */\nexport type Fungible_Asset_Activities_Stddev_Pop_Order_By = {\n  amount?: InputMaybe<Order_By>;\n  block_height?: InputMaybe<Order_By>;\n  event_index?: InputMaybe<Order_By>;\n  storage_refund_amount?: InputMaybe<Order_By>;\n  transaction_version?: InputMaybe<Order_By>;\n};\n\n/** order by stddev_samp() on columns of table \"fungible_asset_activities\" */\nexport type Fungible_Asset_Activities_Stddev_Samp_Order_By = {\n  amount?: InputMaybe<Order_By>;\n  block_height?: InputMaybe<Order_By>;\n  event_index?: InputMaybe<Order_By>;\n  storage_refund_amount?: InputMaybe<Order_By>;\n  transaction_version?: InputMaybe<Order_By>;\n};\n\n/** Streaming cursor of the table \"fungible_asset_activities\" */\nexport type Fungible_Asset_Activities_Stream_Cursor_Input = {\n  /** Stream column input with initial value */\n  initial_value: Fungible_Asset_Activities_Stream_Cursor_Value_Input;\n  /** cursor ordering */\n  ordering?: InputMaybe<Cursor_Ordering>;\n};\n\n/** Initial value of the column from where the streaming should start */\nexport type Fungible_Asset_Activities_Stream_Cursor_Value_Input = {\n  amount?: InputMaybe<Scalars['numeric']['input']>;\n  asset_type?: InputMaybe<Scalars['String']['input']>;\n  block_height?: InputMaybe<Scalars['bigint']['input']>;\n  entry_function_id_str?: InputMaybe<Scalars['String']['input']>;\n  event_index?: InputMaybe<Scalars['bigint']['input']>;\n  gas_fee_payer_address?: InputMaybe<Scalars['String']['input']>;\n  is_frozen?: InputMaybe<Scalars['Boolean']['input']>;\n  is_gas_fee?: InputMaybe<Scalars['Boolean']['input']>;\n  is_transaction_success?: InputMaybe<Scalars['Boolean']['input']>;\n  owner_address?: InputMaybe<Scalars['String']['input']>;\n  storage_id?: InputMaybe<Scalars['String']['input']>;\n  storage_refund_amount?: InputMaybe<Scalars['numeric']['input']>;\n  token_standard?: InputMaybe<Scalars['String']['input']>;\n  transaction_timestamp?: InputMaybe<Scalars['timestamp']['input']>;\n  transaction_version?: InputMaybe<Scalars['bigint']['input']>;\n  type?: InputMaybe<Scalars['String']['input']>;\n};\n\n/** order by sum() on columns of table \"fungible_asset_activities\" */\nexport type Fungible_Asset_Activities_Sum_Order_By = {\n  amount?: InputMaybe<Order_By>;\n  block_height?: InputMaybe<Order_By>;\n  event_index?: InputMaybe<Order_By>;\n  storage_refund_amount?: InputMaybe<Order_By>;\n  transaction_version?: InputMaybe<Order_By>;\n};\n\n/** order by var_pop() on columns of table \"fungible_asset_activities\" */\nexport type Fungible_Asset_Activities_Var_Pop_Order_By = {\n  amount?: InputMaybe<Order_By>;\n  block_height?: InputMaybe<Order_By>;\n  event_index?: InputMaybe<Order_By>;\n  storage_refund_amount?: InputMaybe<Order_By>;\n  transaction_version?: InputMaybe<Order_By>;\n};\n\n/** order by var_samp() on columns of table \"fungible_asset_activities\" */\nexport type Fungible_Asset_Activities_Var_Samp_Order_By = {\n  amount?: InputMaybe<Order_By>;\n  block_height?: InputMaybe<Order_By>;\n  event_index?: InputMaybe<Order_By>;\n  storage_refund_amount?: InputMaybe<Order_By>;\n  transaction_version?: InputMaybe<Order_By>;\n};\n\n/** order by variance() on columns of table \"fungible_asset_activities\" */\nexport type Fungible_Asset_Activities_Variance_Order_By = {\n  amount?: InputMaybe<Order_By>;\n  block_height?: InputMaybe<Order_By>;\n  event_index?: InputMaybe<Order_By>;\n  storage_refund_amount?: InputMaybe<Order_By>;\n  transaction_version?: InputMaybe<Order_By>;\n};\n\n/** columns and relationships of \"fungible_asset_metadata\" */\nexport type Fungible_Asset_Metadata = {\n  __typename?: 'fungible_asset_metadata';\n  asset_type: Scalars['String']['output'];\n  creator_address: Scalars['String']['output'];\n  decimals: Scalars['Int']['output'];\n  icon_uri?: Maybe<Scalars['String']['output']>;\n  last_transaction_timestamp: Scalars['timestamp']['output'];\n  last_transaction_version: Scalars['bigint']['output'];\n  name: Scalars['String']['output'];\n  project_uri?: Maybe<Scalars['String']['output']>;\n  supply_aggregator_table_handle_v1?: Maybe<Scalars['String']['output']>;\n  supply_aggregator_table_key_v1?: Maybe<Scalars['String']['output']>;\n  symbol: Scalars['String']['output'];\n  token_standard: Scalars['String']['output'];\n};\n\n/** Boolean expression to filter rows from the table \"fungible_asset_metadata\". All fields are combined with a logical 'AND'. */\nexport type Fungible_Asset_Metadata_Bool_Exp = {\n  _and?: InputMaybe<Array<Fungible_Asset_Metadata_Bool_Exp>>;\n  _not?: InputMaybe<Fungible_Asset_Metadata_Bool_Exp>;\n  _or?: InputMaybe<Array<Fungible_Asset_Metadata_Bool_Exp>>;\n  asset_type?: InputMaybe<String_Comparison_Exp>;\n  creator_address?: InputMaybe<String_Comparison_Exp>;\n  decimals?: InputMaybe<Int_Comparison_Exp>;\n  icon_uri?: InputMaybe<String_Comparison_Exp>;\n  last_transaction_timestamp?: InputMaybe<Timestamp_Comparison_Exp>;\n  last_transaction_version?: InputMaybe<Bigint_Comparison_Exp>;\n  name?: InputMaybe<String_Comparison_Exp>;\n  project_uri?: InputMaybe<String_Comparison_Exp>;\n  supply_aggregator_table_handle_v1?: InputMaybe<String_Comparison_Exp>;\n  supply_aggregator_table_key_v1?: InputMaybe<String_Comparison_Exp>;\n  symbol?: InputMaybe<String_Comparison_Exp>;\n  token_standard?: InputMaybe<String_Comparison_Exp>;\n};\n\n/** Ordering options when selecting data from \"fungible_asset_metadata\". */\nexport type Fungible_Asset_Metadata_Order_By = {\n  asset_type?: InputMaybe<Order_By>;\n  creator_address?: InputMaybe<Order_By>;\n  decimals?: InputMaybe<Order_By>;\n  icon_uri?: InputMaybe<Order_By>;\n  last_transaction_timestamp?: InputMaybe<Order_By>;\n  last_transaction_version?: InputMaybe<Order_By>;\n  name?: InputMaybe<Order_By>;\n  project_uri?: InputMaybe<Order_By>;\n  supply_aggregator_table_handle_v1?: InputMaybe<Order_By>;\n  supply_aggregator_table_key_v1?: InputMaybe<Order_By>;\n  symbol?: InputMaybe<Order_By>;\n  token_standard?: InputMaybe<Order_By>;\n};\n\n/** select columns of table \"fungible_asset_metadata\" */\nexport enum Fungible_Asset_Metadata_Select_Column {\n  /** column name */\n  AssetType = 'asset_type',\n  /** column name */\n  CreatorAddress = 'creator_address',\n  /** column name */\n  Decimals = 'decimals',\n  /** column name */\n  IconUri = 'icon_uri',\n  /** column name */\n  LastTransactionTimestamp = 'last_transaction_timestamp',\n  /** column name */\n  LastTransactionVersion = 'last_transaction_version',\n  /** column name */\n  Name = 'name',\n  /** column name */\n  ProjectUri = 'project_uri',\n  /** column name */\n  SupplyAggregatorTableHandleV1 = 'supply_aggregator_table_handle_v1',\n  /** column name */\n  SupplyAggregatorTableKeyV1 = 'supply_aggregator_table_key_v1',\n  /** column name */\n  Symbol = 'symbol',\n  /** column name */\n  TokenStandard = 'token_standard'\n}\n\n/** Streaming cursor of the table \"fungible_asset_metadata\" */\nexport type Fungible_Asset_Metadata_Stream_Cursor_Input = {\n  /** Stream column input with initial value */\n  initial_value: Fungible_Asset_Metadata_Stream_Cursor_Value_Input;\n  /** cursor ordering */\n  ordering?: InputMaybe<Cursor_Ordering>;\n};\n\n/** Initial value of the column from where the streaming should start */\nexport type Fungible_Asset_Metadata_Stream_Cursor_Value_Input = {\n  asset_type?: InputMaybe<Scalars['String']['input']>;\n  creator_address?: InputMaybe<Scalars['String']['input']>;\n  decimals?: InputMaybe<Scalars['Int']['input']>;\n  icon_uri?: InputMaybe<Scalars['String']['input']>;\n  last_transaction_timestamp?: InputMaybe<Scalars['timestamp']['input']>;\n  last_transaction_version?: InputMaybe<Scalars['bigint']['input']>;\n  name?: InputMaybe<Scalars['String']['input']>;\n  project_uri?: InputMaybe<Scalars['String']['input']>;\n  supply_aggregator_table_handle_v1?: InputMaybe<Scalars['String']['input']>;\n  supply_aggregator_table_key_v1?: InputMaybe<Scalars['String']['input']>;\n  symbol?: InputMaybe<Scalars['String']['input']>;\n  token_standard?: InputMaybe<Scalars['String']['input']>;\n};\n\n/** columns and relationships of \"indexer_status\" */\nexport type Indexer_Status = {\n  __typename?: 'indexer_status';\n  db: Scalars['String']['output'];\n  is_indexer_up: Scalars['Boolean']['output'];\n};\n\n/** Boolean expression to filter rows from the table \"indexer_status\". All fields are combined with a logical 'AND'. */\nexport type Indexer_Status_Bool_Exp = {\n  _and?: InputMaybe<Array<Indexer_Status_Bool_Exp>>;\n  _not?: InputMaybe<Indexer_Status_Bool_Exp>;\n  _or?: InputMaybe<Array<Indexer_Status_Bool_Exp>>;\n  db?: InputMaybe<String_Comparison_Exp>;\n  is_indexer_up?: InputMaybe<Boolean_Comparison_Exp>;\n};\n\n/** Ordering options when selecting data from \"indexer_status\". */\nexport type Indexer_Status_Order_By = {\n  db?: InputMaybe<Order_By>;\n  is_indexer_up?: InputMaybe<Order_By>;\n};\n\n/** select columns of table \"indexer_status\" */\nexport enum Indexer_Status_Select_Column {\n  /** column name */\n  Db = 'db',\n  /** column name */\n  IsIndexerUp = 'is_indexer_up'\n}\n\n/** Streaming cursor of the table \"indexer_status\" */\nexport type Indexer_Status_Stream_Cursor_Input = {\n  /** Stream column input with initial value */\n  initial_value: Indexer_Status_Stream_Cursor_Value_Input;\n  /** cursor ordering */\n  ordering?: InputMaybe<Cursor_Ordering>;\n};\n\n/** Initial value of the column from where the streaming should start */\nexport type Indexer_Status_Stream_Cursor_Value_Input = {\n  db?: InputMaybe<Scalars['String']['input']>;\n  is_indexer_up?: InputMaybe<Scalars['Boolean']['input']>;\n};\n\nexport type Jsonb_Cast_Exp = {\n  String?: InputMaybe<String_Comparison_Exp>;\n};\n\n/** Boolean expression to compare columns of type \"jsonb\". All fields are combined with logical 'AND'. */\nexport type Jsonb_Comparison_Exp = {\n  _cast?: InputMaybe<Jsonb_Cast_Exp>;\n  /** is the column contained in the given json value */\n  _contained_in?: InputMaybe<Scalars['jsonb']['input']>;\n  /** does the column contain the given json value at the top level */\n  _contains?: InputMaybe<Scalars['jsonb']['input']>;\n  _eq?: InputMaybe<Scalars['jsonb']['input']>;\n  _gt?: InputMaybe<Scalars['jsonb']['input']>;\n  _gte?: InputMaybe<Scalars['jsonb']['input']>;\n  /** does the string exist as a top-level key in the column */\n  _has_key?: InputMaybe<Scalars['String']['input']>;\n  /** do all of these strings exist as top-level keys in the column */\n  _has_keys_all?: InputMaybe<Array<Scalars['String']['input']>>;\n  /** do any of these strings exist as top-level keys in the column */\n  _has_keys_any?: InputMaybe<Array<Scalars['String']['input']>>;\n  _in?: InputMaybe<Array<Scalars['jsonb']['input']>>;\n  _is_null?: InputMaybe<Scalars['Boolean']['input']>;\n  _lt?: InputMaybe<Scalars['jsonb']['input']>;\n  _lte?: InputMaybe<Scalars['jsonb']['input']>;\n  _neq?: InputMaybe<Scalars['jsonb']['input']>;\n  _nin?: InputMaybe<Array<Scalars['jsonb']['input']>>;\n};\n\n/** columns and relationships of \"ledger_infos\" */\nexport type Ledger_Infos = {\n  __typename?: 'ledger_infos';\n  chain_id: Scalars['bigint']['output'];\n};\n\n/** Boolean expression to filter rows from the table \"ledger_infos\". All fields are combined with a logical 'AND'. */\nexport type Ledger_Infos_Bool_Exp = {\n  _and?: InputMaybe<Array<Ledger_Infos_Bool_Exp>>;\n  _not?: InputMaybe<Ledger_Infos_Bool_Exp>;\n  _or?: InputMaybe<Array<Ledger_Infos_Bool_Exp>>;\n  chain_id?: InputMaybe<Bigint_Comparison_Exp>;\n};\n\n/** Ordering options when selecting data from \"ledger_infos\". */\nexport type Ledger_Infos_Order_By = {\n  chain_id?: InputMaybe<Order_By>;\n};\n\n/** select columns of table \"ledger_infos\" */\nexport enum Ledger_Infos_Select_Column {\n  /** column name */\n  ChainId = 'chain_id'\n}\n\n/** Streaming cursor of the table \"ledger_infos\" */\nexport type Ledger_Infos_Stream_Cursor_Input = {\n  /** Stream column input with initial value */\n  initial_value: Ledger_Infos_Stream_Cursor_Value_Input;\n  /** cursor ordering */\n  ordering?: InputMaybe<Cursor_Ordering>;\n};\n\n/** Initial value of the column from where the streaming should start */\nexport type Ledger_Infos_Stream_Cursor_Value_Input = {\n  chain_id?: InputMaybe<Scalars['bigint']['input']>;\n};\n\n/** columns and relationships of \"move_resources\" */\nexport type Move_Resources = {\n  __typename?: 'move_resources';\n  address: Scalars['String']['output'];\n  transaction_version: Scalars['bigint']['output'];\n};\n\n/** aggregated selection of \"move_resources\" */\nexport type Move_Resources_Aggregate = {\n  __typename?: 'move_resources_aggregate';\n  aggregate?: Maybe<Move_Resources_Aggregate_Fields>;\n  nodes: Array<Move_Resources>;\n};\n\n/** aggregate fields of \"move_resources\" */\nexport type Move_Resources_Aggregate_Fields = {\n  __typename?: 'move_resources_aggregate_fields';\n  avg?: Maybe<Move_Resources_Avg_Fields>;\n  count: Scalars['Int']['output'];\n  max?: Maybe<Move_Resources_Max_Fields>;\n  min?: Maybe<Move_Resources_Min_Fields>;\n  stddev?: Maybe<Move_Resources_Stddev_Fields>;\n  stddev_pop?: Maybe<Move_Resources_Stddev_Pop_Fields>;\n  stddev_samp?: Maybe<Move_Resources_Stddev_Samp_Fields>;\n  sum?: Maybe<Move_Resources_Sum_Fields>;\n  var_pop?: Maybe<Move_Resources_Var_Pop_Fields>;\n  var_samp?: Maybe<Move_Resources_Var_Samp_Fields>;\n  variance?: Maybe<Move_Resources_Variance_Fields>;\n};\n\n\n/** aggregate fields of \"move_resources\" */\nexport type Move_Resources_Aggregate_FieldsCountArgs = {\n  columns?: InputMaybe<Array<Move_Resources_Select_Column>>;\n  distinct?: InputMaybe<Scalars['Boolean']['input']>;\n};\n\n/** aggregate avg on columns */\nexport type Move_Resources_Avg_Fields = {\n  __typename?: 'move_resources_avg_fields';\n  transaction_version?: Maybe<Scalars['Float']['output']>;\n};\n\n/** Boolean expression to filter rows from the table \"move_resources\". All fields are combined with a logical 'AND'. */\nexport type Move_Resources_Bool_Exp = {\n  _and?: InputMaybe<Array<Move_Resources_Bool_Exp>>;\n  _not?: InputMaybe<Move_Resources_Bool_Exp>;\n  _or?: InputMaybe<Array<Move_Resources_Bool_Exp>>;\n  address?: InputMaybe<String_Comparison_Exp>;\n  transaction_version?: InputMaybe<Bigint_Comparison_Exp>;\n};\n\n/** aggregate max on columns */\nexport type Move_Resources_Max_Fields = {\n  __typename?: 'move_resources_max_fields';\n  address?: Maybe<Scalars['String']['output']>;\n  transaction_version?: Maybe<Scalars['bigint']['output']>;\n};\n\n/** aggregate min on columns */\nexport type Move_Resources_Min_Fields = {\n  __typename?: 'move_resources_min_fields';\n  address?: Maybe<Scalars['String']['output']>;\n  transaction_version?: Maybe<Scalars['bigint']['output']>;\n};\n\n/** Ordering options when selecting data from \"move_resources\". */\nexport type Move_Resources_Order_By = {\n  address?: InputMaybe<Order_By>;\n  transaction_version?: InputMaybe<Order_By>;\n};\n\n/** select columns of table \"move_resources\" */\nexport enum Move_Resources_Select_Column {\n  /** column name */\n  Address = 'address',\n  /** column name */\n  TransactionVersion = 'transaction_version'\n}\n\n/** aggregate stddev on columns */\nexport type Move_Resources_Stddev_Fields = {\n  __typename?: 'move_resources_stddev_fields';\n  transaction_version?: Maybe<Scalars['Float']['output']>;\n};\n\n/** aggregate stddev_pop on columns */\nexport type Move_Resources_Stddev_Pop_Fields = {\n  __typename?: 'move_resources_stddev_pop_fields';\n  transaction_version?: Maybe<Scalars['Float']['output']>;\n};\n\n/** aggregate stddev_samp on columns */\nexport type Move_Resources_Stddev_Samp_Fields = {\n  __typename?: 'move_resources_stddev_samp_fields';\n  transaction_version?: Maybe<Scalars['Float']['output']>;\n};\n\n/** Streaming cursor of the table \"move_resources\" */\nexport type Move_Resources_Stream_Cursor_Input = {\n  /** Stream column input with initial value */\n  initial_value: Move_Resources_Stream_Cursor_Value_Input;\n  /** cursor ordering */\n  ordering?: InputMaybe<Cursor_Ordering>;\n};\n\n/** Initial value of the column from where the streaming should start */\nexport type Move_Resources_Stream_Cursor_Value_Input = {\n  address?: InputMaybe<Scalars['String']['input']>;\n  transaction_version?: InputMaybe<Scalars['bigint']['input']>;\n};\n\n/** aggregate sum on columns */\nexport type Move_Resources_Sum_Fields = {\n  __typename?: 'move_resources_sum_fields';\n  transaction_version?: Maybe<Scalars['bigint']['output']>;\n};\n\n/** aggregate var_pop on columns */\nexport type Move_Resources_Var_Pop_Fields = {\n  __typename?: 'move_resources_var_pop_fields';\n  transaction_version?: Maybe<Scalars['Float']['output']>;\n};\n\n/** aggregate var_samp on columns */\nexport type Move_Resources_Var_Samp_Fields = {\n  __typename?: 'move_resources_var_samp_fields';\n  transaction_version?: Maybe<Scalars['Float']['output']>;\n};\n\n/** aggregate variance on columns */\nexport type Move_Resources_Variance_Fields = {\n  __typename?: 'move_resources_variance_fields';\n  transaction_version?: Maybe<Scalars['Float']['output']>;\n};\n\n/** columns and relationships of \"nft_marketplace_v2.current_nft_marketplace_auctions\" */\nexport type Nft_Marketplace_V2_Current_Nft_Marketplace_Auctions = {\n  __typename?: 'nft_marketplace_v2_current_nft_marketplace_auctions';\n  buy_it_now_price?: Maybe<Scalars['numeric']['output']>;\n  coin_type?: Maybe<Scalars['String']['output']>;\n  collection_id: Scalars['String']['output'];\n  contract_address: Scalars['String']['output'];\n  current_bid_price?: Maybe<Scalars['numeric']['output']>;\n  current_bidder?: Maybe<Scalars['String']['output']>;\n  /** An object relationship */\n  current_token_data?: Maybe<Current_Token_Datas_V2>;\n  entry_function_id_str: Scalars['String']['output'];\n  expiration_time: Scalars['numeric']['output'];\n  fee_schedule_id: Scalars['String']['output'];\n  is_deleted: Scalars['Boolean']['output'];\n  last_transaction_timestamp: Scalars['timestamptz']['output'];\n  last_transaction_version: Scalars['bigint']['output'];\n  listing_id: Scalars['String']['output'];\n  marketplace: Scalars['String']['output'];\n  seller: Scalars['String']['output'];\n  starting_bid_price: Scalars['numeric']['output'];\n  token_amount: Scalars['numeric']['output'];\n  token_data_id: Scalars['String']['output'];\n  token_standard: Scalars['String']['output'];\n};\n\n/** Boolean expression to filter rows from the table \"nft_marketplace_v2.current_nft_marketplace_auctions\". All fields are combined with a logical 'AND'. */\nexport type Nft_Marketplace_V2_Current_Nft_Marketplace_Auctions_Bool_Exp = {\n  _and?: InputMaybe<Array<Nft_Marketplace_V2_Current_Nft_Marketplace_Auctions_Bool_Exp>>;\n  _not?: InputMaybe<Nft_Marketplace_V2_Current_Nft_Marketplace_Auctions_Bool_Exp>;\n  _or?: InputMaybe<Array<Nft_Marketplace_V2_Current_Nft_Marketplace_Auctions_Bool_Exp>>;\n  buy_it_now_price?: InputMaybe<Numeric_Comparison_Exp>;\n  coin_type?: InputMaybe<String_Comparison_Exp>;\n  collection_id?: InputMaybe<String_Comparison_Exp>;\n  contract_address?: InputMaybe<String_Comparison_Exp>;\n  current_bid_price?: InputMaybe<Numeric_Comparison_Exp>;\n  current_bidder?: InputMaybe<String_Comparison_Exp>;\n  current_token_data?: InputMaybe<Current_Token_Datas_V2_Bool_Exp>;\n  entry_function_id_str?: InputMaybe<String_Comparison_Exp>;\n  expiration_time?: InputMaybe<Numeric_Comparison_Exp>;\n  fee_schedule_id?: InputMaybe<String_Comparison_Exp>;\n  is_deleted?: InputMaybe<Boolean_Comparison_Exp>;\n  last_transaction_timestamp?: InputMaybe<Timestamptz_Comparison_Exp>;\n  last_transaction_version?: InputMaybe<Bigint_Comparison_Exp>;\n  listing_id?: InputMaybe<String_Comparison_Exp>;\n  marketplace?: InputMaybe<String_Comparison_Exp>;\n  seller?: InputMaybe<String_Comparison_Exp>;\n  starting_bid_price?: InputMaybe<Numeric_Comparison_Exp>;\n  token_amount?: InputMaybe<Numeric_Comparison_Exp>;\n  token_data_id?: InputMaybe<String_Comparison_Exp>;\n  token_standard?: InputMaybe<String_Comparison_Exp>;\n};\n\n/** Ordering options when selecting data from \"nft_marketplace_v2.current_nft_marketplace_auctions\". */\nexport type Nft_Marketplace_V2_Current_Nft_Marketplace_Auctions_Order_By = {\n  buy_it_now_price?: InputMaybe<Order_By>;\n  coin_type?: InputMaybe<Order_By>;\n  collection_id?: InputMaybe<Order_By>;\n  contract_address?: InputMaybe<Order_By>;\n  current_bid_price?: InputMaybe<Order_By>;\n  current_bidder?: InputMaybe<Order_By>;\n  current_token_data?: InputMaybe<Current_Token_Datas_V2_Order_By>;\n  entry_function_id_str?: InputMaybe<Order_By>;\n  expiration_time?: InputMaybe<Order_By>;\n  fee_schedule_id?: InputMaybe<Order_By>;\n  is_deleted?: InputMaybe<Order_By>;\n  last_transaction_timestamp?: InputMaybe<Order_By>;\n  last_transaction_version?: InputMaybe<Order_By>;\n  listing_id?: InputMaybe<Order_By>;\n  marketplace?: InputMaybe<Order_By>;\n  seller?: InputMaybe<Order_By>;\n  starting_bid_price?: InputMaybe<Order_By>;\n  token_amount?: InputMaybe<Order_By>;\n  token_data_id?: InputMaybe<Order_By>;\n  token_standard?: InputMaybe<Order_By>;\n};\n\n/** select columns of table \"nft_marketplace_v2.current_nft_marketplace_auctions\" */\nexport enum Nft_Marketplace_V2_Current_Nft_Marketplace_Auctions_Select_Column {\n  /** column name */\n  BuyItNowPrice = 'buy_it_now_price',\n  /** column name */\n  CoinType = 'coin_type',\n  /** column name */\n  CollectionId = 'collection_id',\n  /** column name */\n  ContractAddress = 'contract_address',\n  /** column name */\n  CurrentBidPrice = 'current_bid_price',\n  /** column name */\n  CurrentBidder = 'current_bidder',\n  /** column name */\n  EntryFunctionIdStr = 'entry_function_id_str',\n  /** column name */\n  ExpirationTime = 'expiration_time',\n  /** column name */\n  FeeScheduleId = 'fee_schedule_id',\n  /** column name */\n  IsDeleted = 'is_deleted',\n  /** column name */\n  LastTransactionTimestamp = 'last_transaction_timestamp',\n  /** column name */\n  LastTransactionVersion = 'last_transaction_version',\n  /** column name */\n  ListingId = 'listing_id',\n  /** column name */\n  Marketplace = 'marketplace',\n  /** column name */\n  Seller = 'seller',\n  /** column name */\n  StartingBidPrice = 'starting_bid_price',\n  /** column name */\n  TokenAmount = 'token_amount',\n  /** column name */\n  TokenDataId = 'token_data_id',\n  /** column name */\n  TokenStandard = 'token_standard'\n}\n\n/** Streaming cursor of the table \"nft_marketplace_v2_current_nft_marketplace_auctions\" */\nexport type Nft_Marketplace_V2_Current_Nft_Marketplace_Auctions_Stream_Cursor_Input = {\n  /** Stream column input with initial value */\n  initial_value: Nft_Marketplace_V2_Current_Nft_Marketplace_Auctions_Stream_Cursor_Value_Input;\n  /** cursor ordering */\n  ordering?: InputMaybe<Cursor_Ordering>;\n};\n\n/** Initial value of the column from where the streaming should start */\nexport type Nft_Marketplace_V2_Current_Nft_Marketplace_Auctions_Stream_Cursor_Value_Input = {\n  buy_it_now_price?: InputMaybe<Scalars['numeric']['input']>;\n  coin_type?: InputMaybe<Scalars['String']['input']>;\n  collection_id?: InputMaybe<Scalars['String']['input']>;\n  contract_address?: InputMaybe<Scalars['String']['input']>;\n  current_bid_price?: InputMaybe<Scalars['numeric']['input']>;\n  current_bidder?: InputMaybe<Scalars['String']['input']>;\n  entry_function_id_str?: InputMaybe<Scalars['String']['input']>;\n  expiration_time?: InputMaybe<Scalars['numeric']['input']>;\n  fee_schedule_id?: InputMaybe<Scalars['String']['input']>;\n  is_deleted?: InputMaybe<Scalars['Boolean']['input']>;\n  last_transaction_timestamp?: InputMaybe<Scalars['timestamptz']['input']>;\n  last_transaction_version?: InputMaybe<Scalars['bigint']['input']>;\n  listing_id?: InputMaybe<Scalars['String']['input']>;\n  marketplace?: InputMaybe<Scalars['String']['input']>;\n  seller?: InputMaybe<Scalars['String']['input']>;\n  starting_bid_price?: InputMaybe<Scalars['numeric']['input']>;\n  token_amount?: InputMaybe<Scalars['numeric']['input']>;\n  token_data_id?: InputMaybe<Scalars['String']['input']>;\n  token_standard?: InputMaybe<Scalars['String']['input']>;\n};\n\n/** columns and relationships of \"nft_marketplace_v2.current_nft_marketplace_collection_offers\" */\nexport type Nft_Marketplace_V2_Current_Nft_Marketplace_Collection_Offers = {\n  __typename?: 'nft_marketplace_v2_current_nft_marketplace_collection_offers';\n  buyer: Scalars['String']['output'];\n  coin_type?: Maybe<Scalars['String']['output']>;\n  collection_id: Scalars['String']['output'];\n  collection_offer_id: Scalars['String']['output'];\n  contract_address: Scalars['String']['output'];\n  /** An object relationship */\n  current_collection_v2?: Maybe<Current_Collections_V2>;\n  entry_function_id_str: Scalars['String']['output'];\n  expiration_time: Scalars['numeric']['output'];\n  fee_schedule_id: Scalars['String']['output'];\n  is_deleted: Scalars['Boolean']['output'];\n  item_price: Scalars['numeric']['output'];\n  last_transaction_timestamp: Scalars['timestamptz']['output'];\n  last_transaction_version: Scalars['bigint']['output'];\n  marketplace: Scalars['String']['output'];\n  remaining_token_amount: Scalars['numeric']['output'];\n  token_standard: Scalars['String']['output'];\n};\n\n/** Boolean expression to filter rows from the table \"nft_marketplace_v2.current_nft_marketplace_collection_offers\". All fields are combined with a logical 'AND'. */\nexport type Nft_Marketplace_V2_Current_Nft_Marketplace_Collection_Offers_Bool_Exp = {\n  _and?: InputMaybe<Array<Nft_Marketplace_V2_Current_Nft_Marketplace_Collection_Offers_Bool_Exp>>;\n  _not?: InputMaybe<Nft_Marketplace_V2_Current_Nft_Marketplace_Collection_Offers_Bool_Exp>;\n  _or?: InputMaybe<Array<Nft_Marketplace_V2_Current_Nft_Marketplace_Collection_Offers_Bool_Exp>>;\n  buyer?: InputMaybe<String_Comparison_Exp>;\n  coin_type?: InputMaybe<String_Comparison_Exp>;\n  collection_id?: InputMaybe<String_Comparison_Exp>;\n  collection_offer_id?: InputMaybe<String_Comparison_Exp>;\n  contract_address?: InputMaybe<String_Comparison_Exp>;\n  current_collection_v2?: InputMaybe<Current_Collections_V2_Bool_Exp>;\n  entry_function_id_str?: InputMaybe<String_Comparison_Exp>;\n  expiration_time?: InputMaybe<Numeric_Comparison_Exp>;\n  fee_schedule_id?: InputMaybe<String_Comparison_Exp>;\n  is_deleted?: InputMaybe<Boolean_Comparison_Exp>;\n  item_price?: InputMaybe<Numeric_Comparison_Exp>;\n  last_transaction_timestamp?: InputMaybe<Timestamptz_Comparison_Exp>;\n  last_transaction_version?: InputMaybe<Bigint_Comparison_Exp>;\n  marketplace?: InputMaybe<String_Comparison_Exp>;\n  remaining_token_amount?: InputMaybe<Numeric_Comparison_Exp>;\n  token_standard?: InputMaybe<String_Comparison_Exp>;\n};\n\n/** Ordering options when selecting data from \"nft_marketplace_v2.current_nft_marketplace_collection_offers\". */\nexport type Nft_Marketplace_V2_Current_Nft_Marketplace_Collection_Offers_Order_By = {\n  buyer?: InputMaybe<Order_By>;\n  coin_type?: InputMaybe<Order_By>;\n  collection_id?: InputMaybe<Order_By>;\n  collection_offer_id?: InputMaybe<Order_By>;\n  contract_address?: InputMaybe<Order_By>;\n  current_collection_v2?: InputMaybe<Current_Collections_V2_Order_By>;\n  entry_function_id_str?: InputMaybe<Order_By>;\n  expiration_time?: InputMaybe<Order_By>;\n  fee_schedule_id?: InputMaybe<Order_By>;\n  is_deleted?: InputMaybe<Order_By>;\n  item_price?: InputMaybe<Order_By>;\n  last_transaction_timestamp?: InputMaybe<Order_By>;\n  last_transaction_version?: InputMaybe<Order_By>;\n  marketplace?: InputMaybe<Order_By>;\n  remaining_token_amount?: InputMaybe<Order_By>;\n  token_standard?: InputMaybe<Order_By>;\n};\n\n/** select columns of table \"nft_marketplace_v2.current_nft_marketplace_collection_offers\" */\nexport enum Nft_Marketplace_V2_Current_Nft_Marketplace_Collection_Offers_Select_Column {\n  /** column name */\n  Buyer = 'buyer',\n  /** column name */\n  CoinType = 'coin_type',\n  /** column name */\n  CollectionId = 'collection_id',\n  /** column name */\n  CollectionOfferId = 'collection_offer_id',\n  /** column name */\n  ContractAddress = 'contract_address',\n  /** column name */\n  EntryFunctionIdStr = 'entry_function_id_str',\n  /** column name */\n  ExpirationTime = 'expiration_time',\n  /** column name */\n  FeeScheduleId = 'fee_schedule_id',\n  /** column name */\n  IsDeleted = 'is_deleted',\n  /** column name */\n  ItemPrice = 'item_price',\n  /** column name */\n  LastTransactionTimestamp = 'last_transaction_timestamp',\n  /** column name */\n  LastTransactionVersion = 'last_transaction_version',\n  /** column name */\n  Marketplace = 'marketplace',\n  /** column name */\n  RemainingTokenAmount = 'remaining_token_amount',\n  /** column name */\n  TokenStandard = 'token_standard'\n}\n\n/** Streaming cursor of the table \"nft_marketplace_v2_current_nft_marketplace_collection_offers\" */\nexport type Nft_Marketplace_V2_Current_Nft_Marketplace_Collection_Offers_Stream_Cursor_Input = {\n  /** Stream column input with initial value */\n  initial_value: Nft_Marketplace_V2_Current_Nft_Marketplace_Collection_Offers_Stream_Cursor_Value_Input;\n  /** cursor ordering */\n  ordering?: InputMaybe<Cursor_Ordering>;\n};\n\n/** Initial value of the column from where the streaming should start */\nexport type Nft_Marketplace_V2_Current_Nft_Marketplace_Collection_Offers_Stream_Cursor_Value_Input = {\n  buyer?: InputMaybe<Scalars['String']['input']>;\n  coin_type?: InputMaybe<Scalars['String']['input']>;\n  collection_id?: InputMaybe<Scalars['String']['input']>;\n  collection_offer_id?: InputMaybe<Scalars['String']['input']>;\n  contract_address?: InputMaybe<Scalars['String']['input']>;\n  entry_function_id_str?: InputMaybe<Scalars['String']['input']>;\n  expiration_time?: InputMaybe<Scalars['numeric']['input']>;\n  fee_schedule_id?: InputMaybe<Scalars['String']['input']>;\n  is_deleted?: InputMaybe<Scalars['Boolean']['input']>;\n  item_price?: InputMaybe<Scalars['numeric']['input']>;\n  last_transaction_timestamp?: InputMaybe<Scalars['timestamptz']['input']>;\n  last_transaction_version?: InputMaybe<Scalars['bigint']['input']>;\n  marketplace?: InputMaybe<Scalars['String']['input']>;\n  remaining_token_amount?: InputMaybe<Scalars['numeric']['input']>;\n  token_standard?: InputMaybe<Scalars['String']['input']>;\n};\n\n/** columns and relationships of \"nft_marketplace_v2.current_nft_marketplace_listings\" */\nexport type Nft_Marketplace_V2_Current_Nft_Marketplace_Listings = {\n  __typename?: 'nft_marketplace_v2_current_nft_marketplace_listings';\n  coin_type?: Maybe<Scalars['String']['output']>;\n  collection_id: Scalars['String']['output'];\n  contract_address: Scalars['String']['output'];\n  /** An object relationship */\n  current_token_data?: Maybe<Current_Token_Datas_V2>;\n  entry_function_id_str: Scalars['String']['output'];\n  fee_schedule_id: Scalars['String']['output'];\n  is_deleted: Scalars['Boolean']['output'];\n  last_transaction_timestamp: Scalars['timestamptz']['output'];\n  last_transaction_version: Scalars['bigint']['output'];\n  listing_id: Scalars['String']['output'];\n  marketplace: Scalars['String']['output'];\n  price: Scalars['numeric']['output'];\n  seller: Scalars['String']['output'];\n  token_amount: Scalars['numeric']['output'];\n  token_data_id: Scalars['String']['output'];\n  token_standard: Scalars['String']['output'];\n};\n\n/** Boolean expression to filter rows from the table \"nft_marketplace_v2.current_nft_marketplace_listings\". All fields are combined with a logical 'AND'. */\nexport type Nft_Marketplace_V2_Current_Nft_Marketplace_Listings_Bool_Exp = {\n  _and?: InputMaybe<Array<Nft_Marketplace_V2_Current_Nft_Marketplace_Listings_Bool_Exp>>;\n  _not?: InputMaybe<Nft_Marketplace_V2_Current_Nft_Marketplace_Listings_Bool_Exp>;\n  _or?: InputMaybe<Array<Nft_Marketplace_V2_Current_Nft_Marketplace_Listings_Bool_Exp>>;\n  coin_type?: InputMaybe<String_Comparison_Exp>;\n  collection_id?: InputMaybe<String_Comparison_Exp>;\n  contract_address?: InputMaybe<String_Comparison_Exp>;\n  current_token_data?: InputMaybe<Current_Token_Datas_V2_Bool_Exp>;\n  entry_function_id_str?: InputMaybe<String_Comparison_Exp>;\n  fee_schedule_id?: InputMaybe<String_Comparison_Exp>;\n  is_deleted?: InputMaybe<Boolean_Comparison_Exp>;\n  last_transaction_timestamp?: InputMaybe<Timestamptz_Comparison_Exp>;\n  last_transaction_version?: InputMaybe<Bigint_Comparison_Exp>;\n  listing_id?: InputMaybe<String_Comparison_Exp>;\n  marketplace?: InputMaybe<String_Comparison_Exp>;\n  price?: InputMaybe<Numeric_Comparison_Exp>;\n  seller?: InputMaybe<String_Comparison_Exp>;\n  token_amount?: InputMaybe<Numeric_Comparison_Exp>;\n  token_data_id?: InputMaybe<String_Comparison_Exp>;\n  token_standard?: InputMaybe<String_Comparison_Exp>;\n};\n\n/** Ordering options when selecting data from \"nft_marketplace_v2.current_nft_marketplace_listings\". */\nexport type Nft_Marketplace_V2_Current_Nft_Marketplace_Listings_Order_By = {\n  coin_type?: InputMaybe<Order_By>;\n  collection_id?: InputMaybe<Order_By>;\n  contract_address?: InputMaybe<Order_By>;\n  current_token_data?: InputMaybe<Current_Token_Datas_V2_Order_By>;\n  entry_function_id_str?: InputMaybe<Order_By>;\n  fee_schedule_id?: InputMaybe<Order_By>;\n  is_deleted?: InputMaybe<Order_By>;\n  last_transaction_timestamp?: InputMaybe<Order_By>;\n  last_transaction_version?: InputMaybe<Order_By>;\n  listing_id?: InputMaybe<Order_By>;\n  marketplace?: InputMaybe<Order_By>;\n  price?: InputMaybe<Order_By>;\n  seller?: InputMaybe<Order_By>;\n  token_amount?: InputMaybe<Order_By>;\n  token_data_id?: InputMaybe<Order_By>;\n  token_standard?: InputMaybe<Order_By>;\n};\n\n/** select columns of table \"nft_marketplace_v2.current_nft_marketplace_listings\" */\nexport enum Nft_Marketplace_V2_Current_Nft_Marketplace_Listings_Select_Column {\n  /** column name */\n  CoinType = 'coin_type',\n  /** column name */\n  CollectionId = 'collection_id',\n  /** column name */\n  ContractAddress = 'contract_address',\n  /** column name */\n  EntryFunctionIdStr = 'entry_function_id_str',\n  /** column name */\n  FeeScheduleId = 'fee_schedule_id',\n  /** column name */\n  IsDeleted = 'is_deleted',\n  /** column name */\n  LastTransactionTimestamp = 'last_transaction_timestamp',\n  /** column name */\n  LastTransactionVersion = 'last_transaction_version',\n  /** column name */\n  ListingId = 'listing_id',\n  /** column name */\n  Marketplace = 'marketplace',\n  /** column name */\n  Price = 'price',\n  /** column name */\n  Seller = 'seller',\n  /** column name */\n  TokenAmount = 'token_amount',\n  /** column name */\n  TokenDataId = 'token_data_id',\n  /** column name */\n  TokenStandard = 'token_standard'\n}\n\n/** Streaming cursor of the table \"nft_marketplace_v2_current_nft_marketplace_listings\" */\nexport type Nft_Marketplace_V2_Current_Nft_Marketplace_Listings_Stream_Cursor_Input = {\n  /** Stream column input with initial value */\n  initial_value: Nft_Marketplace_V2_Current_Nft_Marketplace_Listings_Stream_Cursor_Value_Input;\n  /** cursor ordering */\n  ordering?: InputMaybe<Cursor_Ordering>;\n};\n\n/** Initial value of the column from where the streaming should start */\nexport type Nft_Marketplace_V2_Current_Nft_Marketplace_Listings_Stream_Cursor_Value_Input = {\n  coin_type?: InputMaybe<Scalars['String']['input']>;\n  collection_id?: InputMaybe<Scalars['String']['input']>;\n  contract_address?: InputMaybe<Scalars['String']['input']>;\n  entry_function_id_str?: InputMaybe<Scalars['String']['input']>;\n  fee_schedule_id?: InputMaybe<Scalars['String']['input']>;\n  is_deleted?: InputMaybe<Scalars['Boolean']['input']>;\n  last_transaction_timestamp?: InputMaybe<Scalars['timestamptz']['input']>;\n  last_transaction_version?: InputMaybe<Scalars['bigint']['input']>;\n  listing_id?: InputMaybe<Scalars['String']['input']>;\n  marketplace?: InputMaybe<Scalars['String']['input']>;\n  price?: InputMaybe<Scalars['numeric']['input']>;\n  seller?: InputMaybe<Scalars['String']['input']>;\n  token_amount?: InputMaybe<Scalars['numeric']['input']>;\n  token_data_id?: InputMaybe<Scalars['String']['input']>;\n  token_standard?: InputMaybe<Scalars['String']['input']>;\n};\n\n/** columns and relationships of \"nft_marketplace_v2.current_nft_marketplace_token_offers\" */\nexport type Nft_Marketplace_V2_Current_Nft_Marketplace_Token_Offers = {\n  __typename?: 'nft_marketplace_v2_current_nft_marketplace_token_offers';\n  buyer: Scalars['String']['output'];\n  coin_type?: Maybe<Scalars['String']['output']>;\n  collection_id: Scalars['String']['output'];\n  contract_address: Scalars['String']['output'];\n  /** An object relationship */\n  current_token_data?: Maybe<Current_Token_Datas_V2>;\n  entry_function_id_str: Scalars['String']['output'];\n  expiration_time: Scalars['numeric']['output'];\n  fee_schedule_id: Scalars['String']['output'];\n  is_deleted: Scalars['Boolean']['output'];\n  last_transaction_timestamp: Scalars['timestamptz']['output'];\n  last_transaction_version: Scalars['bigint']['output'];\n  marketplace: Scalars['String']['output'];\n  offer_id: Scalars['String']['output'];\n  price: Scalars['numeric']['output'];\n  token_amount: Scalars['numeric']['output'];\n  token_data_id: Scalars['String']['output'];\n  token_standard: Scalars['String']['output'];\n};\n\n/** Boolean expression to filter rows from the table \"nft_marketplace_v2.current_nft_marketplace_token_offers\". All fields are combined with a logical 'AND'. */\nexport type Nft_Marketplace_V2_Current_Nft_Marketplace_Token_Offers_Bool_Exp = {\n  _and?: InputMaybe<Array<Nft_Marketplace_V2_Current_Nft_Marketplace_Token_Offers_Bool_Exp>>;\n  _not?: InputMaybe<Nft_Marketplace_V2_Current_Nft_Marketplace_Token_Offers_Bool_Exp>;\n  _or?: InputMaybe<Array<Nft_Marketplace_V2_Current_Nft_Marketplace_Token_Offers_Bool_Exp>>;\n  buyer?: InputMaybe<String_Comparison_Exp>;\n  coin_type?: InputMaybe<String_Comparison_Exp>;\n  collection_id?: InputMaybe<String_Comparison_Exp>;\n  contract_address?: InputMaybe<String_Comparison_Exp>;\n  current_token_data?: InputMaybe<Current_Token_Datas_V2_Bool_Exp>;\n  entry_function_id_str?: InputMaybe<String_Comparison_Exp>;\n  expiration_time?: InputMaybe<Numeric_Comparison_Exp>;\n  fee_schedule_id?: InputMaybe<String_Comparison_Exp>;\n  is_deleted?: InputMaybe<Boolean_Comparison_Exp>;\n  last_transaction_timestamp?: InputMaybe<Timestamptz_Comparison_Exp>;\n  last_transaction_version?: InputMaybe<Bigint_Comparison_Exp>;\n  marketplace?: InputMaybe<String_Comparison_Exp>;\n  offer_id?: InputMaybe<String_Comparison_Exp>;\n  price?: InputMaybe<Numeric_Comparison_Exp>;\n  token_amount?: InputMaybe<Numeric_Comparison_Exp>;\n  token_data_id?: InputMaybe<String_Comparison_Exp>;\n  token_standard?: InputMaybe<String_Comparison_Exp>;\n};\n\n/** Ordering options when selecting data from \"nft_marketplace_v2.current_nft_marketplace_token_offers\". */\nexport type Nft_Marketplace_V2_Current_Nft_Marketplace_Token_Offers_Order_By = {\n  buyer?: InputMaybe<Order_By>;\n  coin_type?: InputMaybe<Order_By>;\n  collection_id?: InputMaybe<Order_By>;\n  contract_address?: InputMaybe<Order_By>;\n  current_token_data?: InputMaybe<Current_Token_Datas_V2_Order_By>;\n  entry_function_id_str?: InputMaybe<Order_By>;\n  expiration_time?: InputMaybe<Order_By>;\n  fee_schedule_id?: InputMaybe<Order_By>;\n  is_deleted?: InputMaybe<Order_By>;\n  last_transaction_timestamp?: InputMaybe<Order_By>;\n  last_transaction_version?: InputMaybe<Order_By>;\n  marketplace?: InputMaybe<Order_By>;\n  offer_id?: InputMaybe<Order_By>;\n  price?: InputMaybe<Order_By>;\n  token_amount?: InputMaybe<Order_By>;\n  token_data_id?: InputMaybe<Order_By>;\n  token_standard?: InputMaybe<Order_By>;\n};\n\n/** select columns of table \"nft_marketplace_v2.current_nft_marketplace_token_offers\" */\nexport enum Nft_Marketplace_V2_Current_Nft_Marketplace_Token_Offers_Select_Column {\n  /** column name */\n  Buyer = 'buyer',\n  /** column name */\n  CoinType = 'coin_type',\n  /** column name */\n  CollectionId = 'collection_id',\n  /** column name */\n  ContractAddress = 'contract_address',\n  /** column name */\n  EntryFunctionIdStr = 'entry_function_id_str',\n  /** column name */\n  ExpirationTime = 'expiration_time',\n  /** column name */\n  FeeScheduleId = 'fee_schedule_id',\n  /** column name */\n  IsDeleted = 'is_deleted',\n  /** column name */\n  LastTransactionTimestamp = 'last_transaction_timestamp',\n  /** column name */\n  LastTransactionVersion = 'last_transaction_version',\n  /** column name */\n  Marketplace = 'marketplace',\n  /** column name */\n  OfferId = 'offer_id',\n  /** column name */\n  Price = 'price',\n  /** column name */\n  TokenAmount = 'token_amount',\n  /** column name */\n  TokenDataId = 'token_data_id',\n  /** column name */\n  TokenStandard = 'token_standard'\n}\n\n/** Streaming cursor of the table \"nft_marketplace_v2_current_nft_marketplace_token_offers\" */\nexport type Nft_Marketplace_V2_Current_Nft_Marketplace_Token_Offers_Stream_Cursor_Input = {\n  /** Stream column input with initial value */\n  initial_value: Nft_Marketplace_V2_Current_Nft_Marketplace_Token_Offers_Stream_Cursor_Value_Input;\n  /** cursor ordering */\n  ordering?: InputMaybe<Cursor_Ordering>;\n};\n\n/** Initial value of the column from where the streaming should start */\nexport type Nft_Marketplace_V2_Current_Nft_Marketplace_Token_Offers_Stream_Cursor_Value_Input = {\n  buyer?: InputMaybe<Scalars['String']['input']>;\n  coin_type?: InputMaybe<Scalars['String']['input']>;\n  collection_id?: InputMaybe<Scalars['String']['input']>;\n  contract_address?: InputMaybe<Scalars['String']['input']>;\n  entry_function_id_str?: InputMaybe<Scalars['String']['input']>;\n  expiration_time?: InputMaybe<Scalars['numeric']['input']>;\n  fee_schedule_id?: InputMaybe<Scalars['String']['input']>;\n  is_deleted?: InputMaybe<Scalars['Boolean']['input']>;\n  last_transaction_timestamp?: InputMaybe<Scalars['timestamptz']['input']>;\n  last_transaction_version?: InputMaybe<Scalars['bigint']['input']>;\n  marketplace?: InputMaybe<Scalars['String']['input']>;\n  offer_id?: InputMaybe<Scalars['String']['input']>;\n  price?: InputMaybe<Scalars['numeric']['input']>;\n  token_amount?: InputMaybe<Scalars['numeric']['input']>;\n  token_data_id?: InputMaybe<Scalars['String']['input']>;\n  token_standard?: InputMaybe<Scalars['String']['input']>;\n};\n\n/** columns and relationships of \"nft_marketplace_v2.nft_marketplace_activities\" */\nexport type Nft_Marketplace_V2_Nft_Marketplace_Activities = {\n  __typename?: 'nft_marketplace_v2_nft_marketplace_activities';\n  buyer?: Maybe<Scalars['String']['output']>;\n  coin_type?: Maybe<Scalars['String']['output']>;\n  collection_id: Scalars['String']['output'];\n  collection_name: Scalars['String']['output'];\n  contract_address: Scalars['String']['output'];\n  creator_address: Scalars['String']['output'];\n  /** An object relationship */\n  current_token_data?: Maybe<Current_Token_Datas_V2>;\n  entry_function_id_str: Scalars['String']['output'];\n  event_index: Scalars['bigint']['output'];\n  event_type: Scalars['String']['output'];\n  fee_schedule_id: Scalars['String']['output'];\n  marketplace: Scalars['String']['output'];\n  offer_or_listing_id: Scalars['String']['output'];\n  price: Scalars['numeric']['output'];\n  property_version?: Maybe<Scalars['String']['output']>;\n  seller?: Maybe<Scalars['String']['output']>;\n  token_amount: Scalars['numeric']['output'];\n  token_data_id?: Maybe<Scalars['String']['output']>;\n  token_name?: Maybe<Scalars['String']['output']>;\n  token_standard: Scalars['String']['output'];\n  transaction_timestamp: Scalars['timestamptz']['output'];\n  transaction_version: Scalars['bigint']['output'];\n};\n\n/** Boolean expression to filter rows from the table \"nft_marketplace_v2.nft_marketplace_activities\". All fields are combined with a logical 'AND'. */\nexport type Nft_Marketplace_V2_Nft_Marketplace_Activities_Bool_Exp = {\n  _and?: InputMaybe<Array<Nft_Marketplace_V2_Nft_Marketplace_Activities_Bool_Exp>>;\n  _not?: InputMaybe<Nft_Marketplace_V2_Nft_Marketplace_Activities_Bool_Exp>;\n  _or?: InputMaybe<Array<Nft_Marketplace_V2_Nft_Marketplace_Activities_Bool_Exp>>;\n  buyer?: InputMaybe<String_Comparison_Exp>;\n  coin_type?: InputMaybe<String_Comparison_Exp>;\n  collection_id?: InputMaybe<String_Comparison_Exp>;\n  collection_name?: InputMaybe<String_Comparison_Exp>;\n  contract_address?: InputMaybe<String_Comparison_Exp>;\n  creator_address?: InputMaybe<String_Comparison_Exp>;\n  current_token_data?: InputMaybe<Current_Token_Datas_V2_Bool_Exp>;\n  entry_function_id_str?: InputMaybe<String_Comparison_Exp>;\n  event_index?: InputMaybe<Bigint_Comparison_Exp>;\n  event_type?: InputMaybe<String_Comparison_Exp>;\n  fee_schedule_id?: InputMaybe<String_Comparison_Exp>;\n  marketplace?: InputMaybe<String_Comparison_Exp>;\n  offer_or_listing_id?: InputMaybe<String_Comparison_Exp>;\n  price?: InputMaybe<Numeric_Comparison_Exp>;\n  property_version?: InputMaybe<String_Comparison_Exp>;\n  seller?: InputMaybe<String_Comparison_Exp>;\n  token_amount?: InputMaybe<Numeric_Comparison_Exp>;\n  token_data_id?: InputMaybe<String_Comparison_Exp>;\n  token_name?: InputMaybe<String_Comparison_Exp>;\n  token_standard?: InputMaybe<String_Comparison_Exp>;\n  transaction_timestamp?: InputMaybe<Timestamptz_Comparison_Exp>;\n  transaction_version?: InputMaybe<Bigint_Comparison_Exp>;\n};\n\n/** Ordering options when selecting data from \"nft_marketplace_v2.nft_marketplace_activities\". */\nexport type Nft_Marketplace_V2_Nft_Marketplace_Activities_Order_By = {\n  buyer?: InputMaybe<Order_By>;\n  coin_type?: InputMaybe<Order_By>;\n  collection_id?: InputMaybe<Order_By>;\n  collection_name?: InputMaybe<Order_By>;\n  contract_address?: InputMaybe<Order_By>;\n  creator_address?: InputMaybe<Order_By>;\n  current_token_data?: InputMaybe<Current_Token_Datas_V2_Order_By>;\n  entry_function_id_str?: InputMaybe<Order_By>;\n  event_index?: InputMaybe<Order_By>;\n  event_type?: InputMaybe<Order_By>;\n  fee_schedule_id?: InputMaybe<Order_By>;\n  marketplace?: InputMaybe<Order_By>;\n  offer_or_listing_id?: InputMaybe<Order_By>;\n  price?: InputMaybe<Order_By>;\n  property_version?: InputMaybe<Order_By>;\n  seller?: InputMaybe<Order_By>;\n  token_amount?: InputMaybe<Order_By>;\n  token_data_id?: InputMaybe<Order_By>;\n  token_name?: InputMaybe<Order_By>;\n  token_standard?: InputMaybe<Order_By>;\n  transaction_timestamp?: InputMaybe<Order_By>;\n  transaction_version?: InputMaybe<Order_By>;\n};\n\n/** select columns of table \"nft_marketplace_v2.nft_marketplace_activities\" */\nexport enum Nft_Marketplace_V2_Nft_Marketplace_Activities_Select_Column {\n  /** column name */\n  Buyer = 'buyer',\n  /** column name */\n  CoinType = 'coin_type',\n  /** column name */\n  CollectionId = 'collection_id',\n  /** column name */\n  CollectionName = 'collection_name',\n  /** column name */\n  ContractAddress = 'contract_address',\n  /** column name */\n  CreatorAddress = 'creator_address',\n  /** column name */\n  EntryFunctionIdStr = 'entry_function_id_str',\n  /** column name */\n  EventIndex = 'event_index',\n  /** column name */\n  EventType = 'event_type',\n  /** column name */\n  FeeScheduleId = 'fee_schedule_id',\n  /** column name */\n  Marketplace = 'marketplace',\n  /** column name */\n  OfferOrListingId = 'offer_or_listing_id',\n  /** column name */\n  Price = 'price',\n  /** column name */\n  PropertyVersion = 'property_version',\n  /** column name */\n  Seller = 'seller',\n  /** column name */\n  TokenAmount = 'token_amount',\n  /** column name */\n  TokenDataId = 'token_data_id',\n  /** column name */\n  TokenName = 'token_name',\n  /** column name */\n  TokenStandard = 'token_standard',\n  /** column name */\n  TransactionTimestamp = 'transaction_timestamp',\n  /** column name */\n  TransactionVersion = 'transaction_version'\n}\n\n/** Streaming cursor of the table \"nft_marketplace_v2_nft_marketplace_activities\" */\nexport type Nft_Marketplace_V2_Nft_Marketplace_Activities_Stream_Cursor_Input = {\n  /** Stream column input with initial value */\n  initial_value: Nft_Marketplace_V2_Nft_Marketplace_Activities_Stream_Cursor_Value_Input;\n  /** cursor ordering */\n  ordering?: InputMaybe<Cursor_Ordering>;\n};\n\n/** Initial value of the column from where the streaming should start */\nexport type Nft_Marketplace_V2_Nft_Marketplace_Activities_Stream_Cursor_Value_Input = {\n  buyer?: InputMaybe<Scalars['String']['input']>;\n  coin_type?: InputMaybe<Scalars['String']['input']>;\n  collection_id?: InputMaybe<Scalars['String']['input']>;\n  collection_name?: InputMaybe<Scalars['String']['input']>;\n  contract_address?: InputMaybe<Scalars['String']['input']>;\n  creator_address?: InputMaybe<Scalars['String']['input']>;\n  entry_function_id_str?: InputMaybe<Scalars['String']['input']>;\n  event_index?: InputMaybe<Scalars['bigint']['input']>;\n  event_type?: InputMaybe<Scalars['String']['input']>;\n  fee_schedule_id?: InputMaybe<Scalars['String']['input']>;\n  marketplace?: InputMaybe<Scalars['String']['input']>;\n  offer_or_listing_id?: InputMaybe<Scalars['String']['input']>;\n  price?: InputMaybe<Scalars['numeric']['input']>;\n  property_version?: InputMaybe<Scalars['String']['input']>;\n  seller?: InputMaybe<Scalars['String']['input']>;\n  token_amount?: InputMaybe<Scalars['numeric']['input']>;\n  token_data_id?: InputMaybe<Scalars['String']['input']>;\n  token_name?: InputMaybe<Scalars['String']['input']>;\n  token_standard?: InputMaybe<Scalars['String']['input']>;\n  transaction_timestamp?: InputMaybe<Scalars['timestamptz']['input']>;\n  transaction_version?: InputMaybe<Scalars['bigint']['input']>;\n};\n\n/** columns and relationships of \"nft_metadata_crawler.parsed_asset_uris\" */\nexport type Nft_Metadata_Crawler_Parsed_Asset_Uris = {\n  __typename?: 'nft_metadata_crawler_parsed_asset_uris';\n  animation_optimizer_retry_count: Scalars['Int']['output'];\n  asset_uri: Scalars['String']['output'];\n  cdn_animation_uri?: Maybe<Scalars['String']['output']>;\n  cdn_image_uri?: Maybe<Scalars['String']['output']>;\n  cdn_json_uri?: Maybe<Scalars['String']['output']>;\n  image_optimizer_retry_count: Scalars['Int']['output'];\n  json_parser_retry_count: Scalars['Int']['output'];\n  raw_animation_uri?: Maybe<Scalars['String']['output']>;\n  raw_image_uri?: Maybe<Scalars['String']['output']>;\n};\n\n/** Boolean expression to filter rows from the table \"nft_metadata_crawler.parsed_asset_uris\". All fields are combined with a logical 'AND'. */\nexport type Nft_Metadata_Crawler_Parsed_Asset_Uris_Bool_Exp = {\n  _and?: InputMaybe<Array<Nft_Metadata_Crawler_Parsed_Asset_Uris_Bool_Exp>>;\n  _not?: InputMaybe<Nft_Metadata_Crawler_Parsed_Asset_Uris_Bool_Exp>;\n  _or?: InputMaybe<Array<Nft_Metadata_Crawler_Parsed_Asset_Uris_Bool_Exp>>;\n  animation_optimizer_retry_count?: InputMaybe<Int_Comparison_Exp>;\n  asset_uri?: InputMaybe<String_Comparison_Exp>;\n  cdn_animation_uri?: InputMaybe<String_Comparison_Exp>;\n  cdn_image_uri?: InputMaybe<String_Comparison_Exp>;\n  cdn_json_uri?: InputMaybe<String_Comparison_Exp>;\n  image_optimizer_retry_count?: InputMaybe<Int_Comparison_Exp>;\n  json_parser_retry_count?: InputMaybe<Int_Comparison_Exp>;\n  raw_animation_uri?: InputMaybe<String_Comparison_Exp>;\n  raw_image_uri?: InputMaybe<String_Comparison_Exp>;\n};\n\n/** Ordering options when selecting data from \"nft_metadata_crawler.parsed_asset_uris\". */\nexport type Nft_Metadata_Crawler_Parsed_Asset_Uris_Order_By = {\n  animation_optimizer_retry_count?: InputMaybe<Order_By>;\n  asset_uri?: InputMaybe<Order_By>;\n  cdn_animation_uri?: InputMaybe<Order_By>;\n  cdn_image_uri?: InputMaybe<Order_By>;\n  cdn_json_uri?: InputMaybe<Order_By>;\n  image_optimizer_retry_count?: InputMaybe<Order_By>;\n  json_parser_retry_count?: InputMaybe<Order_By>;\n  raw_animation_uri?: InputMaybe<Order_By>;\n  raw_image_uri?: InputMaybe<Order_By>;\n};\n\n/** select columns of table \"nft_metadata_crawler.parsed_asset_uris\" */\nexport enum Nft_Metadata_Crawler_Parsed_Asset_Uris_Select_Column {\n  /** column name */\n  AnimationOptimizerRetryCount = 'animation_optimizer_retry_count',\n  /** column name */\n  AssetUri = 'asset_uri',\n  /** column name */\n  CdnAnimationUri = 'cdn_animation_uri',\n  /** column name */\n  CdnImageUri = 'cdn_image_uri',\n  /** column name */\n  CdnJsonUri = 'cdn_json_uri',\n  /** column name */\n  ImageOptimizerRetryCount = 'image_optimizer_retry_count',\n  /** column name */\n  JsonParserRetryCount = 'json_parser_retry_count',\n  /** column name */\n  RawAnimationUri = 'raw_animation_uri',\n  /** column name */\n  RawImageUri = 'raw_image_uri'\n}\n\n/** Streaming cursor of the table \"nft_metadata_crawler_parsed_asset_uris\" */\nexport type Nft_Metadata_Crawler_Parsed_Asset_Uris_Stream_Cursor_Input = {\n  /** Stream column input with initial value */\n  initial_value: Nft_Metadata_Crawler_Parsed_Asset_Uris_Stream_Cursor_Value_Input;\n  /** cursor ordering */\n  ordering?: InputMaybe<Cursor_Ordering>;\n};\n\n/** Initial value of the column from where the streaming should start */\nexport type Nft_Metadata_Crawler_Parsed_Asset_Uris_Stream_Cursor_Value_Input = {\n  animation_optimizer_retry_count?: InputMaybe<Scalars['Int']['input']>;\n  asset_uri?: InputMaybe<Scalars['String']['input']>;\n  cdn_animation_uri?: InputMaybe<Scalars['String']['input']>;\n  cdn_image_uri?: InputMaybe<Scalars['String']['input']>;\n  cdn_json_uri?: InputMaybe<Scalars['String']['input']>;\n  image_optimizer_retry_count?: InputMaybe<Scalars['Int']['input']>;\n  json_parser_retry_count?: InputMaybe<Scalars['Int']['input']>;\n  raw_animation_uri?: InputMaybe<Scalars['String']['input']>;\n  raw_image_uri?: InputMaybe<Scalars['String']['input']>;\n};\n\n/** columns and relationships of \"num_active_delegator_per_pool\" */\nexport type Num_Active_Delegator_Per_Pool = {\n  __typename?: 'num_active_delegator_per_pool';\n  num_active_delegator?: Maybe<Scalars['bigint']['output']>;\n  pool_address?: Maybe<Scalars['String']['output']>;\n};\n\n/** Boolean expression to filter rows from the table \"num_active_delegator_per_pool\". All fields are combined with a logical 'AND'. */\nexport type Num_Active_Delegator_Per_Pool_Bool_Exp = {\n  _and?: InputMaybe<Array<Num_Active_Delegator_Per_Pool_Bool_Exp>>;\n  _not?: InputMaybe<Num_Active_Delegator_Per_Pool_Bool_Exp>;\n  _or?: InputMaybe<Array<Num_Active_Delegator_Per_Pool_Bool_Exp>>;\n  num_active_delegator?: InputMaybe<Bigint_Comparison_Exp>;\n  pool_address?: InputMaybe<String_Comparison_Exp>;\n};\n\n/** Ordering options when selecting data from \"num_active_delegator_per_pool\". */\nexport type Num_Active_Delegator_Per_Pool_Order_By = {\n  num_active_delegator?: InputMaybe<Order_By>;\n  pool_address?: InputMaybe<Order_By>;\n};\n\n/** select columns of table \"num_active_delegator_per_pool\" */\nexport enum Num_Active_Delegator_Per_Pool_Select_Column {\n  /** column name */\n  NumActiveDelegator = 'num_active_delegator',\n  /** column name */\n  PoolAddress = 'pool_address'\n}\n\n/** Streaming cursor of the table \"num_active_delegator_per_pool\" */\nexport type Num_Active_Delegator_Per_Pool_Stream_Cursor_Input = {\n  /** Stream column input with initial value */\n  initial_value: Num_Active_Delegator_Per_Pool_Stream_Cursor_Value_Input;\n  /** cursor ordering */\n  ordering?: InputMaybe<Cursor_Ordering>;\n};\n\n/** Initial value of the column from where the streaming should start */\nexport type Num_Active_Delegator_Per_Pool_Stream_Cursor_Value_Input = {\n  num_active_delegator?: InputMaybe<Scalars['bigint']['input']>;\n  pool_address?: InputMaybe<Scalars['String']['input']>;\n};\n\n/** Boolean expression to compare columns of type \"numeric\". All fields are combined with logical 'AND'. */\nexport type Numeric_Comparison_Exp = {\n  _eq?: InputMaybe<Scalars['numeric']['input']>;\n  _gt?: InputMaybe<Scalars['numeric']['input']>;\n  _gte?: InputMaybe<Scalars['numeric']['input']>;\n  _in?: InputMaybe<Array<Scalars['numeric']['input']>>;\n  _is_null?: InputMaybe<Scalars['Boolean']['input']>;\n  _lt?: InputMaybe<Scalars['numeric']['input']>;\n  _lte?: InputMaybe<Scalars['numeric']['input']>;\n  _neq?: InputMaybe<Scalars['numeric']['input']>;\n  _nin?: InputMaybe<Array<Scalars['numeric']['input']>>;\n};\n\n/** column ordering options */\nexport enum Order_By {\n  /** in ascending order, nulls last */\n  Asc = 'asc',\n  /** in ascending order, nulls first */\n  AscNullsFirst = 'asc_nulls_first',\n  /** in ascending order, nulls last */\n  AscNullsLast = 'asc_nulls_last',\n  /** in descending order, nulls first */\n  Desc = 'desc',\n  /** in descending order, nulls first */\n  DescNullsFirst = 'desc_nulls_first',\n  /** in descending order, nulls last */\n  DescNullsLast = 'desc_nulls_last'\n}\n\n/** columns and relationships of \"processor_status\" */\nexport type Processor_Status = {\n  __typename?: 'processor_status';\n  last_success_version: Scalars['bigint']['output'];\n  last_updated: Scalars['timestamp']['output'];\n  processor: Scalars['String']['output'];\n};\n\n/** Boolean expression to filter rows from the table \"processor_status\". All fields are combined with a logical 'AND'. */\nexport type Processor_Status_Bool_Exp = {\n  _and?: InputMaybe<Array<Processor_Status_Bool_Exp>>;\n  _not?: InputMaybe<Processor_Status_Bool_Exp>;\n  _or?: InputMaybe<Array<Processor_Status_Bool_Exp>>;\n  last_success_version?: InputMaybe<Bigint_Comparison_Exp>;\n  last_updated?: InputMaybe<Timestamp_Comparison_Exp>;\n  processor?: InputMaybe<String_Comparison_Exp>;\n};\n\n/** Ordering options when selecting data from \"processor_status\". */\nexport type Processor_Status_Order_By = {\n  last_success_version?: InputMaybe<Order_By>;\n  last_updated?: InputMaybe<Order_By>;\n  processor?: InputMaybe<Order_By>;\n};\n\n/** select columns of table \"processor_status\" */\nexport enum Processor_Status_Select_Column {\n  /** column name */\n  LastSuccessVersion = 'last_success_version',\n  /** column name */\n  LastUpdated = 'last_updated',\n  /** column name */\n  Processor = 'processor'\n}\n\n/** Streaming cursor of the table \"processor_status\" */\nexport type Processor_Status_Stream_Cursor_Input = {\n  /** Stream column input with initial value */\n  initial_value: Processor_Status_Stream_Cursor_Value_Input;\n  /** cursor ordering */\n  ordering?: InputMaybe<Cursor_Ordering>;\n};\n\n/** Initial value of the column from where the streaming should start */\nexport type Processor_Status_Stream_Cursor_Value_Input = {\n  last_success_version?: InputMaybe<Scalars['bigint']['input']>;\n  last_updated?: InputMaybe<Scalars['timestamp']['input']>;\n  processor?: InputMaybe<Scalars['String']['input']>;\n};\n\n/** columns and relationships of \"proposal_votes\" */\nexport type Proposal_Votes = {\n  __typename?: 'proposal_votes';\n  num_votes: Scalars['numeric']['output'];\n  proposal_id: Scalars['bigint']['output'];\n  should_pass: Scalars['Boolean']['output'];\n  staking_pool_address: Scalars['String']['output'];\n  transaction_timestamp: Scalars['timestamp']['output'];\n  transaction_version: Scalars['bigint']['output'];\n  voter_address: Scalars['String']['output'];\n};\n\n/** aggregated selection of \"proposal_votes\" */\nexport type Proposal_Votes_Aggregate = {\n  __typename?: 'proposal_votes_aggregate';\n  aggregate?: Maybe<Proposal_Votes_Aggregate_Fields>;\n  nodes: Array<Proposal_Votes>;\n};\n\n/** aggregate fields of \"proposal_votes\" */\nexport type Proposal_Votes_Aggregate_Fields = {\n  __typename?: 'proposal_votes_aggregate_fields';\n  avg?: Maybe<Proposal_Votes_Avg_Fields>;\n  count: Scalars['Int']['output'];\n  max?: Maybe<Proposal_Votes_Max_Fields>;\n  min?: Maybe<Proposal_Votes_Min_Fields>;\n  stddev?: Maybe<Proposal_Votes_Stddev_Fields>;\n  stddev_pop?: Maybe<Proposal_Votes_Stddev_Pop_Fields>;\n  stddev_samp?: Maybe<Proposal_Votes_Stddev_Samp_Fields>;\n  sum?: Maybe<Proposal_Votes_Sum_Fields>;\n  var_pop?: Maybe<Proposal_Votes_Var_Pop_Fields>;\n  var_samp?: Maybe<Proposal_Votes_Var_Samp_Fields>;\n  variance?: Maybe<Proposal_Votes_Variance_Fields>;\n};\n\n\n/** aggregate fields of \"proposal_votes\" */\nexport type Proposal_Votes_Aggregate_FieldsCountArgs = {\n  columns?: InputMaybe<Array<Proposal_Votes_Select_Column>>;\n  distinct?: InputMaybe<Scalars['Boolean']['input']>;\n};\n\n/** aggregate avg on columns */\nexport type Proposal_Votes_Avg_Fields = {\n  __typename?: 'proposal_votes_avg_fields';\n  num_votes?: Maybe<Scalars['Float']['output']>;\n  proposal_id?: Maybe<Scalars['Float']['output']>;\n  transaction_version?: Maybe<Scalars['Float']['output']>;\n};\n\n/** Boolean expression to filter rows from the table \"proposal_votes\". All fields are combined with a logical 'AND'. */\nexport type Proposal_Votes_Bool_Exp = {\n  _and?: InputMaybe<Array<Proposal_Votes_Bool_Exp>>;\n  _not?: InputMaybe<Proposal_Votes_Bool_Exp>;\n  _or?: InputMaybe<Array<Proposal_Votes_Bool_Exp>>;\n  num_votes?: InputMaybe<Numeric_Comparison_Exp>;\n  proposal_id?: InputMaybe<Bigint_Comparison_Exp>;\n  should_pass?: InputMaybe<Boolean_Comparison_Exp>;\n  staking_pool_address?: InputMaybe<String_Comparison_Exp>;\n  transaction_timestamp?: InputMaybe<Timestamp_Comparison_Exp>;\n  transaction_version?: InputMaybe<Bigint_Comparison_Exp>;\n  voter_address?: InputMaybe<String_Comparison_Exp>;\n};\n\n/** aggregate max on columns */\nexport type Proposal_Votes_Max_Fields = {\n  __typename?: 'proposal_votes_max_fields';\n  num_votes?: Maybe<Scalars['numeric']['output']>;\n  proposal_id?: Maybe<Scalars['bigint']['output']>;\n  staking_pool_address?: Maybe<Scalars['String']['output']>;\n  transaction_timestamp?: Maybe<Scalars['timestamp']['output']>;\n  transaction_version?: Maybe<Scalars['bigint']['output']>;\n  voter_address?: Maybe<Scalars['String']['output']>;\n};\n\n/** aggregate min on columns */\nexport type Proposal_Votes_Min_Fields = {\n  __typename?: 'proposal_votes_min_fields';\n  num_votes?: Maybe<Scalars['numeric']['output']>;\n  proposal_id?: Maybe<Scalars['bigint']['output']>;\n  staking_pool_address?: Maybe<Scalars['String']['output']>;\n  transaction_timestamp?: Maybe<Scalars['timestamp']['output']>;\n  transaction_version?: Maybe<Scalars['bigint']['output']>;\n  voter_address?: Maybe<Scalars['String']['output']>;\n};\n\n/** Ordering options when selecting data from \"proposal_votes\". */\nexport type Proposal_Votes_Order_By = {\n  num_votes?: InputMaybe<Order_By>;\n  proposal_id?: InputMaybe<Order_By>;\n  should_pass?: InputMaybe<Order_By>;\n  staking_pool_address?: InputMaybe<Order_By>;\n  transaction_timestamp?: InputMaybe<Order_By>;\n  transaction_version?: InputMaybe<Order_By>;\n  voter_address?: InputMaybe<Order_By>;\n};\n\n/** select columns of table \"proposal_votes\" */\nexport enum Proposal_Votes_Select_Column {\n  /** column name */\n  NumVotes = 'num_votes',\n  /** column name */\n  ProposalId = 'proposal_id',\n  /** column name */\n  ShouldPass = 'should_pass',\n  /** column name */\n  StakingPoolAddress = 'staking_pool_address',\n  /** column name */\n  TransactionTimestamp = 'transaction_timestamp',\n  /** column name */\n  TransactionVersion = 'transaction_version',\n  /** column name */\n  VoterAddress = 'voter_address'\n}\n\n/** aggregate stddev on columns */\nexport type Proposal_Votes_Stddev_Fields = {\n  __typename?: 'proposal_votes_stddev_fields';\n  num_votes?: Maybe<Scalars['Float']['output']>;\n  proposal_id?: Maybe<Scalars['Float']['output']>;\n  transaction_version?: Maybe<Scalars['Float']['output']>;\n};\n\n/** aggregate stddev_pop on columns */\nexport type Proposal_Votes_Stddev_Pop_Fields = {\n  __typename?: 'proposal_votes_stddev_pop_fields';\n  num_votes?: Maybe<Scalars['Float']['output']>;\n  proposal_id?: Maybe<Scalars['Float']['output']>;\n  transaction_version?: Maybe<Scalars['Float']['output']>;\n};\n\n/** aggregate stddev_samp on columns */\nexport type Proposal_Votes_Stddev_Samp_Fields = {\n  __typename?: 'proposal_votes_stddev_samp_fields';\n  num_votes?: Maybe<Scalars['Float']['output']>;\n  proposal_id?: Maybe<Scalars['Float']['output']>;\n  transaction_version?: Maybe<Scalars['Float']['output']>;\n};\n\n/** Streaming cursor of the table \"proposal_votes\" */\nexport type Proposal_Votes_Stream_Cursor_Input = {\n  /** Stream column input with initial value */\n  initial_value: Proposal_Votes_Stream_Cursor_Value_Input;\n  /** cursor ordering */\n  ordering?: InputMaybe<Cursor_Ordering>;\n};\n\n/** Initial value of the column from where the streaming should start */\nexport type Proposal_Votes_Stream_Cursor_Value_Input = {\n  num_votes?: InputMaybe<Scalars['numeric']['input']>;\n  proposal_id?: InputMaybe<Scalars['bigint']['input']>;\n  should_pass?: InputMaybe<Scalars['Boolean']['input']>;\n  staking_pool_address?: InputMaybe<Scalars['String']['input']>;\n  transaction_timestamp?: InputMaybe<Scalars['timestamp']['input']>;\n  transaction_version?: InputMaybe<Scalars['bigint']['input']>;\n  voter_address?: InputMaybe<Scalars['String']['input']>;\n};\n\n/** aggregate sum on columns */\nexport type Proposal_Votes_Sum_Fields = {\n  __typename?: 'proposal_votes_sum_fields';\n  num_votes?: Maybe<Scalars['numeric']['output']>;\n  proposal_id?: Maybe<Scalars['bigint']['output']>;\n  transaction_version?: Maybe<Scalars['bigint']['output']>;\n};\n\n/** aggregate var_pop on columns */\nexport type Proposal_Votes_Var_Pop_Fields = {\n  __typename?: 'proposal_votes_var_pop_fields';\n  num_votes?: Maybe<Scalars['Float']['output']>;\n  proposal_id?: Maybe<Scalars['Float']['output']>;\n  transaction_version?: Maybe<Scalars['Float']['output']>;\n};\n\n/** aggregate var_samp on columns */\nexport type Proposal_Votes_Var_Samp_Fields = {\n  __typename?: 'proposal_votes_var_samp_fields';\n  num_votes?: Maybe<Scalars['Float']['output']>;\n  proposal_id?: Maybe<Scalars['Float']['output']>;\n  transaction_version?: Maybe<Scalars['Float']['output']>;\n};\n\n/** aggregate variance on columns */\nexport type Proposal_Votes_Variance_Fields = {\n  __typename?: 'proposal_votes_variance_fields';\n  num_votes?: Maybe<Scalars['Float']['output']>;\n  proposal_id?: Maybe<Scalars['Float']['output']>;\n  transaction_version?: Maybe<Scalars['Float']['output']>;\n};\n\nexport type Query_Root = {\n  __typename?: 'query_root';\n  /** fetch data from the table: \"account_transactions\" */\n  account_transactions: Array<Account_Transactions>;\n  /** fetch aggregated fields from the table: \"account_transactions\" */\n  account_transactions_aggregate: Account_Transactions_Aggregate;\n  /** fetch data from the table: \"account_transactions\" using primary key columns */\n  account_transactions_by_pk?: Maybe<Account_Transactions>;\n  /** fetch data from the table: \"address_events_summary\" */\n  address_events_summary: Array<Address_Events_Summary>;\n  /** fetch data from the table: \"address_version_from_events\" */\n  address_version_from_events: Array<Address_Version_From_Events>;\n  /** fetch aggregated fields from the table: \"address_version_from_events\" */\n  address_version_from_events_aggregate: Address_Version_From_Events_Aggregate;\n  /** fetch data from the table: \"address_version_from_move_resources\" */\n  address_version_from_move_resources: Array<Address_Version_From_Move_Resources>;\n  /** fetch aggregated fields from the table: \"address_version_from_move_resources\" */\n  address_version_from_move_resources_aggregate: Address_Version_From_Move_Resources_Aggregate;\n  /** fetch data from the table: \"block_metadata_transactions\" */\n  block_metadata_transactions: Array<Block_Metadata_Transactions>;\n  /** fetch data from the table: \"block_metadata_transactions\" using primary key columns */\n  block_metadata_transactions_by_pk?: Maybe<Block_Metadata_Transactions>;\n  /** An array relationship */\n  coin_activities: Array<Coin_Activities>;\n  /** An aggregate relationship */\n  coin_activities_aggregate: Coin_Activities_Aggregate;\n  /** fetch data from the table: \"coin_activities\" using primary key columns */\n  coin_activities_by_pk?: Maybe<Coin_Activities>;\n  /** fetch data from the table: \"coin_balances\" */\n  coin_balances: Array<Coin_Balances>;\n  /** fetch data from the table: \"coin_balances\" using primary key columns */\n  coin_balances_by_pk?: Maybe<Coin_Balances>;\n  /** fetch data from the table: \"coin_infos\" */\n  coin_infos: Array<Coin_Infos>;\n  /** fetch data from the table: \"coin_infos\" using primary key columns */\n  coin_infos_by_pk?: Maybe<Coin_Infos>;\n  /** fetch data from the table: \"coin_supply\" */\n  coin_supply: Array<Coin_Supply>;\n  /** fetch data from the table: \"coin_supply\" using primary key columns */\n  coin_supply_by_pk?: Maybe<Coin_Supply>;\n  /** fetch data from the table: \"collection_datas\" */\n  collection_datas: Array<Collection_Datas>;\n  /** fetch data from the table: \"collection_datas\" using primary key columns */\n  collection_datas_by_pk?: Maybe<Collection_Datas>;\n  /** fetch data from the table: \"current_ans_lookup\" */\n  current_ans_lookup: Array<Current_Ans_Lookup>;\n  /** fetch data from the table: \"current_ans_lookup\" using primary key columns */\n  current_ans_lookup_by_pk?: Maybe<Current_Ans_Lookup>;\n  /** fetch data from the table: \"current_ans_lookup_v2\" */\n  current_ans_lookup_v2: Array<Current_Ans_Lookup_V2>;\n  /** fetch data from the table: \"current_ans_lookup_v2\" using primary key columns */\n  current_ans_lookup_v2_by_pk?: Maybe<Current_Ans_Lookup_V2>;\n  /** fetch data from the table: \"current_aptos_names\" */\n  current_aptos_names: Array<Current_Aptos_Names>;\n  /** fetch aggregated fields from the table: \"current_aptos_names\" */\n  current_aptos_names_aggregate: Current_Aptos_Names_Aggregate;\n  /** fetch data from the table: \"current_coin_balances\" */\n  current_coin_balances: Array<Current_Coin_Balances>;\n  /** fetch data from the table: \"current_coin_balances\" using primary key columns */\n  current_coin_balances_by_pk?: Maybe<Current_Coin_Balances>;\n  /** fetch data from the table: \"current_collection_datas\" */\n  current_collection_datas: Array<Current_Collection_Datas>;\n  /** fetch data from the table: \"current_collection_datas\" using primary key columns */\n  current_collection_datas_by_pk?: Maybe<Current_Collection_Datas>;\n  /** fetch data from the table: \"current_collection_ownership_v2_view\" */\n  current_collection_ownership_v2_view: Array<Current_Collection_Ownership_V2_View>;\n  /** fetch aggregated fields from the table: \"current_collection_ownership_v2_view\" */\n  current_collection_ownership_v2_view_aggregate: Current_Collection_Ownership_V2_View_Aggregate;\n  /** fetch data from the table: \"current_collections_v2\" */\n  current_collections_v2: Array<Current_Collections_V2>;\n  /** fetch data from the table: \"current_collections_v2\" using primary key columns */\n  current_collections_v2_by_pk?: Maybe<Current_Collections_V2>;\n  /** fetch data from the table: \"current_delegated_staking_pool_balances\" */\n  current_delegated_staking_pool_balances: Array<Current_Delegated_Staking_Pool_Balances>;\n  /** fetch data from the table: \"current_delegated_staking_pool_balances\" using primary key columns */\n  current_delegated_staking_pool_balances_by_pk?: Maybe<Current_Delegated_Staking_Pool_Balances>;\n  /** fetch data from the table: \"current_delegated_voter\" */\n  current_delegated_voter: Array<Current_Delegated_Voter>;\n  /** fetch data from the table: \"current_delegated_voter\" using primary key columns */\n  current_delegated_voter_by_pk?: Maybe<Current_Delegated_Voter>;\n  /** fetch data from the table: \"current_delegator_balances\" */\n  current_delegator_balances: Array<Current_Delegator_Balances>;\n  /** fetch data from the table: \"current_delegator_balances\" using primary key columns */\n  current_delegator_balances_by_pk?: Maybe<Current_Delegator_Balances>;\n  /** fetch data from the table: \"current_fungible_asset_balances\" */\n  current_fungible_asset_balances: Array<Current_Fungible_Asset_Balances>;\n  /** fetch aggregated fields from the table: \"current_fungible_asset_balances\" */\n  current_fungible_asset_balances_aggregate: Current_Fungible_Asset_Balances_Aggregate;\n  /** fetch data from the table: \"current_fungible_asset_balances\" using primary key columns */\n  current_fungible_asset_balances_by_pk?: Maybe<Current_Fungible_Asset_Balances>;\n  /** fetch data from the table: \"current_objects\" */\n  current_objects: Array<Current_Objects>;\n  /** fetch data from the table: \"current_objects\" using primary key columns */\n  current_objects_by_pk?: Maybe<Current_Objects>;\n  /** fetch data from the table: \"current_staking_pool_voter\" */\n  current_staking_pool_voter: Array<Current_Staking_Pool_Voter>;\n  /** fetch data from the table: \"current_staking_pool_voter\" using primary key columns */\n  current_staking_pool_voter_by_pk?: Maybe<Current_Staking_Pool_Voter>;\n  /** fetch data from the table: \"current_table_items\" */\n  current_table_items: Array<Current_Table_Items>;\n  /** fetch data from the table: \"current_table_items\" using primary key columns */\n  current_table_items_by_pk?: Maybe<Current_Table_Items>;\n  /** fetch data from the table: \"current_token_datas\" */\n  current_token_datas: Array<Current_Token_Datas>;\n  /** fetch data from the table: \"current_token_datas\" using primary key columns */\n  current_token_datas_by_pk?: Maybe<Current_Token_Datas>;\n  /** fetch data from the table: \"current_token_datas_v2\" */\n  current_token_datas_v2: Array<Current_Token_Datas_V2>;\n  /** fetch data from the table: \"current_token_datas_v2\" using primary key columns */\n  current_token_datas_v2_by_pk?: Maybe<Current_Token_Datas_V2>;\n  /** fetch data from the table: \"current_token_ownerships\" */\n  current_token_ownerships: Array<Current_Token_Ownerships>;\n  /** fetch aggregated fields from the table: \"current_token_ownerships\" */\n  current_token_ownerships_aggregate: Current_Token_Ownerships_Aggregate;\n  /** fetch data from the table: \"current_token_ownerships\" using primary key columns */\n  current_token_ownerships_by_pk?: Maybe<Current_Token_Ownerships>;\n  /** fetch data from the table: \"current_token_ownerships_v2\" */\n  current_token_ownerships_v2: Array<Current_Token_Ownerships_V2>;\n  /** fetch aggregated fields from the table: \"current_token_ownerships_v2\" */\n  current_token_ownerships_v2_aggregate: Current_Token_Ownerships_V2_Aggregate;\n  /** fetch data from the table: \"current_token_ownerships_v2\" using primary key columns */\n  current_token_ownerships_v2_by_pk?: Maybe<Current_Token_Ownerships_V2>;\n  /** fetch data from the table: \"current_token_pending_claims\" */\n  current_token_pending_claims: Array<Current_Token_Pending_Claims>;\n  /** fetch data from the table: \"current_token_pending_claims\" using primary key columns */\n  current_token_pending_claims_by_pk?: Maybe<Current_Token_Pending_Claims>;\n  /** An array relationship */\n  delegated_staking_activities: Array<Delegated_Staking_Activities>;\n  /** fetch data from the table: \"delegated_staking_activities\" using primary key columns */\n  delegated_staking_activities_by_pk?: Maybe<Delegated_Staking_Activities>;\n  /** fetch data from the table: \"delegated_staking_pools\" */\n  delegated_staking_pools: Array<Delegated_Staking_Pools>;\n  /** fetch data from the table: \"delegated_staking_pools\" using primary key columns */\n  delegated_staking_pools_by_pk?: Maybe<Delegated_Staking_Pools>;\n  /** fetch data from the table: \"delegator_distinct_pool\" */\n  delegator_distinct_pool: Array<Delegator_Distinct_Pool>;\n  /** fetch aggregated fields from the table: \"delegator_distinct_pool\" */\n  delegator_distinct_pool_aggregate: Delegator_Distinct_Pool_Aggregate;\n  /** fetch data from the table: \"events\" */\n  events: Array<Events>;\n  /** fetch data from the table: \"events\" using primary key columns */\n  events_by_pk?: Maybe<Events>;\n  /** An array relationship */\n  fungible_asset_activities: Array<Fungible_Asset_Activities>;\n  /** fetch data from the table: \"fungible_asset_activities\" using primary key columns */\n  fungible_asset_activities_by_pk?: Maybe<Fungible_Asset_Activities>;\n  /** fetch data from the table: \"fungible_asset_metadata\" */\n  fungible_asset_metadata: Array<Fungible_Asset_Metadata>;\n  /** fetch data from the table: \"fungible_asset_metadata\" using primary key columns */\n  fungible_asset_metadata_by_pk?: Maybe<Fungible_Asset_Metadata>;\n  /** fetch data from the table: \"indexer_status\" */\n  indexer_status: Array<Indexer_Status>;\n  /** fetch data from the table: \"indexer_status\" using primary key columns */\n  indexer_status_by_pk?: Maybe<Indexer_Status>;\n  /** fetch data from the table: \"ledger_infos\" */\n  ledger_infos: Array<Ledger_Infos>;\n  /** fetch data from the table: \"ledger_infos\" using primary key columns */\n  ledger_infos_by_pk?: Maybe<Ledger_Infos>;\n  /** fetch data from the table: \"move_resources\" */\n  move_resources: Array<Move_Resources>;\n  /** fetch aggregated fields from the table: \"move_resources\" */\n  move_resources_aggregate: Move_Resources_Aggregate;\n  /** fetch data from the table: \"nft_marketplace_v2.current_nft_marketplace_auctions\" */\n  nft_marketplace_v2_current_nft_marketplace_auctions: Array<Nft_Marketplace_V2_Current_Nft_Marketplace_Auctions>;\n  /** fetch data from the table: \"nft_marketplace_v2.current_nft_marketplace_auctions\" using primary key columns */\n  nft_marketplace_v2_current_nft_marketplace_auctions_by_pk?: Maybe<Nft_Marketplace_V2_Current_Nft_Marketplace_Auctions>;\n  /** fetch data from the table: \"nft_marketplace_v2.current_nft_marketplace_collection_offers\" */\n  nft_marketplace_v2_current_nft_marketplace_collection_offers: Array<Nft_Marketplace_V2_Current_Nft_Marketplace_Collection_Offers>;\n  /** fetch data from the table: \"nft_marketplace_v2.current_nft_marketplace_collection_offers\" using primary key columns */\n  nft_marketplace_v2_current_nft_marketplace_collection_offers_by_pk?: Maybe<Nft_Marketplace_V2_Current_Nft_Marketplace_Collection_Offers>;\n  /** fetch data from the table: \"nft_marketplace_v2.current_nft_marketplace_listings\" */\n  nft_marketplace_v2_current_nft_marketplace_listings: Array<Nft_Marketplace_V2_Current_Nft_Marketplace_Listings>;\n  /** fetch data from the table: \"nft_marketplace_v2.current_nft_marketplace_listings\" using primary key columns */\n  nft_marketplace_v2_current_nft_marketplace_listings_by_pk?: Maybe<Nft_Marketplace_V2_Current_Nft_Marketplace_Listings>;\n  /** fetch data from the table: \"nft_marketplace_v2.current_nft_marketplace_token_offers\" */\n  nft_marketplace_v2_current_nft_marketplace_token_offers: Array<Nft_Marketplace_V2_Current_Nft_Marketplace_Token_Offers>;\n  /** fetch data from the table: \"nft_marketplace_v2.current_nft_marketplace_token_offers\" using primary key columns */\n  nft_marketplace_v2_current_nft_marketplace_token_offers_by_pk?: Maybe<Nft_Marketplace_V2_Current_Nft_Marketplace_Token_Offers>;\n  /** fetch data from the table: \"nft_marketplace_v2.nft_marketplace_activities\" */\n  nft_marketplace_v2_nft_marketplace_activities: Array<Nft_Marketplace_V2_Nft_Marketplace_Activities>;\n  /** fetch data from the table: \"nft_marketplace_v2.nft_marketplace_activities\" using primary key columns */\n  nft_marketplace_v2_nft_marketplace_activities_by_pk?: Maybe<Nft_Marketplace_V2_Nft_Marketplace_Activities>;\n  /** fetch data from the table: \"nft_metadata_crawler.parsed_asset_uris\" */\n  nft_metadata_crawler_parsed_asset_uris: Array<Nft_Metadata_Crawler_Parsed_Asset_Uris>;\n  /** fetch data from the table: \"nft_metadata_crawler.parsed_asset_uris\" using primary key columns */\n  nft_metadata_crawler_parsed_asset_uris_by_pk?: Maybe<Nft_Metadata_Crawler_Parsed_Asset_Uris>;\n  /** fetch data from the table: \"num_active_delegator_per_pool\" */\n  num_active_delegator_per_pool: Array<Num_Active_Delegator_Per_Pool>;\n  /** fetch data from the table: \"processor_status\" */\n  processor_status: Array<Processor_Status>;\n  /** fetch data from the table: \"processor_status\" using primary key columns */\n  processor_status_by_pk?: Maybe<Processor_Status>;\n  /** fetch data from the table: \"proposal_votes\" */\n  proposal_votes: Array<Proposal_Votes>;\n  /** fetch aggregated fields from the table: \"proposal_votes\" */\n  proposal_votes_aggregate: Proposal_Votes_Aggregate;\n  /** fetch data from the table: \"proposal_votes\" using primary key columns */\n  proposal_votes_by_pk?: Maybe<Proposal_Votes>;\n  /** fetch data from the table: \"table_items\" */\n  table_items: Array<Table_Items>;\n  /** fetch data from the table: \"table_items\" using primary key columns */\n  table_items_by_pk?: Maybe<Table_Items>;\n  /** fetch data from the table: \"table_metadatas\" */\n  table_metadatas: Array<Table_Metadatas>;\n  /** fetch data from the table: \"table_metadatas\" using primary key columns */\n  table_metadatas_by_pk?: Maybe<Table_Metadatas>;\n  /** An array relationship */\n  token_activities: Array<Token_Activities>;\n  /** An aggregate relationship */\n  token_activities_aggregate: Token_Activities_Aggregate;\n  /** fetch data from the table: \"token_activities\" using primary key columns */\n  token_activities_by_pk?: Maybe<Token_Activities>;\n  /** An array relationship */\n  token_activities_v2: Array<Token_Activities_V2>;\n  /** An aggregate relationship */\n  token_activities_v2_aggregate: Token_Activities_V2_Aggregate;\n  /** fetch data from the table: \"token_activities_v2\" using primary key columns */\n  token_activities_v2_by_pk?: Maybe<Token_Activities_V2>;\n  /** fetch data from the table: \"token_datas\" */\n  token_datas: Array<Token_Datas>;\n  /** fetch data from the table: \"token_datas\" using primary key columns */\n  token_datas_by_pk?: Maybe<Token_Datas>;\n  /** fetch data from the table: \"token_ownerships\" */\n  token_ownerships: Array<Token_Ownerships>;\n  /** fetch data from the table: \"token_ownerships\" using primary key columns */\n  token_ownerships_by_pk?: Maybe<Token_Ownerships>;\n  /** fetch data from the table: \"tokens\" */\n  tokens: Array<Tokens>;\n  /** fetch data from the table: \"tokens\" using primary key columns */\n  tokens_by_pk?: Maybe<Tokens>;\n  /** fetch data from the table: \"user_transactions\" */\n  user_transactions: Array<User_Transactions>;\n  /** fetch data from the table: \"user_transactions\" using primary key columns */\n  user_transactions_by_pk?: Maybe<User_Transactions>;\n};\n\n\nexport type Query_RootAccount_TransactionsArgs = {\n  distinct_on?: InputMaybe<Array<Account_Transactions_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Account_Transactions_Order_By>>;\n  where?: InputMaybe<Account_Transactions_Bool_Exp>;\n};\n\n\nexport type Query_RootAccount_Transactions_AggregateArgs = {\n  distinct_on?: InputMaybe<Array<Account_Transactions_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Account_Transactions_Order_By>>;\n  where?: InputMaybe<Account_Transactions_Bool_Exp>;\n};\n\n\nexport type Query_RootAccount_Transactions_By_PkArgs = {\n  account_address: Scalars['String']['input'];\n  transaction_version: Scalars['bigint']['input'];\n};\n\n\nexport type Query_RootAddress_Events_SummaryArgs = {\n  distinct_on?: InputMaybe<Array<Address_Events_Summary_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Address_Events_Summary_Order_By>>;\n  where?: InputMaybe<Address_Events_Summary_Bool_Exp>;\n};\n\n\nexport type Query_RootAddress_Version_From_EventsArgs = {\n  distinct_on?: InputMaybe<Array<Address_Version_From_Events_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Address_Version_From_Events_Order_By>>;\n  where?: InputMaybe<Address_Version_From_Events_Bool_Exp>;\n};\n\n\nexport type Query_RootAddress_Version_From_Events_AggregateArgs = {\n  distinct_on?: InputMaybe<Array<Address_Version_From_Events_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Address_Version_From_Events_Order_By>>;\n  where?: InputMaybe<Address_Version_From_Events_Bool_Exp>;\n};\n\n\nexport type Query_RootAddress_Version_From_Move_ResourcesArgs = {\n  distinct_on?: InputMaybe<Array<Address_Version_From_Move_Resources_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Address_Version_From_Move_Resources_Order_By>>;\n  where?: InputMaybe<Address_Version_From_Move_Resources_Bool_Exp>;\n};\n\n\nexport type Query_RootAddress_Version_From_Move_Resources_AggregateArgs = {\n  distinct_on?: InputMaybe<Array<Address_Version_From_Move_Resources_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Address_Version_From_Move_Resources_Order_By>>;\n  where?: InputMaybe<Address_Version_From_Move_Resources_Bool_Exp>;\n};\n\n\nexport type Query_RootBlock_Metadata_TransactionsArgs = {\n  distinct_on?: InputMaybe<Array<Block_Metadata_Transactions_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Block_Metadata_Transactions_Order_By>>;\n  where?: InputMaybe<Block_Metadata_Transactions_Bool_Exp>;\n};\n\n\nexport type Query_RootBlock_Metadata_Transactions_By_PkArgs = {\n  version: Scalars['bigint']['input'];\n};\n\n\nexport type Query_RootCoin_ActivitiesArgs = {\n  distinct_on?: InputMaybe<Array<Coin_Activities_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Coin_Activities_Order_By>>;\n  where?: InputMaybe<Coin_Activities_Bool_Exp>;\n};\n\n\nexport type Query_RootCoin_Activities_AggregateArgs = {\n  distinct_on?: InputMaybe<Array<Coin_Activities_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Coin_Activities_Order_By>>;\n  where?: InputMaybe<Coin_Activities_Bool_Exp>;\n};\n\n\nexport type Query_RootCoin_Activities_By_PkArgs = {\n  event_account_address: Scalars['String']['input'];\n  event_creation_number: Scalars['bigint']['input'];\n  event_sequence_number: Scalars['bigint']['input'];\n  transaction_version: Scalars['bigint']['input'];\n};\n\n\nexport type Query_RootCoin_BalancesArgs = {\n  distinct_on?: InputMaybe<Array<Coin_Balances_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Coin_Balances_Order_By>>;\n  where?: InputMaybe<Coin_Balances_Bool_Exp>;\n};\n\n\nexport type Query_RootCoin_Balances_By_PkArgs = {\n  coin_type_hash: Scalars['String']['input'];\n  owner_address: Scalars['String']['input'];\n  transaction_version: Scalars['bigint']['input'];\n};\n\n\nexport type Query_RootCoin_InfosArgs = {\n  distinct_on?: InputMaybe<Array<Coin_Infos_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Coin_Infos_Order_By>>;\n  where?: InputMaybe<Coin_Infos_Bool_Exp>;\n};\n\n\nexport type Query_RootCoin_Infos_By_PkArgs = {\n  coin_type_hash: Scalars['String']['input'];\n};\n\n\nexport type Query_RootCoin_SupplyArgs = {\n  distinct_on?: InputMaybe<Array<Coin_Supply_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Coin_Supply_Order_By>>;\n  where?: InputMaybe<Coin_Supply_Bool_Exp>;\n};\n\n\nexport type Query_RootCoin_Supply_By_PkArgs = {\n  coin_type_hash: Scalars['String']['input'];\n  transaction_version: Scalars['bigint']['input'];\n};\n\n\nexport type Query_RootCollection_DatasArgs = {\n  distinct_on?: InputMaybe<Array<Collection_Datas_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Collection_Datas_Order_By>>;\n  where?: InputMaybe<Collection_Datas_Bool_Exp>;\n};\n\n\nexport type Query_RootCollection_Datas_By_PkArgs = {\n  collection_data_id_hash: Scalars['String']['input'];\n  transaction_version: Scalars['bigint']['input'];\n};\n\n\nexport type Query_RootCurrent_Ans_LookupArgs = {\n  distinct_on?: InputMaybe<Array<Current_Ans_Lookup_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Current_Ans_Lookup_Order_By>>;\n  where?: InputMaybe<Current_Ans_Lookup_Bool_Exp>;\n};\n\n\nexport type Query_RootCurrent_Ans_Lookup_By_PkArgs = {\n  domain: Scalars['String']['input'];\n  subdomain: Scalars['String']['input'];\n};\n\n\nexport type Query_RootCurrent_Ans_Lookup_V2Args = {\n  distinct_on?: InputMaybe<Array<Current_Ans_Lookup_V2_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Current_Ans_Lookup_V2_Order_By>>;\n  where?: InputMaybe<Current_Ans_Lookup_V2_Bool_Exp>;\n};\n\n\nexport type Query_RootCurrent_Ans_Lookup_V2_By_PkArgs = {\n  domain: Scalars['String']['input'];\n  subdomain: Scalars['String']['input'];\n  token_standard: Scalars['String']['input'];\n};\n\n\nexport type Query_RootCurrent_Aptos_NamesArgs = {\n  distinct_on?: InputMaybe<Array<Current_Aptos_Names_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Current_Aptos_Names_Order_By>>;\n  where?: InputMaybe<Current_Aptos_Names_Bool_Exp>;\n};\n\n\nexport type Query_RootCurrent_Aptos_Names_AggregateArgs = {\n  distinct_on?: InputMaybe<Array<Current_Aptos_Names_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Current_Aptos_Names_Order_By>>;\n  where?: InputMaybe<Current_Aptos_Names_Bool_Exp>;\n};\n\n\nexport type Query_RootCurrent_Coin_BalancesArgs = {\n  distinct_on?: InputMaybe<Array<Current_Coin_Balances_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Current_Coin_Balances_Order_By>>;\n  where?: InputMaybe<Current_Coin_Balances_Bool_Exp>;\n};\n\n\nexport type Query_RootCurrent_Coin_Balances_By_PkArgs = {\n  coin_type_hash: Scalars['String']['input'];\n  owner_address: Scalars['String']['input'];\n};\n\n\nexport type Query_RootCurrent_Collection_DatasArgs = {\n  distinct_on?: InputMaybe<Array<Current_Collection_Datas_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Current_Collection_Datas_Order_By>>;\n  where?: InputMaybe<Current_Collection_Datas_Bool_Exp>;\n};\n\n\nexport type Query_RootCurrent_Collection_Datas_By_PkArgs = {\n  collection_data_id_hash: Scalars['String']['input'];\n};\n\n\nexport type Query_RootCurrent_Collection_Ownership_V2_ViewArgs = {\n  distinct_on?: InputMaybe<Array<Current_Collection_Ownership_V2_View_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Current_Collection_Ownership_V2_View_Order_By>>;\n  where?: InputMaybe<Current_Collection_Ownership_V2_View_Bool_Exp>;\n};\n\n\nexport type Query_RootCurrent_Collection_Ownership_V2_View_AggregateArgs = {\n  distinct_on?: InputMaybe<Array<Current_Collection_Ownership_V2_View_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Current_Collection_Ownership_V2_View_Order_By>>;\n  where?: InputMaybe<Current_Collection_Ownership_V2_View_Bool_Exp>;\n};\n\n\nexport type Query_RootCurrent_Collections_V2Args = {\n  distinct_on?: InputMaybe<Array<Current_Collections_V2_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Current_Collections_V2_Order_By>>;\n  where?: InputMaybe<Current_Collections_V2_Bool_Exp>;\n};\n\n\nexport type Query_RootCurrent_Collections_V2_By_PkArgs = {\n  collection_id: Scalars['String']['input'];\n};\n\n\nexport type Query_RootCurrent_Delegated_Staking_Pool_BalancesArgs = {\n  distinct_on?: InputMaybe<Array<Current_Delegated_Staking_Pool_Balances_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Current_Delegated_Staking_Pool_Balances_Order_By>>;\n  where?: InputMaybe<Current_Delegated_Staking_Pool_Balances_Bool_Exp>;\n};\n\n\nexport type Query_RootCurrent_Delegated_Staking_Pool_Balances_By_PkArgs = {\n  staking_pool_address: Scalars['String']['input'];\n};\n\n\nexport type Query_RootCurrent_Delegated_VoterArgs = {\n  distinct_on?: InputMaybe<Array<Current_Delegated_Voter_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Current_Delegated_Voter_Order_By>>;\n  where?: InputMaybe<Current_Delegated_Voter_Bool_Exp>;\n};\n\n\nexport type Query_RootCurrent_Delegated_Voter_By_PkArgs = {\n  delegation_pool_address: Scalars['String']['input'];\n  delegator_address: Scalars['String']['input'];\n};\n\n\nexport type Query_RootCurrent_Delegator_BalancesArgs = {\n  distinct_on?: InputMaybe<Array<Current_Delegator_Balances_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Current_Delegator_Balances_Order_By>>;\n  where?: InputMaybe<Current_Delegator_Balances_Bool_Exp>;\n};\n\n\nexport type Query_RootCurrent_Delegator_Balances_By_PkArgs = {\n  delegator_address: Scalars['String']['input'];\n  pool_address: Scalars['String']['input'];\n  pool_type: Scalars['String']['input'];\n  table_handle: Scalars['String']['input'];\n};\n\n\nexport type Query_RootCurrent_Fungible_Asset_BalancesArgs = {\n  distinct_on?: InputMaybe<Array<Current_Fungible_Asset_Balances_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Current_Fungible_Asset_Balances_Order_By>>;\n  where?: InputMaybe<Current_Fungible_Asset_Balances_Bool_Exp>;\n};\n\n\nexport type Query_RootCurrent_Fungible_Asset_Balances_AggregateArgs = {\n  distinct_on?: InputMaybe<Array<Current_Fungible_Asset_Balances_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Current_Fungible_Asset_Balances_Order_By>>;\n  where?: InputMaybe<Current_Fungible_Asset_Balances_Bool_Exp>;\n};\n\n\nexport type Query_RootCurrent_Fungible_Asset_Balances_By_PkArgs = {\n  storage_id: Scalars['String']['input'];\n};\n\n\nexport type Query_RootCurrent_ObjectsArgs = {\n  distinct_on?: InputMaybe<Array<Current_Objects_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Current_Objects_Order_By>>;\n  where?: InputMaybe<Current_Objects_Bool_Exp>;\n};\n\n\nexport type Query_RootCurrent_Objects_By_PkArgs = {\n  object_address: Scalars['String']['input'];\n};\n\n\nexport type Query_RootCurrent_Staking_Pool_VoterArgs = {\n  distinct_on?: InputMaybe<Array<Current_Staking_Pool_Voter_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Current_Staking_Pool_Voter_Order_By>>;\n  where?: InputMaybe<Current_Staking_Pool_Voter_Bool_Exp>;\n};\n\n\nexport type Query_RootCurrent_Staking_Pool_Voter_By_PkArgs = {\n  staking_pool_address: Scalars['String']['input'];\n};\n\n\nexport type Query_RootCurrent_Table_ItemsArgs = {\n  distinct_on?: InputMaybe<Array<Current_Table_Items_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Current_Table_Items_Order_By>>;\n  where?: InputMaybe<Current_Table_Items_Bool_Exp>;\n};\n\n\nexport type Query_RootCurrent_Table_Items_By_PkArgs = {\n  key_hash: Scalars['String']['input'];\n  table_handle: Scalars['String']['input'];\n};\n\n\nexport type Query_RootCurrent_Token_DatasArgs = {\n  distinct_on?: InputMaybe<Array<Current_Token_Datas_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Current_Token_Datas_Order_By>>;\n  where?: InputMaybe<Current_Token_Datas_Bool_Exp>;\n};\n\n\nexport type Query_RootCurrent_Token_Datas_By_PkArgs = {\n  token_data_id_hash: Scalars['String']['input'];\n};\n\n\nexport type Query_RootCurrent_Token_Datas_V2Args = {\n  distinct_on?: InputMaybe<Array<Current_Token_Datas_V2_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Current_Token_Datas_V2_Order_By>>;\n  where?: InputMaybe<Current_Token_Datas_V2_Bool_Exp>;\n};\n\n\nexport type Query_RootCurrent_Token_Datas_V2_By_PkArgs = {\n  token_data_id: Scalars['String']['input'];\n};\n\n\nexport type Query_RootCurrent_Token_OwnershipsArgs = {\n  distinct_on?: InputMaybe<Array<Current_Token_Ownerships_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Current_Token_Ownerships_Order_By>>;\n  where?: InputMaybe<Current_Token_Ownerships_Bool_Exp>;\n};\n\n\nexport type Query_RootCurrent_Token_Ownerships_AggregateArgs = {\n  distinct_on?: InputMaybe<Array<Current_Token_Ownerships_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Current_Token_Ownerships_Order_By>>;\n  where?: InputMaybe<Current_Token_Ownerships_Bool_Exp>;\n};\n\n\nexport type Query_RootCurrent_Token_Ownerships_By_PkArgs = {\n  owner_address: Scalars['String']['input'];\n  property_version: Scalars['numeric']['input'];\n  token_data_id_hash: Scalars['String']['input'];\n};\n\n\nexport type Query_RootCurrent_Token_Ownerships_V2Args = {\n  distinct_on?: InputMaybe<Array<Current_Token_Ownerships_V2_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Current_Token_Ownerships_V2_Order_By>>;\n  where?: InputMaybe<Current_Token_Ownerships_V2_Bool_Exp>;\n};\n\n\nexport type Query_RootCurrent_Token_Ownerships_V2_AggregateArgs = {\n  distinct_on?: InputMaybe<Array<Current_Token_Ownerships_V2_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Current_Token_Ownerships_V2_Order_By>>;\n  where?: InputMaybe<Current_Token_Ownerships_V2_Bool_Exp>;\n};\n\n\nexport type Query_RootCurrent_Token_Ownerships_V2_By_PkArgs = {\n  owner_address: Scalars['String']['input'];\n  property_version_v1: Scalars['numeric']['input'];\n  storage_id: Scalars['String']['input'];\n  token_data_id: Scalars['String']['input'];\n};\n\n\nexport type Query_RootCurrent_Token_Pending_ClaimsArgs = {\n  distinct_on?: InputMaybe<Array<Current_Token_Pending_Claims_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Current_Token_Pending_Claims_Order_By>>;\n  where?: InputMaybe<Current_Token_Pending_Claims_Bool_Exp>;\n};\n\n\nexport type Query_RootCurrent_Token_Pending_Claims_By_PkArgs = {\n  from_address: Scalars['String']['input'];\n  property_version: Scalars['numeric']['input'];\n  to_address: Scalars['String']['input'];\n  token_data_id_hash: Scalars['String']['input'];\n};\n\n\nexport type Query_RootDelegated_Staking_ActivitiesArgs = {\n  distinct_on?: InputMaybe<Array<Delegated_Staking_Activities_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Delegated_Staking_Activities_Order_By>>;\n  where?: InputMaybe<Delegated_Staking_Activities_Bool_Exp>;\n};\n\n\nexport type Query_RootDelegated_Staking_Activities_By_PkArgs = {\n  event_index: Scalars['bigint']['input'];\n  transaction_version: Scalars['bigint']['input'];\n};\n\n\nexport type Query_RootDelegated_Staking_PoolsArgs = {\n  distinct_on?: InputMaybe<Array<Delegated_Staking_Pools_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Delegated_Staking_Pools_Order_By>>;\n  where?: InputMaybe<Delegated_Staking_Pools_Bool_Exp>;\n};\n\n\nexport type Query_RootDelegated_Staking_Pools_By_PkArgs = {\n  staking_pool_address: Scalars['String']['input'];\n};\n\n\nexport type Query_RootDelegator_Distinct_PoolArgs = {\n  distinct_on?: InputMaybe<Array<Delegator_Distinct_Pool_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Delegator_Distinct_Pool_Order_By>>;\n  where?: InputMaybe<Delegator_Distinct_Pool_Bool_Exp>;\n};\n\n\nexport type Query_RootDelegator_Distinct_Pool_AggregateArgs = {\n  distinct_on?: InputMaybe<Array<Delegator_Distinct_Pool_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Delegator_Distinct_Pool_Order_By>>;\n  where?: InputMaybe<Delegator_Distinct_Pool_Bool_Exp>;\n};\n\n\nexport type Query_RootEventsArgs = {\n  distinct_on?: InputMaybe<Array<Events_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Events_Order_By>>;\n  where?: InputMaybe<Events_Bool_Exp>;\n};\n\n\nexport type Query_RootEvents_By_PkArgs = {\n  event_index: Scalars['bigint']['input'];\n  transaction_version: Scalars['bigint']['input'];\n};\n\n\nexport type Query_RootFungible_Asset_ActivitiesArgs = {\n  distinct_on?: InputMaybe<Array<Fungible_Asset_Activities_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Fungible_Asset_Activities_Order_By>>;\n  where?: InputMaybe<Fungible_Asset_Activities_Bool_Exp>;\n};\n\n\nexport type Query_RootFungible_Asset_Activities_By_PkArgs = {\n  event_index: Scalars['bigint']['input'];\n  transaction_version: Scalars['bigint']['input'];\n};\n\n\nexport type Query_RootFungible_Asset_MetadataArgs = {\n  distinct_on?: InputMaybe<Array<Fungible_Asset_Metadata_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Fungible_Asset_Metadata_Order_By>>;\n  where?: InputMaybe<Fungible_Asset_Metadata_Bool_Exp>;\n};\n\n\nexport type Query_RootFungible_Asset_Metadata_By_PkArgs = {\n  asset_type: Scalars['String']['input'];\n};\n\n\nexport type Query_RootIndexer_StatusArgs = {\n  distinct_on?: InputMaybe<Array<Indexer_Status_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Indexer_Status_Order_By>>;\n  where?: InputMaybe<Indexer_Status_Bool_Exp>;\n};\n\n\nexport type Query_RootIndexer_Status_By_PkArgs = {\n  db: Scalars['String']['input'];\n};\n\n\nexport type Query_RootLedger_InfosArgs = {\n  distinct_on?: InputMaybe<Array<Ledger_Infos_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Ledger_Infos_Order_By>>;\n  where?: InputMaybe<Ledger_Infos_Bool_Exp>;\n};\n\n\nexport type Query_RootLedger_Infos_By_PkArgs = {\n  chain_id: Scalars['bigint']['input'];\n};\n\n\nexport type Query_RootMove_ResourcesArgs = {\n  distinct_on?: InputMaybe<Array<Move_Resources_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Move_Resources_Order_By>>;\n  where?: InputMaybe<Move_Resources_Bool_Exp>;\n};\n\n\nexport type Query_RootMove_Resources_AggregateArgs = {\n  distinct_on?: InputMaybe<Array<Move_Resources_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Move_Resources_Order_By>>;\n  where?: InputMaybe<Move_Resources_Bool_Exp>;\n};\n\n\nexport type Query_RootNft_Marketplace_V2_Current_Nft_Marketplace_AuctionsArgs = {\n  distinct_on?: InputMaybe<Array<Nft_Marketplace_V2_Current_Nft_Marketplace_Auctions_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Nft_Marketplace_V2_Current_Nft_Marketplace_Auctions_Order_By>>;\n  where?: InputMaybe<Nft_Marketplace_V2_Current_Nft_Marketplace_Auctions_Bool_Exp>;\n};\n\n\nexport type Query_RootNft_Marketplace_V2_Current_Nft_Marketplace_Auctions_By_PkArgs = {\n  listing_id: Scalars['String']['input'];\n  token_data_id: Scalars['String']['input'];\n};\n\n\nexport type Query_RootNft_Marketplace_V2_Current_Nft_Marketplace_Collection_OffersArgs = {\n  distinct_on?: InputMaybe<Array<Nft_Marketplace_V2_Current_Nft_Marketplace_Collection_Offers_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Nft_Marketplace_V2_Current_Nft_Marketplace_Collection_Offers_Order_By>>;\n  where?: InputMaybe<Nft_Marketplace_V2_Current_Nft_Marketplace_Collection_Offers_Bool_Exp>;\n};\n\n\nexport type Query_RootNft_Marketplace_V2_Current_Nft_Marketplace_Collection_Offers_By_PkArgs = {\n  collection_id: Scalars['String']['input'];\n  collection_offer_id: Scalars['String']['input'];\n};\n\n\nexport type Query_RootNft_Marketplace_V2_Current_Nft_Marketplace_ListingsArgs = {\n  distinct_on?: InputMaybe<Array<Nft_Marketplace_V2_Current_Nft_Marketplace_Listings_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Nft_Marketplace_V2_Current_Nft_Marketplace_Listings_Order_By>>;\n  where?: InputMaybe<Nft_Marketplace_V2_Current_Nft_Marketplace_Listings_Bool_Exp>;\n};\n\n\nexport type Query_RootNft_Marketplace_V2_Current_Nft_Marketplace_Listings_By_PkArgs = {\n  listing_id: Scalars['String']['input'];\n  token_data_id: Scalars['String']['input'];\n};\n\n\nexport type Query_RootNft_Marketplace_V2_Current_Nft_Marketplace_Token_OffersArgs = {\n  distinct_on?: InputMaybe<Array<Nft_Marketplace_V2_Current_Nft_Marketplace_Token_Offers_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Nft_Marketplace_V2_Current_Nft_Marketplace_Token_Offers_Order_By>>;\n  where?: InputMaybe<Nft_Marketplace_V2_Current_Nft_Marketplace_Token_Offers_Bool_Exp>;\n};\n\n\nexport type Query_RootNft_Marketplace_V2_Current_Nft_Marketplace_Token_Offers_By_PkArgs = {\n  offer_id: Scalars['String']['input'];\n  token_data_id: Scalars['String']['input'];\n};\n\n\nexport type Query_RootNft_Marketplace_V2_Nft_Marketplace_ActivitiesArgs = {\n  distinct_on?: InputMaybe<Array<Nft_Marketplace_V2_Nft_Marketplace_Activities_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Nft_Marketplace_V2_Nft_Marketplace_Activities_Order_By>>;\n  where?: InputMaybe<Nft_Marketplace_V2_Nft_Marketplace_Activities_Bool_Exp>;\n};\n\n\nexport type Query_RootNft_Marketplace_V2_Nft_Marketplace_Activities_By_PkArgs = {\n  event_index: Scalars['bigint']['input'];\n  transaction_version: Scalars['bigint']['input'];\n};\n\n\nexport type Query_RootNft_Metadata_Crawler_Parsed_Asset_UrisArgs = {\n  distinct_on?: InputMaybe<Array<Nft_Metadata_Crawler_Parsed_Asset_Uris_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Nft_Metadata_Crawler_Parsed_Asset_Uris_Order_By>>;\n  where?: InputMaybe<Nft_Metadata_Crawler_Parsed_Asset_Uris_Bool_Exp>;\n};\n\n\nexport type Query_RootNft_Metadata_Crawler_Parsed_Asset_Uris_By_PkArgs = {\n  asset_uri: Scalars['String']['input'];\n};\n\n\nexport type Query_RootNum_Active_Delegator_Per_PoolArgs = {\n  distinct_on?: InputMaybe<Array<Num_Active_Delegator_Per_Pool_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Num_Active_Delegator_Per_Pool_Order_By>>;\n  where?: InputMaybe<Num_Active_Delegator_Per_Pool_Bool_Exp>;\n};\n\n\nexport type Query_RootProcessor_StatusArgs = {\n  distinct_on?: InputMaybe<Array<Processor_Status_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Processor_Status_Order_By>>;\n  where?: InputMaybe<Processor_Status_Bool_Exp>;\n};\n\n\nexport type Query_RootProcessor_Status_By_PkArgs = {\n  processor: Scalars['String']['input'];\n};\n\n\nexport type Query_RootProposal_VotesArgs = {\n  distinct_on?: InputMaybe<Array<Proposal_Votes_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Proposal_Votes_Order_By>>;\n  where?: InputMaybe<Proposal_Votes_Bool_Exp>;\n};\n\n\nexport type Query_RootProposal_Votes_AggregateArgs = {\n  distinct_on?: InputMaybe<Array<Proposal_Votes_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Proposal_Votes_Order_By>>;\n  where?: InputMaybe<Proposal_Votes_Bool_Exp>;\n};\n\n\nexport type Query_RootProposal_Votes_By_PkArgs = {\n  proposal_id: Scalars['bigint']['input'];\n  transaction_version: Scalars['bigint']['input'];\n  voter_address: Scalars['String']['input'];\n};\n\n\nexport type Query_RootTable_ItemsArgs = {\n  distinct_on?: InputMaybe<Array<Table_Items_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Table_Items_Order_By>>;\n  where?: InputMaybe<Table_Items_Bool_Exp>;\n};\n\n\nexport type Query_RootTable_Items_By_PkArgs = {\n  transaction_version: Scalars['bigint']['input'];\n  write_set_change_index: Scalars['bigint']['input'];\n};\n\n\nexport type Query_RootTable_MetadatasArgs = {\n  distinct_on?: InputMaybe<Array<Table_Metadatas_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Table_Metadatas_Order_By>>;\n  where?: InputMaybe<Table_Metadatas_Bool_Exp>;\n};\n\n\nexport type Query_RootTable_Metadatas_By_PkArgs = {\n  handle: Scalars['String']['input'];\n};\n\n\nexport type Query_RootToken_ActivitiesArgs = {\n  distinct_on?: InputMaybe<Array<Token_Activities_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Token_Activities_Order_By>>;\n  where?: InputMaybe<Token_Activities_Bool_Exp>;\n};\n\n\nexport type Query_RootToken_Activities_AggregateArgs = {\n  distinct_on?: InputMaybe<Array<Token_Activities_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Token_Activities_Order_By>>;\n  where?: InputMaybe<Token_Activities_Bool_Exp>;\n};\n\n\nexport type Query_RootToken_Activities_By_PkArgs = {\n  event_account_address: Scalars['String']['input'];\n  event_creation_number: Scalars['bigint']['input'];\n  event_sequence_number: Scalars['bigint']['input'];\n  transaction_version: Scalars['bigint']['input'];\n};\n\n\nexport type Query_RootToken_Activities_V2Args = {\n  distinct_on?: InputMaybe<Array<Token_Activities_V2_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Token_Activities_V2_Order_By>>;\n  where?: InputMaybe<Token_Activities_V2_Bool_Exp>;\n};\n\n\nexport type Query_RootToken_Activities_V2_AggregateArgs = {\n  distinct_on?: InputMaybe<Array<Token_Activities_V2_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Token_Activities_V2_Order_By>>;\n  where?: InputMaybe<Token_Activities_V2_Bool_Exp>;\n};\n\n\nexport type Query_RootToken_Activities_V2_By_PkArgs = {\n  event_index: Scalars['bigint']['input'];\n  transaction_version: Scalars['bigint']['input'];\n};\n\n\nexport type Query_RootToken_DatasArgs = {\n  distinct_on?: InputMaybe<Array<Token_Datas_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Token_Datas_Order_By>>;\n  where?: InputMaybe<Token_Datas_Bool_Exp>;\n};\n\n\nexport type Query_RootToken_Datas_By_PkArgs = {\n  token_data_id_hash: Scalars['String']['input'];\n  transaction_version: Scalars['bigint']['input'];\n};\n\n\nexport type Query_RootToken_OwnershipsArgs = {\n  distinct_on?: InputMaybe<Array<Token_Ownerships_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Token_Ownerships_Order_By>>;\n  where?: InputMaybe<Token_Ownerships_Bool_Exp>;\n};\n\n\nexport type Query_RootToken_Ownerships_By_PkArgs = {\n  property_version: Scalars['numeric']['input'];\n  table_handle: Scalars['String']['input'];\n  token_data_id_hash: Scalars['String']['input'];\n  transaction_version: Scalars['bigint']['input'];\n};\n\n\nexport type Query_RootTokensArgs = {\n  distinct_on?: InputMaybe<Array<Tokens_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Tokens_Order_By>>;\n  where?: InputMaybe<Tokens_Bool_Exp>;\n};\n\n\nexport type Query_RootTokens_By_PkArgs = {\n  property_version: Scalars['numeric']['input'];\n  token_data_id_hash: Scalars['String']['input'];\n  transaction_version: Scalars['bigint']['input'];\n};\n\n\nexport type Query_RootUser_TransactionsArgs = {\n  distinct_on?: InputMaybe<Array<User_Transactions_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<User_Transactions_Order_By>>;\n  where?: InputMaybe<User_Transactions_Bool_Exp>;\n};\n\n\nexport type Query_RootUser_Transactions_By_PkArgs = {\n  version: Scalars['bigint']['input'];\n};\n\nexport type Subscription_Root = {\n  __typename?: 'subscription_root';\n  /** fetch data from the table: \"account_transactions\" */\n  account_transactions: Array<Account_Transactions>;\n  /** fetch aggregated fields from the table: \"account_transactions\" */\n  account_transactions_aggregate: Account_Transactions_Aggregate;\n  /** fetch data from the table: \"account_transactions\" using primary key columns */\n  account_transactions_by_pk?: Maybe<Account_Transactions>;\n  /** fetch data from the table in a streaming manner: \"account_transactions\" */\n  account_transactions_stream: Array<Account_Transactions>;\n  /** fetch data from the table: \"address_events_summary\" */\n  address_events_summary: Array<Address_Events_Summary>;\n  /** fetch data from the table in a streaming manner: \"address_events_summary\" */\n  address_events_summary_stream: Array<Address_Events_Summary>;\n  /** fetch data from the table: \"address_version_from_events\" */\n  address_version_from_events: Array<Address_Version_From_Events>;\n  /** fetch aggregated fields from the table: \"address_version_from_events\" */\n  address_version_from_events_aggregate: Address_Version_From_Events_Aggregate;\n  /** fetch data from the table in a streaming manner: \"address_version_from_events\" */\n  address_version_from_events_stream: Array<Address_Version_From_Events>;\n  /** fetch data from the table: \"address_version_from_move_resources\" */\n  address_version_from_move_resources: Array<Address_Version_From_Move_Resources>;\n  /** fetch aggregated fields from the table: \"address_version_from_move_resources\" */\n  address_version_from_move_resources_aggregate: Address_Version_From_Move_Resources_Aggregate;\n  /** fetch data from the table in a streaming manner: \"address_version_from_move_resources\" */\n  address_version_from_move_resources_stream: Array<Address_Version_From_Move_Resources>;\n  /** fetch data from the table: \"block_metadata_transactions\" */\n  block_metadata_transactions: Array<Block_Metadata_Transactions>;\n  /** fetch data from the table: \"block_metadata_transactions\" using primary key columns */\n  block_metadata_transactions_by_pk?: Maybe<Block_Metadata_Transactions>;\n  /** fetch data from the table in a streaming manner: \"block_metadata_transactions\" */\n  block_metadata_transactions_stream: Array<Block_Metadata_Transactions>;\n  /** An array relationship */\n  coin_activities: Array<Coin_Activities>;\n  /** An aggregate relationship */\n  coin_activities_aggregate: Coin_Activities_Aggregate;\n  /** fetch data from the table: \"coin_activities\" using primary key columns */\n  coin_activities_by_pk?: Maybe<Coin_Activities>;\n  /** fetch data from the table in a streaming manner: \"coin_activities\" */\n  coin_activities_stream: Array<Coin_Activities>;\n  /** fetch data from the table: \"coin_balances\" */\n  coin_balances: Array<Coin_Balances>;\n  /** fetch data from the table: \"coin_balances\" using primary key columns */\n  coin_balances_by_pk?: Maybe<Coin_Balances>;\n  /** fetch data from the table in a streaming manner: \"coin_balances\" */\n  coin_balances_stream: Array<Coin_Balances>;\n  /** fetch data from the table: \"coin_infos\" */\n  coin_infos: Array<Coin_Infos>;\n  /** fetch data from the table: \"coin_infos\" using primary key columns */\n  coin_infos_by_pk?: Maybe<Coin_Infos>;\n  /** fetch data from the table in a streaming manner: \"coin_infos\" */\n  coin_infos_stream: Array<Coin_Infos>;\n  /** fetch data from the table: \"coin_supply\" */\n  coin_supply: Array<Coin_Supply>;\n  /** fetch data from the table: \"coin_supply\" using primary key columns */\n  coin_supply_by_pk?: Maybe<Coin_Supply>;\n  /** fetch data from the table in a streaming manner: \"coin_supply\" */\n  coin_supply_stream: Array<Coin_Supply>;\n  /** fetch data from the table: \"collection_datas\" */\n  collection_datas: Array<Collection_Datas>;\n  /** fetch data from the table: \"collection_datas\" using primary key columns */\n  collection_datas_by_pk?: Maybe<Collection_Datas>;\n  /** fetch data from the table in a streaming manner: \"collection_datas\" */\n  collection_datas_stream: Array<Collection_Datas>;\n  /** fetch data from the table: \"current_ans_lookup\" */\n  current_ans_lookup: Array<Current_Ans_Lookup>;\n  /** fetch data from the table: \"current_ans_lookup\" using primary key columns */\n  current_ans_lookup_by_pk?: Maybe<Current_Ans_Lookup>;\n  /** fetch data from the table in a streaming manner: \"current_ans_lookup\" */\n  current_ans_lookup_stream: Array<Current_Ans_Lookup>;\n  /** fetch data from the table: \"current_ans_lookup_v2\" */\n  current_ans_lookup_v2: Array<Current_Ans_Lookup_V2>;\n  /** fetch data from the table: \"current_ans_lookup_v2\" using primary key columns */\n  current_ans_lookup_v2_by_pk?: Maybe<Current_Ans_Lookup_V2>;\n  /** fetch data from the table in a streaming manner: \"current_ans_lookup_v2\" */\n  current_ans_lookup_v2_stream: Array<Current_Ans_Lookup_V2>;\n  /** fetch data from the table: \"current_aptos_names\" */\n  current_aptos_names: Array<Current_Aptos_Names>;\n  /** fetch aggregated fields from the table: \"current_aptos_names\" */\n  current_aptos_names_aggregate: Current_Aptos_Names_Aggregate;\n  /** fetch data from the table in a streaming manner: \"current_aptos_names\" */\n  current_aptos_names_stream: Array<Current_Aptos_Names>;\n  /** fetch data from the table: \"current_coin_balances\" */\n  current_coin_balances: Array<Current_Coin_Balances>;\n  /** fetch data from the table: \"current_coin_balances\" using primary key columns */\n  current_coin_balances_by_pk?: Maybe<Current_Coin_Balances>;\n  /** fetch data from the table in a streaming manner: \"current_coin_balances\" */\n  current_coin_balances_stream: Array<Current_Coin_Balances>;\n  /** fetch data from the table: \"current_collection_datas\" */\n  current_collection_datas: Array<Current_Collection_Datas>;\n  /** fetch data from the table: \"current_collection_datas\" using primary key columns */\n  current_collection_datas_by_pk?: Maybe<Current_Collection_Datas>;\n  /** fetch data from the table in a streaming manner: \"current_collection_datas\" */\n  current_collection_datas_stream: Array<Current_Collection_Datas>;\n  /** fetch data from the table: \"current_collection_ownership_v2_view\" */\n  current_collection_ownership_v2_view: Array<Current_Collection_Ownership_V2_View>;\n  /** fetch aggregated fields from the table: \"current_collection_ownership_v2_view\" */\n  current_collection_ownership_v2_view_aggregate: Current_Collection_Ownership_V2_View_Aggregate;\n  /** fetch data from the table in a streaming manner: \"current_collection_ownership_v2_view\" */\n  current_collection_ownership_v2_view_stream: Array<Current_Collection_Ownership_V2_View>;\n  /** fetch data from the table: \"current_collections_v2\" */\n  current_collections_v2: Array<Current_Collections_V2>;\n  /** fetch data from the table: \"current_collections_v2\" using primary key columns */\n  current_collections_v2_by_pk?: Maybe<Current_Collections_V2>;\n  /** fetch data from the table in a streaming manner: \"current_collections_v2\" */\n  current_collections_v2_stream: Array<Current_Collections_V2>;\n  /** fetch data from the table: \"current_delegated_staking_pool_balances\" */\n  current_delegated_staking_pool_balances: Array<Current_Delegated_Staking_Pool_Balances>;\n  /** fetch data from the table: \"current_delegated_staking_pool_balances\" using primary key columns */\n  current_delegated_staking_pool_balances_by_pk?: Maybe<Current_Delegated_Staking_Pool_Balances>;\n  /** fetch data from the table in a streaming manner: \"current_delegated_staking_pool_balances\" */\n  current_delegated_staking_pool_balances_stream: Array<Current_Delegated_Staking_Pool_Balances>;\n  /** fetch data from the table: \"current_delegated_voter\" */\n  current_delegated_voter: Array<Current_Delegated_Voter>;\n  /** fetch data from the table: \"current_delegated_voter\" using primary key columns */\n  current_delegated_voter_by_pk?: Maybe<Current_Delegated_Voter>;\n  /** fetch data from the table in a streaming manner: \"current_delegated_voter\" */\n  current_delegated_voter_stream: Array<Current_Delegated_Voter>;\n  /** fetch data from the table: \"current_delegator_balances\" */\n  current_delegator_balances: Array<Current_Delegator_Balances>;\n  /** fetch data from the table: \"current_delegator_balances\" using primary key columns */\n  current_delegator_balances_by_pk?: Maybe<Current_Delegator_Balances>;\n  /** fetch data from the table in a streaming manner: \"current_delegator_balances\" */\n  current_delegator_balances_stream: Array<Current_Delegator_Balances>;\n  /** fetch data from the table: \"current_fungible_asset_balances\" */\n  current_fungible_asset_balances: Array<Current_Fungible_Asset_Balances>;\n  /** fetch aggregated fields from the table: \"current_fungible_asset_balances\" */\n  current_fungible_asset_balances_aggregate: Current_Fungible_Asset_Balances_Aggregate;\n  /** fetch data from the table: \"current_fungible_asset_balances\" using primary key columns */\n  current_fungible_asset_balances_by_pk?: Maybe<Current_Fungible_Asset_Balances>;\n  /** fetch data from the table in a streaming manner: \"current_fungible_asset_balances\" */\n  current_fungible_asset_balances_stream: Array<Current_Fungible_Asset_Balances>;\n  /** fetch data from the table: \"current_objects\" */\n  current_objects: Array<Current_Objects>;\n  /** fetch data from the table: \"current_objects\" using primary key columns */\n  current_objects_by_pk?: Maybe<Current_Objects>;\n  /** fetch data from the table in a streaming manner: \"current_objects\" */\n  current_objects_stream: Array<Current_Objects>;\n  /** fetch data from the table: \"current_staking_pool_voter\" */\n  current_staking_pool_voter: Array<Current_Staking_Pool_Voter>;\n  /** fetch data from the table: \"current_staking_pool_voter\" using primary key columns */\n  current_staking_pool_voter_by_pk?: Maybe<Current_Staking_Pool_Voter>;\n  /** fetch data from the table in a streaming manner: \"current_staking_pool_voter\" */\n  current_staking_pool_voter_stream: Array<Current_Staking_Pool_Voter>;\n  /** fetch data from the table: \"current_table_items\" */\n  current_table_items: Array<Current_Table_Items>;\n  /** fetch data from the table: \"current_table_items\" using primary key columns */\n  current_table_items_by_pk?: Maybe<Current_Table_Items>;\n  /** fetch data from the table in a streaming manner: \"current_table_items\" */\n  current_table_items_stream: Array<Current_Table_Items>;\n  /** fetch data from the table: \"current_token_datas\" */\n  current_token_datas: Array<Current_Token_Datas>;\n  /** fetch data from the table: \"current_token_datas\" using primary key columns */\n  current_token_datas_by_pk?: Maybe<Current_Token_Datas>;\n  /** fetch data from the table in a streaming manner: \"current_token_datas\" */\n  current_token_datas_stream: Array<Current_Token_Datas>;\n  /** fetch data from the table: \"current_token_datas_v2\" */\n  current_token_datas_v2: Array<Current_Token_Datas_V2>;\n  /** fetch data from the table: \"current_token_datas_v2\" using primary key columns */\n  current_token_datas_v2_by_pk?: Maybe<Current_Token_Datas_V2>;\n  /** fetch data from the table in a streaming manner: \"current_token_datas_v2\" */\n  current_token_datas_v2_stream: Array<Current_Token_Datas_V2>;\n  /** fetch data from the table: \"current_token_ownerships\" */\n  current_token_ownerships: Array<Current_Token_Ownerships>;\n  /** fetch aggregated fields from the table: \"current_token_ownerships\" */\n  current_token_ownerships_aggregate: Current_Token_Ownerships_Aggregate;\n  /** fetch data from the table: \"current_token_ownerships\" using primary key columns */\n  current_token_ownerships_by_pk?: Maybe<Current_Token_Ownerships>;\n  /** fetch data from the table in a streaming manner: \"current_token_ownerships\" */\n  current_token_ownerships_stream: Array<Current_Token_Ownerships>;\n  /** fetch data from the table: \"current_token_ownerships_v2\" */\n  current_token_ownerships_v2: Array<Current_Token_Ownerships_V2>;\n  /** fetch aggregated fields from the table: \"current_token_ownerships_v2\" */\n  current_token_ownerships_v2_aggregate: Current_Token_Ownerships_V2_Aggregate;\n  /** fetch data from the table: \"current_token_ownerships_v2\" using primary key columns */\n  current_token_ownerships_v2_by_pk?: Maybe<Current_Token_Ownerships_V2>;\n  /** fetch data from the table in a streaming manner: \"current_token_ownerships_v2\" */\n  current_token_ownerships_v2_stream: Array<Current_Token_Ownerships_V2>;\n  /** fetch data from the table: \"current_token_pending_claims\" */\n  current_token_pending_claims: Array<Current_Token_Pending_Claims>;\n  /** fetch data from the table: \"current_token_pending_claims\" using primary key columns */\n  current_token_pending_claims_by_pk?: Maybe<Current_Token_Pending_Claims>;\n  /** fetch data from the table in a streaming manner: \"current_token_pending_claims\" */\n  current_token_pending_claims_stream: Array<Current_Token_Pending_Claims>;\n  /** An array relationship */\n  delegated_staking_activities: Array<Delegated_Staking_Activities>;\n  /** fetch data from the table: \"delegated_staking_activities\" using primary key columns */\n  delegated_staking_activities_by_pk?: Maybe<Delegated_Staking_Activities>;\n  /** fetch data from the table in a streaming manner: \"delegated_staking_activities\" */\n  delegated_staking_activities_stream: Array<Delegated_Staking_Activities>;\n  /** fetch data from the table: \"delegated_staking_pools\" */\n  delegated_staking_pools: Array<Delegated_Staking_Pools>;\n  /** fetch data from the table: \"delegated_staking_pools\" using primary key columns */\n  delegated_staking_pools_by_pk?: Maybe<Delegated_Staking_Pools>;\n  /** fetch data from the table in a streaming manner: \"delegated_staking_pools\" */\n  delegated_staking_pools_stream: Array<Delegated_Staking_Pools>;\n  /** fetch data from the table: \"delegator_distinct_pool\" */\n  delegator_distinct_pool: Array<Delegator_Distinct_Pool>;\n  /** fetch aggregated fields from the table: \"delegator_distinct_pool\" */\n  delegator_distinct_pool_aggregate: Delegator_Distinct_Pool_Aggregate;\n  /** fetch data from the table in a streaming manner: \"delegator_distinct_pool\" */\n  delegator_distinct_pool_stream: Array<Delegator_Distinct_Pool>;\n  /** fetch data from the table: \"events\" */\n  events: Array<Events>;\n  /** fetch data from the table: \"events\" using primary key columns */\n  events_by_pk?: Maybe<Events>;\n  /** fetch data from the table in a streaming manner: \"events\" */\n  events_stream: Array<Events>;\n  /** An array relationship */\n  fungible_asset_activities: Array<Fungible_Asset_Activities>;\n  /** fetch data from the table: \"fungible_asset_activities\" using primary key columns */\n  fungible_asset_activities_by_pk?: Maybe<Fungible_Asset_Activities>;\n  /** fetch data from the table in a streaming manner: \"fungible_asset_activities\" */\n  fungible_asset_activities_stream: Array<Fungible_Asset_Activities>;\n  /** fetch data from the table: \"fungible_asset_metadata\" */\n  fungible_asset_metadata: Array<Fungible_Asset_Metadata>;\n  /** fetch data from the table: \"fungible_asset_metadata\" using primary key columns */\n  fungible_asset_metadata_by_pk?: Maybe<Fungible_Asset_Metadata>;\n  /** fetch data from the table in a streaming manner: \"fungible_asset_metadata\" */\n  fungible_asset_metadata_stream: Array<Fungible_Asset_Metadata>;\n  /** fetch data from the table: \"indexer_status\" */\n  indexer_status: Array<Indexer_Status>;\n  /** fetch data from the table: \"indexer_status\" using primary key columns */\n  indexer_status_by_pk?: Maybe<Indexer_Status>;\n  /** fetch data from the table in a streaming manner: \"indexer_status\" */\n  indexer_status_stream: Array<Indexer_Status>;\n  /** fetch data from the table: \"ledger_infos\" */\n  ledger_infos: Array<Ledger_Infos>;\n  /** fetch data from the table: \"ledger_infos\" using primary key columns */\n  ledger_infos_by_pk?: Maybe<Ledger_Infos>;\n  /** fetch data from the table in a streaming manner: \"ledger_infos\" */\n  ledger_infos_stream: Array<Ledger_Infos>;\n  /** fetch data from the table: \"move_resources\" */\n  move_resources: Array<Move_Resources>;\n  /** fetch aggregated fields from the table: \"move_resources\" */\n  move_resources_aggregate: Move_Resources_Aggregate;\n  /** fetch data from the table in a streaming manner: \"move_resources\" */\n  move_resources_stream: Array<Move_Resources>;\n  /** fetch data from the table: \"nft_marketplace_v2.current_nft_marketplace_auctions\" */\n  nft_marketplace_v2_current_nft_marketplace_auctions: Array<Nft_Marketplace_V2_Current_Nft_Marketplace_Auctions>;\n  /** fetch data from the table: \"nft_marketplace_v2.current_nft_marketplace_auctions\" using primary key columns */\n  nft_marketplace_v2_current_nft_marketplace_auctions_by_pk?: Maybe<Nft_Marketplace_V2_Current_Nft_Marketplace_Auctions>;\n  /** fetch data from the table in a streaming manner: \"nft_marketplace_v2.current_nft_marketplace_auctions\" */\n  nft_marketplace_v2_current_nft_marketplace_auctions_stream: Array<Nft_Marketplace_V2_Current_Nft_Marketplace_Auctions>;\n  /** fetch data from the table: \"nft_marketplace_v2.current_nft_marketplace_collection_offers\" */\n  nft_marketplace_v2_current_nft_marketplace_collection_offers: Array<Nft_Marketplace_V2_Current_Nft_Marketplace_Collection_Offers>;\n  /** fetch data from the table: \"nft_marketplace_v2.current_nft_marketplace_collection_offers\" using primary key columns */\n  nft_marketplace_v2_current_nft_marketplace_collection_offers_by_pk?: Maybe<Nft_Marketplace_V2_Current_Nft_Marketplace_Collection_Offers>;\n  /** fetch data from the table in a streaming manner: \"nft_marketplace_v2.current_nft_marketplace_collection_offers\" */\n  nft_marketplace_v2_current_nft_marketplace_collection_offers_stream: Array<Nft_Marketplace_V2_Current_Nft_Marketplace_Collection_Offers>;\n  /** fetch data from the table: \"nft_marketplace_v2.current_nft_marketplace_listings\" */\n  nft_marketplace_v2_current_nft_marketplace_listings: Array<Nft_Marketplace_V2_Current_Nft_Marketplace_Listings>;\n  /** fetch data from the table: \"nft_marketplace_v2.current_nft_marketplace_listings\" using primary key columns */\n  nft_marketplace_v2_current_nft_marketplace_listings_by_pk?: Maybe<Nft_Marketplace_V2_Current_Nft_Marketplace_Listings>;\n  /** fetch data from the table in a streaming manner: \"nft_marketplace_v2.current_nft_marketplace_listings\" */\n  nft_marketplace_v2_current_nft_marketplace_listings_stream: Array<Nft_Marketplace_V2_Current_Nft_Marketplace_Listings>;\n  /** fetch data from the table: \"nft_marketplace_v2.current_nft_marketplace_token_offers\" */\n  nft_marketplace_v2_current_nft_marketplace_token_offers: Array<Nft_Marketplace_V2_Current_Nft_Marketplace_Token_Offers>;\n  /** fetch data from the table: \"nft_marketplace_v2.current_nft_marketplace_token_offers\" using primary key columns */\n  nft_marketplace_v2_current_nft_marketplace_token_offers_by_pk?: Maybe<Nft_Marketplace_V2_Current_Nft_Marketplace_Token_Offers>;\n  /** fetch data from the table in a streaming manner: \"nft_marketplace_v2.current_nft_marketplace_token_offers\" */\n  nft_marketplace_v2_current_nft_marketplace_token_offers_stream: Array<Nft_Marketplace_V2_Current_Nft_Marketplace_Token_Offers>;\n  /** fetch data from the table: \"nft_marketplace_v2.nft_marketplace_activities\" */\n  nft_marketplace_v2_nft_marketplace_activities: Array<Nft_Marketplace_V2_Nft_Marketplace_Activities>;\n  /** fetch data from the table: \"nft_marketplace_v2.nft_marketplace_activities\" using primary key columns */\n  nft_marketplace_v2_nft_marketplace_activities_by_pk?: Maybe<Nft_Marketplace_V2_Nft_Marketplace_Activities>;\n  /** fetch data from the table in a streaming manner: \"nft_marketplace_v2.nft_marketplace_activities\" */\n  nft_marketplace_v2_nft_marketplace_activities_stream: Array<Nft_Marketplace_V2_Nft_Marketplace_Activities>;\n  /** fetch data from the table: \"nft_metadata_crawler.parsed_asset_uris\" */\n  nft_metadata_crawler_parsed_asset_uris: Array<Nft_Metadata_Crawler_Parsed_Asset_Uris>;\n  /** fetch data from the table: \"nft_metadata_crawler.parsed_asset_uris\" using primary key columns */\n  nft_metadata_crawler_parsed_asset_uris_by_pk?: Maybe<Nft_Metadata_Crawler_Parsed_Asset_Uris>;\n  /** fetch data from the table in a streaming manner: \"nft_metadata_crawler.parsed_asset_uris\" */\n  nft_metadata_crawler_parsed_asset_uris_stream: Array<Nft_Metadata_Crawler_Parsed_Asset_Uris>;\n  /** fetch data from the table: \"num_active_delegator_per_pool\" */\n  num_active_delegator_per_pool: Array<Num_Active_Delegator_Per_Pool>;\n  /** fetch data from the table in a streaming manner: \"num_active_delegator_per_pool\" */\n  num_active_delegator_per_pool_stream: Array<Num_Active_Delegator_Per_Pool>;\n  /** fetch data from the table: \"processor_status\" */\n  processor_status: Array<Processor_Status>;\n  /** fetch data from the table: \"processor_status\" using primary key columns */\n  processor_status_by_pk?: Maybe<Processor_Status>;\n  /** fetch data from the table in a streaming manner: \"processor_status\" */\n  processor_status_stream: Array<Processor_Status>;\n  /** fetch data from the table: \"proposal_votes\" */\n  proposal_votes: Array<Proposal_Votes>;\n  /** fetch aggregated fields from the table: \"proposal_votes\" */\n  proposal_votes_aggregate: Proposal_Votes_Aggregate;\n  /** fetch data from the table: \"proposal_votes\" using primary key columns */\n  proposal_votes_by_pk?: Maybe<Proposal_Votes>;\n  /** fetch data from the table in a streaming manner: \"proposal_votes\" */\n  proposal_votes_stream: Array<Proposal_Votes>;\n  /** fetch data from the table: \"table_items\" */\n  table_items: Array<Table_Items>;\n  /** fetch data from the table: \"table_items\" using primary key columns */\n  table_items_by_pk?: Maybe<Table_Items>;\n  /** fetch data from the table in a streaming manner: \"table_items\" */\n  table_items_stream: Array<Table_Items>;\n  /** fetch data from the table: \"table_metadatas\" */\n  table_metadatas: Array<Table_Metadatas>;\n  /** fetch data from the table: \"table_metadatas\" using primary key columns */\n  table_metadatas_by_pk?: Maybe<Table_Metadatas>;\n  /** fetch data from the table in a streaming manner: \"table_metadatas\" */\n  table_metadatas_stream: Array<Table_Metadatas>;\n  /** An array relationship */\n  token_activities: Array<Token_Activities>;\n  /** An aggregate relationship */\n  token_activities_aggregate: Token_Activities_Aggregate;\n  /** fetch data from the table: \"token_activities\" using primary key columns */\n  token_activities_by_pk?: Maybe<Token_Activities>;\n  /** fetch data from the table in a streaming manner: \"token_activities\" */\n  token_activities_stream: Array<Token_Activities>;\n  /** An array relationship */\n  token_activities_v2: Array<Token_Activities_V2>;\n  /** An aggregate relationship */\n  token_activities_v2_aggregate: Token_Activities_V2_Aggregate;\n  /** fetch data from the table: \"token_activities_v2\" using primary key columns */\n  token_activities_v2_by_pk?: Maybe<Token_Activities_V2>;\n  /** fetch data from the table in a streaming manner: \"token_activities_v2\" */\n  token_activities_v2_stream: Array<Token_Activities_V2>;\n  /** fetch data from the table: \"token_datas\" */\n  token_datas: Array<Token_Datas>;\n  /** fetch data from the table: \"token_datas\" using primary key columns */\n  token_datas_by_pk?: Maybe<Token_Datas>;\n  /** fetch data from the table in a streaming manner: \"token_datas\" */\n  token_datas_stream: Array<Token_Datas>;\n  /** fetch data from the table: \"token_ownerships\" */\n  token_ownerships: Array<Token_Ownerships>;\n  /** fetch data from the table: \"token_ownerships\" using primary key columns */\n  token_ownerships_by_pk?: Maybe<Token_Ownerships>;\n  /** fetch data from the table in a streaming manner: \"token_ownerships\" */\n  token_ownerships_stream: Array<Token_Ownerships>;\n  /** fetch data from the table: \"tokens\" */\n  tokens: Array<Tokens>;\n  /** fetch data from the table: \"tokens\" using primary key columns */\n  tokens_by_pk?: Maybe<Tokens>;\n  /** fetch data from the table in a streaming manner: \"tokens\" */\n  tokens_stream: Array<Tokens>;\n  /** fetch data from the table: \"user_transactions\" */\n  user_transactions: Array<User_Transactions>;\n  /** fetch data from the table: \"user_transactions\" using primary key columns */\n  user_transactions_by_pk?: Maybe<User_Transactions>;\n  /** fetch data from the table in a streaming manner: \"user_transactions\" */\n  user_transactions_stream: Array<User_Transactions>;\n};\n\n\nexport type Subscription_RootAccount_TransactionsArgs = {\n  distinct_on?: InputMaybe<Array<Account_Transactions_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Account_Transactions_Order_By>>;\n  where?: InputMaybe<Account_Transactions_Bool_Exp>;\n};\n\n\nexport type Subscription_RootAccount_Transactions_AggregateArgs = {\n  distinct_on?: InputMaybe<Array<Account_Transactions_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Account_Transactions_Order_By>>;\n  where?: InputMaybe<Account_Transactions_Bool_Exp>;\n};\n\n\nexport type Subscription_RootAccount_Transactions_By_PkArgs = {\n  account_address: Scalars['String']['input'];\n  transaction_version: Scalars['bigint']['input'];\n};\n\n\nexport type Subscription_RootAccount_Transactions_StreamArgs = {\n  batch_size: Scalars['Int']['input'];\n  cursor: Array<InputMaybe<Account_Transactions_Stream_Cursor_Input>>;\n  where?: InputMaybe<Account_Transactions_Bool_Exp>;\n};\n\n\nexport type Subscription_RootAddress_Events_SummaryArgs = {\n  distinct_on?: InputMaybe<Array<Address_Events_Summary_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Address_Events_Summary_Order_By>>;\n  where?: InputMaybe<Address_Events_Summary_Bool_Exp>;\n};\n\n\nexport type Subscription_RootAddress_Events_Summary_StreamArgs = {\n  batch_size: Scalars['Int']['input'];\n  cursor: Array<InputMaybe<Address_Events_Summary_Stream_Cursor_Input>>;\n  where?: InputMaybe<Address_Events_Summary_Bool_Exp>;\n};\n\n\nexport type Subscription_RootAddress_Version_From_EventsArgs = {\n  distinct_on?: InputMaybe<Array<Address_Version_From_Events_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Address_Version_From_Events_Order_By>>;\n  where?: InputMaybe<Address_Version_From_Events_Bool_Exp>;\n};\n\n\nexport type Subscription_RootAddress_Version_From_Events_AggregateArgs = {\n  distinct_on?: InputMaybe<Array<Address_Version_From_Events_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Address_Version_From_Events_Order_By>>;\n  where?: InputMaybe<Address_Version_From_Events_Bool_Exp>;\n};\n\n\nexport type Subscription_RootAddress_Version_From_Events_StreamArgs = {\n  batch_size: Scalars['Int']['input'];\n  cursor: Array<InputMaybe<Address_Version_From_Events_Stream_Cursor_Input>>;\n  where?: InputMaybe<Address_Version_From_Events_Bool_Exp>;\n};\n\n\nexport type Subscription_RootAddress_Version_From_Move_ResourcesArgs = {\n  distinct_on?: InputMaybe<Array<Address_Version_From_Move_Resources_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Address_Version_From_Move_Resources_Order_By>>;\n  where?: InputMaybe<Address_Version_From_Move_Resources_Bool_Exp>;\n};\n\n\nexport type Subscription_RootAddress_Version_From_Move_Resources_AggregateArgs = {\n  distinct_on?: InputMaybe<Array<Address_Version_From_Move_Resources_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Address_Version_From_Move_Resources_Order_By>>;\n  where?: InputMaybe<Address_Version_From_Move_Resources_Bool_Exp>;\n};\n\n\nexport type Subscription_RootAddress_Version_From_Move_Resources_StreamArgs = {\n  batch_size: Scalars['Int']['input'];\n  cursor: Array<InputMaybe<Address_Version_From_Move_Resources_Stream_Cursor_Input>>;\n  where?: InputMaybe<Address_Version_From_Move_Resources_Bool_Exp>;\n};\n\n\nexport type Subscription_RootBlock_Metadata_TransactionsArgs = {\n  distinct_on?: InputMaybe<Array<Block_Metadata_Transactions_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Block_Metadata_Transactions_Order_By>>;\n  where?: InputMaybe<Block_Metadata_Transactions_Bool_Exp>;\n};\n\n\nexport type Subscription_RootBlock_Metadata_Transactions_By_PkArgs = {\n  version: Scalars['bigint']['input'];\n};\n\n\nexport type Subscription_RootBlock_Metadata_Transactions_StreamArgs = {\n  batch_size: Scalars['Int']['input'];\n  cursor: Array<InputMaybe<Block_Metadata_Transactions_Stream_Cursor_Input>>;\n  where?: InputMaybe<Block_Metadata_Transactions_Bool_Exp>;\n};\n\n\nexport type Subscription_RootCoin_ActivitiesArgs = {\n  distinct_on?: InputMaybe<Array<Coin_Activities_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Coin_Activities_Order_By>>;\n  where?: InputMaybe<Coin_Activities_Bool_Exp>;\n};\n\n\nexport type Subscription_RootCoin_Activities_AggregateArgs = {\n  distinct_on?: InputMaybe<Array<Coin_Activities_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Coin_Activities_Order_By>>;\n  where?: InputMaybe<Coin_Activities_Bool_Exp>;\n};\n\n\nexport type Subscription_RootCoin_Activities_By_PkArgs = {\n  event_account_address: Scalars['String']['input'];\n  event_creation_number: Scalars['bigint']['input'];\n  event_sequence_number: Scalars['bigint']['input'];\n  transaction_version: Scalars['bigint']['input'];\n};\n\n\nexport type Subscription_RootCoin_Activities_StreamArgs = {\n  batch_size: Scalars['Int']['input'];\n  cursor: Array<InputMaybe<Coin_Activities_Stream_Cursor_Input>>;\n  where?: InputMaybe<Coin_Activities_Bool_Exp>;\n};\n\n\nexport type Subscription_RootCoin_BalancesArgs = {\n  distinct_on?: InputMaybe<Array<Coin_Balances_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Coin_Balances_Order_By>>;\n  where?: InputMaybe<Coin_Balances_Bool_Exp>;\n};\n\n\nexport type Subscription_RootCoin_Balances_By_PkArgs = {\n  coin_type_hash: Scalars['String']['input'];\n  owner_address: Scalars['String']['input'];\n  transaction_version: Scalars['bigint']['input'];\n};\n\n\nexport type Subscription_RootCoin_Balances_StreamArgs = {\n  batch_size: Scalars['Int']['input'];\n  cursor: Array<InputMaybe<Coin_Balances_Stream_Cursor_Input>>;\n  where?: InputMaybe<Coin_Balances_Bool_Exp>;\n};\n\n\nexport type Subscription_RootCoin_InfosArgs = {\n  distinct_on?: InputMaybe<Array<Coin_Infos_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Coin_Infos_Order_By>>;\n  where?: InputMaybe<Coin_Infos_Bool_Exp>;\n};\n\n\nexport type Subscription_RootCoin_Infos_By_PkArgs = {\n  coin_type_hash: Scalars['String']['input'];\n};\n\n\nexport type Subscription_RootCoin_Infos_StreamArgs = {\n  batch_size: Scalars['Int']['input'];\n  cursor: Array<InputMaybe<Coin_Infos_Stream_Cursor_Input>>;\n  where?: InputMaybe<Coin_Infos_Bool_Exp>;\n};\n\n\nexport type Subscription_RootCoin_SupplyArgs = {\n  distinct_on?: InputMaybe<Array<Coin_Supply_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Coin_Supply_Order_By>>;\n  where?: InputMaybe<Coin_Supply_Bool_Exp>;\n};\n\n\nexport type Subscription_RootCoin_Supply_By_PkArgs = {\n  coin_type_hash: Scalars['String']['input'];\n  transaction_version: Scalars['bigint']['input'];\n};\n\n\nexport type Subscription_RootCoin_Supply_StreamArgs = {\n  batch_size: Scalars['Int']['input'];\n  cursor: Array<InputMaybe<Coin_Supply_Stream_Cursor_Input>>;\n  where?: InputMaybe<Coin_Supply_Bool_Exp>;\n};\n\n\nexport type Subscription_RootCollection_DatasArgs = {\n  distinct_on?: InputMaybe<Array<Collection_Datas_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Collection_Datas_Order_By>>;\n  where?: InputMaybe<Collection_Datas_Bool_Exp>;\n};\n\n\nexport type Subscription_RootCollection_Datas_By_PkArgs = {\n  collection_data_id_hash: Scalars['String']['input'];\n  transaction_version: Scalars['bigint']['input'];\n};\n\n\nexport type Subscription_RootCollection_Datas_StreamArgs = {\n  batch_size: Scalars['Int']['input'];\n  cursor: Array<InputMaybe<Collection_Datas_Stream_Cursor_Input>>;\n  where?: InputMaybe<Collection_Datas_Bool_Exp>;\n};\n\n\nexport type Subscription_RootCurrent_Ans_LookupArgs = {\n  distinct_on?: InputMaybe<Array<Current_Ans_Lookup_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Current_Ans_Lookup_Order_By>>;\n  where?: InputMaybe<Current_Ans_Lookup_Bool_Exp>;\n};\n\n\nexport type Subscription_RootCurrent_Ans_Lookup_By_PkArgs = {\n  domain: Scalars['String']['input'];\n  subdomain: Scalars['String']['input'];\n};\n\n\nexport type Subscription_RootCurrent_Ans_Lookup_StreamArgs = {\n  batch_size: Scalars['Int']['input'];\n  cursor: Array<InputMaybe<Current_Ans_Lookup_Stream_Cursor_Input>>;\n  where?: InputMaybe<Current_Ans_Lookup_Bool_Exp>;\n};\n\n\nexport type Subscription_RootCurrent_Ans_Lookup_V2Args = {\n  distinct_on?: InputMaybe<Array<Current_Ans_Lookup_V2_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Current_Ans_Lookup_V2_Order_By>>;\n  where?: InputMaybe<Current_Ans_Lookup_V2_Bool_Exp>;\n};\n\n\nexport type Subscription_RootCurrent_Ans_Lookup_V2_By_PkArgs = {\n  domain: Scalars['String']['input'];\n  subdomain: Scalars['String']['input'];\n  token_standard: Scalars['String']['input'];\n};\n\n\nexport type Subscription_RootCurrent_Ans_Lookup_V2_StreamArgs = {\n  batch_size: Scalars['Int']['input'];\n  cursor: Array<InputMaybe<Current_Ans_Lookup_V2_Stream_Cursor_Input>>;\n  where?: InputMaybe<Current_Ans_Lookup_V2_Bool_Exp>;\n};\n\n\nexport type Subscription_RootCurrent_Aptos_NamesArgs = {\n  distinct_on?: InputMaybe<Array<Current_Aptos_Names_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Current_Aptos_Names_Order_By>>;\n  where?: InputMaybe<Current_Aptos_Names_Bool_Exp>;\n};\n\n\nexport type Subscription_RootCurrent_Aptos_Names_AggregateArgs = {\n  distinct_on?: InputMaybe<Array<Current_Aptos_Names_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Current_Aptos_Names_Order_By>>;\n  where?: InputMaybe<Current_Aptos_Names_Bool_Exp>;\n};\n\n\nexport type Subscription_RootCurrent_Aptos_Names_StreamArgs = {\n  batch_size: Scalars['Int']['input'];\n  cursor: Array<InputMaybe<Current_Aptos_Names_Stream_Cursor_Input>>;\n  where?: InputMaybe<Current_Aptos_Names_Bool_Exp>;\n};\n\n\nexport type Subscription_RootCurrent_Coin_BalancesArgs = {\n  distinct_on?: InputMaybe<Array<Current_Coin_Balances_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Current_Coin_Balances_Order_By>>;\n  where?: InputMaybe<Current_Coin_Balances_Bool_Exp>;\n};\n\n\nexport type Subscription_RootCurrent_Coin_Balances_By_PkArgs = {\n  coin_type_hash: Scalars['String']['input'];\n  owner_address: Scalars['String']['input'];\n};\n\n\nexport type Subscription_RootCurrent_Coin_Balances_StreamArgs = {\n  batch_size: Scalars['Int']['input'];\n  cursor: Array<InputMaybe<Current_Coin_Balances_Stream_Cursor_Input>>;\n  where?: InputMaybe<Current_Coin_Balances_Bool_Exp>;\n};\n\n\nexport type Subscription_RootCurrent_Collection_DatasArgs = {\n  distinct_on?: InputMaybe<Array<Current_Collection_Datas_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Current_Collection_Datas_Order_By>>;\n  where?: InputMaybe<Current_Collection_Datas_Bool_Exp>;\n};\n\n\nexport type Subscription_RootCurrent_Collection_Datas_By_PkArgs = {\n  collection_data_id_hash: Scalars['String']['input'];\n};\n\n\nexport type Subscription_RootCurrent_Collection_Datas_StreamArgs = {\n  batch_size: Scalars['Int']['input'];\n  cursor: Array<InputMaybe<Current_Collection_Datas_Stream_Cursor_Input>>;\n  where?: InputMaybe<Current_Collection_Datas_Bool_Exp>;\n};\n\n\nexport type Subscription_RootCurrent_Collection_Ownership_V2_ViewArgs = {\n  distinct_on?: InputMaybe<Array<Current_Collection_Ownership_V2_View_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Current_Collection_Ownership_V2_View_Order_By>>;\n  where?: InputMaybe<Current_Collection_Ownership_V2_View_Bool_Exp>;\n};\n\n\nexport type Subscription_RootCurrent_Collection_Ownership_V2_View_AggregateArgs = {\n  distinct_on?: InputMaybe<Array<Current_Collection_Ownership_V2_View_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Current_Collection_Ownership_V2_View_Order_By>>;\n  where?: InputMaybe<Current_Collection_Ownership_V2_View_Bool_Exp>;\n};\n\n\nexport type Subscription_RootCurrent_Collection_Ownership_V2_View_StreamArgs = {\n  batch_size: Scalars['Int']['input'];\n  cursor: Array<InputMaybe<Current_Collection_Ownership_V2_View_Stream_Cursor_Input>>;\n  where?: InputMaybe<Current_Collection_Ownership_V2_View_Bool_Exp>;\n};\n\n\nexport type Subscription_RootCurrent_Collections_V2Args = {\n  distinct_on?: InputMaybe<Array<Current_Collections_V2_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Current_Collections_V2_Order_By>>;\n  where?: InputMaybe<Current_Collections_V2_Bool_Exp>;\n};\n\n\nexport type Subscription_RootCurrent_Collections_V2_By_PkArgs = {\n  collection_id: Scalars['String']['input'];\n};\n\n\nexport type Subscription_RootCurrent_Collections_V2_StreamArgs = {\n  batch_size: Scalars['Int']['input'];\n  cursor: Array<InputMaybe<Current_Collections_V2_Stream_Cursor_Input>>;\n  where?: InputMaybe<Current_Collections_V2_Bool_Exp>;\n};\n\n\nexport type Subscription_RootCurrent_Delegated_Staking_Pool_BalancesArgs = {\n  distinct_on?: InputMaybe<Array<Current_Delegated_Staking_Pool_Balances_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Current_Delegated_Staking_Pool_Balances_Order_By>>;\n  where?: InputMaybe<Current_Delegated_Staking_Pool_Balances_Bool_Exp>;\n};\n\n\nexport type Subscription_RootCurrent_Delegated_Staking_Pool_Balances_By_PkArgs = {\n  staking_pool_address: Scalars['String']['input'];\n};\n\n\nexport type Subscription_RootCurrent_Delegated_Staking_Pool_Balances_StreamArgs = {\n  batch_size: Scalars['Int']['input'];\n  cursor: Array<InputMaybe<Current_Delegated_Staking_Pool_Balances_Stream_Cursor_Input>>;\n  where?: InputMaybe<Current_Delegated_Staking_Pool_Balances_Bool_Exp>;\n};\n\n\nexport type Subscription_RootCurrent_Delegated_VoterArgs = {\n  distinct_on?: InputMaybe<Array<Current_Delegated_Voter_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Current_Delegated_Voter_Order_By>>;\n  where?: InputMaybe<Current_Delegated_Voter_Bool_Exp>;\n};\n\n\nexport type Subscription_RootCurrent_Delegated_Voter_By_PkArgs = {\n  delegation_pool_address: Scalars['String']['input'];\n  delegator_address: Scalars['String']['input'];\n};\n\n\nexport type Subscription_RootCurrent_Delegated_Voter_StreamArgs = {\n  batch_size: Scalars['Int']['input'];\n  cursor: Array<InputMaybe<Current_Delegated_Voter_Stream_Cursor_Input>>;\n  where?: InputMaybe<Current_Delegated_Voter_Bool_Exp>;\n};\n\n\nexport type Subscription_RootCurrent_Delegator_BalancesArgs = {\n  distinct_on?: InputMaybe<Array<Current_Delegator_Balances_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Current_Delegator_Balances_Order_By>>;\n  where?: InputMaybe<Current_Delegator_Balances_Bool_Exp>;\n};\n\n\nexport type Subscription_RootCurrent_Delegator_Balances_By_PkArgs = {\n  delegator_address: Scalars['String']['input'];\n  pool_address: Scalars['String']['input'];\n  pool_type: Scalars['String']['input'];\n  table_handle: Scalars['String']['input'];\n};\n\n\nexport type Subscription_RootCurrent_Delegator_Balances_StreamArgs = {\n  batch_size: Scalars['Int']['input'];\n  cursor: Array<InputMaybe<Current_Delegator_Balances_Stream_Cursor_Input>>;\n  where?: InputMaybe<Current_Delegator_Balances_Bool_Exp>;\n};\n\n\nexport type Subscription_RootCurrent_Fungible_Asset_BalancesArgs = {\n  distinct_on?: InputMaybe<Array<Current_Fungible_Asset_Balances_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Current_Fungible_Asset_Balances_Order_By>>;\n  where?: InputMaybe<Current_Fungible_Asset_Balances_Bool_Exp>;\n};\n\n\nexport type Subscription_RootCurrent_Fungible_Asset_Balances_AggregateArgs = {\n  distinct_on?: InputMaybe<Array<Current_Fungible_Asset_Balances_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Current_Fungible_Asset_Balances_Order_By>>;\n  where?: InputMaybe<Current_Fungible_Asset_Balances_Bool_Exp>;\n};\n\n\nexport type Subscription_RootCurrent_Fungible_Asset_Balances_By_PkArgs = {\n  storage_id: Scalars['String']['input'];\n};\n\n\nexport type Subscription_RootCurrent_Fungible_Asset_Balances_StreamArgs = {\n  batch_size: Scalars['Int']['input'];\n  cursor: Array<InputMaybe<Current_Fungible_Asset_Balances_Stream_Cursor_Input>>;\n  where?: InputMaybe<Current_Fungible_Asset_Balances_Bool_Exp>;\n};\n\n\nexport type Subscription_RootCurrent_ObjectsArgs = {\n  distinct_on?: InputMaybe<Array<Current_Objects_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Current_Objects_Order_By>>;\n  where?: InputMaybe<Current_Objects_Bool_Exp>;\n};\n\n\nexport type Subscription_RootCurrent_Objects_By_PkArgs = {\n  object_address: Scalars['String']['input'];\n};\n\n\nexport type Subscription_RootCurrent_Objects_StreamArgs = {\n  batch_size: Scalars['Int']['input'];\n  cursor: Array<InputMaybe<Current_Objects_Stream_Cursor_Input>>;\n  where?: InputMaybe<Current_Objects_Bool_Exp>;\n};\n\n\nexport type Subscription_RootCurrent_Staking_Pool_VoterArgs = {\n  distinct_on?: InputMaybe<Array<Current_Staking_Pool_Voter_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Current_Staking_Pool_Voter_Order_By>>;\n  where?: InputMaybe<Current_Staking_Pool_Voter_Bool_Exp>;\n};\n\n\nexport type Subscription_RootCurrent_Staking_Pool_Voter_By_PkArgs = {\n  staking_pool_address: Scalars['String']['input'];\n};\n\n\nexport type Subscription_RootCurrent_Staking_Pool_Voter_StreamArgs = {\n  batch_size: Scalars['Int']['input'];\n  cursor: Array<InputMaybe<Current_Staking_Pool_Voter_Stream_Cursor_Input>>;\n  where?: InputMaybe<Current_Staking_Pool_Voter_Bool_Exp>;\n};\n\n\nexport type Subscription_RootCurrent_Table_ItemsArgs = {\n  distinct_on?: InputMaybe<Array<Current_Table_Items_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Current_Table_Items_Order_By>>;\n  where?: InputMaybe<Current_Table_Items_Bool_Exp>;\n};\n\n\nexport type Subscription_RootCurrent_Table_Items_By_PkArgs = {\n  key_hash: Scalars['String']['input'];\n  table_handle: Scalars['String']['input'];\n};\n\n\nexport type Subscription_RootCurrent_Table_Items_StreamArgs = {\n  batch_size: Scalars['Int']['input'];\n  cursor: Array<InputMaybe<Current_Table_Items_Stream_Cursor_Input>>;\n  where?: InputMaybe<Current_Table_Items_Bool_Exp>;\n};\n\n\nexport type Subscription_RootCurrent_Token_DatasArgs = {\n  distinct_on?: InputMaybe<Array<Current_Token_Datas_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Current_Token_Datas_Order_By>>;\n  where?: InputMaybe<Current_Token_Datas_Bool_Exp>;\n};\n\n\nexport type Subscription_RootCurrent_Token_Datas_By_PkArgs = {\n  token_data_id_hash: Scalars['String']['input'];\n};\n\n\nexport type Subscription_RootCurrent_Token_Datas_StreamArgs = {\n  batch_size: Scalars['Int']['input'];\n  cursor: Array<InputMaybe<Current_Token_Datas_Stream_Cursor_Input>>;\n  where?: InputMaybe<Current_Token_Datas_Bool_Exp>;\n};\n\n\nexport type Subscription_RootCurrent_Token_Datas_V2Args = {\n  distinct_on?: InputMaybe<Array<Current_Token_Datas_V2_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Current_Token_Datas_V2_Order_By>>;\n  where?: InputMaybe<Current_Token_Datas_V2_Bool_Exp>;\n};\n\n\nexport type Subscription_RootCurrent_Token_Datas_V2_By_PkArgs = {\n  token_data_id: Scalars['String']['input'];\n};\n\n\nexport type Subscription_RootCurrent_Token_Datas_V2_StreamArgs = {\n  batch_size: Scalars['Int']['input'];\n  cursor: Array<InputMaybe<Current_Token_Datas_V2_Stream_Cursor_Input>>;\n  where?: InputMaybe<Current_Token_Datas_V2_Bool_Exp>;\n};\n\n\nexport type Subscription_RootCurrent_Token_OwnershipsArgs = {\n  distinct_on?: InputMaybe<Array<Current_Token_Ownerships_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Current_Token_Ownerships_Order_By>>;\n  where?: InputMaybe<Current_Token_Ownerships_Bool_Exp>;\n};\n\n\nexport type Subscription_RootCurrent_Token_Ownerships_AggregateArgs = {\n  distinct_on?: InputMaybe<Array<Current_Token_Ownerships_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Current_Token_Ownerships_Order_By>>;\n  where?: InputMaybe<Current_Token_Ownerships_Bool_Exp>;\n};\n\n\nexport type Subscription_RootCurrent_Token_Ownerships_By_PkArgs = {\n  owner_address: Scalars['String']['input'];\n  property_version: Scalars['numeric']['input'];\n  token_data_id_hash: Scalars['String']['input'];\n};\n\n\nexport type Subscription_RootCurrent_Token_Ownerships_StreamArgs = {\n  batch_size: Scalars['Int']['input'];\n  cursor: Array<InputMaybe<Current_Token_Ownerships_Stream_Cursor_Input>>;\n  where?: InputMaybe<Current_Token_Ownerships_Bool_Exp>;\n};\n\n\nexport type Subscription_RootCurrent_Token_Ownerships_V2Args = {\n  distinct_on?: InputMaybe<Array<Current_Token_Ownerships_V2_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Current_Token_Ownerships_V2_Order_By>>;\n  where?: InputMaybe<Current_Token_Ownerships_V2_Bool_Exp>;\n};\n\n\nexport type Subscription_RootCurrent_Token_Ownerships_V2_AggregateArgs = {\n  distinct_on?: InputMaybe<Array<Current_Token_Ownerships_V2_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Current_Token_Ownerships_V2_Order_By>>;\n  where?: InputMaybe<Current_Token_Ownerships_V2_Bool_Exp>;\n};\n\n\nexport type Subscription_RootCurrent_Token_Ownerships_V2_By_PkArgs = {\n  owner_address: Scalars['String']['input'];\n  property_version_v1: Scalars['numeric']['input'];\n  storage_id: Scalars['String']['input'];\n  token_data_id: Scalars['String']['input'];\n};\n\n\nexport type Subscription_RootCurrent_Token_Ownerships_V2_StreamArgs = {\n  batch_size: Scalars['Int']['input'];\n  cursor: Array<InputMaybe<Current_Token_Ownerships_V2_Stream_Cursor_Input>>;\n  where?: InputMaybe<Current_Token_Ownerships_V2_Bool_Exp>;\n};\n\n\nexport type Subscription_RootCurrent_Token_Pending_ClaimsArgs = {\n  distinct_on?: InputMaybe<Array<Current_Token_Pending_Claims_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Current_Token_Pending_Claims_Order_By>>;\n  where?: InputMaybe<Current_Token_Pending_Claims_Bool_Exp>;\n};\n\n\nexport type Subscription_RootCurrent_Token_Pending_Claims_By_PkArgs = {\n  from_address: Scalars['String']['input'];\n  property_version: Scalars['numeric']['input'];\n  to_address: Scalars['String']['input'];\n  token_data_id_hash: Scalars['String']['input'];\n};\n\n\nexport type Subscription_RootCurrent_Token_Pending_Claims_StreamArgs = {\n  batch_size: Scalars['Int']['input'];\n  cursor: Array<InputMaybe<Current_Token_Pending_Claims_Stream_Cursor_Input>>;\n  where?: InputMaybe<Current_Token_Pending_Claims_Bool_Exp>;\n};\n\n\nexport type Subscription_RootDelegated_Staking_ActivitiesArgs = {\n  distinct_on?: InputMaybe<Array<Delegated_Staking_Activities_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Delegated_Staking_Activities_Order_By>>;\n  where?: InputMaybe<Delegated_Staking_Activities_Bool_Exp>;\n};\n\n\nexport type Subscription_RootDelegated_Staking_Activities_By_PkArgs = {\n  event_index: Scalars['bigint']['input'];\n  transaction_version: Scalars['bigint']['input'];\n};\n\n\nexport type Subscription_RootDelegated_Staking_Activities_StreamArgs = {\n  batch_size: Scalars['Int']['input'];\n  cursor: Array<InputMaybe<Delegated_Staking_Activities_Stream_Cursor_Input>>;\n  where?: InputMaybe<Delegated_Staking_Activities_Bool_Exp>;\n};\n\n\nexport type Subscription_RootDelegated_Staking_PoolsArgs = {\n  distinct_on?: InputMaybe<Array<Delegated_Staking_Pools_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Delegated_Staking_Pools_Order_By>>;\n  where?: InputMaybe<Delegated_Staking_Pools_Bool_Exp>;\n};\n\n\nexport type Subscription_RootDelegated_Staking_Pools_By_PkArgs = {\n  staking_pool_address: Scalars['String']['input'];\n};\n\n\nexport type Subscription_RootDelegated_Staking_Pools_StreamArgs = {\n  batch_size: Scalars['Int']['input'];\n  cursor: Array<InputMaybe<Delegated_Staking_Pools_Stream_Cursor_Input>>;\n  where?: InputMaybe<Delegated_Staking_Pools_Bool_Exp>;\n};\n\n\nexport type Subscription_RootDelegator_Distinct_PoolArgs = {\n  distinct_on?: InputMaybe<Array<Delegator_Distinct_Pool_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Delegator_Distinct_Pool_Order_By>>;\n  where?: InputMaybe<Delegator_Distinct_Pool_Bool_Exp>;\n};\n\n\nexport type Subscription_RootDelegator_Distinct_Pool_AggregateArgs = {\n  distinct_on?: InputMaybe<Array<Delegator_Distinct_Pool_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Delegator_Distinct_Pool_Order_By>>;\n  where?: InputMaybe<Delegator_Distinct_Pool_Bool_Exp>;\n};\n\n\nexport type Subscription_RootDelegator_Distinct_Pool_StreamArgs = {\n  batch_size: Scalars['Int']['input'];\n  cursor: Array<InputMaybe<Delegator_Distinct_Pool_Stream_Cursor_Input>>;\n  where?: InputMaybe<Delegator_Distinct_Pool_Bool_Exp>;\n};\n\n\nexport type Subscription_RootEventsArgs = {\n  distinct_on?: InputMaybe<Array<Events_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Events_Order_By>>;\n  where?: InputMaybe<Events_Bool_Exp>;\n};\n\n\nexport type Subscription_RootEvents_By_PkArgs = {\n  event_index: Scalars['bigint']['input'];\n  transaction_version: Scalars['bigint']['input'];\n};\n\n\nexport type Subscription_RootEvents_StreamArgs = {\n  batch_size: Scalars['Int']['input'];\n  cursor: Array<InputMaybe<Events_Stream_Cursor_Input>>;\n  where?: InputMaybe<Events_Bool_Exp>;\n};\n\n\nexport type Subscription_RootFungible_Asset_ActivitiesArgs = {\n  distinct_on?: InputMaybe<Array<Fungible_Asset_Activities_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Fungible_Asset_Activities_Order_By>>;\n  where?: InputMaybe<Fungible_Asset_Activities_Bool_Exp>;\n};\n\n\nexport type Subscription_RootFungible_Asset_Activities_By_PkArgs = {\n  event_index: Scalars['bigint']['input'];\n  transaction_version: Scalars['bigint']['input'];\n};\n\n\nexport type Subscription_RootFungible_Asset_Activities_StreamArgs = {\n  batch_size: Scalars['Int']['input'];\n  cursor: Array<InputMaybe<Fungible_Asset_Activities_Stream_Cursor_Input>>;\n  where?: InputMaybe<Fungible_Asset_Activities_Bool_Exp>;\n};\n\n\nexport type Subscription_RootFungible_Asset_MetadataArgs = {\n  distinct_on?: InputMaybe<Array<Fungible_Asset_Metadata_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Fungible_Asset_Metadata_Order_By>>;\n  where?: InputMaybe<Fungible_Asset_Metadata_Bool_Exp>;\n};\n\n\nexport type Subscription_RootFungible_Asset_Metadata_By_PkArgs = {\n  asset_type: Scalars['String']['input'];\n};\n\n\nexport type Subscription_RootFungible_Asset_Metadata_StreamArgs = {\n  batch_size: Scalars['Int']['input'];\n  cursor: Array<InputMaybe<Fungible_Asset_Metadata_Stream_Cursor_Input>>;\n  where?: InputMaybe<Fungible_Asset_Metadata_Bool_Exp>;\n};\n\n\nexport type Subscription_RootIndexer_StatusArgs = {\n  distinct_on?: InputMaybe<Array<Indexer_Status_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Indexer_Status_Order_By>>;\n  where?: InputMaybe<Indexer_Status_Bool_Exp>;\n};\n\n\nexport type Subscription_RootIndexer_Status_By_PkArgs = {\n  db: Scalars['String']['input'];\n};\n\n\nexport type Subscription_RootIndexer_Status_StreamArgs = {\n  batch_size: Scalars['Int']['input'];\n  cursor: Array<InputMaybe<Indexer_Status_Stream_Cursor_Input>>;\n  where?: InputMaybe<Indexer_Status_Bool_Exp>;\n};\n\n\nexport type Subscription_RootLedger_InfosArgs = {\n  distinct_on?: InputMaybe<Array<Ledger_Infos_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Ledger_Infos_Order_By>>;\n  where?: InputMaybe<Ledger_Infos_Bool_Exp>;\n};\n\n\nexport type Subscription_RootLedger_Infos_By_PkArgs = {\n  chain_id: Scalars['bigint']['input'];\n};\n\n\nexport type Subscription_RootLedger_Infos_StreamArgs = {\n  batch_size: Scalars['Int']['input'];\n  cursor: Array<InputMaybe<Ledger_Infos_Stream_Cursor_Input>>;\n  where?: InputMaybe<Ledger_Infos_Bool_Exp>;\n};\n\n\nexport type Subscription_RootMove_ResourcesArgs = {\n  distinct_on?: InputMaybe<Array<Move_Resources_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Move_Resources_Order_By>>;\n  where?: InputMaybe<Move_Resources_Bool_Exp>;\n};\n\n\nexport type Subscription_RootMove_Resources_AggregateArgs = {\n  distinct_on?: InputMaybe<Array<Move_Resources_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Move_Resources_Order_By>>;\n  where?: InputMaybe<Move_Resources_Bool_Exp>;\n};\n\n\nexport type Subscription_RootMove_Resources_StreamArgs = {\n  batch_size: Scalars['Int']['input'];\n  cursor: Array<InputMaybe<Move_Resources_Stream_Cursor_Input>>;\n  where?: InputMaybe<Move_Resources_Bool_Exp>;\n};\n\n\nexport type Subscription_RootNft_Marketplace_V2_Current_Nft_Marketplace_AuctionsArgs = {\n  distinct_on?: InputMaybe<Array<Nft_Marketplace_V2_Current_Nft_Marketplace_Auctions_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Nft_Marketplace_V2_Current_Nft_Marketplace_Auctions_Order_By>>;\n  where?: InputMaybe<Nft_Marketplace_V2_Current_Nft_Marketplace_Auctions_Bool_Exp>;\n};\n\n\nexport type Subscription_RootNft_Marketplace_V2_Current_Nft_Marketplace_Auctions_By_PkArgs = {\n  listing_id: Scalars['String']['input'];\n  token_data_id: Scalars['String']['input'];\n};\n\n\nexport type Subscription_RootNft_Marketplace_V2_Current_Nft_Marketplace_Auctions_StreamArgs = {\n  batch_size: Scalars['Int']['input'];\n  cursor: Array<InputMaybe<Nft_Marketplace_V2_Current_Nft_Marketplace_Auctions_Stream_Cursor_Input>>;\n  where?: InputMaybe<Nft_Marketplace_V2_Current_Nft_Marketplace_Auctions_Bool_Exp>;\n};\n\n\nexport type Subscription_RootNft_Marketplace_V2_Current_Nft_Marketplace_Collection_OffersArgs = {\n  distinct_on?: InputMaybe<Array<Nft_Marketplace_V2_Current_Nft_Marketplace_Collection_Offers_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Nft_Marketplace_V2_Current_Nft_Marketplace_Collection_Offers_Order_By>>;\n  where?: InputMaybe<Nft_Marketplace_V2_Current_Nft_Marketplace_Collection_Offers_Bool_Exp>;\n};\n\n\nexport type Subscription_RootNft_Marketplace_V2_Current_Nft_Marketplace_Collection_Offers_By_PkArgs = {\n  collection_id: Scalars['String']['input'];\n  collection_offer_id: Scalars['String']['input'];\n};\n\n\nexport type Subscription_RootNft_Marketplace_V2_Current_Nft_Marketplace_Collection_Offers_StreamArgs = {\n  batch_size: Scalars['Int']['input'];\n  cursor: Array<InputMaybe<Nft_Marketplace_V2_Current_Nft_Marketplace_Collection_Offers_Stream_Cursor_Input>>;\n  where?: InputMaybe<Nft_Marketplace_V2_Current_Nft_Marketplace_Collection_Offers_Bool_Exp>;\n};\n\n\nexport type Subscription_RootNft_Marketplace_V2_Current_Nft_Marketplace_ListingsArgs = {\n  distinct_on?: InputMaybe<Array<Nft_Marketplace_V2_Current_Nft_Marketplace_Listings_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Nft_Marketplace_V2_Current_Nft_Marketplace_Listings_Order_By>>;\n  where?: InputMaybe<Nft_Marketplace_V2_Current_Nft_Marketplace_Listings_Bool_Exp>;\n};\n\n\nexport type Subscription_RootNft_Marketplace_V2_Current_Nft_Marketplace_Listings_By_PkArgs = {\n  listing_id: Scalars['String']['input'];\n  token_data_id: Scalars['String']['input'];\n};\n\n\nexport type Subscription_RootNft_Marketplace_V2_Current_Nft_Marketplace_Listings_StreamArgs = {\n  batch_size: Scalars['Int']['input'];\n  cursor: Array<InputMaybe<Nft_Marketplace_V2_Current_Nft_Marketplace_Listings_Stream_Cursor_Input>>;\n  where?: InputMaybe<Nft_Marketplace_V2_Current_Nft_Marketplace_Listings_Bool_Exp>;\n};\n\n\nexport type Subscription_RootNft_Marketplace_V2_Current_Nft_Marketplace_Token_OffersArgs = {\n  distinct_on?: InputMaybe<Array<Nft_Marketplace_V2_Current_Nft_Marketplace_Token_Offers_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Nft_Marketplace_V2_Current_Nft_Marketplace_Token_Offers_Order_By>>;\n  where?: InputMaybe<Nft_Marketplace_V2_Current_Nft_Marketplace_Token_Offers_Bool_Exp>;\n};\n\n\nexport type Subscription_RootNft_Marketplace_V2_Current_Nft_Marketplace_Token_Offers_By_PkArgs = {\n  offer_id: Scalars['String']['input'];\n  token_data_id: Scalars['String']['input'];\n};\n\n\nexport type Subscription_RootNft_Marketplace_V2_Current_Nft_Marketplace_Token_Offers_StreamArgs = {\n  batch_size: Scalars['Int']['input'];\n  cursor: Array<InputMaybe<Nft_Marketplace_V2_Current_Nft_Marketplace_Token_Offers_Stream_Cursor_Input>>;\n  where?: InputMaybe<Nft_Marketplace_V2_Current_Nft_Marketplace_Token_Offers_Bool_Exp>;\n};\n\n\nexport type Subscription_RootNft_Marketplace_V2_Nft_Marketplace_ActivitiesArgs = {\n  distinct_on?: InputMaybe<Array<Nft_Marketplace_V2_Nft_Marketplace_Activities_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Nft_Marketplace_V2_Nft_Marketplace_Activities_Order_By>>;\n  where?: InputMaybe<Nft_Marketplace_V2_Nft_Marketplace_Activities_Bool_Exp>;\n};\n\n\nexport type Subscription_RootNft_Marketplace_V2_Nft_Marketplace_Activities_By_PkArgs = {\n  event_index: Scalars['bigint']['input'];\n  transaction_version: Scalars['bigint']['input'];\n};\n\n\nexport type Subscription_RootNft_Marketplace_V2_Nft_Marketplace_Activities_StreamArgs = {\n  batch_size: Scalars['Int']['input'];\n  cursor: Array<InputMaybe<Nft_Marketplace_V2_Nft_Marketplace_Activities_Stream_Cursor_Input>>;\n  where?: InputMaybe<Nft_Marketplace_V2_Nft_Marketplace_Activities_Bool_Exp>;\n};\n\n\nexport type Subscription_RootNft_Metadata_Crawler_Parsed_Asset_UrisArgs = {\n  distinct_on?: InputMaybe<Array<Nft_Metadata_Crawler_Parsed_Asset_Uris_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Nft_Metadata_Crawler_Parsed_Asset_Uris_Order_By>>;\n  where?: InputMaybe<Nft_Metadata_Crawler_Parsed_Asset_Uris_Bool_Exp>;\n};\n\n\nexport type Subscription_RootNft_Metadata_Crawler_Parsed_Asset_Uris_By_PkArgs = {\n  asset_uri: Scalars['String']['input'];\n};\n\n\nexport type Subscription_RootNft_Metadata_Crawler_Parsed_Asset_Uris_StreamArgs = {\n  batch_size: Scalars['Int']['input'];\n  cursor: Array<InputMaybe<Nft_Metadata_Crawler_Parsed_Asset_Uris_Stream_Cursor_Input>>;\n  where?: InputMaybe<Nft_Metadata_Crawler_Parsed_Asset_Uris_Bool_Exp>;\n};\n\n\nexport type Subscription_RootNum_Active_Delegator_Per_PoolArgs = {\n  distinct_on?: InputMaybe<Array<Num_Active_Delegator_Per_Pool_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Num_Active_Delegator_Per_Pool_Order_By>>;\n  where?: InputMaybe<Num_Active_Delegator_Per_Pool_Bool_Exp>;\n};\n\n\nexport type Subscription_RootNum_Active_Delegator_Per_Pool_StreamArgs = {\n  batch_size: Scalars['Int']['input'];\n  cursor: Array<InputMaybe<Num_Active_Delegator_Per_Pool_Stream_Cursor_Input>>;\n  where?: InputMaybe<Num_Active_Delegator_Per_Pool_Bool_Exp>;\n};\n\n\nexport type Subscription_RootProcessor_StatusArgs = {\n  distinct_on?: InputMaybe<Array<Processor_Status_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Processor_Status_Order_By>>;\n  where?: InputMaybe<Processor_Status_Bool_Exp>;\n};\n\n\nexport type Subscription_RootProcessor_Status_By_PkArgs = {\n  processor: Scalars['String']['input'];\n};\n\n\nexport type Subscription_RootProcessor_Status_StreamArgs = {\n  batch_size: Scalars['Int']['input'];\n  cursor: Array<InputMaybe<Processor_Status_Stream_Cursor_Input>>;\n  where?: InputMaybe<Processor_Status_Bool_Exp>;\n};\n\n\nexport type Subscription_RootProposal_VotesArgs = {\n  distinct_on?: InputMaybe<Array<Proposal_Votes_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Proposal_Votes_Order_By>>;\n  where?: InputMaybe<Proposal_Votes_Bool_Exp>;\n};\n\n\nexport type Subscription_RootProposal_Votes_AggregateArgs = {\n  distinct_on?: InputMaybe<Array<Proposal_Votes_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Proposal_Votes_Order_By>>;\n  where?: InputMaybe<Proposal_Votes_Bool_Exp>;\n};\n\n\nexport type Subscription_RootProposal_Votes_By_PkArgs = {\n  proposal_id: Scalars['bigint']['input'];\n  transaction_version: Scalars['bigint']['input'];\n  voter_address: Scalars['String']['input'];\n};\n\n\nexport type Subscription_RootProposal_Votes_StreamArgs = {\n  batch_size: Scalars['Int']['input'];\n  cursor: Array<InputMaybe<Proposal_Votes_Stream_Cursor_Input>>;\n  where?: InputMaybe<Proposal_Votes_Bool_Exp>;\n};\n\n\nexport type Subscription_RootTable_ItemsArgs = {\n  distinct_on?: InputMaybe<Array<Table_Items_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Table_Items_Order_By>>;\n  where?: InputMaybe<Table_Items_Bool_Exp>;\n};\n\n\nexport type Subscription_RootTable_Items_By_PkArgs = {\n  transaction_version: Scalars['bigint']['input'];\n  write_set_change_index: Scalars['bigint']['input'];\n};\n\n\nexport type Subscription_RootTable_Items_StreamArgs = {\n  batch_size: Scalars['Int']['input'];\n  cursor: Array<InputMaybe<Table_Items_Stream_Cursor_Input>>;\n  where?: InputMaybe<Table_Items_Bool_Exp>;\n};\n\n\nexport type Subscription_RootTable_MetadatasArgs = {\n  distinct_on?: InputMaybe<Array<Table_Metadatas_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Table_Metadatas_Order_By>>;\n  where?: InputMaybe<Table_Metadatas_Bool_Exp>;\n};\n\n\nexport type Subscription_RootTable_Metadatas_By_PkArgs = {\n  handle: Scalars['String']['input'];\n};\n\n\nexport type Subscription_RootTable_Metadatas_StreamArgs = {\n  batch_size: Scalars['Int']['input'];\n  cursor: Array<InputMaybe<Table_Metadatas_Stream_Cursor_Input>>;\n  where?: InputMaybe<Table_Metadatas_Bool_Exp>;\n};\n\n\nexport type Subscription_RootToken_ActivitiesArgs = {\n  distinct_on?: InputMaybe<Array<Token_Activities_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Token_Activities_Order_By>>;\n  where?: InputMaybe<Token_Activities_Bool_Exp>;\n};\n\n\nexport type Subscription_RootToken_Activities_AggregateArgs = {\n  distinct_on?: InputMaybe<Array<Token_Activities_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Token_Activities_Order_By>>;\n  where?: InputMaybe<Token_Activities_Bool_Exp>;\n};\n\n\nexport type Subscription_RootToken_Activities_By_PkArgs = {\n  event_account_address: Scalars['String']['input'];\n  event_creation_number: Scalars['bigint']['input'];\n  event_sequence_number: Scalars['bigint']['input'];\n  transaction_version: Scalars['bigint']['input'];\n};\n\n\nexport type Subscription_RootToken_Activities_StreamArgs = {\n  batch_size: Scalars['Int']['input'];\n  cursor: Array<InputMaybe<Token_Activities_Stream_Cursor_Input>>;\n  where?: InputMaybe<Token_Activities_Bool_Exp>;\n};\n\n\nexport type Subscription_RootToken_Activities_V2Args = {\n  distinct_on?: InputMaybe<Array<Token_Activities_V2_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Token_Activities_V2_Order_By>>;\n  where?: InputMaybe<Token_Activities_V2_Bool_Exp>;\n};\n\n\nexport type Subscription_RootToken_Activities_V2_AggregateArgs = {\n  distinct_on?: InputMaybe<Array<Token_Activities_V2_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Token_Activities_V2_Order_By>>;\n  where?: InputMaybe<Token_Activities_V2_Bool_Exp>;\n};\n\n\nexport type Subscription_RootToken_Activities_V2_By_PkArgs = {\n  event_index: Scalars['bigint']['input'];\n  transaction_version: Scalars['bigint']['input'];\n};\n\n\nexport type Subscription_RootToken_Activities_V2_StreamArgs = {\n  batch_size: Scalars['Int']['input'];\n  cursor: Array<InputMaybe<Token_Activities_V2_Stream_Cursor_Input>>;\n  where?: InputMaybe<Token_Activities_V2_Bool_Exp>;\n};\n\n\nexport type Subscription_RootToken_DatasArgs = {\n  distinct_on?: InputMaybe<Array<Token_Datas_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Token_Datas_Order_By>>;\n  where?: InputMaybe<Token_Datas_Bool_Exp>;\n};\n\n\nexport type Subscription_RootToken_Datas_By_PkArgs = {\n  token_data_id_hash: Scalars['String']['input'];\n  transaction_version: Scalars['bigint']['input'];\n};\n\n\nexport type Subscription_RootToken_Datas_StreamArgs = {\n  batch_size: Scalars['Int']['input'];\n  cursor: Array<InputMaybe<Token_Datas_Stream_Cursor_Input>>;\n  where?: InputMaybe<Token_Datas_Bool_Exp>;\n};\n\n\nexport type Subscription_RootToken_OwnershipsArgs = {\n  distinct_on?: InputMaybe<Array<Token_Ownerships_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Token_Ownerships_Order_By>>;\n  where?: InputMaybe<Token_Ownerships_Bool_Exp>;\n};\n\n\nexport type Subscription_RootToken_Ownerships_By_PkArgs = {\n  property_version: Scalars['numeric']['input'];\n  table_handle: Scalars['String']['input'];\n  token_data_id_hash: Scalars['String']['input'];\n  transaction_version: Scalars['bigint']['input'];\n};\n\n\nexport type Subscription_RootToken_Ownerships_StreamArgs = {\n  batch_size: Scalars['Int']['input'];\n  cursor: Array<InputMaybe<Token_Ownerships_Stream_Cursor_Input>>;\n  where?: InputMaybe<Token_Ownerships_Bool_Exp>;\n};\n\n\nexport type Subscription_RootTokensArgs = {\n  distinct_on?: InputMaybe<Array<Tokens_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Tokens_Order_By>>;\n  where?: InputMaybe<Tokens_Bool_Exp>;\n};\n\n\nexport type Subscription_RootTokens_By_PkArgs = {\n  property_version: Scalars['numeric']['input'];\n  token_data_id_hash: Scalars['String']['input'];\n  transaction_version: Scalars['bigint']['input'];\n};\n\n\nexport type Subscription_RootTokens_StreamArgs = {\n  batch_size: Scalars['Int']['input'];\n  cursor: Array<InputMaybe<Tokens_Stream_Cursor_Input>>;\n  where?: InputMaybe<Tokens_Bool_Exp>;\n};\n\n\nexport type Subscription_RootUser_TransactionsArgs = {\n  distinct_on?: InputMaybe<Array<User_Transactions_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<User_Transactions_Order_By>>;\n  where?: InputMaybe<User_Transactions_Bool_Exp>;\n};\n\n\nexport type Subscription_RootUser_Transactions_By_PkArgs = {\n  version: Scalars['bigint']['input'];\n};\n\n\nexport type Subscription_RootUser_Transactions_StreamArgs = {\n  batch_size: Scalars['Int']['input'];\n  cursor: Array<InputMaybe<User_Transactions_Stream_Cursor_Input>>;\n  where?: InputMaybe<User_Transactions_Bool_Exp>;\n};\n\n/** columns and relationships of \"table_items\" */\nexport type Table_Items = {\n  __typename?: 'table_items';\n  decoded_key: Scalars['jsonb']['output'];\n  decoded_value?: Maybe<Scalars['jsonb']['output']>;\n  key: Scalars['String']['output'];\n  table_handle: Scalars['String']['output'];\n  transaction_version: Scalars['bigint']['output'];\n  write_set_change_index: Scalars['bigint']['output'];\n};\n\n\n/** columns and relationships of \"table_items\" */\nexport type Table_ItemsDecoded_KeyArgs = {\n  path?: InputMaybe<Scalars['String']['input']>;\n};\n\n\n/** columns and relationships of \"table_items\" */\nexport type Table_ItemsDecoded_ValueArgs = {\n  path?: InputMaybe<Scalars['String']['input']>;\n};\n\n/** Boolean expression to filter rows from the table \"table_items\". All fields are combined with a logical 'AND'. */\nexport type Table_Items_Bool_Exp = {\n  _and?: InputMaybe<Array<Table_Items_Bool_Exp>>;\n  _not?: InputMaybe<Table_Items_Bool_Exp>;\n  _or?: InputMaybe<Array<Table_Items_Bool_Exp>>;\n  decoded_key?: InputMaybe<Jsonb_Comparison_Exp>;\n  decoded_value?: InputMaybe<Jsonb_Comparison_Exp>;\n  key?: InputMaybe<String_Comparison_Exp>;\n  table_handle?: InputMaybe<String_Comparison_Exp>;\n  transaction_version?: InputMaybe<Bigint_Comparison_Exp>;\n  write_set_change_index?: InputMaybe<Bigint_Comparison_Exp>;\n};\n\n/** Ordering options when selecting data from \"table_items\". */\nexport type Table_Items_Order_By = {\n  decoded_key?: InputMaybe<Order_By>;\n  decoded_value?: InputMaybe<Order_By>;\n  key?: InputMaybe<Order_By>;\n  table_handle?: InputMaybe<Order_By>;\n  transaction_version?: InputMaybe<Order_By>;\n  write_set_change_index?: InputMaybe<Order_By>;\n};\n\n/** select columns of table \"table_items\" */\nexport enum Table_Items_Select_Column {\n  /** column name */\n  DecodedKey = 'decoded_key',\n  /** column name */\n  DecodedValue = 'decoded_value',\n  /** column name */\n  Key = 'key',\n  /** column name */\n  TableHandle = 'table_handle',\n  /** column name */\n  TransactionVersion = 'transaction_version',\n  /** column name */\n  WriteSetChangeIndex = 'write_set_change_index'\n}\n\n/** Streaming cursor of the table \"table_items\" */\nexport type Table_Items_Stream_Cursor_Input = {\n  /** Stream column input with initial value */\n  initial_value: Table_Items_Stream_Cursor_Value_Input;\n  /** cursor ordering */\n  ordering?: InputMaybe<Cursor_Ordering>;\n};\n\n/** Initial value of the column from where the streaming should start */\nexport type Table_Items_Stream_Cursor_Value_Input = {\n  decoded_key?: InputMaybe<Scalars['jsonb']['input']>;\n  decoded_value?: InputMaybe<Scalars['jsonb']['input']>;\n  key?: InputMaybe<Scalars['String']['input']>;\n  table_handle?: InputMaybe<Scalars['String']['input']>;\n  transaction_version?: InputMaybe<Scalars['bigint']['input']>;\n  write_set_change_index?: InputMaybe<Scalars['bigint']['input']>;\n};\n\n/** columns and relationships of \"table_metadatas\" */\nexport type Table_Metadatas = {\n  __typename?: 'table_metadatas';\n  handle: Scalars['String']['output'];\n  key_type: Scalars['String']['output'];\n  value_type: Scalars['String']['output'];\n};\n\n/** Boolean expression to filter rows from the table \"table_metadatas\". All fields are combined with a logical 'AND'. */\nexport type Table_Metadatas_Bool_Exp = {\n  _and?: InputMaybe<Array<Table_Metadatas_Bool_Exp>>;\n  _not?: InputMaybe<Table_Metadatas_Bool_Exp>;\n  _or?: InputMaybe<Array<Table_Metadatas_Bool_Exp>>;\n  handle?: InputMaybe<String_Comparison_Exp>;\n  key_type?: InputMaybe<String_Comparison_Exp>;\n  value_type?: InputMaybe<String_Comparison_Exp>;\n};\n\n/** Ordering options when selecting data from \"table_metadatas\". */\nexport type Table_Metadatas_Order_By = {\n  handle?: InputMaybe<Order_By>;\n  key_type?: InputMaybe<Order_By>;\n  value_type?: InputMaybe<Order_By>;\n};\n\n/** select columns of table \"table_metadatas\" */\nexport enum Table_Metadatas_Select_Column {\n  /** column name */\n  Handle = 'handle',\n  /** column name */\n  KeyType = 'key_type',\n  /** column name */\n  ValueType = 'value_type'\n}\n\n/** Streaming cursor of the table \"table_metadatas\" */\nexport type Table_Metadatas_Stream_Cursor_Input = {\n  /** Stream column input with initial value */\n  initial_value: Table_Metadatas_Stream_Cursor_Value_Input;\n  /** cursor ordering */\n  ordering?: InputMaybe<Cursor_Ordering>;\n};\n\n/** Initial value of the column from where the streaming should start */\nexport type Table_Metadatas_Stream_Cursor_Value_Input = {\n  handle?: InputMaybe<Scalars['String']['input']>;\n  key_type?: InputMaybe<Scalars['String']['input']>;\n  value_type?: InputMaybe<Scalars['String']['input']>;\n};\n\n/** Boolean expression to compare columns of type \"timestamp\". All fields are combined with logical 'AND'. */\nexport type Timestamp_Comparison_Exp = {\n  _eq?: InputMaybe<Scalars['timestamp']['input']>;\n  _gt?: InputMaybe<Scalars['timestamp']['input']>;\n  _gte?: InputMaybe<Scalars['timestamp']['input']>;\n  _in?: InputMaybe<Array<Scalars['timestamp']['input']>>;\n  _is_null?: InputMaybe<Scalars['Boolean']['input']>;\n  _lt?: InputMaybe<Scalars['timestamp']['input']>;\n  _lte?: InputMaybe<Scalars['timestamp']['input']>;\n  _neq?: InputMaybe<Scalars['timestamp']['input']>;\n  _nin?: InputMaybe<Array<Scalars['timestamp']['input']>>;\n};\n\n/** Boolean expression to compare columns of type \"timestamptz\". All fields are combined with logical 'AND'. */\nexport type Timestamptz_Comparison_Exp = {\n  _eq?: InputMaybe<Scalars['timestamptz']['input']>;\n  _gt?: InputMaybe<Scalars['timestamptz']['input']>;\n  _gte?: InputMaybe<Scalars['timestamptz']['input']>;\n  _in?: InputMaybe<Array<Scalars['timestamptz']['input']>>;\n  _is_null?: InputMaybe<Scalars['Boolean']['input']>;\n  _lt?: InputMaybe<Scalars['timestamptz']['input']>;\n  _lte?: InputMaybe<Scalars['timestamptz']['input']>;\n  _neq?: InputMaybe<Scalars['timestamptz']['input']>;\n  _nin?: InputMaybe<Array<Scalars['timestamptz']['input']>>;\n};\n\n/** columns and relationships of \"token_activities\" */\nexport type Token_Activities = {\n  __typename?: 'token_activities';\n  /** An array relationship */\n  aptos_names_owner: Array<Current_Aptos_Names>;\n  /** An aggregate relationship */\n  aptos_names_owner_aggregate: Current_Aptos_Names_Aggregate;\n  /** An array relationship */\n  aptos_names_to: Array<Current_Aptos_Names>;\n  /** An aggregate relationship */\n  aptos_names_to_aggregate: Current_Aptos_Names_Aggregate;\n  coin_amount?: Maybe<Scalars['numeric']['output']>;\n  coin_type?: Maybe<Scalars['String']['output']>;\n  collection_data_id_hash: Scalars['String']['output'];\n  collection_name: Scalars['String']['output'];\n  creator_address: Scalars['String']['output'];\n  /** An object relationship */\n  current_token_data?: Maybe<Current_Token_Datas>;\n  event_account_address: Scalars['String']['output'];\n  event_creation_number: Scalars['bigint']['output'];\n  event_index?: Maybe<Scalars['bigint']['output']>;\n  event_sequence_number: Scalars['bigint']['output'];\n  from_address?: Maybe<Scalars['String']['output']>;\n  name: Scalars['String']['output'];\n  property_version: Scalars['numeric']['output'];\n  to_address?: Maybe<Scalars['String']['output']>;\n  token_amount: Scalars['numeric']['output'];\n  token_data_id_hash: Scalars['String']['output'];\n  transaction_timestamp: Scalars['timestamp']['output'];\n  transaction_version: Scalars['bigint']['output'];\n  transfer_type: Scalars['String']['output'];\n};\n\n\n/** columns and relationships of \"token_activities\" */\nexport type Token_ActivitiesAptos_Names_OwnerArgs = {\n  distinct_on?: InputMaybe<Array<Current_Aptos_Names_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Current_Aptos_Names_Order_By>>;\n  where?: InputMaybe<Current_Aptos_Names_Bool_Exp>;\n};\n\n\n/** columns and relationships of \"token_activities\" */\nexport type Token_ActivitiesAptos_Names_Owner_AggregateArgs = {\n  distinct_on?: InputMaybe<Array<Current_Aptos_Names_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Current_Aptos_Names_Order_By>>;\n  where?: InputMaybe<Current_Aptos_Names_Bool_Exp>;\n};\n\n\n/** columns and relationships of \"token_activities\" */\nexport type Token_ActivitiesAptos_Names_ToArgs = {\n  distinct_on?: InputMaybe<Array<Current_Aptos_Names_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Current_Aptos_Names_Order_By>>;\n  where?: InputMaybe<Current_Aptos_Names_Bool_Exp>;\n};\n\n\n/** columns and relationships of \"token_activities\" */\nexport type Token_ActivitiesAptos_Names_To_AggregateArgs = {\n  distinct_on?: InputMaybe<Array<Current_Aptos_Names_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Current_Aptos_Names_Order_By>>;\n  where?: InputMaybe<Current_Aptos_Names_Bool_Exp>;\n};\n\n/** aggregated selection of \"token_activities\" */\nexport type Token_Activities_Aggregate = {\n  __typename?: 'token_activities_aggregate';\n  aggregate?: Maybe<Token_Activities_Aggregate_Fields>;\n  nodes: Array<Token_Activities>;\n};\n\nexport type Token_Activities_Aggregate_Bool_Exp = {\n  count?: InputMaybe<Token_Activities_Aggregate_Bool_Exp_Count>;\n};\n\nexport type Token_Activities_Aggregate_Bool_Exp_Count = {\n  arguments?: InputMaybe<Array<Token_Activities_Select_Column>>;\n  distinct?: InputMaybe<Scalars['Boolean']['input']>;\n  filter?: InputMaybe<Token_Activities_Bool_Exp>;\n  predicate: Int_Comparison_Exp;\n};\n\n/** aggregate fields of \"token_activities\" */\nexport type Token_Activities_Aggregate_Fields = {\n  __typename?: 'token_activities_aggregate_fields';\n  avg?: Maybe<Token_Activities_Avg_Fields>;\n  count: Scalars['Int']['output'];\n  max?: Maybe<Token_Activities_Max_Fields>;\n  min?: Maybe<Token_Activities_Min_Fields>;\n  stddev?: Maybe<Token_Activities_Stddev_Fields>;\n  stddev_pop?: Maybe<Token_Activities_Stddev_Pop_Fields>;\n  stddev_samp?: Maybe<Token_Activities_Stddev_Samp_Fields>;\n  sum?: Maybe<Token_Activities_Sum_Fields>;\n  var_pop?: Maybe<Token_Activities_Var_Pop_Fields>;\n  var_samp?: Maybe<Token_Activities_Var_Samp_Fields>;\n  variance?: Maybe<Token_Activities_Variance_Fields>;\n};\n\n\n/** aggregate fields of \"token_activities\" */\nexport type Token_Activities_Aggregate_FieldsCountArgs = {\n  columns?: InputMaybe<Array<Token_Activities_Select_Column>>;\n  distinct?: InputMaybe<Scalars['Boolean']['input']>;\n};\n\n/** order by aggregate values of table \"token_activities\" */\nexport type Token_Activities_Aggregate_Order_By = {\n  avg?: InputMaybe<Token_Activities_Avg_Order_By>;\n  count?: InputMaybe<Order_By>;\n  max?: InputMaybe<Token_Activities_Max_Order_By>;\n  min?: InputMaybe<Token_Activities_Min_Order_By>;\n  stddev?: InputMaybe<Token_Activities_Stddev_Order_By>;\n  stddev_pop?: InputMaybe<Token_Activities_Stddev_Pop_Order_By>;\n  stddev_samp?: InputMaybe<Token_Activities_Stddev_Samp_Order_By>;\n  sum?: InputMaybe<Token_Activities_Sum_Order_By>;\n  var_pop?: InputMaybe<Token_Activities_Var_Pop_Order_By>;\n  var_samp?: InputMaybe<Token_Activities_Var_Samp_Order_By>;\n  variance?: InputMaybe<Token_Activities_Variance_Order_By>;\n};\n\n/** aggregate avg on columns */\nexport type Token_Activities_Avg_Fields = {\n  __typename?: 'token_activities_avg_fields';\n  coin_amount?: Maybe<Scalars['Float']['output']>;\n  event_creation_number?: Maybe<Scalars['Float']['output']>;\n  event_index?: Maybe<Scalars['Float']['output']>;\n  event_sequence_number?: Maybe<Scalars['Float']['output']>;\n  property_version?: Maybe<Scalars['Float']['output']>;\n  token_amount?: Maybe<Scalars['Float']['output']>;\n  transaction_version?: Maybe<Scalars['Float']['output']>;\n};\n\n/** order by avg() on columns of table \"token_activities\" */\nexport type Token_Activities_Avg_Order_By = {\n  coin_amount?: InputMaybe<Order_By>;\n  event_creation_number?: InputMaybe<Order_By>;\n  event_index?: InputMaybe<Order_By>;\n  event_sequence_number?: InputMaybe<Order_By>;\n  property_version?: InputMaybe<Order_By>;\n  token_amount?: InputMaybe<Order_By>;\n  transaction_version?: InputMaybe<Order_By>;\n};\n\n/** Boolean expression to filter rows from the table \"token_activities\". All fields are combined with a logical 'AND'. */\nexport type Token_Activities_Bool_Exp = {\n  _and?: InputMaybe<Array<Token_Activities_Bool_Exp>>;\n  _not?: InputMaybe<Token_Activities_Bool_Exp>;\n  _or?: InputMaybe<Array<Token_Activities_Bool_Exp>>;\n  aptos_names_owner?: InputMaybe<Current_Aptos_Names_Bool_Exp>;\n  aptos_names_owner_aggregate?: InputMaybe<Current_Aptos_Names_Aggregate_Bool_Exp>;\n  aptos_names_to?: InputMaybe<Current_Aptos_Names_Bool_Exp>;\n  aptos_names_to_aggregate?: InputMaybe<Current_Aptos_Names_Aggregate_Bool_Exp>;\n  coin_amount?: InputMaybe<Numeric_Comparison_Exp>;\n  coin_type?: InputMaybe<String_Comparison_Exp>;\n  collection_data_id_hash?: InputMaybe<String_Comparison_Exp>;\n  collection_name?: InputMaybe<String_Comparison_Exp>;\n  creator_address?: InputMaybe<String_Comparison_Exp>;\n  current_token_data?: InputMaybe<Current_Token_Datas_Bool_Exp>;\n  event_account_address?: InputMaybe<String_Comparison_Exp>;\n  event_creation_number?: InputMaybe<Bigint_Comparison_Exp>;\n  event_index?: InputMaybe<Bigint_Comparison_Exp>;\n  event_sequence_number?: InputMaybe<Bigint_Comparison_Exp>;\n  from_address?: InputMaybe<String_Comparison_Exp>;\n  name?: InputMaybe<String_Comparison_Exp>;\n  property_version?: InputMaybe<Numeric_Comparison_Exp>;\n  to_address?: InputMaybe<String_Comparison_Exp>;\n  token_amount?: InputMaybe<Numeric_Comparison_Exp>;\n  token_data_id_hash?: InputMaybe<String_Comparison_Exp>;\n  transaction_timestamp?: InputMaybe<Timestamp_Comparison_Exp>;\n  transaction_version?: InputMaybe<Bigint_Comparison_Exp>;\n  transfer_type?: InputMaybe<String_Comparison_Exp>;\n};\n\n/** aggregate max on columns */\nexport type Token_Activities_Max_Fields = {\n  __typename?: 'token_activities_max_fields';\n  coin_amount?: Maybe<Scalars['numeric']['output']>;\n  coin_type?: Maybe<Scalars['String']['output']>;\n  collection_data_id_hash?: Maybe<Scalars['String']['output']>;\n  collection_name?: Maybe<Scalars['String']['output']>;\n  creator_address?: Maybe<Scalars['String']['output']>;\n  event_account_address?: Maybe<Scalars['String']['output']>;\n  event_creation_number?: Maybe<Scalars['bigint']['output']>;\n  event_index?: Maybe<Scalars['bigint']['output']>;\n  event_sequence_number?: Maybe<Scalars['bigint']['output']>;\n  from_address?: Maybe<Scalars['String']['output']>;\n  name?: Maybe<Scalars['String']['output']>;\n  property_version?: Maybe<Scalars['numeric']['output']>;\n  to_address?: Maybe<Scalars['String']['output']>;\n  token_amount?: Maybe<Scalars['numeric']['output']>;\n  token_data_id_hash?: Maybe<Scalars['String']['output']>;\n  transaction_timestamp?: Maybe<Scalars['timestamp']['output']>;\n  transaction_version?: Maybe<Scalars['bigint']['output']>;\n  transfer_type?: Maybe<Scalars['String']['output']>;\n};\n\n/** order by max() on columns of table \"token_activities\" */\nexport type Token_Activities_Max_Order_By = {\n  coin_amount?: InputMaybe<Order_By>;\n  coin_type?: InputMaybe<Order_By>;\n  collection_data_id_hash?: InputMaybe<Order_By>;\n  collection_name?: InputMaybe<Order_By>;\n  creator_address?: InputMaybe<Order_By>;\n  event_account_address?: InputMaybe<Order_By>;\n  event_creation_number?: InputMaybe<Order_By>;\n  event_index?: InputMaybe<Order_By>;\n  event_sequence_number?: InputMaybe<Order_By>;\n  from_address?: InputMaybe<Order_By>;\n  name?: InputMaybe<Order_By>;\n  property_version?: InputMaybe<Order_By>;\n  to_address?: InputMaybe<Order_By>;\n  token_amount?: InputMaybe<Order_By>;\n  token_data_id_hash?: InputMaybe<Order_By>;\n  transaction_timestamp?: InputMaybe<Order_By>;\n  transaction_version?: InputMaybe<Order_By>;\n  transfer_type?: InputMaybe<Order_By>;\n};\n\n/** aggregate min on columns */\nexport type Token_Activities_Min_Fields = {\n  __typename?: 'token_activities_min_fields';\n  coin_amount?: Maybe<Scalars['numeric']['output']>;\n  coin_type?: Maybe<Scalars['String']['output']>;\n  collection_data_id_hash?: Maybe<Scalars['String']['output']>;\n  collection_name?: Maybe<Scalars['String']['output']>;\n  creator_address?: Maybe<Scalars['String']['output']>;\n  event_account_address?: Maybe<Scalars['String']['output']>;\n  event_creation_number?: Maybe<Scalars['bigint']['output']>;\n  event_index?: Maybe<Scalars['bigint']['output']>;\n  event_sequence_number?: Maybe<Scalars['bigint']['output']>;\n  from_address?: Maybe<Scalars['String']['output']>;\n  name?: Maybe<Scalars['String']['output']>;\n  property_version?: Maybe<Scalars['numeric']['output']>;\n  to_address?: Maybe<Scalars['String']['output']>;\n  token_amount?: Maybe<Scalars['numeric']['output']>;\n  token_data_id_hash?: Maybe<Scalars['String']['output']>;\n  transaction_timestamp?: Maybe<Scalars['timestamp']['output']>;\n  transaction_version?: Maybe<Scalars['bigint']['output']>;\n  transfer_type?: Maybe<Scalars['String']['output']>;\n};\n\n/** order by min() on columns of table \"token_activities\" */\nexport type Token_Activities_Min_Order_By = {\n  coin_amount?: InputMaybe<Order_By>;\n  coin_type?: InputMaybe<Order_By>;\n  collection_data_id_hash?: InputMaybe<Order_By>;\n  collection_name?: InputMaybe<Order_By>;\n  creator_address?: InputMaybe<Order_By>;\n  event_account_address?: InputMaybe<Order_By>;\n  event_creation_number?: InputMaybe<Order_By>;\n  event_index?: InputMaybe<Order_By>;\n  event_sequence_number?: InputMaybe<Order_By>;\n  from_address?: InputMaybe<Order_By>;\n  name?: InputMaybe<Order_By>;\n  property_version?: InputMaybe<Order_By>;\n  to_address?: InputMaybe<Order_By>;\n  token_amount?: InputMaybe<Order_By>;\n  token_data_id_hash?: InputMaybe<Order_By>;\n  transaction_timestamp?: InputMaybe<Order_By>;\n  transaction_version?: InputMaybe<Order_By>;\n  transfer_type?: InputMaybe<Order_By>;\n};\n\n/** Ordering options when selecting data from \"token_activities\". */\nexport type Token_Activities_Order_By = {\n  aptos_names_owner_aggregate?: InputMaybe<Current_Aptos_Names_Aggregate_Order_By>;\n  aptos_names_to_aggregate?: InputMaybe<Current_Aptos_Names_Aggregate_Order_By>;\n  coin_amount?: InputMaybe<Order_By>;\n  coin_type?: InputMaybe<Order_By>;\n  collection_data_id_hash?: InputMaybe<Order_By>;\n  collection_name?: InputMaybe<Order_By>;\n  creator_address?: InputMaybe<Order_By>;\n  current_token_data?: InputMaybe<Current_Token_Datas_Order_By>;\n  event_account_address?: InputMaybe<Order_By>;\n  event_creation_number?: InputMaybe<Order_By>;\n  event_index?: InputMaybe<Order_By>;\n  event_sequence_number?: InputMaybe<Order_By>;\n  from_address?: InputMaybe<Order_By>;\n  name?: InputMaybe<Order_By>;\n  property_version?: InputMaybe<Order_By>;\n  to_address?: InputMaybe<Order_By>;\n  token_amount?: InputMaybe<Order_By>;\n  token_data_id_hash?: InputMaybe<Order_By>;\n  transaction_timestamp?: InputMaybe<Order_By>;\n  transaction_version?: InputMaybe<Order_By>;\n  transfer_type?: InputMaybe<Order_By>;\n};\n\n/** select columns of table \"token_activities\" */\nexport enum Token_Activities_Select_Column {\n  /** column name */\n  CoinAmount = 'coin_amount',\n  /** column name */\n  CoinType = 'coin_type',\n  /** column name */\n  CollectionDataIdHash = 'collection_data_id_hash',\n  /** column name */\n  CollectionName = 'collection_name',\n  /** column name */\n  CreatorAddress = 'creator_address',\n  /** column name */\n  EventAccountAddress = 'event_account_address',\n  /** column name */\n  EventCreationNumber = 'event_creation_number',\n  /** column name */\n  EventIndex = 'event_index',\n  /** column name */\n  EventSequenceNumber = 'event_sequence_number',\n  /** column name */\n  FromAddress = 'from_address',\n  /** column name */\n  Name = 'name',\n  /** column name */\n  PropertyVersion = 'property_version',\n  /** column name */\n  ToAddress = 'to_address',\n  /** column name */\n  TokenAmount = 'token_amount',\n  /** column name */\n  TokenDataIdHash = 'token_data_id_hash',\n  /** column name */\n  TransactionTimestamp = 'transaction_timestamp',\n  /** column name */\n  TransactionVersion = 'transaction_version',\n  /** column name */\n  TransferType = 'transfer_type'\n}\n\n/** aggregate stddev on columns */\nexport type Token_Activities_Stddev_Fields = {\n  __typename?: 'token_activities_stddev_fields';\n  coin_amount?: Maybe<Scalars['Float']['output']>;\n  event_creation_number?: Maybe<Scalars['Float']['output']>;\n  event_index?: Maybe<Scalars['Float']['output']>;\n  event_sequence_number?: Maybe<Scalars['Float']['output']>;\n  property_version?: Maybe<Scalars['Float']['output']>;\n  token_amount?: Maybe<Scalars['Float']['output']>;\n  transaction_version?: Maybe<Scalars['Float']['output']>;\n};\n\n/** order by stddev() on columns of table \"token_activities\" */\nexport type Token_Activities_Stddev_Order_By = {\n  coin_amount?: InputMaybe<Order_By>;\n  event_creation_number?: InputMaybe<Order_By>;\n  event_index?: InputMaybe<Order_By>;\n  event_sequence_number?: InputMaybe<Order_By>;\n  property_version?: InputMaybe<Order_By>;\n  token_amount?: InputMaybe<Order_By>;\n  transaction_version?: InputMaybe<Order_By>;\n};\n\n/** aggregate stddev_pop on columns */\nexport type Token_Activities_Stddev_Pop_Fields = {\n  __typename?: 'token_activities_stddev_pop_fields';\n  coin_amount?: Maybe<Scalars['Float']['output']>;\n  event_creation_number?: Maybe<Scalars['Float']['output']>;\n  event_index?: Maybe<Scalars['Float']['output']>;\n  event_sequence_number?: Maybe<Scalars['Float']['output']>;\n  property_version?: Maybe<Scalars['Float']['output']>;\n  token_amount?: Maybe<Scalars['Float']['output']>;\n  transaction_version?: Maybe<Scalars['Float']['output']>;\n};\n\n/** order by stddev_pop() on columns of table \"token_activities\" */\nexport type Token_Activities_Stddev_Pop_Order_By = {\n  coin_amount?: InputMaybe<Order_By>;\n  event_creation_number?: InputMaybe<Order_By>;\n  event_index?: InputMaybe<Order_By>;\n  event_sequence_number?: InputMaybe<Order_By>;\n  property_version?: InputMaybe<Order_By>;\n  token_amount?: InputMaybe<Order_By>;\n  transaction_version?: InputMaybe<Order_By>;\n};\n\n/** aggregate stddev_samp on columns */\nexport type Token_Activities_Stddev_Samp_Fields = {\n  __typename?: 'token_activities_stddev_samp_fields';\n  coin_amount?: Maybe<Scalars['Float']['output']>;\n  event_creation_number?: Maybe<Scalars['Float']['output']>;\n  event_index?: Maybe<Scalars['Float']['output']>;\n  event_sequence_number?: Maybe<Scalars['Float']['output']>;\n  property_version?: Maybe<Scalars['Float']['output']>;\n  token_amount?: Maybe<Scalars['Float']['output']>;\n  transaction_version?: Maybe<Scalars['Float']['output']>;\n};\n\n/** order by stddev_samp() on columns of table \"token_activities\" */\nexport type Token_Activities_Stddev_Samp_Order_By = {\n  coin_amount?: InputMaybe<Order_By>;\n  event_creation_number?: InputMaybe<Order_By>;\n  event_index?: InputMaybe<Order_By>;\n  event_sequence_number?: InputMaybe<Order_By>;\n  property_version?: InputMaybe<Order_By>;\n  token_amount?: InputMaybe<Order_By>;\n  transaction_version?: InputMaybe<Order_By>;\n};\n\n/** Streaming cursor of the table \"token_activities\" */\nexport type Token_Activities_Stream_Cursor_Input = {\n  /** Stream column input with initial value */\n  initial_value: Token_Activities_Stream_Cursor_Value_Input;\n  /** cursor ordering */\n  ordering?: InputMaybe<Cursor_Ordering>;\n};\n\n/** Initial value of the column from where the streaming should start */\nexport type Token_Activities_Stream_Cursor_Value_Input = {\n  coin_amount?: InputMaybe<Scalars['numeric']['input']>;\n  coin_type?: InputMaybe<Scalars['String']['input']>;\n  collection_data_id_hash?: InputMaybe<Scalars['String']['input']>;\n  collection_name?: InputMaybe<Scalars['String']['input']>;\n  creator_address?: InputMaybe<Scalars['String']['input']>;\n  event_account_address?: InputMaybe<Scalars['String']['input']>;\n  event_creation_number?: InputMaybe<Scalars['bigint']['input']>;\n  event_index?: InputMaybe<Scalars['bigint']['input']>;\n  event_sequence_number?: InputMaybe<Scalars['bigint']['input']>;\n  from_address?: InputMaybe<Scalars['String']['input']>;\n  name?: InputMaybe<Scalars['String']['input']>;\n  property_version?: InputMaybe<Scalars['numeric']['input']>;\n  to_address?: InputMaybe<Scalars['String']['input']>;\n  token_amount?: InputMaybe<Scalars['numeric']['input']>;\n  token_data_id_hash?: InputMaybe<Scalars['String']['input']>;\n  transaction_timestamp?: InputMaybe<Scalars['timestamp']['input']>;\n  transaction_version?: InputMaybe<Scalars['bigint']['input']>;\n  transfer_type?: InputMaybe<Scalars['String']['input']>;\n};\n\n/** aggregate sum on columns */\nexport type Token_Activities_Sum_Fields = {\n  __typename?: 'token_activities_sum_fields';\n  coin_amount?: Maybe<Scalars['numeric']['output']>;\n  event_creation_number?: Maybe<Scalars['bigint']['output']>;\n  event_index?: Maybe<Scalars['bigint']['output']>;\n  event_sequence_number?: Maybe<Scalars['bigint']['output']>;\n  property_version?: Maybe<Scalars['numeric']['output']>;\n  token_amount?: Maybe<Scalars['numeric']['output']>;\n  transaction_version?: Maybe<Scalars['bigint']['output']>;\n};\n\n/** order by sum() on columns of table \"token_activities\" */\nexport type Token_Activities_Sum_Order_By = {\n  coin_amount?: InputMaybe<Order_By>;\n  event_creation_number?: InputMaybe<Order_By>;\n  event_index?: InputMaybe<Order_By>;\n  event_sequence_number?: InputMaybe<Order_By>;\n  property_version?: InputMaybe<Order_By>;\n  token_amount?: InputMaybe<Order_By>;\n  transaction_version?: InputMaybe<Order_By>;\n};\n\n/** columns and relationships of \"token_activities_v2\" */\nexport type Token_Activities_V2 = {\n  __typename?: 'token_activities_v2';\n  after_value?: Maybe<Scalars['String']['output']>;\n  /** An array relationship */\n  aptos_names_from: Array<Current_Aptos_Names>;\n  /** An aggregate relationship */\n  aptos_names_from_aggregate: Current_Aptos_Names_Aggregate;\n  /** An array relationship */\n  aptos_names_to: Array<Current_Aptos_Names>;\n  /** An aggregate relationship */\n  aptos_names_to_aggregate: Current_Aptos_Names_Aggregate;\n  before_value?: Maybe<Scalars['String']['output']>;\n  /** An object relationship */\n  current_token_data?: Maybe<Current_Token_Datas_V2>;\n  entry_function_id_str?: Maybe<Scalars['String']['output']>;\n  event_account_address: Scalars['String']['output'];\n  event_index: Scalars['bigint']['output'];\n  from_address?: Maybe<Scalars['String']['output']>;\n  is_fungible_v2?: Maybe<Scalars['Boolean']['output']>;\n  property_version_v1: Scalars['numeric']['output'];\n  to_address?: Maybe<Scalars['String']['output']>;\n  token_amount: Scalars['numeric']['output'];\n  token_data_id: Scalars['String']['output'];\n  token_standard: Scalars['String']['output'];\n  transaction_timestamp: Scalars['timestamp']['output'];\n  transaction_version: Scalars['bigint']['output'];\n  type: Scalars['String']['output'];\n};\n\n\n/** columns and relationships of \"token_activities_v2\" */\nexport type Token_Activities_V2Aptos_Names_FromArgs = {\n  distinct_on?: InputMaybe<Array<Current_Aptos_Names_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Current_Aptos_Names_Order_By>>;\n  where?: InputMaybe<Current_Aptos_Names_Bool_Exp>;\n};\n\n\n/** columns and relationships of \"token_activities_v2\" */\nexport type Token_Activities_V2Aptos_Names_From_AggregateArgs = {\n  distinct_on?: InputMaybe<Array<Current_Aptos_Names_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Current_Aptos_Names_Order_By>>;\n  where?: InputMaybe<Current_Aptos_Names_Bool_Exp>;\n};\n\n\n/** columns and relationships of \"token_activities_v2\" */\nexport type Token_Activities_V2Aptos_Names_ToArgs = {\n  distinct_on?: InputMaybe<Array<Current_Aptos_Names_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Current_Aptos_Names_Order_By>>;\n  where?: InputMaybe<Current_Aptos_Names_Bool_Exp>;\n};\n\n\n/** columns and relationships of \"token_activities_v2\" */\nexport type Token_Activities_V2Aptos_Names_To_AggregateArgs = {\n  distinct_on?: InputMaybe<Array<Current_Aptos_Names_Select_Column>>;\n  limit?: InputMaybe<Scalars['Int']['input']>;\n  offset?: InputMaybe<Scalars['Int']['input']>;\n  order_by?: InputMaybe<Array<Current_Aptos_Names_Order_By>>;\n  where?: InputMaybe<Current_Aptos_Names_Bool_Exp>;\n};\n\n/** aggregated selection of \"token_activities_v2\" */\nexport type Token_Activities_V2_Aggregate = {\n  __typename?: 'token_activities_v2_aggregate';\n  aggregate?: Maybe<Token_Activities_V2_Aggregate_Fields>;\n  nodes: Array<Token_Activities_V2>;\n};\n\nexport type Token_Activities_V2_Aggregate_Bool_Exp = {\n  bool_and?: InputMaybe<Token_Activities_V2_Aggregate_Bool_Exp_Bool_And>;\n  bool_or?: InputMaybe<Token_Activities_V2_Aggregate_Bool_Exp_Bool_Or>;\n  count?: InputMaybe<Token_Activities_V2_Aggregate_Bool_Exp_Count>;\n};\n\nexport type Token_Activities_V2_Aggregate_Bool_Exp_Bool_And = {\n  arguments: Token_Activities_V2_Select_Column_Token_Activities_V2_Aggregate_Bool_Exp_Bool_And_Arguments_Columns;\n  distinct?: InputMaybe<Scalars['Boolean']['input']>;\n  filter?: InputMaybe<Token_Activities_V2_Bool_Exp>;\n  predicate: Boolean_Comparison_Exp;\n};\n\nexport type Token_Activities_V2_Aggregate_Bool_Exp_Bool_Or = {\n  arguments: Token_Activities_V2_Select_Column_Token_Activities_V2_Aggregate_Bool_Exp_Bool_Or_Arguments_Columns;\n  distinct?: InputMaybe<Scalars['Boolean']['input']>;\n  filter?: InputMaybe<Token_Activities_V2_Bool_Exp>;\n  predicate: Boolean_Comparison_Exp;\n};\n\nexport type Token_Activities_V2_Aggregate_Bool_Exp_Count = {\n  arguments?: InputMaybe<Array<Token_Activities_V2_Select_Column>>;\n  distinct?: InputMaybe<Scalars['Boolean']['input']>;\n  filter?: InputMaybe<Token_Activities_V2_Bool_Exp>;\n  predicate: Int_Comparison_Exp;\n};\n\n/** aggregate fields of \"token_activities_v2\" */\nexport type Token_Activities_V2_Aggregate_Fields = {\n  __typename?: 'token_activities_v2_aggregate_fields';\n  avg?: Maybe<Token_Activities_V2_Avg_Fields>;\n  count: Scalars['Int']['output'];\n  max?: Maybe<Token_Activities_V2_Max_Fields>;\n  min?: Maybe<Token_Activities_V2_Min_Fields>;\n  stddev?: Maybe<Token_Activities_V2_Stddev_Fields>;\n  stddev_pop?: Maybe<Token_Activities_V2_Stddev_Pop_Fields>;\n  stddev_samp?: Maybe<Token_Activities_V2_Stddev_Samp_Fields>;\n  sum?: Maybe<Token_Activities_V2_Sum_Fields>;\n  var_pop?: Maybe<Token_Activities_V2_Var_Pop_Fields>;\n  var_samp?: Maybe<Token_Activities_V2_Var_Samp_Fields>;\n  variance?: Maybe<Token_Activities_V2_Variance_Fields>;\n};\n\n\n/** aggregate fields of \"token_activities_v2\" */\nexport type Token_Activities_V2_Aggregate_FieldsCountArgs = {\n  columns?: InputMaybe<Array<Token_Activities_V2_Select_Column>>;\n  distinct?: InputMaybe<Scalars['Boolean']['input']>;\n};\n\n/** order by aggregate values of table \"token_activities_v2\" */\nexport type Token_Activities_V2_Aggregate_Order_By = {\n  avg?: InputMaybe<Token_Activities_V2_Avg_Order_By>;\n  count?: InputMaybe<Order_By>;\n  max?: InputMaybe<Token_Activities_V2_Max_Order_By>;\n  min?: InputMaybe<Token_Activities_V2_Min_Order_By>;\n  stddev?: InputMaybe<Token_Activities_V2_Stddev_Order_By>;\n  stddev_pop?: InputMaybe<Token_Activities_V2_Stddev_Pop_Order_By>;\n  stddev_samp?: InputMaybe<Token_Activities_V2_Stddev_Samp_Order_By>;\n  sum?: InputMaybe<Token_Activities_V2_Sum_Order_By>;\n  var_pop?: InputMaybe<Token_Activities_V2_Var_Pop_Order_By>;\n  var_samp?: InputMaybe<Token_Activities_V2_Var_Samp_Order_By>;\n  variance?: InputMaybe<Token_Activities_V2_Variance_Order_By>;\n};\n\n/** aggregate avg on columns */\nexport type Token_Activities_V2_Avg_Fields = {\n  __typename?: 'token_activities_v2_avg_fields';\n  event_index?: Maybe<Scalars['Float']['output']>;\n  property_version_v1?: Maybe<Scalars['Float']['output']>;\n  token_amount?: Maybe<Scalars['Float']['output']>;\n  transaction_version?: Maybe<Scalars['Float']['output']>;\n};\n\n/** order by avg() on columns of table \"token_activities_v2\" */\nexport type Token_Activities_V2_Avg_Order_By = {\n  event_index?: InputMaybe<Order_By>;\n  property_version_v1?: InputMaybe<Order_By>;\n  token_amount?: InputMaybe<Order_By>;\n  transaction_version?: InputMaybe<Order_By>;\n};\n\n/** Boolean expression to filter rows from the table \"token_activities_v2\". All fields are combined with a logical 'AND'. */\nexport type Token_Activities_V2_Bool_Exp = {\n  _and?: InputMaybe<Array<Token_Activities_V2_Bool_Exp>>;\n  _not?: InputMaybe<Token_Activities_V2_Bool_Exp>;\n  _or?: InputMaybe<Array<Token_Activities_V2_Bool_Exp>>;\n  after_value?: InputMaybe<String_Comparison_Exp>;\n  aptos_names_from?: InputMaybe<Current_Aptos_Names_Bool_Exp>;\n  aptos_names_from_aggregate?: InputMaybe<Current_Aptos_Names_Aggregate_Bool_Exp>;\n  aptos_names_to?: InputMaybe<Current_Aptos_Names_Bool_Exp>;\n  aptos_names_to_aggregate?: InputMaybe<Current_Aptos_Names_Aggregate_Bool_Exp>;\n  before_value?: InputMaybe<String_Comparison_Exp>;\n  current_token_data?: InputMaybe<Current_Token_Datas_V2_Bool_Exp>;\n  entry_function_id_str?: InputMaybe<String_Comparison_Exp>;\n  event_account_address?: InputMaybe<String_Comparison_Exp>;\n  event_index?: InputMaybe<Bigint_Comparison_Exp>;\n  from_address?: InputMaybe<String_Comparison_Exp>;\n  is_fungible_v2?: InputMaybe<Boolean_Comparison_Exp>;\n  property_version_v1?: InputMaybe<Numeric_Comparison_Exp>;\n  to_address?: InputMaybe<String_Comparison_Exp>;\n  token_amount?: InputMaybe<Numeric_Comparison_Exp>;\n  token_data_id?: InputMaybe<String_Comparison_Exp>;\n  token_standard?: InputMaybe<String_Comparison_Exp>;\n  transaction_timestamp?: InputMaybe<Timestamp_Comparison_Exp>;\n  transaction_version?: InputMaybe<Bigint_Comparison_Exp>;\n  type?: InputMaybe<String_Comparison_Exp>;\n};\n\n/** aggregate max on columns */\nexport type Token_Activities_V2_Max_Fields = {\n  __typename?: 'token_activities_v2_max_fields';\n  after_value?: Maybe<Scalars['String']['output']>;\n  before_value?: Maybe<Scalars['String']['output']>;\n  entry_function_id_str?: Maybe<Scalars['String']['output']>;\n  event_account_address?: Maybe<Scalars['String']['output']>;\n  event_index?: Maybe<Scalars['bigint']['output']>;\n  from_address?: Maybe<Scalars['String']['output']>;\n  property_version_v1?: Maybe<Scalars['numeric']['output']>;\n  to_address?: Maybe<Scalars['String']['output']>;\n  token_amount?: Maybe<Scalars['numeric']['output']>;\n  token_data_id?: Maybe<Scalars['String']['output']>;\n  token_standard?: Maybe<Scalars['String']['output']>;\n  transaction_timestamp?: Maybe<Scalars['timestamp']['output']>;\n  transaction_version?: Maybe<Scalars['bigint']['output']>;\n  type?: Maybe<Scalars['String']['output']>;\n};\n\n/** order by max() on columns of table \"token_activities_v2\" */\nexport type Token_Activities_V2_Max_Order_By = {\n  after_value?: InputMaybe<Order_By>;\n  before_value?: InputMaybe<Order_By>;\n  entry_function_id_str?: InputMaybe<Order_By>;\n  event_account_address?: InputMaybe<Order_By>;\n  event_index?: InputMaybe<Order_By>;\n  from_address?: InputMaybe<Order_By>;\n  property_version_v1?: InputMaybe<Order_By>;\n  to_address?: InputMaybe<Order_By>;\n  token_amount?: InputMaybe<Order_By>;\n  token_data_id?: InputMaybe<Order_By>;\n  token_standard?: InputMaybe<Order_By>;\n  transaction_timestamp?: InputMaybe<Order_By>;\n  transaction_version?: InputMaybe<Order_By>;\n  type?: InputMaybe<Order_By>;\n};\n\n/** aggregate min on columns */\nexport type Token_Activities_V2_Min_Fields = {\n  __typename?: 'token_activities_v2_min_fields';\n  after_value?: Maybe<Scalars['String']['output']>;\n  before_value?: Maybe<Scalars['String']['output']>;\n  entry_function_id_str?: Maybe<Scalars['String']['output']>;\n  event_account_address?: Maybe<Scalars['String']['output']>;\n  event_index?: Maybe<Scalars['bigint']['output']>;\n  from_address?: Maybe<Scalars['String']['output']>;\n  property_version_v1?: Maybe<Scalars['numeric']['output']>;\n  to_address?: Maybe<Scalars['String']['output']>;\n  token_amount?: Maybe<Scalars['numeric']['output']>;\n  token_data_id?: Maybe<Scalars['String']['output']>;\n  token_standard?: Maybe<Scalars['String']['output']>;\n  transaction_timestamp?: Maybe<Scalars['timestamp']['output']>;\n  transaction_version?: Maybe<Scalars['bigint']['output']>;\n  type?: Maybe<Scalars['String']['output']>;\n};\n\n/** order by min() on columns of table \"token_activities_v2\" */\nexport type Token_Activities_V2_Min_Order_By = {\n  after_value?: InputMaybe<Order_By>;\n  before_value?: InputMaybe<Order_By>;\n  entry_function_id_str?: InputMaybe<Order_By>;\n  event_account_address?: InputMaybe<Order_By>;\n  event_index?: InputMaybe<Order_By>;\n  from_address?: InputMaybe<Order_By>;\n  property_version_v1?: InputMaybe<Order_By>;\n  to_address?: InputMaybe<Order_By>;\n  token_amount?: InputMaybe<Order_By>;\n  token_data_id?: InputMaybe<Order_By>;\n  token_standard?: InputMaybe<Order_By>;\n  transaction_timestamp?: InputMaybe<Order_By>;\n  transaction_version?: InputMaybe<Order_By>;\n  type?: InputMaybe<Order_By>;\n};\n\n/** Ordering options when selecting data from \"token_activities_v2\". */\nexport type Token_Activities_V2_Order_By = {\n  after_value?: InputMaybe<Order_By>;\n  aptos_names_from_aggregate?: InputMaybe<Current_Aptos_Names_Aggregate_Order_By>;\n  aptos_names_to_aggregate?: InputMaybe<Current_Aptos_Names_Aggregate_Order_By>;\n  before_value?: InputMaybe<Order_By>;\n  current_token_data?: InputMaybe<Current_Token_Datas_V2_Order_By>;\n  entry_function_id_str?: InputMaybe<Order_By>;\n  event_account_address?: InputMaybe<Order_By>;\n  event_index?: InputMaybe<Order_By>;\n  from_address?: InputMaybe<Order_By>;\n  is_fungible_v2?: InputMaybe<Order_By>;\n  property_version_v1?: InputMaybe<Order_By>;\n  to_address?: InputMaybe<Order_By>;\n  token_amount?: InputMaybe<Order_By>;\n  token_data_id?: InputMaybe<Order_By>;\n  token_standard?: InputMaybe<Order_By>;\n  transaction_timestamp?: InputMaybe<Order_By>;\n  transaction_version?: InputMaybe<Order_By>;\n  type?: InputMaybe<Order_By>;\n};\n\n/** select columns of table \"token_activities_v2\" */\nexport enum Token_Activities_V2_Select_Column {\n  /** column name */\n  AfterValue = 'after_value',\n  /** column name */\n  BeforeValue = 'before_value',\n  /** column name */\n  EntryFunctionIdStr = 'entry_function_id_str',\n  /** column name */\n  EventAccountAddress = 'event_account_address',\n  /** column name */\n  EventIndex = 'event_index',\n  /** column name */\n  FromAddress = 'from_address',\n  /** column name */\n  IsFungibleV2 = 'is_fungible_v2',\n  /** column name */\n  PropertyVersionV1 = 'property_version_v1',\n  /** column name */\n  ToAddress = 'to_address',\n  /** column name */\n  TokenAmount = 'token_amount',\n  /** column name */\n  TokenDataId = 'token_data_id',\n  /** column name */\n  TokenStandard = 'token_standard',\n  /** column name */\n  TransactionTimestamp = 'transaction_timestamp',\n  /** column name */\n  TransactionVersion = 'transaction_version',\n  /** column name */\n  Type = 'type'\n}\n\n/** select \"token_activities_v2_aggregate_bool_exp_bool_and_arguments_columns\" columns of table \"token_activities_v2\" */\nexport enum Token_Activities_V2_Select_Column_Token_Activities_V2_Aggregate_Bool_Exp_Bool_And_Arguments_Columns {\n  /** column name */\n  IsFungibleV2 = 'is_fungible_v2'\n}\n\n/** select \"token_activities_v2_aggregate_bool_exp_bool_or_arguments_columns\" columns of table \"token_activities_v2\" */\nexport enum Token_Activities_V2_Select_Column_Token_Activities_V2_Aggregate_Bool_Exp_Bool_Or_Arguments_Columns {\n  /** column name */\n  IsFungibleV2 = 'is_fungible_v2'\n}\n\n/** aggregate stddev on columns */\nexport type Token_Activities_V2_Stddev_Fields = {\n  __typename?: 'token_activities_v2_stddev_fields';\n  event_index?: Maybe<Scalars['Float']['output']>;\n  property_version_v1?: Maybe<Scalars['Float']['output']>;\n  token_amount?: Maybe<Scalars['Float']['output']>;\n  transaction_version?: Maybe<Scalars['Float']['output']>;\n};\n\n/** order by stddev() on columns of table \"token_activities_v2\" */\nexport type Token_Activities_V2_Stddev_Order_By = {\n  event_index?: InputMaybe<Order_By>;\n  property_version_v1?: InputMaybe<Order_By>;\n  token_amount?: InputMaybe<Order_By>;\n  transaction_version?: InputMaybe<Order_By>;\n};\n\n/** aggregate stddev_pop on columns */\nexport type Token_Activities_V2_Stddev_Pop_Fields = {\n  __typename?: 'token_activities_v2_stddev_pop_fields';\n  event_index?: Maybe<Scalars['Float']['output']>;\n  property_version_v1?: Maybe<Scalars['Float']['output']>;\n  token_amount?: Maybe<Scalars['Float']['output']>;\n  transaction_version?: Maybe<Scalars['Float']['output']>;\n};\n\n/** order by stddev_pop() on columns of table \"token_activities_v2\" */\nexport type Token_Activities_V2_Stddev_Pop_Order_By = {\n  event_index?: InputMaybe<Order_By>;\n  property_version_v1?: InputMaybe<Order_By>;\n  token_amount?: InputMaybe<Order_By>;\n  transaction_version?: InputMaybe<Order_By>;\n};\n\n/** aggregate stddev_samp on columns */\nexport type Token_Activities_V2_Stddev_Samp_Fields = {\n  __typename?: 'token_activities_v2_stddev_samp_fields';\n  event_index?: Maybe<Scalars['Float']['output']>;\n  property_version_v1?: Maybe<Scalars['Float']['output']>;\n  token_amount?: Maybe<Scalars['Float']['output']>;\n  transaction_version?: Maybe<Scalars['Float']['output']>;\n};\n\n/** order by stddev_samp() on columns of table \"token_activities_v2\" */\nexport type Token_Activities_V2_Stddev_Samp_Order_By = {\n  event_index?: InputMaybe<Order_By>;\n  property_version_v1?: InputMaybe<Order_By>;\n  token_amount?: InputMaybe<Order_By>;\n  transaction_version?: InputMaybe<Order_By>;\n};\n\n/** Streaming cursor of the table \"token_activities_v2\" */\nexport type Token_Activities_V2_Stream_Cursor_Input = {\n  /** Stream column input with initial value */\n  initial_value: Token_Activities_V2_Stream_Cursor_Value_Input;\n  /** cursor ordering */\n  ordering?: InputMaybe<Cursor_Ordering>;\n};\n\n/** Initial value of the column from where the streaming should start */\nexport type Token_Activities_V2_Stream_Cursor_Value_Input = {\n  after_value?: InputMaybe<Scalars['String']['input']>;\n  before_value?: InputMaybe<Scalars['String']['input']>;\n  entry_function_id_str?: InputMaybe<Scalars['String']['input']>;\n  event_account_address?: InputMaybe<Scalars['String']['input']>;\n  event_index?: InputMaybe<Scalars['bigint']['input']>;\n  from_address?: InputMaybe<Scalars['String']['input']>;\n  is_fungible_v2?: InputMaybe<Scalars['Boolean']['input']>;\n  property_version_v1?: InputMaybe<Scalars['numeric']['input']>;\n  to_address?: InputMaybe<Scalars['String']['input']>;\n  token_amount?: InputMaybe<Scalars['numeric']['input']>;\n  token_data_id?: InputMaybe<Scalars['String']['input']>;\n  token_standard?: InputMaybe<Scalars['String']['input']>;\n  transaction_timestamp?: InputMaybe<Scalars['timestamp']['input']>;\n  transaction_version?: InputMaybe<Scalars['bigint']['input']>;\n  type?: InputMaybe<Scalars['String']['input']>;\n};\n\n/** aggregate sum on columns */\nexport type Token_Activities_V2_Sum_Fields = {\n  __typename?: 'token_activities_v2_sum_fields';\n  event_index?: Maybe<Scalars['bigint']['output']>;\n  property_version_v1?: Maybe<Scalars['numeric']['output']>;\n  token_amount?: Maybe<Scalars['numeric']['output']>;\n  transaction_version?: Maybe<Scalars['bigint']['output']>;\n};\n\n/** order by sum() on columns of table \"token_activities_v2\" */\nexport type Token_Activities_V2_Sum_Order_By = {\n  event_index?: InputMaybe<Order_By>;\n  property_version_v1?: InputMaybe<Order_By>;\n  token_amount?: InputMaybe<Order_By>;\n  transaction_version?: InputMaybe<Order_By>;\n};\n\n/** aggregate var_pop on columns */\nexport type Token_Activities_V2_Var_Pop_Fields = {\n  __typename?: 'token_activities_v2_var_pop_fields';\n  event_index?: Maybe<Scalars['Float']['output']>;\n  property_version_v1?: Maybe<Scalars['Float']['output']>;\n  token_amount?: Maybe<Scalars['Float']['output']>;\n  transaction_version?: Maybe<Scalars['Float']['output']>;\n};\n\n/** order by var_pop() on columns of table \"token_activities_v2\" */\nexport type Token_Activities_V2_Var_Pop_Order_By = {\n  event_index?: InputMaybe<Order_By>;\n  property_version_v1?: InputMaybe<Order_By>;\n  token_amount?: InputMaybe<Order_By>;\n  transaction_version?: InputMaybe<Order_By>;\n};\n\n/** aggregate var_samp on columns */\nexport type Token_Activities_V2_Var_Samp_Fields = {\n  __typename?: 'token_activities_v2_var_samp_fields';\n  event_index?: Maybe<Scalars['Float']['output']>;\n  property_version_v1?: Maybe<Scalars['Float']['output']>;\n  token_amount?: Maybe<Scalars['Float']['output']>;\n  transaction_version?: Maybe<Scalars['Float']['output']>;\n};\n\n/** order by var_samp() on columns of table \"token_activities_v2\" */\nexport type Token_Activities_V2_Var_Samp_Order_By = {\n  event_index?: InputMaybe<Order_By>;\n  property_version_v1?: InputMaybe<Order_By>;\n  token_amount?: InputMaybe<Order_By>;\n  transaction_version?: InputMaybe<Order_By>;\n};\n\n/** aggregate variance on columns */\nexport type Token_Activities_V2_Variance_Fields = {\n  __typename?: 'token_activities_v2_variance_fields';\n  event_index?: Maybe<Scalars['Float']['output']>;\n  property_version_v1?: Maybe<Scalars['Float']['output']>;\n  token_amount?: Maybe<Scalars['Float']['output']>;\n  transaction_version?: Maybe<Scalars['Float']['output']>;\n};\n\n/** order by variance() on columns of table \"token_activities_v2\" */\nexport type Token_Activities_V2_Variance_Order_By = {\n  event_index?: InputMaybe<Order_By>;\n  property_version_v1?: InputMaybe<Order_By>;\n  token_amount?: InputMaybe<Order_By>;\n  transaction_version?: InputMaybe<Order_By>;\n};\n\n/** aggregate var_pop on columns */\nexport type Token_Activities_Var_Pop_Fields = {\n  __typename?: 'token_activities_var_pop_fields';\n  coin_amount?: Maybe<Scalars['Float']['output']>;\n  event_creation_number?: Maybe<Scalars['Float']['output']>;\n  event_index?: Maybe<Scalars['Float']['output']>;\n  event_sequence_number?: Maybe<Scalars['Float']['output']>;\n  property_version?: Maybe<Scalars['Float']['output']>;\n  token_amount?: Maybe<Scalars['Float']['output']>;\n  transaction_version?: Maybe<Scalars['Float']['output']>;\n};\n\n/** order by var_pop() on columns of table \"token_activities\" */\nexport type Token_Activities_Var_Pop_Order_By = {\n  coin_amount?: InputMaybe<Order_By>;\n  event_creation_number?: InputMaybe<Order_By>;\n  event_index?: InputMaybe<Order_By>;\n  event_sequence_number?: InputMaybe<Order_By>;\n  property_version?: InputMaybe<Order_By>;\n  token_amount?: InputMaybe<Order_By>;\n  transaction_version?: InputMaybe<Order_By>;\n};\n\n/** aggregate var_samp on columns */\nexport type Token_Activities_Var_Samp_Fields = {\n  __typename?: 'token_activities_var_samp_fields';\n  coin_amount?: Maybe<Scalars['Float']['output']>;\n  event_creation_number?: Maybe<Scalars['Float']['output']>;\n  event_index?: Maybe<Scalars['Float']['output']>;\n  event_sequence_number?: Maybe<Scalars['Float']['output']>;\n  property_version?: Maybe<Scalars['Float']['output']>;\n  token_amount?: Maybe<Scalars['Float']['output']>;\n  transaction_version?: Maybe<Scalars['Float']['output']>;\n};\n\n/** order by var_samp() on columns of table \"token_activities\" */\nexport type Token_Activities_Var_Samp_Order_By = {\n  coin_amount?: InputMaybe<Order_By>;\n  event_creation_number?: InputMaybe<Order_By>;\n  event_index?: InputMaybe<Order_By>;\n  event_sequence_number?: InputMaybe<Order_By>;\n  property_version?: InputMaybe<Order_By>;\n  token_amount?: InputMaybe<Order_By>;\n  transaction_version?: InputMaybe<Order_By>;\n};\n\n/** aggregate variance on columns */\nexport type Token_Activities_Variance_Fields = {\n  __typename?: 'token_activities_variance_fields';\n  coin_amount?: Maybe<Scalars['Float']['output']>;\n  event_creation_number?: Maybe<Scalars['Float']['output']>;\n  event_index?: Maybe<Scalars['Float']['output']>;\n  event_sequence_number?: Maybe<Scalars['Float']['output']>;\n  property_version?: Maybe<Scalars['Float']['output']>;\n  token_amount?: Maybe<Scalars['Float']['output']>;\n  transaction_version?: Maybe<Scalars['Float']['output']>;\n};\n\n/** order by variance() on columns of table \"token_activities\" */\nexport type Token_Activities_Variance_Order_By = {\n  coin_amount?: InputMaybe<Order_By>;\n  event_creation_number?: InputMaybe<Order_By>;\n  event_index?: InputMaybe<Order_By>;\n  event_sequence_number?: InputMaybe<Order_By>;\n  property_version?: InputMaybe<Order_By>;\n  token_amount?: InputMaybe<Order_By>;\n  transaction_version?: InputMaybe<Order_By>;\n};\n\n/** columns and relationships of \"token_datas\" */\nexport type Token_Datas = {\n  __typename?: 'token_datas';\n  collection_data_id_hash: Scalars['String']['output'];\n  collection_name: Scalars['String']['output'];\n  creator_address: Scalars['String']['output'];\n  default_properties: Scalars['jsonb']['output'];\n  description: Scalars['String']['output'];\n  description_mutable: Scalars['Boolean']['output'];\n  largest_property_version: Scalars['numeric']['output'];\n  maximum: Scalars['numeric']['output'];\n  maximum_mutable: Scalars['Boolean']['output'];\n  metadata_uri: Scalars['String']['output'];\n  name: Scalars['String']['output'];\n  payee_address: Scalars['String']['output'];\n  properties_mutable: Scalars['Boolean']['output'];\n  royalty_mutable: Scalars['Boolean']['output'];\n  royalty_points_denominator: Scalars['numeric']['output'];\n  royalty_points_numerator: Scalars['numeric']['output'];\n  supply: Scalars['numeric']['output'];\n  token_data_id_hash: Scalars['String']['output'];\n  transaction_timestamp: Scalars['timestamp']['output'];\n  transaction_version: Scalars['bigint']['output'];\n  uri_mutable: Scalars['Boolean']['output'];\n};\n\n\n/** columns and relationships of \"token_datas\" */\nexport type Token_DatasDefault_PropertiesArgs = {\n  path?: InputMaybe<Scalars['String']['input']>;\n};\n\n/** Boolean expression to filter rows from the table \"token_datas\". All fields are combined with a logical 'AND'. */\nexport type Token_Datas_Bool_Exp = {\n  _and?: InputMaybe<Array<Token_Datas_Bool_Exp>>;\n  _not?: InputMaybe<Token_Datas_Bool_Exp>;\n  _or?: InputMaybe<Array<Token_Datas_Bool_Exp>>;\n  collection_data_id_hash?: InputMaybe<String_Comparison_Exp>;\n  collection_name?: InputMaybe<String_Comparison_Exp>;\n  creator_address?: InputMaybe<String_Comparison_Exp>;\n  default_properties?: InputMaybe<Jsonb_Comparison_Exp>;\n  description?: InputMaybe<String_Comparison_Exp>;\n  description_mutable?: InputMaybe<Boolean_Comparison_Exp>;\n  largest_property_version?: InputMaybe<Numeric_Comparison_Exp>;\n  maximum?: InputMaybe<Numeric_Comparison_Exp>;\n  maximum_mutable?: InputMaybe<Boolean_Comparison_Exp>;\n  metadata_uri?: InputMaybe<String_Comparison_Exp>;\n  name?: InputMaybe<String_Comparison_Exp>;\n  payee_address?: InputMaybe<String_Comparison_Exp>;\n  properties_mutable?: InputMaybe<Boolean_Comparison_Exp>;\n  royalty_mutable?: InputMaybe<Boolean_Comparison_Exp>;\n  royalty_points_denominator?: InputMaybe<Numeric_Comparison_Exp>;\n  royalty_points_numerator?: InputMaybe<Numeric_Comparison_Exp>;\n  supply?: InputMaybe<Numeric_Comparison_Exp>;\n  token_data_id_hash?: InputMaybe<String_Comparison_Exp>;\n  transaction_timestamp?: InputMaybe<Timestamp_Comparison_Exp>;\n  transaction_version?: InputMaybe<Bigint_Comparison_Exp>;\n  uri_mutable?: InputMaybe<Boolean_Comparison_Exp>;\n};\n\n/** Ordering options when selecting data from \"token_datas\". */\nexport type Token_Datas_Order_By = {\n  collection_data_id_hash?: InputMaybe<Order_By>;\n  collection_name?: InputMaybe<Order_By>;\n  creator_address?: InputMaybe<Order_By>;\n  default_properties?: InputMaybe<Order_By>;\n  description?: InputMaybe<Order_By>;\n  description_mutable?: InputMaybe<Order_By>;\n  largest_property_version?: InputMaybe<Order_By>;\n  maximum?: InputMaybe<Order_By>;\n  maximum_mutable?: InputMaybe<Order_By>;\n  metadata_uri?: InputMaybe<Order_By>;\n  name?: InputMaybe<Order_By>;\n  payee_address?: InputMaybe<Order_By>;\n  properties_mutable?: InputMaybe<Order_By>;\n  royalty_mutable?: InputMaybe<Order_By>;\n  royalty_points_denominator?: InputMaybe<Order_By>;\n  royalty_points_numerator?: InputMaybe<Order_By>;\n  supply?: InputMaybe<Order_By>;\n  token_data_id_hash?: InputMaybe<Order_By>;\n  transaction_timestamp?: InputMaybe<Order_By>;\n  transaction_version?: InputMaybe<Order_By>;\n  uri_mutable?: InputMaybe<Order_By>;\n};\n\n/** select columns of table \"token_datas\" */\nexport enum Token_Datas_Select_Column {\n  /** column name */\n  CollectionDataIdHash = 'collection_data_id_hash',\n  /** column name */\n  CollectionName = 'collection_name',\n  /** column name */\n  CreatorAddress = 'creator_address',\n  /** column name */\n  DefaultProperties = 'default_properties',\n  /** column name */\n  Description = 'description',\n  /** column name */\n  DescriptionMutable = 'description_mutable',\n  /** column name */\n  LargestPropertyVersion = 'largest_property_version',\n  /** column name */\n  Maximum = 'maximum',\n  /** column name */\n  MaximumMutable = 'maximum_mutable',\n  /** column name */\n  MetadataUri = 'metadata_uri',\n  /** column name */\n  Name = 'name',\n  /** column name */\n  PayeeAddress = 'payee_address',\n  /** column name */\n  PropertiesMutable = 'properties_mutable',\n  /** column name */\n  RoyaltyMutable = 'royalty_mutable',\n  /** column name */\n  RoyaltyPointsDenominator = 'royalty_points_denominator',\n  /** column name */\n  RoyaltyPointsNumerator = 'royalty_points_numerator',\n  /** column name */\n  Supply = 'supply',\n  /** column name */\n  TokenDataIdHash = 'token_data_id_hash',\n  /** column name */\n  TransactionTimestamp = 'transaction_timestamp',\n  /** column name */\n  TransactionVersion = 'transaction_version',\n  /** column name */\n  UriMutable = 'uri_mutable'\n}\n\n/** Streaming cursor of the table \"token_datas\" */\nexport type Token_Datas_Stream_Cursor_Input = {\n  /** Stream column input with initial value */\n  initial_value: Token_Datas_Stream_Cursor_Value_Input;\n  /** cursor ordering */\n  ordering?: InputMaybe<Cursor_Ordering>;\n};\n\n/** Initial value of the column from where the streaming should start */\nexport type Token_Datas_Stream_Cursor_Value_Input = {\n  collection_data_id_hash?: InputMaybe<Scalars['String']['input']>;\n  collection_name?: InputMaybe<Scalars['String']['input']>;\n  creator_address?: InputMaybe<Scalars['String']['input']>;\n  default_properties?: InputMaybe<Scalars['jsonb']['input']>;\n  description?: InputMaybe<Scalars['String']['input']>;\n  description_mutable?: InputMaybe<Scalars['Boolean']['input']>;\n  largest_property_version?: InputMaybe<Scalars['numeric']['input']>;\n  maximum?: InputMaybe<Scalars['numeric']['input']>;\n  maximum_mutable?: InputMaybe<Scalars['Boolean']['input']>;\n  metadata_uri?: InputMaybe<Scalars['String']['input']>;\n  name?: InputMaybe<Scalars['String']['input']>;\n  payee_address?: InputMaybe<Scalars['String']['input']>;\n  properties_mutable?: InputMaybe<Scalars['Boolean']['input']>;\n  royalty_mutable?: InputMaybe<Scalars['Boolean']['input']>;\n  royalty_points_denominator?: InputMaybe<Scalars['numeric']['input']>;\n  royalty_points_numerator?: InputMaybe<Scalars['numeric']['input']>;\n  supply?: InputMaybe<Scalars['numeric']['input']>;\n  token_data_id_hash?: InputMaybe<Scalars['String']['input']>;\n  transaction_timestamp?: InputMaybe<Scalars['timestamp']['input']>;\n  transaction_version?: InputMaybe<Scalars['bigint']['input']>;\n  uri_mutable?: InputMaybe<Scalars['Boolean']['input']>;\n};\n\n/** columns and relationships of \"token_ownerships\" */\nexport type Token_Ownerships = {\n  __typename?: 'token_ownerships';\n  amount: Scalars['numeric']['output'];\n  collection_data_id_hash: Scalars['String']['output'];\n  collection_name: Scalars['String']['output'];\n  creator_address: Scalars['String']['output'];\n  name: Scalars['String']['output'];\n  owner_address?: Maybe<Scalars['String']['output']>;\n  property_version: Scalars['numeric']['output'];\n  table_handle: Scalars['String']['output'];\n  table_type?: Maybe<Scalars['String']['output']>;\n  token_data_id_hash: Scalars['String']['output'];\n  transaction_timestamp: Scalars['timestamp']['output'];\n  transaction_version: Scalars['bigint']['output'];\n};\n\n/** Boolean expression to filter rows from the table \"token_ownerships\". All fields are combined with a logical 'AND'. */\nexport type Token_Ownerships_Bool_Exp = {\n  _and?: InputMaybe<Array<Token_Ownerships_Bool_Exp>>;\n  _not?: InputMaybe<Token_Ownerships_Bool_Exp>;\n  _or?: InputMaybe<Array<Token_Ownerships_Bool_Exp>>;\n  amount?: InputMaybe<Numeric_Comparison_Exp>;\n  collection_data_id_hash?: InputMaybe<String_Comparison_Exp>;\n  collection_name?: InputMaybe<String_Comparison_Exp>;\n  creator_address?: InputMaybe<String_Comparison_Exp>;\n  name?: InputMaybe<String_Comparison_Exp>;\n  owner_address?: InputMaybe<String_Comparison_Exp>;\n  property_version?: InputMaybe<Numeric_Comparison_Exp>;\n  table_handle?: InputMaybe<String_Comparison_Exp>;\n  table_type?: InputMaybe<String_Comparison_Exp>;\n  token_data_id_hash?: InputMaybe<String_Comparison_Exp>;\n  transaction_timestamp?: InputMaybe<Timestamp_Comparison_Exp>;\n  transaction_version?: InputMaybe<Bigint_Comparison_Exp>;\n};\n\n/** Ordering options when selecting data from \"token_ownerships\". */\nexport type Token_Ownerships_Order_By = {\n  amount?: InputMaybe<Order_By>;\n  collection_data_id_hash?: InputMaybe<Order_By>;\n  collection_name?: InputMaybe<Order_By>;\n  creator_address?: InputMaybe<Order_By>;\n  name?: InputMaybe<Order_By>;\n  owner_address?: InputMaybe<Order_By>;\n  property_version?: InputMaybe<Order_By>;\n  table_handle?: InputMaybe<Order_By>;\n  table_type?: InputMaybe<Order_By>;\n  token_data_id_hash?: InputMaybe<Order_By>;\n  transaction_timestamp?: InputMaybe<Order_By>;\n  transaction_version?: InputMaybe<Order_By>;\n};\n\n/** select columns of table \"token_ownerships\" */\nexport enum Token_Ownerships_Select_Column {\n  /** column name */\n  Amount = 'amount',\n  /** column name */\n  CollectionDataIdHash = 'collection_data_id_hash',\n  /** column name */\n  CollectionName = 'collection_name',\n  /** column name */\n  CreatorAddress = 'creator_address',\n  /** column name */\n  Name = 'name',\n  /** column name */\n  OwnerAddress = 'owner_address',\n  /** column name */\n  PropertyVersion = 'property_version',\n  /** column name */\n  TableHandle = 'table_handle',\n  /** column name */\n  TableType = 'table_type',\n  /** column name */\n  TokenDataIdHash = 'token_data_id_hash',\n  /** column name */\n  TransactionTimestamp = 'transaction_timestamp',\n  /** column name */\n  TransactionVersion = 'transaction_version'\n}\n\n/** Streaming cursor of the table \"token_ownerships\" */\nexport type Token_Ownerships_Stream_Cursor_Input = {\n  /** Stream column input with initial value */\n  initial_value: Token_Ownerships_Stream_Cursor_Value_Input;\n  /** cursor ordering */\n  ordering?: InputMaybe<Cursor_Ordering>;\n};\n\n/** Initial value of the column from where the streaming should start */\nexport type Token_Ownerships_Stream_Cursor_Value_Input = {\n  amount?: InputMaybe<Scalars['numeric']['input']>;\n  collection_data_id_hash?: InputMaybe<Scalars['String']['input']>;\n  collection_name?: InputMaybe<Scalars['String']['input']>;\n  creator_address?: InputMaybe<Scalars['String']['input']>;\n  name?: InputMaybe<Scalars['String']['input']>;\n  owner_address?: InputMaybe<Scalars['String']['input']>;\n  property_version?: InputMaybe<Scalars['numeric']['input']>;\n  table_handle?: InputMaybe<Scalars['String']['input']>;\n  table_type?: InputMaybe<Scalars['String']['input']>;\n  token_data_id_hash?: InputMaybe<Scalars['String']['input']>;\n  transaction_timestamp?: InputMaybe<Scalars['timestamp']['input']>;\n  transaction_version?: InputMaybe<Scalars['bigint']['input']>;\n};\n\n/** columns and relationships of \"tokens\" */\nexport type Tokens = {\n  __typename?: 'tokens';\n  collection_data_id_hash: Scalars['String']['output'];\n  collection_name: Scalars['String']['output'];\n  creator_address: Scalars['String']['output'];\n  name: Scalars['String']['output'];\n  property_version: Scalars['numeric']['output'];\n  token_data_id_hash: Scalars['String']['output'];\n  token_properties: Scalars['jsonb']['output'];\n  transaction_timestamp: Scalars['timestamp']['output'];\n  transaction_version: Scalars['bigint']['output'];\n};\n\n\n/** columns and relationships of \"tokens\" */\nexport type TokensToken_PropertiesArgs = {\n  path?: InputMaybe<Scalars['String']['input']>;\n};\n\n/** Boolean expression to filter rows from the table \"tokens\". All fields are combined with a logical 'AND'. */\nexport type Tokens_Bool_Exp = {\n  _and?: InputMaybe<Array<Tokens_Bool_Exp>>;\n  _not?: InputMaybe<Tokens_Bool_Exp>;\n  _or?: InputMaybe<Array<Tokens_Bool_Exp>>;\n  collection_data_id_hash?: InputMaybe<String_Comparison_Exp>;\n  collection_name?: InputMaybe<String_Comparison_Exp>;\n  creator_address?: InputMaybe<String_Comparison_Exp>;\n  name?: InputMaybe<String_Comparison_Exp>;\n  property_version?: InputMaybe<Numeric_Comparison_Exp>;\n  token_data_id_hash?: InputMaybe<String_Comparison_Exp>;\n  token_properties?: InputMaybe<Jsonb_Comparison_Exp>;\n  transaction_timestamp?: InputMaybe<Timestamp_Comparison_Exp>;\n  transaction_version?: InputMaybe<Bigint_Comparison_Exp>;\n};\n\n/** Ordering options when selecting data from \"tokens\". */\nexport type Tokens_Order_By = {\n  collection_data_id_hash?: InputMaybe<Order_By>;\n  collection_name?: InputMaybe<Order_By>;\n  creator_address?: InputMaybe<Order_By>;\n  name?: InputMaybe<Order_By>;\n  property_version?: InputMaybe<Order_By>;\n  token_data_id_hash?: InputMaybe<Order_By>;\n  token_properties?: InputMaybe<Order_By>;\n  transaction_timestamp?: InputMaybe<Order_By>;\n  transaction_version?: InputMaybe<Order_By>;\n};\n\n/** select columns of table \"tokens\" */\nexport enum Tokens_Select_Column {\n  /** column name */\n  CollectionDataIdHash = 'collection_data_id_hash',\n  /** column name */\n  CollectionName = 'collection_name',\n  /** column name */\n  CreatorAddress = 'creator_address',\n  /** column name */\n  Name = 'name',\n  /** column name */\n  PropertyVersion = 'property_version',\n  /** column name */\n  TokenDataIdHash = 'token_data_id_hash',\n  /** column name */\n  TokenProperties = 'token_properties',\n  /** column name */\n  TransactionTimestamp = 'transaction_timestamp',\n  /** column name */\n  TransactionVersion = 'transaction_version'\n}\n\n/** Streaming cursor of the table \"tokens\" */\nexport type Tokens_Stream_Cursor_Input = {\n  /** Stream column input with initial value */\n  initial_value: Tokens_Stream_Cursor_Value_Input;\n  /** cursor ordering */\n  ordering?: InputMaybe<Cursor_Ordering>;\n};\n\n/** Initial value of the column from where the streaming should start */\nexport type Tokens_Stream_Cursor_Value_Input = {\n  collection_data_id_hash?: InputMaybe<Scalars['String']['input']>;\n  collection_name?: InputMaybe<Scalars['String']['input']>;\n  creator_address?: InputMaybe<Scalars['String']['input']>;\n  name?: InputMaybe<Scalars['String']['input']>;\n  property_version?: InputMaybe<Scalars['numeric']['input']>;\n  token_data_id_hash?: InputMaybe<Scalars['String']['input']>;\n  token_properties?: InputMaybe<Scalars['jsonb']['input']>;\n  transaction_timestamp?: InputMaybe<Scalars['timestamp']['input']>;\n  transaction_version?: InputMaybe<Scalars['bigint']['input']>;\n};\n\n/** columns and relationships of \"user_transactions\" */\nexport type User_Transactions = {\n  __typename?: 'user_transactions';\n  block_height: Scalars['bigint']['output'];\n  entry_function_id_str: Scalars['String']['output'];\n  epoch: Scalars['bigint']['output'];\n  expiration_timestamp_secs: Scalars['timestamp']['output'];\n  gas_unit_price: Scalars['numeric']['output'];\n  max_gas_amount: Scalars['numeric']['output'];\n  parent_signature_type: Scalars['String']['output'];\n  sender: Scalars['String']['output'];\n  sequence_number: Scalars['bigint']['output'];\n  timestamp: Scalars['timestamp']['output'];\n  version: Scalars['bigint']['output'];\n};\n\n/** Boolean expression to filter rows from the table \"user_transactions\". All fields are combined with a logical 'AND'. */\nexport type User_Transactions_Bool_Exp = {\n  _and?: InputMaybe<Array<User_Transactions_Bool_Exp>>;\n  _not?: InputMaybe<User_Transactions_Bool_Exp>;\n  _or?: InputMaybe<Array<User_Transactions_Bool_Exp>>;\n  block_height?: InputMaybe<Bigint_Comparison_Exp>;\n  entry_function_id_str?: InputMaybe<String_Comparison_Exp>;\n  epoch?: InputMaybe<Bigint_Comparison_Exp>;\n  expiration_timestamp_secs?: InputMaybe<Timestamp_Comparison_Exp>;\n  gas_unit_price?: InputMaybe<Numeric_Comparison_Exp>;\n  max_gas_amount?: InputMaybe<Numeric_Comparison_Exp>;\n  parent_signature_type?: InputMaybe<String_Comparison_Exp>;\n  sender?: InputMaybe<String_Comparison_Exp>;\n  sequence_number?: InputMaybe<Bigint_Comparison_Exp>;\n  timestamp?: InputMaybe<Timestamp_Comparison_Exp>;\n  version?: InputMaybe<Bigint_Comparison_Exp>;\n};\n\n/** Ordering options when selecting data from \"user_transactions\". */\nexport type User_Transactions_Order_By = {\n  block_height?: InputMaybe<Order_By>;\n  entry_function_id_str?: InputMaybe<Order_By>;\n  epoch?: InputMaybe<Order_By>;\n  expiration_timestamp_secs?: InputMaybe<Order_By>;\n  gas_unit_price?: InputMaybe<Order_By>;\n  max_gas_amount?: InputMaybe<Order_By>;\n  parent_signature_type?: InputMaybe<Order_By>;\n  sender?: InputMaybe<Order_By>;\n  sequence_number?: InputMaybe<Order_By>;\n  timestamp?: InputMaybe<Order_By>;\n  version?: InputMaybe<Order_By>;\n};\n\n/** select columns of table \"user_transactions\" */\nexport enum User_Transactions_Select_Column {\n  /** column name */\n  BlockHeight = 'block_height',\n  /** column name */\n  EntryFunctionIdStr = 'entry_function_id_str',\n  /** column name */\n  Epoch = 'epoch',\n  /** column name */\n  ExpirationTimestampSecs = 'expiration_timestamp_secs',\n  /** column name */\n  GasUnitPrice = 'gas_unit_price',\n  /** column name */\n  MaxGasAmount = 'max_gas_amount',\n  /** column name */\n  ParentSignatureType = 'parent_signature_type',\n  /** column name */\n  Sender = 'sender',\n  /** column name */\n  SequenceNumber = 'sequence_number',\n  /** column name */\n  Timestamp = 'timestamp',\n  /** column name */\n  Version = 'version'\n}\n\n/** Streaming cursor of the table \"user_transactions\" */\nexport type User_Transactions_Stream_Cursor_Input = {\n  /** Stream column input with initial value */\n  initial_value: User_Transactions_Stream_Cursor_Value_Input;\n  /** cursor ordering */\n  ordering?: InputMaybe<Cursor_Ordering>;\n};\n\n/** Initial value of the column from where the streaming should start */\nexport type User_Transactions_Stream_Cursor_Value_Input = {\n  block_height?: InputMaybe<Scalars['bigint']['input']>;\n  entry_function_id_str?: InputMaybe<Scalars['String']['input']>;\n  epoch?: InputMaybe<Scalars['bigint']['input']>;\n  expiration_timestamp_secs?: InputMaybe<Scalars['timestamp']['input']>;\n  gas_unit_price?: InputMaybe<Scalars['numeric']['input']>;\n  max_gas_amount?: InputMaybe<Scalars['numeric']['input']>;\n  parent_signature_type?: InputMaybe<Scalars['String']['input']>;\n  sender?: InputMaybe<Scalars['String']['input']>;\n  sequence_number?: InputMaybe<Scalars['bigint']['input']>;\n  timestamp?: InputMaybe<Scalars['timestamp']['input']>;\n  version?: InputMaybe<Scalars['bigint']['input']>;\n};\n"],"mappings":"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","names":["nacl","bytesToHex","sha3Hash","request","Network","hexToBytes","sha3Hash","sha3Hash","bytesToHex","nacl","sha3Hash","sha3Hash","serializeVector","sha3Hash","aptosClient","aptosClient","token","txnHash","aptosClient","now","TransactionWorkerEvents","AptosErrorCode","MoveFunctionVisibility","RoleType","Account_Transactions_Select_Column","Address_Events_Summary_Select_Column","Address_Version_From_Events_Select_Column","Address_Version_From_Move_Resources_Select_Column","Block_Metadata_Transactions_Select_Column","Coin_Activities_Select_Column","Coin_Activities_Select_Column_Coin_Activities_Aggregate_Bool_Exp_Bool_And_Arguments_Columns","Coin_Activities_Select_Column_Coin_Activities_Aggregate_Bool_Exp_Bool_Or_Arguments_Columns","Coin_Balances_Select_Column","Coin_Infos_Select_Column","Coin_Supply_Select_Column","Collection_Datas_Select_Column","Current_Ans_Lookup_Select_Column","Current_Ans_Lookup_V2_Select_Column","Current_Aptos_Names_Select_Column","Current_Aptos_Names_Select_Column_Current_Aptos_Names_Aggregate_Bool_Exp_Bool_And_Arguments_Columns","Current_Aptos_Names_Select_Column_Current_Aptos_Names_Aggregate_Bool_Exp_Bool_Or_Arguments_Columns","Current_Coin_Balances_Select_Column","Current_Collection_Datas_Select_Column","Current_Collection_Ownership_V2_View_Select_Column","Current_Collections_V2_Select_Column","Current_Delegated_Staking_Pool_Balances_Select_Column","Current_Delegated_Voter_Select_Column","Current_Delegator_Balances_Select_Column","Current_Fungible_Asset_Balances_Select_Column","Current_Objects_Select_Column","Current_Staking_Pool_Voter_Select_Column","Current_Table_Items_Select_Column","Current_Token_Datas_Select_Column","Current_Token_Datas_V2_Select_Column","Current_Token_Ownerships_Select_Column","Current_Token_Ownerships_V2_Select_Column","Current_Token_Ownerships_V2_Select_Column_Current_Token_Ownerships_V2_Aggregate_Bool_Exp_Bool_And_Arguments_Columns","Current_Token_Ownerships_V2_Select_Column_Current_Token_Ownerships_V2_Aggregate_Bool_Exp_Bool_Or_Arguments_Columns","Current_Token_Pending_Claims_Select_Column","Cursor_Ordering","Delegated_Staking_Activities_Select_Column","Delegated_Staking_Pools_Select_Column","Delegator_Distinct_Pool_Select_Column","Events_Select_Column","Fungible_Asset_Activities_Select_Column","Fungible_Asset_Metadata_Select_Column","Indexer_Status_Select_Column","Ledger_Infos_Select_Column","Move_Resources_Select_Column","Nft_Marketplace_V2_Current_Nft_Marketplace_Auctions_Select_Column","Nft_Marketplace_V2_Current_Nft_Marketplace_Collection_Offers_Select_Column","Nft_Marketplace_V2_Current_Nft_Marketplace_Listings_Select_Column","Nft_Marketplace_V2_Current_Nft_Marketplace_Token_Offers_Select_Column","Nft_Marketplace_V2_Nft_Marketplace_Activities_Select_Column","Nft_Metadata_Crawler_Parsed_Asset_Uris_Select_Column","Num_Active_Delegator_Per_Pool_Select_Column","Order_By","Processor_Status_Select_Column","Proposal_Votes_Select_Column","Table_Items_Select_Column","Table_Metadatas_Select_Column","Token_Activities_Select_Column","Token_Activities_V2_Select_Column","Token_Activities_V2_Select_Column_Token_Activities_V2_Aggregate_Bool_Exp_Bool_And_Arguments_Columns","Token_Activities_V2_Select_Column_Token_Activities_V2_Aggregate_Bool_Exp_Bool_Or_Arguments_Columns","Token_Datas_Select_Column","Token_Ownerships_Select_Column","Tokens_Select_Column","User_Transactions_Select_Column"]}