diff --git a/codegen.ts b/codegen.ts index 7fd4d7e..51ddf06 100644 --- a/codegen.ts +++ b/codegen.ts @@ -1,7 +1,8 @@ import type { CodegenConfig } from '@graphql-codegen/cli'; const config: CodegenConfig = { - schema: 'https://subsquid.quantus.com/graphql', + schema: + process.env.CODEGEN_SCHEMA_URL || 'https://subsquid.quantus.com/graphql', documents: ['src/**/*.{ts,tsx}'], generates: { './src/__generated__/': { diff --git a/src/__generated__/gql.ts b/src/__generated__/gql.ts index 9685f86..a223cf2 100644 --- a/src/__generated__/gql.ts +++ b/src/__generated__/gql.ts @@ -15,12 +15,20 @@ import { TypedDocumentNode as DocumentNode } from '@graphql-typed-document-node/ */ type Documents = { '\n query GetAccounts(\n $limit: Int\n $offset: Int\n $orderBy: [AccountOrderByInput!]\n ) {\n accounts(limit: $limit, offset: $offset, orderBy: $orderBy) {\n id\n free\n frozen\n reserved\n }\n meta: accountsConnection(orderBy: id_ASC) {\n totalCount\n }\n }\n ': typeof types.GetAccountsDocument; - '\n query GetAccountById($id: String!, $limit: Int!) {\n account: accountById(id: $id) {\n id\n free\n frozen\n reserved\n }\n transactions: transfersConnection(\n orderBy: timestamp_DESC\n first: $limit\n where: {\n extrinsicHash_isNull: false\n AND: { from: { id_eq: $id }, OR: { to: { id_eq: $id } } }\n }\n ) {\n edges {\n node {\n fee\n extrinsicHash\n block {\n height\n }\n amount\n timestamp\n from {\n id\n }\n to {\n id\n }\n }\n }\n\n totalCount\n }\n reversibleTransactions: reversibleTransfersConnection(\n orderBy: timestamp_DESC\n first: $limit\n where: { from: { id_eq: $id }, OR: { to: { id_eq: $id } } }\n ) {\n edges {\n node {\n extrinsicHash\n timestamp\n status\n amount\n block {\n height\n }\n from {\n id\n }\n to {\n id\n }\n }\n }\n\n totalCount\n }\n minerRewards: minerRewardsConnection(\n orderBy: timestamp_DESC\n first: $limit\n where: { miner: { id_eq: $id } }\n ) {\n edges {\n node {\n block {\n height\n hash\n }\n reward\n miner {\n id\n }\n timestamp\n }\n }\n\n totalCount\n }\n }\n ': typeof types.GetAccountByIdDocument; + '\n query GetAccountById($id: String!, $limit: Int!) {\n account: accountById(id: $id) {\n id\n free\n frozen\n reserved\n }\n transactions: transfersConnection(\n orderBy: timestamp_DESC\n first: $limit\n where: {\n extrinsicHash_isNull: false\n AND: { from: { id_eq: $id }, OR: { to: { id_eq: $id } } }\n }\n ) {\n edges {\n node {\n fee\n extrinsicHash\n block {\n height\n }\n amount\n timestamp\n from {\n id\n }\n to {\n id\n }\n }\n }\n\n totalCount\n }\n reversibleTransactions: reversibleTransfersConnection(\n orderBy: timestamp_DESC\n first: $limit\n where: { from: { id_eq: $id }, OR: { to: { id_eq: $id } } }\n ) {\n edges {\n node {\n extrinsicHash\n timestamp\n status\n amount\n block {\n height\n }\n from {\n id\n }\n to {\n id\n }\n }\n }\n\n totalCount\n }\n minerRewards: minerRewardsConnection(\n orderBy: timestamp_DESC\n first: $limit\n where: { miner: { id_eq: $id } }\n ) {\n edges {\n node {\n block {\n height\n hash\n }\n reward\n miner {\n id\n }\n timestamp\n }\n }\n\n totalCount\n }\n guardian: highSecuritySetsConnection(\n orderBy: timestamp_DESC\n first: $limit\n where: { who: { id_eq: $id } }\n ) {\n edges {\n node {\n interceptor {\n id\n free\n frozen\n reserved\n }\n }\n }\n\n totalCount\n }\n beneficiaries: highSecuritySetsConnection(\n orderBy: timestamp_DESC\n first: $limit\n where: { interceptor: { id_eq: $id } }\n ) {\n edges {\n node {\n who {\n id\n free\n frozen\n reserved\n }\n }\n }\n\n totalCount\n }\n }\n ': typeof types.GetAccountByIdDocument; '\n query GetAccountsStats($startDate: DateTime!, $endDate: DateTime!) {\n all: accountsConnection(orderBy: id_ASC) {\n totalCount\n }\n recentlyActive: accountsConnection(\n orderBy: id_ASC\n where: {\n transfersFrom_some: {\n timestamp_gte: $startDate\n timestamp_lte: $endDate\n }\n }\n ) {\n totalCount\n }\n recentlyDeposited: accountsConnection(\n orderBy: id_ASC\n where: {\n transfersTo_some: {\n timestamp_gte: $startDate\n timestamp_lte: $endDate\n }\n }\n ) {\n totalCount\n }\n }\n ': typeof types.GetAccountsStatsDocument; '\n query GetBlocks(\n $limit: Int\n $offset: Int\n $orderBy: [BlockOrderByInput!]!\n $where: BlockWhereInput\n ) {\n blocks(\n limit: $limit\n offset: $offset\n orderBy: $orderBy\n where: $where\n ) {\n id\n hash\n height\n reward\n timestamp\n }\n meta: blocksConnection(orderBy: id_ASC) {\n totalCount\n }\n }\n ': typeof types.GetBlocksDocument; '\n query GetRecentBlocks(\n $limit: Int\n $offset: Int\n $orderBy: [BlockOrderByInput!]\n ) {\n blocks(limit: $limit, offset: $offset, orderBy: $orderBy) {\n id\n hash\n height\n reward\n timestamp\n }\n }\n ': typeof types.GetRecentBlocksDocument; - '\n query GetBlockById($height: Int!, $hash: String!, $limit: Int!) {\n blocks(where: { height_eq: $height, OR: { hash_eq: $hash } }) {\n id\n hash\n height\n reward\n timestamp\n }\n miners: minerRewards(\n where: {\n block: { height_eq: $height }\n OR: { block: { hash_eq: $hash } }\n }\n ) {\n miner {\n id\n }\n }\n transactions: transfersConnection(\n orderBy: timestamp_DESC\n first: $limit\n where: {\n extrinsicHash_isNull: false\n AND: {\n block: { height_eq: $height }\n OR: { block: { hash_eq: $hash } }\n }\n }\n ) {\n edges {\n node {\n fee\n extrinsicHash\n block {\n height\n }\n amount\n timestamp\n from {\n id\n }\n to {\n id\n }\n }\n }\n\n totalCount\n }\n reversibleTransactions: reversibleTransfersConnection(\n orderBy: timestamp_DESC\n first: $limit\n where: {\n block: { height_eq: $height }\n OR: { block: { hash_eq: $hash } }\n }\n ) {\n edges {\n node {\n extrinsicHash\n timestamp\n status\n amount\n block {\n height\n }\n from {\n id\n }\n to {\n id\n }\n }\n }\n\n totalCount\n }\n }\n ': typeof types.GetBlockByIdDocument; + '\n query GetBlockById($height: Int!, $hash: String!, $limit: Int!) {\n blocks(where: { height_eq: $height, OR: { hash_eq: $hash } }) {\n id\n hash\n height\n reward\n timestamp\n }\n miners: minerRewards(\n where: {\n block: { height_eq: $height }\n OR: { block: { hash_eq: $hash } }\n }\n ) {\n miner {\n id\n }\n }\n transactions: transfersConnection(\n orderBy: timestamp_DESC\n first: $limit\n where: {\n extrinsicHash_isNull: false\n AND: {\n block: { height_eq: $height }\n OR: { block: { hash_eq: $hash } }\n }\n }\n ) {\n edges {\n node {\n fee\n extrinsicHash\n block {\n height\n }\n amount\n timestamp\n from {\n id\n }\n to {\n id\n }\n }\n }\n\n totalCount\n }\n reversibleTransactions: reversibleTransfersConnection(\n orderBy: timestamp_DESC\n first: $limit\n where: {\n block: { height_eq: $height }\n OR: { block: { hash_eq: $hash } }\n }\n ) {\n edges {\n node {\n extrinsicHash\n timestamp\n status\n amount\n block {\n height\n }\n from {\n id\n }\n to {\n id\n }\n }\n }\n\n totalCount\n }\n highSecuritySets: highSecuritySetsConnection(\n orderBy: timestamp_DESC\n first: $limit\n where: {\n block: { height_eq: $height }\n OR: { block: { hash_eq: $hash } }\n }\n ) {\n edges {\n node {\n extrinsicHash\n timestamp\n delay\n block {\n height\n }\n who {\n id\n }\n interceptor {\n id\n }\n }\n }\n\n totalCount\n }\n errorEvents: errorEventsConnection(\n orderBy: timestamp_DESC\n first: $limit\n where: {\n block: { height_eq: $height }\n OR: { block: { hash_eq: $hash } }\n }\n ) {\n edges {\n node {\n errorDocs\n errorModule\n errorName\n errorType\n extrinsicHash\n timestamp\n block {\n height\n }\n }\n }\n\n totalCount\n }\n }\n ': typeof types.GetBlockByIdDocument; '\n query GetStatus(\n $beginningDate: DateTime!\n $todayDate: DateTime!\n $endDate: DateTime!\n ) {\n transactions: transfersConnection(\n orderBy: id_ASC\n where: { extrinsicHash_isNull: false }\n ) {\n totalCount\n }\n reversibleTransactions: reversibleTransfersConnection(orderBy: id_ASC) {\n totalCount\n }\n status: squidStatus {\n hash\n height\n finalizedHeight\n finalizedHash\n }\n minedBlocks24Hours: blocksConnection(\n orderBy: id_ASC\n where: { timestamp_gte: $todayDate, timestamp_lte: $endDate }\n ) {\n totalCount\n }\n allActiveAccounts: accountsConnection(\n orderBy: id_ASC\n where: {\n transfersFrom_some: {\n timestamp_gte: $beginningDate\n timestamp_lte: $endDate\n }\n }\n ) {\n totalCount\n }\n allDepositAccounts: accountsConnection(\n orderBy: id_ASC\n where: {\n transfersTo_some: {\n timestamp_gte: $beginningDate\n timestamp_lte: $endDate\n }\n }\n ) {\n totalCount\n }\n }\n ': typeof types.GetStatusDocument; + '\n query GetErrorEvents(\n $limit: Int\n $offset: Int\n $orderBy: [ErrorEventOrderByInput!]\n $where: ErrorEventWhereInput\n ) {\n errorEvents(\n limit: $limit\n offset: $offset\n orderBy: $orderBy\n where: $where\n ) {\n errorDocs\n errorModule\n errorName\n errorType\n extrinsicHash\n id\n timestamp\n block {\n height\n }\n }\n meta: errorEventsConnection(orderBy: id_ASC, where: $where) {\n totalCount\n }\n }\n ': typeof types.GetErrorEventsDocument; + '\n query GetRecentErrorEvents(\n $limit: Int\n $offset: Int\n $orderBy: [ErrorEventOrderByInput!]\n $where: ErrorEventWhereInput\n ) {\n errorEvents(\n limit: $limit\n offset: $offset\n orderBy: $orderBy\n where: $where\n ) {\n errorDocs\n errorModule\n errorName\n errorType\n extrinsicHash\n id\n timestamp\n block {\n height\n }\n }\n }\n ': typeof types.GetRecentErrorEventsDocument; + '\n query GetErrorEventsStats($startDate: DateTime!, $endDate: DateTime!) {\n last24Hour: errorEventsConnection(\n orderBy: id_ASC\n where: { timestamp_gte: $startDate, timestamp_lte: $endDate }\n ) {\n totalCount\n }\n allTime: errorEventsConnection(orderBy: id_ASC) {\n totalCount\n }\n }\n ': typeof types.GetErrorEventsStatsDocument; + '\n query GetErrorEventByHash($hash: String!) {\n errorEvents: errorEvents(where: { extrinsicHash_eq: $hash }) {\n errorDocs\n errorModule\n errorName\n errorType\n extrinsicHash\n id\n timestamp\n block {\n height\n }\n }\n }\n ': typeof types.GetErrorEventByHashDocument; + '\n query GetHighSecuritySets(\n $limit: Int\n $offset: Int\n $orderBy: [HighSecuritySetOrderByInput!]\n $where: HighSecuritySetWhereInput\n ) {\n highSecuritySets(\n limit: $limit\n offset: $offset\n orderBy: $orderBy\n where: $where\n ) {\n id\n extrinsicHash\n who {\n id\n }\n interceptor {\n id\n }\n timestamp\n delay\n block {\n height\n }\n }\n meta: highSecuritySetsConnection(orderBy: id_ASC, where: $where) {\n totalCount\n }\n }\n ': typeof types.GetHighSecuritySetsDocument; + '\n query GetRecentHighSecuritySets(\n $limit: Int\n $offset: Int\n $orderBy: [HighSecuritySetOrderByInput!]\n $where: HighSecuritySetWhereInput\n ) {\n highSecuritySets(\n limit: $limit\n offset: $offset\n orderBy: $orderBy\n where: $where\n ) {\n id\n extrinsicHash\n who {\n id\n }\n interceptor {\n id\n }\n timestamp\n delay\n block {\n height\n }\n }\n }\n ': typeof types.GetRecentHighSecuritySetsDocument; + '\n query GetHighSecuritySetsStats(\n $startDate: DateTime!\n $endDate: DateTime!\n ) {\n last24Hour: highSecuritySetsConnection(\n orderBy: id_ASC\n where: { timestamp_gte: $startDate, timestamp_lte: $endDate }\n ) {\n totalCount\n }\n allTime: highSecuritySetsConnection(orderBy: id_ASC) {\n totalCount\n }\n }\n ': typeof types.GetHighSecuritySetsStatsDocument; + '\n query GetHighSecuritySetByHash($hash: String!) {\n highSecuritySets(where: { extrinsicHash_eq: $hash }) {\n id\n extrinsicHash\n who {\n id\n }\n interceptor {\n id\n }\n timestamp\n delay\n block {\n height\n }\n }\n }\n ': typeof types.GetHighSecuritySetByHashDocument; '\n query GetMinerLeaderboard($limit: Int, $offset: Int) {\n leaderboardEntries: minerStats(\n limit: $limit\n offset: $offset\n orderBy: totalMinedBlocks_DESC\n ) {\n id\n totalMinedBlocks\n totalRewards\n }\n meta: minerStatsConnection(orderBy: id_ASC) {\n totalCount\n }\n }\n ': typeof types.GetMinerLeaderboardDocument; '\n query GetMinerRewards(\n $limit: Int\n $offset: Int\n $orderBy: [MinerRewardOrderByInput!]\n $where: MinerRewardWhereInput\n ) {\n minerRewards(\n limit: $limit\n offset: $offset\n orderBy: $orderBy\n where: $where\n ) {\n block {\n height\n hash\n }\n reward\n miner {\n id\n }\n timestamp\n }\n meta: minerRewardsConnection(orderBy: id_ASC, where: $where) {\n totalCount\n }\n }\n ': typeof types.GetMinerRewardsDocument; '\n query GetRecentMinerRewards(\n $limit: Int\n $offset: Int\n $orderBy: [MinerRewardOrderByInput!]\n $where: MinerRewardWhereInput\n ) {\n minerRewards(\n limit: $limit\n offset: $offset\n orderBy: $orderBy\n where: $where\n ) {\n block {\n height\n hash\n }\n reward\n miner {\n id\n }\n timestamp\n }\n }\n ': typeof types.GetRecentMinerRewardsDocument; @@ -31,16 +39,19 @@ type Documents = { '\n query GetReversibleTransactionsStats(\n $startDate: DateTime!\n $endDate: DateTime!\n ) {\n last24Hour: reversibleTransfersConnection(\n orderBy: id_ASC\n where: { timestamp_gte: $startDate, timestamp_lte: $endDate }\n ) {\n totalCount\n }\n allTime: reversibleTransfersConnection(orderBy: id_ASC) {\n totalCount\n }\n }\n ': typeof types.GetReversibleTransactionsStatsDocument; '\n query GetReversibleTransactionByHash($hash: String!) {\n reversibleTransactions: reversibleTransfers(\n where: { extrinsicHash_eq: $hash }\n ) {\n fee\n amount\n extrinsicHash\n txId\n scheduledAt\n timestamp\n status\n block {\n height\n }\n from {\n id\n }\n to {\n id\n }\n }\n }\n ': typeof types.GetReversibleTransactionByHashDocument; '\n query GetReversibleTransactionStatusByHash($hash: String!) {\n reversibleTransactions: reversibleTransfers(\n where: { extrinsicHash_eq: $hash }\n ) {\n status\n }\n }\n ': typeof types.GetReversibleTransactionStatusByHashDocument; - '\n query SearchAll($keyword: String, $keyword_number: Int, $limit: Int) {\n transactions: transfers(\n limit: $limit\n where: { extrinsicHash_startsWith: $keyword }\n ) {\n extrinsicHash\n }\n reversibleTransactions: reversibleTransfers(\n limit: $limit\n where: { extrinsicHash_startsWith: $keyword }\n ) {\n extrinsicHash\n }\n accounts(limit: $limit, where: { id_startsWith: $keyword }) {\n id\n }\n blocks(\n limit: $limit\n where: {\n hash_startsWith: $keyword\n OR: { height_eq: $keyword_number }\n }\n ) {\n height\n }\n minerRewards(\n limit: $limit\n where: { block: { hash_startsWith: $keyword } }\n ) {\n block {\n height\n hash\n }\n reward\n miner {\n id\n }\n timestamp\n }\n }\n ': typeof types.SearchAllDocument; + '\n query SearchAll($keyword: String, $keyword_number: Int, $limit: Int) {\n transactions: transfers(\n limit: $limit\n where: { extrinsicHash_startsWith: $keyword }\n ) {\n extrinsicHash\n }\n reversibleTransactions: reversibleTransfers(\n limit: $limit\n where: { extrinsicHash_startsWith: $keyword }\n ) {\n extrinsicHash\n }\n accounts(limit: $limit, where: { id_startsWith: $keyword }) {\n id\n }\n blocks(\n limit: $limit\n where: {\n hash_startsWith: $keyword\n OR: { height_eq: $keyword_number }\n }\n ) {\n height\n }\n highSecuritySets(\n limit: $limit\n where: { extrinsicHash_startsWith: $keyword }\n ) {\n extrinsicHash\n }\n minerRewards(\n limit: $limit\n where: { block: { hash_startsWith: $keyword } }\n ) {\n block {\n height\n hash\n }\n reward\n miner {\n id\n }\n timestamp\n }\n errorEvents(\n limit: $limit\n where: {\n errorType_containsInsensitive: $keyword\n OR: { errorName_containsInsensitive: $keyword }\n }\n ) {\n extrinsicHash\n }\n }\n ': typeof types.SearchAllDocument; '\n query GetTransactions(\n $limit: Int\n $offset: Int\n $orderBy: [TransferOrderByInput!]\n $where: TransferWhereInput\n ) {\n transactions: transfers(\n limit: $limit\n offset: $offset\n orderBy: $orderBy\n where: $where\n ) {\n fee\n extrinsicHash\n block {\n height\n }\n amount\n timestamp\n from {\n id\n }\n to {\n id\n }\n }\n meta: transfersConnection(orderBy: id_ASC, where: $where) {\n totalCount\n }\n }\n ': typeof types.GetTransactionsDocument; '\n query GetRecentTransactions(\n $limit: Int\n $offset: Int\n $orderBy: [TransferOrderByInput!]\n $where: TransferWhereInput\n ) {\n transactions: transfers(\n limit: $limit\n offset: $offset\n orderBy: $orderBy\n where: $where\n ) {\n fee\n extrinsicHash\n block {\n height\n }\n amount\n timestamp\n from {\n id\n }\n to {\n id\n }\n }\n }\n ': typeof types.GetRecentTransactionsDocument; '\n query GetTransactionsStats($startDate: DateTime!, $endDate: DateTime!) {\n last24Hour: transfersConnection(\n orderBy: id_ASC\n where: {\n timestamp_gte: $startDate\n timestamp_lte: $endDate\n extrinsicHash_isNull: false\n }\n ) {\n totalCount\n }\n allTime: transfersConnection(\n orderBy: id_ASC\n where: { extrinsicHash_isNull: false }\n ) {\n totalCount\n }\n }\n ': typeof types.GetTransactionsStatsDocument; '\n query GetTransactionByHash($hash: String!) {\n transactions: transfers(where: { extrinsicHash_eq: $hash }) {\n fee\n extrinsicHash\n block {\n height\n }\n amount\n timestamp\n from {\n id\n }\n to {\n id\n }\n }\n }\n ': typeof types.GetTransactionByHashDocument; + '\n query GetWormholeExtrinsics(\n $limit: Int\n $offset: Int\n $orderBy: [WormholeExtrinsicOrderByInput!]!\n $where: WormholeExtrinsicWhereInput\n ) {\n wormholeExtrinsics(\n limit: $limit\n offset: $offset\n orderBy: $orderBy\n where: $where\n ) {\n id\n extrinsicHash\n totalAmount\n outputCount\n timestamp\n privacyScore\n privacyLabel\n block {\n height\n }\n }\n meta: wormholeExtrinsicsConnection(orderBy: id_ASC) {\n totalCount\n }\n }\n': typeof types.GetWormholeExtrinsicsDocument; + '\n query GetWormholeExtrinsicById($id: String!) {\n wormholeExtrinsicById(id: $id) {\n id\n extrinsicHash\n totalAmount\n outputCount\n timestamp\n privacyScore\n privacyScore01Pct\n privacyScore1Pct\n privacyScore5Pct\n privacyLabel\n poolSnapshot\n block {\n id\n height\n hash\n timestamp\n }\n outputs {\n id\n exitAccount {\n id\n }\n amount\n }\n }\n wormholeNullifiers(where: { extrinsic: { id_eq: $id } }) {\n nullifier\n nullifierHash\n }\n }\n': typeof types.GetWormholeExtrinsicByIdDocument; + '\n query GetDepositPoolStats {\n depositPoolStatsById(id: "global") {\n lastUpdatedBlock\n buckets\n }\n }\n': typeof types.GetDepositPoolStatsDocument; }; const documents: Documents = { '\n query GetAccounts(\n $limit: Int\n $offset: Int\n $orderBy: [AccountOrderByInput!]\n ) {\n accounts(limit: $limit, offset: $offset, orderBy: $orderBy) {\n id\n free\n frozen\n reserved\n }\n meta: accountsConnection(orderBy: id_ASC) {\n totalCount\n }\n }\n ': types.GetAccountsDocument, - '\n query GetAccountById($id: String!, $limit: Int!) {\n account: accountById(id: $id) {\n id\n free\n frozen\n reserved\n }\n transactions: transfersConnection(\n orderBy: timestamp_DESC\n first: $limit\n where: {\n extrinsicHash_isNull: false\n AND: { from: { id_eq: $id }, OR: { to: { id_eq: $id } } }\n }\n ) {\n edges {\n node {\n fee\n extrinsicHash\n block {\n height\n }\n amount\n timestamp\n from {\n id\n }\n to {\n id\n }\n }\n }\n\n totalCount\n }\n reversibleTransactions: reversibleTransfersConnection(\n orderBy: timestamp_DESC\n first: $limit\n where: { from: { id_eq: $id }, OR: { to: { id_eq: $id } } }\n ) {\n edges {\n node {\n extrinsicHash\n timestamp\n status\n amount\n block {\n height\n }\n from {\n id\n }\n to {\n id\n }\n }\n }\n\n totalCount\n }\n minerRewards: minerRewardsConnection(\n orderBy: timestamp_DESC\n first: $limit\n where: { miner: { id_eq: $id } }\n ) {\n edges {\n node {\n block {\n height\n hash\n }\n reward\n miner {\n id\n }\n timestamp\n }\n }\n\n totalCount\n }\n }\n ': + '\n query GetAccountById($id: String!, $limit: Int!) {\n account: accountById(id: $id) {\n id\n free\n frozen\n reserved\n }\n transactions: transfersConnection(\n orderBy: timestamp_DESC\n first: $limit\n where: {\n extrinsicHash_isNull: false\n AND: { from: { id_eq: $id }, OR: { to: { id_eq: $id } } }\n }\n ) {\n edges {\n node {\n fee\n extrinsicHash\n block {\n height\n }\n amount\n timestamp\n from {\n id\n }\n to {\n id\n }\n }\n }\n\n totalCount\n }\n reversibleTransactions: reversibleTransfersConnection(\n orderBy: timestamp_DESC\n first: $limit\n where: { from: { id_eq: $id }, OR: { to: { id_eq: $id } } }\n ) {\n edges {\n node {\n extrinsicHash\n timestamp\n status\n amount\n block {\n height\n }\n from {\n id\n }\n to {\n id\n }\n }\n }\n\n totalCount\n }\n minerRewards: minerRewardsConnection(\n orderBy: timestamp_DESC\n first: $limit\n where: { miner: { id_eq: $id } }\n ) {\n edges {\n node {\n block {\n height\n hash\n }\n reward\n miner {\n id\n }\n timestamp\n }\n }\n\n totalCount\n }\n guardian: highSecuritySetsConnection(\n orderBy: timestamp_DESC\n first: $limit\n where: { who: { id_eq: $id } }\n ) {\n edges {\n node {\n interceptor {\n id\n free\n frozen\n reserved\n }\n }\n }\n\n totalCount\n }\n beneficiaries: highSecuritySetsConnection(\n orderBy: timestamp_DESC\n first: $limit\n where: { interceptor: { id_eq: $id } }\n ) {\n edges {\n node {\n who {\n id\n free\n frozen\n reserved\n }\n }\n }\n\n totalCount\n }\n }\n ': types.GetAccountByIdDocument, '\n query GetAccountsStats($startDate: DateTime!, $endDate: DateTime!) {\n all: accountsConnection(orderBy: id_ASC) {\n totalCount\n }\n recentlyActive: accountsConnection(\n orderBy: id_ASC\n where: {\n transfersFrom_some: {\n timestamp_gte: $startDate\n timestamp_lte: $endDate\n }\n }\n ) {\n totalCount\n }\n recentlyDeposited: accountsConnection(\n orderBy: id_ASC\n where: {\n transfersTo_some: {\n timestamp_gte: $startDate\n timestamp_lte: $endDate\n }\n }\n ) {\n totalCount\n }\n }\n ': types.GetAccountsStatsDocument, @@ -48,10 +59,26 @@ const documents: Documents = { types.GetBlocksDocument, '\n query GetRecentBlocks(\n $limit: Int\n $offset: Int\n $orderBy: [BlockOrderByInput!]\n ) {\n blocks(limit: $limit, offset: $offset, orderBy: $orderBy) {\n id\n hash\n height\n reward\n timestamp\n }\n }\n ': types.GetRecentBlocksDocument, - '\n query GetBlockById($height: Int!, $hash: String!, $limit: Int!) {\n blocks(where: { height_eq: $height, OR: { hash_eq: $hash } }) {\n id\n hash\n height\n reward\n timestamp\n }\n miners: minerRewards(\n where: {\n block: { height_eq: $height }\n OR: { block: { hash_eq: $hash } }\n }\n ) {\n miner {\n id\n }\n }\n transactions: transfersConnection(\n orderBy: timestamp_DESC\n first: $limit\n where: {\n extrinsicHash_isNull: false\n AND: {\n block: { height_eq: $height }\n OR: { block: { hash_eq: $hash } }\n }\n }\n ) {\n edges {\n node {\n fee\n extrinsicHash\n block {\n height\n }\n amount\n timestamp\n from {\n id\n }\n to {\n id\n }\n }\n }\n\n totalCount\n }\n reversibleTransactions: reversibleTransfersConnection(\n orderBy: timestamp_DESC\n first: $limit\n where: {\n block: { height_eq: $height }\n OR: { block: { hash_eq: $hash } }\n }\n ) {\n edges {\n node {\n extrinsicHash\n timestamp\n status\n amount\n block {\n height\n }\n from {\n id\n }\n to {\n id\n }\n }\n }\n\n totalCount\n }\n }\n ': + '\n query GetBlockById($height: Int!, $hash: String!, $limit: Int!) {\n blocks(where: { height_eq: $height, OR: { hash_eq: $hash } }) {\n id\n hash\n height\n reward\n timestamp\n }\n miners: minerRewards(\n where: {\n block: { height_eq: $height }\n OR: { block: { hash_eq: $hash } }\n }\n ) {\n miner {\n id\n }\n }\n transactions: transfersConnection(\n orderBy: timestamp_DESC\n first: $limit\n where: {\n extrinsicHash_isNull: false\n AND: {\n block: { height_eq: $height }\n OR: { block: { hash_eq: $hash } }\n }\n }\n ) {\n edges {\n node {\n fee\n extrinsicHash\n block {\n height\n }\n amount\n timestamp\n from {\n id\n }\n to {\n id\n }\n }\n }\n\n totalCount\n }\n reversibleTransactions: reversibleTransfersConnection(\n orderBy: timestamp_DESC\n first: $limit\n where: {\n block: { height_eq: $height }\n OR: { block: { hash_eq: $hash } }\n }\n ) {\n edges {\n node {\n extrinsicHash\n timestamp\n status\n amount\n block {\n height\n }\n from {\n id\n }\n to {\n id\n }\n }\n }\n\n totalCount\n }\n highSecuritySets: highSecuritySetsConnection(\n orderBy: timestamp_DESC\n first: $limit\n where: {\n block: { height_eq: $height }\n OR: { block: { hash_eq: $hash } }\n }\n ) {\n edges {\n node {\n extrinsicHash\n timestamp\n delay\n block {\n height\n }\n who {\n id\n }\n interceptor {\n id\n }\n }\n }\n\n totalCount\n }\n errorEvents: errorEventsConnection(\n orderBy: timestamp_DESC\n first: $limit\n where: {\n block: { height_eq: $height }\n OR: { block: { hash_eq: $hash } }\n }\n ) {\n edges {\n node {\n errorDocs\n errorModule\n errorName\n errorType\n extrinsicHash\n timestamp\n block {\n height\n }\n }\n }\n\n totalCount\n }\n }\n ': types.GetBlockByIdDocument, '\n query GetStatus(\n $beginningDate: DateTime!\n $todayDate: DateTime!\n $endDate: DateTime!\n ) {\n transactions: transfersConnection(\n orderBy: id_ASC\n where: { extrinsicHash_isNull: false }\n ) {\n totalCount\n }\n reversibleTransactions: reversibleTransfersConnection(orderBy: id_ASC) {\n totalCount\n }\n status: squidStatus {\n hash\n height\n finalizedHeight\n finalizedHash\n }\n minedBlocks24Hours: blocksConnection(\n orderBy: id_ASC\n where: { timestamp_gte: $todayDate, timestamp_lte: $endDate }\n ) {\n totalCount\n }\n allActiveAccounts: accountsConnection(\n orderBy: id_ASC\n where: {\n transfersFrom_some: {\n timestamp_gte: $beginningDate\n timestamp_lte: $endDate\n }\n }\n ) {\n totalCount\n }\n allDepositAccounts: accountsConnection(\n orderBy: id_ASC\n where: {\n transfersTo_some: {\n timestamp_gte: $beginningDate\n timestamp_lte: $endDate\n }\n }\n ) {\n totalCount\n }\n }\n ': types.GetStatusDocument, + '\n query GetErrorEvents(\n $limit: Int\n $offset: Int\n $orderBy: [ErrorEventOrderByInput!]\n $where: ErrorEventWhereInput\n ) {\n errorEvents(\n limit: $limit\n offset: $offset\n orderBy: $orderBy\n where: $where\n ) {\n errorDocs\n errorModule\n errorName\n errorType\n extrinsicHash\n id\n timestamp\n block {\n height\n }\n }\n meta: errorEventsConnection(orderBy: id_ASC, where: $where) {\n totalCount\n }\n }\n ': + types.GetErrorEventsDocument, + '\n query GetRecentErrorEvents(\n $limit: Int\n $offset: Int\n $orderBy: [ErrorEventOrderByInput!]\n $where: ErrorEventWhereInput\n ) {\n errorEvents(\n limit: $limit\n offset: $offset\n orderBy: $orderBy\n where: $where\n ) {\n errorDocs\n errorModule\n errorName\n errorType\n extrinsicHash\n id\n timestamp\n block {\n height\n }\n }\n }\n ': + types.GetRecentErrorEventsDocument, + '\n query GetErrorEventsStats($startDate: DateTime!, $endDate: DateTime!) {\n last24Hour: errorEventsConnection(\n orderBy: id_ASC\n where: { timestamp_gte: $startDate, timestamp_lte: $endDate }\n ) {\n totalCount\n }\n allTime: errorEventsConnection(orderBy: id_ASC) {\n totalCount\n }\n }\n ': + types.GetErrorEventsStatsDocument, + '\n query GetErrorEventByHash($hash: String!) {\n errorEvents: errorEvents(where: { extrinsicHash_eq: $hash }) {\n errorDocs\n errorModule\n errorName\n errorType\n extrinsicHash\n id\n timestamp\n block {\n height\n }\n }\n }\n ': + types.GetErrorEventByHashDocument, + '\n query GetHighSecuritySets(\n $limit: Int\n $offset: Int\n $orderBy: [HighSecuritySetOrderByInput!]\n $where: HighSecuritySetWhereInput\n ) {\n highSecuritySets(\n limit: $limit\n offset: $offset\n orderBy: $orderBy\n where: $where\n ) {\n id\n extrinsicHash\n who {\n id\n }\n interceptor {\n id\n }\n timestamp\n delay\n block {\n height\n }\n }\n meta: highSecuritySetsConnection(orderBy: id_ASC, where: $where) {\n totalCount\n }\n }\n ': + types.GetHighSecuritySetsDocument, + '\n query GetRecentHighSecuritySets(\n $limit: Int\n $offset: Int\n $orderBy: [HighSecuritySetOrderByInput!]\n $where: HighSecuritySetWhereInput\n ) {\n highSecuritySets(\n limit: $limit\n offset: $offset\n orderBy: $orderBy\n where: $where\n ) {\n id\n extrinsicHash\n who {\n id\n }\n interceptor {\n id\n }\n timestamp\n delay\n block {\n height\n }\n }\n }\n ': + types.GetRecentHighSecuritySetsDocument, + '\n query GetHighSecuritySetsStats(\n $startDate: DateTime!\n $endDate: DateTime!\n ) {\n last24Hour: highSecuritySetsConnection(\n orderBy: id_ASC\n where: { timestamp_gte: $startDate, timestamp_lte: $endDate }\n ) {\n totalCount\n }\n allTime: highSecuritySetsConnection(orderBy: id_ASC) {\n totalCount\n }\n }\n ': + types.GetHighSecuritySetsStatsDocument, + '\n query GetHighSecuritySetByHash($hash: String!) {\n highSecuritySets(where: { extrinsicHash_eq: $hash }) {\n id\n extrinsicHash\n who {\n id\n }\n interceptor {\n id\n }\n timestamp\n delay\n block {\n height\n }\n }\n }\n ': + types.GetHighSecuritySetByHashDocument, '\n query GetMinerLeaderboard($limit: Int, $offset: Int) {\n leaderboardEntries: minerStats(\n limit: $limit\n offset: $offset\n orderBy: totalMinedBlocks_DESC\n ) {\n id\n totalMinedBlocks\n totalRewards\n }\n meta: minerStatsConnection(orderBy: id_ASC) {\n totalCount\n }\n }\n ': types.GetMinerLeaderboardDocument, '\n query GetMinerRewards(\n $limit: Int\n $offset: Int\n $orderBy: [MinerRewardOrderByInput!]\n $where: MinerRewardWhereInput\n ) {\n minerRewards(\n limit: $limit\n offset: $offset\n orderBy: $orderBy\n where: $where\n ) {\n block {\n height\n hash\n }\n reward\n miner {\n id\n }\n timestamp\n }\n meta: minerRewardsConnection(orderBy: id_ASC, where: $where) {\n totalCount\n }\n }\n ': @@ -72,7 +99,7 @@ const documents: Documents = { types.GetReversibleTransactionByHashDocument, '\n query GetReversibleTransactionStatusByHash($hash: String!) {\n reversibleTransactions: reversibleTransfers(\n where: { extrinsicHash_eq: $hash }\n ) {\n status\n }\n }\n ': types.GetReversibleTransactionStatusByHashDocument, - '\n query SearchAll($keyword: String, $keyword_number: Int, $limit: Int) {\n transactions: transfers(\n limit: $limit\n where: { extrinsicHash_startsWith: $keyword }\n ) {\n extrinsicHash\n }\n reversibleTransactions: reversibleTransfers(\n limit: $limit\n where: { extrinsicHash_startsWith: $keyword }\n ) {\n extrinsicHash\n }\n accounts(limit: $limit, where: { id_startsWith: $keyword }) {\n id\n }\n blocks(\n limit: $limit\n where: {\n hash_startsWith: $keyword\n OR: { height_eq: $keyword_number }\n }\n ) {\n height\n }\n minerRewards(\n limit: $limit\n where: { block: { hash_startsWith: $keyword } }\n ) {\n block {\n height\n hash\n }\n reward\n miner {\n id\n }\n timestamp\n }\n }\n ': + '\n query SearchAll($keyword: String, $keyword_number: Int, $limit: Int) {\n transactions: transfers(\n limit: $limit\n where: { extrinsicHash_startsWith: $keyword }\n ) {\n extrinsicHash\n }\n reversibleTransactions: reversibleTransfers(\n limit: $limit\n where: { extrinsicHash_startsWith: $keyword }\n ) {\n extrinsicHash\n }\n accounts(limit: $limit, where: { id_startsWith: $keyword }) {\n id\n }\n blocks(\n limit: $limit\n where: {\n hash_startsWith: $keyword\n OR: { height_eq: $keyword_number }\n }\n ) {\n height\n }\n highSecuritySets(\n limit: $limit\n where: { extrinsicHash_startsWith: $keyword }\n ) {\n extrinsicHash\n }\n minerRewards(\n limit: $limit\n where: { block: { hash_startsWith: $keyword } }\n ) {\n block {\n height\n hash\n }\n reward\n miner {\n id\n }\n timestamp\n }\n errorEvents(\n limit: $limit\n where: {\n errorType_containsInsensitive: $keyword\n OR: { errorName_containsInsensitive: $keyword }\n }\n ) {\n extrinsicHash\n }\n }\n ': types.SearchAllDocument, '\n query GetTransactions(\n $limit: Int\n $offset: Int\n $orderBy: [TransferOrderByInput!]\n $where: TransferWhereInput\n ) {\n transactions: transfers(\n limit: $limit\n offset: $offset\n orderBy: $orderBy\n where: $where\n ) {\n fee\n extrinsicHash\n block {\n height\n }\n amount\n timestamp\n from {\n id\n }\n to {\n id\n }\n }\n meta: transfersConnection(orderBy: id_ASC, where: $where) {\n totalCount\n }\n }\n ': types.GetTransactionsDocument, @@ -81,7 +108,13 @@ const documents: Documents = { '\n query GetTransactionsStats($startDate: DateTime!, $endDate: DateTime!) {\n last24Hour: transfersConnection(\n orderBy: id_ASC\n where: {\n timestamp_gte: $startDate\n timestamp_lte: $endDate\n extrinsicHash_isNull: false\n }\n ) {\n totalCount\n }\n allTime: transfersConnection(\n orderBy: id_ASC\n where: { extrinsicHash_isNull: false }\n ) {\n totalCount\n }\n }\n ': types.GetTransactionsStatsDocument, '\n query GetTransactionByHash($hash: String!) {\n transactions: transfers(where: { extrinsicHash_eq: $hash }) {\n fee\n extrinsicHash\n block {\n height\n }\n amount\n timestamp\n from {\n id\n }\n to {\n id\n }\n }\n }\n ': - types.GetTransactionByHashDocument + types.GetTransactionByHashDocument, + '\n query GetWormholeExtrinsics(\n $limit: Int\n $offset: Int\n $orderBy: [WormholeExtrinsicOrderByInput!]!\n $where: WormholeExtrinsicWhereInput\n ) {\n wormholeExtrinsics(\n limit: $limit\n offset: $offset\n orderBy: $orderBy\n where: $where\n ) {\n id\n extrinsicHash\n totalAmount\n outputCount\n timestamp\n privacyScore\n privacyLabel\n block {\n height\n }\n }\n meta: wormholeExtrinsicsConnection(orderBy: id_ASC) {\n totalCount\n }\n }\n': + types.GetWormholeExtrinsicsDocument, + '\n query GetWormholeExtrinsicById($id: String!) {\n wormholeExtrinsicById(id: $id) {\n id\n extrinsicHash\n totalAmount\n outputCount\n timestamp\n privacyScore\n privacyScore01Pct\n privacyScore1Pct\n privacyScore5Pct\n privacyLabel\n poolSnapshot\n block {\n id\n height\n hash\n timestamp\n }\n outputs {\n id\n exitAccount {\n id\n }\n amount\n }\n }\n wormholeNullifiers(where: { extrinsic: { id_eq: $id } }) {\n nullifier\n nullifierHash\n }\n }\n': + types.GetWormholeExtrinsicByIdDocument, + '\n query GetDepositPoolStats {\n depositPoolStatsById(id: "global") {\n lastUpdatedBlock\n buckets\n }\n }\n': + types.GetDepositPoolStatsDocument }; /** @@ -108,8 +141,8 @@ export function gql( * The gql function is used to parse GraphQL queries into a document that can be used by GraphQL clients. */ export function gql( - source: '\n query GetAccountById($id: String!, $limit: Int!) {\n account: accountById(id: $id) {\n id\n free\n frozen\n reserved\n }\n transactions: transfersConnection(\n orderBy: timestamp_DESC\n first: $limit\n where: {\n extrinsicHash_isNull: false\n AND: { from: { id_eq: $id }, OR: { to: { id_eq: $id } } }\n }\n ) {\n edges {\n node {\n fee\n extrinsicHash\n block {\n height\n }\n amount\n timestamp\n from {\n id\n }\n to {\n id\n }\n }\n }\n\n totalCount\n }\n reversibleTransactions: reversibleTransfersConnection(\n orderBy: timestamp_DESC\n first: $limit\n where: { from: { id_eq: $id }, OR: { to: { id_eq: $id } } }\n ) {\n edges {\n node {\n extrinsicHash\n timestamp\n status\n amount\n block {\n height\n }\n from {\n id\n }\n to {\n id\n }\n }\n }\n\n totalCount\n }\n minerRewards: minerRewardsConnection(\n orderBy: timestamp_DESC\n first: $limit\n where: { miner: { id_eq: $id } }\n ) {\n edges {\n node {\n block {\n height\n hash\n }\n reward\n miner {\n id\n }\n timestamp\n }\n }\n\n totalCount\n }\n }\n ' -): (typeof documents)['\n query GetAccountById($id: String!, $limit: Int!) {\n account: accountById(id: $id) {\n id\n free\n frozen\n reserved\n }\n transactions: transfersConnection(\n orderBy: timestamp_DESC\n first: $limit\n where: {\n extrinsicHash_isNull: false\n AND: { from: { id_eq: $id }, OR: { to: { id_eq: $id } } }\n }\n ) {\n edges {\n node {\n fee\n extrinsicHash\n block {\n height\n }\n amount\n timestamp\n from {\n id\n }\n to {\n id\n }\n }\n }\n\n totalCount\n }\n reversibleTransactions: reversibleTransfersConnection(\n orderBy: timestamp_DESC\n first: $limit\n where: { from: { id_eq: $id }, OR: { to: { id_eq: $id } } }\n ) {\n edges {\n node {\n extrinsicHash\n timestamp\n status\n amount\n block {\n height\n }\n from {\n id\n }\n to {\n id\n }\n }\n }\n\n totalCount\n }\n minerRewards: minerRewardsConnection(\n orderBy: timestamp_DESC\n first: $limit\n where: { miner: { id_eq: $id } }\n ) {\n edges {\n node {\n block {\n height\n hash\n }\n reward\n miner {\n id\n }\n timestamp\n }\n }\n\n totalCount\n }\n }\n ']; + source: '\n query GetAccountById($id: String!, $limit: Int!) {\n account: accountById(id: $id) {\n id\n free\n frozen\n reserved\n }\n transactions: transfersConnection(\n orderBy: timestamp_DESC\n first: $limit\n where: {\n extrinsicHash_isNull: false\n AND: { from: { id_eq: $id }, OR: { to: { id_eq: $id } } }\n }\n ) {\n edges {\n node {\n fee\n extrinsicHash\n block {\n height\n }\n amount\n timestamp\n from {\n id\n }\n to {\n id\n }\n }\n }\n\n totalCount\n }\n reversibleTransactions: reversibleTransfersConnection(\n orderBy: timestamp_DESC\n first: $limit\n where: { from: { id_eq: $id }, OR: { to: { id_eq: $id } } }\n ) {\n edges {\n node {\n extrinsicHash\n timestamp\n status\n amount\n block {\n height\n }\n from {\n id\n }\n to {\n id\n }\n }\n }\n\n totalCount\n }\n minerRewards: minerRewardsConnection(\n orderBy: timestamp_DESC\n first: $limit\n where: { miner: { id_eq: $id } }\n ) {\n edges {\n node {\n block {\n height\n hash\n }\n reward\n miner {\n id\n }\n timestamp\n }\n }\n\n totalCount\n }\n guardian: highSecuritySetsConnection(\n orderBy: timestamp_DESC\n first: $limit\n where: { who: { id_eq: $id } }\n ) {\n edges {\n node {\n interceptor {\n id\n free\n frozen\n reserved\n }\n }\n }\n\n totalCount\n }\n beneficiaries: highSecuritySetsConnection(\n orderBy: timestamp_DESC\n first: $limit\n where: { interceptor: { id_eq: $id } }\n ) {\n edges {\n node {\n who {\n id\n free\n frozen\n reserved\n }\n }\n }\n\n totalCount\n }\n }\n ' +): (typeof documents)['\n query GetAccountById($id: String!, $limit: Int!) {\n account: accountById(id: $id) {\n id\n free\n frozen\n reserved\n }\n transactions: transfersConnection(\n orderBy: timestamp_DESC\n first: $limit\n where: {\n extrinsicHash_isNull: false\n AND: { from: { id_eq: $id }, OR: { to: { id_eq: $id } } }\n }\n ) {\n edges {\n node {\n fee\n extrinsicHash\n block {\n height\n }\n amount\n timestamp\n from {\n id\n }\n to {\n id\n }\n }\n }\n\n totalCount\n }\n reversibleTransactions: reversibleTransfersConnection(\n orderBy: timestamp_DESC\n first: $limit\n where: { from: { id_eq: $id }, OR: { to: { id_eq: $id } } }\n ) {\n edges {\n node {\n extrinsicHash\n timestamp\n status\n amount\n block {\n height\n }\n from {\n id\n }\n to {\n id\n }\n }\n }\n\n totalCount\n }\n minerRewards: minerRewardsConnection(\n orderBy: timestamp_DESC\n first: $limit\n where: { miner: { id_eq: $id } }\n ) {\n edges {\n node {\n block {\n height\n hash\n }\n reward\n miner {\n id\n }\n timestamp\n }\n }\n\n totalCount\n }\n guardian: highSecuritySetsConnection(\n orderBy: timestamp_DESC\n first: $limit\n where: { who: { id_eq: $id } }\n ) {\n edges {\n node {\n interceptor {\n id\n free\n frozen\n reserved\n }\n }\n }\n\n totalCount\n }\n beneficiaries: highSecuritySetsConnection(\n orderBy: timestamp_DESC\n first: $limit\n where: { interceptor: { id_eq: $id } }\n ) {\n edges {\n node {\n who {\n id\n free\n frozen\n reserved\n }\n }\n }\n\n totalCount\n }\n }\n ']; /** * The gql function is used to parse GraphQL queries into a document that can be used by GraphQL clients. */ @@ -132,14 +165,62 @@ export function gql( * The gql function is used to parse GraphQL queries into a document that can be used by GraphQL clients. */ export function gql( - source: '\n query GetBlockById($height: Int!, $hash: String!, $limit: Int!) {\n blocks(where: { height_eq: $height, OR: { hash_eq: $hash } }) {\n id\n hash\n height\n reward\n timestamp\n }\n miners: minerRewards(\n where: {\n block: { height_eq: $height }\n OR: { block: { hash_eq: $hash } }\n }\n ) {\n miner {\n id\n }\n }\n transactions: transfersConnection(\n orderBy: timestamp_DESC\n first: $limit\n where: {\n extrinsicHash_isNull: false\n AND: {\n block: { height_eq: $height }\n OR: { block: { hash_eq: $hash } }\n }\n }\n ) {\n edges {\n node {\n fee\n extrinsicHash\n block {\n height\n }\n amount\n timestamp\n from {\n id\n }\n to {\n id\n }\n }\n }\n\n totalCount\n }\n reversibleTransactions: reversibleTransfersConnection(\n orderBy: timestamp_DESC\n first: $limit\n where: {\n block: { height_eq: $height }\n OR: { block: { hash_eq: $hash } }\n }\n ) {\n edges {\n node {\n extrinsicHash\n timestamp\n status\n amount\n block {\n height\n }\n from {\n id\n }\n to {\n id\n }\n }\n }\n\n totalCount\n }\n }\n ' -): (typeof documents)['\n query GetBlockById($height: Int!, $hash: String!, $limit: Int!) {\n blocks(where: { height_eq: $height, OR: { hash_eq: $hash } }) {\n id\n hash\n height\n reward\n timestamp\n }\n miners: minerRewards(\n where: {\n block: { height_eq: $height }\n OR: { block: { hash_eq: $hash } }\n }\n ) {\n miner {\n id\n }\n }\n transactions: transfersConnection(\n orderBy: timestamp_DESC\n first: $limit\n where: {\n extrinsicHash_isNull: false\n AND: {\n block: { height_eq: $height }\n OR: { block: { hash_eq: $hash } }\n }\n }\n ) {\n edges {\n node {\n fee\n extrinsicHash\n block {\n height\n }\n amount\n timestamp\n from {\n id\n }\n to {\n id\n }\n }\n }\n\n totalCount\n }\n reversibleTransactions: reversibleTransfersConnection(\n orderBy: timestamp_DESC\n first: $limit\n where: {\n block: { height_eq: $height }\n OR: { block: { hash_eq: $hash } }\n }\n ) {\n edges {\n node {\n extrinsicHash\n timestamp\n status\n amount\n block {\n height\n }\n from {\n id\n }\n to {\n id\n }\n }\n }\n\n totalCount\n }\n }\n ']; + source: '\n query GetBlockById($height: Int!, $hash: String!, $limit: Int!) {\n blocks(where: { height_eq: $height, OR: { hash_eq: $hash } }) {\n id\n hash\n height\n reward\n timestamp\n }\n miners: minerRewards(\n where: {\n block: { height_eq: $height }\n OR: { block: { hash_eq: $hash } }\n }\n ) {\n miner {\n id\n }\n }\n transactions: transfersConnection(\n orderBy: timestamp_DESC\n first: $limit\n where: {\n extrinsicHash_isNull: false\n AND: {\n block: { height_eq: $height }\n OR: { block: { hash_eq: $hash } }\n }\n }\n ) {\n edges {\n node {\n fee\n extrinsicHash\n block {\n height\n }\n amount\n timestamp\n from {\n id\n }\n to {\n id\n }\n }\n }\n\n totalCount\n }\n reversibleTransactions: reversibleTransfersConnection(\n orderBy: timestamp_DESC\n first: $limit\n where: {\n block: { height_eq: $height }\n OR: { block: { hash_eq: $hash } }\n }\n ) {\n edges {\n node {\n extrinsicHash\n timestamp\n status\n amount\n block {\n height\n }\n from {\n id\n }\n to {\n id\n }\n }\n }\n\n totalCount\n }\n highSecuritySets: highSecuritySetsConnection(\n orderBy: timestamp_DESC\n first: $limit\n where: {\n block: { height_eq: $height }\n OR: { block: { hash_eq: $hash } }\n }\n ) {\n edges {\n node {\n extrinsicHash\n timestamp\n delay\n block {\n height\n }\n who {\n id\n }\n interceptor {\n id\n }\n }\n }\n\n totalCount\n }\n errorEvents: errorEventsConnection(\n orderBy: timestamp_DESC\n first: $limit\n where: {\n block: { height_eq: $height }\n OR: { block: { hash_eq: $hash } }\n }\n ) {\n edges {\n node {\n errorDocs\n errorModule\n errorName\n errorType\n extrinsicHash\n timestamp\n block {\n height\n }\n }\n }\n\n totalCount\n }\n }\n ' +): (typeof documents)['\n query GetBlockById($height: Int!, $hash: String!, $limit: Int!) {\n blocks(where: { height_eq: $height, OR: { hash_eq: $hash } }) {\n id\n hash\n height\n reward\n timestamp\n }\n miners: minerRewards(\n where: {\n block: { height_eq: $height }\n OR: { block: { hash_eq: $hash } }\n }\n ) {\n miner {\n id\n }\n }\n transactions: transfersConnection(\n orderBy: timestamp_DESC\n first: $limit\n where: {\n extrinsicHash_isNull: false\n AND: {\n block: { height_eq: $height }\n OR: { block: { hash_eq: $hash } }\n }\n }\n ) {\n edges {\n node {\n fee\n extrinsicHash\n block {\n height\n }\n amount\n timestamp\n from {\n id\n }\n to {\n id\n }\n }\n }\n\n totalCount\n }\n reversibleTransactions: reversibleTransfersConnection(\n orderBy: timestamp_DESC\n first: $limit\n where: {\n block: { height_eq: $height }\n OR: { block: { hash_eq: $hash } }\n }\n ) {\n edges {\n node {\n extrinsicHash\n timestamp\n status\n amount\n block {\n height\n }\n from {\n id\n }\n to {\n id\n }\n }\n }\n\n totalCount\n }\n highSecuritySets: highSecuritySetsConnection(\n orderBy: timestamp_DESC\n first: $limit\n where: {\n block: { height_eq: $height }\n OR: { block: { hash_eq: $hash } }\n }\n ) {\n edges {\n node {\n extrinsicHash\n timestamp\n delay\n block {\n height\n }\n who {\n id\n }\n interceptor {\n id\n }\n }\n }\n\n totalCount\n }\n errorEvents: errorEventsConnection(\n orderBy: timestamp_DESC\n first: $limit\n where: {\n block: { height_eq: $height }\n OR: { block: { hash_eq: $hash } }\n }\n ) {\n edges {\n node {\n errorDocs\n errorModule\n errorName\n errorType\n extrinsicHash\n timestamp\n block {\n height\n }\n }\n }\n\n totalCount\n }\n }\n ']; /** * The gql function is used to parse GraphQL queries into a document that can be used by GraphQL clients. */ export function gql( source: '\n query GetStatus(\n $beginningDate: DateTime!\n $todayDate: DateTime!\n $endDate: DateTime!\n ) {\n transactions: transfersConnection(\n orderBy: id_ASC\n where: { extrinsicHash_isNull: false }\n ) {\n totalCount\n }\n reversibleTransactions: reversibleTransfersConnection(orderBy: id_ASC) {\n totalCount\n }\n status: squidStatus {\n hash\n height\n finalizedHeight\n finalizedHash\n }\n minedBlocks24Hours: blocksConnection(\n orderBy: id_ASC\n where: { timestamp_gte: $todayDate, timestamp_lte: $endDate }\n ) {\n totalCount\n }\n allActiveAccounts: accountsConnection(\n orderBy: id_ASC\n where: {\n transfersFrom_some: {\n timestamp_gte: $beginningDate\n timestamp_lte: $endDate\n }\n }\n ) {\n totalCount\n }\n allDepositAccounts: accountsConnection(\n orderBy: id_ASC\n where: {\n transfersTo_some: {\n timestamp_gte: $beginningDate\n timestamp_lte: $endDate\n }\n }\n ) {\n totalCount\n }\n }\n ' ): (typeof documents)['\n query GetStatus(\n $beginningDate: DateTime!\n $todayDate: DateTime!\n $endDate: DateTime!\n ) {\n transactions: transfersConnection(\n orderBy: id_ASC\n where: { extrinsicHash_isNull: false }\n ) {\n totalCount\n }\n reversibleTransactions: reversibleTransfersConnection(orderBy: id_ASC) {\n totalCount\n }\n status: squidStatus {\n hash\n height\n finalizedHeight\n finalizedHash\n }\n minedBlocks24Hours: blocksConnection(\n orderBy: id_ASC\n where: { timestamp_gte: $todayDate, timestamp_lte: $endDate }\n ) {\n totalCount\n }\n allActiveAccounts: accountsConnection(\n orderBy: id_ASC\n where: {\n transfersFrom_some: {\n timestamp_gte: $beginningDate\n timestamp_lte: $endDate\n }\n }\n ) {\n totalCount\n }\n allDepositAccounts: accountsConnection(\n orderBy: id_ASC\n where: {\n transfersTo_some: {\n timestamp_gte: $beginningDate\n timestamp_lte: $endDate\n }\n }\n ) {\n totalCount\n }\n }\n ']; +/** + * The gql function is used to parse GraphQL queries into a document that can be used by GraphQL clients. + */ +export function gql( + source: '\n query GetErrorEvents(\n $limit: Int\n $offset: Int\n $orderBy: [ErrorEventOrderByInput!]\n $where: ErrorEventWhereInput\n ) {\n errorEvents(\n limit: $limit\n offset: $offset\n orderBy: $orderBy\n where: $where\n ) {\n errorDocs\n errorModule\n errorName\n errorType\n extrinsicHash\n id\n timestamp\n block {\n height\n }\n }\n meta: errorEventsConnection(orderBy: id_ASC, where: $where) {\n totalCount\n }\n }\n ' +): (typeof documents)['\n query GetErrorEvents(\n $limit: Int\n $offset: Int\n $orderBy: [ErrorEventOrderByInput!]\n $where: ErrorEventWhereInput\n ) {\n errorEvents(\n limit: $limit\n offset: $offset\n orderBy: $orderBy\n where: $where\n ) {\n errorDocs\n errorModule\n errorName\n errorType\n extrinsicHash\n id\n timestamp\n block {\n height\n }\n }\n meta: errorEventsConnection(orderBy: id_ASC, where: $where) {\n totalCount\n }\n }\n ']; +/** + * The gql function is used to parse GraphQL queries into a document that can be used by GraphQL clients. + */ +export function gql( + source: '\n query GetRecentErrorEvents(\n $limit: Int\n $offset: Int\n $orderBy: [ErrorEventOrderByInput!]\n $where: ErrorEventWhereInput\n ) {\n errorEvents(\n limit: $limit\n offset: $offset\n orderBy: $orderBy\n where: $where\n ) {\n errorDocs\n errorModule\n errorName\n errorType\n extrinsicHash\n id\n timestamp\n block {\n height\n }\n }\n }\n ' +): (typeof documents)['\n query GetRecentErrorEvents(\n $limit: Int\n $offset: Int\n $orderBy: [ErrorEventOrderByInput!]\n $where: ErrorEventWhereInput\n ) {\n errorEvents(\n limit: $limit\n offset: $offset\n orderBy: $orderBy\n where: $where\n ) {\n errorDocs\n errorModule\n errorName\n errorType\n extrinsicHash\n id\n timestamp\n block {\n height\n }\n }\n }\n ']; +/** + * The gql function is used to parse GraphQL queries into a document that can be used by GraphQL clients. + */ +export function gql( + source: '\n query GetErrorEventsStats($startDate: DateTime!, $endDate: DateTime!) {\n last24Hour: errorEventsConnection(\n orderBy: id_ASC\n where: { timestamp_gte: $startDate, timestamp_lte: $endDate }\n ) {\n totalCount\n }\n allTime: errorEventsConnection(orderBy: id_ASC) {\n totalCount\n }\n }\n ' +): (typeof documents)['\n query GetErrorEventsStats($startDate: DateTime!, $endDate: DateTime!) {\n last24Hour: errorEventsConnection(\n orderBy: id_ASC\n where: { timestamp_gte: $startDate, timestamp_lte: $endDate }\n ) {\n totalCount\n }\n allTime: errorEventsConnection(orderBy: id_ASC) {\n totalCount\n }\n }\n ']; +/** + * The gql function is used to parse GraphQL queries into a document that can be used by GraphQL clients. + */ +export function gql( + source: '\n query GetErrorEventByHash($hash: String!) {\n errorEvents: errorEvents(where: { extrinsicHash_eq: $hash }) {\n errorDocs\n errorModule\n errorName\n errorType\n extrinsicHash\n id\n timestamp\n block {\n height\n }\n }\n }\n ' +): (typeof documents)['\n query GetErrorEventByHash($hash: String!) {\n errorEvents: errorEvents(where: { extrinsicHash_eq: $hash }) {\n errorDocs\n errorModule\n errorName\n errorType\n extrinsicHash\n id\n timestamp\n block {\n height\n }\n }\n }\n ']; +/** + * The gql function is used to parse GraphQL queries into a document that can be used by GraphQL clients. + */ +export function gql( + source: '\n query GetHighSecuritySets(\n $limit: Int\n $offset: Int\n $orderBy: [HighSecuritySetOrderByInput!]\n $where: HighSecuritySetWhereInput\n ) {\n highSecuritySets(\n limit: $limit\n offset: $offset\n orderBy: $orderBy\n where: $where\n ) {\n id\n extrinsicHash\n who {\n id\n }\n interceptor {\n id\n }\n timestamp\n delay\n block {\n height\n }\n }\n meta: highSecuritySetsConnection(orderBy: id_ASC, where: $where) {\n totalCount\n }\n }\n ' +): (typeof documents)['\n query GetHighSecuritySets(\n $limit: Int\n $offset: Int\n $orderBy: [HighSecuritySetOrderByInput!]\n $where: HighSecuritySetWhereInput\n ) {\n highSecuritySets(\n limit: $limit\n offset: $offset\n orderBy: $orderBy\n where: $where\n ) {\n id\n extrinsicHash\n who {\n id\n }\n interceptor {\n id\n }\n timestamp\n delay\n block {\n height\n }\n }\n meta: highSecuritySetsConnection(orderBy: id_ASC, where: $where) {\n totalCount\n }\n }\n ']; +/** + * The gql function is used to parse GraphQL queries into a document that can be used by GraphQL clients. + */ +export function gql( + source: '\n query GetRecentHighSecuritySets(\n $limit: Int\n $offset: Int\n $orderBy: [HighSecuritySetOrderByInput!]\n $where: HighSecuritySetWhereInput\n ) {\n highSecuritySets(\n limit: $limit\n offset: $offset\n orderBy: $orderBy\n where: $where\n ) {\n id\n extrinsicHash\n who {\n id\n }\n interceptor {\n id\n }\n timestamp\n delay\n block {\n height\n }\n }\n }\n ' +): (typeof documents)['\n query GetRecentHighSecuritySets(\n $limit: Int\n $offset: Int\n $orderBy: [HighSecuritySetOrderByInput!]\n $where: HighSecuritySetWhereInput\n ) {\n highSecuritySets(\n limit: $limit\n offset: $offset\n orderBy: $orderBy\n where: $where\n ) {\n id\n extrinsicHash\n who {\n id\n }\n interceptor {\n id\n }\n timestamp\n delay\n block {\n height\n }\n }\n }\n ']; +/** + * The gql function is used to parse GraphQL queries into a document that can be used by GraphQL clients. + */ +export function gql( + source: '\n query GetHighSecuritySetsStats(\n $startDate: DateTime!\n $endDate: DateTime!\n ) {\n last24Hour: highSecuritySetsConnection(\n orderBy: id_ASC\n where: { timestamp_gte: $startDate, timestamp_lte: $endDate }\n ) {\n totalCount\n }\n allTime: highSecuritySetsConnection(orderBy: id_ASC) {\n totalCount\n }\n }\n ' +): (typeof documents)['\n query GetHighSecuritySetsStats(\n $startDate: DateTime!\n $endDate: DateTime!\n ) {\n last24Hour: highSecuritySetsConnection(\n orderBy: id_ASC\n where: { timestamp_gte: $startDate, timestamp_lte: $endDate }\n ) {\n totalCount\n }\n allTime: highSecuritySetsConnection(orderBy: id_ASC) {\n totalCount\n }\n }\n ']; +/** + * The gql function is used to parse GraphQL queries into a document that can be used by GraphQL clients. + */ +export function gql( + source: '\n query GetHighSecuritySetByHash($hash: String!) {\n highSecuritySets(where: { extrinsicHash_eq: $hash }) {\n id\n extrinsicHash\n who {\n id\n }\n interceptor {\n id\n }\n timestamp\n delay\n block {\n height\n }\n }\n }\n ' +): (typeof documents)['\n query GetHighSecuritySetByHash($hash: String!) {\n highSecuritySets(where: { extrinsicHash_eq: $hash }) {\n id\n extrinsicHash\n who {\n id\n }\n interceptor {\n id\n }\n timestamp\n delay\n block {\n height\n }\n }\n }\n ']; /** * The gql function is used to parse GraphQL queries into a document that can be used by GraphQL clients. */ @@ -204,8 +285,8 @@ export function gql( * The gql function is used to parse GraphQL queries into a document that can be used by GraphQL clients. */ export function gql( - source: '\n query SearchAll($keyword: String, $keyword_number: Int, $limit: Int) {\n transactions: transfers(\n limit: $limit\n where: { extrinsicHash_startsWith: $keyword }\n ) {\n extrinsicHash\n }\n reversibleTransactions: reversibleTransfers(\n limit: $limit\n where: { extrinsicHash_startsWith: $keyword }\n ) {\n extrinsicHash\n }\n accounts(limit: $limit, where: { id_startsWith: $keyword }) {\n id\n }\n blocks(\n limit: $limit\n where: {\n hash_startsWith: $keyword\n OR: { height_eq: $keyword_number }\n }\n ) {\n height\n }\n minerRewards(\n limit: $limit\n where: { block: { hash_startsWith: $keyword } }\n ) {\n block {\n height\n hash\n }\n reward\n miner {\n id\n }\n timestamp\n }\n }\n ' -): (typeof documents)['\n query SearchAll($keyword: String, $keyword_number: Int, $limit: Int) {\n transactions: transfers(\n limit: $limit\n where: { extrinsicHash_startsWith: $keyword }\n ) {\n extrinsicHash\n }\n reversibleTransactions: reversibleTransfers(\n limit: $limit\n where: { extrinsicHash_startsWith: $keyword }\n ) {\n extrinsicHash\n }\n accounts(limit: $limit, where: { id_startsWith: $keyword }) {\n id\n }\n blocks(\n limit: $limit\n where: {\n hash_startsWith: $keyword\n OR: { height_eq: $keyword_number }\n }\n ) {\n height\n }\n minerRewards(\n limit: $limit\n where: { block: { hash_startsWith: $keyword } }\n ) {\n block {\n height\n hash\n }\n reward\n miner {\n id\n }\n timestamp\n }\n }\n ']; + source: '\n query SearchAll($keyword: String, $keyword_number: Int, $limit: Int) {\n transactions: transfers(\n limit: $limit\n where: { extrinsicHash_startsWith: $keyword }\n ) {\n extrinsicHash\n }\n reversibleTransactions: reversibleTransfers(\n limit: $limit\n where: { extrinsicHash_startsWith: $keyword }\n ) {\n extrinsicHash\n }\n accounts(limit: $limit, where: { id_startsWith: $keyword }) {\n id\n }\n blocks(\n limit: $limit\n where: {\n hash_startsWith: $keyword\n OR: { height_eq: $keyword_number }\n }\n ) {\n height\n }\n highSecuritySets(\n limit: $limit\n where: { extrinsicHash_startsWith: $keyword }\n ) {\n extrinsicHash\n }\n minerRewards(\n limit: $limit\n where: { block: { hash_startsWith: $keyword } }\n ) {\n block {\n height\n hash\n }\n reward\n miner {\n id\n }\n timestamp\n }\n errorEvents(\n limit: $limit\n where: {\n errorType_containsInsensitive: $keyword\n OR: { errorName_containsInsensitive: $keyword }\n }\n ) {\n extrinsicHash\n }\n }\n ' +): (typeof documents)['\n query SearchAll($keyword: String, $keyword_number: Int, $limit: Int) {\n transactions: transfers(\n limit: $limit\n where: { extrinsicHash_startsWith: $keyword }\n ) {\n extrinsicHash\n }\n reversibleTransactions: reversibleTransfers(\n limit: $limit\n where: { extrinsicHash_startsWith: $keyword }\n ) {\n extrinsicHash\n }\n accounts(limit: $limit, where: { id_startsWith: $keyword }) {\n id\n }\n blocks(\n limit: $limit\n where: {\n hash_startsWith: $keyword\n OR: { height_eq: $keyword_number }\n }\n ) {\n height\n }\n highSecuritySets(\n limit: $limit\n where: { extrinsicHash_startsWith: $keyword }\n ) {\n extrinsicHash\n }\n minerRewards(\n limit: $limit\n where: { block: { hash_startsWith: $keyword } }\n ) {\n block {\n height\n hash\n }\n reward\n miner {\n id\n }\n timestamp\n }\n errorEvents(\n limit: $limit\n where: {\n errorType_containsInsensitive: $keyword\n OR: { errorName_containsInsensitive: $keyword }\n }\n ) {\n extrinsicHash\n }\n }\n ']; /** * The gql function is used to parse GraphQL queries into a document that can be used by GraphQL clients. */ @@ -230,6 +311,24 @@ export function gql( export function gql( source: '\n query GetTransactionByHash($hash: String!) {\n transactions: transfers(where: { extrinsicHash_eq: $hash }) {\n fee\n extrinsicHash\n block {\n height\n }\n amount\n timestamp\n from {\n id\n }\n to {\n id\n }\n }\n }\n ' ): (typeof documents)['\n query GetTransactionByHash($hash: String!) {\n transactions: transfers(where: { extrinsicHash_eq: $hash }) {\n fee\n extrinsicHash\n block {\n height\n }\n amount\n timestamp\n from {\n id\n }\n to {\n id\n }\n }\n }\n ']; +/** + * The gql function is used to parse GraphQL queries into a document that can be used by GraphQL clients. + */ +export function gql( + source: '\n query GetWormholeExtrinsics(\n $limit: Int\n $offset: Int\n $orderBy: [WormholeExtrinsicOrderByInput!]!\n $where: WormholeExtrinsicWhereInput\n ) {\n wormholeExtrinsics(\n limit: $limit\n offset: $offset\n orderBy: $orderBy\n where: $where\n ) {\n id\n extrinsicHash\n totalAmount\n outputCount\n timestamp\n privacyScore\n privacyLabel\n block {\n height\n }\n }\n meta: wormholeExtrinsicsConnection(orderBy: id_ASC) {\n totalCount\n }\n }\n' +): (typeof documents)['\n query GetWormholeExtrinsics(\n $limit: Int\n $offset: Int\n $orderBy: [WormholeExtrinsicOrderByInput!]!\n $where: WormholeExtrinsicWhereInput\n ) {\n wormholeExtrinsics(\n limit: $limit\n offset: $offset\n orderBy: $orderBy\n where: $where\n ) {\n id\n extrinsicHash\n totalAmount\n outputCount\n timestamp\n privacyScore\n privacyLabel\n block {\n height\n }\n }\n meta: wormholeExtrinsicsConnection(orderBy: id_ASC) {\n totalCount\n }\n }\n']; +/** + * The gql function is used to parse GraphQL queries into a document that can be used by GraphQL clients. + */ +export function gql( + source: '\n query GetWormholeExtrinsicById($id: String!) {\n wormholeExtrinsicById(id: $id) {\n id\n extrinsicHash\n totalAmount\n outputCount\n timestamp\n privacyScore\n privacyScore01Pct\n privacyScore1Pct\n privacyScore5Pct\n privacyLabel\n poolSnapshot\n block {\n id\n height\n hash\n timestamp\n }\n outputs {\n id\n exitAccount {\n id\n }\n amount\n }\n }\n wormholeNullifiers(where: { extrinsic: { id_eq: $id } }) {\n nullifier\n nullifierHash\n }\n }\n' +): (typeof documents)['\n query GetWormholeExtrinsicById($id: String!) {\n wormholeExtrinsicById(id: $id) {\n id\n extrinsicHash\n totalAmount\n outputCount\n timestamp\n privacyScore\n privacyScore01Pct\n privacyScore1Pct\n privacyScore5Pct\n privacyLabel\n poolSnapshot\n block {\n id\n height\n hash\n timestamp\n }\n outputs {\n id\n exitAccount {\n id\n }\n amount\n }\n }\n wormholeNullifiers(where: { extrinsic: { id_eq: $id } }) {\n nullifier\n nullifierHash\n }\n }\n']; +/** + * The gql function is used to parse GraphQL queries into a document that can be used by GraphQL clients. + */ +export function gql( + source: '\n query GetDepositPoolStats {\n depositPoolStatsById(id: "global") {\n lastUpdatedBlock\n buckets\n }\n }\n' +): (typeof documents)['\n query GetDepositPoolStats {\n depositPoolStatsById(id: "global") {\n lastUpdatedBlock\n buckets\n }\n }\n']; export function gql(source: string) { return (documents as any)[source] ?? {}; diff --git a/src/__generated__/graphql.ts b/src/__generated__/graphql.ts index 7546531..4bd3c82 100644 --- a/src/__generated__/graphql.ts +++ b/src/__generated__/graphql.ts @@ -39,6 +39,8 @@ export type Account = { frozen: Scalars['BigInt']['output']; /** Account address */ id: Scalars['String']['output']; + /** Whether this account has only received transfers (never sent). Used for deposit pool tracking. */ + isDepositOnly: Scalars['Boolean']['output']; lastUpdated: Scalars['Int']['output']; reserved: Scalars['BigInt']['output']; transfersFrom: Array; @@ -84,6 +86,12 @@ export enum AccountOrderByInput { IdDesc = 'id_DESC', IdDescNullsFirst = 'id_DESC_NULLS_FIRST', IdDescNullsLast = 'id_DESC_NULLS_LAST', + IsDepositOnlyAsc = 'isDepositOnly_ASC', + IsDepositOnlyAscNullsFirst = 'isDepositOnly_ASC_NULLS_FIRST', + IsDepositOnlyAscNullsLast = 'isDepositOnly_ASC_NULLS_LAST', + IsDepositOnlyDesc = 'isDepositOnly_DESC', + IsDepositOnlyDescNullsFirst = 'isDepositOnly_DESC_NULLS_FIRST', + IsDepositOnlyDescNullsLast = 'isDepositOnly_DESC_NULLS_LAST', LastUpdatedAsc = 'lastUpdated_ASC', LastUpdatedAscNullsFirst = 'lastUpdated_ASC_NULLS_FIRST', LastUpdatedAscNullsLast = 'lastUpdated_ASC_NULLS_LAST', @@ -136,6 +144,9 @@ export type AccountWhereInput = { id_not_in?: InputMaybe>; id_not_startsWith?: InputMaybe; id_startsWith?: InputMaybe; + isDepositOnly_eq?: InputMaybe; + isDepositOnly_isNull?: InputMaybe; + isDepositOnly_not_eq?: InputMaybe; lastUpdated_eq?: InputMaybe; lastUpdated_gt?: InputMaybe; lastUpdated_gte?: InputMaybe; @@ -205,6 +216,12 @@ export enum BalanceEventOrderByInput { AccountIdDesc = 'account_id_DESC', AccountIdDescNullsFirst = 'account_id_DESC_NULLS_FIRST', AccountIdDescNullsLast = 'account_id_DESC_NULLS_LAST', + AccountIsDepositOnlyAsc = 'account_isDepositOnly_ASC', + AccountIsDepositOnlyAscNullsFirst = 'account_isDepositOnly_ASC_NULLS_FIRST', + AccountIsDepositOnlyAscNullsLast = 'account_isDepositOnly_ASC_NULLS_LAST', + AccountIsDepositOnlyDesc = 'account_isDepositOnly_DESC', + AccountIsDepositOnlyDescNullsFirst = 'account_isDepositOnly_DESC_NULLS_FIRST', + AccountIsDepositOnlyDescNullsLast = 'account_isDepositOnly_DESC_NULLS_LAST', AccountLastUpdatedAsc = 'account_lastUpdated_ASC', AccountLastUpdatedAscNullsFirst = 'account_lastUpdated_ASC_NULLS_FIRST', AccountLastUpdatedAscNullsLast = 'account_lastUpdated_ASC_NULLS_LAST', @@ -271,6 +288,12 @@ export enum BalanceEventOrderByInput { FromIdDesc = 'from_id_DESC', FromIdDescNullsFirst = 'from_id_DESC_NULLS_FIRST', FromIdDescNullsLast = 'from_id_DESC_NULLS_LAST', + FromIsDepositOnlyAsc = 'from_isDepositOnly_ASC', + FromIsDepositOnlyAscNullsFirst = 'from_isDepositOnly_ASC_NULLS_FIRST', + FromIsDepositOnlyAscNullsLast = 'from_isDepositOnly_ASC_NULLS_LAST', + FromIsDepositOnlyDesc = 'from_isDepositOnly_DESC', + FromIsDepositOnlyDescNullsFirst = 'from_isDepositOnly_DESC_NULLS_FIRST', + FromIsDepositOnlyDescNullsLast = 'from_isDepositOnly_DESC_NULLS_LAST', FromLastUpdatedAsc = 'from_lastUpdated_ASC', FromLastUpdatedAscNullsFirst = 'from_lastUpdated_ASC_NULLS_FIRST', FromLastUpdatedAscNullsLast = 'from_lastUpdated_ASC_NULLS_LAST', @@ -307,6 +330,12 @@ export enum BalanceEventOrderByInput { ToIdDesc = 'to_id_DESC', ToIdDescNullsFirst = 'to_id_DESC_NULLS_FIRST', ToIdDescNullsLast = 'to_id_DESC_NULLS_LAST', + ToIsDepositOnlyAsc = 'to_isDepositOnly_ASC', + ToIsDepositOnlyAscNullsFirst = 'to_isDepositOnly_ASC_NULLS_FIRST', + ToIsDepositOnlyAscNullsLast = 'to_isDepositOnly_ASC_NULLS_LAST', + ToIsDepositOnlyDesc = 'to_isDepositOnly_DESC', + ToIsDepositOnlyDescNullsFirst = 'to_isDepositOnly_DESC_NULLS_FIRST', + ToIsDepositOnlyDescNullsLast = 'to_isDepositOnly_DESC_NULLS_LAST', ToLastUpdatedAsc = 'to_lastUpdated_ASC', ToLastUpdatedAscNullsFirst = 'to_lastUpdated_ASC_NULLS_FIRST', ToLastUpdatedAscNullsLast = 'to_lastUpdated_ASC_NULLS_LAST', @@ -542,6 +571,99 @@ export type BlocksConnection = { totalCount: Scalars['Int']['output']; }; +/** Bucketed deposit pool statistics for privacy score computation. Each bucket covers a bounded range of deposit amounts with overlapping ranges growing by factor 4. */ +export type DepositPoolStats = { + __typename?: 'DepositPoolStats'; + /** Bucket definitions and stats as JSON. Each bucket has: lo, hi (planck), count, sumAmounts, sumAmountsSquared */ + buckets: Scalars['String']['output']; + /** Singleton entity (id='global') */ + id: Scalars['String']['output']; + /** Block number of last update */ + lastUpdatedBlock: Scalars['Int']['output']; +}; + +export type DepositPoolStatsConnection = { + __typename?: 'DepositPoolStatsConnection'; + edges: Array; + pageInfo: PageInfo; + totalCount: Scalars['Int']['output']; +}; + +export type DepositPoolStatsEdge = { + __typename?: 'DepositPoolStatsEdge'; + cursor: Scalars['String']['output']; + node: DepositPoolStats; +}; + +export enum DepositPoolStatsOrderByInput { + BucketsAsc = 'buckets_ASC', + BucketsAscNullsFirst = 'buckets_ASC_NULLS_FIRST', + BucketsAscNullsLast = 'buckets_ASC_NULLS_LAST', + BucketsDesc = 'buckets_DESC', + BucketsDescNullsFirst = 'buckets_DESC_NULLS_FIRST', + BucketsDescNullsLast = 'buckets_DESC_NULLS_LAST', + IdAsc = 'id_ASC', + IdAscNullsFirst = 'id_ASC_NULLS_FIRST', + IdAscNullsLast = 'id_ASC_NULLS_LAST', + IdDesc = 'id_DESC', + IdDescNullsFirst = 'id_DESC_NULLS_FIRST', + IdDescNullsLast = 'id_DESC_NULLS_LAST', + LastUpdatedBlockAsc = 'lastUpdatedBlock_ASC', + LastUpdatedBlockAscNullsFirst = 'lastUpdatedBlock_ASC_NULLS_FIRST', + LastUpdatedBlockAscNullsLast = 'lastUpdatedBlock_ASC_NULLS_LAST', + LastUpdatedBlockDesc = 'lastUpdatedBlock_DESC', + LastUpdatedBlockDescNullsFirst = 'lastUpdatedBlock_DESC_NULLS_FIRST', + LastUpdatedBlockDescNullsLast = 'lastUpdatedBlock_DESC_NULLS_LAST' +} + +export type DepositPoolStatsWhereInput = { + AND?: InputMaybe>; + OR?: InputMaybe>; + buckets_contains?: InputMaybe; + buckets_containsInsensitive?: InputMaybe; + buckets_endsWith?: InputMaybe; + buckets_eq?: InputMaybe; + buckets_gt?: InputMaybe; + buckets_gte?: InputMaybe; + buckets_in?: InputMaybe>; + buckets_isNull?: InputMaybe; + buckets_lt?: InputMaybe; + buckets_lte?: InputMaybe; + buckets_not_contains?: InputMaybe; + buckets_not_containsInsensitive?: InputMaybe; + buckets_not_endsWith?: InputMaybe; + buckets_not_eq?: InputMaybe; + buckets_not_in?: InputMaybe>; + buckets_not_startsWith?: InputMaybe; + buckets_startsWith?: InputMaybe; + id_contains?: InputMaybe; + id_containsInsensitive?: InputMaybe; + id_endsWith?: InputMaybe; + id_eq?: InputMaybe; + id_gt?: InputMaybe; + id_gte?: InputMaybe; + id_in?: InputMaybe>; + id_isNull?: InputMaybe; + id_lt?: InputMaybe; + id_lte?: InputMaybe; + id_not_contains?: InputMaybe; + id_not_containsInsensitive?: InputMaybe; + id_not_endsWith?: InputMaybe; + id_not_eq?: InputMaybe; + id_not_in?: InputMaybe>; + id_not_startsWith?: InputMaybe; + id_startsWith?: InputMaybe; + lastUpdatedBlock_eq?: InputMaybe; + lastUpdatedBlock_gt?: InputMaybe; + lastUpdatedBlock_gte?: InputMaybe; + lastUpdatedBlock_in?: InputMaybe>; + lastUpdatedBlock_isNull?: InputMaybe; + lastUpdatedBlock_lt?: InputMaybe; + lastUpdatedBlock_lte?: InputMaybe; + lastUpdatedBlock_not_eq?: InputMaybe; + lastUpdatedBlock_not_in?: InputMaybe>; +}; + export type ErrorEvent = { __typename?: 'ErrorEvent'; block: Block; @@ -1040,6 +1162,12 @@ export enum EventOrderByInput { TransferFeeDesc = 'transfer_fee_DESC', TransferFeeDescNullsFirst = 'transfer_fee_DESC_NULLS_FIRST', TransferFeeDescNullsLast = 'transfer_fee_DESC_NULLS_LAST', + TransferFromHashAsc = 'transfer_fromHash_ASC', + TransferFromHashAscNullsFirst = 'transfer_fromHash_ASC_NULLS_FIRST', + TransferFromHashAscNullsLast = 'transfer_fromHash_ASC_NULLS_LAST', + TransferFromHashDesc = 'transfer_fromHash_DESC', + TransferFromHashDescNullsFirst = 'transfer_fromHash_DESC_NULLS_FIRST', + TransferFromHashDescNullsLast = 'transfer_fromHash_DESC_NULLS_LAST', TransferIdAsc = 'transfer_id_ASC', TransferIdAscNullsFirst = 'transfer_id_ASC_NULLS_FIRST', TransferIdAscNullsLast = 'transfer_id_ASC_NULLS_LAST', @@ -1052,6 +1180,12 @@ export enum EventOrderByInput { TransferTimestampDesc = 'transfer_timestamp_DESC', TransferTimestampDescNullsFirst = 'transfer_timestamp_DESC_NULLS_FIRST', TransferTimestampDescNullsLast = 'transfer_timestamp_DESC_NULLS_LAST', + TransferToHashAsc = 'transfer_toHash_ASC', + TransferToHashAscNullsFirst = 'transfer_toHash_ASC_NULLS_FIRST', + TransferToHashAscNullsLast = 'transfer_toHash_ASC_NULLS_LAST', + TransferToHashDesc = 'transfer_toHash_DESC', + TransferToHashDescNullsFirst = 'transfer_toHash_DESC_NULLS_FIRST', + TransferToHashDescNullsLast = 'transfer_toHash_DESC_NULLS_LAST', TypeAsc = 'type_ASC', TypeAscNullsFirst = 'type_ASC_NULLS_FIRST', TypeAscNullsLast = 'type_ASC_NULLS_LAST', @@ -1263,6 +1397,12 @@ export enum HighSecuritySetOrderByInput { InterceptorIdDesc = 'interceptor_id_DESC', InterceptorIdDescNullsFirst = 'interceptor_id_DESC_NULLS_FIRST', InterceptorIdDescNullsLast = 'interceptor_id_DESC_NULLS_LAST', + InterceptorIsDepositOnlyAsc = 'interceptor_isDepositOnly_ASC', + InterceptorIsDepositOnlyAscNullsFirst = 'interceptor_isDepositOnly_ASC_NULLS_FIRST', + InterceptorIsDepositOnlyAscNullsLast = 'interceptor_isDepositOnly_ASC_NULLS_LAST', + InterceptorIsDepositOnlyDesc = 'interceptor_isDepositOnly_DESC', + InterceptorIsDepositOnlyDescNullsFirst = 'interceptor_isDepositOnly_DESC_NULLS_FIRST', + InterceptorIsDepositOnlyDescNullsLast = 'interceptor_isDepositOnly_DESC_NULLS_LAST', InterceptorLastUpdatedAsc = 'interceptor_lastUpdated_ASC', InterceptorLastUpdatedAscNullsFirst = 'interceptor_lastUpdated_ASC_NULLS_FIRST', InterceptorLastUpdatedAscNullsLast = 'interceptor_lastUpdated_ASC_NULLS_LAST', @@ -1299,6 +1439,12 @@ export enum HighSecuritySetOrderByInput { WhoIdDesc = 'who_id_DESC', WhoIdDescNullsFirst = 'who_id_DESC_NULLS_FIRST', WhoIdDescNullsLast = 'who_id_DESC_NULLS_LAST', + WhoIsDepositOnlyAsc = 'who_isDepositOnly_ASC', + WhoIsDepositOnlyAscNullsFirst = 'who_isDepositOnly_ASC_NULLS_FIRST', + WhoIsDepositOnlyAscNullsLast = 'who_isDepositOnly_ASC_NULLS_LAST', + WhoIsDepositOnlyDesc = 'who_isDepositOnly_DESC', + WhoIsDepositOnlyDescNullsFirst = 'who_isDepositOnly_DESC_NULLS_FIRST', + WhoIsDepositOnlyDescNullsLast = 'who_isDepositOnly_DESC_NULLS_LAST', WhoLastUpdatedAsc = 'who_lastUpdated_ASC', WhoLastUpdatedAscNullsFirst = 'who_lastUpdated_ASC_NULLS_FIRST', WhoLastUpdatedAscNullsLast = 'who_lastUpdated_ASC_NULLS_LAST', @@ -1488,6 +1634,12 @@ export enum MinerRewardOrderByInput { MinerIdDesc = 'miner_id_DESC', MinerIdDescNullsFirst = 'miner_id_DESC_NULLS_FIRST', MinerIdDescNullsLast = 'miner_id_DESC_NULLS_LAST', + MinerIsDepositOnlyAsc = 'miner_isDepositOnly_ASC', + MinerIsDepositOnlyAscNullsFirst = 'miner_isDepositOnly_ASC_NULLS_FIRST', + MinerIsDepositOnlyAscNullsLast = 'miner_isDepositOnly_ASC_NULLS_LAST', + MinerIsDepositOnlyDesc = 'miner_isDepositOnly_DESC', + MinerIsDepositOnlyDescNullsFirst = 'miner_isDepositOnly_DESC_NULLS_FIRST', + MinerIsDepositOnlyDescNullsLast = 'miner_isDepositOnly_DESC_NULLS_LAST', MinerLastUpdatedAsc = 'miner_lastUpdated_ASC', MinerLastUpdatedAscNullsFirst = 'miner_lastUpdated_ASC_NULLS_FIRST', MinerLastUpdatedAscNullsLast = 'miner_lastUpdated_ASC_NULLS_LAST', @@ -1649,6 +1801,26 @@ export type MinerStatsWhereInput = { totalRewards_not_in?: InputMaybe>; }; +export type NullifierResult = { + __typename?: 'NullifierResult'; + blockHeight: Scalars['Int']['output']; + extrinsicHash: Scalars['String']['output']; + nullifier: Scalars['String']['output']; + nullifierHash: Scalars['String']['output']; + timestamp: Scalars['DateTime']['output']; +}; + +export type NullifiersByPrefixInput = { + afterBlock?: InputMaybe; + hashPrefixes: Array; +}; + +export type NullifiersByPrefixResponse = { + __typename?: 'NullifiersByPrefixResponse'; + nullifiers: Array; + totalCount: Scalars['Int']['output']; +}; + export type PageInfo = { __typename?: 'PageInfo'; endCursor: Scalars['String']['output']; @@ -1668,6 +1840,9 @@ export type Query = { blockById?: Maybe; blocks: Array; blocksConnection: BlocksConnection; + depositPoolStats: Array; + depositPoolStatsById?: Maybe; + depositPoolStatsConnection: DepositPoolStatsConnection; errorEventById?: Maybe; errorEvents: Array; errorEventsConnection: ErrorEventsConnection; @@ -1683,13 +1858,24 @@ export type Query = { minerStats: Array; minerStatsById?: Maybe; minerStatsConnection: MinerStatsConnection; + nullifiersByPrefix: NullifiersByPrefixResponse; reversibleTransferById?: Maybe; reversibleTransfers: Array; reversibleTransfersConnection: ReversibleTransfersConnection; squidStatus?: Maybe; transferById?: Maybe; transfers: Array; + transfersByHashPrefix: TransfersByPrefixResult; transfersConnection: TransfersConnection; + wormholeExtrinsicById?: Maybe; + wormholeExtrinsics: Array; + wormholeExtrinsicsConnection: WormholeExtrinsicsConnection; + wormholeNullifierById?: Maybe; + wormholeNullifiers: Array; + wormholeNullifiersConnection: WormholeNullifiersConnection; + wormholeOutputById?: Maybe; + wormholeOutputs: Array; + wormholeOutputsConnection: WormholeOutputsConnection; }; export type QueryAccountByIdArgs = { @@ -1746,6 +1932,24 @@ export type QueryBlocksConnectionArgs = { where?: InputMaybe; }; +export type QueryDepositPoolStatsArgs = { + limit?: InputMaybe; + offset?: InputMaybe; + orderBy?: InputMaybe>; + where?: InputMaybe; +}; + +export type QueryDepositPoolStatsByIdArgs = { + id: Scalars['String']['input']; +}; + +export type QueryDepositPoolStatsConnectionArgs = { + after?: InputMaybe; + first?: InputMaybe; + orderBy: Array; + where?: InputMaybe; +}; + export type QueryErrorEventByIdArgs = { id: Scalars['String']['input']; }; @@ -1836,6 +2040,10 @@ export type QueryMinerStatsConnectionArgs = { where?: InputMaybe; }; +export type QueryNullifiersByPrefixArgs = { + input: NullifiersByPrefixInput; +}; + export type QueryReversibleTransferByIdArgs = { id: Scalars['String']['input']; }; @@ -1865,6 +2073,10 @@ export type QueryTransfersArgs = { where?: InputMaybe; }; +export type QueryTransfersByHashPrefixArgs = { + input: TransfersByPrefixInput; +}; + export type QueryTransfersConnectionArgs = { after?: InputMaybe; first?: InputMaybe; @@ -1872,6 +2084,60 @@ export type QueryTransfersConnectionArgs = { where?: InputMaybe; }; +export type QueryWormholeExtrinsicByIdArgs = { + id: Scalars['String']['input']; +}; + +export type QueryWormholeExtrinsicsArgs = { + limit?: InputMaybe; + offset?: InputMaybe; + orderBy?: InputMaybe>; + where?: InputMaybe; +}; + +export type QueryWormholeExtrinsicsConnectionArgs = { + after?: InputMaybe; + first?: InputMaybe; + orderBy: Array; + where?: InputMaybe; +}; + +export type QueryWormholeNullifierByIdArgs = { + id: Scalars['String']['input']; +}; + +export type QueryWormholeNullifiersArgs = { + limit?: InputMaybe; + offset?: InputMaybe; + orderBy?: InputMaybe>; + where?: InputMaybe; +}; + +export type QueryWormholeNullifiersConnectionArgs = { + after?: InputMaybe; + first?: InputMaybe; + orderBy: Array; + where?: InputMaybe; +}; + +export type QueryWormholeOutputByIdArgs = { + id: Scalars['String']['input']; +}; + +export type QueryWormholeOutputsArgs = { + limit?: InputMaybe; + offset?: InputMaybe; + orderBy?: InputMaybe>; + where?: InputMaybe; +}; + +export type QueryWormholeOutputsConnectionArgs = { + after?: InputMaybe; + first?: InputMaybe; + orderBy: Array; + where?: InputMaybe; +}; + export type ReversibleTransfer = { __typename?: 'ReversibleTransfer'; amount: Scalars['BigInt']['output']; @@ -1951,6 +2217,12 @@ export enum ReversibleTransferOrderByInput { CancelledByIdDesc = 'cancelledBy_id_DESC', CancelledByIdDescNullsFirst = 'cancelledBy_id_DESC_NULLS_FIRST', CancelledByIdDescNullsLast = 'cancelledBy_id_DESC_NULLS_LAST', + CancelledByIsDepositOnlyAsc = 'cancelledBy_isDepositOnly_ASC', + CancelledByIsDepositOnlyAscNullsFirst = 'cancelledBy_isDepositOnly_ASC_NULLS_FIRST', + CancelledByIsDepositOnlyAscNullsLast = 'cancelledBy_isDepositOnly_ASC_NULLS_LAST', + CancelledByIsDepositOnlyDesc = 'cancelledBy_isDepositOnly_DESC', + CancelledByIsDepositOnlyDescNullsFirst = 'cancelledBy_isDepositOnly_DESC_NULLS_FIRST', + CancelledByIsDepositOnlyDescNullsLast = 'cancelledBy_isDepositOnly_DESC_NULLS_LAST', CancelledByLastUpdatedAsc = 'cancelledBy_lastUpdated_ASC', CancelledByLastUpdatedAscNullsFirst = 'cancelledBy_lastUpdated_ASC_NULLS_FIRST', CancelledByLastUpdatedAscNullsLast = 'cancelledBy_lastUpdated_ASC_NULLS_LAST', @@ -2011,6 +2283,12 @@ export enum ReversibleTransferOrderByInput { ExecutedTransferFeeDesc = 'executedTransfer_fee_DESC', ExecutedTransferFeeDescNullsFirst = 'executedTransfer_fee_DESC_NULLS_FIRST', ExecutedTransferFeeDescNullsLast = 'executedTransfer_fee_DESC_NULLS_LAST', + ExecutedTransferFromHashAsc = 'executedTransfer_fromHash_ASC', + ExecutedTransferFromHashAscNullsFirst = 'executedTransfer_fromHash_ASC_NULLS_FIRST', + ExecutedTransferFromHashAscNullsLast = 'executedTransfer_fromHash_ASC_NULLS_LAST', + ExecutedTransferFromHashDesc = 'executedTransfer_fromHash_DESC', + ExecutedTransferFromHashDescNullsFirst = 'executedTransfer_fromHash_DESC_NULLS_FIRST', + ExecutedTransferFromHashDescNullsLast = 'executedTransfer_fromHash_DESC_NULLS_LAST', ExecutedTransferIdAsc = 'executedTransfer_id_ASC', ExecutedTransferIdAscNullsFirst = 'executedTransfer_id_ASC_NULLS_FIRST', ExecutedTransferIdAscNullsLast = 'executedTransfer_id_ASC_NULLS_LAST', @@ -2023,6 +2301,12 @@ export enum ReversibleTransferOrderByInput { ExecutedTransferTimestampDesc = 'executedTransfer_timestamp_DESC', ExecutedTransferTimestampDescNullsFirst = 'executedTransfer_timestamp_DESC_NULLS_FIRST', ExecutedTransferTimestampDescNullsLast = 'executedTransfer_timestamp_DESC_NULLS_LAST', + ExecutedTransferToHashAsc = 'executedTransfer_toHash_ASC', + ExecutedTransferToHashAscNullsFirst = 'executedTransfer_toHash_ASC_NULLS_FIRST', + ExecutedTransferToHashAscNullsLast = 'executedTransfer_toHash_ASC_NULLS_LAST', + ExecutedTransferToHashDesc = 'executedTransfer_toHash_DESC', + ExecutedTransferToHashDescNullsFirst = 'executedTransfer_toHash_DESC_NULLS_FIRST', + ExecutedTransferToHashDescNullsLast = 'executedTransfer_toHash_DESC_NULLS_LAST', ExtrinsicHashAsc = 'extrinsicHash_ASC', ExtrinsicHashAscNullsFirst = 'extrinsicHash_ASC_NULLS_FIRST', ExtrinsicHashAscNullsLast = 'extrinsicHash_ASC_NULLS_LAST', @@ -2053,6 +2337,12 @@ export enum ReversibleTransferOrderByInput { FromIdDesc = 'from_id_DESC', FromIdDescNullsFirst = 'from_id_DESC_NULLS_FIRST', FromIdDescNullsLast = 'from_id_DESC_NULLS_LAST', + FromIsDepositOnlyAsc = 'from_isDepositOnly_ASC', + FromIsDepositOnlyAscNullsFirst = 'from_isDepositOnly_ASC_NULLS_FIRST', + FromIsDepositOnlyAscNullsLast = 'from_isDepositOnly_ASC_NULLS_LAST', + FromIsDepositOnlyDesc = 'from_isDepositOnly_DESC', + FromIsDepositOnlyDescNullsFirst = 'from_isDepositOnly_DESC_NULLS_FIRST', + FromIsDepositOnlyDescNullsLast = 'from_isDepositOnly_DESC_NULLS_LAST', FromLastUpdatedAsc = 'from_lastUpdated_ASC', FromLastUpdatedAscNullsFirst = 'from_lastUpdated_ASC_NULLS_FIRST', FromLastUpdatedAscNullsLast = 'from_lastUpdated_ASC_NULLS_LAST', @@ -2107,6 +2397,12 @@ export enum ReversibleTransferOrderByInput { ToIdDesc = 'to_id_DESC', ToIdDescNullsFirst = 'to_id_DESC_NULLS_FIRST', ToIdDescNullsLast = 'to_id_DESC_NULLS_LAST', + ToIsDepositOnlyAsc = 'to_isDepositOnly_ASC', + ToIsDepositOnlyAscNullsFirst = 'to_isDepositOnly_ASC_NULLS_FIRST', + ToIsDepositOnlyAscNullsLast = 'to_isDepositOnly_ASC_NULLS_LAST', + ToIsDepositOnlyDesc = 'to_isDepositOnly_DESC', + ToIsDepositOnlyDescNullsFirst = 'to_isDepositOnly_DESC_NULLS_FIRST', + ToIsDepositOnlyDescNullsLast = 'to_isDepositOnly_DESC_NULLS_LAST', ToLastUpdatedAsc = 'to_lastUpdated_ASC', ToLastUpdatedAscNullsFirst = 'to_lastUpdated_ASC_NULLS_FIRST', ToLastUpdatedAscNullsLast = 'to_lastUpdated_ASC_NULLS_LAST', @@ -2272,9 +2568,13 @@ export type Transfer = { extrinsicHash?: Maybe; fee: Scalars['BigInt']['output']; from: Account; + /** Blake3 hash of raw 'from' address bytes (hex string) for privacy-preserving prefix queries */ + fromHash: Scalars['String']['output']; id: Scalars['String']['output']; timestamp: Scalars['DateTime']['output']; to: Account; + /** Blake3 hash of raw 'to' address bytes (hex string) for privacy-preserving prefix queries */ + toHash: Scalars['String']['output']; }; export type TransferEdge = { @@ -2410,6 +2710,12 @@ export enum TransferOrderByInput { FeeDesc = 'fee_DESC', FeeDescNullsFirst = 'fee_DESC_NULLS_FIRST', FeeDescNullsLast = 'fee_DESC_NULLS_LAST', + FromHashAsc = 'fromHash_ASC', + FromHashAscNullsFirst = 'fromHash_ASC_NULLS_FIRST', + FromHashAscNullsLast = 'fromHash_ASC_NULLS_LAST', + FromHashDesc = 'fromHash_DESC', + FromHashDescNullsFirst = 'fromHash_DESC_NULLS_FIRST', + FromHashDescNullsLast = 'fromHash_DESC_NULLS_LAST', FromFreeAsc = 'from_free_ASC', FromFreeAscNullsFirst = 'from_free_ASC_NULLS_FIRST', FromFreeAscNullsLast = 'from_free_ASC_NULLS_LAST', @@ -2428,6 +2734,12 @@ export enum TransferOrderByInput { FromIdDesc = 'from_id_DESC', FromIdDescNullsFirst = 'from_id_DESC_NULLS_FIRST', FromIdDescNullsLast = 'from_id_DESC_NULLS_LAST', + FromIsDepositOnlyAsc = 'from_isDepositOnly_ASC', + FromIsDepositOnlyAscNullsFirst = 'from_isDepositOnly_ASC_NULLS_FIRST', + FromIsDepositOnlyAscNullsLast = 'from_isDepositOnly_ASC_NULLS_LAST', + FromIsDepositOnlyDesc = 'from_isDepositOnly_DESC', + FromIsDepositOnlyDescNullsFirst = 'from_isDepositOnly_DESC_NULLS_FIRST', + FromIsDepositOnlyDescNullsLast = 'from_isDepositOnly_DESC_NULLS_LAST', FromLastUpdatedAsc = 'from_lastUpdated_ASC', FromLastUpdatedAscNullsFirst = 'from_lastUpdated_ASC_NULLS_FIRST', FromLastUpdatedAscNullsLast = 'from_lastUpdated_ASC_NULLS_LAST', @@ -2452,6 +2764,12 @@ export enum TransferOrderByInput { TimestampDesc = 'timestamp_DESC', TimestampDescNullsFirst = 'timestamp_DESC_NULLS_FIRST', TimestampDescNullsLast = 'timestamp_DESC_NULLS_LAST', + ToHashAsc = 'toHash_ASC', + ToHashAscNullsFirst = 'toHash_ASC_NULLS_FIRST', + ToHashAscNullsLast = 'toHash_ASC_NULLS_LAST', + ToHashDesc = 'toHash_DESC', + ToHashDescNullsFirst = 'toHash_DESC_NULLS_FIRST', + ToHashDescNullsLast = 'toHash_DESC_NULLS_LAST', ToFreeAsc = 'to_free_ASC', ToFreeAscNullsFirst = 'to_free_ASC_NULLS_FIRST', ToFreeAscNullsLast = 'to_free_ASC_NULLS_LAST', @@ -2470,6 +2788,12 @@ export enum TransferOrderByInput { ToIdDesc = 'to_id_DESC', ToIdDescNullsFirst = 'to_id_DESC_NULLS_FIRST', ToIdDescNullsLast = 'to_id_DESC_NULLS_LAST', + ToIsDepositOnlyAsc = 'to_isDepositOnly_ASC', + ToIsDepositOnlyAscNullsFirst = 'to_isDepositOnly_ASC_NULLS_FIRST', + ToIsDepositOnlyAscNullsLast = 'to_isDepositOnly_ASC_NULLS_LAST', + ToIsDepositOnlyDesc = 'to_isDepositOnly_DESC', + ToIsDepositOnlyDescNullsFirst = 'to_isDepositOnly_DESC_NULLS_FIRST', + ToIsDepositOnlyDescNullsLast = 'to_isDepositOnly_DESC_NULLS_LAST', ToLastUpdatedAsc = 'to_lastUpdated_ASC', ToLastUpdatedAscNullsFirst = 'to_lastUpdated_ASC_NULLS_FIRST', ToLastUpdatedAscNullsLast = 'to_lastUpdated_ASC_NULLS_LAST', @@ -2531,6 +2855,23 @@ export type TransferWhereInput = { fee_not_eq?: InputMaybe; fee_not_in?: InputMaybe>; from?: InputMaybe; + fromHash_contains?: InputMaybe; + fromHash_containsInsensitive?: InputMaybe; + fromHash_endsWith?: InputMaybe; + fromHash_eq?: InputMaybe; + fromHash_gt?: InputMaybe; + fromHash_gte?: InputMaybe; + fromHash_in?: InputMaybe>; + fromHash_isNull?: InputMaybe; + fromHash_lt?: InputMaybe; + fromHash_lte?: InputMaybe; + fromHash_not_contains?: InputMaybe; + fromHash_not_containsInsensitive?: InputMaybe; + fromHash_not_endsWith?: InputMaybe; + fromHash_not_eq?: InputMaybe; + fromHash_not_in?: InputMaybe>; + fromHash_not_startsWith?: InputMaybe; + fromHash_startsWith?: InputMaybe; from_isNull?: InputMaybe; id_contains?: InputMaybe; id_containsInsensitive?: InputMaybe; @@ -2559,511 +2900,2494 @@ export type TransferWhereInput = { timestamp_not_eq?: InputMaybe; timestamp_not_in?: InputMaybe>; to?: InputMaybe; + toHash_contains?: InputMaybe; + toHash_containsInsensitive?: InputMaybe; + toHash_endsWith?: InputMaybe; + toHash_eq?: InputMaybe; + toHash_gt?: InputMaybe; + toHash_gte?: InputMaybe; + toHash_in?: InputMaybe>; + toHash_isNull?: InputMaybe; + toHash_lt?: InputMaybe; + toHash_lte?: InputMaybe; + toHash_not_contains?: InputMaybe; + toHash_not_containsInsensitive?: InputMaybe; + toHash_not_endsWith?: InputMaybe; + toHash_not_eq?: InputMaybe; + toHash_not_in?: InputMaybe>; + toHash_not_startsWith?: InputMaybe; + toHash_startsWith?: InputMaybe; to_isNull?: InputMaybe; }; -export type TransfersConnection = { - __typename?: 'TransfersConnection'; - edges: Array; - pageInfo: PageInfo; - totalCount: Scalars['Int']['output']; +export type TransferWithHash = { + __typename?: 'TransferWithHash'; + amount: Scalars['BigInt']['output']; + blockHeight: Scalars['Int']['output']; + blockId: Scalars['String']['output']; + extrinsicHash?: Maybe; + fee: Scalars['BigInt']['output']; + fromHash: Scalars['String']['output']; + fromId: Scalars['String']['output']; + id: Scalars['String']['output']; + timestamp: Scalars['DateTime']['output']; + toHash: Scalars['String']['output']; + toId: Scalars['String']['output']; }; -export type GetAccountsQueryVariables = Exact<{ +export type TransfersByPrefixInput = { + afterBlock?: InputMaybe; + beforeBlock?: InputMaybe; + fromHashPrefixes?: InputMaybe>; limit?: InputMaybe; + maxAmount?: InputMaybe; + minAmount?: InputMaybe; offset?: InputMaybe; - orderBy?: InputMaybe | AccountOrderByInput>; -}>; - -export type GetAccountsQuery = { - __typename?: 'Query'; - accounts: Array<{ - __typename?: 'Account'; - id: string; - free: any; - frozen: any; - reserved: any; - }>; - meta: { __typename?: 'AccountsConnection'; totalCount: number }; + toHashPrefixes?: InputMaybe>; }; -export type GetAccountByIdQueryVariables = Exact<{ - id: Scalars['String']['input']; - limit: Scalars['Int']['input']; -}>; - -export type GetAccountByIdQuery = { - __typename?: 'Query'; - account?: { - __typename?: 'Account'; - id: string; - free: any; - frozen: any; - reserved: any; - } | null; - transactions: { - __typename?: 'TransfersConnection'; - totalCount: number; - edges: Array<{ - __typename?: 'TransferEdge'; - node: { - __typename?: 'Transfer'; - fee: any; - extrinsicHash?: string | null; - amount: any; - timestamp: any; - block: { __typename?: 'Block'; height: number }; - from: { __typename?: 'Account'; id: string }; - to: { __typename?: 'Account'; id: string }; - }; - }>; - }; - reversibleTransactions: { - __typename?: 'ReversibleTransfersConnection'; - totalCount: number; - edges: Array<{ - __typename?: 'ReversibleTransferEdge'; - node: { - __typename?: 'ReversibleTransfer'; - extrinsicHash?: string | null; - timestamp: any; - status: ReversibleTransferStatus; - amount: any; - block: { __typename?: 'Block'; height: number }; - from: { __typename?: 'Account'; id: string }; - to: { __typename?: 'Account'; id: string }; - }; - }>; - }; - minerRewards: { - __typename?: 'MinerRewardsConnection'; - totalCount: number; - edges: Array<{ - __typename?: 'MinerRewardEdge'; - node: { - __typename?: 'MinerReward'; - reward: any; - timestamp: any; - block: { __typename?: 'Block'; height: number; hash: string }; - miner: { __typename?: 'Account'; id: string }; - }; - }>; - }; +export type TransfersByPrefixResult = { + __typename?: 'TransfersByPrefixResult'; + totalCount: Scalars['Int']['output']; + transfers: Array; }; -export type GetAccountsStatsQueryVariables = Exact<{ - startDate: Scalars['DateTime']['input']; - endDate: Scalars['DateTime']['input']; -}>; - -export type GetAccountsStatsQuery = { - __typename?: 'Query'; - all: { __typename?: 'AccountsConnection'; totalCount: number }; - recentlyActive: { __typename?: 'AccountsConnection'; totalCount: number }; - recentlyDeposited: { __typename?: 'AccountsConnection'; totalCount: number }; +export type TransfersConnection = { + __typename?: 'TransfersConnection'; + edges: Array; + pageInfo: PageInfo; + totalCount: Scalars['Int']['output']; }; -export type GetBlocksQueryVariables = Exact<{ - limit?: InputMaybe; - offset?: InputMaybe; - orderBy: Array | BlockOrderByInput; - where?: InputMaybe; -}>; - -export type GetBlocksQuery = { - __typename?: 'Query'; - blocks: Array<{ - __typename?: 'Block'; - id: string; - hash: string; - height: number; - reward: any; - timestamp: any; - }>; - meta: { __typename?: 'BlocksConnection'; totalCount: number }; +/** A single wormhole proof verification extrinsic, containing one or more exit outputs. */ +export type WormholeExtrinsic = { + __typename?: 'WormholeExtrinsic'; + block: Block; + extrinsicHash?: Maybe; + id: Scalars['String']['output']; + /** Number of non-zero exit outputs */ + outputCount: Scalars['Int']['output']; + /** Individual exit outputs in this extrinsic */ + outputs: Array; + /** Pool snapshot at time of proof verification (JSON bucket data) */ + poolSnapshot: Scalars['String']['output']; + /** Human-readable privacy label */ + privacyLabel: Scalars['String']['output']; + /** Privacy score at 0.01 DEV precision, in bits */ + privacyScore: Scalars['Float']['output']; + /** Privacy score with 0.1% sacrifice, in bits */ + privacyScore01Pct: Scalars['Float']['output']; + /** Privacy score with 1% sacrifice, in bits */ + privacyScore1Pct: Scalars['Float']['output']; + /** Privacy score with 5% sacrifice, in bits */ + privacyScore5Pct: Scalars['Float']['output']; + timestamp: Scalars['DateTime']['output']; + /** Total amount across all outputs in this extrinsic */ + totalAmount: Scalars['BigInt']['output']; }; -export type GetRecentBlocksQueryVariables = Exact<{ +/** A single wormhole proof verification extrinsic, containing one or more exit outputs. */ +export type WormholeExtrinsicOutputsArgs = { limit?: InputMaybe; offset?: InputMaybe; - orderBy?: InputMaybe | BlockOrderByInput>; -}>; - -export type GetRecentBlocksQuery = { - __typename?: 'Query'; - blocks: Array<{ - __typename?: 'Block'; - id: string; - hash: string; - height: number; - reward: any; - timestamp: any; - }>; + orderBy?: InputMaybe>; + where?: InputMaybe; }; -export type GetBlockByIdQueryVariables = Exact<{ - height: Scalars['Int']['input']; - hash: Scalars['String']['input']; - limit: Scalars['Int']['input']; -}>; +export type WormholeExtrinsicEdge = { + __typename?: 'WormholeExtrinsicEdge'; + cursor: Scalars['String']['output']; + node: WormholeExtrinsic; +}; -export type GetBlockByIdQuery = { - __typename?: 'Query'; - blocks: Array<{ - __typename?: 'Block'; - id: string; - hash: string; - height: number; - reward: any; - timestamp: any; - }>; - miners: Array<{ - __typename?: 'MinerReward'; - miner: { __typename?: 'Account'; id: string }; - }>; - transactions: { - __typename?: 'TransfersConnection'; - totalCount: number; - edges: Array<{ - __typename?: 'TransferEdge'; - node: { - __typename?: 'Transfer'; - fee: any; - extrinsicHash?: string | null; - amount: any; - timestamp: any; - block: { __typename?: 'Block'; height: number }; - from: { __typename?: 'Account'; id: string }; - to: { __typename?: 'Account'; id: string }; - }; - }>; - }; - reversibleTransactions: { - __typename?: 'ReversibleTransfersConnection'; - totalCount: number; - edges: Array<{ - __typename?: 'ReversibleTransferEdge'; - node: { - __typename?: 'ReversibleTransfer'; - extrinsicHash?: string | null; - timestamp: any; - status: ReversibleTransferStatus; - amount: any; - block: { __typename?: 'Block'; height: number }; - from: { __typename?: 'Account'; id: string }; - to: { __typename?: 'Account'; id: string }; - }; - }>; - }; -}; - -export type GetStatusQueryVariables = Exact<{ - beginningDate: Scalars['DateTime']['input']; - todayDate: Scalars['DateTime']['input']; - endDate: Scalars['DateTime']['input']; -}>; - -export type GetStatusQuery = { - __typename?: 'Query'; - transactions: { __typename?: 'TransfersConnection'; totalCount: number }; - reversibleTransactions: { - __typename?: 'ReversibleTransfersConnection'; - totalCount: number; - }; - status?: { - __typename?: 'SquidStatus'; - hash?: string | null; - height?: number | null; - finalizedHeight?: number | null; - finalizedHash?: string | null; - } | null; - minedBlocks24Hours: { __typename?: 'BlocksConnection'; totalCount: number }; - allActiveAccounts: { __typename?: 'AccountsConnection'; totalCount: number }; - allDepositAccounts: { __typename?: 'AccountsConnection'; totalCount: number }; -}; - -export type GetMinerLeaderboardQueryVariables = Exact<{ - limit?: InputMaybe; - offset?: InputMaybe; -}>; - -export type GetMinerLeaderboardQuery = { - __typename?: 'Query'; - leaderboardEntries: Array<{ - __typename?: 'MinerStats'; - id: string; - totalMinedBlocks: number; - totalRewards: any; - }>; - meta: { __typename?: 'MinerStatsConnection'; totalCount: number }; -}; - -export type GetMinerRewardsQueryVariables = Exact<{ - limit?: InputMaybe; - offset?: InputMaybe; - orderBy?: InputMaybe< - Array | MinerRewardOrderByInput - >; - where?: InputMaybe; -}>; - -export type GetMinerRewardsQuery = { - __typename?: 'Query'; - minerRewards: Array<{ - __typename?: 'MinerReward'; - reward: any; - timestamp: any; - block: { __typename?: 'Block'; height: number; hash: string }; - miner: { __typename?: 'Account'; id: string }; - }>; - meta: { __typename?: 'MinerRewardsConnection'; totalCount: number }; -}; +export enum WormholeExtrinsicOrderByInput { + BlockHashAsc = 'block_hash_ASC', + BlockHashAscNullsFirst = 'block_hash_ASC_NULLS_FIRST', + BlockHashAscNullsLast = 'block_hash_ASC_NULLS_LAST', + BlockHashDesc = 'block_hash_DESC', + BlockHashDescNullsFirst = 'block_hash_DESC_NULLS_FIRST', + BlockHashDescNullsLast = 'block_hash_DESC_NULLS_LAST', + BlockHeightAsc = 'block_height_ASC', + BlockHeightAscNullsFirst = 'block_height_ASC_NULLS_FIRST', + BlockHeightAscNullsLast = 'block_height_ASC_NULLS_LAST', + BlockHeightDesc = 'block_height_DESC', + BlockHeightDescNullsFirst = 'block_height_DESC_NULLS_FIRST', + BlockHeightDescNullsLast = 'block_height_DESC_NULLS_LAST', + BlockIdAsc = 'block_id_ASC', + BlockIdAscNullsFirst = 'block_id_ASC_NULLS_FIRST', + BlockIdAscNullsLast = 'block_id_ASC_NULLS_LAST', + BlockIdDesc = 'block_id_DESC', + BlockIdDescNullsFirst = 'block_id_DESC_NULLS_FIRST', + BlockIdDescNullsLast = 'block_id_DESC_NULLS_LAST', + BlockRewardAsc = 'block_reward_ASC', + BlockRewardAscNullsFirst = 'block_reward_ASC_NULLS_FIRST', + BlockRewardAscNullsLast = 'block_reward_ASC_NULLS_LAST', + BlockRewardDesc = 'block_reward_DESC', + BlockRewardDescNullsFirst = 'block_reward_DESC_NULLS_FIRST', + BlockRewardDescNullsLast = 'block_reward_DESC_NULLS_LAST', + BlockTimestampAsc = 'block_timestamp_ASC', + BlockTimestampAscNullsFirst = 'block_timestamp_ASC_NULLS_FIRST', + BlockTimestampAscNullsLast = 'block_timestamp_ASC_NULLS_LAST', + BlockTimestampDesc = 'block_timestamp_DESC', + BlockTimestampDescNullsFirst = 'block_timestamp_DESC_NULLS_FIRST', + BlockTimestampDescNullsLast = 'block_timestamp_DESC_NULLS_LAST', + ExtrinsicHashAsc = 'extrinsicHash_ASC', + ExtrinsicHashAscNullsFirst = 'extrinsicHash_ASC_NULLS_FIRST', + ExtrinsicHashAscNullsLast = 'extrinsicHash_ASC_NULLS_LAST', + ExtrinsicHashDesc = 'extrinsicHash_DESC', + ExtrinsicHashDescNullsFirst = 'extrinsicHash_DESC_NULLS_FIRST', + ExtrinsicHashDescNullsLast = 'extrinsicHash_DESC_NULLS_LAST', + IdAsc = 'id_ASC', + IdAscNullsFirst = 'id_ASC_NULLS_FIRST', + IdAscNullsLast = 'id_ASC_NULLS_LAST', + IdDesc = 'id_DESC', + IdDescNullsFirst = 'id_DESC_NULLS_FIRST', + IdDescNullsLast = 'id_DESC_NULLS_LAST', + OutputCountAsc = 'outputCount_ASC', + OutputCountAscNullsFirst = 'outputCount_ASC_NULLS_FIRST', + OutputCountAscNullsLast = 'outputCount_ASC_NULLS_LAST', + OutputCountDesc = 'outputCount_DESC', + OutputCountDescNullsFirst = 'outputCount_DESC_NULLS_FIRST', + OutputCountDescNullsLast = 'outputCount_DESC_NULLS_LAST', + PoolSnapshotAsc = 'poolSnapshot_ASC', + PoolSnapshotAscNullsFirst = 'poolSnapshot_ASC_NULLS_FIRST', + PoolSnapshotAscNullsLast = 'poolSnapshot_ASC_NULLS_LAST', + PoolSnapshotDesc = 'poolSnapshot_DESC', + PoolSnapshotDescNullsFirst = 'poolSnapshot_DESC_NULLS_FIRST', + PoolSnapshotDescNullsLast = 'poolSnapshot_DESC_NULLS_LAST', + PrivacyLabelAsc = 'privacyLabel_ASC', + PrivacyLabelAscNullsFirst = 'privacyLabel_ASC_NULLS_FIRST', + PrivacyLabelAscNullsLast = 'privacyLabel_ASC_NULLS_LAST', + PrivacyLabelDesc = 'privacyLabel_DESC', + PrivacyLabelDescNullsFirst = 'privacyLabel_DESC_NULLS_FIRST', + PrivacyLabelDescNullsLast = 'privacyLabel_DESC_NULLS_LAST', + PrivacyScore01PctAsc = 'privacyScore01Pct_ASC', + PrivacyScore01PctAscNullsFirst = 'privacyScore01Pct_ASC_NULLS_FIRST', + PrivacyScore01PctAscNullsLast = 'privacyScore01Pct_ASC_NULLS_LAST', + PrivacyScore01PctDesc = 'privacyScore01Pct_DESC', + PrivacyScore01PctDescNullsFirst = 'privacyScore01Pct_DESC_NULLS_FIRST', + PrivacyScore01PctDescNullsLast = 'privacyScore01Pct_DESC_NULLS_LAST', + PrivacyScore1PctAsc = 'privacyScore1Pct_ASC', + PrivacyScore1PctAscNullsFirst = 'privacyScore1Pct_ASC_NULLS_FIRST', + PrivacyScore1PctAscNullsLast = 'privacyScore1Pct_ASC_NULLS_LAST', + PrivacyScore1PctDesc = 'privacyScore1Pct_DESC', + PrivacyScore1PctDescNullsFirst = 'privacyScore1Pct_DESC_NULLS_FIRST', + PrivacyScore1PctDescNullsLast = 'privacyScore1Pct_DESC_NULLS_LAST', + PrivacyScore5PctAsc = 'privacyScore5Pct_ASC', + PrivacyScore5PctAscNullsFirst = 'privacyScore5Pct_ASC_NULLS_FIRST', + PrivacyScore5PctAscNullsLast = 'privacyScore5Pct_ASC_NULLS_LAST', + PrivacyScore5PctDesc = 'privacyScore5Pct_DESC', + PrivacyScore5PctDescNullsFirst = 'privacyScore5Pct_DESC_NULLS_FIRST', + PrivacyScore5PctDescNullsLast = 'privacyScore5Pct_DESC_NULLS_LAST', + PrivacyScoreAsc = 'privacyScore_ASC', + PrivacyScoreAscNullsFirst = 'privacyScore_ASC_NULLS_FIRST', + PrivacyScoreAscNullsLast = 'privacyScore_ASC_NULLS_LAST', + PrivacyScoreDesc = 'privacyScore_DESC', + PrivacyScoreDescNullsFirst = 'privacyScore_DESC_NULLS_FIRST', + PrivacyScoreDescNullsLast = 'privacyScore_DESC_NULLS_LAST', + TimestampAsc = 'timestamp_ASC', + TimestampAscNullsFirst = 'timestamp_ASC_NULLS_FIRST', + TimestampAscNullsLast = 'timestamp_ASC_NULLS_LAST', + TimestampDesc = 'timestamp_DESC', + TimestampDescNullsFirst = 'timestamp_DESC_NULLS_FIRST', + TimestampDescNullsLast = 'timestamp_DESC_NULLS_LAST', + TotalAmountAsc = 'totalAmount_ASC', + TotalAmountAscNullsFirst = 'totalAmount_ASC_NULLS_FIRST', + TotalAmountAscNullsLast = 'totalAmount_ASC_NULLS_LAST', + TotalAmountDesc = 'totalAmount_DESC', + TotalAmountDescNullsFirst = 'totalAmount_DESC_NULLS_FIRST', + TotalAmountDescNullsLast = 'totalAmount_DESC_NULLS_LAST' +} -export type GetRecentMinerRewardsQueryVariables = Exact<{ - limit?: InputMaybe; - offset?: InputMaybe; - orderBy?: InputMaybe< - Array | MinerRewardOrderByInput +export type WormholeExtrinsicWhereInput = { + AND?: InputMaybe>; + OR?: InputMaybe>; + block?: InputMaybe; + block_isNull?: InputMaybe; + extrinsicHash_contains?: InputMaybe; + extrinsicHash_containsInsensitive?: InputMaybe; + extrinsicHash_endsWith?: InputMaybe; + extrinsicHash_eq?: InputMaybe; + extrinsicHash_gt?: InputMaybe; + extrinsicHash_gte?: InputMaybe; + extrinsicHash_in?: InputMaybe>; + extrinsicHash_isNull?: InputMaybe; + extrinsicHash_lt?: InputMaybe; + extrinsicHash_lte?: InputMaybe; + extrinsicHash_not_contains?: InputMaybe; + extrinsicHash_not_containsInsensitive?: InputMaybe< + Scalars['String']['input'] >; - where?: InputMaybe; -}>; - -export type GetRecentMinerRewardsQuery = { - __typename?: 'Query'; - minerRewards: Array<{ - __typename?: 'MinerReward'; - reward: any; - timestamp: any; - block: { __typename?: 'Block'; height: number; hash: string }; - miner: { __typename?: 'Account'; id: string }; - }>; + extrinsicHash_not_endsWith?: InputMaybe; + extrinsicHash_not_eq?: InputMaybe; + extrinsicHash_not_in?: InputMaybe>; + extrinsicHash_not_startsWith?: InputMaybe; + extrinsicHash_startsWith?: InputMaybe; + id_contains?: InputMaybe; + id_containsInsensitive?: InputMaybe; + id_endsWith?: InputMaybe; + id_eq?: InputMaybe; + id_gt?: InputMaybe; + id_gte?: InputMaybe; + id_in?: InputMaybe>; + id_isNull?: InputMaybe; + id_lt?: InputMaybe; + id_lte?: InputMaybe; + id_not_contains?: InputMaybe; + id_not_containsInsensitive?: InputMaybe; + id_not_endsWith?: InputMaybe; + id_not_eq?: InputMaybe; + id_not_in?: InputMaybe>; + id_not_startsWith?: InputMaybe; + id_startsWith?: InputMaybe; + outputCount_eq?: InputMaybe; + outputCount_gt?: InputMaybe; + outputCount_gte?: InputMaybe; + outputCount_in?: InputMaybe>; + outputCount_isNull?: InputMaybe; + outputCount_lt?: InputMaybe; + outputCount_lte?: InputMaybe; + outputCount_not_eq?: InputMaybe; + outputCount_not_in?: InputMaybe>; + outputs_every?: InputMaybe; + outputs_none?: InputMaybe; + outputs_some?: InputMaybe; + poolSnapshot_contains?: InputMaybe; + poolSnapshot_containsInsensitive?: InputMaybe; + poolSnapshot_endsWith?: InputMaybe; + poolSnapshot_eq?: InputMaybe; + poolSnapshot_gt?: InputMaybe; + poolSnapshot_gte?: InputMaybe; + poolSnapshot_in?: InputMaybe>; + poolSnapshot_isNull?: InputMaybe; + poolSnapshot_lt?: InputMaybe; + poolSnapshot_lte?: InputMaybe; + poolSnapshot_not_contains?: InputMaybe; + poolSnapshot_not_containsInsensitive?: InputMaybe; + poolSnapshot_not_endsWith?: InputMaybe; + poolSnapshot_not_eq?: InputMaybe; + poolSnapshot_not_in?: InputMaybe>; + poolSnapshot_not_startsWith?: InputMaybe; + poolSnapshot_startsWith?: InputMaybe; + privacyLabel_contains?: InputMaybe; + privacyLabel_containsInsensitive?: InputMaybe; + privacyLabel_endsWith?: InputMaybe; + privacyLabel_eq?: InputMaybe; + privacyLabel_gt?: InputMaybe; + privacyLabel_gte?: InputMaybe; + privacyLabel_in?: InputMaybe>; + privacyLabel_isNull?: InputMaybe; + privacyLabel_lt?: InputMaybe; + privacyLabel_lte?: InputMaybe; + privacyLabel_not_contains?: InputMaybe; + privacyLabel_not_containsInsensitive?: InputMaybe; + privacyLabel_not_endsWith?: InputMaybe; + privacyLabel_not_eq?: InputMaybe; + privacyLabel_not_in?: InputMaybe>; + privacyLabel_not_startsWith?: InputMaybe; + privacyLabel_startsWith?: InputMaybe; + privacyScore01Pct_eq?: InputMaybe; + privacyScore01Pct_gt?: InputMaybe; + privacyScore01Pct_gte?: InputMaybe; + privacyScore01Pct_in?: InputMaybe>; + privacyScore01Pct_isNull?: InputMaybe; + privacyScore01Pct_lt?: InputMaybe; + privacyScore01Pct_lte?: InputMaybe; + privacyScore01Pct_not_eq?: InputMaybe; + privacyScore01Pct_not_in?: InputMaybe>; + privacyScore1Pct_eq?: InputMaybe; + privacyScore1Pct_gt?: InputMaybe; + privacyScore1Pct_gte?: InputMaybe; + privacyScore1Pct_in?: InputMaybe>; + privacyScore1Pct_isNull?: InputMaybe; + privacyScore1Pct_lt?: InputMaybe; + privacyScore1Pct_lte?: InputMaybe; + privacyScore1Pct_not_eq?: InputMaybe; + privacyScore1Pct_not_in?: InputMaybe>; + privacyScore5Pct_eq?: InputMaybe; + privacyScore5Pct_gt?: InputMaybe; + privacyScore5Pct_gte?: InputMaybe; + privacyScore5Pct_in?: InputMaybe>; + privacyScore5Pct_isNull?: InputMaybe; + privacyScore5Pct_lt?: InputMaybe; + privacyScore5Pct_lte?: InputMaybe; + privacyScore5Pct_not_eq?: InputMaybe; + privacyScore5Pct_not_in?: InputMaybe>; + privacyScore_eq?: InputMaybe; + privacyScore_gt?: InputMaybe; + privacyScore_gte?: InputMaybe; + privacyScore_in?: InputMaybe>; + privacyScore_isNull?: InputMaybe; + privacyScore_lt?: InputMaybe; + privacyScore_lte?: InputMaybe; + privacyScore_not_eq?: InputMaybe; + privacyScore_not_in?: InputMaybe>; + timestamp_eq?: InputMaybe; + timestamp_gt?: InputMaybe; + timestamp_gte?: InputMaybe; + timestamp_in?: InputMaybe>; + timestamp_isNull?: InputMaybe; + timestamp_lt?: InputMaybe; + timestamp_lte?: InputMaybe; + timestamp_not_eq?: InputMaybe; + timestamp_not_in?: InputMaybe>; + totalAmount_eq?: InputMaybe; + totalAmount_gt?: InputMaybe; + totalAmount_gte?: InputMaybe; + totalAmount_in?: InputMaybe>; + totalAmount_isNull?: InputMaybe; + totalAmount_lt?: InputMaybe; + totalAmount_lte?: InputMaybe; + totalAmount_not_eq?: InputMaybe; + totalAmount_not_in?: InputMaybe>; }; -export type GetMinerRewardsStatsQueryVariables = Exact<{ - startDate: Scalars['DateTime']['input']; - endDate: Scalars['DateTime']['input']; -}>; - -export type GetMinerRewardsStatsQuery = { - __typename?: 'Query'; - last24Hour: { __typename?: 'MinerRewardsConnection'; totalCount: number }; - allTime: { __typename?: 'MinerRewardsConnection'; totalCount: number }; +export type WormholeExtrinsicsConnection = { + __typename?: 'WormholeExtrinsicsConnection'; + edges: Array; + pageInfo: PageInfo; + totalCount: Scalars['Int']['output']; }; -export type GetMinerRewardByHashQueryVariables = Exact<{ - hash: Scalars['String']['input']; -}>; - -export type GetMinerRewardByHashQuery = { - __typename?: 'Query'; - minerRewards: Array<{ - __typename?: 'MinerReward'; - reward: any; - timestamp: any; - block: { __typename?: 'Block'; height: number; hash: string }; - miner: { __typename?: 'Account'; id: string }; - }>; +/** A nullifier consumed by a wormhole proof verification. */ +export type WormholeNullifier = { + __typename?: 'WormholeNullifier'; + /** Block where the nullifier was consumed */ + block: Block; + /** The wormhole extrinsic that consumed this nullifier */ + extrinsic: WormholeExtrinsic; + id: Scalars['String']['output']; + /** The nullifier bytes as hex */ + nullifier: Scalars['String']['output']; + /** Blake3 hash of the nullifier for prefix queries */ + nullifierHash: Scalars['String']['output']; + timestamp: Scalars['DateTime']['output']; }; -export type GetReversibleTransactionsQueryVariables = Exact<{ - limit?: InputMaybe; - offset?: InputMaybe; - orderBy?: InputMaybe< - Array | ReversibleTransferOrderByInput - >; - where?: InputMaybe; -}>; - -export type GetReversibleTransactionsQuery = { - __typename?: 'Query'; - reversibleTransactions: Array<{ - __typename?: 'ReversibleTransfer'; - extrinsicHash?: string | null; - amount: any; - timestamp: any; - status: ReversibleTransferStatus; - block: { __typename?: 'Block'; height: number }; - from: { __typename?: 'Account'; id: string }; - to: { __typename?: 'Account'; id: string }; - }>; - meta: { __typename?: 'ReversibleTransfersConnection'; totalCount: number }; +export type WormholeNullifierEdge = { + __typename?: 'WormholeNullifierEdge'; + cursor: Scalars['String']['output']; + node: WormholeNullifier; }; -export type GetRecentReversibleTransactionsQueryVariables = Exact<{ - limit?: InputMaybe; - offset?: InputMaybe; - orderBy?: InputMaybe< - Array | ReversibleTransferOrderByInput - >; -}>; +export enum WormholeNullifierOrderByInput { + BlockHashAsc = 'block_hash_ASC', + BlockHashAscNullsFirst = 'block_hash_ASC_NULLS_FIRST', + BlockHashAscNullsLast = 'block_hash_ASC_NULLS_LAST', + BlockHashDesc = 'block_hash_DESC', + BlockHashDescNullsFirst = 'block_hash_DESC_NULLS_FIRST', + BlockHashDescNullsLast = 'block_hash_DESC_NULLS_LAST', + BlockHeightAsc = 'block_height_ASC', + BlockHeightAscNullsFirst = 'block_height_ASC_NULLS_FIRST', + BlockHeightAscNullsLast = 'block_height_ASC_NULLS_LAST', + BlockHeightDesc = 'block_height_DESC', + BlockHeightDescNullsFirst = 'block_height_DESC_NULLS_FIRST', + BlockHeightDescNullsLast = 'block_height_DESC_NULLS_LAST', + BlockIdAsc = 'block_id_ASC', + BlockIdAscNullsFirst = 'block_id_ASC_NULLS_FIRST', + BlockIdAscNullsLast = 'block_id_ASC_NULLS_LAST', + BlockIdDesc = 'block_id_DESC', + BlockIdDescNullsFirst = 'block_id_DESC_NULLS_FIRST', + BlockIdDescNullsLast = 'block_id_DESC_NULLS_LAST', + BlockRewardAsc = 'block_reward_ASC', + BlockRewardAscNullsFirst = 'block_reward_ASC_NULLS_FIRST', + BlockRewardAscNullsLast = 'block_reward_ASC_NULLS_LAST', + BlockRewardDesc = 'block_reward_DESC', + BlockRewardDescNullsFirst = 'block_reward_DESC_NULLS_FIRST', + BlockRewardDescNullsLast = 'block_reward_DESC_NULLS_LAST', + BlockTimestampAsc = 'block_timestamp_ASC', + BlockTimestampAscNullsFirst = 'block_timestamp_ASC_NULLS_FIRST', + BlockTimestampAscNullsLast = 'block_timestamp_ASC_NULLS_LAST', + BlockTimestampDesc = 'block_timestamp_DESC', + BlockTimestampDescNullsFirst = 'block_timestamp_DESC_NULLS_FIRST', + BlockTimestampDescNullsLast = 'block_timestamp_DESC_NULLS_LAST', + ExtrinsicExtrinsicHashAsc = 'extrinsic_extrinsicHash_ASC', + ExtrinsicExtrinsicHashAscNullsFirst = 'extrinsic_extrinsicHash_ASC_NULLS_FIRST', + ExtrinsicExtrinsicHashAscNullsLast = 'extrinsic_extrinsicHash_ASC_NULLS_LAST', + ExtrinsicExtrinsicHashDesc = 'extrinsic_extrinsicHash_DESC', + ExtrinsicExtrinsicHashDescNullsFirst = 'extrinsic_extrinsicHash_DESC_NULLS_FIRST', + ExtrinsicExtrinsicHashDescNullsLast = 'extrinsic_extrinsicHash_DESC_NULLS_LAST', + ExtrinsicIdAsc = 'extrinsic_id_ASC', + ExtrinsicIdAscNullsFirst = 'extrinsic_id_ASC_NULLS_FIRST', + ExtrinsicIdAscNullsLast = 'extrinsic_id_ASC_NULLS_LAST', + ExtrinsicIdDesc = 'extrinsic_id_DESC', + ExtrinsicIdDescNullsFirst = 'extrinsic_id_DESC_NULLS_FIRST', + ExtrinsicIdDescNullsLast = 'extrinsic_id_DESC_NULLS_LAST', + ExtrinsicOutputCountAsc = 'extrinsic_outputCount_ASC', + ExtrinsicOutputCountAscNullsFirst = 'extrinsic_outputCount_ASC_NULLS_FIRST', + ExtrinsicOutputCountAscNullsLast = 'extrinsic_outputCount_ASC_NULLS_LAST', + ExtrinsicOutputCountDesc = 'extrinsic_outputCount_DESC', + ExtrinsicOutputCountDescNullsFirst = 'extrinsic_outputCount_DESC_NULLS_FIRST', + ExtrinsicOutputCountDescNullsLast = 'extrinsic_outputCount_DESC_NULLS_LAST', + ExtrinsicPoolSnapshotAsc = 'extrinsic_poolSnapshot_ASC', + ExtrinsicPoolSnapshotAscNullsFirst = 'extrinsic_poolSnapshot_ASC_NULLS_FIRST', + ExtrinsicPoolSnapshotAscNullsLast = 'extrinsic_poolSnapshot_ASC_NULLS_LAST', + ExtrinsicPoolSnapshotDesc = 'extrinsic_poolSnapshot_DESC', + ExtrinsicPoolSnapshotDescNullsFirst = 'extrinsic_poolSnapshot_DESC_NULLS_FIRST', + ExtrinsicPoolSnapshotDescNullsLast = 'extrinsic_poolSnapshot_DESC_NULLS_LAST', + ExtrinsicPrivacyLabelAsc = 'extrinsic_privacyLabel_ASC', + ExtrinsicPrivacyLabelAscNullsFirst = 'extrinsic_privacyLabel_ASC_NULLS_FIRST', + ExtrinsicPrivacyLabelAscNullsLast = 'extrinsic_privacyLabel_ASC_NULLS_LAST', + ExtrinsicPrivacyLabelDesc = 'extrinsic_privacyLabel_DESC', + ExtrinsicPrivacyLabelDescNullsFirst = 'extrinsic_privacyLabel_DESC_NULLS_FIRST', + ExtrinsicPrivacyLabelDescNullsLast = 'extrinsic_privacyLabel_DESC_NULLS_LAST', + ExtrinsicPrivacyScore01PctAsc = 'extrinsic_privacyScore01Pct_ASC', + ExtrinsicPrivacyScore01PctAscNullsFirst = 'extrinsic_privacyScore01Pct_ASC_NULLS_FIRST', + ExtrinsicPrivacyScore01PctAscNullsLast = 'extrinsic_privacyScore01Pct_ASC_NULLS_LAST', + ExtrinsicPrivacyScore01PctDesc = 'extrinsic_privacyScore01Pct_DESC', + ExtrinsicPrivacyScore01PctDescNullsFirst = 'extrinsic_privacyScore01Pct_DESC_NULLS_FIRST', + ExtrinsicPrivacyScore01PctDescNullsLast = 'extrinsic_privacyScore01Pct_DESC_NULLS_LAST', + ExtrinsicPrivacyScore1PctAsc = 'extrinsic_privacyScore1Pct_ASC', + ExtrinsicPrivacyScore1PctAscNullsFirst = 'extrinsic_privacyScore1Pct_ASC_NULLS_FIRST', + ExtrinsicPrivacyScore1PctAscNullsLast = 'extrinsic_privacyScore1Pct_ASC_NULLS_LAST', + ExtrinsicPrivacyScore1PctDesc = 'extrinsic_privacyScore1Pct_DESC', + ExtrinsicPrivacyScore1PctDescNullsFirst = 'extrinsic_privacyScore1Pct_DESC_NULLS_FIRST', + ExtrinsicPrivacyScore1PctDescNullsLast = 'extrinsic_privacyScore1Pct_DESC_NULLS_LAST', + ExtrinsicPrivacyScore5PctAsc = 'extrinsic_privacyScore5Pct_ASC', + ExtrinsicPrivacyScore5PctAscNullsFirst = 'extrinsic_privacyScore5Pct_ASC_NULLS_FIRST', + ExtrinsicPrivacyScore5PctAscNullsLast = 'extrinsic_privacyScore5Pct_ASC_NULLS_LAST', + ExtrinsicPrivacyScore5PctDesc = 'extrinsic_privacyScore5Pct_DESC', + ExtrinsicPrivacyScore5PctDescNullsFirst = 'extrinsic_privacyScore5Pct_DESC_NULLS_FIRST', + ExtrinsicPrivacyScore5PctDescNullsLast = 'extrinsic_privacyScore5Pct_DESC_NULLS_LAST', + ExtrinsicPrivacyScoreAsc = 'extrinsic_privacyScore_ASC', + ExtrinsicPrivacyScoreAscNullsFirst = 'extrinsic_privacyScore_ASC_NULLS_FIRST', + ExtrinsicPrivacyScoreAscNullsLast = 'extrinsic_privacyScore_ASC_NULLS_LAST', + ExtrinsicPrivacyScoreDesc = 'extrinsic_privacyScore_DESC', + ExtrinsicPrivacyScoreDescNullsFirst = 'extrinsic_privacyScore_DESC_NULLS_FIRST', + ExtrinsicPrivacyScoreDescNullsLast = 'extrinsic_privacyScore_DESC_NULLS_LAST', + ExtrinsicTimestampAsc = 'extrinsic_timestamp_ASC', + ExtrinsicTimestampAscNullsFirst = 'extrinsic_timestamp_ASC_NULLS_FIRST', + ExtrinsicTimestampAscNullsLast = 'extrinsic_timestamp_ASC_NULLS_LAST', + ExtrinsicTimestampDesc = 'extrinsic_timestamp_DESC', + ExtrinsicTimestampDescNullsFirst = 'extrinsic_timestamp_DESC_NULLS_FIRST', + ExtrinsicTimestampDescNullsLast = 'extrinsic_timestamp_DESC_NULLS_LAST', + ExtrinsicTotalAmountAsc = 'extrinsic_totalAmount_ASC', + ExtrinsicTotalAmountAscNullsFirst = 'extrinsic_totalAmount_ASC_NULLS_FIRST', + ExtrinsicTotalAmountAscNullsLast = 'extrinsic_totalAmount_ASC_NULLS_LAST', + ExtrinsicTotalAmountDesc = 'extrinsic_totalAmount_DESC', + ExtrinsicTotalAmountDescNullsFirst = 'extrinsic_totalAmount_DESC_NULLS_FIRST', + ExtrinsicTotalAmountDescNullsLast = 'extrinsic_totalAmount_DESC_NULLS_LAST', + IdAsc = 'id_ASC', + IdAscNullsFirst = 'id_ASC_NULLS_FIRST', + IdAscNullsLast = 'id_ASC_NULLS_LAST', + IdDesc = 'id_DESC', + IdDescNullsFirst = 'id_DESC_NULLS_FIRST', + IdDescNullsLast = 'id_DESC_NULLS_LAST', + NullifierHashAsc = 'nullifierHash_ASC', + NullifierHashAscNullsFirst = 'nullifierHash_ASC_NULLS_FIRST', + NullifierHashAscNullsLast = 'nullifierHash_ASC_NULLS_LAST', + NullifierHashDesc = 'nullifierHash_DESC', + NullifierHashDescNullsFirst = 'nullifierHash_DESC_NULLS_FIRST', + NullifierHashDescNullsLast = 'nullifierHash_DESC_NULLS_LAST', + NullifierAsc = 'nullifier_ASC', + NullifierAscNullsFirst = 'nullifier_ASC_NULLS_FIRST', + NullifierAscNullsLast = 'nullifier_ASC_NULLS_LAST', + NullifierDesc = 'nullifier_DESC', + NullifierDescNullsFirst = 'nullifier_DESC_NULLS_FIRST', + NullifierDescNullsLast = 'nullifier_DESC_NULLS_LAST', + TimestampAsc = 'timestamp_ASC', + TimestampAscNullsFirst = 'timestamp_ASC_NULLS_FIRST', + TimestampAscNullsLast = 'timestamp_ASC_NULLS_LAST', + TimestampDesc = 'timestamp_DESC', + TimestampDescNullsFirst = 'timestamp_DESC_NULLS_FIRST', + TimestampDescNullsLast = 'timestamp_DESC_NULLS_LAST' +} -export type GetRecentReversibleTransactionsQuery = { - __typename?: 'Query'; - reversibleTransactions: Array<{ - __typename?: 'ReversibleTransfer'; - extrinsicHash?: string | null; - amount: any; - timestamp: any; - status: ReversibleTransferStatus; - block: { __typename?: 'Block'; height: number }; - from: { __typename?: 'Account'; id: string }; - to: { __typename?: 'Account'; id: string }; - }>; +export type WormholeNullifierWhereInput = { + AND?: InputMaybe>; + OR?: InputMaybe>; + block?: InputMaybe; + block_isNull?: InputMaybe; + extrinsic?: InputMaybe; + extrinsic_isNull?: InputMaybe; + id_contains?: InputMaybe; + id_containsInsensitive?: InputMaybe; + id_endsWith?: InputMaybe; + id_eq?: InputMaybe; + id_gt?: InputMaybe; + id_gte?: InputMaybe; + id_in?: InputMaybe>; + id_isNull?: InputMaybe; + id_lt?: InputMaybe; + id_lte?: InputMaybe; + id_not_contains?: InputMaybe; + id_not_containsInsensitive?: InputMaybe; + id_not_endsWith?: InputMaybe; + id_not_eq?: InputMaybe; + id_not_in?: InputMaybe>; + id_not_startsWith?: InputMaybe; + id_startsWith?: InputMaybe; + nullifierHash_contains?: InputMaybe; + nullifierHash_containsInsensitive?: InputMaybe; + nullifierHash_endsWith?: InputMaybe; + nullifierHash_eq?: InputMaybe; + nullifierHash_gt?: InputMaybe; + nullifierHash_gte?: InputMaybe; + nullifierHash_in?: InputMaybe>; + nullifierHash_isNull?: InputMaybe; + nullifierHash_lt?: InputMaybe; + nullifierHash_lte?: InputMaybe; + nullifierHash_not_contains?: InputMaybe; + nullifierHash_not_containsInsensitive?: InputMaybe< + Scalars['String']['input'] + >; + nullifierHash_not_endsWith?: InputMaybe; + nullifierHash_not_eq?: InputMaybe; + nullifierHash_not_in?: InputMaybe>; + nullifierHash_not_startsWith?: InputMaybe; + nullifierHash_startsWith?: InputMaybe; + nullifier_contains?: InputMaybe; + nullifier_containsInsensitive?: InputMaybe; + nullifier_endsWith?: InputMaybe; + nullifier_eq?: InputMaybe; + nullifier_gt?: InputMaybe; + nullifier_gte?: InputMaybe; + nullifier_in?: InputMaybe>; + nullifier_isNull?: InputMaybe; + nullifier_lt?: InputMaybe; + nullifier_lte?: InputMaybe; + nullifier_not_contains?: InputMaybe; + nullifier_not_containsInsensitive?: InputMaybe; + nullifier_not_endsWith?: InputMaybe; + nullifier_not_eq?: InputMaybe; + nullifier_not_in?: InputMaybe>; + nullifier_not_startsWith?: InputMaybe; + nullifier_startsWith?: InputMaybe; + timestamp_eq?: InputMaybe; + timestamp_gt?: InputMaybe; + timestamp_gte?: InputMaybe; + timestamp_in?: InputMaybe>; + timestamp_isNull?: InputMaybe; + timestamp_lt?: InputMaybe; + timestamp_lte?: InputMaybe; + timestamp_not_eq?: InputMaybe; + timestamp_not_in?: InputMaybe>; }; -export type GetReversibleTransactionsStatsQueryVariables = Exact<{ - startDate: Scalars['DateTime']['input']; - endDate: Scalars['DateTime']['input']; -}>; - -export type GetReversibleTransactionsStatsQuery = { - __typename?: 'Query'; - last24Hour: { - __typename?: 'ReversibleTransfersConnection'; - totalCount: number; - }; - allTime: { __typename?: 'ReversibleTransfersConnection'; totalCount: number }; +export type WormholeNullifiersConnection = { + __typename?: 'WormholeNullifiersConnection'; + edges: Array; + pageInfo: PageInfo; + totalCount: Scalars['Int']['output']; }; -export type GetReversibleTransactionByHashQueryVariables = Exact<{ - hash: Scalars['String']['input']; -}>; - -export type GetReversibleTransactionByHashQuery = { - __typename?: 'Query'; - reversibleTransactions: Array<{ - __typename?: 'ReversibleTransfer'; - fee: any; - amount: any; - extrinsicHash?: string | null; - txId: string; - scheduledAt: any; - timestamp: any; - status: ReversibleTransferStatus; - block: { __typename?: 'Block'; height: number }; - from: { __typename?: 'Account'; id: string }; - to: { __typename?: 'Account'; id: string }; - }>; +/** An individual exit output within a wormhole proof verification. */ +export type WormholeOutput = { + __typename?: 'WormholeOutput'; + amount: Scalars['BigInt']['output']; + exitAccount: Account; + extrinsic: WormholeExtrinsic; + id: Scalars['String']['output']; }; -export type GetReversibleTransactionStatusByHashQueryVariables = Exact<{ - hash: Scalars['String']['input']; -}>; - -export type GetReversibleTransactionStatusByHashQuery = { - __typename?: 'Query'; - reversibleTransactions: Array<{ - __typename?: 'ReversibleTransfer'; - status: ReversibleTransferStatus; - }>; +export type WormholeOutputEdge = { + __typename?: 'WormholeOutputEdge'; + cursor: Scalars['String']['output']; + node: WormholeOutput; }; -export type SearchAllQueryVariables = Exact<{ - keyword?: InputMaybe; - keyword_number?: InputMaybe; - limit?: InputMaybe; -}>; +export enum WormholeOutputOrderByInput { + AmountAsc = 'amount_ASC', + AmountAscNullsFirst = 'amount_ASC_NULLS_FIRST', + AmountAscNullsLast = 'amount_ASC_NULLS_LAST', + AmountDesc = 'amount_DESC', + AmountDescNullsFirst = 'amount_DESC_NULLS_FIRST', + AmountDescNullsLast = 'amount_DESC_NULLS_LAST', + ExitAccountFreeAsc = 'exitAccount_free_ASC', + ExitAccountFreeAscNullsFirst = 'exitAccount_free_ASC_NULLS_FIRST', + ExitAccountFreeAscNullsLast = 'exitAccount_free_ASC_NULLS_LAST', + ExitAccountFreeDesc = 'exitAccount_free_DESC', + ExitAccountFreeDescNullsFirst = 'exitAccount_free_DESC_NULLS_FIRST', + ExitAccountFreeDescNullsLast = 'exitAccount_free_DESC_NULLS_LAST', + ExitAccountFrozenAsc = 'exitAccount_frozen_ASC', + ExitAccountFrozenAscNullsFirst = 'exitAccount_frozen_ASC_NULLS_FIRST', + ExitAccountFrozenAscNullsLast = 'exitAccount_frozen_ASC_NULLS_LAST', + ExitAccountFrozenDesc = 'exitAccount_frozen_DESC', + ExitAccountFrozenDescNullsFirst = 'exitAccount_frozen_DESC_NULLS_FIRST', + ExitAccountFrozenDescNullsLast = 'exitAccount_frozen_DESC_NULLS_LAST', + ExitAccountIdAsc = 'exitAccount_id_ASC', + ExitAccountIdAscNullsFirst = 'exitAccount_id_ASC_NULLS_FIRST', + ExitAccountIdAscNullsLast = 'exitAccount_id_ASC_NULLS_LAST', + ExitAccountIdDesc = 'exitAccount_id_DESC', + ExitAccountIdDescNullsFirst = 'exitAccount_id_DESC_NULLS_FIRST', + ExitAccountIdDescNullsLast = 'exitAccount_id_DESC_NULLS_LAST', + ExitAccountIsDepositOnlyAsc = 'exitAccount_isDepositOnly_ASC', + ExitAccountIsDepositOnlyAscNullsFirst = 'exitAccount_isDepositOnly_ASC_NULLS_FIRST', + ExitAccountIsDepositOnlyAscNullsLast = 'exitAccount_isDepositOnly_ASC_NULLS_LAST', + ExitAccountIsDepositOnlyDesc = 'exitAccount_isDepositOnly_DESC', + ExitAccountIsDepositOnlyDescNullsFirst = 'exitAccount_isDepositOnly_DESC_NULLS_FIRST', + ExitAccountIsDepositOnlyDescNullsLast = 'exitAccount_isDepositOnly_DESC_NULLS_LAST', + ExitAccountLastUpdatedAsc = 'exitAccount_lastUpdated_ASC', + ExitAccountLastUpdatedAscNullsFirst = 'exitAccount_lastUpdated_ASC_NULLS_FIRST', + ExitAccountLastUpdatedAscNullsLast = 'exitAccount_lastUpdated_ASC_NULLS_LAST', + ExitAccountLastUpdatedDesc = 'exitAccount_lastUpdated_DESC', + ExitAccountLastUpdatedDescNullsFirst = 'exitAccount_lastUpdated_DESC_NULLS_FIRST', + ExitAccountLastUpdatedDescNullsLast = 'exitAccount_lastUpdated_DESC_NULLS_LAST', + ExitAccountReservedAsc = 'exitAccount_reserved_ASC', + ExitAccountReservedAscNullsFirst = 'exitAccount_reserved_ASC_NULLS_FIRST', + ExitAccountReservedAscNullsLast = 'exitAccount_reserved_ASC_NULLS_LAST', + ExitAccountReservedDesc = 'exitAccount_reserved_DESC', + ExitAccountReservedDescNullsFirst = 'exitAccount_reserved_DESC_NULLS_FIRST', + ExitAccountReservedDescNullsLast = 'exitAccount_reserved_DESC_NULLS_LAST', + ExtrinsicExtrinsicHashAsc = 'extrinsic_extrinsicHash_ASC', + ExtrinsicExtrinsicHashAscNullsFirst = 'extrinsic_extrinsicHash_ASC_NULLS_FIRST', + ExtrinsicExtrinsicHashAscNullsLast = 'extrinsic_extrinsicHash_ASC_NULLS_LAST', + ExtrinsicExtrinsicHashDesc = 'extrinsic_extrinsicHash_DESC', + ExtrinsicExtrinsicHashDescNullsFirst = 'extrinsic_extrinsicHash_DESC_NULLS_FIRST', + ExtrinsicExtrinsicHashDescNullsLast = 'extrinsic_extrinsicHash_DESC_NULLS_LAST', + ExtrinsicIdAsc = 'extrinsic_id_ASC', + ExtrinsicIdAscNullsFirst = 'extrinsic_id_ASC_NULLS_FIRST', + ExtrinsicIdAscNullsLast = 'extrinsic_id_ASC_NULLS_LAST', + ExtrinsicIdDesc = 'extrinsic_id_DESC', + ExtrinsicIdDescNullsFirst = 'extrinsic_id_DESC_NULLS_FIRST', + ExtrinsicIdDescNullsLast = 'extrinsic_id_DESC_NULLS_LAST', + ExtrinsicOutputCountAsc = 'extrinsic_outputCount_ASC', + ExtrinsicOutputCountAscNullsFirst = 'extrinsic_outputCount_ASC_NULLS_FIRST', + ExtrinsicOutputCountAscNullsLast = 'extrinsic_outputCount_ASC_NULLS_LAST', + ExtrinsicOutputCountDesc = 'extrinsic_outputCount_DESC', + ExtrinsicOutputCountDescNullsFirst = 'extrinsic_outputCount_DESC_NULLS_FIRST', + ExtrinsicOutputCountDescNullsLast = 'extrinsic_outputCount_DESC_NULLS_LAST', + ExtrinsicPoolSnapshotAsc = 'extrinsic_poolSnapshot_ASC', + ExtrinsicPoolSnapshotAscNullsFirst = 'extrinsic_poolSnapshot_ASC_NULLS_FIRST', + ExtrinsicPoolSnapshotAscNullsLast = 'extrinsic_poolSnapshot_ASC_NULLS_LAST', + ExtrinsicPoolSnapshotDesc = 'extrinsic_poolSnapshot_DESC', + ExtrinsicPoolSnapshotDescNullsFirst = 'extrinsic_poolSnapshot_DESC_NULLS_FIRST', + ExtrinsicPoolSnapshotDescNullsLast = 'extrinsic_poolSnapshot_DESC_NULLS_LAST', + ExtrinsicPrivacyLabelAsc = 'extrinsic_privacyLabel_ASC', + ExtrinsicPrivacyLabelAscNullsFirst = 'extrinsic_privacyLabel_ASC_NULLS_FIRST', + ExtrinsicPrivacyLabelAscNullsLast = 'extrinsic_privacyLabel_ASC_NULLS_LAST', + ExtrinsicPrivacyLabelDesc = 'extrinsic_privacyLabel_DESC', + ExtrinsicPrivacyLabelDescNullsFirst = 'extrinsic_privacyLabel_DESC_NULLS_FIRST', + ExtrinsicPrivacyLabelDescNullsLast = 'extrinsic_privacyLabel_DESC_NULLS_LAST', + ExtrinsicPrivacyScore01PctAsc = 'extrinsic_privacyScore01Pct_ASC', + ExtrinsicPrivacyScore01PctAscNullsFirst = 'extrinsic_privacyScore01Pct_ASC_NULLS_FIRST', + ExtrinsicPrivacyScore01PctAscNullsLast = 'extrinsic_privacyScore01Pct_ASC_NULLS_LAST', + ExtrinsicPrivacyScore01PctDesc = 'extrinsic_privacyScore01Pct_DESC', + ExtrinsicPrivacyScore01PctDescNullsFirst = 'extrinsic_privacyScore01Pct_DESC_NULLS_FIRST', + ExtrinsicPrivacyScore01PctDescNullsLast = 'extrinsic_privacyScore01Pct_DESC_NULLS_LAST', + ExtrinsicPrivacyScore1PctAsc = 'extrinsic_privacyScore1Pct_ASC', + ExtrinsicPrivacyScore1PctAscNullsFirst = 'extrinsic_privacyScore1Pct_ASC_NULLS_FIRST', + ExtrinsicPrivacyScore1PctAscNullsLast = 'extrinsic_privacyScore1Pct_ASC_NULLS_LAST', + ExtrinsicPrivacyScore1PctDesc = 'extrinsic_privacyScore1Pct_DESC', + ExtrinsicPrivacyScore1PctDescNullsFirst = 'extrinsic_privacyScore1Pct_DESC_NULLS_FIRST', + ExtrinsicPrivacyScore1PctDescNullsLast = 'extrinsic_privacyScore1Pct_DESC_NULLS_LAST', + ExtrinsicPrivacyScore5PctAsc = 'extrinsic_privacyScore5Pct_ASC', + ExtrinsicPrivacyScore5PctAscNullsFirst = 'extrinsic_privacyScore5Pct_ASC_NULLS_FIRST', + ExtrinsicPrivacyScore5PctAscNullsLast = 'extrinsic_privacyScore5Pct_ASC_NULLS_LAST', + ExtrinsicPrivacyScore5PctDesc = 'extrinsic_privacyScore5Pct_DESC', + ExtrinsicPrivacyScore5PctDescNullsFirst = 'extrinsic_privacyScore5Pct_DESC_NULLS_FIRST', + ExtrinsicPrivacyScore5PctDescNullsLast = 'extrinsic_privacyScore5Pct_DESC_NULLS_LAST', + ExtrinsicPrivacyScoreAsc = 'extrinsic_privacyScore_ASC', + ExtrinsicPrivacyScoreAscNullsFirst = 'extrinsic_privacyScore_ASC_NULLS_FIRST', + ExtrinsicPrivacyScoreAscNullsLast = 'extrinsic_privacyScore_ASC_NULLS_LAST', + ExtrinsicPrivacyScoreDesc = 'extrinsic_privacyScore_DESC', + ExtrinsicPrivacyScoreDescNullsFirst = 'extrinsic_privacyScore_DESC_NULLS_FIRST', + ExtrinsicPrivacyScoreDescNullsLast = 'extrinsic_privacyScore_DESC_NULLS_LAST', + ExtrinsicTimestampAsc = 'extrinsic_timestamp_ASC', + ExtrinsicTimestampAscNullsFirst = 'extrinsic_timestamp_ASC_NULLS_FIRST', + ExtrinsicTimestampAscNullsLast = 'extrinsic_timestamp_ASC_NULLS_LAST', + ExtrinsicTimestampDesc = 'extrinsic_timestamp_DESC', + ExtrinsicTimestampDescNullsFirst = 'extrinsic_timestamp_DESC_NULLS_FIRST', + ExtrinsicTimestampDescNullsLast = 'extrinsic_timestamp_DESC_NULLS_LAST', + ExtrinsicTotalAmountAsc = 'extrinsic_totalAmount_ASC', + ExtrinsicTotalAmountAscNullsFirst = 'extrinsic_totalAmount_ASC_NULLS_FIRST', + ExtrinsicTotalAmountAscNullsLast = 'extrinsic_totalAmount_ASC_NULLS_LAST', + ExtrinsicTotalAmountDesc = 'extrinsic_totalAmount_DESC', + ExtrinsicTotalAmountDescNullsFirst = 'extrinsic_totalAmount_DESC_NULLS_FIRST', + ExtrinsicTotalAmountDescNullsLast = 'extrinsic_totalAmount_DESC_NULLS_LAST', + IdAsc = 'id_ASC', + IdAscNullsFirst = 'id_ASC_NULLS_FIRST', + IdAscNullsLast = 'id_ASC_NULLS_LAST', + IdDesc = 'id_DESC', + IdDescNullsFirst = 'id_DESC_NULLS_FIRST', + IdDescNullsLast = 'id_DESC_NULLS_LAST' +} -export type SearchAllQuery = { - __typename?: 'Query'; - transactions: Array<{ - __typename?: 'Transfer'; - extrinsicHash?: string | null; - }>; - reversibleTransactions: Array<{ - __typename?: 'ReversibleTransfer'; - extrinsicHash?: string | null; - }>; - accounts: Array<{ __typename?: 'Account'; id: string }>; - blocks: Array<{ __typename?: 'Block'; height: number }>; - minerRewards: Array<{ - __typename?: 'MinerReward'; - reward: any; - timestamp: any; - block: { __typename?: 'Block'; height: number; hash: string }; - miner: { __typename?: 'Account'; id: string }; - }>; +export type WormholeOutputWhereInput = { + AND?: InputMaybe>; + OR?: InputMaybe>; + amount_eq?: InputMaybe; + amount_gt?: InputMaybe; + amount_gte?: InputMaybe; + amount_in?: InputMaybe>; + amount_isNull?: InputMaybe; + amount_lt?: InputMaybe; + amount_lte?: InputMaybe; + amount_not_eq?: InputMaybe; + amount_not_in?: InputMaybe>; + exitAccount?: InputMaybe; + exitAccount_isNull?: InputMaybe; + extrinsic?: InputMaybe; + extrinsic_isNull?: InputMaybe; + id_contains?: InputMaybe; + id_containsInsensitive?: InputMaybe; + id_endsWith?: InputMaybe; + id_eq?: InputMaybe; + id_gt?: InputMaybe; + id_gte?: InputMaybe; + id_in?: InputMaybe>; + id_isNull?: InputMaybe; + id_lt?: InputMaybe; + id_lte?: InputMaybe; + id_not_contains?: InputMaybe; + id_not_containsInsensitive?: InputMaybe; + id_not_endsWith?: InputMaybe; + id_not_eq?: InputMaybe; + id_not_in?: InputMaybe>; + id_not_startsWith?: InputMaybe; + id_startsWith?: InputMaybe; }; -export type GetTransactionsQueryVariables = Exact<{ - limit?: InputMaybe; - offset?: InputMaybe; - orderBy?: InputMaybe | TransferOrderByInput>; - where?: InputMaybe; -}>; - -export type GetTransactionsQuery = { - __typename?: 'Query'; - transactions: Array<{ - __typename?: 'Transfer'; - fee: any; - extrinsicHash?: string | null; - amount: any; - timestamp: any; - block: { __typename?: 'Block'; height: number }; - from: { __typename?: 'Account'; id: string }; - to: { __typename?: 'Account'; id: string }; - }>; - meta: { __typename?: 'TransfersConnection'; totalCount: number }; +export type WormholeOutputsConnection = { + __typename?: 'WormholeOutputsConnection'; + edges: Array; + pageInfo: PageInfo; + totalCount: Scalars['Int']['output']; }; -export type GetRecentTransactionsQueryVariables = Exact<{ +export type GetAccountsQueryVariables = Exact<{ limit?: InputMaybe; offset?: InputMaybe; - orderBy?: InputMaybe | TransferOrderByInput>; - where?: InputMaybe; + orderBy?: InputMaybe | AccountOrderByInput>; }>; -export type GetRecentTransactionsQuery = { +export type GetAccountsQuery = { __typename?: 'Query'; - transactions: Array<{ - __typename?: 'Transfer'; - fee: any; - extrinsicHash?: string | null; - amount: any; - timestamp: any; - block: { __typename?: 'Block'; height: number }; - from: { __typename?: 'Account'; id: string }; - to: { __typename?: 'Account'; id: string }; + accounts: Array<{ + __typename?: 'Account'; + id: string; + free: any; + frozen: any; + reserved: any; }>; + meta: { __typename?: 'AccountsConnection'; totalCount: number }; }; -export type GetTransactionsStatsQueryVariables = Exact<{ - startDate: Scalars['DateTime']['input']; - endDate: Scalars['DateTime']['input']; +export type GetAccountByIdQueryVariables = Exact<{ + id: Scalars['String']['input']; + limit: Scalars['Int']['input']; }>; -export type GetTransactionsStatsQuery = { +export type GetAccountByIdQuery = { __typename?: 'Query'; - last24Hour: { __typename?: 'TransfersConnection'; totalCount: number }; - allTime: { __typename?: 'TransfersConnection'; totalCount: number }; -}; - -export type GetTransactionByHashQueryVariables = Exact<{ + account?: { + __typename?: 'Account'; + id: string; + free: any; + frozen: any; + reserved: any; + } | null; + transactions: { + __typename?: 'TransfersConnection'; + totalCount: number; + edges: Array<{ + __typename?: 'TransferEdge'; + node: { + __typename?: 'Transfer'; + fee: any; + extrinsicHash?: string | null; + amount: any; + timestamp: any; + block: { __typename?: 'Block'; height: number }; + from: { __typename?: 'Account'; id: string }; + to: { __typename?: 'Account'; id: string }; + }; + }>; + }; + reversibleTransactions: { + __typename?: 'ReversibleTransfersConnection'; + totalCount: number; + edges: Array<{ + __typename?: 'ReversibleTransferEdge'; + node: { + __typename?: 'ReversibleTransfer'; + extrinsicHash?: string | null; + timestamp: any; + status: ReversibleTransferStatus; + amount: any; + block: { __typename?: 'Block'; height: number }; + from: { __typename?: 'Account'; id: string }; + to: { __typename?: 'Account'; id: string }; + }; + }>; + }; + minerRewards: { + __typename?: 'MinerRewardsConnection'; + totalCount: number; + edges: Array<{ + __typename?: 'MinerRewardEdge'; + node: { + __typename?: 'MinerReward'; + reward: any; + timestamp: any; + block: { __typename?: 'Block'; height: number; hash: string }; + miner: { __typename?: 'Account'; id: string }; + }; + }>; + }; + guardian: { + __typename?: 'HighSecuritySetsConnection'; + totalCount: number; + edges: Array<{ + __typename?: 'HighSecuritySetEdge'; + node: { + __typename?: 'HighSecuritySet'; + interceptor: { + __typename?: 'Account'; + id: string; + free: any; + frozen: any; + reserved: any; + }; + }; + }>; + }; + beneficiaries: { + __typename?: 'HighSecuritySetsConnection'; + totalCount: number; + edges: Array<{ + __typename?: 'HighSecuritySetEdge'; + node: { + __typename?: 'HighSecuritySet'; + who: { + __typename?: 'Account'; + id: string; + free: any; + frozen: any; + reserved: any; + }; + }; + }>; + }; +}; + +export type GetAccountsStatsQueryVariables = Exact<{ + startDate: Scalars['DateTime']['input']; + endDate: Scalars['DateTime']['input']; +}>; + +export type GetAccountsStatsQuery = { + __typename?: 'Query'; + all: { __typename?: 'AccountsConnection'; totalCount: number }; + recentlyActive: { __typename?: 'AccountsConnection'; totalCount: number }; + recentlyDeposited: { __typename?: 'AccountsConnection'; totalCount: number }; +}; + +export type GetBlocksQueryVariables = Exact<{ + limit?: InputMaybe; + offset?: InputMaybe; + orderBy: Array | BlockOrderByInput; + where?: InputMaybe; +}>; + +export type GetBlocksQuery = { + __typename?: 'Query'; + blocks: Array<{ + __typename?: 'Block'; + id: string; + hash: string; + height: number; + reward: any; + timestamp: any; + }>; + meta: { __typename?: 'BlocksConnection'; totalCount: number }; +}; + +export type GetRecentBlocksQueryVariables = Exact<{ + limit?: InputMaybe; + offset?: InputMaybe; + orderBy?: InputMaybe | BlockOrderByInput>; +}>; + +export type GetRecentBlocksQuery = { + __typename?: 'Query'; + blocks: Array<{ + __typename?: 'Block'; + id: string; + hash: string; + height: number; + reward: any; + timestamp: any; + }>; +}; + +export type GetBlockByIdQueryVariables = Exact<{ + height: Scalars['Int']['input']; hash: Scalars['String']['input']; + limit: Scalars['Int']['input']; }>; -export type GetTransactionByHashQuery = { +export type GetBlockByIdQuery = { __typename?: 'Query'; - transactions: Array<{ - __typename?: 'Transfer'; - fee: any; + blocks: Array<{ + __typename?: 'Block'; + id: string; + hash: string; + height: number; + reward: any; + timestamp: any; + }>; + miners: Array<{ + __typename?: 'MinerReward'; + miner: { __typename?: 'Account'; id: string }; + }>; + transactions: { + __typename?: 'TransfersConnection'; + totalCount: number; + edges: Array<{ + __typename?: 'TransferEdge'; + node: { + __typename?: 'Transfer'; + fee: any; + extrinsicHash?: string | null; + amount: any; + timestamp: any; + block: { __typename?: 'Block'; height: number }; + from: { __typename?: 'Account'; id: string }; + to: { __typename?: 'Account'; id: string }; + }; + }>; + }; + reversibleTransactions: { + __typename?: 'ReversibleTransfersConnection'; + totalCount: number; + edges: Array<{ + __typename?: 'ReversibleTransferEdge'; + node: { + __typename?: 'ReversibleTransfer'; + extrinsicHash?: string | null; + timestamp: any; + status: ReversibleTransferStatus; + amount: any; + block: { __typename?: 'Block'; height: number }; + from: { __typename?: 'Account'; id: string }; + to: { __typename?: 'Account'; id: string }; + }; + }>; + }; + highSecuritySets: { + __typename?: 'HighSecuritySetsConnection'; + totalCount: number; + edges: Array<{ + __typename?: 'HighSecuritySetEdge'; + node: { + __typename?: 'HighSecuritySet'; + extrinsicHash?: string | null; + timestamp: any; + delay: any; + block: { __typename?: 'Block'; height: number }; + who: { __typename?: 'Account'; id: string }; + interceptor: { __typename?: 'Account'; id: string }; + }; + }>; + }; + errorEvents: { + __typename?: 'ErrorEventsConnection'; + totalCount: number; + edges: Array<{ + __typename?: 'ErrorEventEdge'; + node: { + __typename?: 'ErrorEvent'; + errorDocs?: string | null; + errorModule?: string | null; + errorName?: string | null; + errorType: string; + extrinsicHash?: string | null; + timestamp: any; + block: { __typename?: 'Block'; height: number }; + }; + }>; + }; +}; + +export type GetStatusQueryVariables = Exact<{ + beginningDate: Scalars['DateTime']['input']; + todayDate: Scalars['DateTime']['input']; + endDate: Scalars['DateTime']['input']; +}>; + +export type GetStatusQuery = { + __typename?: 'Query'; + transactions: { __typename?: 'TransfersConnection'; totalCount: number }; + reversibleTransactions: { + __typename?: 'ReversibleTransfersConnection'; + totalCount: number; + }; + status?: { + __typename?: 'SquidStatus'; + hash?: string | null; + height?: number | null; + finalizedHeight?: number | null; + finalizedHash?: string | null; + } | null; + minedBlocks24Hours: { __typename?: 'BlocksConnection'; totalCount: number }; + allActiveAccounts: { __typename?: 'AccountsConnection'; totalCount: number }; + allDepositAccounts: { __typename?: 'AccountsConnection'; totalCount: number }; +}; + +export type GetErrorEventsQueryVariables = Exact<{ + limit?: InputMaybe; + offset?: InputMaybe; + orderBy?: InputMaybe | ErrorEventOrderByInput>; + where?: InputMaybe; +}>; + +export type GetErrorEventsQuery = { + __typename?: 'Query'; + errorEvents: Array<{ + __typename?: 'ErrorEvent'; + errorDocs?: string | null; + errorModule?: string | null; + errorName?: string | null; + errorType: string; extrinsicHash?: string | null; - amount: any; + id: string; timestamp: any; block: { __typename?: 'Block'; height: number }; - from: { __typename?: 'Account'; id: string }; - to: { __typename?: 'Account'; id: string }; }>; + meta: { __typename?: 'ErrorEventsConnection'; totalCount: number }; }; -export const GetAccountsDocument = { +export type GetRecentErrorEventsQueryVariables = Exact<{ + limit?: InputMaybe; + offset?: InputMaybe; + orderBy?: InputMaybe | ErrorEventOrderByInput>; + where?: InputMaybe; +}>; + +export type GetRecentErrorEventsQuery = { + __typename?: 'Query'; + errorEvents: Array<{ + __typename?: 'ErrorEvent'; + errorDocs?: string | null; + errorModule?: string | null; + errorName?: string | null; + errorType: string; + extrinsicHash?: string | null; + id: string; + timestamp: any; + block: { __typename?: 'Block'; height: number }; + }>; +}; + +export type GetErrorEventsStatsQueryVariables = Exact<{ + startDate: Scalars['DateTime']['input']; + endDate: Scalars['DateTime']['input']; +}>; + +export type GetErrorEventsStatsQuery = { + __typename?: 'Query'; + last24Hour: { __typename?: 'ErrorEventsConnection'; totalCount: number }; + allTime: { __typename?: 'ErrorEventsConnection'; totalCount: number }; +}; + +export type GetErrorEventByHashQueryVariables = Exact<{ + hash: Scalars['String']['input']; +}>; + +export type GetErrorEventByHashQuery = { + __typename?: 'Query'; + errorEvents: Array<{ + __typename?: 'ErrorEvent'; + errorDocs?: string | null; + errorModule?: string | null; + errorName?: string | null; + errorType: string; + extrinsicHash?: string | null; + id: string; + timestamp: any; + block: { __typename?: 'Block'; height: number }; + }>; +}; + +export type GetHighSecuritySetsQueryVariables = Exact<{ + limit?: InputMaybe; + offset?: InputMaybe; + orderBy?: InputMaybe< + Array | HighSecuritySetOrderByInput + >; + where?: InputMaybe; +}>; + +export type GetHighSecuritySetsQuery = { + __typename?: 'Query'; + highSecuritySets: Array<{ + __typename?: 'HighSecuritySet'; + id: string; + extrinsicHash?: string | null; + timestamp: any; + delay: any; + who: { __typename?: 'Account'; id: string }; + interceptor: { __typename?: 'Account'; id: string }; + block: { __typename?: 'Block'; height: number }; + }>; + meta: { __typename?: 'HighSecuritySetsConnection'; totalCount: number }; +}; + +export type GetRecentHighSecuritySetsQueryVariables = Exact<{ + limit?: InputMaybe; + offset?: InputMaybe; + orderBy?: InputMaybe< + Array | HighSecuritySetOrderByInput + >; + where?: InputMaybe; +}>; + +export type GetRecentHighSecuritySetsQuery = { + __typename?: 'Query'; + highSecuritySets: Array<{ + __typename?: 'HighSecuritySet'; + id: string; + extrinsicHash?: string | null; + timestamp: any; + delay: any; + who: { __typename?: 'Account'; id: string }; + interceptor: { __typename?: 'Account'; id: string }; + block: { __typename?: 'Block'; height: number }; + }>; +}; + +export type GetHighSecuritySetsStatsQueryVariables = Exact<{ + startDate: Scalars['DateTime']['input']; + endDate: Scalars['DateTime']['input']; +}>; + +export type GetHighSecuritySetsStatsQuery = { + __typename?: 'Query'; + last24Hour: { __typename?: 'HighSecuritySetsConnection'; totalCount: number }; + allTime: { __typename?: 'HighSecuritySetsConnection'; totalCount: number }; +}; + +export type GetHighSecuritySetByHashQueryVariables = Exact<{ + hash: Scalars['String']['input']; +}>; + +export type GetHighSecuritySetByHashQuery = { + __typename?: 'Query'; + highSecuritySets: Array<{ + __typename?: 'HighSecuritySet'; + id: string; + extrinsicHash?: string | null; + timestamp: any; + delay: any; + who: { __typename?: 'Account'; id: string }; + interceptor: { __typename?: 'Account'; id: string }; + block: { __typename?: 'Block'; height: number }; + }>; +}; + +export type GetMinerLeaderboardQueryVariables = Exact<{ + limit?: InputMaybe; + offset?: InputMaybe; +}>; + +export type GetMinerLeaderboardQuery = { + __typename?: 'Query'; + leaderboardEntries: Array<{ + __typename?: 'MinerStats'; + id: string; + totalMinedBlocks: number; + totalRewards: any; + }>; + meta: { __typename?: 'MinerStatsConnection'; totalCount: number }; +}; + +export type GetMinerRewardsQueryVariables = Exact<{ + limit?: InputMaybe; + offset?: InputMaybe; + orderBy?: InputMaybe< + Array | MinerRewardOrderByInput + >; + where?: InputMaybe; +}>; + +export type GetMinerRewardsQuery = { + __typename?: 'Query'; + minerRewards: Array<{ + __typename?: 'MinerReward'; + reward: any; + timestamp: any; + block: { __typename?: 'Block'; height: number; hash: string }; + miner: { __typename?: 'Account'; id: string }; + }>; + meta: { __typename?: 'MinerRewardsConnection'; totalCount: number }; +}; + +export type GetRecentMinerRewardsQueryVariables = Exact<{ + limit?: InputMaybe; + offset?: InputMaybe; + orderBy?: InputMaybe< + Array | MinerRewardOrderByInput + >; + where?: InputMaybe; +}>; + +export type GetRecentMinerRewardsQuery = { + __typename?: 'Query'; + minerRewards: Array<{ + __typename?: 'MinerReward'; + reward: any; + timestamp: any; + block: { __typename?: 'Block'; height: number; hash: string }; + miner: { __typename?: 'Account'; id: string }; + }>; +}; + +export type GetMinerRewardsStatsQueryVariables = Exact<{ + startDate: Scalars['DateTime']['input']; + endDate: Scalars['DateTime']['input']; +}>; + +export type GetMinerRewardsStatsQuery = { + __typename?: 'Query'; + last24Hour: { __typename?: 'MinerRewardsConnection'; totalCount: number }; + allTime: { __typename?: 'MinerRewardsConnection'; totalCount: number }; +}; + +export type GetMinerRewardByHashQueryVariables = Exact<{ + hash: Scalars['String']['input']; +}>; + +export type GetMinerRewardByHashQuery = { + __typename?: 'Query'; + minerRewards: Array<{ + __typename?: 'MinerReward'; + reward: any; + timestamp: any; + block: { __typename?: 'Block'; height: number; hash: string }; + miner: { __typename?: 'Account'; id: string }; + }>; +}; + +export type GetReversibleTransactionsQueryVariables = Exact<{ + limit?: InputMaybe; + offset?: InputMaybe; + orderBy?: InputMaybe< + Array | ReversibleTransferOrderByInput + >; + where?: InputMaybe; +}>; + +export type GetReversibleTransactionsQuery = { + __typename?: 'Query'; + reversibleTransactions: Array<{ + __typename?: 'ReversibleTransfer'; + extrinsicHash?: string | null; + amount: any; + timestamp: any; + status: ReversibleTransferStatus; + block: { __typename?: 'Block'; height: number }; + from: { __typename?: 'Account'; id: string }; + to: { __typename?: 'Account'; id: string }; + }>; + meta: { __typename?: 'ReversibleTransfersConnection'; totalCount: number }; +}; + +export type GetRecentReversibleTransactionsQueryVariables = Exact<{ + limit?: InputMaybe; + offset?: InputMaybe; + orderBy?: InputMaybe< + Array | ReversibleTransferOrderByInput + >; +}>; + +export type GetRecentReversibleTransactionsQuery = { + __typename?: 'Query'; + reversibleTransactions: Array<{ + __typename?: 'ReversibleTransfer'; + extrinsicHash?: string | null; + amount: any; + timestamp: any; + status: ReversibleTransferStatus; + block: { __typename?: 'Block'; height: number }; + from: { __typename?: 'Account'; id: string }; + to: { __typename?: 'Account'; id: string }; + }>; +}; + +export type GetReversibleTransactionsStatsQueryVariables = Exact<{ + startDate: Scalars['DateTime']['input']; + endDate: Scalars['DateTime']['input']; +}>; + +export type GetReversibleTransactionsStatsQuery = { + __typename?: 'Query'; + last24Hour: { + __typename?: 'ReversibleTransfersConnection'; + totalCount: number; + }; + allTime: { __typename?: 'ReversibleTransfersConnection'; totalCount: number }; +}; + +export type GetReversibleTransactionByHashQueryVariables = Exact<{ + hash: Scalars['String']['input']; +}>; + +export type GetReversibleTransactionByHashQuery = { + __typename?: 'Query'; + reversibleTransactions: Array<{ + __typename?: 'ReversibleTransfer'; + fee: any; + amount: any; + extrinsicHash?: string | null; + txId: string; + scheduledAt: any; + timestamp: any; + status: ReversibleTransferStatus; + block: { __typename?: 'Block'; height: number }; + from: { __typename?: 'Account'; id: string }; + to: { __typename?: 'Account'; id: string }; + }>; +}; + +export type GetReversibleTransactionStatusByHashQueryVariables = Exact<{ + hash: Scalars['String']['input']; +}>; + +export type GetReversibleTransactionStatusByHashQuery = { + __typename?: 'Query'; + reversibleTransactions: Array<{ + __typename?: 'ReversibleTransfer'; + status: ReversibleTransferStatus; + }>; +}; + +export type SearchAllQueryVariables = Exact<{ + keyword?: InputMaybe; + keyword_number?: InputMaybe; + limit?: InputMaybe; +}>; + +export type SearchAllQuery = { + __typename?: 'Query'; + transactions: Array<{ + __typename?: 'Transfer'; + extrinsicHash?: string | null; + }>; + reversibleTransactions: Array<{ + __typename?: 'ReversibleTransfer'; + extrinsicHash?: string | null; + }>; + accounts: Array<{ __typename?: 'Account'; id: string }>; + blocks: Array<{ __typename?: 'Block'; height: number }>; + highSecuritySets: Array<{ + __typename?: 'HighSecuritySet'; + extrinsicHash?: string | null; + }>; + minerRewards: Array<{ + __typename?: 'MinerReward'; + reward: any; + timestamp: any; + block: { __typename?: 'Block'; height: number; hash: string }; + miner: { __typename?: 'Account'; id: string }; + }>; + errorEvents: Array<{ + __typename?: 'ErrorEvent'; + extrinsicHash?: string | null; + }>; +}; + +export type GetTransactionsQueryVariables = Exact<{ + limit?: InputMaybe; + offset?: InputMaybe; + orderBy?: InputMaybe | TransferOrderByInput>; + where?: InputMaybe; +}>; + +export type GetTransactionsQuery = { + __typename?: 'Query'; + transactions: Array<{ + __typename?: 'Transfer'; + fee: any; + extrinsicHash?: string | null; + amount: any; + timestamp: any; + block: { __typename?: 'Block'; height: number }; + from: { __typename?: 'Account'; id: string }; + to: { __typename?: 'Account'; id: string }; + }>; + meta: { __typename?: 'TransfersConnection'; totalCount: number }; +}; + +export type GetRecentTransactionsQueryVariables = Exact<{ + limit?: InputMaybe; + offset?: InputMaybe; + orderBy?: InputMaybe | TransferOrderByInput>; + where?: InputMaybe; +}>; + +export type GetRecentTransactionsQuery = { + __typename?: 'Query'; + transactions: Array<{ + __typename?: 'Transfer'; + fee: any; + extrinsicHash?: string | null; + amount: any; + timestamp: any; + block: { __typename?: 'Block'; height: number }; + from: { __typename?: 'Account'; id: string }; + to: { __typename?: 'Account'; id: string }; + }>; +}; + +export type GetTransactionsStatsQueryVariables = Exact<{ + startDate: Scalars['DateTime']['input']; + endDate: Scalars['DateTime']['input']; +}>; + +export type GetTransactionsStatsQuery = { + __typename?: 'Query'; + last24Hour: { __typename?: 'TransfersConnection'; totalCount: number }; + allTime: { __typename?: 'TransfersConnection'; totalCount: number }; +}; + +export type GetTransactionByHashQueryVariables = Exact<{ + hash: Scalars['String']['input']; +}>; + +export type GetTransactionByHashQuery = { + __typename?: 'Query'; + transactions: Array<{ + __typename?: 'Transfer'; + fee: any; + extrinsicHash?: string | null; + amount: any; + timestamp: any; + block: { __typename?: 'Block'; height: number }; + from: { __typename?: 'Account'; id: string }; + to: { __typename?: 'Account'; id: string }; + }>; +}; + +export type GetWormholeExtrinsicsQueryVariables = Exact<{ + limit?: InputMaybe; + offset?: InputMaybe; + orderBy: Array | WormholeExtrinsicOrderByInput; + where?: InputMaybe; +}>; + +export type GetWormholeExtrinsicsQuery = { + __typename?: 'Query'; + wormholeExtrinsics: Array<{ + __typename?: 'WormholeExtrinsic'; + id: string; + extrinsicHash?: string | null; + totalAmount: any; + outputCount: number; + timestamp: any; + privacyScore: number; + privacyLabel: string; + block: { __typename?: 'Block'; height: number }; + }>; + meta: { __typename?: 'WormholeExtrinsicsConnection'; totalCount: number }; +}; + +export type GetWormholeExtrinsicByIdQueryVariables = Exact<{ + id: Scalars['String']['input']; +}>; + +export type GetWormholeExtrinsicByIdQuery = { + __typename?: 'Query'; + wormholeExtrinsicById?: { + __typename?: 'WormholeExtrinsic'; + id: string; + extrinsicHash?: string | null; + totalAmount: any; + outputCount: number; + timestamp: any; + privacyScore: number; + privacyScore01Pct: number; + privacyScore1Pct: number; + privacyScore5Pct: number; + privacyLabel: string; + poolSnapshot: string; + block: { + __typename?: 'Block'; + id: string; + height: number; + hash: string; + timestamp: any; + }; + outputs: Array<{ + __typename?: 'WormholeOutput'; + id: string; + amount: any; + exitAccount: { __typename?: 'Account'; id: string }; + }>; + } | null; + wormholeNullifiers: Array<{ + __typename?: 'WormholeNullifier'; + nullifier: string; + nullifierHash: string; + }>; +}; + +export type GetDepositPoolStatsQueryVariables = Exact<{ [key: string]: never }>; + +export type GetDepositPoolStatsQuery = { + __typename?: 'Query'; + depositPoolStatsById?: { + __typename?: 'DepositPoolStats'; + lastUpdatedBlock: number; + buckets: string; + } | null; +}; + +export const GetAccountsDocument = { + kind: 'Document', + definitions: [ + { + kind: 'OperationDefinition', + operation: 'query', + name: { kind: 'Name', value: 'GetAccounts' }, + variableDefinitions: [ + { + kind: 'VariableDefinition', + variable: { + kind: 'Variable', + name: { kind: 'Name', value: 'limit' } + }, + type: { kind: 'NamedType', name: { kind: 'Name', value: 'Int' } } + }, + { + kind: 'VariableDefinition', + variable: { + kind: 'Variable', + name: { kind: 'Name', value: 'offset' } + }, + type: { kind: 'NamedType', name: { kind: 'Name', value: 'Int' } } + }, + { + kind: 'VariableDefinition', + variable: { + kind: 'Variable', + name: { kind: 'Name', value: 'orderBy' } + }, + type: { + kind: 'ListType', + type: { + kind: 'NonNullType', + type: { + kind: 'NamedType', + name: { kind: 'Name', value: 'AccountOrderByInput' } + } + } + } + } + ], + selectionSet: { + kind: 'SelectionSet', + selections: [ + { + kind: 'Field', + name: { kind: 'Name', value: 'accounts' }, + arguments: [ + { + kind: 'Argument', + name: { kind: 'Name', value: 'limit' }, + value: { + kind: 'Variable', + name: { kind: 'Name', value: 'limit' } + } + }, + { + kind: 'Argument', + name: { kind: 'Name', value: 'offset' }, + value: { + kind: 'Variable', + name: { kind: 'Name', value: 'offset' } + } + }, + { + kind: 'Argument', + name: { kind: 'Name', value: 'orderBy' }, + value: { + kind: 'Variable', + name: { kind: 'Name', value: 'orderBy' } + } + } + ], + selectionSet: { + kind: 'SelectionSet', + selections: [ + { kind: 'Field', name: { kind: 'Name', value: 'id' } }, + { kind: 'Field', name: { kind: 'Name', value: 'free' } }, + { kind: 'Field', name: { kind: 'Name', value: 'frozen' } }, + { kind: 'Field', name: { kind: 'Name', value: 'reserved' } } + ] + } + }, + { + kind: 'Field', + alias: { kind: 'Name', value: 'meta' }, + name: { kind: 'Name', value: 'accountsConnection' }, + arguments: [ + { + kind: 'Argument', + name: { kind: 'Name', value: 'orderBy' }, + value: { kind: 'EnumValue', value: 'id_ASC' } + } + ], + selectionSet: { + kind: 'SelectionSet', + selections: [ + { kind: 'Field', name: { kind: 'Name', value: 'totalCount' } } + ] + } + } + ] + } + } + ] +} as unknown as DocumentNode; +export const GetAccountByIdDocument = { + kind: 'Document', + definitions: [ + { + kind: 'OperationDefinition', + operation: 'query', + name: { kind: 'Name', value: 'GetAccountById' }, + variableDefinitions: [ + { + kind: 'VariableDefinition', + variable: { kind: 'Variable', name: { kind: 'Name', value: 'id' } }, + type: { + kind: 'NonNullType', + type: { kind: 'NamedType', name: { kind: 'Name', value: 'String' } } + } + }, + { + kind: 'VariableDefinition', + variable: { + kind: 'Variable', + name: { kind: 'Name', value: 'limit' } + }, + type: { + kind: 'NonNullType', + type: { kind: 'NamedType', name: { kind: 'Name', value: 'Int' } } + } + } + ], + selectionSet: { + kind: 'SelectionSet', + selections: [ + { + kind: 'Field', + alias: { kind: 'Name', value: 'account' }, + name: { kind: 'Name', value: 'accountById' }, + arguments: [ + { + kind: 'Argument', + name: { kind: 'Name', value: 'id' }, + value: { kind: 'Variable', name: { kind: 'Name', value: 'id' } } + } + ], + selectionSet: { + kind: 'SelectionSet', + selections: [ + { kind: 'Field', name: { kind: 'Name', value: 'id' } }, + { kind: 'Field', name: { kind: 'Name', value: 'free' } }, + { kind: 'Field', name: { kind: 'Name', value: 'frozen' } }, + { kind: 'Field', name: { kind: 'Name', value: 'reserved' } } + ] + } + }, + { + kind: 'Field', + alias: { kind: 'Name', value: 'transactions' }, + name: { kind: 'Name', value: 'transfersConnection' }, + arguments: [ + { + kind: 'Argument', + name: { kind: 'Name', value: 'orderBy' }, + value: { kind: 'EnumValue', value: 'timestamp_DESC' } + }, + { + kind: 'Argument', + name: { kind: 'Name', value: 'first' }, + value: { + kind: 'Variable', + name: { kind: 'Name', value: 'limit' } + } + }, + { + kind: 'Argument', + name: { kind: 'Name', value: 'where' }, + value: { + kind: 'ObjectValue', + fields: [ + { + kind: 'ObjectField', + name: { kind: 'Name', value: 'extrinsicHash_isNull' }, + value: { kind: 'BooleanValue', value: false } + }, + { + kind: 'ObjectField', + name: { kind: 'Name', value: 'AND' }, + value: { + kind: 'ObjectValue', + fields: [ + { + kind: 'ObjectField', + name: { kind: 'Name', value: 'from' }, + value: { + kind: 'ObjectValue', + fields: [ + { + kind: 'ObjectField', + name: { kind: 'Name', value: 'id_eq' }, + value: { + kind: 'Variable', + name: { kind: 'Name', value: 'id' } + } + } + ] + } + }, + { + kind: 'ObjectField', + name: { kind: 'Name', value: 'OR' }, + value: { + kind: 'ObjectValue', + fields: [ + { + kind: 'ObjectField', + name: { kind: 'Name', value: 'to' }, + value: { + kind: 'ObjectValue', + fields: [ + { + kind: 'ObjectField', + name: { kind: 'Name', value: 'id_eq' }, + value: { + kind: 'Variable', + name: { kind: 'Name', value: 'id' } + } + } + ] + } + } + ] + } + } + ] + } + } + ] + } + } + ], + selectionSet: { + kind: 'SelectionSet', + selections: [ + { + kind: 'Field', + name: { kind: 'Name', value: 'edges' }, + selectionSet: { + kind: 'SelectionSet', + selections: [ + { + kind: 'Field', + name: { kind: 'Name', value: 'node' }, + selectionSet: { + kind: 'SelectionSet', + selections: [ + { + kind: 'Field', + name: { kind: 'Name', value: 'fee' } + }, + { + kind: 'Field', + name: { kind: 'Name', value: 'extrinsicHash' } + }, + { + kind: 'Field', + name: { kind: 'Name', value: 'block' }, + selectionSet: { + kind: 'SelectionSet', + selections: [ + { + kind: 'Field', + name: { kind: 'Name', value: 'height' } + } + ] + } + }, + { + kind: 'Field', + name: { kind: 'Name', value: 'amount' } + }, + { + kind: 'Field', + name: { kind: 'Name', value: 'timestamp' } + }, + { + kind: 'Field', + name: { kind: 'Name', value: 'from' }, + selectionSet: { + kind: 'SelectionSet', + selections: [ + { + kind: 'Field', + name: { kind: 'Name', value: 'id' } + } + ] + } + }, + { + kind: 'Field', + name: { kind: 'Name', value: 'to' }, + selectionSet: { + kind: 'SelectionSet', + selections: [ + { + kind: 'Field', + name: { kind: 'Name', value: 'id' } + } + ] + } + } + ] + } + } + ] + } + }, + { kind: 'Field', name: { kind: 'Name', value: 'totalCount' } } + ] + } + }, + { + kind: 'Field', + alias: { kind: 'Name', value: 'reversibleTransactions' }, + name: { kind: 'Name', value: 'reversibleTransfersConnection' }, + arguments: [ + { + kind: 'Argument', + name: { kind: 'Name', value: 'orderBy' }, + value: { kind: 'EnumValue', value: 'timestamp_DESC' } + }, + { + kind: 'Argument', + name: { kind: 'Name', value: 'first' }, + value: { + kind: 'Variable', + name: { kind: 'Name', value: 'limit' } + } + }, + { + kind: 'Argument', + name: { kind: 'Name', value: 'where' }, + value: { + kind: 'ObjectValue', + fields: [ + { + kind: 'ObjectField', + name: { kind: 'Name', value: 'from' }, + value: { + kind: 'ObjectValue', + fields: [ + { + kind: 'ObjectField', + name: { kind: 'Name', value: 'id_eq' }, + value: { + kind: 'Variable', + name: { kind: 'Name', value: 'id' } + } + } + ] + } + }, + { + kind: 'ObjectField', + name: { kind: 'Name', value: 'OR' }, + value: { + kind: 'ObjectValue', + fields: [ + { + kind: 'ObjectField', + name: { kind: 'Name', value: 'to' }, + value: { + kind: 'ObjectValue', + fields: [ + { + kind: 'ObjectField', + name: { kind: 'Name', value: 'id_eq' }, + value: { + kind: 'Variable', + name: { kind: 'Name', value: 'id' } + } + } + ] + } + } + ] + } + } + ] + } + } + ], + selectionSet: { + kind: 'SelectionSet', + selections: [ + { + kind: 'Field', + name: { kind: 'Name', value: 'edges' }, + selectionSet: { + kind: 'SelectionSet', + selections: [ + { + kind: 'Field', + name: { kind: 'Name', value: 'node' }, + selectionSet: { + kind: 'SelectionSet', + selections: [ + { + kind: 'Field', + name: { kind: 'Name', value: 'extrinsicHash' } + }, + { + kind: 'Field', + name: { kind: 'Name', value: 'timestamp' } + }, + { + kind: 'Field', + name: { kind: 'Name', value: 'status' } + }, + { + kind: 'Field', + name: { kind: 'Name', value: 'amount' } + }, + { + kind: 'Field', + name: { kind: 'Name', value: 'block' }, + selectionSet: { + kind: 'SelectionSet', + selections: [ + { + kind: 'Field', + name: { kind: 'Name', value: 'height' } + } + ] + } + }, + { + kind: 'Field', + name: { kind: 'Name', value: 'from' }, + selectionSet: { + kind: 'SelectionSet', + selections: [ + { + kind: 'Field', + name: { kind: 'Name', value: 'id' } + } + ] + } + }, + { + kind: 'Field', + name: { kind: 'Name', value: 'to' }, + selectionSet: { + kind: 'SelectionSet', + selections: [ + { + kind: 'Field', + name: { kind: 'Name', value: 'id' } + } + ] + } + } + ] + } + } + ] + } + }, + { kind: 'Field', name: { kind: 'Name', value: 'totalCount' } } + ] + } + }, + { + kind: 'Field', + alias: { kind: 'Name', value: 'minerRewards' }, + name: { kind: 'Name', value: 'minerRewardsConnection' }, + arguments: [ + { + kind: 'Argument', + name: { kind: 'Name', value: 'orderBy' }, + value: { kind: 'EnumValue', value: 'timestamp_DESC' } + }, + { + kind: 'Argument', + name: { kind: 'Name', value: 'first' }, + value: { + kind: 'Variable', + name: { kind: 'Name', value: 'limit' } + } + }, + { + kind: 'Argument', + name: { kind: 'Name', value: 'where' }, + value: { + kind: 'ObjectValue', + fields: [ + { + kind: 'ObjectField', + name: { kind: 'Name', value: 'miner' }, + value: { + kind: 'ObjectValue', + fields: [ + { + kind: 'ObjectField', + name: { kind: 'Name', value: 'id_eq' }, + value: { + kind: 'Variable', + name: { kind: 'Name', value: 'id' } + } + } + ] + } + } + ] + } + } + ], + selectionSet: { + kind: 'SelectionSet', + selections: [ + { + kind: 'Field', + name: { kind: 'Name', value: 'edges' }, + selectionSet: { + kind: 'SelectionSet', + selections: [ + { + kind: 'Field', + name: { kind: 'Name', value: 'node' }, + selectionSet: { + kind: 'SelectionSet', + selections: [ + { + kind: 'Field', + name: { kind: 'Name', value: 'block' }, + selectionSet: { + kind: 'SelectionSet', + selections: [ + { + kind: 'Field', + name: { kind: 'Name', value: 'height' } + }, + { + kind: 'Field', + name: { kind: 'Name', value: 'hash' } + } + ] + } + }, + { + kind: 'Field', + name: { kind: 'Name', value: 'reward' } + }, + { + kind: 'Field', + name: { kind: 'Name', value: 'miner' }, + selectionSet: { + kind: 'SelectionSet', + selections: [ + { + kind: 'Field', + name: { kind: 'Name', value: 'id' } + } + ] + } + }, + { + kind: 'Field', + name: { kind: 'Name', value: 'timestamp' } + } + ] + } + } + ] + } + }, + { kind: 'Field', name: { kind: 'Name', value: 'totalCount' } } + ] + } + }, + { + kind: 'Field', + alias: { kind: 'Name', value: 'guardian' }, + name: { kind: 'Name', value: 'highSecuritySetsConnection' }, + arguments: [ + { + kind: 'Argument', + name: { kind: 'Name', value: 'orderBy' }, + value: { kind: 'EnumValue', value: 'timestamp_DESC' } + }, + { + kind: 'Argument', + name: { kind: 'Name', value: 'first' }, + value: { + kind: 'Variable', + name: { kind: 'Name', value: 'limit' } + } + }, + { + kind: 'Argument', + name: { kind: 'Name', value: 'where' }, + value: { + kind: 'ObjectValue', + fields: [ + { + kind: 'ObjectField', + name: { kind: 'Name', value: 'who' }, + value: { + kind: 'ObjectValue', + fields: [ + { + kind: 'ObjectField', + name: { kind: 'Name', value: 'id_eq' }, + value: { + kind: 'Variable', + name: { kind: 'Name', value: 'id' } + } + } + ] + } + } + ] + } + } + ], + selectionSet: { + kind: 'SelectionSet', + selections: [ + { + kind: 'Field', + name: { kind: 'Name', value: 'edges' }, + selectionSet: { + kind: 'SelectionSet', + selections: [ + { + kind: 'Field', + name: { kind: 'Name', value: 'node' }, + selectionSet: { + kind: 'SelectionSet', + selections: [ + { + kind: 'Field', + name: { kind: 'Name', value: 'interceptor' }, + selectionSet: { + kind: 'SelectionSet', + selections: [ + { + kind: 'Field', + name: { kind: 'Name', value: 'id' } + }, + { + kind: 'Field', + name: { kind: 'Name', value: 'free' } + }, + { + kind: 'Field', + name: { kind: 'Name', value: 'frozen' } + }, + { + kind: 'Field', + name: { kind: 'Name', value: 'reserved' } + } + ] + } + } + ] + } + } + ] + } + }, + { kind: 'Field', name: { kind: 'Name', value: 'totalCount' } } + ] + } + }, + { + kind: 'Field', + alias: { kind: 'Name', value: 'beneficiaries' }, + name: { kind: 'Name', value: 'highSecuritySetsConnection' }, + arguments: [ + { + kind: 'Argument', + name: { kind: 'Name', value: 'orderBy' }, + value: { kind: 'EnumValue', value: 'timestamp_DESC' } + }, + { + kind: 'Argument', + name: { kind: 'Name', value: 'first' }, + value: { + kind: 'Variable', + name: { kind: 'Name', value: 'limit' } + } + }, + { + kind: 'Argument', + name: { kind: 'Name', value: 'where' }, + value: { + kind: 'ObjectValue', + fields: [ + { + kind: 'ObjectField', + name: { kind: 'Name', value: 'interceptor' }, + value: { + kind: 'ObjectValue', + fields: [ + { + kind: 'ObjectField', + name: { kind: 'Name', value: 'id_eq' }, + value: { + kind: 'Variable', + name: { kind: 'Name', value: 'id' } + } + } + ] + } + } + ] + } + } + ], + selectionSet: { + kind: 'SelectionSet', + selections: [ + { + kind: 'Field', + name: { kind: 'Name', value: 'edges' }, + selectionSet: { + kind: 'SelectionSet', + selections: [ + { + kind: 'Field', + name: { kind: 'Name', value: 'node' }, + selectionSet: { + kind: 'SelectionSet', + selections: [ + { + kind: 'Field', + name: { kind: 'Name', value: 'who' }, + selectionSet: { + kind: 'SelectionSet', + selections: [ + { + kind: 'Field', + name: { kind: 'Name', value: 'id' } + }, + { + kind: 'Field', + name: { kind: 'Name', value: 'free' } + }, + { + kind: 'Field', + name: { kind: 'Name', value: 'frozen' } + }, + { + kind: 'Field', + name: { kind: 'Name', value: 'reserved' } + } + ] + } + } + ] + } + } + ] + } + }, + { kind: 'Field', name: { kind: 'Name', value: 'totalCount' } } + ] + } + } + ] + } + } + ] +} as unknown as DocumentNode; +export const GetAccountsStatsDocument = { + kind: 'Document', + definitions: [ + { + kind: 'OperationDefinition', + operation: 'query', + name: { kind: 'Name', value: 'GetAccountsStats' }, + variableDefinitions: [ + { + kind: 'VariableDefinition', + variable: { + kind: 'Variable', + name: { kind: 'Name', value: 'startDate' } + }, + type: { + kind: 'NonNullType', + type: { + kind: 'NamedType', + name: { kind: 'Name', value: 'DateTime' } + } + } + }, + { + kind: 'VariableDefinition', + variable: { + kind: 'Variable', + name: { kind: 'Name', value: 'endDate' } + }, + type: { + kind: 'NonNullType', + type: { + kind: 'NamedType', + name: { kind: 'Name', value: 'DateTime' } + } + } + } + ], + selectionSet: { + kind: 'SelectionSet', + selections: [ + { + kind: 'Field', + alias: { kind: 'Name', value: 'all' }, + name: { kind: 'Name', value: 'accountsConnection' }, + arguments: [ + { + kind: 'Argument', + name: { kind: 'Name', value: 'orderBy' }, + value: { kind: 'EnumValue', value: 'id_ASC' } + } + ], + selectionSet: { + kind: 'SelectionSet', + selections: [ + { kind: 'Field', name: { kind: 'Name', value: 'totalCount' } } + ] + } + }, + { + kind: 'Field', + alias: { kind: 'Name', value: 'recentlyActive' }, + name: { kind: 'Name', value: 'accountsConnection' }, + arguments: [ + { + kind: 'Argument', + name: { kind: 'Name', value: 'orderBy' }, + value: { kind: 'EnumValue', value: 'id_ASC' } + }, + { + kind: 'Argument', + name: { kind: 'Name', value: 'where' }, + value: { + kind: 'ObjectValue', + fields: [ + { + kind: 'ObjectField', + name: { kind: 'Name', value: 'transfersFrom_some' }, + value: { + kind: 'ObjectValue', + fields: [ + { + kind: 'ObjectField', + name: { kind: 'Name', value: 'timestamp_gte' }, + value: { + kind: 'Variable', + name: { kind: 'Name', value: 'startDate' } + } + }, + { + kind: 'ObjectField', + name: { kind: 'Name', value: 'timestamp_lte' }, + value: { + kind: 'Variable', + name: { kind: 'Name', value: 'endDate' } + } + } + ] + } + } + ] + } + } + ], + selectionSet: { + kind: 'SelectionSet', + selections: [ + { kind: 'Field', name: { kind: 'Name', value: 'totalCount' } } + ] + } + }, + { + kind: 'Field', + alias: { kind: 'Name', value: 'recentlyDeposited' }, + name: { kind: 'Name', value: 'accountsConnection' }, + arguments: [ + { + kind: 'Argument', + name: { kind: 'Name', value: 'orderBy' }, + value: { kind: 'EnumValue', value: 'id_ASC' } + }, + { + kind: 'Argument', + name: { kind: 'Name', value: 'where' }, + value: { + kind: 'ObjectValue', + fields: [ + { + kind: 'ObjectField', + name: { kind: 'Name', value: 'transfersTo_some' }, + value: { + kind: 'ObjectValue', + fields: [ + { + kind: 'ObjectField', + name: { kind: 'Name', value: 'timestamp_gte' }, + value: { + kind: 'Variable', + name: { kind: 'Name', value: 'startDate' } + } + }, + { + kind: 'ObjectField', + name: { kind: 'Name', value: 'timestamp_lte' }, + value: { + kind: 'Variable', + name: { kind: 'Name', value: 'endDate' } + } + } + ] + } + } + ] + } + } + ], + selectionSet: { + kind: 'SelectionSet', + selections: [ + { kind: 'Field', name: { kind: 'Name', value: 'totalCount' } } + ] + } + } + ] + } + } + ] +} as unknown as DocumentNode< + GetAccountsStatsQuery, + GetAccountsStatsQueryVariables +>; +export const GetBlocksDocument = { kind: 'Document', definitions: [ { kind: 'OperationDefinition', operation: 'query', - name: { kind: 'Name', value: 'GetAccounts' }, + name: { kind: 'Name', value: 'GetBlocks' }, variableDefinitions: [ { kind: 'VariableDefinition', @@ -3088,15 +5412,29 @@ export const GetAccountsDocument = { name: { kind: 'Name', value: 'orderBy' } }, type: { - kind: 'ListType', + kind: 'NonNullType', type: { - kind: 'NonNullType', + kind: 'ListType', type: { - kind: 'NamedType', - name: { kind: 'Name', value: 'AccountOrderByInput' } + kind: 'NonNullType', + type: { + kind: 'NamedType', + name: { kind: 'Name', value: 'BlockOrderByInput' } + } } } } + }, + { + kind: 'VariableDefinition', + variable: { + kind: 'Variable', + name: { kind: 'Name', value: 'where' } + }, + type: { + kind: 'NamedType', + name: { kind: 'Name', value: 'BlockWhereInput' } + } } ], selectionSet: { @@ -3104,7 +5442,7 @@ export const GetAccountsDocument = { selections: [ { kind: 'Field', - name: { kind: 'Name', value: 'accounts' }, + name: { kind: 'Name', value: 'blocks' }, arguments: [ { kind: 'Argument', @@ -3129,22 +5467,31 @@ export const GetAccountsDocument = { kind: 'Variable', name: { kind: 'Name', value: 'orderBy' } } + }, + { + kind: 'Argument', + name: { kind: 'Name', value: 'where' }, + value: { + kind: 'Variable', + name: { kind: 'Name', value: 'where' } + } } ], selectionSet: { kind: 'SelectionSet', selections: [ { kind: 'Field', name: { kind: 'Name', value: 'id' } }, - { kind: 'Field', name: { kind: 'Name', value: 'free' } }, - { kind: 'Field', name: { kind: 'Name', value: 'frozen' } }, - { kind: 'Field', name: { kind: 'Name', value: 'reserved' } } + { kind: 'Field', name: { kind: 'Name', value: 'hash' } }, + { kind: 'Field', name: { kind: 'Name', value: 'height' } }, + { kind: 'Field', name: { kind: 'Name', value: 'reward' } }, + { kind: 'Field', name: { kind: 'Name', value: 'timestamp' } } ] } }, { kind: 'Field', alias: { kind: 'Name', value: 'meta' }, - name: { kind: 'Name', value: 'accountsConnection' }, + name: { kind: 'Name', value: 'blocksConnection' }, arguments: [ { kind: 'Argument', @@ -3163,18 +5510,122 @@ export const GetAccountsDocument = { } } ] -} as unknown as DocumentNode; -export const GetAccountByIdDocument = { +} as unknown as DocumentNode; +export const GetRecentBlocksDocument = { kind: 'Document', definitions: [ { kind: 'OperationDefinition', operation: 'query', - name: { kind: 'Name', value: 'GetAccountById' }, + name: { kind: 'Name', value: 'GetRecentBlocks' }, variableDefinitions: [ { kind: 'VariableDefinition', - variable: { kind: 'Variable', name: { kind: 'Name', value: 'id' } }, + variable: { + kind: 'Variable', + name: { kind: 'Name', value: 'limit' } + }, + type: { kind: 'NamedType', name: { kind: 'Name', value: 'Int' } } + }, + { + kind: 'VariableDefinition', + variable: { + kind: 'Variable', + name: { kind: 'Name', value: 'offset' } + }, + type: { kind: 'NamedType', name: { kind: 'Name', value: 'Int' } } + }, + { + kind: 'VariableDefinition', + variable: { + kind: 'Variable', + name: { kind: 'Name', value: 'orderBy' } + }, + type: { + kind: 'ListType', + type: { + kind: 'NonNullType', + type: { + kind: 'NamedType', + name: { kind: 'Name', value: 'BlockOrderByInput' } + } + } + } + } + ], + selectionSet: { + kind: 'SelectionSet', + selections: [ + { + kind: 'Field', + name: { kind: 'Name', value: 'blocks' }, + arguments: [ + { + kind: 'Argument', + name: { kind: 'Name', value: 'limit' }, + value: { + kind: 'Variable', + name: { kind: 'Name', value: 'limit' } + } + }, + { + kind: 'Argument', + name: { kind: 'Name', value: 'offset' }, + value: { + kind: 'Variable', + name: { kind: 'Name', value: 'offset' } + } + }, + { + kind: 'Argument', + name: { kind: 'Name', value: 'orderBy' }, + value: { + kind: 'Variable', + name: { kind: 'Name', value: 'orderBy' } + } + } + ], + selectionSet: { + kind: 'SelectionSet', + selections: [ + { kind: 'Field', name: { kind: 'Name', value: 'id' } }, + { kind: 'Field', name: { kind: 'Name', value: 'hash' } }, + { kind: 'Field', name: { kind: 'Name', value: 'height' } }, + { kind: 'Field', name: { kind: 'Name', value: 'reward' } }, + { kind: 'Field', name: { kind: 'Name', value: 'timestamp' } } + ] + } + } + ] + } + } + ] +} as unknown as DocumentNode< + GetRecentBlocksQuery, + GetRecentBlocksQueryVariables +>; +export const GetBlockByIdDocument = { + kind: 'Document', + definitions: [ + { + kind: 'OperationDefinition', + operation: 'query', + name: { kind: 'Name', value: 'GetBlockById' }, + variableDefinitions: [ + { + kind: 'VariableDefinition', + variable: { + kind: 'Variable', + name: { kind: 'Name', value: 'height' } + }, + type: { + kind: 'NonNullType', + type: { kind: 'NamedType', name: { kind: 'Name', value: 'Int' } } + } + }, + { + kind: 'VariableDefinition', + variable: { kind: 'Variable', name: { kind: 'Name', value: 'hash' } }, type: { kind: 'NonNullType', type: { kind: 'NamedType', name: { kind: 'Name', value: 'String' } } @@ -3186,33 +5637,136 @@ export const GetAccountByIdDocument = { kind: 'Variable', name: { kind: 'Name', value: 'limit' } }, - type: { - kind: 'NonNullType', - type: { kind: 'NamedType', name: { kind: 'Name', value: 'Int' } } - } - } - ], - selectionSet: { - kind: 'SelectionSet', - selections: [ + type: { + kind: 'NonNullType', + type: { kind: 'NamedType', name: { kind: 'Name', value: 'Int' } } + } + } + ], + selectionSet: { + kind: 'SelectionSet', + selections: [ + { + kind: 'Field', + name: { kind: 'Name', value: 'blocks' }, + arguments: [ + { + kind: 'Argument', + name: { kind: 'Name', value: 'where' }, + value: { + kind: 'ObjectValue', + fields: [ + { + kind: 'ObjectField', + name: { kind: 'Name', value: 'height_eq' }, + value: { + kind: 'Variable', + name: { kind: 'Name', value: 'height' } + } + }, + { + kind: 'ObjectField', + name: { kind: 'Name', value: 'OR' }, + value: { + kind: 'ObjectValue', + fields: [ + { + kind: 'ObjectField', + name: { kind: 'Name', value: 'hash_eq' }, + value: { + kind: 'Variable', + name: { kind: 'Name', value: 'hash' } + } + } + ] + } + } + ] + } + } + ], + selectionSet: { + kind: 'SelectionSet', + selections: [ + { kind: 'Field', name: { kind: 'Name', value: 'id' } }, + { kind: 'Field', name: { kind: 'Name', value: 'hash' } }, + { kind: 'Field', name: { kind: 'Name', value: 'height' } }, + { kind: 'Field', name: { kind: 'Name', value: 'reward' } }, + { kind: 'Field', name: { kind: 'Name', value: 'timestamp' } } + ] + } + }, { kind: 'Field', - alias: { kind: 'Name', value: 'account' }, - name: { kind: 'Name', value: 'accountById' }, + alias: { kind: 'Name', value: 'miners' }, + name: { kind: 'Name', value: 'minerRewards' }, arguments: [ { kind: 'Argument', - name: { kind: 'Name', value: 'id' }, - value: { kind: 'Variable', name: { kind: 'Name', value: 'id' } } + name: { kind: 'Name', value: 'where' }, + value: { + kind: 'ObjectValue', + fields: [ + { + kind: 'ObjectField', + name: { kind: 'Name', value: 'block' }, + value: { + kind: 'ObjectValue', + fields: [ + { + kind: 'ObjectField', + name: { kind: 'Name', value: 'height_eq' }, + value: { + kind: 'Variable', + name: { kind: 'Name', value: 'height' } + } + } + ] + } + }, + { + kind: 'ObjectField', + name: { kind: 'Name', value: 'OR' }, + value: { + kind: 'ObjectValue', + fields: [ + { + kind: 'ObjectField', + name: { kind: 'Name', value: 'block' }, + value: { + kind: 'ObjectValue', + fields: [ + { + kind: 'ObjectField', + name: { kind: 'Name', value: 'hash_eq' }, + value: { + kind: 'Variable', + name: { kind: 'Name', value: 'hash' } + } + } + ] + } + } + ] + } + } + ] + } } ], selectionSet: { kind: 'SelectionSet', selections: [ - { kind: 'Field', name: { kind: 'Name', value: 'id' } }, - { kind: 'Field', name: { kind: 'Name', value: 'free' } }, - { kind: 'Field', name: { kind: 'Name', value: 'frozen' } }, - { kind: 'Field', name: { kind: 'Name', value: 'reserved' } } + { + kind: 'Field', + name: { kind: 'Name', value: 'miner' }, + selectionSet: { + kind: 'SelectionSet', + selections: [ + { kind: 'Field', name: { kind: 'Name', value: 'id' } } + ] + } + } ] } }, @@ -3253,16 +5807,16 @@ export const GetAccountByIdDocument = { fields: [ { kind: 'ObjectField', - name: { kind: 'Name', value: 'from' }, + name: { kind: 'Name', value: 'block' }, value: { kind: 'ObjectValue', fields: [ { kind: 'ObjectField', - name: { kind: 'Name', value: 'id_eq' }, + name: { kind: 'Name', value: 'height_eq' }, value: { kind: 'Variable', - name: { kind: 'Name', value: 'id' } + name: { kind: 'Name', value: 'height' } } } ] @@ -3276,16 +5830,19 @@ export const GetAccountByIdDocument = { fields: [ { kind: 'ObjectField', - name: { kind: 'Name', value: 'to' }, + name: { kind: 'Name', value: 'block' }, value: { kind: 'ObjectValue', fields: [ { kind: 'ObjectField', - name: { kind: 'Name', value: 'id_eq' }, + name: { + kind: 'Name', + value: 'hash_eq' + }, value: { kind: 'Variable', - name: { kind: 'Name', value: 'id' } + name: { kind: 'Name', value: 'hash' } } } ] @@ -3407,16 +5964,16 @@ export const GetAccountByIdDocument = { fields: [ { kind: 'ObjectField', - name: { kind: 'Name', value: 'from' }, + name: { kind: 'Name', value: 'block' }, value: { kind: 'ObjectValue', fields: [ { kind: 'ObjectField', - name: { kind: 'Name', value: 'id_eq' }, + name: { kind: 'Name', value: 'height_eq' }, value: { kind: 'Variable', - name: { kind: 'Name', value: 'id' } + name: { kind: 'Name', value: 'height' } } } ] @@ -3430,16 +5987,16 @@ export const GetAccountByIdDocument = { fields: [ { kind: 'ObjectField', - name: { kind: 'Name', value: 'to' }, + name: { kind: 'Name', value: 'block' }, value: { kind: 'ObjectValue', fields: [ { kind: 'ObjectField', - name: { kind: 'Name', value: 'id_eq' }, + name: { kind: 'Name', value: 'hash_eq' }, value: { kind: 'Variable', - name: { kind: 'Name', value: 'id' } + name: { kind: 'Name', value: 'hash' } } } ] @@ -3481,7 +6038,154 @@ export const GetAccountByIdDocument = { }, { kind: 'Field', - name: { kind: 'Name', value: 'amount' } + name: { kind: 'Name', value: 'amount' } + }, + { + kind: 'Field', + name: { kind: 'Name', value: 'block' }, + selectionSet: { + kind: 'SelectionSet', + selections: [ + { + kind: 'Field', + name: { kind: 'Name', value: 'height' } + } + ] + } + }, + { + kind: 'Field', + name: { kind: 'Name', value: 'from' }, + selectionSet: { + kind: 'SelectionSet', + selections: [ + { + kind: 'Field', + name: { kind: 'Name', value: 'id' } + } + ] + } + }, + { + kind: 'Field', + name: { kind: 'Name', value: 'to' }, + selectionSet: { + kind: 'SelectionSet', + selections: [ + { + kind: 'Field', + name: { kind: 'Name', value: 'id' } + } + ] + } + } + ] + } + } + ] + } + }, + { kind: 'Field', name: { kind: 'Name', value: 'totalCount' } } + ] + } + }, + { + kind: 'Field', + alias: { kind: 'Name', value: 'highSecuritySets' }, + name: { kind: 'Name', value: 'highSecuritySetsConnection' }, + arguments: [ + { + kind: 'Argument', + name: { kind: 'Name', value: 'orderBy' }, + value: { kind: 'EnumValue', value: 'timestamp_DESC' } + }, + { + kind: 'Argument', + name: { kind: 'Name', value: 'first' }, + value: { + kind: 'Variable', + name: { kind: 'Name', value: 'limit' } + } + }, + { + kind: 'Argument', + name: { kind: 'Name', value: 'where' }, + value: { + kind: 'ObjectValue', + fields: [ + { + kind: 'ObjectField', + name: { kind: 'Name', value: 'block' }, + value: { + kind: 'ObjectValue', + fields: [ + { + kind: 'ObjectField', + name: { kind: 'Name', value: 'height_eq' }, + value: { + kind: 'Variable', + name: { kind: 'Name', value: 'height' } + } + } + ] + } + }, + { + kind: 'ObjectField', + name: { kind: 'Name', value: 'OR' }, + value: { + kind: 'ObjectValue', + fields: [ + { + kind: 'ObjectField', + name: { kind: 'Name', value: 'block' }, + value: { + kind: 'ObjectValue', + fields: [ + { + kind: 'ObjectField', + name: { kind: 'Name', value: 'hash_eq' }, + value: { + kind: 'Variable', + name: { kind: 'Name', value: 'hash' } + } + } + ] + } + } + ] + } + } + ] + } + } + ], + selectionSet: { + kind: 'SelectionSet', + selections: [ + { + kind: 'Field', + name: { kind: 'Name', value: 'edges' }, + selectionSet: { + kind: 'SelectionSet', + selections: [ + { + kind: 'Field', + name: { kind: 'Name', value: 'node' }, + selectionSet: { + kind: 'SelectionSet', + selections: [ + { + kind: 'Field', + name: { kind: 'Name', value: 'extrinsicHash' } + }, + { + kind: 'Field', + name: { kind: 'Name', value: 'timestamp' } + }, + { + kind: 'Field', + name: { kind: 'Name', value: 'delay' } }, { kind: 'Field', @@ -3498,7 +6202,7 @@ export const GetAccountByIdDocument = { }, { kind: 'Field', - name: { kind: 'Name', value: 'from' }, + name: { kind: 'Name', value: 'who' }, selectionSet: { kind: 'SelectionSet', selections: [ @@ -3511,7 +6215,7 @@ export const GetAccountByIdDocument = { }, { kind: 'Field', - name: { kind: 'Name', value: 'to' }, + name: { kind: 'Name', value: 'interceptor' }, selectionSet: { kind: 'SelectionSet', selections: [ @@ -3534,8 +6238,8 @@ export const GetAccountByIdDocument = { }, { kind: 'Field', - alias: { kind: 'Name', value: 'minerRewards' }, - name: { kind: 'Name', value: 'minerRewardsConnection' }, + alias: { kind: 'Name', value: 'errorEvents' }, + name: { kind: 'Name', value: 'errorEventsConnection' }, arguments: [ { kind: 'Argument', @@ -3558,16 +6262,42 @@ export const GetAccountByIdDocument = { fields: [ { kind: 'ObjectField', - name: { kind: 'Name', value: 'miner' }, + name: { kind: 'Name', value: 'block' }, value: { kind: 'ObjectValue', fields: [ { kind: 'ObjectField', - name: { kind: 'Name', value: 'id_eq' }, + name: { kind: 'Name', value: 'height_eq' }, value: { kind: 'Variable', - name: { kind: 'Name', value: 'id' } + name: { kind: 'Name', value: 'height' } + } + } + ] + } + }, + { + kind: 'ObjectField', + name: { kind: 'Name', value: 'OR' }, + value: { + kind: 'ObjectValue', + fields: [ + { + kind: 'ObjectField', + name: { kind: 'Name', value: 'block' }, + value: { + kind: 'ObjectValue', + fields: [ + { + kind: 'ObjectField', + name: { kind: 'Name', value: 'hash_eq' }, + value: { + kind: 'Variable', + name: { kind: 'Name', value: 'hash' } + } + } + ] } } ] @@ -3594,41 +6324,40 @@ export const GetAccountByIdDocument = { selections: [ { kind: 'Field', - name: { kind: 'Name', value: 'block' }, - selectionSet: { - kind: 'SelectionSet', - selections: [ - { - kind: 'Field', - name: { kind: 'Name', value: 'height' } - }, - { - kind: 'Field', - name: { kind: 'Name', value: 'hash' } - } - ] - } + name: { kind: 'Name', value: 'errorDocs' } }, { kind: 'Field', - name: { kind: 'Name', value: 'reward' } + name: { kind: 'Name', value: 'errorModule' } }, { kind: 'Field', - name: { kind: 'Name', value: 'miner' }, + name: { kind: 'Name', value: 'errorName' } + }, + { + kind: 'Field', + name: { kind: 'Name', value: 'errorType' } + }, + { + kind: 'Field', + name: { kind: 'Name', value: 'extrinsicHash' } + }, + { + kind: 'Field', + name: { kind: 'Name', value: 'timestamp' } + }, + { + kind: 'Field', + name: { kind: 'Name', value: 'block' }, selectionSet: { kind: 'SelectionSet', selections: [ { kind: 'Field', - name: { kind: 'Name', value: 'id' } + name: { kind: 'Name', value: 'height' } } ] } - }, - { - kind: 'Field', - name: { kind: 'Name', value: 'timestamp' } } ] } @@ -3644,20 +6373,34 @@ export const GetAccountByIdDocument = { } } ] -} as unknown as DocumentNode; -export const GetAccountsStatsDocument = { +} as unknown as DocumentNode; +export const GetStatusDocument = { kind: 'Document', definitions: [ { kind: 'OperationDefinition', operation: 'query', - name: { kind: 'Name', value: 'GetAccountsStats' }, + name: { kind: 'Name', value: 'GetStatus' }, variableDefinitions: [ { kind: 'VariableDefinition', variable: { kind: 'Variable', - name: { kind: 'Name', value: 'startDate' } + name: { kind: 'Name', value: 'beginningDate' } + }, + type: { + kind: 'NonNullType', + type: { + kind: 'NamedType', + name: { kind: 'Name', value: 'DateTime' } + } + } + }, + { + kind: 'VariableDefinition', + variable: { + kind: 'Variable', + name: { kind: 'Name', value: 'todayDate' } }, type: { kind: 'NonNullType', @@ -3687,13 +6430,27 @@ export const GetAccountsStatsDocument = { selections: [ { kind: 'Field', - alias: { kind: 'Name', value: 'all' }, - name: { kind: 'Name', value: 'accountsConnection' }, + alias: { kind: 'Name', value: 'transactions' }, + name: { kind: 'Name', value: 'transfersConnection' }, arguments: [ { kind: 'Argument', name: { kind: 'Name', value: 'orderBy' }, value: { kind: 'EnumValue', value: 'id_ASC' } + }, + { + kind: 'Argument', + name: { kind: 'Name', value: 'where' }, + value: { + kind: 'ObjectValue', + fields: [ + { + kind: 'ObjectField', + name: { kind: 'Name', value: 'extrinsicHash_isNull' }, + value: { kind: 'BooleanValue', value: false } + } + ] + } } ], selectionSet: { @@ -3705,7 +6462,88 @@ export const GetAccountsStatsDocument = { }, { kind: 'Field', - alias: { kind: 'Name', value: 'recentlyActive' }, + alias: { kind: 'Name', value: 'reversibleTransactions' }, + name: { kind: 'Name', value: 'reversibleTransfersConnection' }, + arguments: [ + { + kind: 'Argument', + name: { kind: 'Name', value: 'orderBy' }, + value: { kind: 'EnumValue', value: 'id_ASC' } + } + ], + selectionSet: { + kind: 'SelectionSet', + selections: [ + { kind: 'Field', name: { kind: 'Name', value: 'totalCount' } } + ] + } + }, + { + kind: 'Field', + alias: { kind: 'Name', value: 'status' }, + name: { kind: 'Name', value: 'squidStatus' }, + selectionSet: { + kind: 'SelectionSet', + selections: [ + { kind: 'Field', name: { kind: 'Name', value: 'hash' } }, + { kind: 'Field', name: { kind: 'Name', value: 'height' } }, + { + kind: 'Field', + name: { kind: 'Name', value: 'finalizedHeight' } + }, + { + kind: 'Field', + name: { kind: 'Name', value: 'finalizedHash' } + } + ] + } + }, + { + kind: 'Field', + alias: { kind: 'Name', value: 'minedBlocks24Hours' }, + name: { kind: 'Name', value: 'blocksConnection' }, + arguments: [ + { + kind: 'Argument', + name: { kind: 'Name', value: 'orderBy' }, + value: { kind: 'EnumValue', value: 'id_ASC' } + }, + { + kind: 'Argument', + name: { kind: 'Name', value: 'where' }, + value: { + kind: 'ObjectValue', + fields: [ + { + kind: 'ObjectField', + name: { kind: 'Name', value: 'timestamp_gte' }, + value: { + kind: 'Variable', + name: { kind: 'Name', value: 'todayDate' } + } + }, + { + kind: 'ObjectField', + name: { kind: 'Name', value: 'timestamp_lte' }, + value: { + kind: 'Variable', + name: { kind: 'Name', value: 'endDate' } + } + } + ] + } + } + ], + selectionSet: { + kind: 'SelectionSet', + selections: [ + { kind: 'Field', name: { kind: 'Name', value: 'totalCount' } } + ] + } + }, + { + kind: 'Field', + alias: { kind: 'Name', value: 'allActiveAccounts' }, name: { kind: 'Name', value: 'accountsConnection' }, arguments: [ { @@ -3730,7 +6568,7 @@ export const GetAccountsStatsDocument = { name: { kind: 'Name', value: 'timestamp_gte' }, value: { kind: 'Variable', - name: { kind: 'Name', value: 'startDate' } + name: { kind: 'Name', value: 'beginningDate' } } }, { @@ -3757,7 +6595,7 @@ export const GetAccountsStatsDocument = { }, { kind: 'Field', - alias: { kind: 'Name', value: 'recentlyDeposited' }, + alias: { kind: 'Name', value: 'allDepositAccounts' }, name: { kind: 'Name', value: 'accountsConnection' }, arguments: [ { @@ -3782,7 +6620,7 @@ export const GetAccountsStatsDocument = { name: { kind: 'Name', value: 'timestamp_gte' }, value: { kind: 'Variable', - name: { kind: 'Name', value: 'startDate' } + name: { kind: 'Name', value: 'beginningDate' } } }, { @@ -3811,17 +6649,14 @@ export const GetAccountsStatsDocument = { } } ] -} as unknown as DocumentNode< - GetAccountsStatsQuery, - GetAccountsStatsQueryVariables ->; -export const GetBlocksDocument = { +} as unknown as DocumentNode; +export const GetErrorEventsDocument = { kind: 'Document', definitions: [ { kind: 'OperationDefinition', operation: 'query', - name: { kind: 'Name', value: 'GetBlocks' }, + name: { kind: 'Name', value: 'GetErrorEvents' }, variableDefinitions: [ { kind: 'VariableDefinition', @@ -3846,15 +6681,12 @@ export const GetBlocksDocument = { name: { kind: 'Name', value: 'orderBy' } }, type: { - kind: 'NonNullType', + kind: 'ListType', type: { - kind: 'ListType', + kind: 'NonNullType', type: { - kind: 'NonNullType', - type: { - kind: 'NamedType', - name: { kind: 'Name', value: 'BlockOrderByInput' } - } + kind: 'NamedType', + name: { kind: 'Name', value: 'ErrorEventOrderByInput' } } } } @@ -3867,7 +6699,7 @@ export const GetBlocksDocument = { }, type: { kind: 'NamedType', - name: { kind: 'Name', value: 'BlockWhereInput' } + name: { kind: 'Name', value: 'ErrorEventWhereInput' } } } ], @@ -3876,7 +6708,7 @@ export const GetBlocksDocument = { selections: [ { kind: 'Field', - name: { kind: 'Name', value: 'blocks' }, + name: { kind: 'Name', value: 'errorEvents' }, arguments: [ { kind: 'Argument', @@ -3914,23 +6746,46 @@ export const GetBlocksDocument = { selectionSet: { kind: 'SelectionSet', selections: [ + { kind: 'Field', name: { kind: 'Name', value: 'errorDocs' } }, + { kind: 'Field', name: { kind: 'Name', value: 'errorModule' } }, + { kind: 'Field', name: { kind: 'Name', value: 'errorName' } }, + { kind: 'Field', name: { kind: 'Name', value: 'errorType' } }, + { + kind: 'Field', + name: { kind: 'Name', value: 'extrinsicHash' } + }, { kind: 'Field', name: { kind: 'Name', value: 'id' } }, - { kind: 'Field', name: { kind: 'Name', value: 'hash' } }, - { kind: 'Field', name: { kind: 'Name', value: 'height' } }, - { kind: 'Field', name: { kind: 'Name', value: 'reward' } }, - { kind: 'Field', name: { kind: 'Name', value: 'timestamp' } } + { kind: 'Field', name: { kind: 'Name', value: 'timestamp' } }, + { + kind: 'Field', + name: { kind: 'Name', value: 'block' }, + selectionSet: { + kind: 'SelectionSet', + selections: [ + { kind: 'Field', name: { kind: 'Name', value: 'height' } } + ] + } + } ] } }, { kind: 'Field', alias: { kind: 'Name', value: 'meta' }, - name: { kind: 'Name', value: 'blocksConnection' }, + name: { kind: 'Name', value: 'errorEventsConnection' }, arguments: [ { kind: 'Argument', name: { kind: 'Name', value: 'orderBy' }, value: { kind: 'EnumValue', value: 'id_ASC' } + }, + { + kind: 'Argument', + name: { kind: 'Name', value: 'where' }, + value: { + kind: 'Variable', + name: { kind: 'Name', value: 'where' } + } } ], selectionSet: { @@ -3944,14 +6799,14 @@ export const GetBlocksDocument = { } } ] -} as unknown as DocumentNode; -export const GetRecentBlocksDocument = { +} as unknown as DocumentNode; +export const GetRecentErrorEventsDocument = { kind: 'Document', definitions: [ { kind: 'OperationDefinition', operation: 'query', - name: { kind: 'Name', value: 'GetRecentBlocks' }, + name: { kind: 'Name', value: 'GetRecentErrorEvents' }, variableDefinitions: [ { kind: 'VariableDefinition', @@ -3981,10 +6836,21 @@ export const GetRecentBlocksDocument = { kind: 'NonNullType', type: { kind: 'NamedType', - name: { kind: 'Name', value: 'BlockOrderByInput' } + name: { kind: 'Name', value: 'ErrorEventOrderByInput' } } } } + }, + { + kind: 'VariableDefinition', + variable: { + kind: 'Variable', + name: { kind: 'Name', value: 'where' } + }, + type: { + kind: 'NamedType', + name: { kind: 'Name', value: 'ErrorEventWhereInput' } + } } ], selectionSet: { @@ -3992,7 +6858,7 @@ export const GetRecentBlocksDocument = { selections: [ { kind: 'Field', - name: { kind: 'Name', value: 'blocks' }, + name: { kind: 'Name', value: 'errorEvents' }, arguments: [ { kind: 'Argument', @@ -4017,16 +6883,39 @@ export const GetRecentBlocksDocument = { kind: 'Variable', name: { kind: 'Name', value: 'orderBy' } } + }, + { + kind: 'Argument', + name: { kind: 'Name', value: 'where' }, + value: { + kind: 'Variable', + name: { kind: 'Name', value: 'where' } + } } ], selectionSet: { kind: 'SelectionSet', selections: [ + { kind: 'Field', name: { kind: 'Name', value: 'errorDocs' } }, + { kind: 'Field', name: { kind: 'Name', value: 'errorModule' } }, + { kind: 'Field', name: { kind: 'Name', value: 'errorName' } }, + { kind: 'Field', name: { kind: 'Name', value: 'errorType' } }, + { + kind: 'Field', + name: { kind: 'Name', value: 'extrinsicHash' } + }, { kind: 'Field', name: { kind: 'Name', value: 'id' } }, - { kind: 'Field', name: { kind: 'Name', value: 'hash' } }, - { kind: 'Field', name: { kind: 'Name', value: 'height' } }, - { kind: 'Field', name: { kind: 'Name', value: 'reward' } }, - { kind: 'Field', name: { kind: 'Name', value: 'timestamp' } } + { kind: 'Field', name: { kind: 'Name', value: 'timestamp' } }, + { + kind: 'Field', + name: { kind: 'Name', value: 'block' }, + selectionSet: { + kind: 'SelectionSet', + selections: [ + { kind: 'Field', name: { kind: 'Name', value: 'height' } } + ] + } + } ] } } @@ -4035,45 +6924,43 @@ export const GetRecentBlocksDocument = { } ] } as unknown as DocumentNode< - GetRecentBlocksQuery, - GetRecentBlocksQueryVariables + GetRecentErrorEventsQuery, + GetRecentErrorEventsQueryVariables >; -export const GetBlockByIdDocument = { +export const GetErrorEventsStatsDocument = { kind: 'Document', definitions: [ { kind: 'OperationDefinition', operation: 'query', - name: { kind: 'Name', value: 'GetBlockById' }, + name: { kind: 'Name', value: 'GetErrorEventsStats' }, variableDefinitions: [ { kind: 'VariableDefinition', variable: { kind: 'Variable', - name: { kind: 'Name', value: 'height' } + name: { kind: 'Name', value: 'startDate' } }, type: { kind: 'NonNullType', - type: { kind: 'NamedType', name: { kind: 'Name', value: 'Int' } } - } - }, - { - kind: 'VariableDefinition', - variable: { kind: 'Variable', name: { kind: 'Name', value: 'hash' } }, - type: { - kind: 'NonNullType', - type: { kind: 'NamedType', name: { kind: 'Name', value: 'String' } } + type: { + kind: 'NamedType', + name: { kind: 'Name', value: 'DateTime' } + } } }, { kind: 'VariableDefinition', variable: { kind: 'Variable', - name: { kind: 'Name', value: 'limit' } + name: { kind: 'Name', value: 'endDate' } }, type: { kind: 'NonNullType', - type: { kind: 'NamedType', name: { kind: 'Name', value: 'Int' } } + type: { + kind: 'NamedType', + name: { kind: 'Name', value: 'DateTime' } + } } } ], @@ -4082,145 +6969,13 @@ export const GetBlockByIdDocument = { selections: [ { kind: 'Field', - name: { kind: 'Name', value: 'blocks' }, - arguments: [ - { - kind: 'Argument', - name: { kind: 'Name', value: 'where' }, - value: { - kind: 'ObjectValue', - fields: [ - { - kind: 'ObjectField', - name: { kind: 'Name', value: 'height_eq' }, - value: { - kind: 'Variable', - name: { kind: 'Name', value: 'height' } - } - }, - { - kind: 'ObjectField', - name: { kind: 'Name', value: 'OR' }, - value: { - kind: 'ObjectValue', - fields: [ - { - kind: 'ObjectField', - name: { kind: 'Name', value: 'hash_eq' }, - value: { - kind: 'Variable', - name: { kind: 'Name', value: 'hash' } - } - } - ] - } - } - ] - } - } - ], - selectionSet: { - kind: 'SelectionSet', - selections: [ - { kind: 'Field', name: { kind: 'Name', value: 'id' } }, - { kind: 'Field', name: { kind: 'Name', value: 'hash' } }, - { kind: 'Field', name: { kind: 'Name', value: 'height' } }, - { kind: 'Field', name: { kind: 'Name', value: 'reward' } }, - { kind: 'Field', name: { kind: 'Name', value: 'timestamp' } } - ] - } - }, - { - kind: 'Field', - alias: { kind: 'Name', value: 'miners' }, - name: { kind: 'Name', value: 'minerRewards' }, - arguments: [ - { - kind: 'Argument', - name: { kind: 'Name', value: 'where' }, - value: { - kind: 'ObjectValue', - fields: [ - { - kind: 'ObjectField', - name: { kind: 'Name', value: 'block' }, - value: { - kind: 'ObjectValue', - fields: [ - { - kind: 'ObjectField', - name: { kind: 'Name', value: 'height_eq' }, - value: { - kind: 'Variable', - name: { kind: 'Name', value: 'height' } - } - } - ] - } - }, - { - kind: 'ObjectField', - name: { kind: 'Name', value: 'OR' }, - value: { - kind: 'ObjectValue', - fields: [ - { - kind: 'ObjectField', - name: { kind: 'Name', value: 'block' }, - value: { - kind: 'ObjectValue', - fields: [ - { - kind: 'ObjectField', - name: { kind: 'Name', value: 'hash_eq' }, - value: { - kind: 'Variable', - name: { kind: 'Name', value: 'hash' } - } - } - ] - } - } - ] - } - } - ] - } - } - ], - selectionSet: { - kind: 'SelectionSet', - selections: [ - { - kind: 'Field', - name: { kind: 'Name', value: 'miner' }, - selectionSet: { - kind: 'SelectionSet', - selections: [ - { kind: 'Field', name: { kind: 'Name', value: 'id' } } - ] - } - } - ] - } - }, - { - kind: 'Field', - alias: { kind: 'Name', value: 'transactions' }, - name: { kind: 'Name', value: 'transfersConnection' }, + alias: { kind: 'Name', value: 'last24Hour' }, + name: { kind: 'Name', value: 'errorEventsConnection' }, arguments: [ { kind: 'Argument', name: { kind: 'Name', value: 'orderBy' }, - value: { kind: 'EnumValue', value: 'timestamp_DESC' } - }, - { - kind: 'Argument', - name: { kind: 'Name', value: 'first' }, - value: { - kind: 'Variable', - name: { kind: 'Name', value: 'limit' } - } + value: { kind: 'EnumValue', value: 'id_ASC' } }, { kind: 'Argument', @@ -4230,62 +6985,18 @@ export const GetBlockByIdDocument = { fields: [ { kind: 'ObjectField', - name: { kind: 'Name', value: 'extrinsicHash_isNull' }, - value: { kind: 'BooleanValue', value: false } - }, - { - kind: 'ObjectField', - name: { kind: 'Name', value: 'AND' }, - value: { - kind: 'ObjectValue', - fields: [ - { - kind: 'ObjectField', - name: { kind: 'Name', value: 'block' }, - value: { - kind: 'ObjectValue', - fields: [ - { - kind: 'ObjectField', - name: { kind: 'Name', value: 'height_eq' }, - value: { - kind: 'Variable', - name: { kind: 'Name', value: 'height' } - } - } - ] - } - }, - { - kind: 'ObjectField', - name: { kind: 'Name', value: 'OR' }, - value: { - kind: 'ObjectValue', - fields: [ - { - kind: 'ObjectField', - name: { kind: 'Name', value: 'block' }, - value: { - kind: 'ObjectValue', - fields: [ - { - kind: 'ObjectField', - name: { - kind: 'Name', - value: 'hash_eq' - }, - value: { - kind: 'Variable', - name: { kind: 'Name', value: 'hash' } - } - } - ] - } - } - ] - } - } - ] + name: { kind: 'Name', value: 'timestamp_gte' }, + value: { + kind: 'Variable', + name: { kind: 'Name', value: 'startDate' } + } + }, + { + kind: 'ObjectField', + name: { kind: 'Name', value: 'timestamp_lte' }, + value: { + kind: 'Variable', + name: { kind: 'Name', value: 'endDate' } } } ] @@ -4295,101 +7006,61 @@ export const GetBlockByIdDocument = { selectionSet: { kind: 'SelectionSet', selections: [ - { - kind: 'Field', - name: { kind: 'Name', value: 'edges' }, - selectionSet: { - kind: 'SelectionSet', - selections: [ - { - kind: 'Field', - name: { kind: 'Name', value: 'node' }, - selectionSet: { - kind: 'SelectionSet', - selections: [ - { - kind: 'Field', - name: { kind: 'Name', value: 'fee' } - }, - { - kind: 'Field', - name: { kind: 'Name', value: 'extrinsicHash' } - }, - { - kind: 'Field', - name: { kind: 'Name', value: 'block' }, - selectionSet: { - kind: 'SelectionSet', - selections: [ - { - kind: 'Field', - name: { kind: 'Name', value: 'height' } - } - ] - } - }, - { - kind: 'Field', - name: { kind: 'Name', value: 'amount' } - }, - { - kind: 'Field', - name: { kind: 'Name', value: 'timestamp' } - }, - { - kind: 'Field', - name: { kind: 'Name', value: 'from' }, - selectionSet: { - kind: 'SelectionSet', - selections: [ - { - kind: 'Field', - name: { kind: 'Name', value: 'id' } - } - ] - } - }, - { - kind: 'Field', - name: { kind: 'Name', value: 'to' }, - selectionSet: { - kind: 'SelectionSet', - selections: [ - { - kind: 'Field', - name: { kind: 'Name', value: 'id' } - } - ] - } - } - ] - } - } - ] - } - }, { kind: 'Field', name: { kind: 'Name', value: 'totalCount' } } ] } }, { kind: 'Field', - alias: { kind: 'Name', value: 'reversibleTransactions' }, - name: { kind: 'Name', value: 'reversibleTransfersConnection' }, + alias: { kind: 'Name', value: 'allTime' }, + name: { kind: 'Name', value: 'errorEventsConnection' }, arguments: [ { kind: 'Argument', name: { kind: 'Name', value: 'orderBy' }, - value: { kind: 'EnumValue', value: 'timestamp_DESC' } - }, - { - kind: 'Argument', - name: { kind: 'Name', value: 'first' }, - value: { - kind: 'Variable', - name: { kind: 'Name', value: 'limit' } - } - }, + value: { kind: 'EnumValue', value: 'id_ASC' } + } + ], + selectionSet: { + kind: 'SelectionSet', + selections: [ + { kind: 'Field', name: { kind: 'Name', value: 'totalCount' } } + ] + } + } + ] + } + } + ] +} as unknown as DocumentNode< + GetErrorEventsStatsQuery, + GetErrorEventsStatsQueryVariables +>; +export const GetErrorEventByHashDocument = { + kind: 'Document', + definitions: [ + { + kind: 'OperationDefinition', + operation: 'query', + name: { kind: 'Name', value: 'GetErrorEventByHash' }, + variableDefinitions: [ + { + kind: 'VariableDefinition', + variable: { kind: 'Variable', name: { kind: 'Name', value: 'hash' } }, + type: { + kind: 'NonNullType', + type: { kind: 'NamedType', name: { kind: 'Name', value: 'String' } } + } + } + ], + selectionSet: { + kind: 'SelectionSet', + selections: [ + { + kind: 'Field', + alias: { kind: 'Name', value: 'errorEvents' }, + name: { kind: 'Name', value: 'errorEvents' }, + arguments: [ { kind: 'Argument', name: { kind: 'Name', value: 'where' }, @@ -4398,45 +7069,10 @@ export const GetBlockByIdDocument = { fields: [ { kind: 'ObjectField', - name: { kind: 'Name', value: 'block' }, - value: { - kind: 'ObjectValue', - fields: [ - { - kind: 'ObjectField', - name: { kind: 'Name', value: 'height_eq' }, - value: { - kind: 'Variable', - name: { kind: 'Name', value: 'height' } - } - } - ] - } - }, - { - kind: 'ObjectField', - name: { kind: 'Name', value: 'OR' }, + name: { kind: 'Name', value: 'extrinsicHash_eq' }, value: { - kind: 'ObjectValue', - fields: [ - { - kind: 'ObjectField', - name: { kind: 'Name', value: 'block' }, - value: { - kind: 'ObjectValue', - fields: [ - { - kind: 'ObjectField', - name: { kind: 'Name', value: 'hash_eq' }, - value: { - kind: 'Variable', - name: { kind: 'Name', value: 'hash' } - } - } - ] - } - } - ] + kind: 'Variable', + name: { kind: 'Name', value: 'hash' } } } ] @@ -4446,80 +7082,26 @@ export const GetBlockByIdDocument = { selectionSet: { kind: 'SelectionSet', selections: [ + { kind: 'Field', name: { kind: 'Name', value: 'errorDocs' } }, + { kind: 'Field', name: { kind: 'Name', value: 'errorModule' } }, + { kind: 'Field', name: { kind: 'Name', value: 'errorName' } }, + { kind: 'Field', name: { kind: 'Name', value: 'errorType' } }, { kind: 'Field', - name: { kind: 'Name', value: 'edges' }, + name: { kind: 'Name', value: 'extrinsicHash' } + }, + { kind: 'Field', name: { kind: 'Name', value: 'id' } }, + { kind: 'Field', name: { kind: 'Name', value: 'timestamp' } }, + { + kind: 'Field', + name: { kind: 'Name', value: 'block' }, selectionSet: { kind: 'SelectionSet', selections: [ - { - kind: 'Field', - name: { kind: 'Name', value: 'node' }, - selectionSet: { - kind: 'SelectionSet', - selections: [ - { - kind: 'Field', - name: { kind: 'Name', value: 'extrinsicHash' } - }, - { - kind: 'Field', - name: { kind: 'Name', value: 'timestamp' } - }, - { - kind: 'Field', - name: { kind: 'Name', value: 'status' } - }, - { - kind: 'Field', - name: { kind: 'Name', value: 'amount' } - }, - { - kind: 'Field', - name: { kind: 'Name', value: 'block' }, - selectionSet: { - kind: 'SelectionSet', - selections: [ - { - kind: 'Field', - name: { kind: 'Name', value: 'height' } - } - ] - } - }, - { - kind: 'Field', - name: { kind: 'Name', value: 'from' }, - selectionSet: { - kind: 'SelectionSet', - selections: [ - { - kind: 'Field', - name: { kind: 'Name', value: 'id' } - } - ] - } - }, - { - kind: 'Field', - name: { kind: 'Name', value: 'to' }, - selectionSet: { - kind: 'SelectionSet', - selections: [ - { - kind: 'Field', - name: { kind: 'Name', value: 'id' } - } - ] - } - } - ] - } - } + { kind: 'Field', name: { kind: 'Name', value: 'height' } } ] } - }, - { kind: 'Field', name: { kind: 'Name', value: 'totalCount' } } + } ] } } @@ -4527,40 +7109,48 @@ export const GetBlockByIdDocument = { } } ] -} as unknown as DocumentNode; -export const GetStatusDocument = { +} as unknown as DocumentNode< + GetErrorEventByHashQuery, + GetErrorEventByHashQueryVariables +>; +export const GetHighSecuritySetsDocument = { kind: 'Document', definitions: [ { kind: 'OperationDefinition', operation: 'query', - name: { kind: 'Name', value: 'GetStatus' }, + name: { kind: 'Name', value: 'GetHighSecuritySets' }, variableDefinitions: [ { kind: 'VariableDefinition', variable: { kind: 'Variable', - name: { kind: 'Name', value: 'beginningDate' } + name: { kind: 'Name', value: 'limit' } }, - type: { - kind: 'NonNullType', - type: { - kind: 'NamedType', - name: { kind: 'Name', value: 'DateTime' } - } - } + type: { kind: 'NamedType', name: { kind: 'Name', value: 'Int' } } }, { kind: 'VariableDefinition', variable: { kind: 'Variable', - name: { kind: 'Name', value: 'todayDate' } + name: { kind: 'Name', value: 'offset' } + }, + type: { kind: 'NamedType', name: { kind: 'Name', value: 'Int' } } + }, + { + kind: 'VariableDefinition', + variable: { + kind: 'Variable', + name: { kind: 'Name', value: 'orderBy' } }, type: { - kind: 'NonNullType', + kind: 'ListType', type: { - kind: 'NamedType', - name: { kind: 'Name', value: 'DateTime' } + kind: 'NonNullType', + type: { + kind: 'NamedType', + name: { kind: 'Name', value: 'HighSecuritySetOrderByInput' } + } } } }, @@ -4568,14 +7158,11 @@ export const GetStatusDocument = { kind: 'VariableDefinition', variable: { kind: 'Variable', - name: { kind: 'Name', value: 'endDate' } + name: { kind: 'Name', value: 'where' } }, type: { - kind: 'NonNullType', - type: { - kind: 'NamedType', - name: { kind: 'Name', value: 'DateTime' } - } + kind: 'NamedType', + name: { kind: 'Name', value: 'HighSecuritySetWhereInput' } } } ], @@ -4584,45 +7171,101 @@ export const GetStatusDocument = { selections: [ { kind: 'Field', - alias: { kind: 'Name', value: 'transactions' }, - name: { kind: 'Name', value: 'transfersConnection' }, + name: { kind: 'Name', value: 'highSecuritySets' }, arguments: [ + { + kind: 'Argument', + name: { kind: 'Name', value: 'limit' }, + value: { + kind: 'Variable', + name: { kind: 'Name', value: 'limit' } + } + }, + { + kind: 'Argument', + name: { kind: 'Name', value: 'offset' }, + value: { + kind: 'Variable', + name: { kind: 'Name', value: 'offset' } + } + }, { kind: 'Argument', name: { kind: 'Name', value: 'orderBy' }, - value: { kind: 'EnumValue', value: 'id_ASC' } + value: { + kind: 'Variable', + name: { kind: 'Name', value: 'orderBy' } + } }, { kind: 'Argument', name: { kind: 'Name', value: 'where' }, value: { - kind: 'ObjectValue', - fields: [ - { - kind: 'ObjectField', - name: { kind: 'Name', value: 'extrinsicHash_isNull' }, - value: { kind: 'BooleanValue', value: false } - } - ] + kind: 'Variable', + name: { kind: 'Name', value: 'where' } } } ], selectionSet: { kind: 'SelectionSet', selections: [ - { kind: 'Field', name: { kind: 'Name', value: 'totalCount' } } + { kind: 'Field', name: { kind: 'Name', value: 'id' } }, + { + kind: 'Field', + name: { kind: 'Name', value: 'extrinsicHash' } + }, + { + kind: 'Field', + name: { kind: 'Name', value: 'who' }, + selectionSet: { + kind: 'SelectionSet', + selections: [ + { kind: 'Field', name: { kind: 'Name', value: 'id' } } + ] + } + }, + { + kind: 'Field', + name: { kind: 'Name', value: 'interceptor' }, + selectionSet: { + kind: 'SelectionSet', + selections: [ + { kind: 'Field', name: { kind: 'Name', value: 'id' } } + ] + } + }, + { kind: 'Field', name: { kind: 'Name', value: 'timestamp' } }, + { kind: 'Field', name: { kind: 'Name', value: 'delay' } }, + { + kind: 'Field', + name: { kind: 'Name', value: 'block' }, + selectionSet: { + kind: 'SelectionSet', + selections: [ + { kind: 'Field', name: { kind: 'Name', value: 'height' } } + ] + } + } ] } }, { kind: 'Field', - alias: { kind: 'Name', value: 'reversibleTransactions' }, - name: { kind: 'Name', value: 'reversibleTransfersConnection' }, + alias: { kind: 'Name', value: 'meta' }, + name: { kind: 'Name', value: 'highSecuritySetsConnection' }, arguments: [ { kind: 'Argument', name: { kind: 'Name', value: 'orderBy' }, value: { kind: 'EnumValue', value: 'id_ASC' } + }, + { + kind: 'Argument', + name: { kind: 'Name', value: 'where' }, + value: { + kind: 'Variable', + name: { kind: 'Name', value: 'where' } + } } ], selectionSet: { @@ -4631,31 +7274,203 @@ export const GetStatusDocument = { { kind: 'Field', name: { kind: 'Name', value: 'totalCount' } } ] } + } + ] + } + } + ] +} as unknown as DocumentNode< + GetHighSecuritySetsQuery, + GetHighSecuritySetsQueryVariables +>; +export const GetRecentHighSecuritySetsDocument = { + kind: 'Document', + definitions: [ + { + kind: 'OperationDefinition', + operation: 'query', + name: { kind: 'Name', value: 'GetRecentHighSecuritySets' }, + variableDefinitions: [ + { + kind: 'VariableDefinition', + variable: { + kind: 'Variable', + name: { kind: 'Name', value: 'limit' } + }, + type: { kind: 'NamedType', name: { kind: 'Name', value: 'Int' } } + }, + { + kind: 'VariableDefinition', + variable: { + kind: 'Variable', + name: { kind: 'Name', value: 'offset' } + }, + type: { kind: 'NamedType', name: { kind: 'Name', value: 'Int' } } + }, + { + kind: 'VariableDefinition', + variable: { + kind: 'Variable', + name: { kind: 'Name', value: 'orderBy' } + }, + type: { + kind: 'ListType', + type: { + kind: 'NonNullType', + type: { + kind: 'NamedType', + name: { kind: 'Name', value: 'HighSecuritySetOrderByInput' } + } + } + } + }, + { + kind: 'VariableDefinition', + variable: { + kind: 'Variable', + name: { kind: 'Name', value: 'where' } }, + type: { + kind: 'NamedType', + name: { kind: 'Name', value: 'HighSecuritySetWhereInput' } + } + } + ], + selectionSet: { + kind: 'SelectionSet', + selections: [ { kind: 'Field', - alias: { kind: 'Name', value: 'status' }, - name: { kind: 'Name', value: 'squidStatus' }, + name: { kind: 'Name', value: 'highSecuritySets' }, + arguments: [ + { + kind: 'Argument', + name: { kind: 'Name', value: 'limit' }, + value: { + kind: 'Variable', + name: { kind: 'Name', value: 'limit' } + } + }, + { + kind: 'Argument', + name: { kind: 'Name', value: 'offset' }, + value: { + kind: 'Variable', + name: { kind: 'Name', value: 'offset' } + } + }, + { + kind: 'Argument', + name: { kind: 'Name', value: 'orderBy' }, + value: { + kind: 'Variable', + name: { kind: 'Name', value: 'orderBy' } + } + }, + { + kind: 'Argument', + name: { kind: 'Name', value: 'where' }, + value: { + kind: 'Variable', + name: { kind: 'Name', value: 'where' } + } + } + ], selectionSet: { kind: 'SelectionSet', selections: [ - { kind: 'Field', name: { kind: 'Name', value: 'hash' } }, - { kind: 'Field', name: { kind: 'Name', value: 'height' } }, + { kind: 'Field', name: { kind: 'Name', value: 'id' } }, { kind: 'Field', - name: { kind: 'Name', value: 'finalizedHeight' } + name: { kind: 'Name', value: 'extrinsicHash' } }, { kind: 'Field', - name: { kind: 'Name', value: 'finalizedHash' } + name: { kind: 'Name', value: 'who' }, + selectionSet: { + kind: 'SelectionSet', + selections: [ + { kind: 'Field', name: { kind: 'Name', value: 'id' } } + ] + } + }, + { + kind: 'Field', + name: { kind: 'Name', value: 'interceptor' }, + selectionSet: { + kind: 'SelectionSet', + selections: [ + { kind: 'Field', name: { kind: 'Name', value: 'id' } } + ] + } + }, + { kind: 'Field', name: { kind: 'Name', value: 'timestamp' } }, + { kind: 'Field', name: { kind: 'Name', value: 'delay' } }, + { + kind: 'Field', + name: { kind: 'Name', value: 'block' }, + selectionSet: { + kind: 'SelectionSet', + selections: [ + { kind: 'Field', name: { kind: 'Name', value: 'height' } } + ] + } } ] } + } + ] + } + } + ] +} as unknown as DocumentNode< + GetRecentHighSecuritySetsQuery, + GetRecentHighSecuritySetsQueryVariables +>; +export const GetHighSecuritySetsStatsDocument = { + kind: 'Document', + definitions: [ + { + kind: 'OperationDefinition', + operation: 'query', + name: { kind: 'Name', value: 'GetHighSecuritySetsStats' }, + variableDefinitions: [ + { + kind: 'VariableDefinition', + variable: { + kind: 'Variable', + name: { kind: 'Name', value: 'startDate' } + }, + type: { + kind: 'NonNullType', + type: { + kind: 'NamedType', + name: { kind: 'Name', value: 'DateTime' } + } + } + }, + { + kind: 'VariableDefinition', + variable: { + kind: 'Variable', + name: { kind: 'Name', value: 'endDate' } }, + type: { + kind: 'NonNullType', + type: { + kind: 'NamedType', + name: { kind: 'Name', value: 'DateTime' } + } + } + } + ], + selectionSet: { + kind: 'SelectionSet', + selections: [ { kind: 'Field', - alias: { kind: 'Name', value: 'minedBlocks24Hours' }, - name: { kind: 'Name', value: 'blocksConnection' }, + alias: { kind: 'Name', value: 'last24Hour' }, + name: { kind: 'Name', value: 'highSecuritySetsConnection' }, arguments: [ { kind: 'Argument', @@ -4673,7 +7488,7 @@ export const GetStatusDocument = { name: { kind: 'Name', value: 'timestamp_gte' }, value: { kind: 'Variable', - name: { kind: 'Name', value: 'todayDate' } + name: { kind: 'Name', value: 'startDate' } } }, { @@ -4697,47 +7512,13 @@ export const GetStatusDocument = { }, { kind: 'Field', - alias: { kind: 'Name', value: 'allActiveAccounts' }, - name: { kind: 'Name', value: 'accountsConnection' }, + alias: { kind: 'Name', value: 'allTime' }, + name: { kind: 'Name', value: 'highSecuritySetsConnection' }, arguments: [ { kind: 'Argument', name: { kind: 'Name', value: 'orderBy' }, value: { kind: 'EnumValue', value: 'id_ASC' } - }, - { - kind: 'Argument', - name: { kind: 'Name', value: 'where' }, - value: { - kind: 'ObjectValue', - fields: [ - { - kind: 'ObjectField', - name: { kind: 'Name', value: 'transfersFrom_some' }, - value: { - kind: 'ObjectValue', - fields: [ - { - kind: 'ObjectField', - name: { kind: 'Name', value: 'timestamp_gte' }, - value: { - kind: 'Variable', - name: { kind: 'Name', value: 'beginningDate' } - } - }, - { - kind: 'ObjectField', - name: { kind: 'Name', value: 'timestamp_lte' }, - value: { - kind: 'Variable', - name: { kind: 'Name', value: 'endDate' } - } - } - ] - } - } - ] - } } ], selectionSet: { @@ -4746,17 +7527,39 @@ export const GetStatusDocument = { { kind: 'Field', name: { kind: 'Name', value: 'totalCount' } } ] } - }, + } + ] + } + } + ] +} as unknown as DocumentNode< + GetHighSecuritySetsStatsQuery, + GetHighSecuritySetsStatsQueryVariables +>; +export const GetHighSecuritySetByHashDocument = { + kind: 'Document', + definitions: [ + { + kind: 'OperationDefinition', + operation: 'query', + name: { kind: 'Name', value: 'GetHighSecuritySetByHash' }, + variableDefinitions: [ + { + kind: 'VariableDefinition', + variable: { kind: 'Variable', name: { kind: 'Name', value: 'hash' } }, + type: { + kind: 'NonNullType', + type: { kind: 'NamedType', name: { kind: 'Name', value: 'String' } } + } + } + ], + selectionSet: { + kind: 'SelectionSet', + selections: [ { kind: 'Field', - alias: { kind: 'Name', value: 'allDepositAccounts' }, - name: { kind: 'Name', value: 'accountsConnection' }, + name: { kind: 'Name', value: 'highSecuritySets' }, arguments: [ - { - kind: 'Argument', - name: { kind: 'Name', value: 'orderBy' }, - value: { kind: 'EnumValue', value: 'id_ASC' } - }, { kind: 'Argument', name: { kind: 'Name', value: 'where' }, @@ -4765,27 +7568,10 @@ export const GetStatusDocument = { fields: [ { kind: 'ObjectField', - name: { kind: 'Name', value: 'transfersTo_some' }, + name: { kind: 'Name', value: 'extrinsicHash_eq' }, value: { - kind: 'ObjectValue', - fields: [ - { - kind: 'ObjectField', - name: { kind: 'Name', value: 'timestamp_gte' }, - value: { - kind: 'Variable', - name: { kind: 'Name', value: 'beginningDate' } - } - }, - { - kind: 'ObjectField', - name: { kind: 'Name', value: 'timestamp_lte' }, - value: { - kind: 'Variable', - name: { kind: 'Name', value: 'endDate' } - } - } - ] + kind: 'Variable', + name: { kind: 'Name', value: 'hash' } } } ] @@ -4795,7 +7581,43 @@ export const GetStatusDocument = { selectionSet: { kind: 'SelectionSet', selections: [ - { kind: 'Field', name: { kind: 'Name', value: 'totalCount' } } + { kind: 'Field', name: { kind: 'Name', value: 'id' } }, + { + kind: 'Field', + name: { kind: 'Name', value: 'extrinsicHash' } + }, + { + kind: 'Field', + name: { kind: 'Name', value: 'who' }, + selectionSet: { + kind: 'SelectionSet', + selections: [ + { kind: 'Field', name: { kind: 'Name', value: 'id' } } + ] + } + }, + { + kind: 'Field', + name: { kind: 'Name', value: 'interceptor' }, + selectionSet: { + kind: 'SelectionSet', + selections: [ + { kind: 'Field', name: { kind: 'Name', value: 'id' } } + ] + } + }, + { kind: 'Field', name: { kind: 'Name', value: 'timestamp' } }, + { kind: 'Field', name: { kind: 'Name', value: 'delay' } }, + { + kind: 'Field', + name: { kind: 'Name', value: 'block' }, + selectionSet: { + kind: 'SelectionSet', + selections: [ + { kind: 'Field', name: { kind: 'Name', value: 'height' } } + ] + } + } ] } } @@ -4803,7 +7625,10 @@ export const GetStatusDocument = { } } ] -} as unknown as DocumentNode; +} as unknown as DocumentNode< + GetHighSecuritySetByHashQuery, + GetHighSecuritySetByHashQueryVariables +>; export const GetMinerLeaderboardDocument = { kind: 'Document', definitions: [ @@ -6159,6 +8984,46 @@ export const SearchAllDocument = { ] } }, + { + kind: 'Field', + name: { kind: 'Name', value: 'highSecuritySets' }, + arguments: [ + { + kind: 'Argument', + name: { kind: 'Name', value: 'limit' }, + value: { + kind: 'Variable', + name: { kind: 'Name', value: 'limit' } + } + }, + { + kind: 'Argument', + name: { kind: 'Name', value: 'where' }, + value: { + kind: 'ObjectValue', + fields: [ + { + kind: 'ObjectField', + name: { kind: 'Name', value: 'extrinsicHash_startsWith' }, + value: { + kind: 'Variable', + name: { kind: 'Name', value: 'keyword' } + } + } + ] + } + } + ], + selectionSet: { + kind: 'SelectionSet', + selections: [ + { + kind: 'Field', + name: { kind: 'Name', value: 'extrinsicHash' } + } + ] + } + }, { kind: 'Field', name: { kind: 'Name', value: 'minerRewards' }, @@ -6218,15 +9083,78 @@ export const SearchAllDocument = { { kind: 'Field', name: { kind: 'Name', value: 'reward' } }, { kind: 'Field', - name: { kind: 'Name', value: 'miner' }, - selectionSet: { - kind: 'SelectionSet', - selections: [ - { kind: 'Field', name: { kind: 'Name', value: 'id' } } - ] - } - }, - { kind: 'Field', name: { kind: 'Name', value: 'timestamp' } } + name: { kind: 'Name', value: 'miner' }, + selectionSet: { + kind: 'SelectionSet', + selections: [ + { kind: 'Field', name: { kind: 'Name', value: 'id' } } + ] + } + }, + { kind: 'Field', name: { kind: 'Name', value: 'timestamp' } } + ] + } + }, + { + kind: 'Field', + name: { kind: 'Name', value: 'errorEvents' }, + arguments: [ + { + kind: 'Argument', + name: { kind: 'Name', value: 'limit' }, + value: { + kind: 'Variable', + name: { kind: 'Name', value: 'limit' } + } + }, + { + kind: 'Argument', + name: { kind: 'Name', value: 'where' }, + value: { + kind: 'ObjectValue', + fields: [ + { + kind: 'ObjectField', + name: { + kind: 'Name', + value: 'errorType_containsInsensitive' + }, + value: { + kind: 'Variable', + name: { kind: 'Name', value: 'keyword' } + } + }, + { + kind: 'ObjectField', + name: { kind: 'Name', value: 'OR' }, + value: { + kind: 'ObjectValue', + fields: [ + { + kind: 'ObjectField', + name: { + kind: 'Name', + value: 'errorName_containsInsensitive' + }, + value: { + kind: 'Variable', + name: { kind: 'Name', value: 'keyword' } + } + } + ] + } + } + ] + } + } + ], + selectionSet: { + kind: 'SelectionSet', + selections: [ + { + kind: 'Field', + name: { kind: 'Name', value: 'extrinsicHash' } + } ] } } @@ -6563,13 +9491,257 @@ export const GetTransactionsStatsDocument = { kind: 'VariableDefinition', variable: { kind: 'Variable', - name: { kind: 'Name', value: 'startDate' } + name: { kind: 'Name', value: 'startDate' } + }, + type: { + kind: 'NonNullType', + type: { + kind: 'NamedType', + name: { kind: 'Name', value: 'DateTime' } + } + } + }, + { + kind: 'VariableDefinition', + variable: { + kind: 'Variable', + name: { kind: 'Name', value: 'endDate' } + }, + type: { + kind: 'NonNullType', + type: { + kind: 'NamedType', + name: { kind: 'Name', value: 'DateTime' } + } + } + } + ], + selectionSet: { + kind: 'SelectionSet', + selections: [ + { + kind: 'Field', + alias: { kind: 'Name', value: 'last24Hour' }, + name: { kind: 'Name', value: 'transfersConnection' }, + arguments: [ + { + kind: 'Argument', + name: { kind: 'Name', value: 'orderBy' }, + value: { kind: 'EnumValue', value: 'id_ASC' } + }, + { + kind: 'Argument', + name: { kind: 'Name', value: 'where' }, + value: { + kind: 'ObjectValue', + fields: [ + { + kind: 'ObjectField', + name: { kind: 'Name', value: 'timestamp_gte' }, + value: { + kind: 'Variable', + name: { kind: 'Name', value: 'startDate' } + } + }, + { + kind: 'ObjectField', + name: { kind: 'Name', value: 'timestamp_lte' }, + value: { + kind: 'Variable', + name: { kind: 'Name', value: 'endDate' } + } + }, + { + kind: 'ObjectField', + name: { kind: 'Name', value: 'extrinsicHash_isNull' }, + value: { kind: 'BooleanValue', value: false } + } + ] + } + } + ], + selectionSet: { + kind: 'SelectionSet', + selections: [ + { kind: 'Field', name: { kind: 'Name', value: 'totalCount' } } + ] + } + }, + { + kind: 'Field', + alias: { kind: 'Name', value: 'allTime' }, + name: { kind: 'Name', value: 'transfersConnection' }, + arguments: [ + { + kind: 'Argument', + name: { kind: 'Name', value: 'orderBy' }, + value: { kind: 'EnumValue', value: 'id_ASC' } + }, + { + kind: 'Argument', + name: { kind: 'Name', value: 'where' }, + value: { + kind: 'ObjectValue', + fields: [ + { + kind: 'ObjectField', + name: { kind: 'Name', value: 'extrinsicHash_isNull' }, + value: { kind: 'BooleanValue', value: false } + } + ] + } + } + ], + selectionSet: { + kind: 'SelectionSet', + selections: [ + { kind: 'Field', name: { kind: 'Name', value: 'totalCount' } } + ] + } + } + ] + } + } + ] +} as unknown as DocumentNode< + GetTransactionsStatsQuery, + GetTransactionsStatsQueryVariables +>; +export const GetTransactionByHashDocument = { + kind: 'Document', + definitions: [ + { + kind: 'OperationDefinition', + operation: 'query', + name: { kind: 'Name', value: 'GetTransactionByHash' }, + variableDefinitions: [ + { + kind: 'VariableDefinition', + variable: { kind: 'Variable', name: { kind: 'Name', value: 'hash' } }, + type: { + kind: 'NonNullType', + type: { kind: 'NamedType', name: { kind: 'Name', value: 'String' } } + } + } + ], + selectionSet: { + kind: 'SelectionSet', + selections: [ + { + kind: 'Field', + alias: { kind: 'Name', value: 'transactions' }, + name: { kind: 'Name', value: 'transfers' }, + arguments: [ + { + kind: 'Argument', + name: { kind: 'Name', value: 'where' }, + value: { + kind: 'ObjectValue', + fields: [ + { + kind: 'ObjectField', + name: { kind: 'Name', value: 'extrinsicHash_eq' }, + value: { + kind: 'Variable', + name: { kind: 'Name', value: 'hash' } + } + } + ] + } + } + ], + selectionSet: { + kind: 'SelectionSet', + selections: [ + { kind: 'Field', name: { kind: 'Name', value: 'fee' } }, + { + kind: 'Field', + name: { kind: 'Name', value: 'extrinsicHash' } + }, + { + kind: 'Field', + name: { kind: 'Name', value: 'block' }, + selectionSet: { + kind: 'SelectionSet', + selections: [ + { kind: 'Field', name: { kind: 'Name', value: 'height' } } + ] + } + }, + { kind: 'Field', name: { kind: 'Name', value: 'amount' } }, + { kind: 'Field', name: { kind: 'Name', value: 'timestamp' } }, + { + kind: 'Field', + name: { kind: 'Name', value: 'from' }, + selectionSet: { + kind: 'SelectionSet', + selections: [ + { kind: 'Field', name: { kind: 'Name', value: 'id' } } + ] + } + }, + { + kind: 'Field', + name: { kind: 'Name', value: 'to' }, + selectionSet: { + kind: 'SelectionSet', + selections: [ + { kind: 'Field', name: { kind: 'Name', value: 'id' } } + ] + } + } + ] + } + } + ] + } + } + ] +} as unknown as DocumentNode< + GetTransactionByHashQuery, + GetTransactionByHashQueryVariables +>; +export const GetWormholeExtrinsicsDocument = { + kind: 'Document', + definitions: [ + { + kind: 'OperationDefinition', + operation: 'query', + name: { kind: 'Name', value: 'GetWormholeExtrinsics' }, + variableDefinitions: [ + { + kind: 'VariableDefinition', + variable: { + kind: 'Variable', + name: { kind: 'Name', value: 'limit' } + }, + type: { kind: 'NamedType', name: { kind: 'Name', value: 'Int' } } + }, + { + kind: 'VariableDefinition', + variable: { + kind: 'Variable', + name: { kind: 'Name', value: 'offset' } + }, + type: { kind: 'NamedType', name: { kind: 'Name', value: 'Int' } } + }, + { + kind: 'VariableDefinition', + variable: { + kind: 'Variable', + name: { kind: 'Name', value: 'orderBy' } }, type: { kind: 'NonNullType', type: { - kind: 'NamedType', - name: { kind: 'Name', value: 'DateTime' } + kind: 'ListType', + type: { + kind: 'NonNullType', + type: { + kind: 'NamedType', + name: { kind: 'Name', value: 'WormholeExtrinsicOrderByInput' } + } + } } } }, @@ -6577,14 +9749,11 @@ export const GetTransactionsStatsDocument = { kind: 'VariableDefinition', variable: { kind: 'Variable', - name: { kind: 'Name', value: 'endDate' } + name: { kind: 'Name', value: 'where' } }, type: { - kind: 'NonNullType', - type: { - kind: 'NamedType', - name: { kind: 'Name', value: 'DateTime' } - } + kind: 'NamedType', + name: { kind: 'Name', value: 'WormholeExtrinsicWhereInput' } } } ], @@ -6593,75 +9762,82 @@ export const GetTransactionsStatsDocument = { selections: [ { kind: 'Field', - alias: { kind: 'Name', value: 'last24Hour' }, - name: { kind: 'Name', value: 'transfersConnection' }, + name: { kind: 'Name', value: 'wormholeExtrinsics' }, arguments: [ + { + kind: 'Argument', + name: { kind: 'Name', value: 'limit' }, + value: { + kind: 'Variable', + name: { kind: 'Name', value: 'limit' } + } + }, + { + kind: 'Argument', + name: { kind: 'Name', value: 'offset' }, + value: { + kind: 'Variable', + name: { kind: 'Name', value: 'offset' } + } + }, { kind: 'Argument', name: { kind: 'Name', value: 'orderBy' }, - value: { kind: 'EnumValue', value: 'id_ASC' } + value: { + kind: 'Variable', + name: { kind: 'Name', value: 'orderBy' } + } }, { kind: 'Argument', name: { kind: 'Name', value: 'where' }, value: { - kind: 'ObjectValue', - fields: [ - { - kind: 'ObjectField', - name: { kind: 'Name', value: 'timestamp_gte' }, - value: { - kind: 'Variable', - name: { kind: 'Name', value: 'startDate' } - } - }, - { - kind: 'ObjectField', - name: { kind: 'Name', value: 'timestamp_lte' }, - value: { - kind: 'Variable', - name: { kind: 'Name', value: 'endDate' } - } - }, - { - kind: 'ObjectField', - name: { kind: 'Name', value: 'extrinsicHash_isNull' }, - value: { kind: 'BooleanValue', value: false } - } - ] + kind: 'Variable', + name: { kind: 'Name', value: 'where' } } } ], selectionSet: { kind: 'SelectionSet', selections: [ - { kind: 'Field', name: { kind: 'Name', value: 'totalCount' } } + { kind: 'Field', name: { kind: 'Name', value: 'id' } }, + { + kind: 'Field', + name: { kind: 'Name', value: 'extrinsicHash' } + }, + { kind: 'Field', name: { kind: 'Name', value: 'totalAmount' } }, + { kind: 'Field', name: { kind: 'Name', value: 'outputCount' } }, + { kind: 'Field', name: { kind: 'Name', value: 'timestamp' } }, + { + kind: 'Field', + name: { kind: 'Name', value: 'privacyScore' } + }, + { + kind: 'Field', + name: { kind: 'Name', value: 'privacyLabel' } + }, + { + kind: 'Field', + name: { kind: 'Name', value: 'block' }, + selectionSet: { + kind: 'SelectionSet', + selections: [ + { kind: 'Field', name: { kind: 'Name', value: 'height' } } + ] + } + } ] } }, { kind: 'Field', - alias: { kind: 'Name', value: 'allTime' }, - name: { kind: 'Name', value: 'transfersConnection' }, + alias: { kind: 'Name', value: 'meta' }, + name: { kind: 'Name', value: 'wormholeExtrinsicsConnection' }, arguments: [ { kind: 'Argument', name: { kind: 'Name', value: 'orderBy' }, value: { kind: 'EnumValue', value: 'id_ASC' } - }, - { - kind: 'Argument', - name: { kind: 'Name', value: 'where' }, - value: { - kind: 'ObjectValue', - fields: [ - { - kind: 'ObjectField', - name: { kind: 'Name', value: 'extrinsicHash_isNull' }, - value: { kind: 'BooleanValue', value: false } - } - ] - } } ], selectionSet: { @@ -6676,20 +9852,20 @@ export const GetTransactionsStatsDocument = { } ] } as unknown as DocumentNode< - GetTransactionsStatsQuery, - GetTransactionsStatsQueryVariables + GetWormholeExtrinsicsQuery, + GetWormholeExtrinsicsQueryVariables >; -export const GetTransactionByHashDocument = { +export const GetWormholeExtrinsicByIdDocument = { kind: 'Document', definitions: [ { kind: 'OperationDefinition', operation: 'query', - name: { kind: 'Name', value: 'GetTransactionByHash' }, + name: { kind: 'Name', value: 'GetWormholeExtrinsicById' }, variableDefinitions: [ { kind: 'VariableDefinition', - variable: { kind: 'Variable', name: { kind: 'Name', value: 'hash' } }, + variable: { kind: 'Variable', name: { kind: 'Name', value: 'id' } }, type: { kind: 'NonNullType', type: { kind: 'NamedType', name: { kind: 'Name', value: 'String' } } @@ -6701,75 +9877,181 @@ export const GetTransactionByHashDocument = { selections: [ { kind: 'Field', - alias: { kind: 'Name', value: 'transactions' }, - name: { kind: 'Name', value: 'transfers' }, + name: { kind: 'Name', value: 'wormholeExtrinsicById' }, arguments: [ { kind: 'Argument', - name: { kind: 'Name', value: 'where' }, - value: { - kind: 'ObjectValue', - fields: [ - { - kind: 'ObjectField', - name: { kind: 'Name', value: 'extrinsicHash_eq' }, - value: { - kind: 'Variable', - name: { kind: 'Name', value: 'hash' } - } - } - ] - } + name: { kind: 'Name', value: 'id' }, + value: { kind: 'Variable', name: { kind: 'Name', value: 'id' } } } ], selectionSet: { kind: 'SelectionSet', selections: [ - { kind: 'Field', name: { kind: 'Name', value: 'fee' } }, + { kind: 'Field', name: { kind: 'Name', value: 'id' } }, { kind: 'Field', name: { kind: 'Name', value: 'extrinsicHash' } }, + { kind: 'Field', name: { kind: 'Name', value: 'totalAmount' } }, + { kind: 'Field', name: { kind: 'Name', value: 'outputCount' } }, + { kind: 'Field', name: { kind: 'Name', value: 'timestamp' } }, { kind: 'Field', - name: { kind: 'Name', value: 'block' }, - selectionSet: { - kind: 'SelectionSet', - selections: [ - { kind: 'Field', name: { kind: 'Name', value: 'height' } } - ] - } + name: { kind: 'Name', value: 'privacyScore' } }, - { kind: 'Field', name: { kind: 'Name', value: 'amount' } }, - { kind: 'Field', name: { kind: 'Name', value: 'timestamp' } }, { kind: 'Field', - name: { kind: 'Name', value: 'from' }, + name: { kind: 'Name', value: 'privacyScore01Pct' } + }, + { + kind: 'Field', + name: { kind: 'Name', value: 'privacyScore1Pct' } + }, + { + kind: 'Field', + name: { kind: 'Name', value: 'privacyScore5Pct' } + }, + { + kind: 'Field', + name: { kind: 'Name', value: 'privacyLabel' } + }, + { + kind: 'Field', + name: { kind: 'Name', value: 'poolSnapshot' } + }, + { + kind: 'Field', + name: { kind: 'Name', value: 'block' }, selectionSet: { kind: 'SelectionSet', selections: [ - { kind: 'Field', name: { kind: 'Name', value: 'id' } } + { kind: 'Field', name: { kind: 'Name', value: 'id' } }, + { + kind: 'Field', + name: { kind: 'Name', value: 'height' } + }, + { kind: 'Field', name: { kind: 'Name', value: 'hash' } }, + { + kind: 'Field', + name: { kind: 'Name', value: 'timestamp' } + } ] } }, { kind: 'Field', - name: { kind: 'Name', value: 'to' }, + name: { kind: 'Name', value: 'outputs' }, selectionSet: { kind: 'SelectionSet', selections: [ - { kind: 'Field', name: { kind: 'Name', value: 'id' } } + { kind: 'Field', name: { kind: 'Name', value: 'id' } }, + { + kind: 'Field', + name: { kind: 'Name', value: 'exitAccount' }, + selectionSet: { + kind: 'SelectionSet', + selections: [ + { + kind: 'Field', + name: { kind: 'Name', value: 'id' } + } + ] + } + }, + { kind: 'Field', name: { kind: 'Name', value: 'amount' } } ] } } ] } + }, + { + kind: 'Field', + name: { kind: 'Name', value: 'wormholeNullifiers' }, + arguments: [ + { + kind: 'Argument', + name: { kind: 'Name', value: 'where' }, + value: { + kind: 'ObjectValue', + fields: [ + { + kind: 'ObjectField', + name: { kind: 'Name', value: 'extrinsic' }, + value: { + kind: 'ObjectValue', + fields: [ + { + kind: 'ObjectField', + name: { kind: 'Name', value: 'id_eq' }, + value: { + kind: 'Variable', + name: { kind: 'Name', value: 'id' } + } + } + ] + } + } + ] + } + } + ], + selectionSet: { + kind: 'SelectionSet', + selections: [ + { kind: 'Field', name: { kind: 'Name', value: 'nullifier' } }, + { + kind: 'Field', + name: { kind: 'Name', value: 'nullifierHash' } + } + ] + } } ] } } ] } as unknown as DocumentNode< - GetTransactionByHashQuery, - GetTransactionByHashQueryVariables + GetWormholeExtrinsicByIdQuery, + GetWormholeExtrinsicByIdQueryVariables +>; +export const GetDepositPoolStatsDocument = { + kind: 'Document', + definitions: [ + { + kind: 'OperationDefinition', + operation: 'query', + name: { kind: 'Name', value: 'GetDepositPoolStats' }, + selectionSet: { + kind: 'SelectionSet', + selections: [ + { + kind: 'Field', + name: { kind: 'Name', value: 'depositPoolStatsById' }, + arguments: [ + { + kind: 'Argument', + name: { kind: 'Name', value: 'id' }, + value: { kind: 'StringValue', value: 'global', block: false } + } + ], + selectionSet: { + kind: 'SelectionSet', + selections: [ + { + kind: 'Field', + name: { kind: 'Name', value: 'lastUpdatedBlock' } + }, + { kind: 'Field', name: { kind: 'Name', value: 'buckets' } } + ] + } + } + ] + } + } + ] +} as unknown as DocumentNode< + GetDepositPoolStatsQuery, + GetDepositPoolStatsQueryVariables >; diff --git a/src/api/index.tsx b/src/api/index.tsx index 059ed5a..78b5ae2 100644 --- a/src/api/index.tsx +++ b/src/api/index.tsx @@ -10,6 +10,7 @@ import { minerRewards } from './miner-rewards'; import { reversibleTransactions } from './reversible-transactions'; import { search } from './search'; import { transactions } from './transactions'; +import { wormhole } from './wormhole'; const useApiClient = () => { const fetcher = useFetchClient(); @@ -24,7 +25,8 @@ const useApiClient = () => { blocks, minerRewards, minerLeaderboard, - highSecuritySets + highSecuritySets, + wormhole }; return api; diff --git a/src/api/wormhole.tsx b/src/api/wormhole.tsx new file mode 100644 index 0000000..836b03b --- /dev/null +++ b/src/api/wormhole.tsx @@ -0,0 +1,124 @@ +import { gql, useQuery } from '@apollo/client'; +import { DATA_POOL_INTERVAL } from '@/constants/data-pool-interval'; +import type { + WormholeExtrinsicListResponse, + WormholeExtrinsicResponse, + DepositPoolStatsResponse +} from '@/schemas/wormhole'; + +const GET_WORMHOLE_EXTRINSICS = gql` + query GetWormholeExtrinsics( + $limit: Int + $offset: Int + $orderBy: [WormholeExtrinsicOrderByInput!]! + $where: WormholeExtrinsicWhereInput + ) { + wormholeExtrinsics( + limit: $limit + offset: $offset + orderBy: $orderBy + where: $where + ) { + id + extrinsicHash + totalAmount + outputCount + timestamp + privacyScore + privacyLabel + block { + height + } + } + meta: wormholeExtrinsicsConnection(orderBy: id_ASC) { + totalCount + } + } +`; + +const GET_WORMHOLE_EXTRINSIC_BY_ID = gql` + query GetWormholeExtrinsicById($id: String!) { + wormholeExtrinsicById(id: $id) { + id + extrinsicHash + totalAmount + outputCount + timestamp + privacyScore + privacyScore01Pct + privacyScore1Pct + privacyScore5Pct + privacyLabel + poolSnapshot + block { + id + height + hash + timestamp + } + outputs { + id + exitAccount { + id + } + amount + } + } + wormholeNullifiers(where: { extrinsic: { id_eq: $id } }) { + nullifier + nullifierHash + } + } +`; + +const GET_DEPOSIT_POOL_STATS = gql` + query GetDepositPoolStats { + depositPoolStatsById(id: "global") { + lastUpdatedBlock + buckets + } + } +`; + +export const wormhole = { + useGetAll: (config?: { + pollInterval?: number; + variables?: Record; + }) => { + const { pollInterval = DATA_POOL_INTERVAL, variables = {} } = config ?? {}; + const { + orderBy = 'timestamp_DESC', + limit = 25, + offset = 0, + where + } = variables as Record; + + return useQuery(GET_WORMHOLE_EXTRINSICS, { + pollInterval, + variables: { orderBy: [orderBy], limit, offset, where } + }); + }, + + getById: () => { + return { + useQuery: (id: string, config?: { pollInterval?: number }) => { + const { pollInterval = 0 } = config ?? {}; + return useQuery( + GET_WORMHOLE_EXTRINSIC_BY_ID, + { + variables: { id }, + pollInterval, + skip: !id + } + ); + } + }; + }, + + useGetDepositPoolStats: (config?: { pollInterval?: number }) => { + const { pollInterval = DATA_POOL_INTERVAL } = config ?? {}; + return useQuery(GET_DEPOSIT_POOL_STATS, { + pollInterval + }); + } +}; diff --git a/src/components/common/network-provider/network-provider.tsx b/src/components/common/network-provider/network-provider.tsx index 91b0499..6a5a6ae 100644 --- a/src/components/common/network-provider/network-provider.tsx +++ b/src/components/common/network-provider/network-provider.tsx @@ -1,11 +1,22 @@ import React, { createContext, useContext, useMemo, useState } from 'react'; -type NetworkName = 'dirac'; +const ENABLE_LOCAL_NETWORK = + import.meta.env.VITE_ENABLE_LOCAL_NETWORK === 'true'; -export const NETWORKS: Record = { +const BASE_NETWORKS = { dirac: 'https://subsquid.quantus.com/graphql' } as const; +const LOCAL_NETWORK = { + local: 'http://localhost:4350/graphql' +} as const; + +export const NETWORKS: Record = ENABLE_LOCAL_NETWORK + ? { ...BASE_NETWORKS, ...LOCAL_NETWORK } + : BASE_NETWORKS; + +type NetworkName = keyof typeof NETWORKS; + type NetworkProviderProps = { children: React.ReactNode; defaultNetwork?: NetworkName; @@ -19,7 +30,7 @@ type NetworkProviderState = { }; const initialState: NetworkProviderState = { - networkUrl: NETWORKS.dirac, + networkUrl: BASE_NETWORKS.dirac, networkName: 'dirac', setNetwork: () => null }; @@ -36,7 +47,9 @@ export function NetworkProvider({ const [networkName, setNetwork] = useState( () => (localStorage.getItem(storageKey) as NetworkName) || defaultNetwork ); - const [networkUrl, setNetworkUrl] = useState(() => NETWORKS[networkName]); + const [networkUrl, setNetworkUrl] = useState( + () => NETWORKS[networkName] ?? BASE_NETWORKS.dirac + ); const value = useMemo(() => { const initialValue = { @@ -45,7 +58,7 @@ export function NetworkProvider({ setNetwork: (newNetworkName: NetworkName) => { localStorage.setItem(storageKey, newNetworkName); setNetwork(newNetworkName); - setNetworkUrl(NETWORKS[newNetworkName]); + setNetworkUrl(NETWORKS[newNetworkName] ?? BASE_NETWORKS.dirac); } }; diff --git a/src/components/common/table-columns/WORMHOLE_OUTPUT_COLUMNS.tsx b/src/components/common/table-columns/WORMHOLE_OUTPUT_COLUMNS.tsx new file mode 100644 index 0000000..210a405 --- /dev/null +++ b/src/components/common/table-columns/WORMHOLE_OUTPUT_COLUMNS.tsx @@ -0,0 +1,70 @@ +import { createColumnHelper } from '@tanstack/react-table'; + +import { LinkWithCopy } from '@/components/ui/composites/link-with-copy/LinkWithCopy'; +import { TimestampDisplay } from '@/components/ui/timestamp-display'; +import { RESOURCES } from '@/constants/resources'; +import { formatMonetaryValue, formatTxAddress } from '@/utils/formatter'; +import { PrivacyScoreBadge } from '@/components/features/wormhole/PrivacyScoreBadge'; +import type { WormholeExtrinsic } from '@/schemas/wormhole'; + +export type WormholeExtrinsicRow = WormholeExtrinsic; + +const columnHelper = createColumnHelper(); + +export const WORMHOLE_EXTRINSIC_COLUMNS = [ + columnHelper.accessor('extrinsicHash', { + id: 'extrinsic_hash', + header: 'Extrinsic', + cell: (props) => { + const hash = props.getValue(); + const id = props.row.original.id; + return ( + + ); + }, + enableSorting: false + }), + columnHelper.accessor('totalAmount', { + id: 'total_amount', + header: 'Total Amount', + cell: (props) => formatMonetaryValue(Number(props.getValue())), + enableSorting: true + }), + columnHelper.accessor('outputCount', { + id: 'output_count', + header: 'Outputs', + cell: (props) => props.getValue(), + enableSorting: false + }), + columnHelper.accessor('privacyScore', { + id: 'privacy_score', + header: 'Privacy', + cell: (props) => ( + + ), + enableSorting: true + }), + columnHelper.accessor('block.height', { + id: 'block_height', + header: 'Block', + cell: (props) => ( + + ), + enableSorting: true + }), + columnHelper.accessor('timestamp', { + id: 'timestamp', + header: 'Timestamp', + cell: (props) => , + enableSorting: true + }) +]; diff --git a/src/components/features/wormhole/DepositPoolStats.tsx b/src/components/features/wormhole/DepositPoolStats.tsx new file mode 100644 index 0000000..6fcb0f1 --- /dev/null +++ b/src/components/features/wormhole/DepositPoolStats.tsx @@ -0,0 +1,74 @@ +import useApiClient from '@/api'; +import { Card, CardContent, CardHeader, CardTitle } from '@/components/ui/card'; + +export const DepositPoolStatsCard = () => { + const api = useApiClient(); + const { data, loading } = api.wormhole.useGetDepositPoolStats(); + + const stats = data?.depositPoolStatsById; + + if (loading) { + return ( + + + Deposit Pool + + +
+
+
+
+ + + ); + } + + if (!stats) return null; + + // Parse buckets JSON and compute totals + let totalDeposits = 0; + let totalValue = 0; + try { + const buckets = JSON.parse(stats.buckets); + // Use bucket 0 [0, 1 DEV) as it contains all sub-DEV deposits without overlap + // Sum all buckets but avoid double-counting from overlaps by just using count from non-overlapping ranges + // Simplest: just show the raw bucket data + for (const b of buckets) { + // Only count non-overlapping contributions (first bucket that contains each deposit) + // For display purposes, sum the largest bucket's count as a rough total + if (b.count > totalDeposits) totalDeposits = b.count; + totalValue += Number(b.sumAmounts); + } + // Actually, deposits appear in multiple overlapping buckets, so just sum unique ones + // The [0, 1 DEV) bucket is non-overlapping with others for sub-DEV deposits + // For a rough total, use the sum across all non-overlapping base buckets + totalDeposits = buckets.reduce( + (sum: number, b: { count: number }) => sum + b.count, + 0 + ); + } catch { + // fallback + } + + return ( + + + Wormhole Deposit Pool + + +
+
+

Deposits Tracked

+

+ {totalDeposits.toLocaleString()} +

+
+
+

Last Updated

+

Block {stats.lastUpdatedBlock}

+
+
+
+
+ ); +}; diff --git a/src/components/features/wormhole/PrivacyScoreBadge.tsx b/src/components/features/wormhole/PrivacyScoreBadge.tsx new file mode 100644 index 0000000..77852cc --- /dev/null +++ b/src/components/features/wormhole/PrivacyScoreBadge.tsx @@ -0,0 +1,35 @@ +import { cn } from '@/lib/utils'; + +interface PrivacyScoreBadgeProps { + score: number; + label: string; +} + +const labelColors: Record = { + Critical: 'bg-red-100 text-red-800 dark:bg-red-900/30 dark:text-red-400', + Weak: 'bg-orange-100 text-orange-800 dark:bg-orange-900/30 dark:text-orange-400', + Moderate: + 'bg-yellow-100 text-yellow-800 dark:bg-yellow-900/30 dark:text-yellow-400', + Strong: + 'bg-green-100 text-green-800 dark:bg-green-900/30 dark:text-green-400', + 'Very Strong': + 'bg-emerald-100 text-emerald-800 dark:bg-emerald-900/30 dark:text-emerald-400' +}; + +export const PrivacyScoreBadge = ({ score, label }: PrivacyScoreBadgeProps) => { + const colorClass = + labelColors[label] ?? + 'bg-gray-100 text-gray-800 dark:bg-gray-900/30 dark:text-gray-400'; + + return ( + + {score.toFixed(1)} bits + ({label}) + + ); +}; diff --git a/src/components/features/wormhole/WormholeOutputDetails.tsx b/src/components/features/wormhole/WormholeOutputDetails.tsx new file mode 100644 index 0000000..23ed992 --- /dev/null +++ b/src/components/features/wormhole/WormholeOutputDetails.tsx @@ -0,0 +1,258 @@ +import { notFound } from '@tanstack/react-router'; + +import useApiClient from '@/api'; +import { DataList } from '@/components/ui/composites/data-list/DataList'; +import { LinkWithCopy } from '@/components/ui/composites/link-with-copy/LinkWithCopy'; +import { TextWithCopy } from '@/components/ui/composites/text-with-copy/TextWithCopy'; +import { Card, CardContent } from '@/components/ui/card'; +import { RESOURCES } from '@/constants/resources'; +import { formatMonetaryValue, formatTimestamp } from '@/utils/formatter'; +import { PrivacyScoreBadge } from './PrivacyScoreBadge'; + +interface WormholeOutputDetailsProps { + id: string; +} + +interface ExtrinsicInfo { + extrinsicHash: string | null; + totalAmount: string; + outputCount: number; + block: { height: number; hash: string }; + timestamp: string; + privacyScore: number; + privacyLabel: string; + privacyScore01Pct: number; + privacyScore1Pct: number; + privacyScore5Pct: number; + poolSnapshot: string; +} + +export const WormholeOutputInformation = ({ + id +}: WormholeOutputDetailsProps) => { + const api = useApiClient(); + const { data, loading } = api.wormhole.getById().useQuery(id); + + const extrinsic = data?.wormholeExtrinsicById; + const nullifiers = data?.wormholeNullifiers ?? []; + + if (!loading && !extrinsic) throw notFound(); + + const extrinsicInfo: Partial[] = [ + { + extrinsicHash: extrinsic?.extrinsicHash, + totalAmount: extrinsic?.totalAmount, + outputCount: extrinsic?.outputCount, + block: extrinsic?.block, + timestamp: extrinsic?.timestamp, + privacyScore: extrinsic?.privacyScore, + privacyLabel: extrinsic?.privacyLabel, + privacyScore01Pct: extrinsic?.privacyScore01Pct, + privacyScore1Pct: extrinsic?.privacyScore1Pct, + privacyScore5Pct: extrinsic?.privacyScore5Pct, + poolSnapshot: extrinsic?.poolSnapshot + } + ]; + + return ( + <> +

Transaction Details

+ > + loading={loading} + data={extrinsicInfo} + fields={[ + { + label: 'Extrinsic Hash', + key: 'extrinsicHash', + render: (value) => + value ? ( + + ) : ( + - + ) + }, + { + label: 'Total Amount', + key: 'totalAmount', + render: (value) => formatMonetaryValue(Number(value)) + }, + { + label: 'Exit Outputs', + key: 'outputCount', + render: (value) => `${value}` + }, + { + label: 'Block', + key: 'block', + render: (value) => ( + + ) + }, + { + label: 'Timestamp', + key: 'timestamp', + render: (value) => formatTimestamp(value, true) + } + ]} + /> + +

Privacy Analysis

+ > + loading={loading} + data={extrinsicInfo} + fields={[ + { + label: 'Privacy Score', + key: 'privacyScore', + render: (value, item) => ( + + ), + tooltip: + 'Estimated bits of anonymity at 0.01 DEV precision. Based on how many deposit subsets could produce this total.' + }, + { + label: 'With 0.1% sacrifice', + key: 'privacyScore01Pct', + render: (value) => `${(value as number).toFixed(1)} bits`, + tooltip: + 'Score if the user had sacrificed 0.1% of the output for privacy.' + }, + { + label: 'With 1% sacrifice', + key: 'privacyScore1Pct', + render: (value) => `${(value as number).toFixed(1)} bits`, + tooltip: + 'Score if the user had sacrificed 1% of the output for privacy.' + }, + { + label: 'With 5% sacrifice', + key: 'privacyScore5Pct', + render: (value) => `${(value as number).toFixed(1)} bits`, + tooltip: + 'Score if the user had sacrificed 5% of the output for privacy.' + }, + { + label: 'Pool Snapshot', + key: 'poolSnapshot', + render: (value) => { + try { + const buckets = JSON.parse(value as string); + const nonEmpty = buckets.filter( + (b: { count: number }) => b.count > 0 + ); + return `${nonEmpty.length} active buckets`; + } catch { + return '-'; + } + }, + tooltip: + 'Deposit pool bucket distribution at time of proof verification.' + } + ]} + /> + +

Exit Outputs

+ {loading ? ( + + +
+
+
+
+ + + ) : ( +
+ {extrinsic?.outputs?.map( + ( + output: { + id: string; + exitAccount: { id: string }; + amount: string; + }, + idx: number + ) => ( + + +
+
+
+ Output {idx + 1} of {extrinsic.outputCount} +
+
{formatMonetaryValue(Number(output.amount))}
+
+
+
+ Exit Account +
+
+ +
+
+
+
+
+ ) + )} +
+ )} + + {nullifiers.length > 0 && ( + <> +

Nullifiers

+ + +

+ {nullifiers.length} nullifier + {nullifiers.length !== 1 ? 's' : ''} consumed by this proof + verification. Each corresponds to a spent wormhole deposit. +

+
+ {nullifiers.map( + ( + n: { nullifier: string; nullifierHash: string }, + idx: number + ) => ( +
+
+
+
+ Nullifier {idx + 1} +
+
+ +
+
+
+
+ Hash (blake3) +
+
+ {n.nullifierHash} +
+
+
+
+ ) + )} +
+
+
+ + )} + + ); +}; diff --git a/src/components/features/wormhole/WormholeOutputsTable.tsx b/src/components/features/wormhole/WormholeOutputsTable.tsx new file mode 100644 index 0000000..4d7660f --- /dev/null +++ b/src/components/features/wormhole/WormholeOutputsTable.tsx @@ -0,0 +1,86 @@ +import { useMemo } from 'react'; +import { getCoreRowModel, useReactTable } from '@tanstack/react-table'; +import { parseAsInteger, parseAsStringLiteral, useQueryState } from 'nuqs'; + +import useApiClient from '@/api'; +import { DataTable } from '@/components/ui/composites/data-table/DataTable'; +import { + WORMHOLE_EXTRINSIC_COLUMNS, + type WormholeExtrinsicRow +} from '@/components/common/table-columns/WORMHOLE_OUTPUT_COLUMNS'; +import { QUERY_DEFAULT_LIMIT } from '@/constants/query-default-limit'; +import { DATA_POOL_INTERVAL } from '@/constants/data-pool-interval'; + +const SORT_OPTIONS = [ + 'timestamp_DESC', + 'timestamp_ASC', + 'totalAmount_DESC', + 'totalAmount_ASC' +] as const; + +export const WormholeOutputsTable = () => { + const api = useApiClient(); + const [page, setPage] = useQueryState('page', parseAsInteger.withDefault(1)); + const [limit, setLimit] = useQueryState( + 'limit', + parseAsInteger.withDefault(QUERY_DEFAULT_LIMIT) + ); + const [sortBy] = useQueryState( + 'sortBy', + parseAsStringLiteral(SORT_OPTIONS).withDefault('timestamp_DESC') + ); + + const offset = (page - 1) * limit; + + const { data, loading, error } = api.wormhole.useGetAll({ + pollInterval: DATA_POOL_INTERVAL, + variables: { + orderBy: sortBy, + limit, + offset, + where: { extrinsicHash_isNull: false } + } + }); + + const rows: WormholeExtrinsicRow[] = useMemo( + () => data?.wormholeExtrinsics ?? [], + [data] + ); + const totalCount = data?.meta?.totalCount ?? 0; + + const table = useReactTable({ + data: rows, + columns: WORMHOLE_EXTRINSIC_COLUMNS, + getCoreRowModel: getCoreRowModel(), + manualSorting: true, + manualPagination: true, + pageCount: Math.ceil(totalCount / limit), + state: { + pagination: { pageIndex: page - 1, pageSize: limit } + }, + onPaginationChange: (updater) => { + if (typeof updater === 'function') { + const next = updater({ pageIndex: page - 1, pageSize: limit }); + setPage(next.pageIndex + 1); + setLimit(next.pageSize); + } + } + }); + + const getStatus = () => { + if (loading) return 'loading' as const; + if (error) return 'error' as const; + return 'success' as const; + }; + + return ( + Error: {error.message}
: undefined + }} + withControls + /> + ); +}; diff --git a/src/components/ui/composites/data-table/DataTable.stories.tsx b/src/components/ui/composites/data-table/DataTable.stories.tsx index 19f3dd2..6d7ff70 100644 --- a/src/components/ui/composites/data-table/DataTable.stories.tsx +++ b/src/components/ui/composites/data-table/DataTable.stories.tsx @@ -34,6 +34,8 @@ export const Primary: Omit = { amount: '999999', from: { id: '0x2131313' }, to: { id: '0xdjwaidjiajdi' }, + fromHash: '0x2131313', + toHash: '0xdjwaidjiajdi', timestamp: new Date().toISOString() }, { @@ -43,6 +45,8 @@ export const Primary: Omit = { amount: '999999', from: { id: '0x2131313' }, to: { id: '0xdjwaidjiajdi' }, + fromHash: '0x2131313', + toHash: '0xdjwaidjiajdi', timestamp: new Date().toISOString() }, { @@ -52,6 +56,8 @@ export const Primary: Omit = { amount: '999999', from: { id: '0x2131313' }, to: { id: '0xdjwaidjiajdi' }, + fromHash: '0x2131313', + toHash: '0xdjwaidjiajdi', timestamp: new Date().toISOString() }, { @@ -61,6 +67,8 @@ export const Primary: Omit = { amount: '999999', from: { id: '0x2131313' }, to: { id: '0xdjwaidjiajdi' }, + fromHash: '0x2131313', + toHash: '0xdjwaidjiajdi', timestamp: new Date().toISOString() } ], diff --git a/src/config/site-navigations.ts b/src/config/site-navigations.ts index aac8b88..1cb0d97 100644 --- a/src/config/site-navigations.ts +++ b/src/config/site-navigations.ts @@ -70,5 +70,6 @@ export const SITE_NAVIGATIONS: (SiteNavigation | ParentNavigation)[] = [ longLabel: 'Error Events' } ] - } + }, + { label: 'Wormhole', path: '/wormhole', longLabel: 'Wormhole Privacy' } ] as const; diff --git a/src/constants/resources.ts b/src/constants/resources.ts index b209911..a00e1f4 100644 --- a/src/constants/resources.ts +++ b/src/constants/resources.ts @@ -5,5 +5,6 @@ export const RESOURCES = { blocks: '/blocks', minerRewards: '/miner-rewards', highSecuritySets: '/high-security-sets', - errors: '/errors' + errors: '/errors', + wormhole: '/wormhole' } as const; diff --git a/src/routeTree.gen.ts b/src/routeTree.gen.ts index a98d3f7..946eb31 100644 --- a/src/routeTree.gen.ts +++ b/src/routeTree.gen.ts @@ -10,6 +10,7 @@ import { Route as rootRouteImport } from './routes/__root' import { Route as IndexRouteImport } from './routes/index' +import { Route as WormholeIndexRouteImport } from './routes/wormhole/index' import { Route as ReversibleTransactionsIndexRouteImport } from './routes/reversible-transactions/index' import { Route as MinerRewardsIndexRouteImport } from './routes/miner-rewards/index' import { Route as MinerLeaderboardIndexRouteImport } from './routes/miner-leaderboard/index' @@ -18,6 +19,7 @@ import { Route as HighSecuritySetsIndexRouteImport } from './routes/high-securit import { Route as ErrorsIndexRouteImport } from './routes/errors/index' import { Route as BlocksIndexRouteImport } from './routes/blocks/index' import { Route as AccountsIndexRouteImport } from './routes/accounts/index' +import { Route as WormholeIdRouteImport } from './routes/wormhole/$id' import { Route as ReversibleTransactionsHashRouteImport } from './routes/reversible-transactions/$hash' import { Route as MinerRewardsHashRouteImport } from './routes/miner-rewards/$hash' import { Route as ImmediateTransactionsHashRouteImport } from './routes/immediate-transactions/$hash' @@ -31,6 +33,11 @@ const IndexRoute = IndexRouteImport.update({ path: '/', getParentRoute: () => rootRouteImport, } as any) +const WormholeIndexRoute = WormholeIndexRouteImport.update({ + id: '/wormhole/', + path: '/wormhole/', + getParentRoute: () => rootRouteImport, +} as any) const ReversibleTransactionsIndexRoute = ReversibleTransactionsIndexRouteImport.update({ id: '/reversible-transactions/', @@ -73,6 +80,11 @@ const AccountsIndexRoute = AccountsIndexRouteImport.update({ path: '/accounts/', getParentRoute: () => rootRouteImport, } as any) +const WormholeIdRoute = WormholeIdRouteImport.update({ + id: '/wormhole/$id', + path: '/wormhole/$id', + getParentRoute: () => rootRouteImport, +} as any) const ReversibleTransactionsHashRoute = ReversibleTransactionsHashRouteImport.update({ id: '/reversible-transactions/$hash', @@ -120,6 +132,7 @@ export interface FileRoutesByFullPath { '/immediate-transactions/$hash': typeof ImmediateTransactionsHashRoute '/miner-rewards/$hash': typeof MinerRewardsHashRoute '/reversible-transactions/$hash': typeof ReversibleTransactionsHashRoute + '/wormhole/$id': typeof WormholeIdRoute '/accounts': typeof AccountsIndexRoute '/blocks': typeof BlocksIndexRoute '/errors': typeof ErrorsIndexRoute @@ -128,6 +141,7 @@ export interface FileRoutesByFullPath { '/miner-leaderboard': typeof MinerLeaderboardIndexRoute '/miner-rewards': typeof MinerRewardsIndexRoute '/reversible-transactions': typeof ReversibleTransactionsIndexRoute + '/wormhole': typeof WormholeIndexRoute } export interface FileRoutesByTo { '/': typeof IndexRoute @@ -138,6 +152,7 @@ export interface FileRoutesByTo { '/immediate-transactions/$hash': typeof ImmediateTransactionsHashRoute '/miner-rewards/$hash': typeof MinerRewardsHashRoute '/reversible-transactions/$hash': typeof ReversibleTransactionsHashRoute + '/wormhole/$id': typeof WormholeIdRoute '/accounts': typeof AccountsIndexRoute '/blocks': typeof BlocksIndexRoute '/errors': typeof ErrorsIndexRoute @@ -146,6 +161,7 @@ export interface FileRoutesByTo { '/miner-leaderboard': typeof MinerLeaderboardIndexRoute '/miner-rewards': typeof MinerRewardsIndexRoute '/reversible-transactions': typeof ReversibleTransactionsIndexRoute + '/wormhole': typeof WormholeIndexRoute } export interface FileRoutesById { __root__: typeof rootRouteImport @@ -157,6 +173,7 @@ export interface FileRoutesById { '/immediate-transactions/$hash': typeof ImmediateTransactionsHashRoute '/miner-rewards/$hash': typeof MinerRewardsHashRoute '/reversible-transactions/$hash': typeof ReversibleTransactionsHashRoute + '/wormhole/$id': typeof WormholeIdRoute '/accounts/': typeof AccountsIndexRoute '/blocks/': typeof BlocksIndexRoute '/errors/': typeof ErrorsIndexRoute @@ -165,6 +182,7 @@ export interface FileRoutesById { '/miner-leaderboard/': typeof MinerLeaderboardIndexRoute '/miner-rewards/': typeof MinerRewardsIndexRoute '/reversible-transactions/': typeof ReversibleTransactionsIndexRoute + '/wormhole/': typeof WormholeIndexRoute } export interface FileRouteTypes { fileRoutesByFullPath: FileRoutesByFullPath @@ -177,6 +195,7 @@ export interface FileRouteTypes { | '/immediate-transactions/$hash' | '/miner-rewards/$hash' | '/reversible-transactions/$hash' + | '/wormhole/$id' | '/accounts' | '/blocks' | '/errors' @@ -185,6 +204,7 @@ export interface FileRouteTypes { | '/miner-leaderboard' | '/miner-rewards' | '/reversible-transactions' + | '/wormhole' fileRoutesByTo: FileRoutesByTo to: | '/' @@ -195,6 +215,7 @@ export interface FileRouteTypes { | '/immediate-transactions/$hash' | '/miner-rewards/$hash' | '/reversible-transactions/$hash' + | '/wormhole/$id' | '/accounts' | '/blocks' | '/errors' @@ -203,6 +224,7 @@ export interface FileRouteTypes { | '/miner-leaderboard' | '/miner-rewards' | '/reversible-transactions' + | '/wormhole' id: | '__root__' | '/' @@ -213,6 +235,7 @@ export interface FileRouteTypes { | '/immediate-transactions/$hash' | '/miner-rewards/$hash' | '/reversible-transactions/$hash' + | '/wormhole/$id' | '/accounts/' | '/blocks/' | '/errors/' @@ -221,6 +244,7 @@ export interface FileRouteTypes { | '/miner-leaderboard/' | '/miner-rewards/' | '/reversible-transactions/' + | '/wormhole/' fileRoutesById: FileRoutesById } export interface RootRouteChildren { @@ -232,6 +256,7 @@ export interface RootRouteChildren { ImmediateTransactionsHashRoute: typeof ImmediateTransactionsHashRoute MinerRewardsHashRoute: typeof MinerRewardsHashRoute ReversibleTransactionsHashRoute: typeof ReversibleTransactionsHashRoute + WormholeIdRoute: typeof WormholeIdRoute AccountsIndexRoute: typeof AccountsIndexRoute BlocksIndexRoute: typeof BlocksIndexRoute ErrorsIndexRoute: typeof ErrorsIndexRoute @@ -240,6 +265,7 @@ export interface RootRouteChildren { MinerLeaderboardIndexRoute: typeof MinerLeaderboardIndexRoute MinerRewardsIndexRoute: typeof MinerRewardsIndexRoute ReversibleTransactionsIndexRoute: typeof ReversibleTransactionsIndexRoute + WormholeIndexRoute: typeof WormholeIndexRoute } declare module '@tanstack/react-router' { @@ -251,6 +277,13 @@ declare module '@tanstack/react-router' { preLoaderRoute: typeof IndexRouteImport parentRoute: typeof rootRouteImport } + '/wormhole/': { + id: '/wormhole/' + path: '/wormhole' + fullPath: '/wormhole' + preLoaderRoute: typeof WormholeIndexRouteImport + parentRoute: typeof rootRouteImport + } '/reversible-transactions/': { id: '/reversible-transactions/' path: '/reversible-transactions' @@ -307,6 +340,13 @@ declare module '@tanstack/react-router' { preLoaderRoute: typeof AccountsIndexRouteImport parentRoute: typeof rootRouteImport } + '/wormhole/$id': { + id: '/wormhole/$id' + path: '/wormhole/$id' + fullPath: '/wormhole/$id' + preLoaderRoute: typeof WormholeIdRouteImport + parentRoute: typeof rootRouteImport + } '/reversible-transactions/$hash': { id: '/reversible-transactions/$hash' path: '/reversible-transactions/$hash' @@ -368,6 +408,7 @@ const rootRouteChildren: RootRouteChildren = { ImmediateTransactionsHashRoute: ImmediateTransactionsHashRoute, MinerRewardsHashRoute: MinerRewardsHashRoute, ReversibleTransactionsHashRoute: ReversibleTransactionsHashRoute, + WormholeIdRoute: WormholeIdRoute, AccountsIndexRoute: AccountsIndexRoute, BlocksIndexRoute: BlocksIndexRoute, ErrorsIndexRoute: ErrorsIndexRoute, @@ -376,6 +417,7 @@ const rootRouteChildren: RootRouteChildren = { MinerLeaderboardIndexRoute: MinerLeaderboardIndexRoute, MinerRewardsIndexRoute: MinerRewardsIndexRoute, ReversibleTransactionsIndexRoute: ReversibleTransactionsIndexRoute, + WormholeIndexRoute: WormholeIndexRoute, } export const routeTree = rootRouteImport ._addFileChildren(rootRouteChildren) diff --git a/src/routes/wormhole/$id.tsx b/src/routes/wormhole/$id.tsx new file mode 100644 index 0000000..c92662e --- /dev/null +++ b/src/routes/wormhole/$id.tsx @@ -0,0 +1,24 @@ +import { createFileRoute } from '@tanstack/react-router'; + +import { WormholeOutputInformation } from '@/components/features/wormhole/WormholeOutputDetails'; +import { ContentContainer } from '@/components/ui/content-container'; +import { SectionContainer } from '@/components/ui/section-container'; + +export const Route = createFileRoute('/wormhole/$id')({ + component: WormholeOutputDetailsPage +}); + +function WormholeOutputDetailsPage() { + const { id } = Route.useParams(); + + return ( + + +

Wormhole Output

+ +
+
+ ); +} + +export default WormholeOutputDetailsPage; diff --git a/src/routes/wormhole/index.tsx b/src/routes/wormhole/index.tsx new file mode 100644 index 0000000..3eb5f6c --- /dev/null +++ b/src/routes/wormhole/index.tsx @@ -0,0 +1,32 @@ +import { createFileRoute } from '@tanstack/react-router'; + +import { ContentContainer } from '@/components/ui/content-container'; +import { SectionContainer } from '@/components/ui/section-container'; +import { DepositPoolStatsCard } from '@/components/features/wormhole/DepositPoolStats'; +import { WormholeOutputsTable } from '@/components/features/wormhole/WormholeOutputsTable'; + +export const Route = createFileRoute('/wormhole/')({ + component: WormholePage +}); + +function WormholePage() { + return ( + + +
+

Wormhole

+

+ Privacy-preserving transfers via zero-knowledge proofs. Each output + is scored based on how many deposit combinations could have produced + it. +

+
+ +

Recent Outputs

+ +
+
+ ); +} + +export default WormholePage; diff --git a/src/schemas/index.ts b/src/schemas/index.ts index c305e67..8b8fbd9 100644 --- a/src/schemas/index.ts +++ b/src/schemas/index.ts @@ -8,3 +8,4 @@ export * from './miner-reward'; export * from './reversible-transaction'; export * from './searchs'; export * from './transcation'; +export * from './wormhole'; diff --git a/src/schemas/wormhole.ts b/src/schemas/wormhole.ts new file mode 100644 index 0000000..c20ad2f --- /dev/null +++ b/src/schemas/wormhole.ts @@ -0,0 +1,65 @@ +import type * as gql from '../__generated__/graphql'; + +// Core wormhole extrinsic for list views +export interface WormholeExtrinsic + extends Pick< + gql.WormholeExtrinsic, + | 'id' + | 'extrinsicHash' + | 'totalAmount' + | 'outputCount' + | 'timestamp' + | 'privacyScore' + | 'privacyLabel' + > { + block: Pick; +} + +// Full wormhole extrinsic for detail view +export interface WormholeExtrinsicDetail + extends Pick< + gql.WormholeExtrinsic, + | 'id' + | 'extrinsicHash' + | 'totalAmount' + | 'outputCount' + | 'timestamp' + | 'privacyScore' + | 'privacyScore01Pct' + | 'privacyScore1Pct' + | 'privacyScore5Pct' + | 'privacyLabel' + | 'poolSnapshot' + > { + block: Pick; + outputs: WormholeOutput[]; +} + +export interface WormholeOutput { + id: string; + exitAccount: Pick; + amount: gql.Scalars['BigInt']['output']; +} + +export interface WormholeNullifier + extends Pick {} + +export interface DepositPoolStats + extends Pick {} + +// API Response types +export interface WormholeExtrinsicListResponse { + wormholeExtrinsics: WormholeExtrinsic[]; + meta: { + totalCount: number; + }; +} + +export interface WormholeExtrinsicResponse { + wormholeExtrinsicById: WormholeExtrinsicDetail; + wormholeNullifiers: WormholeNullifier[]; +} + +export interface DepositPoolStatsResponse { + depositPoolStatsById: DepositPoolStats; +}