From 02e273341a4208d381d4ec737f7b30f7501c8ea6 Mon Sep 17 00:00:00 2001 From: raghukapur9 <64493087+raghukapur9@users.noreply.github.com> Date: Thu, 5 Sep 2024 13:57:57 -0400 Subject: [PATCH 01/55] added SQL query for Transaction Fee stats --- .../graphql/resolvers/TransactionResolver.ts | 12 +++++ .../graphql/src/infra/dao/TransactionDAO.ts | 45 +++++++++++++++++++ 2 files changed, 57 insertions(+) diff --git a/packages/graphql/src/graphql/resolvers/TransactionResolver.ts b/packages/graphql/src/graphql/resolvers/TransactionResolver.ts index 562aa51bc..869f1b325 100644 --- a/packages/graphql/src/graphql/resolvers/TransactionResolver.ts +++ b/packages/graphql/src/graphql/resolvers/TransactionResolver.ts @@ -3,6 +3,7 @@ import type { GQLQueryTransactionsArgs, GQLQueryTransactionsByOwnerArgs, GQLTransaction, + // GQLQueryTransactionFeesArgs, } from '~/graphql/generated/sdk-provider'; import TransactionDAO from '~/infra/dao/TransactionDAO'; import PaginatedParams from '~/infra/paginator/PaginatedParams'; @@ -12,6 +13,7 @@ type Params = { transaction: GQLQueryTransactionArgs; transactions: GQLQueryTransactionsArgs; transactionByOwner: GQLQueryTransactionsByOwnerArgs; + // transactionFees: GQLQueryTransactionFeesArgs; }; export class TransactionResolver { @@ -22,6 +24,7 @@ export class TransactionResolver { transaction: resolvers.transaction, transactions: resolvers.transactions, transactionsByOwner: resolvers.transactionsByOwner, + getTransactionsFeeStatistics: resolvers.getTransactionsFeeStatistics, }, }; } @@ -50,4 +53,13 @@ export class TransactionResolver { ); return transactions; } + + async getTransactionsFeeStatistics(_: Source, params: string) { + // : Params['transactionFees'] + const transactionDAO = new TransactionDAO(); + // const transactions = await transactionDAO.getTransactionsFeeStatistics(params.timeFilter ? params.timeFilter: ''); + const transactions = + await transactionDAO.getTransactionsFeeStatistics(params); + return transactions; + } } diff --git a/packages/graphql/src/infra/dao/TransactionDAO.ts b/packages/graphql/src/infra/dao/TransactionDAO.ts index 5c7a999f6..95ac4e5e0 100644 --- a/packages/graphql/src/infra/dao/TransactionDAO.ts +++ b/packages/graphql/src/infra/dao/TransactionDAO.ts @@ -204,4 +204,49 @@ export default class TransactionDAO { } return transactions; } + + async getTransactionsFeeStatistics(timeFilter: string) { + // Define time intervals based on the filter + let interval = ''; + switch (timeFilter) { + case '1hr': + interval = '1 hour'; + break; + case '12hr': + interval = '12 hours'; + break; + case '1day': + interval = '1 day'; + break; + case '7days': + interval = '7 days'; + break; + case '14days': + interval = '14 days'; + break; + case '30days': + interval = '30 days'; + break; + case '90days': + interval = '90 days'; + break; + default: + throw new Error('Invalid time filter'); + } + + const transactionsData = await this.databaseConnection.query( + ` + SELECT + (data->'status'->>'totalFee')::numeric AS fee, + timestamp + FROM + indexer.transactions t + WHERE + timestamp >= NOW() - INTERVAL $1 + `, + [interval], + ); + + return transactionsData; + } } From 2c676c4a198e4201d65a7ff94dbb006a667db33d Mon Sep 17 00:00:00 2001 From: raghukapur9 <64493087+raghukapur9@users.noreply.github.com> Date: Thu, 5 Sep 2024 16:58:02 -0400 Subject: [PATCH 02/55] feat:added query to get Transaction Fee Stat --- .../getTransactionsFeeStatistics.graphql | 8 +++++ .../sdk/getTransactionsFeeStatistics.graphql | 8 +++++ .../graphql/resolvers/TransactionResolver.ts | 16 +++++---- .../src/graphql/schemas/fuelcore.graphql | 11 ++++++ .../graphql/src/infra/dao/TransactionDAO.ts | 34 ++++++++++++------- packages/graphql/src/schemas/fuelcore.graphql | 11 ++++++ 6 files changed, 68 insertions(+), 20 deletions(-) create mode 100644 packages/graphql/src/graphql/generated/fuelcore/queries/getTransactionsFeeStatistics.graphql create mode 100644 packages/graphql/src/graphql/queries/sdk/getTransactionsFeeStatistics.graphql diff --git a/packages/graphql/src/graphql/generated/fuelcore/queries/getTransactionsFeeStatistics.graphql b/packages/graphql/src/graphql/generated/fuelcore/queries/getTransactionsFeeStatistics.graphql new file mode 100644 index 000000000..d7657c846 --- /dev/null +++ b/packages/graphql/src/graphql/generated/fuelcore/queries/getTransactionsFeeStatistics.graphql @@ -0,0 +1,8 @@ +query getTransactionsFeeStatistics($timeFilter: String){ + getTransactionsFeeStatistics(timeFilter: $timeFilter){ + nodes{ + fee + timestamp + } + } +} \ No newline at end of file diff --git a/packages/graphql/src/graphql/queries/sdk/getTransactionsFeeStatistics.graphql b/packages/graphql/src/graphql/queries/sdk/getTransactionsFeeStatistics.graphql new file mode 100644 index 000000000..325a8bf05 --- /dev/null +++ b/packages/graphql/src/graphql/queries/sdk/getTransactionsFeeStatistics.graphql @@ -0,0 +1,8 @@ +query getTransactionsFeeStatistics($timeFilter: String){ + getTransactionsFeeStatistics(timeFilter: $timeFilter){ + nodes { + fee + timestamp + } + } +} \ No newline at end of file diff --git a/packages/graphql/src/graphql/resolvers/TransactionResolver.ts b/packages/graphql/src/graphql/resolvers/TransactionResolver.ts index 869f1b325..6e29e04d6 100644 --- a/packages/graphql/src/graphql/resolvers/TransactionResolver.ts +++ b/packages/graphql/src/graphql/resolvers/TransactionResolver.ts @@ -1,9 +1,9 @@ import type { + GQLQueryGetTransactionsFeeStatisticsArgs, GQLQueryTransactionArgs, GQLQueryTransactionsArgs, GQLQueryTransactionsByOwnerArgs, GQLTransaction, - // GQLQueryTransactionFeesArgs, } from '~/graphql/generated/sdk-provider'; import TransactionDAO from '~/infra/dao/TransactionDAO'; import PaginatedParams from '~/infra/paginator/PaginatedParams'; @@ -13,7 +13,7 @@ type Params = { transaction: GQLQueryTransactionArgs; transactions: GQLQueryTransactionsArgs; transactionByOwner: GQLQueryTransactionsByOwnerArgs; - // transactionFees: GQLQueryTransactionFeesArgs; + transactionFees: GQLQueryGetTransactionsFeeStatisticsArgs; }; export class TransactionResolver { @@ -54,12 +54,14 @@ export class TransactionResolver { return transactions; } - async getTransactionsFeeStatistics(_: Source, params: string) { - // : Params['transactionFees'] + async getTransactionsFeeStatistics( + _: Source, + params: Params['transactionFees'], + ) { const transactionDAO = new TransactionDAO(); - // const transactions = await transactionDAO.getTransactionsFeeStatistics(params.timeFilter ? params.timeFilter: ''); - const transactions = - await transactionDAO.getTransactionsFeeStatistics(params); + const transactions = await transactionDAO.getTransactionsFeeStatistics( + params.timeFilter ? params.timeFilter : '', + ); return transactions; } } diff --git a/packages/graphql/src/graphql/schemas/fuelcore.graphql b/packages/graphql/src/graphql/schemas/fuelcore.graphql index 1f1e69883..232b9e1ba 100644 --- a/packages/graphql/src/graphql/schemas/fuelcore.graphql +++ b/packages/graphql/src/graphql/schemas/fuelcore.graphql @@ -780,6 +780,7 @@ type Query { ): Transaction transactions(after: String, before: String, first: Int, last: Int): TransactionConnection! transactionsByOwner(after: String, before: String, first: Int, last: Int, owner: Address!): TransactionConnection! + getTransactionsFeeStatistics(timeFilter: String): TransactionFeeConnection } type Receipt { @@ -978,6 +979,16 @@ type TransactionConnection { pageInfo: PageInfo! } +type TransactionFee { + fee: U64! + timestamp: String! +} + +type TransactionFeeConnection { + """A list of nodes.""" + nodes: [TransactionFee!] +} + """An edge in a connection.""" type TransactionEdge { """A cursor for use in pagination""" diff --git a/packages/graphql/src/infra/dao/TransactionDAO.ts b/packages/graphql/src/infra/dao/TransactionDAO.ts index 95ac4e5e0..8e17a5684 100644 --- a/packages/graphql/src/infra/dao/TransactionDAO.ts +++ b/packages/graphql/src/infra/dao/TransactionDAO.ts @@ -206,8 +206,8 @@ export default class TransactionDAO { } async getTransactionsFeeStatistics(timeFilter: string) { - // Define time intervals based on the filter - let interval = ''; + let interval; + switch (timeFilter) { case '1hr': interval = '1 hour'; @@ -231,22 +231,30 @@ export default class TransactionDAO { interval = '90 days'; break; default: - throw new Error('Invalid time filter'); + interval = null; } - const transactionsData = await this.databaseConnection.query( - ` + let query = ` SELECT - (data->'status'->>'totalFee')::numeric AS fee, - timestamp + (data->'status'->>'totalFee')::numeric AS fee, + timestamp FROM indexer.transactions t - WHERE - timestamp >= NOW() - INTERVAL $1 - `, - [interval], - ); + `; - return transactionsData; + // Add the time filtering condition only if an interval is defined + if (interval) { + query += ` + WHERE + timestamp >= NOW() - INTERVAL '${interval}' + `; + } + // Execute the query + const transactionsData = await this.databaseConnection.query(query, []); + + const results = { + nodes: transactionsData, + }; + return results; } } diff --git a/packages/graphql/src/schemas/fuelcore.graphql b/packages/graphql/src/schemas/fuelcore.graphql index f265af58a..3917e5333 100644 --- a/packages/graphql/src/schemas/fuelcore.graphql +++ b/packages/graphql/src/schemas/fuelcore.graphql @@ -782,6 +782,7 @@ type Query { ): Transaction transactions(after: String, before: String, first: Int, last: Int): TransactionConnection! transactionsByOwner(after: String, before: String, first: Int, last: Int, owner: Address!): TransactionConnection! + getTransactionsFeeStatistics(timeFilter: String): TransactionFeeConnection } type Receipt { @@ -1022,4 +1023,14 @@ type VariableOutput { amount: U64! assetId: AssetId! to: Address! +} + +type TransactionFee { + fee: U64! + timestamp: String! +} + +type TransactionFeeConnection { + """A list of nodes.""" + nodes: [TransactionFee!] } \ No newline at end of file From 17bcae7c68a4c0331d406591edaee184f90b635e Mon Sep 17 00:00:00 2001 From: raghukapur9 <64493087+raghukapur9@users.noreply.github.com> Date: Thu, 5 Sep 2024 17:55:25 -0400 Subject: [PATCH 03/55] feat: added blockReward query for statistics --- .../queries/blockRewardStatistics.graphql | 9 ++ .../provider/blockRewardStatistics.graphql | 9 ++ .../queries/sdk/blockRewardStatistics.graphql | 9 ++ .../src/graphql/resolvers/BlockResolver.ts | 11 +++ .../src/graphql/schemas/fuelcore.graphql | 12 +++ packages/graphql/src/infra/dao/BlockDAO.ts | 86 ++++++++++++++++--- packages/graphql/src/schemas/fuelcore.graphql | 14 ++- 7 files changed, 139 insertions(+), 11 deletions(-) create mode 100644 packages/graphql/src/graphql/generated/fuelcore/queries/blockRewardStatistics.graphql create mode 100644 packages/graphql/src/graphql/queries/provider/blockRewardStatistics.graphql create mode 100644 packages/graphql/src/graphql/queries/sdk/blockRewardStatistics.graphql diff --git a/packages/graphql/src/graphql/generated/fuelcore/queries/blockRewardStatistics.graphql b/packages/graphql/src/graphql/generated/fuelcore/queries/blockRewardStatistics.graphql new file mode 100644 index 000000000..a788d439f --- /dev/null +++ b/packages/graphql/src/graphql/generated/fuelcore/queries/blockRewardStatistics.graphql @@ -0,0 +1,9 @@ +query blockRewardStatistics($timeFilter: String){ + blockRewardStatistics(timeFilter: $timeFilter){ + nodes{ + id + reward + timestamp + } + } +} \ No newline at end of file diff --git a/packages/graphql/src/graphql/queries/provider/blockRewardStatistics.graphql b/packages/graphql/src/graphql/queries/provider/blockRewardStatistics.graphql new file mode 100644 index 000000000..67876eada --- /dev/null +++ b/packages/graphql/src/graphql/queries/provider/blockRewardStatistics.graphql @@ -0,0 +1,9 @@ +query blockRewardStatistics($timeFilter: String){ + blockRewardStatistics(timeFilter: $timeFilter){ + nodes { + id + reward + timestamp + } + } +} \ No newline at end of file diff --git a/packages/graphql/src/graphql/queries/sdk/blockRewardStatistics.graphql b/packages/graphql/src/graphql/queries/sdk/blockRewardStatistics.graphql new file mode 100644 index 000000000..67876eada --- /dev/null +++ b/packages/graphql/src/graphql/queries/sdk/blockRewardStatistics.graphql @@ -0,0 +1,9 @@ +query blockRewardStatistics($timeFilter: String){ + blockRewardStatistics(timeFilter: $timeFilter){ + nodes { + id + reward + timestamp + } + } +} \ No newline at end of file diff --git a/packages/graphql/src/graphql/resolvers/BlockResolver.ts b/packages/graphql/src/graphql/resolvers/BlockResolver.ts index f550eeaa5..483441ce6 100644 --- a/packages/graphql/src/graphql/resolvers/BlockResolver.ts +++ b/packages/graphql/src/graphql/resolvers/BlockResolver.ts @@ -3,6 +3,7 @@ import { logger } from '~/core/Logger'; import type { GQLBlock, GQLQueryBlockArgs, + GQLQueryBlockRewardStatisticsArgs, GQLQueryBlocksArgs, } from '~/graphql/generated/sdk-provider'; import BlockDAO from '~/infra/dao/BlockDAO'; @@ -12,6 +13,7 @@ type Source = GQLBlock; type Params = { blocks: GQLQueryBlocksArgs; block: GQLQueryBlockArgs; + blockReward: GQLQueryBlockRewardStatisticsArgs; }; export class BlockResolver { @@ -21,6 +23,7 @@ export class BlockResolver { Query: { block: resolvers.block, blocks: resolvers.blocks, + blockRewardStatistics: resolvers.blockRewardStatistics, }, }; } @@ -55,4 +58,12 @@ export class BlockResolver { ); return blocks; } + + async blockRewardStatistics(_: Source, params: Params['blockReward']) { + const blockDAO = new BlockDAO(); + const blocks = await blockDAO.getBlockRewards( + params.timeFilter ? params.timeFilter : '', + ); + return blocks; + } } diff --git a/packages/graphql/src/graphql/schemas/fuelcore.graphql b/packages/graphql/src/graphql/schemas/fuelcore.graphql index 232b9e1ba..924148169 100644 --- a/packages/graphql/src/graphql/schemas/fuelcore.graphql +++ b/packages/graphql/src/graphql/schemas/fuelcore.graphql @@ -704,6 +704,7 @@ type Query { id: BlockId ): Block blocks(after: String, before: String, first: Int, last: Int): BlockConnection! + blockRewardStatistics(timeFilter: String): BlockRewardConnection! chain: ChainInfo! """Gets the coin by `utxo_id`.""" coin( @@ -989,6 +990,17 @@ type TransactionFeeConnection { nodes: [TransactionFee!] } +type BlockReward { + id: BlockId! + reward: U64! + timestamp: String! +} + +type BlockRewardConnection { + """A list of nodes.""" + nodes: [BlockReward!] +} + """An edge in a connection.""" type TransactionEdge { """A cursor for use in pagination""" diff --git a/packages/graphql/src/infra/dao/BlockDAO.ts b/packages/graphql/src/infra/dao/BlockDAO.ts index 33e1c517f..4a7e9e9db 100644 --- a/packages/graphql/src/infra/dao/BlockDAO.ts +++ b/packages/graphql/src/infra/dao/BlockDAO.ts @@ -50,18 +50,25 @@ export default class BlockDAO { const order = paginatedParams.direction === 'before' ? 'desc' : 'asc'; const blocksData = await this.databaseConnection.query( ` - select - * - from - indexer.blocks b - where - $1::integer is null or b._id ${direction} $1 - order by - b._id ${order} - limit 10 - `, + SELECT + jsonb_build_object( + 'isMint', elem->>'isMint', + 'mintAmount', elem->>'mintAmount' + ) AS transactions + timestamp + FROM + indexer.blocks b, + jsonb_array_elements(b.data->'transactions') AS elem + WHERE + $1::integer IS NULL OR b._id ${direction} $1 + ORDER BY + b._id ${order} + LIMIT 10; + `, [paginatedParams.cursor], ); + console.log('////////////////'); + console.log(blocksData); blocksData.sort((a: any, b: any) => { return (a._id - b._id) * -1; }); @@ -121,4 +128,63 @@ export default class BlockDAO { if (!blockData) return; return new Block(blockData); } + + async getBlockRewards(timeFilter: string) { + let interval; + + switch (timeFilter) { + case '1hr': + interval = '1 hour'; + break; + case '12hr': + interval = '12 hours'; + break; + case '1day': + interval = '1 day'; + break; + case '7days': + interval = '7 days'; + break; + case '14days': + interval = '14 days'; + break; + case '30days': + interval = '30 days'; + break; + case '90days': + interval = '90 days'; + break; + default: + interval = null; + } + + let query = ` + SELECT + b._id AS id, + elem->>'mintAmount' AS reward, + b.timestamp + FROM + indexer.blocks b, + jsonb_array_elements(b.data->'transactions') AS elem + WHERE + elem->>'isMint' = 'true' + `; + + // Add the time filtering condition only if an interval is defined + if (interval) { + query += ` + AND + b.timestamp >= NOW() - INTERVAL '${interval}' + `; + } + + query += ' ORDER BY id desc'; + // Execute the query + const blocksData = await this.databaseConnection.query(query, []); + + const results = { + nodes: blocksData, + }; + return results; + } } diff --git a/packages/graphql/src/schemas/fuelcore.graphql b/packages/graphql/src/schemas/fuelcore.graphql index 3917e5333..e84c5e12e 100644 --- a/packages/graphql/src/schemas/fuelcore.graphql +++ b/packages/graphql/src/schemas/fuelcore.graphql @@ -706,6 +706,7 @@ type Query { id: BlockId ): Block blocks(after: String, before: String, first: Int, last: Int): BlockConnection! + blockRewardStatistics(timeFilter: String): BlockRewardConnection! chain: ChainInfo! """Gets the coin by `utxo_id`.""" coin( @@ -1033,4 +1034,15 @@ type TransactionFee { type TransactionFeeConnection { """A list of nodes.""" nodes: [TransactionFee!] -} \ No newline at end of file +} + +type BlockReward { + id: BlockId! + reward: U64! + timestamp: String! +} + +type BlockRewardConnection { + """A list of nodes.""" + nodes: [BlockReward!] +} From 54fbc662168b215fc7f8d46b29e5604f63f87ea5 Mon Sep 17 00:00:00 2001 From: raghukapur9 <64493087+raghukapur9@users.noreply.github.com> Date: Thu, 5 Sep 2024 20:07:06 -0400 Subject: [PATCH 04/55] feat: added block count and reward stat --- .../systems/Statistics/actions/getBlocks.ts | 74 +++++++++++ .../src/systems/Statistics/utils/date.ts | 16 +++ .../src/systems/Statistics/utils/utils.ts | 116 ++++++++++++++++++ packages/graphql/src/infra/dao/BlockDAO.ts | 37 +++--- 4 files changed, 224 insertions(+), 19 deletions(-) create mode 100644 packages/app-explorer/src/systems/Statistics/actions/getBlocks.ts create mode 100644 packages/app-explorer/src/systems/Statistics/utils/date.ts create mode 100644 packages/app-explorer/src/systems/Statistics/utils/utils.ts diff --git a/packages/app-explorer/src/systems/Statistics/actions/getBlocks.ts b/packages/app-explorer/src/systems/Statistics/actions/getBlocks.ts new file mode 100644 index 000000000..ccfdbaf47 --- /dev/null +++ b/packages/app-explorer/src/systems/Statistics/actions/getBlocks.ts @@ -0,0 +1,74 @@ +'use server'; + +import { z } from 'zod'; +import { act } from '~/systems/Core/utils/act-server'; +import { sdk } from '~/systems/Core/utils/sdk'; +import { DateHelper } from '../utils/Date'; +import { createIntervals, getUnitAndInterval } from '../utils/utils'; + +const schema = z.object({ + timeFilter: z.string().optional().nullable(), +}); + +export const getBlocks = act(schema, async (timeFilter) => { + const params = { timeFilter: timeFilter } as { + timeFilter?: string; + }; + const data = await sdk.blockRewardStatistics(params); + const _blocks = data.data.blockRewardStatistics.nodes; + return data.data.blockRewardStatistics; +}); + +const _getBlocksStats = async (timeFilter: string) => { + const { unit, intervalSize } = getUnitAndInterval(timeFilter); + console.log('unit', unit); + console.log('intervalSize', intervalSize); + const { data } = await sdk.blockRewardStatistics({ timeFilter: '7days' }); + + // console.log(data.blockRewardStatistics.nodes); + if (data.blockRewardStatistics.nodes) { + const nodes = data.blockRewardStatistics.nodes; + const firstTimestamp = Number(DateHelper.tai64toDate(nodes[0].timestamp)); + const lastTimestamp = Number( + DateHelper.tai64toDate(nodes[nodes.length - 1].timestamp), + ); + + console.log('firstTimestamp ', firstTimestamp); + console.log('lastTimestamp ', lastTimestamp); + + const intervals = createIntervals( + firstTimestamp, + lastTimestamp, + unit, + intervalSize, + ); + console.log(intervals); + + const intervalMap = intervals.map((interval) => ({ + start: interval.start.toISOString(), + end: interval.end.toISOString(), + count: 0, + totalRewards: 0, + })); + + // Process blocks and put them into the correct interval + nodes.forEach((block) => { + const blockTimestamp = Number(DateHelper.tai64toDate(block.timestamp)); + const blockReward = Number(block.reward); + + // Find the correct interval for the current block + for (const interval of intervalMap) { + const intervalStart = new Date(interval.start).getTime(); + const intervalEnd = new Date(interval.end).getTime(); + + if (blockTimestamp >= intervalStart && blockTimestamp < intervalEnd) { + // Increment count and add the reward to totalRewards + interval.count += 1; + interval.totalRewards += blockReward; + break; // Block has been assigned to the correct interval, no need to check further + } + } + }); + console.log(intervalMap); + } +}; diff --git a/packages/app-explorer/src/systems/Statistics/utils/date.ts b/packages/app-explorer/src/systems/Statistics/utils/date.ts new file mode 100644 index 000000000..9995818df --- /dev/null +++ b/packages/app-explorer/src/systems/Statistics/utils/date.ts @@ -0,0 +1,16 @@ +import dayjs from 'dayjs'; +import relativeTime from 'dayjs/plugin/relativeTime'; +import { TAI64 } from 'tai64'; + +dayjs.extend(relativeTime); + +export class DateHelper { + static tai64toDate(tai64Timestamp: string) { + const timestamp = TAI64.fromString(tai64Timestamp, 10).toUnix(); + return dayjs(timestamp * 1000); + } + + static dateToTai64(date: Date) { + return TAI64.fromUnix(Math.floor(date.getTime() / 1000)).toString(10); + } +} diff --git a/packages/app-explorer/src/systems/Statistics/utils/utils.ts b/packages/app-explorer/src/systems/Statistics/utils/utils.ts new file mode 100644 index 000000000..8b24f5719 --- /dev/null +++ b/packages/app-explorer/src/systems/Statistics/utils/utils.ts @@ -0,0 +1,116 @@ +export function getUnitAndInterval(timeRange: string): { + unit: 'minute' | 'hour' | 'day' | 'month'; + intervalSize: number; +} { + switch (timeRange) { + case '1hr': + return { unit: 'minute', intervalSize: 5 }; + case '12hr': + return { unit: 'hour', intervalSize: 1 }; + case '1day': + return { unit: 'hour', intervalSize: 2 }; + case '7days': + return { unit: 'hour', intervalSize: 12 }; + case '14days': + return { unit: 'day', intervalSize: 1 }; + case '30days': + return { unit: 'day', intervalSize: 3 }; + case '90days': + return { unit: 'day', intervalSize: 10 }; + default: + return { unit: 'month', intervalSize: 1 }; + } +} + +function roundToNearest( + time: number, + unit: 'minute' | 'hour' | 'day' | 'month', + roundUp = false, +): number { + const date = new Date(time); + + switch (unit) { + case 'minute': { + const msInMinute = 60 * 1000; + const msInFiveMinutes = 5 * msInMinute; + return roundUp + ? Math.ceil(time / msInFiveMinutes) * msInFiveMinutes + : Math.floor(time / msInFiveMinutes) * msInFiveMinutes; + } + + case 'hour': { + const msInHour = 60 * 60 * 1000; + return roundUp + ? Math.ceil(time / msInHour) * msInHour + : Math.floor(time / msInHour) * msInHour; + } + + case 'day': + if (roundUp) { + date.setUTCHours(0, 0, 0, 0); + return date.getTime() + 24 * 60 * 60 * 1000; // Add one day + } + date.setUTCHours(0, 0, 0, 0); // Set to midnight + return date.getTime(); + + case 'month': + if (roundUp) { + if (date.getUTCMonth() === 11) { + // If December, increment year + date.setUTCFullYear(date.getUTCFullYear() + 1); + date.setUTCMonth(0); + } else { + date.setUTCMonth(date.getUTCMonth() + 1); + } + date.setUTCDate(1); // First day of the next month + } else { + date.setUTCDate(1); // First day of the current month + } + date.setUTCHours(0, 0, 0, 0); // Set time to midnight + return date.getTime(); + } +} + +// General interval creation function +export function createIntervals( + startTime: number, + endTime: number, + unit: 'minute' | 'hour' | 'day' | 'month', + intervalSize: number, +): Array<{ start: Date; end: Date }> { + const roundedStartTime = roundToNearest(startTime, unit); + const roundedEndTime = roundToNearest(endTime, unit, true); + + const intervals: Array<{ start: Date; end: Date }> = []; + + let currentTime = roundedStartTime; + + if (unit === 'month') { + // Handle month-specific interval logic (varying days in a month) + const currentDate = new Date(roundedStartTime); + while (currentDate.getTime() < roundedEndTime) { + const startInterval = new Date(currentDate); + currentDate.setUTCMonth(currentDate.getUTCMonth() + intervalSize); // Move by `intervalSize` months + const endInterval = new Date(currentDate); + intervals.push({ start: startInterval, end: endInterval }); + } + } else { + // Handle minute, hour, and day intervals + const msInUnit = { + minute: 60 * 1000, + hour: 60 * 60 * 1000, + day: 24 * 60 * 60 * 1000, + }; + + const intervalDuration = intervalSize * msInUnit[unit]; + + while (currentTime < roundedEndTime) { + const startInterval = new Date(currentTime); + const endInterval = new Date(currentTime + intervalDuration); + intervals.push({ start: startInterval, end: endInterval }); + currentTime += intervalDuration; + } + } + + return intervals; +} diff --git a/packages/graphql/src/infra/dao/BlockDAO.ts b/packages/graphql/src/infra/dao/BlockDAO.ts index 4a7e9e9db..229a8572e 100644 --- a/packages/graphql/src/infra/dao/BlockDAO.ts +++ b/packages/graphql/src/infra/dao/BlockDAO.ts @@ -67,8 +67,7 @@ export default class BlockDAO { `, [paginatedParams.cursor], ); - console.log('////////////////'); - console.log(blocksData); + blocksData.sort((a: any, b: any) => { return (a._id - b._id) * -1; }); @@ -130,39 +129,39 @@ export default class BlockDAO { } async getBlockRewards(timeFilter: string) { - let interval; + let _interval; switch (timeFilter) { case '1hr': - interval = '1 hour'; + _interval = '1 hour'; break; case '12hr': - interval = '12 hours'; + _interval = '12 hours'; break; case '1day': - interval = '1 day'; + _interval = '1 day'; break; case '7days': - interval = '7 days'; + _interval = '7 days'; break; case '14days': - interval = '14 days'; + _interval = '14 days'; break; case '30days': - interval = '30 days'; + _interval = '30 days'; break; case '90days': - interval = '90 days'; + _interval = '90 days'; break; default: - interval = null; + _interval = null; } let query = ` SELECT b._id AS id, elem->>'mintAmount' AS reward, - b.timestamp + (b.data->'header'->>'time')::bigint AS timestamp FROM indexer.blocks b, jsonb_array_elements(b.data->'transactions') AS elem @@ -171,14 +170,14 @@ export default class BlockDAO { `; // Add the time filtering condition only if an interval is defined - if (interval) { - query += ` - AND - b.timestamp >= NOW() - INTERVAL '${interval}' - `; - } + // if (interval) { + // query += ` + // AND + // b.timestamp >= NOW() - INTERVAL '${interval}' + // `; + // } - query += ' ORDER BY id desc'; + query += ' ORDER BY id asc'; // Execute the query const blocksData = await this.databaseConnection.query(query, []); From ce02b4eb212428da84fa3ada7087fa3ed1d509f8 Mon Sep 17 00:00:00 2001 From: raghukapur9 <64493087+raghukapur9@users.noreply.github.com> Date: Fri, 6 Sep 2024 13:01:58 -0400 Subject: [PATCH 05/55] fix: block reward query using tai64timestamp --- .../systems/Statistics/actions/getBlocks.ts | 102 ++++++++---------- packages/graphql/src/infra/dao/BlockDAO.ts | 33 +++--- 2 files changed, 64 insertions(+), 71 deletions(-) diff --git a/packages/app-explorer/src/systems/Statistics/actions/getBlocks.ts b/packages/app-explorer/src/systems/Statistics/actions/getBlocks.ts index ccfdbaf47..0d418c32e 100644 --- a/packages/app-explorer/src/systems/Statistics/actions/getBlocks.ts +++ b/packages/app-explorer/src/systems/Statistics/actions/getBlocks.ts @@ -3,72 +3,60 @@ import { z } from 'zod'; import { act } from '~/systems/Core/utils/act-server'; import { sdk } from '~/systems/Core/utils/sdk'; -import { DateHelper } from '../utils/Date'; +import { DateHelper } from '../utils/date'; import { createIntervals, getUnitAndInterval } from '../utils/utils'; const schema = z.object({ timeFilter: z.string().optional().nullable(), }); -export const getBlocks = act(schema, async (timeFilter) => { +export const getBlockStats = act(schema, async (timeFilter) => { const params = { timeFilter: timeFilter } as { timeFilter?: string; }; const data = await sdk.blockRewardStatistics(params); - const _blocks = data.data.blockRewardStatistics.nodes; - return data.data.blockRewardStatistics; -}); - -const _getBlocksStats = async (timeFilter: string) => { - const { unit, intervalSize } = getUnitAndInterval(timeFilter); - console.log('unit', unit); - console.log('intervalSize', intervalSize); - const { data } = await sdk.blockRewardStatistics({ timeFilter: '7days' }); - - // console.log(data.blockRewardStatistics.nodes); - if (data.blockRewardStatistics.nodes) { - const nodes = data.blockRewardStatistics.nodes; - const firstTimestamp = Number(DateHelper.tai64toDate(nodes[0].timestamp)); - const lastTimestamp = Number( - DateHelper.tai64toDate(nodes[nodes.length - 1].timestamp), - ); - - console.log('firstTimestamp ', firstTimestamp); - console.log('lastTimestamp ', lastTimestamp); - - const intervals = createIntervals( - firstTimestamp, - lastTimestamp, - unit, - intervalSize, - ); - console.log(intervals); - - const intervalMap = intervals.map((interval) => ({ - start: interval.start.toISOString(), - end: interval.end.toISOString(), - count: 0, - totalRewards: 0, - })); - // Process blocks and put them into the correct interval - nodes.forEach((block) => { - const blockTimestamp = Number(DateHelper.tai64toDate(block.timestamp)); - const blockReward = Number(block.reward); - - // Find the correct interval for the current block - for (const interval of intervalMap) { - const intervalStart = new Date(interval.start).getTime(); - const intervalEnd = new Date(interval.end).getTime(); - - if (blockTimestamp >= intervalStart && blockTimestamp < intervalEnd) { - // Increment count and add the reward to totalRewards - interval.count += 1; - interval.totalRewards += blockReward; - break; // Block has been assigned to the correct interval, no need to check further - } - } - }); - console.log(intervalMap); + if (!data.data.blockRewardStatistics.nodes) { + return {}; } -}; + const { unit, intervalSize } = getUnitAndInterval(params.timeFilter || ''); + const nodes = data.data.blockRewardStatistics.nodes; + const firstTimestamp = Number(DateHelper.tai64toDate(nodes[0].timestamp)); + const lastTimestamp = Number( + DateHelper.tai64toDate(nodes[nodes.length - 1].timestamp), + ); + + const intervals = createIntervals( + firstTimestamp, + lastTimestamp, + unit, + intervalSize, + ); + + const intervalMap = intervals.map((interval) => ({ + start: interval.start.toISOString(), + end: interval.end.toISOString(), + count: 0, + totalRewards: 0, + })); + + // Process blocks and put them into the correct interval + nodes.forEach((block) => { + const blockTimestamp = Number(DateHelper.tai64toDate(block.timestamp)); + const blockReward = Number(block.reward); + + // Find the correct interval for the current block + for (const interval of intervalMap) { + const intervalStart = new Date(interval.start).getTime(); + const intervalEnd = new Date(interval.end).getTime(); + + if (blockTimestamp >= intervalStart && blockTimestamp < intervalEnd) { + // Increment count and add the reward to totalRewards + interval.count += 1; + interval.totalRewards += blockReward; + break; // Block has been assigned to the correct interval, no need to check further + } + } + }); + return intervalMap; +}); diff --git a/packages/graphql/src/infra/dao/BlockDAO.ts b/packages/graphql/src/infra/dao/BlockDAO.ts index 229a8572e..249be17c8 100644 --- a/packages/graphql/src/infra/dao/BlockDAO.ts +++ b/packages/graphql/src/infra/dao/BlockDAO.ts @@ -1,3 +1,4 @@ +import { DateHelper } from '~/core/Date'; import { DatabaseConnection } from '../database/DatabaseConnection'; import PaginatedParams from '../paginator/PaginatedParams'; import Block from './Block'; @@ -130,28 +131,28 @@ export default class BlockDAO { async getBlockRewards(timeFilter: string) { let _interval; - + const msPerHour = 60 * 60 * 24 * 100; switch (timeFilter) { case '1hr': - _interval = '1 hour'; + _interval = msPerHour; break; case '12hr': - _interval = '12 hours'; + _interval = msPerHour * 12; break; case '1day': - _interval = '1 day'; + _interval = msPerHour * 24; break; case '7days': - _interval = '7 days'; + _interval = msPerHour * 24 * 7; break; case '14days': - _interval = '14 days'; + _interval = msPerHour * 24 * 14; break; case '30days': - _interval = '30 days'; + _interval = msPerHour * 24 * 30; break; case '90days': - _interval = '90 days'; + _interval = msPerHour * 24 * 90; break; default: _interval = null; @@ -170,12 +171,16 @@ export default class BlockDAO { `; // Add the time filtering condition only if an interval is defined - // if (interval) { - // query += ` - // AND - // b.timestamp >= NOW() - INTERVAL '${interval}' - // `; - // } + if (_interval) { + const intervalStartTimeInMilliseconds = Date.now() - _interval; + const intervalStartTimeDate = new Date(intervalStartTimeInMilliseconds); + const intervalStartTimeTai64 = DateHelper.dateToTai64( + intervalStartTimeDate, + ); + query += `AND + (b.data->'header'->>'time')::bigint >= ${intervalStartTimeTai64} + `; + } query += ' ORDER BY id asc'; // Execute the query From 61602a41c4aba374052d47dc0922cf2276981525 Mon Sep 17 00:00:00 2001 From: raghukapur9 <64493087+raghukapur9@users.noreply.github.com> Date: Fri, 6 Sep 2024 13:51:12 -0400 Subject: [PATCH 06/55] feat: added transaction count and fee query for statistics --- .../Statistics/actions/getTransactions.ts | 67 +++++++++++++++++++ .../getTransactionsFeeStatistics.graphql | 8 --- .../queries/transactionsFeeStatistics.graphql | 8 +++ .../sdk/getTransactionsFeeStatistics.graphql | 8 --- .../sdk/transactionsFeeStatistics.graphql | 8 +++ .../graphql/resolvers/TransactionResolver.ts | 10 +-- .../src/graphql/schemas/fuelcore.graphql | 2 +- .../graphql/src/infra/dao/TransactionDAO.ts | 38 +++++++---- packages/graphql/src/schemas/fuelcore.graphql | 2 +- 9 files changed, 114 insertions(+), 37 deletions(-) create mode 100644 packages/app-explorer/src/systems/Statistics/actions/getTransactions.ts delete mode 100644 packages/graphql/src/graphql/generated/fuelcore/queries/getTransactionsFeeStatistics.graphql create mode 100644 packages/graphql/src/graphql/generated/fuelcore/queries/transactionsFeeStatistics.graphql delete mode 100644 packages/graphql/src/graphql/queries/sdk/getTransactionsFeeStatistics.graphql create mode 100644 packages/graphql/src/graphql/queries/sdk/transactionsFeeStatistics.graphql diff --git a/packages/app-explorer/src/systems/Statistics/actions/getTransactions.ts b/packages/app-explorer/src/systems/Statistics/actions/getTransactions.ts new file mode 100644 index 000000000..daecde421 --- /dev/null +++ b/packages/app-explorer/src/systems/Statistics/actions/getTransactions.ts @@ -0,0 +1,67 @@ +'use server'; + +import { z } from 'zod'; +import { act } from '~/systems/Core/utils/act-server'; +import { sdk } from '~/systems/Core/utils/sdk'; +import { DateHelper } from '../utils/date'; +import { createIntervals, getUnitAndInterval } from '../utils/utils'; + +const schema = z.object({ + timeFilter: z.string().optional().nullable(), +}); + +export const getTransactionStats = act(schema, async (timeFilter) => { + const params = { timeFilter: timeFilter } as { + timeFilter?: string; + }; + const data = await sdk.transactionsFeeStatistics(params); + + if (!data.data.transactionsFeeStatistics.nodes) { + return {}; + } + const { unit, intervalSize } = getUnitAndInterval(params.timeFilter || ''); + const nodes = data.data.transactionsFeeStatistics.nodes; + const firstTimestamp = Number(DateHelper.tai64toDate(nodes[0].timestamp)); + const lastTimestamp = Number( + DateHelper.tai64toDate(nodes[nodes.length - 1].timestamp), + ); + + const intervals = createIntervals( + firstTimestamp, + lastTimestamp, + unit, + intervalSize, + ); + + const intervalMap = intervals.map((interval) => ({ + start: interval.start.toISOString(), + end: interval.end.toISOString(), + count: 0, + totalFee: 0, + })); + + // Process transactions and put them into the correct interval + nodes.forEach((transaction) => { + const transactionTimestamp = Number( + DateHelper.tai64toDate(transaction.timestamp), + ); + const transactionReward = Number(transaction.fee); + + // Find the correct interval for the current transaction + for (const interval of intervalMap) { + const intervalStart = new Date(interval.start).getTime(); + const intervalEnd = new Date(interval.end).getTime(); + + if ( + transactionTimestamp >= intervalStart && + transactionTimestamp < intervalEnd + ) { + // Increment count and add the reward to totalRewards + interval.count += 1; + interval.totalFee += transactionReward; + break; // transaction has been assigned to the correct interval, no need to check further + } + } + }); + return intervalMap; +}); diff --git a/packages/graphql/src/graphql/generated/fuelcore/queries/getTransactionsFeeStatistics.graphql b/packages/graphql/src/graphql/generated/fuelcore/queries/getTransactionsFeeStatistics.graphql deleted file mode 100644 index d7657c846..000000000 --- a/packages/graphql/src/graphql/generated/fuelcore/queries/getTransactionsFeeStatistics.graphql +++ /dev/null @@ -1,8 +0,0 @@ -query getTransactionsFeeStatistics($timeFilter: String){ - getTransactionsFeeStatistics(timeFilter: $timeFilter){ - nodes{ - fee - timestamp - } - } -} \ No newline at end of file diff --git a/packages/graphql/src/graphql/generated/fuelcore/queries/transactionsFeeStatistics.graphql b/packages/graphql/src/graphql/generated/fuelcore/queries/transactionsFeeStatistics.graphql new file mode 100644 index 000000000..df782aed4 --- /dev/null +++ b/packages/graphql/src/graphql/generated/fuelcore/queries/transactionsFeeStatistics.graphql @@ -0,0 +1,8 @@ +query transactionsFeeStatistics($timeFilter: String){ + transactionsFeeStatistics(timeFilter: $timeFilter){ + nodes{ + fee + timestamp + } + } +} \ No newline at end of file diff --git a/packages/graphql/src/graphql/queries/sdk/getTransactionsFeeStatistics.graphql b/packages/graphql/src/graphql/queries/sdk/getTransactionsFeeStatistics.graphql deleted file mode 100644 index 325a8bf05..000000000 --- a/packages/graphql/src/graphql/queries/sdk/getTransactionsFeeStatistics.graphql +++ /dev/null @@ -1,8 +0,0 @@ -query getTransactionsFeeStatistics($timeFilter: String){ - getTransactionsFeeStatistics(timeFilter: $timeFilter){ - nodes { - fee - timestamp - } - } -} \ No newline at end of file diff --git a/packages/graphql/src/graphql/queries/sdk/transactionsFeeStatistics.graphql b/packages/graphql/src/graphql/queries/sdk/transactionsFeeStatistics.graphql new file mode 100644 index 000000000..88be41742 --- /dev/null +++ b/packages/graphql/src/graphql/queries/sdk/transactionsFeeStatistics.graphql @@ -0,0 +1,8 @@ +query transactionsFeeStatistics($timeFilter: String){ + transactionsFeeStatistics(timeFilter: $timeFilter){ + nodes { + fee + timestamp + } + } +} \ No newline at end of file diff --git a/packages/graphql/src/graphql/resolvers/TransactionResolver.ts b/packages/graphql/src/graphql/resolvers/TransactionResolver.ts index 6e29e04d6..1f4d7a63b 100644 --- a/packages/graphql/src/graphql/resolvers/TransactionResolver.ts +++ b/packages/graphql/src/graphql/resolvers/TransactionResolver.ts @@ -1,8 +1,8 @@ import type { - GQLQueryGetTransactionsFeeStatisticsArgs, GQLQueryTransactionArgs, GQLQueryTransactionsArgs, GQLQueryTransactionsByOwnerArgs, + GQLQueryTransactionsFeeStatisticsArgs, GQLTransaction, } from '~/graphql/generated/sdk-provider'; import TransactionDAO from '~/infra/dao/TransactionDAO'; @@ -13,7 +13,7 @@ type Params = { transaction: GQLQueryTransactionArgs; transactions: GQLQueryTransactionsArgs; transactionByOwner: GQLQueryTransactionsByOwnerArgs; - transactionFees: GQLQueryGetTransactionsFeeStatisticsArgs; + transactionFees: GQLQueryTransactionsFeeStatisticsArgs; }; export class TransactionResolver { @@ -24,7 +24,7 @@ export class TransactionResolver { transaction: resolvers.transaction, transactions: resolvers.transactions, transactionsByOwner: resolvers.transactionsByOwner, - getTransactionsFeeStatistics: resolvers.getTransactionsFeeStatistics, + transactionsFeeStatistics: resolvers.transactionsFeeStatistics, }, }; } @@ -54,12 +54,12 @@ export class TransactionResolver { return transactions; } - async getTransactionsFeeStatistics( + async transactionsFeeStatistics( _: Source, params: Params['transactionFees'], ) { const transactionDAO = new TransactionDAO(); - const transactions = await transactionDAO.getTransactionsFeeStatistics( + const transactions = await transactionDAO.transactionsFeeStatistics( params.timeFilter ? params.timeFilter : '', ); return transactions; diff --git a/packages/graphql/src/graphql/schemas/fuelcore.graphql b/packages/graphql/src/graphql/schemas/fuelcore.graphql index 924148169..f75898471 100644 --- a/packages/graphql/src/graphql/schemas/fuelcore.graphql +++ b/packages/graphql/src/graphql/schemas/fuelcore.graphql @@ -781,7 +781,7 @@ type Query { ): Transaction transactions(after: String, before: String, first: Int, last: Int): TransactionConnection! transactionsByOwner(after: String, before: String, first: Int, last: Int, owner: Address!): TransactionConnection! - getTransactionsFeeStatistics(timeFilter: String): TransactionFeeConnection + transactionsFeeStatistics(timeFilter: String): TransactionFeeConnection! } type Receipt { diff --git a/packages/graphql/src/infra/dao/TransactionDAO.ts b/packages/graphql/src/infra/dao/TransactionDAO.ts index 8e17a5684..0ebbfea85 100644 --- a/packages/graphql/src/infra/dao/TransactionDAO.ts +++ b/packages/graphql/src/infra/dao/TransactionDAO.ts @@ -1,3 +1,4 @@ +import { DateHelper } from '~/core/Date'; import { TransactionEntity } from '~/domain/Transaction/TransactionEntity'; import { DatabaseConnection } from '../database/DatabaseConnection'; import PaginatedParams from '../paginator/PaginatedParams'; @@ -205,50 +206,59 @@ export default class TransactionDAO { return transactions; } - async getTransactionsFeeStatistics(timeFilter: string) { - let interval; + async transactionsFeeStatistics(timeFilter: string) { + let _interval; + const msPerHour = 60 * 60 * 24 * 100; switch (timeFilter) { case '1hr': - interval = '1 hour'; + _interval = msPerHour; break; case '12hr': - interval = '12 hours'; + _interval = msPerHour * 12; break; case '1day': - interval = '1 day'; + _interval = msPerHour * 24; break; case '7days': - interval = '7 days'; + _interval = msPerHour * 24 * 7; break; case '14days': - interval = '14 days'; + _interval = msPerHour * 24 * 14; break; case '30days': - interval = '30 days'; + _interval = msPerHour * 24 * 30; break; case '90days': - interval = '90 days'; + _interval = msPerHour * 24 * 90; break; default: - interval = null; + _interval = null; } let query = ` SELECT - (data->'status'->>'totalFee')::numeric AS fee, - timestamp + (data->'status'->>'totalFee')::numeric AS fee, + (t.data->'status'->>'time')::bigint AS timestamp FROM indexer.transactions t `; // Add the time filtering condition only if an interval is defined - if (interval) { + if (_interval) { + const intervalStartTimeInMilliseconds = Date.now() - _interval; + const intervalStartTimeDate = new Date(intervalStartTimeInMilliseconds); + const intervalStartTimeTai64 = DateHelper.dateToTai64( + intervalStartTimeDate, + ); query += ` WHERE - timestamp >= NOW() - INTERVAL '${interval}' + (t.data->'status'->>'time')::bigint >= ${intervalStartTimeTai64} `; } + + query += ' ORDER BY timestamp asc'; + // Execute the query const transactionsData = await this.databaseConnection.query(query, []); diff --git a/packages/graphql/src/schemas/fuelcore.graphql b/packages/graphql/src/schemas/fuelcore.graphql index e84c5e12e..16e2e0cad 100644 --- a/packages/graphql/src/schemas/fuelcore.graphql +++ b/packages/graphql/src/schemas/fuelcore.graphql @@ -783,7 +783,7 @@ type Query { ): Transaction transactions(after: String, before: String, first: Int, last: Int): TransactionConnection! transactionsByOwner(after: String, before: String, first: Int, last: Int, owner: Address!): TransactionConnection! - getTransactionsFeeStatistics(timeFilter: String): TransactionFeeConnection + transactionsFeeStatistics(timeFilter: String): TransactionFeeConnection! } type Receipt { From b75e986e0f23b6a3412f98a155f0a0f14bc4731a Mon Sep 17 00:00:00 2001 From: raghukapur9 <64493087+raghukapur9@users.noreply.github.com> Date: Fri, 6 Sep 2024 15:27:42 -0400 Subject: [PATCH 07/55] refactor: created a utils function for getting query time interval --- .../Statistics/actions/getTransactions.ts | 6 +-- .../transactionsFeeStatistics.graphql | 8 +++ packages/graphql/src/infra/dao/BlockDAO.ts | 53 ++++--------------- .../graphql/src/infra/dao/TransactionDAO.ts | 30 +---------- packages/graphql/src/infra/dao/utils.ts | 30 +++++++++++ 5 files changed, 54 insertions(+), 73 deletions(-) create mode 100644 packages/graphql/src/graphql/queries/provider/transactionsFeeStatistics.graphql create mode 100644 packages/graphql/src/infra/dao/utils.ts diff --git a/packages/app-explorer/src/systems/Statistics/actions/getTransactions.ts b/packages/app-explorer/src/systems/Statistics/actions/getTransactions.ts index daecde421..5d04213a6 100644 --- a/packages/app-explorer/src/systems/Statistics/actions/getTransactions.ts +++ b/packages/app-explorer/src/systems/Statistics/actions/getTransactions.ts @@ -45,7 +45,7 @@ export const getTransactionStats = act(schema, async (timeFilter) => { const transactionTimestamp = Number( DateHelper.tai64toDate(transaction.timestamp), ); - const transactionReward = Number(transaction.fee); + const transactionFee = Number(transaction.fee); // Find the correct interval for the current transaction for (const interval of intervalMap) { @@ -56,9 +56,9 @@ export const getTransactionStats = act(schema, async (timeFilter) => { transactionTimestamp >= intervalStart && transactionTimestamp < intervalEnd ) { - // Increment count and add the reward to totalRewards + // Increment count and add the transaction fee to totalFee interval.count += 1; - interval.totalFee += transactionReward; + interval.totalFee += transactionFee; break; // transaction has been assigned to the correct interval, no need to check further } } diff --git a/packages/graphql/src/graphql/queries/provider/transactionsFeeStatistics.graphql b/packages/graphql/src/graphql/queries/provider/transactionsFeeStatistics.graphql new file mode 100644 index 000000000..88be41742 --- /dev/null +++ b/packages/graphql/src/graphql/queries/provider/transactionsFeeStatistics.graphql @@ -0,0 +1,8 @@ +query transactionsFeeStatistics($timeFilter: String){ + transactionsFeeStatistics(timeFilter: $timeFilter){ + nodes { + fee + timestamp + } + } +} \ No newline at end of file diff --git a/packages/graphql/src/infra/dao/BlockDAO.ts b/packages/graphql/src/infra/dao/BlockDAO.ts index 249be17c8..0b917b053 100644 --- a/packages/graphql/src/infra/dao/BlockDAO.ts +++ b/packages/graphql/src/infra/dao/BlockDAO.ts @@ -2,6 +2,7 @@ import { DateHelper } from '~/core/Date'; import { DatabaseConnection } from '../database/DatabaseConnection'; import PaginatedParams from '../paginator/PaginatedParams'; import Block from './Block'; +import { getTimeInterval } from './utils'; export default class BlockDAO { databaseConnection: DatabaseConnection; @@ -51,24 +52,18 @@ export default class BlockDAO { const order = paginatedParams.direction === 'before' ? 'desc' : 'asc'; const blocksData = await this.databaseConnection.query( ` - SELECT - jsonb_build_object( - 'isMint', elem->>'isMint', - 'mintAmount', elem->>'mintAmount' - ) AS transactions - timestamp - FROM - indexer.blocks b, - jsonb_array_elements(b.data->'transactions') AS elem - WHERE - $1::integer IS NULL OR b._id ${direction} $1 - ORDER BY - b._id ${order} - LIMIT 10; + select + * + from + indexer.blocks b + where + $1::integer is null or b._id ${direction} $1 + order by + b._id ${order} + limit 10 `, [paginatedParams.cursor], ); - blocksData.sort((a: any, b: any) => { return (a._id - b._id) * -1; }); @@ -130,33 +125,7 @@ export default class BlockDAO { } async getBlockRewards(timeFilter: string) { - let _interval; - const msPerHour = 60 * 60 * 24 * 100; - switch (timeFilter) { - case '1hr': - _interval = msPerHour; - break; - case '12hr': - _interval = msPerHour * 12; - break; - case '1day': - _interval = msPerHour * 24; - break; - case '7days': - _interval = msPerHour * 24 * 7; - break; - case '14days': - _interval = msPerHour * 24 * 14; - break; - case '30days': - _interval = msPerHour * 24 * 30; - break; - case '90days': - _interval = msPerHour * 24 * 90; - break; - default: - _interval = null; - } + const _interval = getTimeInterval(timeFilter); let query = ` SELECT diff --git a/packages/graphql/src/infra/dao/TransactionDAO.ts b/packages/graphql/src/infra/dao/TransactionDAO.ts index 0ebbfea85..43b5cd3f7 100644 --- a/packages/graphql/src/infra/dao/TransactionDAO.ts +++ b/packages/graphql/src/infra/dao/TransactionDAO.ts @@ -2,6 +2,7 @@ import { DateHelper } from '~/core/Date'; import { TransactionEntity } from '~/domain/Transaction/TransactionEntity'; import { DatabaseConnection } from '../database/DatabaseConnection'; import PaginatedParams from '../paginator/PaginatedParams'; +import { getTimeInterval } from './utils'; export default class TransactionDAO { databaseConnection: DatabaseConnection; @@ -207,34 +208,7 @@ export default class TransactionDAO { } async transactionsFeeStatistics(timeFilter: string) { - let _interval; - const msPerHour = 60 * 60 * 24 * 100; - - switch (timeFilter) { - case '1hr': - _interval = msPerHour; - break; - case '12hr': - _interval = msPerHour * 12; - break; - case '1day': - _interval = msPerHour * 24; - break; - case '7days': - _interval = msPerHour * 24 * 7; - break; - case '14days': - _interval = msPerHour * 24 * 14; - break; - case '30days': - _interval = msPerHour * 24 * 30; - break; - case '90days': - _interval = msPerHour * 24 * 90; - break; - default: - _interval = null; - } + const _interval = getTimeInterval(timeFilter); let query = ` SELECT diff --git a/packages/graphql/src/infra/dao/utils.ts b/packages/graphql/src/infra/dao/utils.ts new file mode 100644 index 000000000..563803202 --- /dev/null +++ b/packages/graphql/src/infra/dao/utils.ts @@ -0,0 +1,30 @@ +export function getTimeInterval(timeFilter: string): number | null { + let _interval; + const msPerHour = 60 * 60 * 24 * 100; + switch (timeFilter) { + case '1hr': + _interval = msPerHour; + break; + case '12hr': + _interval = msPerHour * 12; + break; + case '1day': + _interval = msPerHour * 24; + break; + case '7days': + _interval = msPerHour * 24 * 7; + break; + case '14days': + _interval = msPerHour * 24 * 14; + break; + case '30days': + _interval = msPerHour * 24 * 30; + break; + case '90days': + _interval = msPerHour * 24 * 90; + break; + default: + _interval = null; + } + return _interval; +} From 04abc8819fb06fc912f8bc17f12050f20b15b6c0 Mon Sep 17 00:00:00 2001 From: ankit biswas Date: Mon, 9 Sep 2024 22:20:59 +0530 Subject: [PATCH 08/55] statistics-data-fetch --- .../src/app/statistics/layout.tsx | 17 + .../app-explorer/src/app/statistics/page.tsx | 23 + .../Statistics/actions/getTransactions.ts | 3 + .../Statistics/components/Hero/Hero.tsx | 26 + .../components/StatsHeader/StatsHeader.tsx | 27 + .../src/systems/Statistics/data/dummyData.ts | 78 + .../Statistics/screens/StatisticsScreen.tsx | 136 + .../graphql/src/db/migrations/createBlock.ts | 210 ++ .../fuelcore/mutations/reset 2.graphql | 3 + .../fuelcore/mutations/startSession 2.graphql | 3 + .../fuelcore/queries/health 2.graphql | 3 + .../generated/fuelcore/queries/index.js | 138 +- .../graphql/src/graphql/generated/mocks.ts | 1082 ------- .../src/graphql/generated/sdk-provider.ts | 2576 ++++++++++++++++- packages/graphql/src/graphql/generated/sdk.ts | 139 + .../src/components/Box/RoundedContainer.tsx | 25 + packages/ui/src/components/Box/index.tsx | 3 + packages/ui/src/components/Charts/Charts.tsx | 366 +++ packages/ui/src/components/Charts/index.tsx | 10 + .../ui/src/components/GridTable/GridTable.tsx | 134 + .../components/LineGraph/data/dummyData.ts | 78 + .../ui/src/components/LineGraph/index.tsx | 1 + .../LineGraph/lineGraph.stories.tsx | 20 + .../ui/src/components/LineGraph/lineGraph.tsx | 173 ++ packages/ui/src/index.tsx | 2 + packages/ui/src/theme/theme.css | 3 +- 26 files changed, 4038 insertions(+), 1241 deletions(-) create mode 100644 packages/app-explorer/src/app/statistics/layout.tsx create mode 100644 packages/app-explorer/src/app/statistics/page.tsx create mode 100644 packages/app-explorer/src/systems/Statistics/components/Hero/Hero.tsx create mode 100644 packages/app-explorer/src/systems/Statistics/components/StatsHeader/StatsHeader.tsx create mode 100644 packages/app-explorer/src/systems/Statistics/data/dummyData.ts create mode 100644 packages/app-explorer/src/systems/Statistics/screens/StatisticsScreen.tsx create mode 100644 packages/graphql/src/db/migrations/createBlock.ts create mode 100644 packages/graphql/src/graphql/generated/fuelcore/mutations/reset 2.graphql create mode 100644 packages/graphql/src/graphql/generated/fuelcore/mutations/startSession 2.graphql create mode 100644 packages/graphql/src/graphql/generated/fuelcore/queries/health 2.graphql delete mode 100644 packages/graphql/src/graphql/generated/mocks.ts create mode 100644 packages/ui/src/components/Box/RoundedContainer.tsx create mode 100644 packages/ui/src/components/Charts/Charts.tsx create mode 100644 packages/ui/src/components/Charts/index.tsx create mode 100644 packages/ui/src/components/GridTable/GridTable.tsx create mode 100644 packages/ui/src/components/LineGraph/data/dummyData.ts create mode 100644 packages/ui/src/components/LineGraph/index.tsx create mode 100644 packages/ui/src/components/LineGraph/lineGraph.stories.tsx create mode 100644 packages/ui/src/components/LineGraph/lineGraph.tsx diff --git a/packages/app-explorer/src/app/statistics/layout.tsx b/packages/app-explorer/src/app/statistics/layout.tsx new file mode 100644 index 000000000..1291bdbff --- /dev/null +++ b/packages/app-explorer/src/app/statistics/layout.tsx @@ -0,0 +1,17 @@ +import { OverlayDialog, Providers } from 'app-portal'; +import type { Metadata } from 'next'; + +export const metadata: Metadata = { + title: 'All Blocks', +}; + +export default function Layout({ children }: { children: React.ReactNode }) { + return ( + + + {children} + + ); +} + +export const dynamic = 'force-static'; diff --git a/packages/app-explorer/src/app/statistics/page.tsx b/packages/app-explorer/src/app/statistics/page.tsx new file mode 100644 index 000000000..d877533ce --- /dev/null +++ b/packages/app-explorer/src/app/statistics/page.tsx @@ -0,0 +1,23 @@ +'use client'; +import { Box, Flex } from '@fuels/ui'; +import { tv } from 'tailwind-variants'; +import { StatisticsScreen } from '~/systems/Statistics/screens/StatisticsScreen'; + +const Statistics = () => { + const classes = styles(); + return ( + + + + + + ); +}; +const styles = tv({ + slots: { + content: 'w-full max-w-[100%]', + }, +}); +export default Statistics; + +export const dynamic = 'force-static'; diff --git a/packages/app-explorer/src/systems/Statistics/actions/getTransactions.ts b/packages/app-explorer/src/systems/Statistics/actions/getTransactions.ts index 5d04213a6..f94d13a82 100644 --- a/packages/app-explorer/src/systems/Statistics/actions/getTransactions.ts +++ b/packages/app-explorer/src/systems/Statistics/actions/getTransactions.ts @@ -14,12 +14,15 @@ export const getTransactionStats = act(schema, async (timeFilter) => { const params = { timeFilter: timeFilter } as { timeFilter?: string; }; + console.log(params); const data = await sdk.transactionsFeeStatistics(params); + console.log(data); if (!data.data.transactionsFeeStatistics.nodes) { return {}; } const { unit, intervalSize } = getUnitAndInterval(params.timeFilter || ''); + console.log(unit, intervalSize); const nodes = data.data.transactionsFeeStatistics.nodes; const firstTimestamp = Number(DateHelper.tai64toDate(nodes[0].timestamp)); const lastTimestamp = Number( diff --git a/packages/app-explorer/src/systems/Statistics/components/Hero/Hero.tsx b/packages/app-explorer/src/systems/Statistics/components/Hero/Hero.tsx new file mode 100644 index 000000000..70f4aad3d --- /dev/null +++ b/packages/app-explorer/src/systems/Statistics/components/Hero/Hero.tsx @@ -0,0 +1,26 @@ +import { StatsHeader } from '../StatsHeader/StatsHeader'; + +const Hero = () => { + return ( +
+ + + + +
+ ); +}; + +export default Hero; diff --git a/packages/app-explorer/src/systems/Statistics/components/StatsHeader/StatsHeader.tsx b/packages/app-explorer/src/systems/Statistics/components/StatsHeader/StatsHeader.tsx new file mode 100644 index 000000000..49501a0e3 --- /dev/null +++ b/packages/app-explorer/src/systems/Statistics/components/StatsHeader/StatsHeader.tsx @@ -0,0 +1,27 @@ +import { RoundedContainer } from '@fuels/ui'; + +interface LineGraphProps { + titleProp: string; + valuesProp: string; + timeProp: string; +} + +export const StatsHeader: React.FC = ({ + titleProp, + valuesProp, + timeProp, +}) => { + return ( + +

+ {titleProp} +

+

+ {valuesProp} +

+

+ {timeProp} +

+
+ ); +}; diff --git a/packages/app-explorer/src/systems/Statistics/data/dummyData.ts b/packages/app-explorer/src/systems/Statistics/data/dummyData.ts new file mode 100644 index 000000000..d5ff650e9 --- /dev/null +++ b/packages/app-explorer/src/systems/Statistics/data/dummyData.ts @@ -0,0 +1,78 @@ +import { DataPoint } from '@fuels/ui/src/components/LineGraph/lineGraph'; +export const dummyData: Record = { + 1: [ + { day: '8:00', value: 1300 }, + { day: '8:00', value: 1300 }, + { day: '11:00', value: 14200 }, + { day: '11:00', value: 13700 }, + { day: '19:00', value: 8500 }, + { day: '19:00', value: 8500 }, + { day: '15:00', value: 1000 }, + { day: '15:00', value: 3500 }, + { day: '23:00', value: 10000 }, + { day: '23:00', value: 10000 }, + ], + 2: [ + { day: '8:00', value: 16000 }, + { day: '11:00', value: 25000 }, + { day: '15:00', value: 22000 }, + { day: '19:00', value: 18000 }, + { day: '23:00', value: 8000 }, + ], + 3: [ + { day: '8:00', value: 18000 }, + { day: '11:00', value: 27000 }, + { day: '15:00', value: 35000 }, + { day: '19:00', value: 18000 }, + { day: '23:00', value: 14620 }, + ], + 4: [ + { day: '8:00', value: 12000 }, + { day: '11:00', value: 2000 }, + { day: '15:00', value: 3000 }, + { day: '19:00', value: 3800 }, + { day: '23:00', value: 8000 }, + ], + 5: [ + { day: '8:00', value: 1300 }, + { day: '11:00', value: 2100 }, + { day: '15:00', value: 2900 }, + { day: '19:00', value: 3500 }, + { day: '23:00', value: 4200 }, + ], + 6: [ + { day: '8:00', value: 1400 }, + { day: '11:00', value: 2200 }, + { day: '15:00', value: 3200 }, + { day: '19:00', value: 4000 }, + { day: '23:00', value: 5000 }, + ], + 7: [ + { day: '8:00', value: 1500 }, + { day: '11:00', value: 2300 }, + { day: '15:00', value: 3100 }, + { day: '19:00', value: 3800 }, + { day: '23:00', value: 4600 }, + ], + 8: [ + { day: '8:00', value: 1300 }, + { day: '11:00', value: 2100 }, + { day: '15:00', value: 2900 }, + { day: '19:00', value: 3700 }, + { day: '23:00', value: 4600 }, + ], + 9: [ + { day: '8:00', value: 1400 }, + { day: '11:00', value: 2200 }, + { day: '15:00', value: 3200 }, + { day: '19:00', value: 4300 }, + { day: '23:00', value: 5400 }, + ], + 10: [ + { day: '8:00', value: 1500 }, + { day: '11:00', value: 2300 }, + { day: '15:00', value: 3200 }, + { day: '19:00', value: 4200 }, + { day: '23:00', value: 5300 }, + ], +}; diff --git a/packages/app-explorer/src/systems/Statistics/screens/StatisticsScreen.tsx b/packages/app-explorer/src/systems/Statistics/screens/StatisticsScreen.tsx new file mode 100644 index 000000000..59f994efa --- /dev/null +++ b/packages/app-explorer/src/systems/Statistics/screens/StatisticsScreen.tsx @@ -0,0 +1,136 @@ +import { Box, Container, Heading, Theme, VStack } from '@fuels/ui'; +import { Grid, LineGraph } from '@fuels/ui'; +import { useEffect } from 'react'; +import { tv } from 'tailwind-variants'; +import { getBlockStats } from '../actions/getBlocks'; +import { getTransactionStats } from '../actions/getTransactions'; +import Hero from '../components/Hero/Hero'; +import { dummyData } from '../data/dummyData'; + +export const StatisticsScreen = () => { + const classes = styles(); + const _getBlockStatistics = async () => { + const data = await getBlockStats({ timeFilter: null }); + console.log(data); + }; + + const getTransactionStatistics = async () => { + const data = await getTransactionStats({}); + console.log(data); + }; + useEffect(() => { + // getBlockStatistics() + getTransactionStatistics(); + }, []); + return ( + + + + + + Statistics + +
+ +
+
+ +
+

+ Blocks +

+ + + + +
+ +
+

+ Transactions +

+ + + + + + +
+ +
+

+ Accounts +

+ + + + + +
+ +
+

+ Tokens +

+ + + + +
+ +
+

+ NFTs +

+ + + + +
+
+
+
+ ); +}; + +const styles = tv({ + slots: { + root: 'overflow-clip relative w-full border-border bg-gray-3 dark:bg-gray-1', + container: [ + 'z-20 relative py-8 pt-6 px-8 tablet:pt-18 tablet:px-10', + 'tablet:max-laptop:max-w-[500px] [&_.rt-ContainerInner]:p-2', + ' [&_.rt-ContainerInner]:tablet:max-laptop:bg-opacity-60 [&_.rt-ContainerInner]:tablet:max-laptop:rounded-lg [&_.rt-ContainerInner]:tablet:max-laptop:shadow-2xl', + ], + input: 'w-full tablet:w-[400px]', + title: [ + 'text-2xl leading-snug text-heading justify-center', + 'tablet:text-left tablet:text-4xl tablet:justify-start', + ], + subtitle: ['text-base mb-8 justify-center'], + searchWrapper: 'grid grid-cols-12 grid-rows-auto auto-rows-min gap-5', + }, +}); diff --git a/packages/graphql/src/db/migrations/createBlock.ts b/packages/graphql/src/db/migrations/createBlock.ts new file mode 100644 index 000000000..b6bf9dd58 --- /dev/null +++ b/packages/graphql/src/db/migrations/createBlock.ts @@ -0,0 +1,210 @@ +import { DatabaseConnection } from '../../infra/database/DatabaseConnection'; + +async function migrate() { + const db = DatabaseConnection.getInstance(); + + // Step 1: Drop the existing indexer schema if it exists + await db.query( + ` + DROP SCHEMA IF EXISTS indexer CASCADE; + `, + [], // Provide an empty array for query parameters + ); + console.log('Existing indexer schema dropped if it was present.'); + + // Step 2: Create the new indexer schema + await db.query( + ` + CREATE SCHEMA indexer; + `, + [], + ); + console.log('New indexer schema created successfully.'); + + // Step 3: Create the blocks table + await db.query( + ` + CREATE TABLE indexer.blocks ( + _id INTEGER PRIMARY KEY, + id CHARACTER VARYING(66) NOT NULL UNIQUE, + timestamp TIMESTAMP WITHOUT TIME ZONE NOT NULL, + data JSONB NOT NULL, + gas_used CHARACTER VARYING(66), + producer CHARACTER VARYING(66) + ); + `, + [], + ); + console.log('Blocks table created successfully.'); + + // Step 4: Create indexes for blocks table + await db.query( + ` + CREATE UNIQUE INDEX ON indexer.blocks(_id); + CREATE UNIQUE INDEX ON indexer.blocks(id); + CREATE INDEX ON indexer.blocks(timestamp); + CREATE INDEX ON indexer.blocks(id); + CREATE INDEX ON indexer.blocks(_id); + `, + [], + ); + console.log('Indexes for blocks table created successfully.'); + + // Step 5: Create the transactions table + await db.query( + ` + CREATE TABLE indexer.transactions ( + _id CHARACTER VARYING(66) PRIMARY KEY, + tx_hash CHARACTER VARYING(66) NOT NULL UNIQUE, + timestamp TIMESTAMP WITHOUT TIME ZONE, + data JSONB NOT NULL, + block_id INTEGER NOT NULL REFERENCES indexer.blocks(_id) + ); + `, + [], + ); + console.log('Transactions table created successfully.'); + + // Step 6: Create indexes for transactions table + await db.query( + ` + CREATE UNIQUE INDEX ON indexer.transactions(_id); + CREATE UNIQUE INDEX ON indexer.transactions(tx_hash); + CREATE INDEX ON indexer.transactions(timestamp); + CREATE INDEX ON indexer.transactions(_id); + CREATE INDEX ON indexer.transactions(block_id); + CREATE INDEX ON indexer.transactions(tx_hash); + `, + [], + ); + console.log('Indexes for transactions table created successfully.'); + + // Step 7: Create the contracts table + await db.query( + ` + CREATE TABLE indexer.contracts ( + _id SERIAL PRIMARY KEY, + contract_hash CHARACTER VARYING(66) NOT NULL UNIQUE, + data JSONB NOT NULL + ); + `, + [], + ); + console.log('Contracts table created successfully.'); + + // Step 8: Create indexes for contracts table + await db.query( + ` + CREATE UNIQUE INDEX ON indexer.contracts(_id); + CREATE UNIQUE INDEX ON indexer.contracts(contract_hash); + CREATE INDEX ON indexer.contracts(_id); + CREATE INDEX ON indexer.contracts(contract_hash); + `, + [], + ); + console.log('Indexes for contracts table created successfully.'); + + // Step 9: Create the inputs table + await db.query( + ` + CREATE TABLE indexer.inputs ( + _id SERIAL PRIMARY KEY, + data JSONB NOT NULL, + transaction_id CHARACTER VARYING(66) NOT NULL REFERENCES indexer.transactions(_id) + ); + `, + [], + ); + console.log('Inputs table created successfully.'); + + // Step 10: Create indexes for inputs table + await db.query( + ` + CREATE UNIQUE INDEX ON indexer.inputs(_id); + CREATE INDEX ON indexer.inputs(_id); + CREATE INDEX ON indexer.inputs(transaction_id); + `, + [], + ); + console.log('Indexes for inputs table created successfully.'); + + // Step 11: Create the outputs table + await db.query( + ` + CREATE TABLE indexer.outputs ( + _id SERIAL PRIMARY KEY, + data JSONB NOT NULL, + transaction_id CHARACTER VARYING(66) NOT NULL REFERENCES indexer.transactions(_id) + ); + `, + [], + ); + console.log('Outputs table created successfully.'); + + // Step 12: Create indexes for outputs table + await db.query( + ` + CREATE UNIQUE INDEX ON indexer.outputs(_id); + CREATE INDEX ON indexer.outputs(_id); + CREATE INDEX ON indexer.outputs(transaction_id); + `, + [], + ); + console.log('Indexes for outputs table created successfully.'); + + // Step 13: Create the predicates table + await db.query( + ` + CREATE TABLE indexer.predicates ( + _id SERIAL PRIMARY KEY, + bytecode TEXT NOT NULL, + address CHARACTER VARYING(66) NOT NULL UNIQUE + ); + `, + [], + ); + console.log('Predicates table created successfully.'); + + // Step 14: Create indexes for predicates table + await db.query( + ` + CREATE UNIQUE INDEX ON indexer.predicates(_id); + CREATE UNIQUE INDEX ON indexer.predicates(address); + CREATE INDEX ON indexer.predicates(_id); + CREATE INDEX ON indexer.predicates(address); + `, + [], + ); + console.log('Indexes for predicates table created successfully.'); + + // Step 15: Create the transactions_accounts table + await db.query( + ` + CREATE TABLE indexer.transactions_accounts ( + _id TEXT NOT NULL, + block_id INTEGER NOT NULL, + tx_hash TEXT NOT NULL, + account_hash TEXT NOT NULL, + PRIMARY KEY (_id, block_id, tx_hash, account_hash) + ); + `, + [], + ); + console.log('Transactions_Accounts table created successfully.'); + + // Step 16: Create indexes for transactions_accounts table + await db.query( + ` + CREATE INDEX ON indexer.transactions_accounts (_id); + CREATE INDEX ON indexer.transactions_accounts (block_id); + CREATE INDEX ON indexer.transactions_accounts (tx_hash); + CREATE INDEX ON indexer.transactions_accounts (account_hash); + `, + [], + ); + console.log('Indexes for transactions_accounts table created successfully.'); +} + +migrate() + .catch(console.error) + .finally(() => process.exit()); diff --git a/packages/graphql/src/graphql/generated/fuelcore/mutations/reset 2.graphql b/packages/graphql/src/graphql/generated/fuelcore/mutations/reset 2.graphql new file mode 100644 index 000000000..181929a47 --- /dev/null +++ b/packages/graphql/src/graphql/generated/fuelcore/mutations/reset 2.graphql @@ -0,0 +1,3 @@ +mutation reset($id: ID!){ + reset(id: $id) +} \ No newline at end of file diff --git a/packages/graphql/src/graphql/generated/fuelcore/mutations/startSession 2.graphql b/packages/graphql/src/graphql/generated/fuelcore/mutations/startSession 2.graphql new file mode 100644 index 000000000..d9ff8335c --- /dev/null +++ b/packages/graphql/src/graphql/generated/fuelcore/mutations/startSession 2.graphql @@ -0,0 +1,3 @@ +mutation startSession{ + startSession +} \ No newline at end of file diff --git a/packages/graphql/src/graphql/generated/fuelcore/queries/health 2.graphql b/packages/graphql/src/graphql/generated/fuelcore/queries/health 2.graphql new file mode 100644 index 000000000..77ba87b67 --- /dev/null +++ b/packages/graphql/src/graphql/generated/fuelcore/queries/health 2.graphql @@ -0,0 +1,3 @@ +query health{ + health +} \ No newline at end of file diff --git a/packages/graphql/src/graphql/generated/fuelcore/queries/index.js b/packages/graphql/src/graphql/generated/fuelcore/queries/index.js index 43dd9ab64..828b4557b 100644 --- a/packages/graphql/src/graphql/generated/fuelcore/queries/index.js +++ b/packages/graphql/src/graphql/generated/fuelcore/queries/index.js @@ -1,29 +1,115 @@ const fs = require('fs'); const path = require('path'); -module.exports.balance = fs.readFileSync(path.join(__dirname, 'balance.graphql'), 'utf8'); -module.exports.balances = fs.readFileSync(path.join(__dirname, 'balances.graphql'), 'utf8'); -module.exports.block = fs.readFileSync(path.join(__dirname, 'block.graphql'), 'utf8'); -module.exports.blocks = fs.readFileSync(path.join(__dirname, 'blocks.graphql'), 'utf8'); -module.exports.chain = fs.readFileSync(path.join(__dirname, 'chain.graphql'), 'utf8'); -module.exports.coin = fs.readFileSync(path.join(__dirname, 'coin.graphql'), 'utf8'); -module.exports.coins = fs.readFileSync(path.join(__dirname, 'coins.graphql'), 'utf8'); -module.exports.coinsToSpend = fs.readFileSync(path.join(__dirname, 'coinsToSpend.graphql'), 'utf8'); -module.exports.contract = fs.readFileSync(path.join(__dirname, 'contract.graphql'), 'utf8'); -module.exports.contractBalance = fs.readFileSync(path.join(__dirname, 'contractBalance.graphql'), 'utf8'); -module.exports.contractBalances = fs.readFileSync(path.join(__dirname, 'contractBalances.graphql'), 'utf8'); -module.exports.estimateGasPrice = fs.readFileSync(path.join(__dirname, 'estimateGasPrice.graphql'), 'utf8'); -module.exports.estimatePredicates = fs.readFileSync(path.join(__dirname, 'estimatePredicates.graphql'), 'utf8'); -module.exports.health = fs.readFileSync(path.join(__dirname, 'health.graphql'), 'utf8'); -module.exports.latestGasPrice = fs.readFileSync(path.join(__dirname, 'latestGasPrice.graphql'), 'utf8'); -module.exports.memory = fs.readFileSync(path.join(__dirname, 'memory.graphql'), 'utf8'); -module.exports.message = fs.readFileSync(path.join(__dirname, 'message.graphql'), 'utf8'); -module.exports.messageProof = fs.readFileSync(path.join(__dirname, 'messageProof.graphql'), 'utf8'); -module.exports.messageStatus = fs.readFileSync(path.join(__dirname, 'messageStatus.graphql'), 'utf8'); -module.exports.messages = fs.readFileSync(path.join(__dirname, 'messages.graphql'), 'utf8'); -module.exports.nodeInfo = fs.readFileSync(path.join(__dirname, 'nodeInfo.graphql'), 'utf8'); -module.exports.register = fs.readFileSync(path.join(__dirname, 'register.graphql'), 'utf8'); -module.exports.relayedTransactionStatus = fs.readFileSync(path.join(__dirname, 'relayedTransactionStatus.graphql'), 'utf8'); -module.exports.transaction = fs.readFileSync(path.join(__dirname, 'transaction.graphql'), 'utf8'); -module.exports.transactions = fs.readFileSync(path.join(__dirname, 'transactions.graphql'), 'utf8'); -module.exports.transactionsByOwner = fs.readFileSync(path.join(__dirname, 'transactionsByOwner.graphql'), 'utf8'); +module.exports.balance = fs.readFileSync( + path.join(__dirname, 'balance.graphql'), + 'utf8', +); +module.exports.balances = fs.readFileSync( + path.join(__dirname, 'balances.graphql'), + 'utf8', +); +module.exports.block = fs.readFileSync( + path.join(__dirname, 'block.graphql'), + 'utf8', +); +module.exports.blocks = fs.readFileSync( + path.join(__dirname, 'blocks.graphql'), + 'utf8', +); +module.exports.blockRewardStatistics = fs.readFileSync( + path.join(__dirname, 'blockRewardStatistics.graphql'), + 'utf8', +); +module.exports.chain = fs.readFileSync( + path.join(__dirname, 'chain.graphql'), + 'utf8', +); +module.exports.coin = fs.readFileSync( + path.join(__dirname, 'coin.graphql'), + 'utf8', +); +module.exports.coins = fs.readFileSync( + path.join(__dirname, 'coins.graphql'), + 'utf8', +); +module.exports.coinsToSpend = fs.readFileSync( + path.join(__dirname, 'coinsToSpend.graphql'), + 'utf8', +); +module.exports.contract = fs.readFileSync( + path.join(__dirname, 'contract.graphql'), + 'utf8', +); +module.exports.contractBalance = fs.readFileSync( + path.join(__dirname, 'contractBalance.graphql'), + 'utf8', +); +module.exports.contractBalances = fs.readFileSync( + path.join(__dirname, 'contractBalances.graphql'), + 'utf8', +); +module.exports.estimateGasPrice = fs.readFileSync( + path.join(__dirname, 'estimateGasPrice.graphql'), + 'utf8', +); +module.exports.estimatePredicates = fs.readFileSync( + path.join(__dirname, 'estimatePredicates.graphql'), + 'utf8', +); +module.exports.health = fs.readFileSync( + path.join(__dirname, 'health.graphql'), + 'utf8', +); +module.exports.latestGasPrice = fs.readFileSync( + path.join(__dirname, 'latestGasPrice.graphql'), + 'utf8', +); +module.exports.memory = fs.readFileSync( + path.join(__dirname, 'memory.graphql'), + 'utf8', +); +module.exports.message = fs.readFileSync( + path.join(__dirname, 'message.graphql'), + 'utf8', +); +module.exports.messageProof = fs.readFileSync( + path.join(__dirname, 'messageProof.graphql'), + 'utf8', +); +module.exports.messageStatus = fs.readFileSync( + path.join(__dirname, 'messageStatus.graphql'), + 'utf8', +); +module.exports.messages = fs.readFileSync( + path.join(__dirname, 'messages.graphql'), + 'utf8', +); +module.exports.nodeInfo = fs.readFileSync( + path.join(__dirname, 'nodeInfo.graphql'), + 'utf8', +); +module.exports.register = fs.readFileSync( + path.join(__dirname, 'register.graphql'), + 'utf8', +); +module.exports.relayedTransactionStatus = fs.readFileSync( + path.join(__dirname, 'relayedTransactionStatus.graphql'), + 'utf8', +); +module.exports.transaction = fs.readFileSync( + path.join(__dirname, 'transaction.graphql'), + 'utf8', +); +module.exports.transactions = fs.readFileSync( + path.join(__dirname, 'transactions.graphql'), + 'utf8', +); +module.exports.transactionsByOwner = fs.readFileSync( + path.join(__dirname, 'transactionsByOwner.graphql'), + 'utf8', +); +module.exports.transactionsFeeStatistics = fs.readFileSync( + path.join(__dirname, 'transactionsFeeStatistics.graphql'), + 'utf8', +); diff --git a/packages/graphql/src/graphql/generated/mocks.ts b/packages/graphql/src/graphql/generated/mocks.ts deleted file mode 100644 index 93b46f3b7..000000000 --- a/packages/graphql/src/graphql/generated/mocks.ts +++ /dev/null @@ -1,1082 +0,0 @@ -import type { GQLBalance, GQLBalanceConnection, GQLBalanceEdge, GQLBalanceFilterInput, GQLBlock, GQLBlockConnection, GQLBlockEdge, GQLBreakpoint, GQLChainInfo, GQLChangeOutput, GQLCoin, GQLCoinConnection, GQLCoinEdge, GQLCoinFilterInput, GQLCoinOutput, GQLConsensusParameters, GQLConsensusParametersPurpose, GQLContract, GQLContractBalance, GQLContractBalanceConnection, GQLContractBalanceEdge, GQLContractBalanceFilterInput, GQLContractConnection, GQLContractCreated, GQLContractOutput, GQLContractParameters, GQLDryRunFailureStatus, GQLDryRunSuccessStatus, GQLDryRunTransactionExecutionStatus, GQLEstimateGasPrice, GQLExcludeInput, GQLFailureStatus, GQLFeeParameters, GQLGasCosts, GQLGenesis, GQLGroupedInputCoin, GQLGroupedInputContract, GQLGroupedInputMessage, GQLGroupedOutputChanged, GQLGroupedOutputCoin, GQLGroupedOutputContractCreated, GQLHeader, GQLHeavyOperation, GQLInputCoin, GQLInputContract, GQLInputMessage, GQLLatestGasPrice, GQLLightOperation, GQLMerkleProof, GQLMessage, GQLMessageCoin, GQLMessageConnection, GQLMessageEdge, GQLMessageProof, GQLMessageStatus, GQLMutation, GQLNodeInfo, GQLOperation, GQLOperationReceipt, GQLOperationsFilterInput, GQLOutputBreakpoint, GQLPageInfo, GQLParsedTime, GQLPeerInfo, GQLPoAConsensus, GQLPolicies, GQLPredicateItem, GQLPredicateParameters, GQLProgramState, GQLQuery, GQLReceipt, GQLRelayedTransactionFailed, GQLRunResult, GQLScriptParameters, GQLSearchAccount, GQLSearchBlock, GQLSearchContract, GQLSearchResult, GQLSearchTransaction, GQLSpendQueryElementInput, GQLSqueezedOutStatus, GQLStateTransitionPurpose, GQLSubmittedStatus, GQLSubscription, GQLSuccessStatus, GQLTransaction, GQLTransactionConnection, GQLTransactionEdge, GQLTransactionGasCosts, GQLTxParameters, GQLUtxoItem, GQLVariableOutput, GQLBlockVersion, GQLConsensusParametersVersion, GQLContractParametersVersion, GQLFeeParametersVersion, GQLGasCostsVersion, GQLGroupedInputType, GQLGroupedOutputType, GQLHeaderVersion, GQLMessageState, GQLOperationType, GQLPredicateParametersVersion, GQLReceiptType, GQLReturnType, GQLRunState, GQLScriptParametersVersion, GQLTxParametersVersion } from './sdk'; - -export const aBalance = (overrides?: Partial): { __typename: 'Balance' } & GQLBalance => { - return { - __typename: 'Balance', - amount: overrides && overrides.hasOwnProperty('amount') ? overrides.amount! : '0x0', - assetId: overrides && overrides.hasOwnProperty('assetId') ? overrides.assetId! : 'a0f8od7pvhhubad7x3hz9o0zn7xp5j23', - owner: overrides && overrides.hasOwnProperty('owner') ? overrides.owner! : 'tx4go3g6en5w03qjzwnt6ugwv26qrm5q9mwtq5lp', - utxos: overrides && overrides.hasOwnProperty('utxos') ? overrides.utxos! : [anUtxoItem()], - }; -}; - -export const aBalanceConnection = (overrides?: Partial): { __typename: 'BalanceConnection' } & GQLBalanceConnection => { - return { - __typename: 'BalanceConnection', - edges: overrides && overrides.hasOwnProperty('edges') ? overrides.edges! : [aBalanceEdge()], - nodes: overrides && overrides.hasOwnProperty('nodes') ? overrides.nodes! : [aBalance()], - pageInfo: overrides && overrides.hasOwnProperty('pageInfo') ? overrides.pageInfo! : aPageInfo(), - }; -}; - -export const aBalanceEdge = (overrides?: Partial): { __typename: 'BalanceEdge' } & GQLBalanceEdge => { - return { - __typename: 'BalanceEdge', - cursor: overrides && overrides.hasOwnProperty('cursor') ? overrides.cursor! : 'tenetur', - node: overrides && overrides.hasOwnProperty('node') ? overrides.node! : aBalance(), - }; -}; - -export const aBalanceFilterInput = (overrides?: Partial): GQLBalanceFilterInput => { - return { - owner: overrides && overrides.hasOwnProperty('owner') ? overrides.owner! : '9nrgo4xy0vszugxxsuu7t7k4heqvx2it46ns6n49', - }; -}; - -export const aBlock = (overrides?: Partial): { __typename: 'Block' } & GQLBlock => { - return { - __typename: 'Block', - _id: overrides && overrides.hasOwnProperty('_id') ? overrides._id! : 5272, - consensus: overrides && overrides.hasOwnProperty('consensus') ? overrides.consensus! : aGenesis(), - header: overrides && overrides.hasOwnProperty('header') ? overrides.header! : aHeader(), - height: overrides && overrides.hasOwnProperty('height') ? overrides.height! : 'cupiditate', - id: overrides && overrides.hasOwnProperty('id') ? overrides.id! : 'fuga', - producer: overrides && overrides.hasOwnProperty('producer') ? overrides.producer! : 'tf26peb03uo1z0i4l6d7yfnvuzumd2fiukebb742', - time: overrides && overrides.hasOwnProperty('time') ? overrides.time! : aParsedTime(), - totalGasUsed: overrides && overrides.hasOwnProperty('totalGasUsed') ? overrides.totalGasUsed! : '0x1', - transactions: overrides && overrides.hasOwnProperty('transactions') ? overrides.transactions! : [aTransaction()], - version: overrides && overrides.hasOwnProperty('version') ? overrides.version! : ('V1' as GQLBlockVersion), - }; -}; - -export const aBlockConnection = (overrides?: Partial): { __typename: 'BlockConnection' } & GQLBlockConnection => { - return { - __typename: 'BlockConnection', - edges: overrides && overrides.hasOwnProperty('edges') ? overrides.edges! : [aBlockEdge()], - nodes: overrides && overrides.hasOwnProperty('nodes') ? overrides.nodes! : [aBlock()], - pageInfo: overrides && overrides.hasOwnProperty('pageInfo') ? overrides.pageInfo! : aPageInfo(), - }; -}; - -export const aBlockEdge = (overrides?: Partial): { __typename: 'BlockEdge' } & GQLBlockEdge => { - return { - __typename: 'BlockEdge', - cursor: overrides && overrides.hasOwnProperty('cursor') ? overrides.cursor! : 'id', - node: overrides && overrides.hasOwnProperty('node') ? overrides.node! : aBlock(), - }; -}; - -export const aBreakpoint = (overrides?: Partial): GQLBreakpoint => { - return { - contract: overrides && overrides.hasOwnProperty('contract') ? overrides.contract! : 'spxsyh8uujdpzc8kg4t7lkz0r7qmcdsb', - pc: overrides && overrides.hasOwnProperty('pc') ? overrides.pc! : '0xa', - }; -}; - -export const aChainInfo = (overrides?: Partial): { __typename: 'ChainInfo' } & GQLChainInfo => { - return { - __typename: 'ChainInfo', - consensusParameters: overrides && overrides.hasOwnProperty('consensusParameters') ? overrides.consensusParameters! : aConsensusParameters(), - daHeight: overrides && overrides.hasOwnProperty('daHeight') ? overrides.daHeight! : '0xE', - gasCosts: overrides && overrides.hasOwnProperty('gasCosts') ? overrides.gasCosts! : aGasCosts(), - latestBlock: overrides && overrides.hasOwnProperty('latestBlock') ? overrides.latestBlock! : aBlock(), - name: overrides && overrides.hasOwnProperty('name') ? overrides.name! : 'autem', - }; -}; - -export const aChangeOutput = (overrides?: Partial): { __typename: 'ChangeOutput' } & GQLChangeOutput => { - return { - __typename: 'ChangeOutput', - amount: overrides && overrides.hasOwnProperty('amount') ? overrides.amount! : '0xD', - assetId: overrides && overrides.hasOwnProperty('assetId') ? overrides.assetId! : 'e0jf4dwzgypv3lmvt8yed3ebs8sco6xm', - to: overrides && overrides.hasOwnProperty('to') ? overrides.to! : 'dhi4r4fhri7jpmudxj1zxawwhmvmg15ehun33smn', - }; -}; - -export const aCoin = (overrides?: Partial): { __typename: 'Coin' } & GQLCoin => { - return { - __typename: 'Coin', - amount: overrides && overrides.hasOwnProperty('amount') ? overrides.amount! : '0xD', - assetId: overrides && overrides.hasOwnProperty('assetId') ? overrides.assetId! : 'vl8kx5cac3pojox0cdisfofoyu6smapv', - blockCreated: overrides && overrides.hasOwnProperty('blockCreated') ? overrides.blockCreated! : 'doloremque', - owner: overrides && overrides.hasOwnProperty('owner') ? overrides.owner! : 'on6sn7qh1ssgeb35sg0so4u4lp3izj4yafvrlk8x', - txCreatedIdx: overrides && overrides.hasOwnProperty('txCreatedIdx') ? overrides.txCreatedIdx! : '0x7', - utxoId: overrides && overrides.hasOwnProperty('utxoId') ? overrides.utxoId! : '78r15xdj851q7w4q6k0tqeof9vlk0gns', - }; -}; - -export const aCoinConnection = (overrides?: Partial): { __typename: 'CoinConnection' } & GQLCoinConnection => { - return { - __typename: 'CoinConnection', - edges: overrides && overrides.hasOwnProperty('edges') ? overrides.edges! : [aCoinEdge()], - nodes: overrides && overrides.hasOwnProperty('nodes') ? overrides.nodes! : [aCoin()], - pageInfo: overrides && overrides.hasOwnProperty('pageInfo') ? overrides.pageInfo! : aPageInfo(), - }; -}; - -export const aCoinEdge = (overrides?: Partial): { __typename: 'CoinEdge' } & GQLCoinEdge => { - return { - __typename: 'CoinEdge', - cursor: overrides && overrides.hasOwnProperty('cursor') ? overrides.cursor! : 'excepturi', - node: overrides && overrides.hasOwnProperty('node') ? overrides.node! : aCoin(), - }; -}; - -export const aCoinFilterInput = (overrides?: Partial): GQLCoinFilterInput => { - return { - assetId: overrides && overrides.hasOwnProperty('assetId') ? overrides.assetId! : 'kudfhe4l01ysp8358vb8xz1k8veh59hy', - owner: overrides && overrides.hasOwnProperty('owner') ? overrides.owner! : 'baoj8afcxig6c9huma1wloyvmbchd8yi7qa85afh', - }; -}; - -export const aCoinOutput = (overrides?: Partial): { __typename: 'CoinOutput' } & GQLCoinOutput => { - return { - __typename: 'CoinOutput', - amount: overrides && overrides.hasOwnProperty('amount') ? overrides.amount! : '0xD', - assetId: overrides && overrides.hasOwnProperty('assetId') ? overrides.assetId! : 't153mt7lkdbnhho3wb4ukkb48qhhudy7', - to: overrides && overrides.hasOwnProperty('to') ? overrides.to! : '9olpk2xb6cjl4kyy3he3py3yu0bkm85chtuggo6i', - }; -}; - -export const aConsensusParameters = (overrides?: Partial): { __typename: 'ConsensusParameters' } & GQLConsensusParameters => { - return { - __typename: 'ConsensusParameters', - baseAssetId: overrides && overrides.hasOwnProperty('baseAssetId') ? overrides.baseAssetId! : 'l2lmmdg42iyd8pb2v79vqcg6fnko5egl', - blockGasLimit: overrides && overrides.hasOwnProperty('blockGasLimit') ? overrides.blockGasLimit! : '0x6', - chainId: overrides && overrides.hasOwnProperty('chainId') ? overrides.chainId! : '0x3', - contractParams: overrides && overrides.hasOwnProperty('contractParams') ? overrides.contractParams! : aContractParameters(), - feeParams: overrides && overrides.hasOwnProperty('feeParams') ? overrides.feeParams! : aFeeParameters(), - gasCosts: overrides && overrides.hasOwnProperty('gasCosts') ? overrides.gasCosts! : aGasCosts(), - predicateParams: overrides && overrides.hasOwnProperty('predicateParams') ? overrides.predicateParams! : aPredicateParameters(), - privilegedAddress: overrides && overrides.hasOwnProperty('privilegedAddress') ? overrides.privilegedAddress! : 'q75p0hw9intf5cnh3dm5h0xvqvb8pm7b2sdf6tb9', - scriptParams: overrides && overrides.hasOwnProperty('scriptParams') ? overrides.scriptParams! : aScriptParameters(), - txParams: overrides && overrides.hasOwnProperty('txParams') ? overrides.txParams! : aTxParameters(), - version: overrides && overrides.hasOwnProperty('version') ? overrides.version! : ('V1' as GQLConsensusParametersVersion), - }; -}; - -export const aConsensusParametersPurpose = (overrides?: Partial): { __typename: 'ConsensusParametersPurpose' } & GQLConsensusParametersPurpose => { - return { - __typename: 'ConsensusParametersPurpose', - checksum: overrides && overrides.hasOwnProperty('checksum') ? overrides.checksum! : 'repudiandae', - witnessIndex: overrides && overrides.hasOwnProperty('witnessIndex') ? overrides.witnessIndex! : '0x0', - }; -}; - -export const aContract = (overrides?: Partial): { __typename: 'Contract' } & GQLContract => { - return { - __typename: 'Contract', - _id: overrides && overrides.hasOwnProperty('_id') ? overrides._id! : 6814, - bytecode: overrides && overrides.hasOwnProperty('bytecode') ? overrides.bytecode! : '0x6092A6C7eb64c9b1A755Df9bE83fC7Bd5bFF2c090Df255Da243CAB4811Fc2016D2a2Ae93CFEDE4FD8d99ab3Dca0DDdAbc7CF1ba3FbAA761e3eC17f8d1609fD5e46BEFFD6886EB1BCA208bB2AE8bEDADF', - id: overrides && overrides.hasOwnProperty('id') ? overrides.id! : '51d28wg0iw33x467k5qd81kn5b9wnrtg', - salt: overrides && overrides.hasOwnProperty('salt') ? overrides.salt! : 'repellendus', - }; -}; - -export const aContractBalance = (overrides?: Partial): { __typename: 'ContractBalance' } & GQLContractBalance => { - return { - __typename: 'ContractBalance', - amount: overrides && overrides.hasOwnProperty('amount') ? overrides.amount! : '0xc', - assetId: overrides && overrides.hasOwnProperty('assetId') ? overrides.assetId! : 'm1on4nvj5caxtv0dkued0ncku5ydtsxu', - contract: overrides && overrides.hasOwnProperty('contract') ? overrides.contract! : '7bdxyt98z950w2en4wp4kh5fxekvlzqv', - }; -}; - -export const aContractBalanceConnection = (overrides?: Partial): { __typename: 'ContractBalanceConnection' } & GQLContractBalanceConnection => { - return { - __typename: 'ContractBalanceConnection', - edges: overrides && overrides.hasOwnProperty('edges') ? overrides.edges! : [aContractBalanceEdge()], - nodes: overrides && overrides.hasOwnProperty('nodes') ? overrides.nodes! : [aContractBalance()], - pageInfo: overrides && overrides.hasOwnProperty('pageInfo') ? overrides.pageInfo! : aPageInfo(), - }; -}; - -export const aContractBalanceEdge = (overrides?: Partial): { __typename: 'ContractBalanceEdge' } & GQLContractBalanceEdge => { - return { - __typename: 'ContractBalanceEdge', - cursor: overrides && overrides.hasOwnProperty('cursor') ? overrides.cursor! : 'nesciunt', - node: overrides && overrides.hasOwnProperty('node') ? overrides.node! : aContractBalance(), - }; -}; - -export const aContractBalanceFilterInput = (overrides?: Partial): GQLContractBalanceFilterInput => { - return { - contract: overrides && overrides.hasOwnProperty('contract') ? overrides.contract! : 'lly4yjylzlm1dnmj5lwzlk0tbb9no5sx', - }; -}; - -export const aContractConnection = (overrides?: Partial): { __typename: 'ContractConnection' } & GQLContractConnection => { - return { - __typename: 'ContractConnection', - nodes: overrides && overrides.hasOwnProperty('nodes') ? overrides.nodes! : [aContract()], - pageInfo: overrides && overrides.hasOwnProperty('pageInfo') ? overrides.pageInfo! : aPageInfo(), - }; -}; - -export const aContractCreated = (overrides?: Partial): { __typename: 'ContractCreated' } & GQLContractCreated => { - return { - __typename: 'ContractCreated', - contract: overrides && overrides.hasOwnProperty('contract') ? overrides.contract! : 'muu7slc0omdipgx0q3uoxsppeprkgeqq', - stateRoot: overrides && overrides.hasOwnProperty('stateRoot') ? overrides.stateRoot! : 'dolores', - }; -}; - -export const aContractOutput = (overrides?: Partial): { __typename: 'ContractOutput' } & GQLContractOutput => { - return { - __typename: 'ContractOutput', - balanceRoot: overrides && overrides.hasOwnProperty('balanceRoot') ? overrides.balanceRoot! : 'architecto', - inputIndex: overrides && overrides.hasOwnProperty('inputIndex') ? overrides.inputIndex! : '0x7', - stateRoot: overrides && overrides.hasOwnProperty('stateRoot') ? overrides.stateRoot! : 'animi', - }; -}; - -export const aContractParameters = (overrides?: Partial): { __typename: 'ContractParameters' } & GQLContractParameters => { - return { - __typename: 'ContractParameters', - contractMaxSize: overrides && overrides.hasOwnProperty('contractMaxSize') ? overrides.contractMaxSize! : '0xA', - maxStorageSlots: overrides && overrides.hasOwnProperty('maxStorageSlots') ? overrides.maxStorageSlots! : '0x0', - version: overrides && overrides.hasOwnProperty('version') ? overrides.version! : ('V1' as GQLContractParametersVersion), - }; -}; - -export const aDryRunFailureStatus = (overrides?: Partial): { __typename: 'DryRunFailureStatus' } & GQLDryRunFailureStatus => { - return { - __typename: 'DryRunFailureStatus', - programState: overrides && overrides.hasOwnProperty('programState') ? overrides.programState! : aProgramState(), - reason: overrides && overrides.hasOwnProperty('reason') ? overrides.reason! : 'omnis', - receipts: overrides && overrides.hasOwnProperty('receipts') ? overrides.receipts! : [aReceipt()], - totalFee: overrides && overrides.hasOwnProperty('totalFee') ? overrides.totalFee! : '0xf', - totalGas: overrides && overrides.hasOwnProperty('totalGas') ? overrides.totalGas! : '0x4', - }; -}; - -export const aDryRunSuccessStatus = (overrides?: Partial): { __typename: 'DryRunSuccessStatus' } & GQLDryRunSuccessStatus => { - return { - __typename: 'DryRunSuccessStatus', - programState: overrides && overrides.hasOwnProperty('programState') ? overrides.programState! : aProgramState(), - receipts: overrides && overrides.hasOwnProperty('receipts') ? overrides.receipts! : [aReceipt()], - totalFee: overrides && overrides.hasOwnProperty('totalFee') ? overrides.totalFee! : '0x5', - totalGas: overrides && overrides.hasOwnProperty('totalGas') ? overrides.totalGas! : '0x3', - }; -}; - -export const aDryRunTransactionExecutionStatus = (overrides?: Partial): { __typename: 'DryRunTransactionExecutionStatus' } & GQLDryRunTransactionExecutionStatus => { - return { - __typename: 'DryRunTransactionExecutionStatus', - id: overrides && overrides.hasOwnProperty('id') ? overrides.id! : '00y7p18vf94i6dgxo8hlvnn90de4b0hx', - receipts: overrides && overrides.hasOwnProperty('receipts') ? overrides.receipts! : [aReceipt()], - status: overrides && overrides.hasOwnProperty('status') ? overrides.status! : aDryRunFailureStatus(), - }; -}; - -export const anEstimateGasPrice = (overrides?: Partial): { __typename: 'EstimateGasPrice' } & GQLEstimateGasPrice => { - return { - __typename: 'EstimateGasPrice', - gasPrice: overrides && overrides.hasOwnProperty('gasPrice') ? overrides.gasPrice! : '0x7', - }; -}; - -export const anExcludeInput = (overrides?: Partial): GQLExcludeInput => { - return { - messages: overrides && overrides.hasOwnProperty('messages') ? overrides.messages! : ['facilis'], - utxos: overrides && overrides.hasOwnProperty('utxos') ? overrides.utxos! : ['rjjvinnn08hy31jzmpuci05byajz8wme'], - }; -}; - -export const aFailureStatus = (overrides?: Partial): { __typename: 'FailureStatus' } & GQLFailureStatus => { - return { - __typename: 'FailureStatus', - block: overrides && overrides.hasOwnProperty('block') ? overrides.block! : aBlock(), - programState: overrides && overrides.hasOwnProperty('programState') ? overrides.programState! : aProgramState(), - reason: overrides && overrides.hasOwnProperty('reason') ? overrides.reason! : 'corporis', - receipts: overrides && overrides.hasOwnProperty('receipts') ? overrides.receipts! : [aReceipt()], - time: overrides && overrides.hasOwnProperty('time') ? overrides.time! : 'itaque', - totalFee: overrides && overrides.hasOwnProperty('totalFee') ? overrides.totalFee! : '0xC', - totalGas: overrides && overrides.hasOwnProperty('totalGas') ? overrides.totalGas! : '0xf', - transactionId: overrides && overrides.hasOwnProperty('transactionId') ? overrides.transactionId! : 'y3992yk84ltlkuu5f6glx6r5iitmdig8', - }; -}; - -export const aFeeParameters = (overrides?: Partial): { __typename: 'FeeParameters' } & GQLFeeParameters => { - return { - __typename: 'FeeParameters', - gasPerByte: overrides && overrides.hasOwnProperty('gasPerByte') ? overrides.gasPerByte! : '0xA', - gasPriceFactor: overrides && overrides.hasOwnProperty('gasPriceFactor') ? overrides.gasPriceFactor! : '0xb', - version: overrides && overrides.hasOwnProperty('version') ? overrides.version! : ('V1' as GQLFeeParametersVersion), - }; -}; - -export const aGasCosts = (overrides?: Partial): { __typename: 'GasCosts' } & GQLGasCosts => { - return { - __typename: 'GasCosts', - add: overrides && overrides.hasOwnProperty('add') ? overrides.add! : '0xd', - addi: overrides && overrides.hasOwnProperty('addi') ? overrides.addi! : '0x4', - aloc: overrides && overrides.hasOwnProperty('aloc') ? overrides.aloc! : '0x5', - alocDependentCost: overrides && overrides.hasOwnProperty('alocDependentCost') ? overrides.alocDependentCost! : aHeavyOperation(), - and: overrides && overrides.hasOwnProperty('and') ? overrides.and! : '0xE', - andi: overrides && overrides.hasOwnProperty('andi') ? overrides.andi! : '0x1', - bal: overrides && overrides.hasOwnProperty('bal') ? overrides.bal! : '0xf', - bhei: overrides && overrides.hasOwnProperty('bhei') ? overrides.bhei! : '0xC', - bhsh: overrides && overrides.hasOwnProperty('bhsh') ? overrides.bhsh! : '0x7', - burn: overrides && overrides.hasOwnProperty('burn') ? overrides.burn! : '0x6', - call: overrides && overrides.hasOwnProperty('call') ? overrides.call! : aHeavyOperation(), - cb: overrides && overrides.hasOwnProperty('cb') ? overrides.cb! : '0x2', - ccp: overrides && overrides.hasOwnProperty('ccp') ? overrides.ccp! : aHeavyOperation(), - cfei: overrides && overrides.hasOwnProperty('cfei') ? overrides.cfei! : '0xc', - cfsi: overrides && overrides.hasOwnProperty('cfsi') ? overrides.cfsi! : '0xB', - contractRoot: overrides && overrides.hasOwnProperty('contractRoot') ? overrides.contractRoot! : aHeavyOperation(), - croo: overrides && overrides.hasOwnProperty('croo') ? overrides.croo! : aHeavyOperation(), - csiz: overrides && overrides.hasOwnProperty('csiz') ? overrides.csiz! : aHeavyOperation(), - div: overrides && overrides.hasOwnProperty('div') ? overrides.div! : '0x5', - divi: overrides && overrides.hasOwnProperty('divi') ? overrides.divi! : '0xB', - eck1: overrides && overrides.hasOwnProperty('eck1') ? overrides.eck1! : '0x4', - ecr1: overrides && overrides.hasOwnProperty('ecr1') ? overrides.ecr1! : '0x4', - ed19: overrides && overrides.hasOwnProperty('ed19') ? overrides.ed19! : '0xE', - eq: overrides && overrides.hasOwnProperty('eq') ? overrides.eq! : '0xa', - exp: overrides && overrides.hasOwnProperty('exp') ? overrides.exp! : '0x6', - expi: overrides && overrides.hasOwnProperty('expi') ? overrides.expi! : '0x5', - flag: overrides && overrides.hasOwnProperty('flag') ? overrides.flag! : '0xa', - gm: overrides && overrides.hasOwnProperty('gm') ? overrides.gm! : '0x6', - gt: overrides && overrides.hasOwnProperty('gt') ? overrides.gt! : '0x8', - gtf: overrides && overrides.hasOwnProperty('gtf') ? overrides.gtf! : '0xc', - ji: overrides && overrides.hasOwnProperty('ji') ? overrides.ji! : '0xF', - jmp: overrides && overrides.hasOwnProperty('jmp') ? overrides.jmp! : '0xD', - jmpb: overrides && overrides.hasOwnProperty('jmpb') ? overrides.jmpb! : '0xc', - jmpf: overrides && overrides.hasOwnProperty('jmpf') ? overrides.jmpf! : '0x8', - jne: overrides && overrides.hasOwnProperty('jne') ? overrides.jne! : '0x0', - jneb: overrides && overrides.hasOwnProperty('jneb') ? overrides.jneb! : '0x0', - jnef: overrides && overrides.hasOwnProperty('jnef') ? overrides.jnef! : '0x4', - jnei: overrides && overrides.hasOwnProperty('jnei') ? overrides.jnei! : '0xB', - jnzb: overrides && overrides.hasOwnProperty('jnzb') ? overrides.jnzb! : '0x1', - jnzf: overrides && overrides.hasOwnProperty('jnzf') ? overrides.jnzf! : '0xB', - jnzi: overrides && overrides.hasOwnProperty('jnzi') ? overrides.jnzi! : '0x0', - k256: overrides && overrides.hasOwnProperty('k256') ? overrides.k256! : aHeavyOperation(), - lb: overrides && overrides.hasOwnProperty('lb') ? overrides.lb! : '0xA', - ldc: overrides && overrides.hasOwnProperty('ldc') ? overrides.ldc! : aHeavyOperation(), - log: overrides && overrides.hasOwnProperty('log') ? overrides.log! : '0x6', - logd: overrides && overrides.hasOwnProperty('logd') ? overrides.logd! : aHeavyOperation(), - lt: overrides && overrides.hasOwnProperty('lt') ? overrides.lt! : '0xC', - lw: overrides && overrides.hasOwnProperty('lw') ? overrides.lw! : '0xD', - mcl: overrides && overrides.hasOwnProperty('mcl') ? overrides.mcl! : aHeavyOperation(), - mcli: overrides && overrides.hasOwnProperty('mcli') ? overrides.mcli! : aHeavyOperation(), - mcp: overrides && overrides.hasOwnProperty('mcp') ? overrides.mcp! : aHeavyOperation(), - mcpi: overrides && overrides.hasOwnProperty('mcpi') ? overrides.mcpi! : aHeavyOperation(), - meq: overrides && overrides.hasOwnProperty('meq') ? overrides.meq! : aHeavyOperation(), - mint: overrides && overrides.hasOwnProperty('mint') ? overrides.mint! : '0x1', - mldv: overrides && overrides.hasOwnProperty('mldv') ? overrides.mldv! : '0xF', - mlog: overrides && overrides.hasOwnProperty('mlog') ? overrides.mlog! : '0x8', - modOp: overrides && overrides.hasOwnProperty('modOp') ? overrides.modOp! : '0xF', - modi: overrides && overrides.hasOwnProperty('modi') ? overrides.modi! : '0xA', - moveOp: overrides && overrides.hasOwnProperty('moveOp') ? overrides.moveOp! : '0x4', - movi: overrides && overrides.hasOwnProperty('movi') ? overrides.movi! : '0xF', - mroo: overrides && overrides.hasOwnProperty('mroo') ? overrides.mroo! : '0xA', - mul: overrides && overrides.hasOwnProperty('mul') ? overrides.mul! : '0xE', - muli: overrides && overrides.hasOwnProperty('muli') ? overrides.muli! : '0xE', - newStoragePerByte: overrides && overrides.hasOwnProperty('newStoragePerByte') ? overrides.newStoragePerByte! : '0xA', - noop: overrides && overrides.hasOwnProperty('noop') ? overrides.noop! : '0x3', - not: overrides && overrides.hasOwnProperty('not') ? overrides.not! : '0xc', - or: overrides && overrides.hasOwnProperty('or') ? overrides.or! : '0xC', - ori: overrides && overrides.hasOwnProperty('ori') ? overrides.ori! : '0xE', - poph: overrides && overrides.hasOwnProperty('poph') ? overrides.poph! : '0x9', - popl: overrides && overrides.hasOwnProperty('popl') ? overrides.popl! : '0x7', - pshh: overrides && overrides.hasOwnProperty('pshh') ? overrides.pshh! : '0xD', - pshl: overrides && overrides.hasOwnProperty('pshl') ? overrides.pshl! : '0x9', - ret: overrides && overrides.hasOwnProperty('ret') ? overrides.ret! : '0xa', - retd: overrides && overrides.hasOwnProperty('retd') ? overrides.retd! : aHeavyOperation(), - rvrt: overrides && overrides.hasOwnProperty('rvrt') ? overrides.rvrt! : '0xD', - s256: overrides && overrides.hasOwnProperty('s256') ? overrides.s256! : aHeavyOperation(), - sb: overrides && overrides.hasOwnProperty('sb') ? overrides.sb! : '0x8', - scwq: overrides && overrides.hasOwnProperty('scwq') ? overrides.scwq! : aHeavyOperation(), - sll: overrides && overrides.hasOwnProperty('sll') ? overrides.sll! : '0xF', - slli: overrides && overrides.hasOwnProperty('slli') ? overrides.slli! : '0xb', - smo: overrides && overrides.hasOwnProperty('smo') ? overrides.smo! : aHeavyOperation(), - srl: overrides && overrides.hasOwnProperty('srl') ? overrides.srl! : '0xe', - srli: overrides && overrides.hasOwnProperty('srli') ? overrides.srli! : '0xB', - srw: overrides && overrides.hasOwnProperty('srw') ? overrides.srw! : '0x2', - srwq: overrides && overrides.hasOwnProperty('srwq') ? overrides.srwq! : aHeavyOperation(), - stateRoot: overrides && overrides.hasOwnProperty('stateRoot') ? overrides.stateRoot! : aHeavyOperation(), - sub: overrides && overrides.hasOwnProperty('sub') ? overrides.sub! : '0xa', - subi: overrides && overrides.hasOwnProperty('subi') ? overrides.subi! : '0xE', - sw: overrides && overrides.hasOwnProperty('sw') ? overrides.sw! : '0xa', - sww: overrides && overrides.hasOwnProperty('sww') ? overrides.sww! : '0x8', - swwq: overrides && overrides.hasOwnProperty('swwq') ? overrides.swwq! : aHeavyOperation(), - time: overrides && overrides.hasOwnProperty('time') ? overrides.time! : '0x1', - tr: overrides && overrides.hasOwnProperty('tr') ? overrides.tr! : '0x3', - tro: overrides && overrides.hasOwnProperty('tro') ? overrides.tro! : '0x0', - version: overrides && overrides.hasOwnProperty('version') ? overrides.version! : ('V1' as GQLGasCostsVersion), - vmInitialization: overrides && overrides.hasOwnProperty('vmInitialization') ? overrides.vmInitialization! : aHeavyOperation(), - wdam: overrides && overrides.hasOwnProperty('wdam') ? overrides.wdam! : '0xf', - wdcm: overrides && overrides.hasOwnProperty('wdcm') ? overrides.wdcm! : '0xD', - wddv: overrides && overrides.hasOwnProperty('wddv') ? overrides.wddv! : '0xe', - wdmd: overrides && overrides.hasOwnProperty('wdmd') ? overrides.wdmd! : '0xB', - wdml: overrides && overrides.hasOwnProperty('wdml') ? overrides.wdml! : '0xe', - wdmm: overrides && overrides.hasOwnProperty('wdmm') ? overrides.wdmm! : '0x6', - wdop: overrides && overrides.hasOwnProperty('wdop') ? overrides.wdop! : '0x0', - wqam: overrides && overrides.hasOwnProperty('wqam') ? overrides.wqam! : '0xF', - wqcm: overrides && overrides.hasOwnProperty('wqcm') ? overrides.wqcm! : '0xA', - wqdv: overrides && overrides.hasOwnProperty('wqdv') ? overrides.wqdv! : '0xD', - wqmd: overrides && overrides.hasOwnProperty('wqmd') ? overrides.wqmd! : '0x3', - wqml: overrides && overrides.hasOwnProperty('wqml') ? overrides.wqml! : '0x5', - wqmm: overrides && overrides.hasOwnProperty('wqmm') ? overrides.wqmm! : '0xE', - wqop: overrides && overrides.hasOwnProperty('wqop') ? overrides.wqop! : '0xA', - xor: overrides && overrides.hasOwnProperty('xor') ? overrides.xor! : '0x1', - xori: overrides && overrides.hasOwnProperty('xori') ? overrides.xori! : '0xb', - }; -}; - -export const aGenesis = (overrides?: Partial): { __typename: 'Genesis' } & GQLGenesis => { - return { - __typename: 'Genesis', - chainConfigHash: overrides && overrides.hasOwnProperty('chainConfigHash') ? overrides.chainConfigHash! : 'aliquam', - coinsRoot: overrides && overrides.hasOwnProperty('coinsRoot') ? overrides.coinsRoot! : 'quae', - contractsRoot: overrides && overrides.hasOwnProperty('contractsRoot') ? overrides.contractsRoot! : 'voluptatum', - messagesRoot: overrides && overrides.hasOwnProperty('messagesRoot') ? overrides.messagesRoot! : 'eligendi', - transactionsRoot: overrides && overrides.hasOwnProperty('transactionsRoot') ? overrides.transactionsRoot! : 'excepturi', - }; -}; - -export const aGroupedInputCoin = (overrides?: Partial): { __typename: 'GroupedInputCoin' } & GQLGroupedInputCoin => { - return { - __typename: 'GroupedInputCoin', - assetId: overrides && overrides.hasOwnProperty('assetId') ? overrides.assetId! : '2eku5pheqqmbpqebc24pvd6uan2fi351', - inputs: overrides && overrides.hasOwnProperty('inputs') ? overrides.inputs! : [anInputCoin()], - owner: overrides && overrides.hasOwnProperty('owner') ? overrides.owner! : 'hs5uyvd5zn2ejpebktph8qyshqmoj6zhc7l75vka', - totalAmount: overrides && overrides.hasOwnProperty('totalAmount') ? overrides.totalAmount! : '0x2', - type: overrides && overrides.hasOwnProperty('type') ? overrides.type! : ('InputCoin' as GQLGroupedInputType), - }; -}; - -export const aGroupedInputContract = (overrides?: Partial): { __typename: 'GroupedInputContract' } & GQLGroupedInputContract => { - return { - __typename: 'GroupedInputContract', - contractId: overrides && overrides.hasOwnProperty('contractId') ? overrides.contractId! : 'u4yzde85fwxgwjbch1eg56cf4rfl0j7l', - inputs: overrides && overrides.hasOwnProperty('inputs') ? overrides.inputs! : [anInputCoin()], - type: overrides && overrides.hasOwnProperty('type') ? overrides.type! : ('InputCoin' as GQLGroupedInputType), - }; -}; - -export const aGroupedInputMessage = (overrides?: Partial): { __typename: 'GroupedInputMessage' } & GQLGroupedInputMessage => { - return { - __typename: 'GroupedInputMessage', - data: overrides && overrides.hasOwnProperty('data') ? overrides.data! : '0xB42BD20B5dCC0E2AC5A5aBA5FeEDd6aEbDE530a6C4DFeEEB6e0de0FDCE20013e078BFbCa0dD4D8A7EE1823E0D2C9a41FEb1a4CDDCF493F2Ce6E9FC4eC18469e98c4e9b15eeBddd2fB51E7410EF638aAB', - inputs: overrides && overrides.hasOwnProperty('inputs') ? overrides.inputs! : [anInputCoin()], - recipient: overrides && overrides.hasOwnProperty('recipient') ? overrides.recipient! : 'rd3no2a6fhhtrgqqxwd68gi0s9w7c8ji9yu234t9', - sender: overrides && overrides.hasOwnProperty('sender') ? overrides.sender! : '01zhrvf8sff222ylldswxm6ffeukwu6531kym2vo', - type: overrides && overrides.hasOwnProperty('type') ? overrides.type! : ('InputCoin' as GQLGroupedInputType), - }; -}; - -export const aGroupedOutputChanged = (overrides?: Partial): { __typename: 'GroupedOutputChanged' } & GQLGroupedOutputChanged => { - return { - __typename: 'GroupedOutputChanged', - assetId: overrides && overrides.hasOwnProperty('assetId') ? overrides.assetId! : 's1382qlklm0ybq8so8c6jpcfx5bbvc9z', - outputs: overrides && overrides.hasOwnProperty('outputs') ? overrides.outputs! : [aChangeOutput()], - to: overrides && overrides.hasOwnProperty('to') ? overrides.to! : 'qjc5crtqj6eei6yeg7tn9941fxo9za5l403ky59c', - totalAmount: overrides && overrides.hasOwnProperty('totalAmount') ? overrides.totalAmount! : '0xd', - type: overrides && overrides.hasOwnProperty('type') ? overrides.type! : ('OutputChanged' as GQLGroupedOutputType), - }; -}; - -export const aGroupedOutputCoin = (overrides?: Partial): { __typename: 'GroupedOutputCoin' } & GQLGroupedOutputCoin => { - return { - __typename: 'GroupedOutputCoin', - assetId: overrides && overrides.hasOwnProperty('assetId') ? overrides.assetId! : 'ww0b52u8bqv5k2lv1z6bko1h67lb8jf9', - outputs: overrides && overrides.hasOwnProperty('outputs') ? overrides.outputs! : [aChangeOutput()], - to: overrides && overrides.hasOwnProperty('to') ? overrides.to! : '6jrf57bo24ccwu7z8lx1rmh0hdpcdku17n5fesm0', - totalAmount: overrides && overrides.hasOwnProperty('totalAmount') ? overrides.totalAmount! : '0xC', - type: overrides && overrides.hasOwnProperty('type') ? overrides.type! : ('OutputChanged' as GQLGroupedOutputType), - }; -}; - -export const aGroupedOutputContractCreated = (overrides?: Partial): { __typename: 'GroupedOutputContractCreated' } & GQLGroupedOutputContractCreated => { - return { - __typename: 'GroupedOutputContractCreated', - contractId: overrides && overrides.hasOwnProperty('contractId') ? overrides.contractId! : 'na7y6c1bwktuwdxfc445ry9bgdr6lmsv', - outputs: overrides && overrides.hasOwnProperty('outputs') ? overrides.outputs! : [aChangeOutput()], - type: overrides && overrides.hasOwnProperty('type') ? overrides.type! : ('OutputChanged' as GQLGroupedOutputType), - }; -}; - -export const aHeader = (overrides?: Partial): { __typename: 'Header' } & GQLHeader => { - return { - __typename: 'Header', - applicationHash: overrides && overrides.hasOwnProperty('applicationHash') ? overrides.applicationHash! : 'sint', - consensusParametersVersion: overrides && overrides.hasOwnProperty('consensusParametersVersion') ? overrides.consensusParametersVersion! : 'sint', - daHeight: overrides && overrides.hasOwnProperty('daHeight') ? overrides.daHeight! : '0xb', - eventInboxRoot: overrides && overrides.hasOwnProperty('eventInboxRoot') ? overrides.eventInboxRoot! : 'natus', - height: overrides && overrides.hasOwnProperty('height') ? overrides.height! : 'saepe', - id: overrides && overrides.hasOwnProperty('id') ? overrides.id! : 'pariatur', - messageOutboxRoot: overrides && overrides.hasOwnProperty('messageOutboxRoot') ? overrides.messageOutboxRoot! : 'exercitationem', - messageReceiptCount: overrides && overrides.hasOwnProperty('messageReceiptCount') ? overrides.messageReceiptCount! : 'illo', - prevRoot: overrides && overrides.hasOwnProperty('prevRoot') ? overrides.prevRoot! : 'reprehenderit', - stateTransitionBytecodeVersion: overrides && overrides.hasOwnProperty('stateTransitionBytecodeVersion') ? overrides.stateTransitionBytecodeVersion! : 'molestiae', - time: overrides && overrides.hasOwnProperty('time') ? overrides.time! : 'perspiciatis', - transactionsCount: overrides && overrides.hasOwnProperty('transactionsCount') ? overrides.transactionsCount! : '0x0', - transactionsRoot: overrides && overrides.hasOwnProperty('transactionsRoot') ? overrides.transactionsRoot! : 'animi', - version: overrides && overrides.hasOwnProperty('version') ? overrides.version! : ('V1' as GQLHeaderVersion), - }; -}; - -export const aHeavyOperation = (overrides?: Partial): { __typename: 'HeavyOperation' } & GQLHeavyOperation => { - return { - __typename: 'HeavyOperation', - base: overrides && overrides.hasOwnProperty('base') ? overrides.base! : '0xE', - gasPerUnit: overrides && overrides.hasOwnProperty('gasPerUnit') ? overrides.gasPerUnit! : '0xF', - }; -}; - -export const anInputCoin = (overrides?: Partial): { __typename: 'InputCoin' } & GQLInputCoin => { - return { - __typename: 'InputCoin', - amount: overrides && overrides.hasOwnProperty('amount') ? overrides.amount! : '0xA', - assetId: overrides && overrides.hasOwnProperty('assetId') ? overrides.assetId! : 'y27xk4sns2byxqyzgpcy513i3crqms8m', - owner: overrides && overrides.hasOwnProperty('owner') ? overrides.owner! : 'vamcamah4e8u1v6tw4ldf49gn6i4nhcxuhztvd8f', - predicate: overrides && overrides.hasOwnProperty('predicate') ? overrides.predicate! : '0xa67Faa70dBB8BFe84AeA310BFCb62991Ad08F6635BBeFeafAe7abac62E8BdeeB4cefB8E74f0dB67569E5f42cCdc9EBfA64c4326ED6Df8B3583E50A790F441b29BDD613D18e7D9eF2d42fE1F8C7dd4ee3', - predicateData: overrides && overrides.hasOwnProperty('predicateData') ? overrides.predicateData! : '0x63CCab6C200Cade6C4B7d1689bB2964b3BD8CaAb96C1AcBba1CED702F09b342f40d10F36824275eDba5BD55B657b71CF409Aeee963C126Bb2dEb80bDEeB57DF6c1dEdDC65389f3FAc6c72910319aBF2B', - predicateGasUsed: overrides && overrides.hasOwnProperty('predicateGasUsed') ? overrides.predicateGasUsed! : '0xd', - txPointer: overrides && overrides.hasOwnProperty('txPointer') ? overrides.txPointer! : 'officia', - utxoId: overrides && overrides.hasOwnProperty('utxoId') ? overrides.utxoId! : '37d3ah19hr1fh00b5j2qsz0tjfhyjk5f', - witnessIndex: overrides && overrides.hasOwnProperty('witnessIndex') ? overrides.witnessIndex! : '0xC', - }; -}; - -export const anInputContract = (overrides?: Partial): { __typename: 'InputContract' } & GQLInputContract => { - return { - __typename: 'InputContract', - balanceRoot: overrides && overrides.hasOwnProperty('balanceRoot') ? overrides.balanceRoot! : 'laboriosam', - contractId: overrides && overrides.hasOwnProperty('contractId') ? overrides.contractId! : 'seqb72kgrhepf625ihirc199aurbjqyo', - stateRoot: overrides && overrides.hasOwnProperty('stateRoot') ? overrides.stateRoot! : 'voluptatem', - txPointer: overrides && overrides.hasOwnProperty('txPointer') ? overrides.txPointer! : 'natus', - utxoId: overrides && overrides.hasOwnProperty('utxoId') ? overrides.utxoId! : 'bdooy2lb4df6d1qrjvhul62w3u6t7zu9', - }; -}; - -export const anInputMessage = (overrides?: Partial): { __typename: 'InputMessage' } & GQLInputMessage => { - return { - __typename: 'InputMessage', - amount: overrides && overrides.hasOwnProperty('amount') ? overrides.amount! : '0x5', - data: overrides && overrides.hasOwnProperty('data') ? overrides.data! : '0xffd6Fc68D8c1a4DffacF63db8CEb7FFfA2db2593cDEbFb1De88bF3ebDabFb9813db7bd45DE53dd24d4FCCfD7005D63fb806A0574dcba040c4bdFAdB5d8b66BffeAC2D282A0D6305AbDcaAaBB1479AF9f', - nonce: overrides && overrides.hasOwnProperty('nonce') ? overrides.nonce! : 'labore', - predicate: overrides && overrides.hasOwnProperty('predicate') ? overrides.predicate! : '0x44db0eAA0a6aBD6a0b2e1bAee42Bb2aD2dcDA8eAE1A3aF9A13EBfBE852d8E4D5450A3712bDe127A27Bd8dC149965Bde13Abee6Ddbb6aDcfE4420c53eCbe01B6d268A85eC2fffA1d9264CEDbD3d8ADCfF', - predicateData: overrides && overrides.hasOwnProperty('predicateData') ? overrides.predicateData! : '0x33CfF8399c2AE8debdB30dE8bBeCD90C9dEbdcA005444F492CcF5DF0B8E9d5a1EBDBf405Af0Beabe45aF6C05C888BFEd8789e0ed3aEadBAafaF83D60fDF6E48A9ceBc1aebc5EcDacf3cD297c7ab02D1D', - predicateGasUsed: overrides && overrides.hasOwnProperty('predicateGasUsed') ? overrides.predicateGasUsed! : '0x5', - recipient: overrides && overrides.hasOwnProperty('recipient') ? overrides.recipient! : '9zwmg9jnt78zbvx3yxpdmav9do29us3xpjekgh1w', - sender: overrides && overrides.hasOwnProperty('sender') ? overrides.sender! : 'zhhyn3xw7xjv92a6r70t4cxh0hrjaj1r2jqekoag', - witnessIndex: overrides && overrides.hasOwnProperty('witnessIndex') ? overrides.witnessIndex! : '0x9', - }; -}; - -export const aLatestGasPrice = (overrides?: Partial): { __typename: 'LatestGasPrice' } & GQLLatestGasPrice => { - return { - __typename: 'LatestGasPrice', - blockHeight: overrides && overrides.hasOwnProperty('blockHeight') ? overrides.blockHeight! : 'commodi', - gasPrice: overrides && overrides.hasOwnProperty('gasPrice') ? overrides.gasPrice! : '0xF', - }; -}; - -export const aLightOperation = (overrides?: Partial): { __typename: 'LightOperation' } & GQLLightOperation => { - return { - __typename: 'LightOperation', - base: overrides && overrides.hasOwnProperty('base') ? overrides.base! : '0x2', - unitsPerGas: overrides && overrides.hasOwnProperty('unitsPerGas') ? overrides.unitsPerGas! : '0xC', - }; -}; - -export const aMerkleProof = (overrides?: Partial): { __typename: 'MerkleProof' } & GQLMerkleProof => { - return { - __typename: 'MerkleProof', - proofIndex: overrides && overrides.hasOwnProperty('proofIndex') ? overrides.proofIndex! : '0x8', - proofSet: overrides && overrides.hasOwnProperty('proofSet') ? overrides.proofSet! : ['voluptatem'], - }; -}; - -export const aMessage = (overrides?: Partial): { __typename: 'Message' } & GQLMessage => { - return { - __typename: 'Message', - amount: overrides && overrides.hasOwnProperty('amount') ? overrides.amount! : '0xf', - daHeight: overrides && overrides.hasOwnProperty('daHeight') ? overrides.daHeight! : '0xD', - data: overrides && overrides.hasOwnProperty('data') ? overrides.data! : '0xec2db5aad31B91F403b8bcFA5dD8F6845C6514DaDeea2436cCE1E06CE58B5296Daab472Bb836847ecf6847729Afd2DefC48F9d07b8cb8DfFC165aF23df8c9BcaB436a215F43a7fab959115dDb0dB4e1a', - nonce: overrides && overrides.hasOwnProperty('nonce') ? overrides.nonce! : 'sapiente', - recipient: overrides && overrides.hasOwnProperty('recipient') ? overrides.recipient! : 'wcevmsvhv80welag1jy7xwl2tpov1t6j49u8cpu8', - sender: overrides && overrides.hasOwnProperty('sender') ? overrides.sender! : 'o6quj8u98g4443vfmjfvuul2fxj1vjjhpubzjg0d', - }; -}; - -export const aMessageCoin = (overrides?: Partial): { __typename: 'MessageCoin' } & GQLMessageCoin => { - return { - __typename: 'MessageCoin', - amount: overrides && overrides.hasOwnProperty('amount') ? overrides.amount! : '0xE', - assetId: overrides && overrides.hasOwnProperty('assetId') ? overrides.assetId! : 'jpsgc82trduth738qdx4lhs5i49bkjtd', - daHeight: overrides && overrides.hasOwnProperty('daHeight') ? overrides.daHeight! : '0xD', - nonce: overrides && overrides.hasOwnProperty('nonce') ? overrides.nonce! : 'modi', - recipient: overrides && overrides.hasOwnProperty('recipient') ? overrides.recipient! : '9ihbzqa03yfdgtw7q44azh77epkfzyjvoq58ldsc', - sender: overrides && overrides.hasOwnProperty('sender') ? overrides.sender! : '285w90pyy72x8y114624t9i328lyqmeno2nbs7qk', - }; -}; - -export const aMessageConnection = (overrides?: Partial): { __typename: 'MessageConnection' } & GQLMessageConnection => { - return { - __typename: 'MessageConnection', - edges: overrides && overrides.hasOwnProperty('edges') ? overrides.edges! : [aMessageEdge()], - nodes: overrides && overrides.hasOwnProperty('nodes') ? overrides.nodes! : [aMessage()], - pageInfo: overrides && overrides.hasOwnProperty('pageInfo') ? overrides.pageInfo! : aPageInfo(), - }; -}; - -export const aMessageEdge = (overrides?: Partial): { __typename: 'MessageEdge' } & GQLMessageEdge => { - return { - __typename: 'MessageEdge', - cursor: overrides && overrides.hasOwnProperty('cursor') ? overrides.cursor! : 'quas', - node: overrides && overrides.hasOwnProperty('node') ? overrides.node! : aMessage(), - }; -}; - -export const aMessageProof = (overrides?: Partial): { __typename: 'MessageProof' } & GQLMessageProof => { - return { - __typename: 'MessageProof', - amount: overrides && overrides.hasOwnProperty('amount') ? overrides.amount! : '0xa', - blockProof: overrides && overrides.hasOwnProperty('blockProof') ? overrides.blockProof! : aMerkleProof(), - commitBlockHeader: overrides && overrides.hasOwnProperty('commitBlockHeader') ? overrides.commitBlockHeader! : aHeader(), - data: overrides && overrides.hasOwnProperty('data') ? overrides.data! : '0x7d92f23a7d82BaAC7beA88Ba6DD85fFB85c368D7984bf87D32b5DcBb79B877d0b20acE4c41F7f3e601BBBeEAA34BbeeA9AAF4F58E3cc2997e42fDA2d9cb6AFBaec43fa33adDe7F458Eda8c9d318f86aA', - messageBlockHeader: overrides && overrides.hasOwnProperty('messageBlockHeader') ? overrides.messageBlockHeader! : aHeader(), - messageProof: overrides && overrides.hasOwnProperty('messageProof') ? overrides.messageProof! : aMerkleProof(), - nonce: overrides && overrides.hasOwnProperty('nonce') ? overrides.nonce! : 'enim', - recipient: overrides && overrides.hasOwnProperty('recipient') ? overrides.recipient! : 'dgpdudd1bdvc6wt4rkqjkvi4ycbkxoo9bcn17xof', - sender: overrides && overrides.hasOwnProperty('sender') ? overrides.sender! : 'yp1myonssz56zhe7fe1iakhvo22x2n8nek77r1lo', - }; -}; - -export const aMessageStatus = (overrides?: Partial): { __typename: 'MessageStatus' } & GQLMessageStatus => { - return { - __typename: 'MessageStatus', - state: overrides && overrides.hasOwnProperty('state') ? overrides.state! : ('NOT_FOUND' as GQLMessageState), - }; -}; - -export const aMutation = (overrides?: Partial): { __typename: 'Mutation' } & GQLMutation => { - return { - __typename: 'Mutation', - continueTx: overrides && overrides.hasOwnProperty('continueTx') ? overrides.continueTx! : aRunResult(), - dryRun: overrides && overrides.hasOwnProperty('dryRun') ? overrides.dryRun! : [aDryRunTransactionExecutionStatus()], - endSession: overrides && overrides.hasOwnProperty('endSession') ? overrides.endSession! : false, - execute: overrides && overrides.hasOwnProperty('execute') ? overrides.execute! : true, - produceBlocks: overrides && overrides.hasOwnProperty('produceBlocks') ? overrides.produceBlocks! : 'voluptatum', - reset: overrides && overrides.hasOwnProperty('reset') ? overrides.reset! : false, - setBreakpoint: overrides && overrides.hasOwnProperty('setBreakpoint') ? overrides.setBreakpoint! : true, - setSingleStepping: overrides && overrides.hasOwnProperty('setSingleStepping') ? overrides.setSingleStepping! : false, - startSession: overrides && overrides.hasOwnProperty('startSession') ? overrides.startSession! : '41a96a12-468a-4440-92ca-9eb4da4141a5', - startTx: overrides && overrides.hasOwnProperty('startTx') ? overrides.startTx! : aRunResult(), - submit: overrides && overrides.hasOwnProperty('submit') ? overrides.submit! : aTransaction(), - }; -}; - -export const aNodeInfo = (overrides?: Partial): { __typename: 'NodeInfo' } & GQLNodeInfo => { - return { - __typename: 'NodeInfo', - maxDepth: overrides && overrides.hasOwnProperty('maxDepth') ? overrides.maxDepth! : '0xf', - maxTx: overrides && overrides.hasOwnProperty('maxTx') ? overrides.maxTx! : '0x2', - nodeVersion: overrides && overrides.hasOwnProperty('nodeVersion') ? overrides.nodeVersion! : 'nobis', - peers: overrides && overrides.hasOwnProperty('peers') ? overrides.peers! : [aPeerInfo()], - utxoValidation: overrides && overrides.hasOwnProperty('utxoValidation') ? overrides.utxoValidation! : true, - vmBacktrace: overrides && overrides.hasOwnProperty('vmBacktrace') ? overrides.vmBacktrace! : true, - }; -}; - -export const anOperation = (overrides?: Partial): { __typename: 'Operation' } & GQLOperation => { - return { - __typename: 'Operation', - _id: overrides && overrides.hasOwnProperty('_id') ? overrides._id! : 'vel', - receipts: overrides && overrides.hasOwnProperty('receipts') ? overrides.receipts! : [anOperationReceipt()], - type: overrides && overrides.hasOwnProperty('type') ? overrides.type! : ('FINAL_RESULT' as GQLOperationType), - }; -}; - -export const anOperationReceipt = (overrides?: Partial): { __typename: 'OperationReceipt' } & GQLOperationReceipt => { - return { - __typename: 'OperationReceipt', - item: overrides && overrides.hasOwnProperty('item') ? overrides.item! : aReceipt(), - receipts: overrides && overrides.hasOwnProperty('receipts') ? overrides.receipts! : [anOperationReceipt()], - }; -}; - -export const anOperationsFilterInput = (overrides?: Partial): GQLOperationsFilterInput => { - return { - transactionHash: overrides && overrides.hasOwnProperty('transactionHash') ? overrides.transactionHash! : 'asperiores', - }; -}; - -export const anOutputBreakpoint = (overrides?: Partial): { __typename: 'OutputBreakpoint' } & GQLOutputBreakpoint => { - return { - __typename: 'OutputBreakpoint', - contract: overrides && overrides.hasOwnProperty('contract') ? overrides.contract! : '6ghwqlax5rq8vz7bbvxhn3nex1uoqjwo', - pc: overrides && overrides.hasOwnProperty('pc') ? overrides.pc! : '0xf', - }; -}; - -export const aPageInfo = (overrides?: Partial): { __typename: 'PageInfo' } & GQLPageInfo => { - return { - __typename: 'PageInfo', - endCursor: overrides && overrides.hasOwnProperty('endCursor') ? overrides.endCursor! : 'cum', - hasNextPage: overrides && overrides.hasOwnProperty('hasNextPage') ? overrides.hasNextPage! : false, - hasPreviousPage: overrides && overrides.hasOwnProperty('hasPreviousPage') ? overrides.hasPreviousPage! : true, - startCursor: overrides && overrides.hasOwnProperty('startCursor') ? overrides.startCursor! : 'repellendus', - }; -}; - -export const aParsedTime = (overrides?: Partial): { __typename: 'ParsedTime' } & GQLParsedTime => { - return { - __typename: 'ParsedTime', - fromNow: overrides && overrides.hasOwnProperty('fromNow') ? overrides.fromNow! : 'amet', - full: overrides && overrides.hasOwnProperty('full') ? overrides.full! : 'beatae', - rawTai64: overrides && overrides.hasOwnProperty('rawTai64') ? overrides.rawTai64! : 'esse', - rawUnix: overrides && overrides.hasOwnProperty('rawUnix') ? overrides.rawUnix! : 'quis', - }; -}; - -export const aPeerInfo = (overrides?: Partial): { __typename: 'PeerInfo' } & GQLPeerInfo => { - return { - __typename: 'PeerInfo', - addresses: overrides && overrides.hasOwnProperty('addresses') ? overrides.addresses! : ['iusto'], - appScore: overrides && overrides.hasOwnProperty('appScore') ? overrides.appScore! : 0.8, - blockHeight: overrides && overrides.hasOwnProperty('blockHeight') ? overrides.blockHeight! : 'magni', - clientVersion: overrides && overrides.hasOwnProperty('clientVersion') ? overrides.clientVersion! : 'vero', - id: overrides && overrides.hasOwnProperty('id') ? overrides.id! : 'nesciunt', - lastHeartbeatMs: overrides && overrides.hasOwnProperty('lastHeartbeatMs') ? overrides.lastHeartbeatMs! : '0x9', - }; -}; - -export const aPoAConsensus = (overrides?: Partial): { __typename: 'PoAConsensus' } & GQLPoAConsensus => { - return { - __typename: 'PoAConsensus', - signature: overrides && overrides.hasOwnProperty('signature') ? overrides.signature! : 'consectetur', - }; -}; - -export const aPolicies = (overrides?: Partial): { __typename: 'Policies' } & GQLPolicies => { - return { - __typename: 'Policies', - maturity: overrides && overrides.hasOwnProperty('maturity') ? overrides.maturity! : 'ex', - maxFee: overrides && overrides.hasOwnProperty('maxFee') ? overrides.maxFee! : '0x8', - tip: overrides && overrides.hasOwnProperty('tip') ? overrides.tip! : '0xF', - witnessLimit: overrides && overrides.hasOwnProperty('witnessLimit') ? overrides.witnessLimit! : '0xb', - }; -}; - -export const aPredicateItem = (overrides?: Partial): { __typename: 'PredicateItem' } & GQLPredicateItem => { - return { - __typename: 'PredicateItem', - address: overrides && overrides.hasOwnProperty('address') ? overrides.address! : 'ox7pg9io73m8gcks4s0p2qrr3sfsvhyndkpdkqqr', - bytecode: overrides && overrides.hasOwnProperty('bytecode') ? overrides.bytecode! : 'ex', - }; -}; - -export const aPredicateParameters = (overrides?: Partial): { __typename: 'PredicateParameters' } & GQLPredicateParameters => { - return { - __typename: 'PredicateParameters', - maxGasPerPredicate: overrides && overrides.hasOwnProperty('maxGasPerPredicate') ? overrides.maxGasPerPredicate! : '0x0', - maxMessageDataLength: overrides && overrides.hasOwnProperty('maxMessageDataLength') ? overrides.maxMessageDataLength! : '0xe', - maxPredicateDataLength: overrides && overrides.hasOwnProperty('maxPredicateDataLength') ? overrides.maxPredicateDataLength! : '0xE', - maxPredicateLength: overrides && overrides.hasOwnProperty('maxPredicateLength') ? overrides.maxPredicateLength! : '0x8', - version: overrides && overrides.hasOwnProperty('version') ? overrides.version! : ('V1' as GQLPredicateParametersVersion), - }; -}; - -export const aProgramState = (overrides?: Partial): { __typename: 'ProgramState' } & GQLProgramState => { - return { - __typename: 'ProgramState', - data: overrides && overrides.hasOwnProperty('data') ? overrides.data! : '0xE8f2fDf6aF89644c89Ca7eC89Bd1Aab8B95c114F2eE3fBF8b1C10AC6ccCe9EafA5dCeFaC56832ED898dC230295bc996bBCa7b21Fb0F614b0B2C28e964C2aA9f0F1C1808c9B9cB0ab60EAD68F8E07Baa2', - returnType: overrides && overrides.hasOwnProperty('returnType') ? overrides.returnType! : ('RETURN' as GQLReturnType), - }; -}; - -export const aQuery = (overrides?: Partial): { __typename: 'Query' } & GQLQuery => { - return { - __typename: 'Query', - balance: overrides && overrides.hasOwnProperty('balance') ? overrides.balance! : aBalance(), - balances: overrides && overrides.hasOwnProperty('balances') ? overrides.balances! : aBalanceConnection(), - block: overrides && overrides.hasOwnProperty('block') ? overrides.block! : aBlock(), - blocks: overrides && overrides.hasOwnProperty('blocks') ? overrides.blocks! : aBlockConnection(), - chain: overrides && overrides.hasOwnProperty('chain') ? overrides.chain! : aChainInfo(), - coin: overrides && overrides.hasOwnProperty('coin') ? overrides.coin! : aCoin(), - coins: overrides && overrides.hasOwnProperty('coins') ? overrides.coins! : aCoinConnection(), - coinsToSpend: overrides && overrides.hasOwnProperty('coinsToSpend') ? overrides.coinsToSpend! : [[aCoin()]], - contract: overrides && overrides.hasOwnProperty('contract') ? overrides.contract! : aContract(), - contractBalance: overrides && overrides.hasOwnProperty('contractBalance') ? overrides.contractBalance! : aContractBalance(), - contractBalances: overrides && overrides.hasOwnProperty('contractBalances') ? overrides.contractBalances! : aContractBalanceConnection(), - contracts: overrides && overrides.hasOwnProperty('contracts') ? overrides.contracts! : aContractConnection(), - estimateGasPrice: overrides && overrides.hasOwnProperty('estimateGasPrice') ? overrides.estimateGasPrice! : anEstimateGasPrice(), - estimatePredicates: overrides && overrides.hasOwnProperty('estimatePredicates') ? overrides.estimatePredicates! : aTransaction(), - health: overrides && overrides.hasOwnProperty('health') ? overrides.health! : true, - latestGasPrice: overrides && overrides.hasOwnProperty('latestGasPrice') ? overrides.latestGasPrice! : aLatestGasPrice(), - memory: overrides && overrides.hasOwnProperty('memory') ? overrides.memory! : 'id', - message: overrides && overrides.hasOwnProperty('message') ? overrides.message! : aMessage(), - messageProof: overrides && overrides.hasOwnProperty('messageProof') ? overrides.messageProof! : aMessageProof(), - messageStatus: overrides && overrides.hasOwnProperty('messageStatus') ? overrides.messageStatus! : aMessageStatus(), - messages: overrides && overrides.hasOwnProperty('messages') ? overrides.messages! : aMessageConnection(), - nodeInfo: overrides && overrides.hasOwnProperty('nodeInfo') ? overrides.nodeInfo! : aNodeInfo(), - predicate: overrides && overrides.hasOwnProperty('predicate') ? overrides.predicate! : aPredicateItem(), - register: overrides && overrides.hasOwnProperty('register') ? overrides.register! : '0x3', - relayedTransactionStatus: overrides && overrides.hasOwnProperty('relayedTransactionStatus') ? overrides.relayedTransactionStatus! : aRelayedTransactionFailed(), - search: overrides && overrides.hasOwnProperty('search') ? overrides.search! : aSearchResult(), - transaction: overrides && overrides.hasOwnProperty('transaction') ? overrides.transaction! : aTransaction(), - transactions: overrides && overrides.hasOwnProperty('transactions') ? overrides.transactions! : aTransactionConnection(), - transactionsByOwner: overrides && overrides.hasOwnProperty('transactionsByOwner') ? overrides.transactionsByOwner! : aTransactionConnection(), - }; -}; - -export const aReceipt = (overrides?: Partial): { __typename: 'Receipt' } & GQLReceipt => { - return { - __typename: 'Receipt', - amount: overrides && overrides.hasOwnProperty('amount') ? overrides.amount! : '0xB', - assetId: overrides && overrides.hasOwnProperty('assetId') ? overrides.assetId! : 'z58vuwpyp5fwi1yhwzlqj9ka232t9a8r', - contractId: overrides && overrides.hasOwnProperty('contractId') ? overrides.contractId! : '9d382ivp4mteisohn79svut91p9msibm', - data: overrides && overrides.hasOwnProperty('data') ? overrides.data! : '0xe2b353aAEa5e7E1Ff6fc4Da5bf9c0af8c0DcEe5ECD206ba852cDf1C7285F1fbd9eCbE4ba1AFCb6f9f4ef2Ce96c1a8f1DFE4AcD2FaD74D82eB1DFBFeFE3fc2F8EADBeeCDEE0ebF41E3ba0682aaa8Fa59A', - digest: overrides && overrides.hasOwnProperty('digest') ? overrides.digest! : 'architecto', - gas: overrides && overrides.hasOwnProperty('gas') ? overrides.gas! : '0x4', - gasUsed: overrides && overrides.hasOwnProperty('gasUsed') ? overrides.gasUsed! : '0x2', - id: overrides && overrides.hasOwnProperty('id') ? overrides.id! : 'reo93p7ao7a7vbjgwe4zokw7iw1tt5p9', - is: overrides && overrides.hasOwnProperty('is') ? overrides.is! : '0xb', - len: overrides && overrides.hasOwnProperty('len') ? overrides.len! : '0xf', - nonce: overrides && overrides.hasOwnProperty('nonce') ? overrides.nonce! : 'mollitia', - param1: overrides && overrides.hasOwnProperty('param1') ? overrides.param1! : '0xf', - param2: overrides && overrides.hasOwnProperty('param2') ? overrides.param2! : '0xe', - pc: overrides && overrides.hasOwnProperty('pc') ? overrides.pc! : '0xd', - ptr: overrides && overrides.hasOwnProperty('ptr') ? overrides.ptr! : '0x8', - ra: overrides && overrides.hasOwnProperty('ra') ? overrides.ra! : '0xA', - rb: overrides && overrides.hasOwnProperty('rb') ? overrides.rb! : '0xd', - rc: overrides && overrides.hasOwnProperty('rc') ? overrides.rc! : '0x2', - rd: overrides && overrides.hasOwnProperty('rd') ? overrides.rd! : '0xF', - reason: overrides && overrides.hasOwnProperty('reason') ? overrides.reason! : '0xF', - receiptType: overrides && overrides.hasOwnProperty('receiptType') ? overrides.receiptType! : ('BURN' as GQLReceiptType), - recipient: overrides && overrides.hasOwnProperty('recipient') ? overrides.recipient! : 'q7mhlsz9na9drlzwtj38y91r243dzrsfdkzsyxiq', - result: overrides && overrides.hasOwnProperty('result') ? overrides.result! : '0x0', - sender: overrides && overrides.hasOwnProperty('sender') ? overrides.sender! : 'ysjl9jycalt7pupoecumgfg3l76d5g22g2yy181x', - subId: overrides && overrides.hasOwnProperty('subId') ? overrides.subId! : 'quam', - to: overrides && overrides.hasOwnProperty('to') ? overrides.to! : 'qlna7hjcuqu3yun5jqzky8dn9wag39kd', - toAddress: overrides && overrides.hasOwnProperty('toAddress') ? overrides.toAddress! : '40v7wkyreg1nryfbtnbhw09swv0ciohkdcfloi6w', - val: overrides && overrides.hasOwnProperty('val') ? overrides.val! : '0xf', - }; -}; - -export const aRelayedTransactionFailed = (overrides?: Partial): { __typename: 'RelayedTransactionFailed' } & GQLRelayedTransactionFailed => { - return { - __typename: 'RelayedTransactionFailed', - blockHeight: overrides && overrides.hasOwnProperty('blockHeight') ? overrides.blockHeight! : 'velit', - failure: overrides && overrides.hasOwnProperty('failure') ? overrides.failure! : 'cumque', - }; -}; - -export const aRunResult = (overrides?: Partial): { __typename: 'RunResult' } & GQLRunResult => { - return { - __typename: 'RunResult', - breakpoint: overrides && overrides.hasOwnProperty('breakpoint') ? overrides.breakpoint! : anOutputBreakpoint(), - jsonReceipts: overrides && overrides.hasOwnProperty('jsonReceipts') ? overrides.jsonReceipts! : ['esse'], - state: overrides && overrides.hasOwnProperty('state') ? overrides.state! : ('BREAKPOINT' as GQLRunState), - }; -}; - -export const aScriptParameters = (overrides?: Partial): { __typename: 'ScriptParameters' } & GQLScriptParameters => { - return { - __typename: 'ScriptParameters', - maxScriptDataLength: overrides && overrides.hasOwnProperty('maxScriptDataLength') ? overrides.maxScriptDataLength! : '0x9', - maxScriptLength: overrides && overrides.hasOwnProperty('maxScriptLength') ? overrides.maxScriptLength! : '0x8', - version: overrides && overrides.hasOwnProperty('version') ? overrides.version! : ('V1' as GQLScriptParametersVersion), - }; -}; - -export const aSearchAccount = (overrides?: Partial): { __typename: 'SearchAccount' } & GQLSearchAccount => { - return { - __typename: 'SearchAccount', - address: overrides && overrides.hasOwnProperty('address') ? overrides.address! : 'fxjjhq8rar88egu9vnil1ab5e9xsldm8tl3aii4l', - transactions: overrides && overrides.hasOwnProperty('transactions') ? overrides.transactions! : [aSearchTransaction()], - }; -}; - -export const aSearchBlock = (overrides?: Partial): { __typename: 'SearchBlock' } & GQLSearchBlock => { - return { - __typename: 'SearchBlock', - height: overrides && overrides.hasOwnProperty('height') ? overrides.height! : 'ea', - id: overrides && overrides.hasOwnProperty('id') ? overrides.id! : 'necessitatibus', - }; -}; - -export const aSearchContract = (overrides?: Partial): { __typename: 'SearchContract' } & GQLSearchContract => { - return { - __typename: 'SearchContract', - id: overrides && overrides.hasOwnProperty('id') ? overrides.id! : 'cal06fr6xavgycxm6euv9zube4yuy9v6', - }; -}; - -export const aSearchResult = (overrides?: Partial): { __typename: 'SearchResult' } & GQLSearchResult => { - return { - __typename: 'SearchResult', - account: overrides && overrides.hasOwnProperty('account') ? overrides.account! : aSearchAccount(), - block: overrides && overrides.hasOwnProperty('block') ? overrides.block! : aSearchBlock(), - contract: overrides && overrides.hasOwnProperty('contract') ? overrides.contract! : aSearchContract(), - transaction: overrides && overrides.hasOwnProperty('transaction') ? overrides.transaction! : aSearchTransaction(), - }; -}; - -export const aSearchTransaction = (overrides?: Partial): { __typename: 'SearchTransaction' } & GQLSearchTransaction => { - return { - __typename: 'SearchTransaction', - id: overrides && overrides.hasOwnProperty('id') ? overrides.id! : 'ikjck0dx2w0q8gftmk41pxgde8kadbzf', - }; -}; - -export const aSpendQueryElementInput = (overrides?: Partial): GQLSpendQueryElementInput => { - return { - amount: overrides && overrides.hasOwnProperty('amount') ? overrides.amount! : '0xd', - assetId: overrides && overrides.hasOwnProperty('assetId') ? overrides.assetId! : 'uf0lsb3kvot747ow9j0nv0mh9tf7zsgw', - max: overrides && overrides.hasOwnProperty('max') ? overrides.max! : 'odit', - }; -}; - -export const aSqueezedOutStatus = (overrides?: Partial): { __typename: 'SqueezedOutStatus' } & GQLSqueezedOutStatus => { - return { - __typename: 'SqueezedOutStatus', - reason: overrides && overrides.hasOwnProperty('reason') ? overrides.reason! : 'voluptatibus', - }; -}; - -export const aStateTransitionPurpose = (overrides?: Partial): { __typename: 'StateTransitionPurpose' } & GQLStateTransitionPurpose => { - return { - __typename: 'StateTransitionPurpose', - root: overrides && overrides.hasOwnProperty('root') ? overrides.root! : 'quibusdam', - }; -}; - -export const aSubmittedStatus = (overrides?: Partial): { __typename: 'SubmittedStatus' } & GQLSubmittedStatus => { - return { - __typename: 'SubmittedStatus', - time: overrides && overrides.hasOwnProperty('time') ? overrides.time! : 'natus', - }; -}; - -export const aSubscription = (overrides?: Partial): { __typename: 'Subscription' } & GQLSubscription => { - return { - __typename: 'Subscription', - statusChange: overrides && overrides.hasOwnProperty('statusChange') ? overrides.statusChange! : aFailureStatus(), - submitAndAwait: overrides && overrides.hasOwnProperty('submitAndAwait') ? overrides.submitAndAwait! : aFailureStatus(), - }; -}; - -export const aSuccessStatus = (overrides?: Partial): { __typename: 'SuccessStatus' } & GQLSuccessStatus => { - return { - __typename: 'SuccessStatus', - block: overrides && overrides.hasOwnProperty('block') ? overrides.block! : aBlock(), - programState: overrides && overrides.hasOwnProperty('programState') ? overrides.programState! : aProgramState(), - receipts: overrides && overrides.hasOwnProperty('receipts') ? overrides.receipts! : [aReceipt()], - time: overrides && overrides.hasOwnProperty('time') ? overrides.time! : 'modi', - totalFee: overrides && overrides.hasOwnProperty('totalFee') ? overrides.totalFee! : '0x2', - totalGas: overrides && overrides.hasOwnProperty('totalGas') ? overrides.totalGas! : '0x0', - transactionId: overrides && overrides.hasOwnProperty('transactionId') ? overrides.transactionId! : '7yxyr87uqpfquupe4qq7bmmlpvtejjdv', - }; -}; - -export const aTransaction = (overrides?: Partial): { __typename: 'Transaction' } & GQLTransaction => { - return { - __typename: 'Transaction', - _id: overrides && overrides.hasOwnProperty('_id') ? overrides._id! : 'quidem', - blockHeight: overrides && overrides.hasOwnProperty('blockHeight') ? overrides.blockHeight! : 'non', - bytecodeRoot: overrides && overrides.hasOwnProperty('bytecodeRoot') ? overrides.bytecodeRoot! : 'fugit', - bytecodeWitnessIndex: overrides && overrides.hasOwnProperty('bytecodeWitnessIndex') ? overrides.bytecodeWitnessIndex! : '0xE', - gasCosts: overrides && overrides.hasOwnProperty('gasCosts') ? overrides.gasCosts! : aTransactionGasCosts(), - groupedInputs: overrides && overrides.hasOwnProperty('groupedInputs') ? overrides.groupedInputs! : [aGroupedInputCoin()], - groupedOutputs: overrides && overrides.hasOwnProperty('groupedOutputs') ? overrides.groupedOutputs! : [aGroupedOutputChanged()], - hasPredicate: overrides && overrides.hasOwnProperty('hasPredicate') ? overrides.hasPredicate! : true, - id: overrides && overrides.hasOwnProperty('id') ? overrides.id! : 'm5skeiw541vcdt1lceitryfralzuwdw9', - inputAssetIds: overrides && overrides.hasOwnProperty('inputAssetIds') ? overrides.inputAssetIds! : ['ivh1nwdxbmv9t9y30qbwmnpsdwxc5pao'], - inputContract: overrides && overrides.hasOwnProperty('inputContract') ? overrides.inputContract! : anInputContract(), - inputContracts: overrides && overrides.hasOwnProperty('inputContracts') ? overrides.inputContracts! : ['273v2irztwdqtobbwmf7mfamdjf2ieff'], - inputs: overrides && overrides.hasOwnProperty('inputs') ? overrides.inputs! : [anInputCoin()], - isCreate: overrides && overrides.hasOwnProperty('isCreate') ? overrides.isCreate! : true, - isMint: overrides && overrides.hasOwnProperty('isMint') ? overrides.isMint! : false, - isScript: overrides && overrides.hasOwnProperty('isScript') ? overrides.isScript! : true, - isUpgrade: overrides && overrides.hasOwnProperty('isUpgrade') ? overrides.isUpgrade! : false, - isUpload: overrides && overrides.hasOwnProperty('isUpload') ? overrides.isUpload! : false, - maturity: overrides && overrides.hasOwnProperty('maturity') ? overrides.maturity! : 'distinctio', - mintAmount: overrides && overrides.hasOwnProperty('mintAmount') ? overrides.mintAmount! : '0x4', - mintAssetId: overrides && overrides.hasOwnProperty('mintAssetId') ? overrides.mintAssetId! : 'ear74yjd6jnrhxyo9jp8jbbywtajy2y7', - mintGasPrice: overrides && overrides.hasOwnProperty('mintGasPrice') ? overrides.mintGasPrice! : '0xd', - operations: overrides && overrides.hasOwnProperty('operations') ? overrides.operations! : [anOperation()], - outputContract: overrides && overrides.hasOwnProperty('outputContract') ? overrides.outputContract! : aContractOutput(), - outputs: overrides && overrides.hasOwnProperty('outputs') ? overrides.outputs! : [aChangeOutput()], - policies: overrides && overrides.hasOwnProperty('policies') ? overrides.policies! : aPolicies(), - proofSet: overrides && overrides.hasOwnProperty('proofSet') ? overrides.proofSet! : ['sint'], - rawPayload: overrides && overrides.hasOwnProperty('rawPayload') ? overrides.rawPayload! : '0xCafBd5Ce4b560Aca24ffa36ce3BdFbAdbeDef78a2f072846FBE99a5FC46eFaAb7CBdFCdd25acC24Ead593EBAE0eA8Ce6CDE3fAa6FD794c53eBb332A25EdD6F86e1BD0CF857DA0DdD7bC49E162cFdE61C', - receipts: overrides && overrides.hasOwnProperty('receipts') ? overrides.receipts! : [aReceipt()], - receiptsRoot: overrides && overrides.hasOwnProperty('receiptsRoot') ? overrides.receiptsRoot! : 'debitis', - salt: overrides && overrides.hasOwnProperty('salt') ? overrides.salt! : 'fuga', - script: overrides && overrides.hasOwnProperty('script') ? overrides.script! : '0xb57ff0B5B7b8fddBE6BC4CF94dFccd4BA278C9b9eCddf46Ad73baBcE85d1ABEaECe392fbeB37116cFcc8E5a15C3E4Ea7356B35c70a1d4DBFe8ab0EDf83bFf6f54FCFF0e90b42b363CD4bEca9d5AB38D5', - scriptData: overrides && overrides.hasOwnProperty('scriptData') ? overrides.scriptData! : '0xa8B9bEba75644Ef15fc7FE0ebEdc7376E6D83DF543E4218a00556f33B1cfa47D935B2cbD0CCD36D1D5074D1bbFAC059E4fCcd3d8FADbca1CcCa85DFb15cdcA817a6aD1d52dd4bbee8ae8c3A08e0dC56A', - scriptGasLimit: overrides && overrides.hasOwnProperty('scriptGasLimit') ? overrides.scriptGasLimit! : '0xA', - status: overrides && overrides.hasOwnProperty('status') ? overrides.status! : aFailureStatus(), - statusType: overrides && overrides.hasOwnProperty('statusType') ? overrides.statusType! : 'inventore', - storageSlots: overrides && overrides.hasOwnProperty('storageSlots') ? overrides.storageSlots! : ['0x93F3d4f06033Babda85ce01DC9cbfc37cEddcBFf9bEd8DE4c4E83B5305a1DfFb3C4ef9d6E51AEAb68bf0D70eD039DCffF924C2359c5d1c0c0C41C4B2fafF6F692aD54de3a4CAace3bfef27eefe672530'], - subsectionIndex: overrides && overrides.hasOwnProperty('subsectionIndex') ? overrides.subsectionIndex! : '0x6', - subsectionsNumber: overrides && overrides.hasOwnProperty('subsectionsNumber') ? overrides.subsectionsNumber! : '0xE', - time: overrides && overrides.hasOwnProperty('time') ? overrides.time! : aParsedTime(), - title: overrides && overrides.hasOwnProperty('title') ? overrides.title! : 'qui', - txPointer: overrides && overrides.hasOwnProperty('txPointer') ? overrides.txPointer! : 'expedita', - upgradePurpose: overrides && overrides.hasOwnProperty('upgradePurpose') ? overrides.upgradePurpose! : aConsensusParametersPurpose(), - witnesses: overrides && overrides.hasOwnProperty('witnesses') ? overrides.witnesses! : ['0x8b5Da64f37447BECBc9A170Ab9C36D48b0D4D0FBEdc79240BE46b52AbfFc1DB1BC9deAEe64E474Ed67bf8641137b857CBCA06ea6362937913F3EDEaca7ffC1Abf45ab6a7941D8bF61Bec1B5fAB8fbb1b'], - }; -}; - -export const aTransactionConnection = (overrides?: Partial): { __typename: 'TransactionConnection' } & GQLTransactionConnection => { - return { - __typename: 'TransactionConnection', - edges: overrides && overrides.hasOwnProperty('edges') ? overrides.edges! : [aTransactionEdge()], - nodes: overrides && overrides.hasOwnProperty('nodes') ? overrides.nodes! : [aTransaction()], - pageInfo: overrides && overrides.hasOwnProperty('pageInfo') ? overrides.pageInfo! : aPageInfo(), - }; -}; - -export const aTransactionEdge = (overrides?: Partial): { __typename: 'TransactionEdge' } & GQLTransactionEdge => { - return { - __typename: 'TransactionEdge', - cursor: overrides && overrides.hasOwnProperty('cursor') ? overrides.cursor! : 'eos', - node: overrides && overrides.hasOwnProperty('node') ? overrides.node! : aTransaction(), - }; -}; - -export const aTransactionGasCosts = (overrides?: Partial): { __typename: 'TransactionGasCosts' } & GQLTransactionGasCosts => { - return { - __typename: 'TransactionGasCosts', - fee: overrides && overrides.hasOwnProperty('fee') ? overrides.fee! : '0x8', - gasUsed: overrides && overrides.hasOwnProperty('gasUsed') ? overrides.gasUsed! : '0xf', - }; -}; - -export const aTxParameters = (overrides?: Partial): { __typename: 'TxParameters' } & GQLTxParameters => { - return { - __typename: 'TxParameters', - maxBytecodeSubsections: overrides && overrides.hasOwnProperty('maxBytecodeSubsections') ? overrides.maxBytecodeSubsections! : '0x0', - maxGasPerTx: overrides && overrides.hasOwnProperty('maxGasPerTx') ? overrides.maxGasPerTx! : '0xf', - maxInputs: overrides && overrides.hasOwnProperty('maxInputs') ? overrides.maxInputs! : '0xA', - maxOutputs: overrides && overrides.hasOwnProperty('maxOutputs') ? overrides.maxOutputs! : '0x9', - maxSize: overrides && overrides.hasOwnProperty('maxSize') ? overrides.maxSize! : '0x4', - maxWitnesses: overrides && overrides.hasOwnProperty('maxWitnesses') ? overrides.maxWitnesses! : 'modi', - version: overrides && overrides.hasOwnProperty('version') ? overrides.version! : ('V1' as GQLTxParametersVersion), - }; -}; - -export const anUtxoItem = (overrides?: Partial): { __typename: 'UtxoItem' } & GQLUtxoItem => { - return { - __typename: 'UtxoItem', - amount: overrides && overrides.hasOwnProperty('amount') ? overrides.amount! : '0xB', - blockCreated: overrides && overrides.hasOwnProperty('blockCreated') ? overrides.blockCreated! : 'quasi', - txCreatedIdx: overrides && overrides.hasOwnProperty('txCreatedIdx') ? overrides.txCreatedIdx! : '0xD', - utxoId: overrides && overrides.hasOwnProperty('utxoId') ? overrides.utxoId! : 'yk6ff55bv2kpr4nl0rf5mxxuz7pelbo0', - }; -}; - -export const aVariableOutput = (overrides?: Partial): { __typename: 'VariableOutput' } & GQLVariableOutput => { - return { - __typename: 'VariableOutput', - amount: overrides && overrides.hasOwnProperty('amount') ? overrides.amount! : '0xc', - assetId: overrides && overrides.hasOwnProperty('assetId') ? overrides.assetId! : 'hq38k3ap8ok8krpquh789zkbfdd74ab6', - to: overrides && overrides.hasOwnProperty('to') ? overrides.to! : '4gs9ppn7jqumdt8t0gd7u4mra5dblqlbgjy1w5bv', - }; -}; diff --git a/packages/graphql/src/graphql/generated/sdk-provider.ts b/packages/graphql/src/graphql/generated/sdk-provider.ts index b95167661..1e7e1e960 100644 --- a/packages/graphql/src/graphql/generated/sdk-provider.ts +++ b/packages/graphql/src/graphql/generated/sdk-provider.ts @@ -1,38 +1,51 @@ +import { GraphQLError, print } from 'graphql'; import type { GraphQLClient, RequestOptions } from 'graphql-request'; -import { GraphQLError, print } from 'graphql' import gql from 'graphql-tag'; export type Maybe = T | null; export type InputMaybe = Maybe; -export type Exact = { [K in keyof T]: T[K] }; -export type MakeOptional = Omit & { [SubKey in K]?: Maybe }; -export type MakeMaybe = Omit & { [SubKey in K]: Maybe }; -export type MakeEmpty = { [_ in K]?: never }; -export type Incremental = T | { [P in keyof T]?: P extends ' $fragmentName' | '__typename' ? T[P] : never }; +export type Exact = { + [K in keyof T]: T[K]; +}; +export type MakeOptional = Omit & { + [SubKey in K]?: Maybe; +}; +export type MakeMaybe = Omit & { + [SubKey in K]: Maybe; +}; +export type MakeEmpty< + T extends { [key: string]: unknown }, + K extends keyof T, +> = { [_ in K]?: never }; +export type Incremental = + | T + | { + [P in keyof T]?: P extends ' $fragmentName' | '__typename' ? T[P] : never; + }; type GraphQLClientRequestHeaders = RequestOptions['requestHeaders']; /** All built-in and custom scalars, mapped to their actual values */ export type Scalars = { - ID: { input: string; output: string; } - String: { input: string; output: string; } - Boolean: { input: boolean; output: boolean; } - Int: { input: number; output: number; } - Float: { input: number; output: number; } - Address: { input: string; output: string; } - AssetId: { input: string; output: string; } - BlockId: { input: string; output: string; } - Bytes32: { input: string; output: string; } - ContractId: { input: string; output: string; } - HexString: { input: string; output: string; } - Nonce: { input: string; output: string; } - RelayedTransactionId: { input: string; output: string; } - Salt: { input: string; output: string; } - Signature: { input: string; output: string; } - Tai64Timestamp: { input: string; output: string; } - TransactionId: { input: string; output: string; } - TxPointer: { input: string; output: string; } - U16: { input: string; output: string; } - U32: { input: string; output: string; } - U64: { input: string; output: string; } - UtxoId: { input: string; output: string; } + ID: { input: string; output: string }; + String: { input: string; output: string }; + Boolean: { input: boolean; output: boolean }; + Int: { input: number; output: number }; + Float: { input: number; output: number }; + Address: { input: string; output: string }; + AssetId: { input: string; output: string }; + BlockId: { input: string; output: string }; + Bytes32: { input: string; output: string }; + ContractId: { input: string; output: string }; + HexString: { input: string; output: string }; + Nonce: { input: string; output: string }; + RelayedTransactionId: { input: string; output: string }; + Salt: { input: string; output: string }; + Signature: { input: string; output: string }; + Tai64Timestamp: { input: string; output: string }; + TransactionId: { input: string; output: string }; + TxPointer: { input: string; output: string }; + U16: { input: string; output: string }; + U32: { input: string; output: string }; + U64: { input: string; output: string }; + UtxoId: { input: string; output: string }; }; export type GQLBalance = { @@ -100,8 +113,21 @@ export type GQLBlockEdge = { node: GQLBlock; }; +export type GQLBlockReward = { + __typename: 'BlockReward'; + id: Scalars['BlockId']['output']; + reward: Scalars['U64']['output']; + timestamp: Scalars['String']['output']; +}; + +export type GQLBlockRewardConnection = { + __typename: 'BlockRewardConnection'; + /** A list of nodes. */ + nodes?: Maybe>; +}; + export enum GQLBlockVersion { - V1 = 'V1' + V1 = 'V1', } /** Breakpoint, defined as a tuple of contract ID and relative PC offset inside it */ @@ -198,7 +224,7 @@ export type GQLConsensusParametersPurpose = { }; export enum GQLConsensusParametersVersion { - V1 = 'V1' + V1 = 'V1', } export type GQLContract = { @@ -267,7 +293,7 @@ export type GQLContractParameters = { }; export enum GQLContractParametersVersion { - V1 = 'V1' + V1 = 'V1', } export type GQLDependentCost = GQLHeavyOperation | GQLLightOperation; @@ -296,7 +322,9 @@ export type GQLDryRunTransactionExecutionStatus = { status: GQLDryRunTransactionStatus; }; -export type GQLDryRunTransactionStatus = GQLDryRunFailureStatus | GQLDryRunSuccessStatus; +export type GQLDryRunTransactionStatus = + | GQLDryRunFailureStatus + | GQLDryRunSuccessStatus; export type GQLEstimateGasPrice = { __typename: 'EstimateGasPrice'; @@ -330,7 +358,7 @@ export type GQLFeeParameters = { }; export enum GQLFeeParametersVersion { - V1 = 'V1' + V1 = 'V1', } export type GQLGasCosts = { @@ -450,7 +478,7 @@ export type GQLGasCosts = { }; export enum GQLGasCostsVersion { - V1 = 'V1' + V1 = 'V1', } export type GQLGenesis = { @@ -470,7 +498,10 @@ export type GQLGenesis = { transactionsRoot: Scalars['Bytes32']['output']; }; -export type GQLGroupedInput = GQLGroupedInputCoin | GQLGroupedInputContract | GQLGroupedInputMessage; +export type GQLGroupedInput = + | GQLGroupedInputCoin + | GQLGroupedInputContract + | GQLGroupedInputMessage; export type GQLGroupedInputCoin = { __typename: 'GroupedInputCoin'; @@ -500,10 +531,13 @@ export type GQLGroupedInputMessage = { export enum GQLGroupedInputType { InputCoin = 'InputCoin', InputContract = 'InputContract', - InputMessage = 'InputMessage' + InputMessage = 'InputMessage', } -export type GQLGroupedOutput = GQLGroupedOutputChanged | GQLGroupedOutputCoin | GQLGroupedOutputContractCreated; +export type GQLGroupedOutput = + | GQLGroupedOutputChanged + | GQLGroupedOutputCoin + | GQLGroupedOutputContractCreated; export type GQLGroupedOutputChanged = { __typename: 'GroupedOutputChanged'; @@ -533,7 +567,7 @@ export type GQLGroupedOutputContractCreated = { export enum GQLGroupedOutputType { OutputChanged = 'OutputChanged', OutputCoin = 'OutputCoin', - OutputContractCreated = 'OutputContractCreated' + OutputContractCreated = 'OutputContractCreated', } export type GQLHeader = { @@ -569,7 +603,7 @@ export type GQLHeader = { }; export enum GQLHeaderVersion { - V1 = 'V1' + V1 = 'V1', } export type GQLHeavyOperation = { @@ -688,7 +722,7 @@ export type GQLMessageProof = { export enum GQLMessageState { NotFound = 'NOT_FOUND', Spent = 'SPENT', - Unspent = 'UNSPENT' + Unspent = 'UNSPENT', } export type GQLMessageStatus = { @@ -742,59 +776,49 @@ export type GQLMutation = { submit: GQLTransaction; }; - export type GQLMutationContinueTxArgs = { id: Scalars['ID']['input']; }; - export type GQLMutationDryRunArgs = { gasPrice?: InputMaybe; txs: Array; utxoValidation?: InputMaybe; }; - export type GQLMutationEndSessionArgs = { id: Scalars['ID']['input']; }; - export type GQLMutationExecuteArgs = { id: Scalars['ID']['input']; op: Scalars['String']['input']; }; - export type GQLMutationProduceBlocksArgs = { blocksToProduce: Scalars['U32']['input']; startTimestamp?: InputMaybe; }; - export type GQLMutationResetArgs = { id: Scalars['ID']['input']; }; - export type GQLMutationSetBreakpointArgs = { breakpoint: GQLBreakpoint; id: Scalars['ID']['input']; }; - export type GQLMutationSetSingleSteppingArgs = { enable: Scalars['Boolean']['input']; id: Scalars['ID']['input']; }; - export type GQLMutationStartTxArgs = { id: Scalars['ID']['input']; txJson: Scalars['String']['input']; }; - export type GQLMutationSubmitArgs = { tx: Scalars['HexString']['input']; }; @@ -825,14 +849,19 @@ export type GQLOperationReceipt = { export enum GQLOperationType { FinalResult = 'FINAL_RESULT', FromAccount = 'FROM_ACCOUNT', - FromContract = 'FROM_CONTRACT' + FromContract = 'FROM_CONTRACT', } export type GQLOperationsFilterInput = { transactionHash: Scalars['String']['input']; }; -export type GQLOutput = GQLChangeOutput | GQLCoinOutput | GQLContractCreated | GQLContractOutput | GQLVariableOutput; +export type GQLOutput = + | GQLChangeOutput + | GQLCoinOutput + | GQLContractCreated + | GQLContractOutput + | GQLVariableOutput; /** * A separate `Breakpoint` type to be used as an output, as a single @@ -911,7 +940,7 @@ export type GQLPredicateParameters = { }; export enum GQLPredicateParametersVersion { - V1 = 'V1' + V1 = 'V1', } export type GQLProgramState = { @@ -925,6 +954,7 @@ export type GQLQuery = { balance: GQLBalance; balances: GQLBalanceConnection; block?: Maybe; + blockRewardStatistics: GQLBlockRewardConnection; blocks: GQLBlockConnection; chain: GQLChainInfo; /** Gets the coin by `utxo_id`. */ @@ -969,15 +999,14 @@ export type GQLQuery = { transaction?: Maybe; transactions: GQLTransactionConnection; transactionsByOwner: GQLTransactionConnection; + transactionsFeeStatistics: GQLTransactionFeeConnection; }; - export type GQLQueryBalanceArgs = { assetId: Scalars['AssetId']['input']; owner: Scalars['Address']['input']; }; - export type GQLQueryBalancesArgs = { after?: InputMaybe; before?: InputMaybe; @@ -986,12 +1015,14 @@ export type GQLQueryBalancesArgs = { last?: InputMaybe; }; - export type GQLQueryBlockArgs = { height?: InputMaybe; id?: InputMaybe; }; +export type GQLQueryBlockRewardStatisticsArgs = { + timeFilter?: InputMaybe; +}; export type GQLQueryBlocksArgs = { after?: InputMaybe; @@ -1000,12 +1031,10 @@ export type GQLQueryBlocksArgs = { last?: InputMaybe; }; - export type GQLQueryCoinArgs = { utxoId: Scalars['UtxoId']['input']; }; - export type GQLQueryCoinsArgs = { after?: InputMaybe; before?: InputMaybe; @@ -1014,25 +1043,21 @@ export type GQLQueryCoinsArgs = { last?: InputMaybe; }; - export type GQLQueryCoinsToSpendArgs = { excludedIds?: InputMaybe; owner: Scalars['Address']['input']; queryPerAsset: Array; }; - export type GQLQueryContractArgs = { id: Scalars['ContractId']['input']; }; - export type GQLQueryContractBalanceArgs = { asset: Scalars['AssetId']['input']; contract: Scalars['ContractId']['input']; }; - export type GQLQueryContractBalancesArgs = { after?: InputMaybe; before?: InputMaybe; @@ -1041,7 +1066,6 @@ export type GQLQueryContractBalancesArgs = { last?: InputMaybe; }; - export type GQLQueryContractsArgs = { after?: InputMaybe; before?: InputMaybe; @@ -1049,29 +1073,24 @@ export type GQLQueryContractsArgs = { last?: InputMaybe; }; - export type GQLQueryEstimateGasPriceArgs = { blockHorizon?: InputMaybe; }; - export type GQLQueryEstimatePredicatesArgs = { tx: Scalars['HexString']['input']; }; - export type GQLQueryMemoryArgs = { id: Scalars['ID']['input']; size: Scalars['U32']['input']; start: Scalars['U32']['input']; }; - export type GQLQueryMessageArgs = { nonce: Scalars['Nonce']['input']; }; - export type GQLQueryMessageProofArgs = { commitBlockHeight?: InputMaybe; commitBlockId?: InputMaybe; @@ -1079,12 +1098,10 @@ export type GQLQueryMessageProofArgs = { transactionId: Scalars['TransactionId']['input']; }; - export type GQLQueryMessageStatusArgs = { nonce: Scalars['Nonce']['input']; }; - export type GQLQueryMessagesArgs = { after?: InputMaybe; before?: InputMaybe; @@ -1093,33 +1110,27 @@ export type GQLQueryMessagesArgs = { owner?: InputMaybe; }; - export type GQLQueryPredicateArgs = { address: Scalars['String']['input']; }; - export type GQLQueryRegisterArgs = { id: Scalars['ID']['input']; register: Scalars['U32']['input']; }; - export type GQLQueryRelayedTransactionStatusArgs = { id: Scalars['RelayedTransactionId']['input']; }; - export type GQLQuerySearchArgs = { query: Scalars['String']['input']; }; - export type GQLQueryTransactionArgs = { id: Scalars['TransactionId']['input']; }; - export type GQLQueryTransactionsArgs = { after?: InputMaybe; before?: InputMaybe; @@ -1127,7 +1138,6 @@ export type GQLQueryTransactionsArgs = { last?: InputMaybe; }; - export type GQLQueryTransactionsByOwnerArgs = { after?: InputMaybe; before?: InputMaybe; @@ -1136,6 +1146,10 @@ export type GQLQueryTransactionsByOwnerArgs = { owner: Scalars['Address']['input']; }; +export type GQLQueryTransactionsFeeStatisticsArgs = { + timeFilter?: InputMaybe; +}; + export type GQLReceipt = { __typename: 'Receipt'; amount?: Maybe; @@ -1182,7 +1196,7 @@ export enum GQLReceiptType { Revert = 'REVERT', ScriptResult = 'SCRIPT_RESULT', Transfer = 'TRANSFER', - TransferOut = 'TRANSFER_OUT' + TransferOut = 'TRANSFER_OUT', } export type GQLRelayedTransactionFailed = { @@ -1196,7 +1210,7 @@ export type GQLRelayedTransactionStatus = GQLRelayedTransactionFailed; export enum GQLReturnType { Return = 'RETURN', ReturnData = 'RETURN_DATA', - Revert = 'REVERT' + Revert = 'REVERT', } export type GQLRunResult = { @@ -1210,7 +1224,7 @@ export enum GQLRunState { /** Stopped on a breakpoint */ Breakpoint = 'BREAKPOINT', /** All breakpoints have been processed, and the program has terminated */ - Completed = 'COMPLETED' + Completed = 'COMPLETED', } export type GQLScriptParameters = { @@ -1221,7 +1235,7 @@ export type GQLScriptParameters = { }; export enum GQLScriptParametersVersion { - V1 = 'V1' + V1 = 'V1', } export type GQLSearchAccount = { @@ -1299,12 +1313,10 @@ export type GQLSubscription = { submitAndAwait: GQLTransactionStatus; }; - export type GQLSubscriptionStatusChangeArgs = { id: Scalars['TransactionId']['input']; }; - export type GQLSubscriptionSubmitAndAwaitArgs = { tx: Scalars['HexString']['input']; }; @@ -1388,13 +1400,29 @@ export type GQLTransactionEdge = { node: GQLTransaction; }; +export type GQLTransactionFee = { + __typename: 'TransactionFee'; + fee: Scalars['U64']['output']; + timestamp: Scalars['String']['output']; +}; + +export type GQLTransactionFeeConnection = { + __typename: 'TransactionFeeConnection'; + /** A list of nodes. */ + nodes?: Maybe>; +}; + export type GQLTransactionGasCosts = { __typename: 'TransactionGasCosts'; fee?: Maybe; gasUsed?: Maybe; }; -export type GQLTransactionStatus = GQLFailureStatus | GQLSqueezedOutStatus | GQLSubmittedStatus | GQLSuccessStatus; +export type GQLTransactionStatus = + | GQLFailureStatus + | GQLSqueezedOutStatus + | GQLSubmittedStatus + | GQLSuccessStatus; export type GQLTxParameters = { __typename: 'TxParameters'; @@ -1408,10 +1436,12 @@ export type GQLTxParameters = { }; export enum GQLTxParametersVersion { - V1 = 'V1' + V1 = 'V1', } -export type GQLUpgradePurpose = GQLConsensusParametersPurpose | GQLStateTransitionPurpose; +export type GQLUpgradePurpose = + | GQLConsensusParametersPurpose + | GQLStateTransitionPurpose; export type GQLUtxoItem = { __typename: 'UtxoItem'; @@ -1433,10 +1463,22 @@ export type GQLBalanceQueryVariables = Exact<{ owner: Scalars['Address']['input']; }>; +export type GQLBalanceQuery = { + __typename: 'Query'; + balance: { + __typename: 'Balance'; + amount: string; + assetId: string; + owner: string; + }; +}; -export type GQLBalanceQuery = { __typename: 'Query', balance: { __typename: 'Balance', amount: string, assetId: string, owner: string } }; - -export type GQLBalanceItemFragment = { __typename: 'Balance', amount: string, assetId: string, owner: string }; +export type GQLBalanceItemFragment = { + __typename: 'Balance'; + amount: string; + assetId: string; + owner: string; +}; export type GQLBalancesQueryVariables = Exact<{ after?: InputMaybe; @@ -1446,10 +1488,346 @@ export type GQLBalancesQueryVariables = Exact<{ last?: InputMaybe; }>; +export type GQLBalancesQuery = { + __typename: 'Query'; + balances: { + __typename: 'BalanceConnection'; + nodes: Array<{ + __typename: 'Balance'; + amount: string; + assetId: string; + owner: string; + }>; + pageInfo: { + __typename: 'PageInfo'; + endCursor?: string | null; + hasNextPage: boolean; + hasPreviousPage: boolean; + startCursor?: string | null; + }; + }; +}; + +export type GQLBlockRewardStatisticsQueryVariables = Exact<{ + timeFilter?: InputMaybe; +}>; -export type GQLBalancesQuery = { __typename: 'Query', balances: { __typename: 'BalanceConnection', nodes: Array<{ __typename: 'Balance', amount: string, assetId: string, owner: string }>, pageInfo: { __typename: 'PageInfo', endCursor?: string | null, hasNextPage: boolean, hasPreviousPage: boolean, startCursor?: string | null } } }; +export type GQLBlockRewardStatisticsQuery = { + __typename: 'Query'; + blockRewardStatistics: { + __typename: 'BlockRewardConnection'; + nodes?: Array<{ + __typename: 'BlockReward'; + id: string; + reward: string; + timestamp: string; + }> | null; + }; +}; -export type GQLBlockItemFragment = { __typename: 'Block', height: string, id: string, consensus: { __typename: 'Genesis', chainConfigHash: string, coinsRoot: string, contractsRoot: string, messagesRoot: string, transactionsRoot: string } | { __typename: 'PoAConsensus', signature: string }, header: { __typename: 'Header', applicationHash: string, consensusParametersVersion: string, daHeight: string, eventInboxRoot: string, height: string, id: string, messageOutboxRoot: string, messageReceiptCount: string, prevRoot: string, stateTransitionBytecodeVersion: string, time: string, transactionsCount: string, transactionsRoot: string }, transactions: Array<{ __typename: 'Transaction', bytecodeRoot?: string | null, bytecodeWitnessIndex?: string | null, id: string, inputAssetIds?: Array | null, inputContracts?: Array | null, isCreate: boolean, isMint: boolean, isScript: boolean, isUpgrade: boolean, isUpload: boolean, maturity?: string | null, mintAmount?: string | null, mintAssetId?: string | null, mintGasPrice?: string | null, proofSet?: Array | null, rawPayload: string, receiptsRoot?: string | null, salt?: string | null, script?: string | null, scriptData?: string | null, scriptGasLimit?: string | null, storageSlots?: Array | null, subsectionIndex?: string | null, subsectionsNumber?: string | null, txPointer?: string | null, witnesses?: Array | null, inputContract?: { __typename: 'InputContract', balanceRoot: string, contractId: string, stateRoot: string, txPointer: string, utxoId: string } | null, inputs?: Array<{ __typename: 'InputCoin', amount: string, assetId: string, owner: string, predicate: string, predicateData: string, predicateGasUsed: string, txPointer: string, utxoId: string, witnessIndex: string } | { __typename: 'InputContract', balanceRoot: string, contractId: string, stateRoot: string, txPointer: string, utxoId: string } | { __typename: 'InputMessage', amount: string, data: string, nonce: string, predicate: string, predicateData: string, predicateGasUsed: string, recipient: string, sender: string, witnessIndex: string }> | null, outputContract?: { __typename: 'ContractOutput', balanceRoot: string, inputIndex: string, stateRoot: string } | null, outputs: Array<{ __typename: 'ChangeOutput', amount: string, assetId: string, to: string } | { __typename: 'CoinOutput', amount: string, assetId: string, to: string } | { __typename: 'ContractCreated', contract: string, stateRoot: string } | { __typename: 'ContractOutput', balanceRoot: string, inputIndex: string, stateRoot: string } | { __typename: 'VariableOutput', amount: string, assetId: string, to: string }>, policies?: { __typename: 'Policies', maturity?: string | null, maxFee?: string | null, tip?: string | null, witnessLimit?: string | null } | null, status?: { __typename: 'FailureStatus', reason: string, time: string, totalFee: string, totalGas: string, transactionId: string, block: { __typename: 'Block', height: string, id: string, consensus: { __typename: 'Genesis', chainConfigHash: string, coinsRoot: string, contractsRoot: string, messagesRoot: string, transactionsRoot: string } | { __typename: 'PoAConsensus', signature: string }, header: { __typename: 'Header', applicationHash: string, consensusParametersVersion: string, daHeight: string, eventInboxRoot: string, height: string, id: string, messageOutboxRoot: string, messageReceiptCount: string, prevRoot: string, stateTransitionBytecodeVersion: string, time: string, transactionsCount: string, transactionsRoot: string } }, programState?: { __typename: 'ProgramState', data: string, returnType: GQLReturnType } | null, receipts: Array<{ __typename: 'Receipt', amount?: string | null, assetId?: string | null, contractId?: string | null, data?: string | null, digest?: string | null, gas?: string | null, gasUsed?: string | null, id?: string | null, is?: string | null, len?: string | null, nonce?: string | null, param1?: string | null, param2?: string | null, pc?: string | null, ptr?: string | null, ra?: string | null, rb?: string | null, rc?: string | null, rd?: string | null, reason?: string | null, receiptType: GQLReceiptType, recipient?: string | null, result?: string | null, sender?: string | null, subId?: string | null, to?: string | null, toAddress?: string | null, val?: string | null }> } | { __typename: 'SqueezedOutStatus', reason: string } | { __typename: 'SubmittedStatus', time: string } | { __typename: 'SuccessStatus', time: string, totalFee: string, totalGas: string, transactionId: string, block: { __typename: 'Block', height: string, id: string, consensus: { __typename: 'Genesis', chainConfigHash: string, coinsRoot: string, contractsRoot: string, messagesRoot: string, transactionsRoot: string } | { __typename: 'PoAConsensus', signature: string }, header: { __typename: 'Header', applicationHash: string, consensusParametersVersion: string, daHeight: string, eventInboxRoot: string, height: string, id: string, messageOutboxRoot: string, messageReceiptCount: string, prevRoot: string, stateTransitionBytecodeVersion: string, time: string, transactionsCount: string, transactionsRoot: string } }, programState?: { __typename: 'ProgramState', data: string, returnType: GQLReturnType } | null, receipts: Array<{ __typename: 'Receipt', amount?: string | null, assetId?: string | null, contractId?: string | null, data?: string | null, digest?: string | null, gas?: string | null, gasUsed?: string | null, id?: string | null, is?: string | null, len?: string | null, nonce?: string | null, param1?: string | null, param2?: string | null, pc?: string | null, ptr?: string | null, ra?: string | null, rb?: string | null, rc?: string | null, rd?: string | null, reason?: string | null, receiptType: GQLReceiptType, recipient?: string | null, result?: string | null, sender?: string | null, subId?: string | null, to?: string | null, toAddress?: string | null, val?: string | null }> } | null, upgradePurpose?: { __typename: 'ConsensusParametersPurpose', checksum: string, witnessIndex: string } | { __typename: 'StateTransitionPurpose', root: string } | null }> }; +export type GQLBlockItemFragment = { + __typename: 'Block'; + height: string; + id: string; + consensus: + | { + __typename: 'Genesis'; + chainConfigHash: string; + coinsRoot: string; + contractsRoot: string; + messagesRoot: string; + transactionsRoot: string; + } + | { __typename: 'PoAConsensus'; signature: string }; + header: { + __typename: 'Header'; + applicationHash: string; + consensusParametersVersion: string; + daHeight: string; + eventInboxRoot: string; + height: string; + id: string; + messageOutboxRoot: string; + messageReceiptCount: string; + prevRoot: string; + stateTransitionBytecodeVersion: string; + time: string; + transactionsCount: string; + transactionsRoot: string; + }; + transactions: Array<{ + __typename: 'Transaction'; + bytecodeRoot?: string | null; + bytecodeWitnessIndex?: string | null; + id: string; + inputAssetIds?: Array | null; + inputContracts?: Array | null; + isCreate: boolean; + isMint: boolean; + isScript: boolean; + isUpgrade: boolean; + isUpload: boolean; + maturity?: string | null; + mintAmount?: string | null; + mintAssetId?: string | null; + mintGasPrice?: string | null; + proofSet?: Array | null; + rawPayload: string; + receiptsRoot?: string | null; + salt?: string | null; + script?: string | null; + scriptData?: string | null; + scriptGasLimit?: string | null; + storageSlots?: Array | null; + subsectionIndex?: string | null; + subsectionsNumber?: string | null; + txPointer?: string | null; + witnesses?: Array | null; + inputContract?: { + __typename: 'InputContract'; + balanceRoot: string; + contractId: string; + stateRoot: string; + txPointer: string; + utxoId: string; + } | null; + inputs?: Array< + | { + __typename: 'InputCoin'; + amount: string; + assetId: string; + owner: string; + predicate: string; + predicateData: string; + predicateGasUsed: string; + txPointer: string; + utxoId: string; + witnessIndex: string; + } + | { + __typename: 'InputContract'; + balanceRoot: string; + contractId: string; + stateRoot: string; + txPointer: string; + utxoId: string; + } + | { + __typename: 'InputMessage'; + amount: string; + data: string; + nonce: string; + predicate: string; + predicateData: string; + predicateGasUsed: string; + recipient: string; + sender: string; + witnessIndex: string; + } + > | null; + outputContract?: { + __typename: 'ContractOutput'; + balanceRoot: string; + inputIndex: string; + stateRoot: string; + } | null; + outputs: Array< + | { + __typename: 'ChangeOutput'; + amount: string; + assetId: string; + to: string; + } + | { + __typename: 'CoinOutput'; + amount: string; + assetId: string; + to: string; + } + | { __typename: 'ContractCreated'; contract: string; stateRoot: string } + | { + __typename: 'ContractOutput'; + balanceRoot: string; + inputIndex: string; + stateRoot: string; + } + | { + __typename: 'VariableOutput'; + amount: string; + assetId: string; + to: string; + } + >; + policies?: { + __typename: 'Policies'; + maturity?: string | null; + maxFee?: string | null; + tip?: string | null; + witnessLimit?: string | null; + } | null; + status?: + | { + __typename: 'FailureStatus'; + reason: string; + time: string; + totalFee: string; + totalGas: string; + transactionId: string; + block: { + __typename: 'Block'; + height: string; + id: string; + consensus: + | { + __typename: 'Genesis'; + chainConfigHash: string; + coinsRoot: string; + contractsRoot: string; + messagesRoot: string; + transactionsRoot: string; + } + | { __typename: 'PoAConsensus'; signature: string }; + header: { + __typename: 'Header'; + applicationHash: string; + consensusParametersVersion: string; + daHeight: string; + eventInboxRoot: string; + height: string; + id: string; + messageOutboxRoot: string; + messageReceiptCount: string; + prevRoot: string; + stateTransitionBytecodeVersion: string; + time: string; + transactionsCount: string; + transactionsRoot: string; + }; + }; + programState?: { + __typename: 'ProgramState'; + data: string; + returnType: GQLReturnType; + } | null; + receipts: Array<{ + __typename: 'Receipt'; + amount?: string | null; + assetId?: string | null; + contractId?: string | null; + data?: string | null; + digest?: string | null; + gas?: string | null; + gasUsed?: string | null; + id?: string | null; + is?: string | null; + len?: string | null; + nonce?: string | null; + param1?: string | null; + param2?: string | null; + pc?: string | null; + ptr?: string | null; + ra?: string | null; + rb?: string | null; + rc?: string | null; + rd?: string | null; + reason?: string | null; + receiptType: GQLReceiptType; + recipient?: string | null; + result?: string | null; + sender?: string | null; + subId?: string | null; + to?: string | null; + toAddress?: string | null; + val?: string | null; + }>; + } + | { __typename: 'SqueezedOutStatus'; reason: string } + | { __typename: 'SubmittedStatus'; time: string } + | { + __typename: 'SuccessStatus'; + time: string; + totalFee: string; + totalGas: string; + transactionId: string; + block: { + __typename: 'Block'; + height: string; + id: string; + consensus: + | { + __typename: 'Genesis'; + chainConfigHash: string; + coinsRoot: string; + contractsRoot: string; + messagesRoot: string; + transactionsRoot: string; + } + | { __typename: 'PoAConsensus'; signature: string }; + header: { + __typename: 'Header'; + applicationHash: string; + consensusParametersVersion: string; + daHeight: string; + eventInboxRoot: string; + height: string; + id: string; + messageOutboxRoot: string; + messageReceiptCount: string; + prevRoot: string; + stateTransitionBytecodeVersion: string; + time: string; + transactionsCount: string; + transactionsRoot: string; + }; + }; + programState?: { + __typename: 'ProgramState'; + data: string; + returnType: GQLReturnType; + } | null; + receipts: Array<{ + __typename: 'Receipt'; + amount?: string | null; + assetId?: string | null; + contractId?: string | null; + data?: string | null; + digest?: string | null; + gas?: string | null; + gasUsed?: string | null; + id?: string | null; + is?: string | null; + len?: string | null; + nonce?: string | null; + param1?: string | null; + param2?: string | null; + pc?: string | null; + ptr?: string | null; + ra?: string | null; + rb?: string | null; + rc?: string | null; + rd?: string | null; + reason?: string | null; + receiptType: GQLReceiptType; + recipient?: string | null; + result?: string | null; + sender?: string | null; + subId?: string | null; + to?: string | null; + toAddress?: string | null; + val?: string | null; + }>; + } + | null; + upgradePurpose?: + | { + __typename: 'ConsensusParametersPurpose'; + checksum: string; + witnessIndex: string; + } + | { __typename: 'StateTransitionPurpose'; root: string } + | null; + }>; +}; export type GQLBlocksQueryVariables = Exact<{ after?: InputMaybe; @@ -1458,13 +1836,1587 @@ export type GQLBlocksQueryVariables = Exact<{ last?: InputMaybe; }>; +export type GQLBlocksQuery = { + __typename: 'Query'; + blocks: { + __typename: 'BlockConnection'; + edges: Array<{ + __typename: 'BlockEdge'; + cursor: string; + node: { + __typename: 'Block'; + height: string; + id: string; + consensus: + | { + __typename: 'Genesis'; + chainConfigHash: string; + coinsRoot: string; + contractsRoot: string; + messagesRoot: string; + transactionsRoot: string; + } + | { __typename: 'PoAConsensus'; signature: string }; + header: { + __typename: 'Header'; + applicationHash: string; + consensusParametersVersion: string; + daHeight: string; + eventInboxRoot: string; + height: string; + id: string; + messageOutboxRoot: string; + messageReceiptCount: string; + prevRoot: string; + stateTransitionBytecodeVersion: string; + time: string; + transactionsCount: string; + transactionsRoot: string; + }; + transactions: Array<{ + __typename: 'Transaction'; + bytecodeRoot?: string | null; + bytecodeWitnessIndex?: string | null; + id: string; + inputAssetIds?: Array | null; + inputContracts?: Array | null; + isCreate: boolean; + isMint: boolean; + isScript: boolean; + isUpgrade: boolean; + isUpload: boolean; + maturity?: string | null; + mintAmount?: string | null; + mintAssetId?: string | null; + mintGasPrice?: string | null; + proofSet?: Array | null; + rawPayload: string; + receiptsRoot?: string | null; + salt?: string | null; + script?: string | null; + scriptData?: string | null; + scriptGasLimit?: string | null; + storageSlots?: Array | null; + subsectionIndex?: string | null; + subsectionsNumber?: string | null; + txPointer?: string | null; + witnesses?: Array | null; + inputContract?: { + __typename: 'InputContract'; + balanceRoot: string; + contractId: string; + stateRoot: string; + txPointer: string; + utxoId: string; + } | null; + inputs?: Array< + | { + __typename: 'InputCoin'; + amount: string; + assetId: string; + owner: string; + predicate: string; + predicateData: string; + predicateGasUsed: string; + txPointer: string; + utxoId: string; + witnessIndex: string; + } + | { + __typename: 'InputContract'; + balanceRoot: string; + contractId: string; + stateRoot: string; + txPointer: string; + utxoId: string; + } + | { + __typename: 'InputMessage'; + amount: string; + data: string; + nonce: string; + predicate: string; + predicateData: string; + predicateGasUsed: string; + recipient: string; + sender: string; + witnessIndex: string; + } + > | null; + outputContract?: { + __typename: 'ContractOutput'; + balanceRoot: string; + inputIndex: string; + stateRoot: string; + } | null; + outputs: Array< + | { + __typename: 'ChangeOutput'; + amount: string; + assetId: string; + to: string; + } + | { + __typename: 'CoinOutput'; + amount: string; + assetId: string; + to: string; + } + | { + __typename: 'ContractCreated'; + contract: string; + stateRoot: string; + } + | { + __typename: 'ContractOutput'; + balanceRoot: string; + inputIndex: string; + stateRoot: string; + } + | { + __typename: 'VariableOutput'; + amount: string; + assetId: string; + to: string; + } + >; + policies?: { + __typename: 'Policies'; + maturity?: string | null; + maxFee?: string | null; + tip?: string | null; + witnessLimit?: string | null; + } | null; + status?: + | { + __typename: 'FailureStatus'; + reason: string; + time: string; + totalFee: string; + totalGas: string; + transactionId: string; + block: { + __typename: 'Block'; + height: string; + id: string; + consensus: + | { + __typename: 'Genesis'; + chainConfigHash: string; + coinsRoot: string; + contractsRoot: string; + messagesRoot: string; + transactionsRoot: string; + } + | { __typename: 'PoAConsensus'; signature: string }; + header: { + __typename: 'Header'; + applicationHash: string; + consensusParametersVersion: string; + daHeight: string; + eventInboxRoot: string; + height: string; + id: string; + messageOutboxRoot: string; + messageReceiptCount: string; + prevRoot: string; + stateTransitionBytecodeVersion: string; + time: string; + transactionsCount: string; + transactionsRoot: string; + }; + }; + programState?: { + __typename: 'ProgramState'; + data: string; + returnType: GQLReturnType; + } | null; + receipts: Array<{ + __typename: 'Receipt'; + amount?: string | null; + assetId?: string | null; + contractId?: string | null; + data?: string | null; + digest?: string | null; + gas?: string | null; + gasUsed?: string | null; + id?: string | null; + is?: string | null; + len?: string | null; + nonce?: string | null; + param1?: string | null; + param2?: string | null; + pc?: string | null; + ptr?: string | null; + ra?: string | null; + rb?: string | null; + rc?: string | null; + rd?: string | null; + reason?: string | null; + receiptType: GQLReceiptType; + recipient?: string | null; + result?: string | null; + sender?: string | null; + subId?: string | null; + to?: string | null; + toAddress?: string | null; + val?: string | null; + }>; + } + | { __typename: 'SqueezedOutStatus'; reason: string } + | { __typename: 'SubmittedStatus'; time: string } + | { + __typename: 'SuccessStatus'; + time: string; + totalFee: string; + totalGas: string; + transactionId: string; + block: { + __typename: 'Block'; + height: string; + id: string; + consensus: + | { + __typename: 'Genesis'; + chainConfigHash: string; + coinsRoot: string; + contractsRoot: string; + messagesRoot: string; + transactionsRoot: string; + } + | { __typename: 'PoAConsensus'; signature: string }; + header: { + __typename: 'Header'; + applicationHash: string; + consensusParametersVersion: string; + daHeight: string; + eventInboxRoot: string; + height: string; + id: string; + messageOutboxRoot: string; + messageReceiptCount: string; + prevRoot: string; + stateTransitionBytecodeVersion: string; + time: string; + transactionsCount: string; + transactionsRoot: string; + }; + }; + programState?: { + __typename: 'ProgramState'; + data: string; + returnType: GQLReturnType; + } | null; + receipts: Array<{ + __typename: 'Receipt'; + amount?: string | null; + assetId?: string | null; + contractId?: string | null; + data?: string | null; + digest?: string | null; + gas?: string | null; + gasUsed?: string | null; + id?: string | null; + is?: string | null; + len?: string | null; + nonce?: string | null; + param1?: string | null; + param2?: string | null; + pc?: string | null; + ptr?: string | null; + ra?: string | null; + rb?: string | null; + rc?: string | null; + rd?: string | null; + reason?: string | null; + receiptType: GQLReceiptType; + recipient?: string | null; + result?: string | null; + sender?: string | null; + subId?: string | null; + to?: string | null; + toAddress?: string | null; + val?: string | null; + }>; + } + | null; + upgradePurpose?: + | { + __typename: 'ConsensusParametersPurpose'; + checksum: string; + witnessIndex: string; + } + | { __typename: 'StateTransitionPurpose'; root: string } + | null; + }>; + }; + }>; + nodes: Array<{ + __typename: 'Block'; + height: string; + id: string; + consensus: + | { + __typename: 'Genesis'; + chainConfigHash: string; + coinsRoot: string; + contractsRoot: string; + messagesRoot: string; + transactionsRoot: string; + } + | { __typename: 'PoAConsensus'; signature: string }; + header: { + __typename: 'Header'; + applicationHash: string; + consensusParametersVersion: string; + daHeight: string; + eventInboxRoot: string; + height: string; + id: string; + messageOutboxRoot: string; + messageReceiptCount: string; + prevRoot: string; + stateTransitionBytecodeVersion: string; + time: string; + transactionsCount: string; + transactionsRoot: string; + }; + transactions: Array<{ + __typename: 'Transaction'; + bytecodeRoot?: string | null; + bytecodeWitnessIndex?: string | null; + id: string; + inputAssetIds?: Array | null; + inputContracts?: Array | null; + isCreate: boolean; + isMint: boolean; + isScript: boolean; + isUpgrade: boolean; + isUpload: boolean; + maturity?: string | null; + mintAmount?: string | null; + mintAssetId?: string | null; + mintGasPrice?: string | null; + proofSet?: Array | null; + rawPayload: string; + receiptsRoot?: string | null; + salt?: string | null; + script?: string | null; + scriptData?: string | null; + scriptGasLimit?: string | null; + storageSlots?: Array | null; + subsectionIndex?: string | null; + subsectionsNumber?: string | null; + txPointer?: string | null; + witnesses?: Array | null; + inputContract?: { + __typename: 'InputContract'; + balanceRoot: string; + contractId: string; + stateRoot: string; + txPointer: string; + utxoId: string; + } | null; + inputs?: Array< + | { + __typename: 'InputCoin'; + amount: string; + assetId: string; + owner: string; + predicate: string; + predicateData: string; + predicateGasUsed: string; + txPointer: string; + utxoId: string; + witnessIndex: string; + } + | { + __typename: 'InputContract'; + balanceRoot: string; + contractId: string; + stateRoot: string; + txPointer: string; + utxoId: string; + } + | { + __typename: 'InputMessage'; + amount: string; + data: string; + nonce: string; + predicate: string; + predicateData: string; + predicateGasUsed: string; + recipient: string; + sender: string; + witnessIndex: string; + } + > | null; + outputContract?: { + __typename: 'ContractOutput'; + balanceRoot: string; + inputIndex: string; + stateRoot: string; + } | null; + outputs: Array< + | { + __typename: 'ChangeOutput'; + amount: string; + assetId: string; + to: string; + } + | { + __typename: 'CoinOutput'; + amount: string; + assetId: string; + to: string; + } + | { + __typename: 'ContractCreated'; + contract: string; + stateRoot: string; + } + | { + __typename: 'ContractOutput'; + balanceRoot: string; + inputIndex: string; + stateRoot: string; + } + | { + __typename: 'VariableOutput'; + amount: string; + assetId: string; + to: string; + } + >; + policies?: { + __typename: 'Policies'; + maturity?: string | null; + maxFee?: string | null; + tip?: string | null; + witnessLimit?: string | null; + } | null; + status?: + | { + __typename: 'FailureStatus'; + reason: string; + time: string; + totalFee: string; + totalGas: string; + transactionId: string; + block: { + __typename: 'Block'; + height: string; + id: string; + consensus: + | { + __typename: 'Genesis'; + chainConfigHash: string; + coinsRoot: string; + contractsRoot: string; + messagesRoot: string; + transactionsRoot: string; + } + | { __typename: 'PoAConsensus'; signature: string }; + header: { + __typename: 'Header'; + applicationHash: string; + consensusParametersVersion: string; + daHeight: string; + eventInboxRoot: string; + height: string; + id: string; + messageOutboxRoot: string; + messageReceiptCount: string; + prevRoot: string; + stateTransitionBytecodeVersion: string; + time: string; + transactionsCount: string; + transactionsRoot: string; + }; + }; + programState?: { + __typename: 'ProgramState'; + data: string; + returnType: GQLReturnType; + } | null; + receipts: Array<{ + __typename: 'Receipt'; + amount?: string | null; + assetId?: string | null; + contractId?: string | null; + data?: string | null; + digest?: string | null; + gas?: string | null; + gasUsed?: string | null; + id?: string | null; + is?: string | null; + len?: string | null; + nonce?: string | null; + param1?: string | null; + param2?: string | null; + pc?: string | null; + ptr?: string | null; + ra?: string | null; + rb?: string | null; + rc?: string | null; + rd?: string | null; + reason?: string | null; + receiptType: GQLReceiptType; + recipient?: string | null; + result?: string | null; + sender?: string | null; + subId?: string | null; + to?: string | null; + toAddress?: string | null; + val?: string | null; + }>; + } + | { __typename: 'SqueezedOutStatus'; reason: string } + | { __typename: 'SubmittedStatus'; time: string } + | { + __typename: 'SuccessStatus'; + time: string; + totalFee: string; + totalGas: string; + transactionId: string; + block: { + __typename: 'Block'; + height: string; + id: string; + consensus: + | { + __typename: 'Genesis'; + chainConfigHash: string; + coinsRoot: string; + contractsRoot: string; + messagesRoot: string; + transactionsRoot: string; + } + | { __typename: 'PoAConsensus'; signature: string }; + header: { + __typename: 'Header'; + applicationHash: string; + consensusParametersVersion: string; + daHeight: string; + eventInboxRoot: string; + height: string; + id: string; + messageOutboxRoot: string; + messageReceiptCount: string; + prevRoot: string; + stateTransitionBytecodeVersion: string; + time: string; + transactionsCount: string; + transactionsRoot: string; + }; + }; + programState?: { + __typename: 'ProgramState'; + data: string; + returnType: GQLReturnType; + } | null; + receipts: Array<{ + __typename: 'Receipt'; + amount?: string | null; + assetId?: string | null; + contractId?: string | null; + data?: string | null; + digest?: string | null; + gas?: string | null; + gasUsed?: string | null; + id?: string | null; + is?: string | null; + len?: string | null; + nonce?: string | null; + param1?: string | null; + param2?: string | null; + pc?: string | null; + ptr?: string | null; + ra?: string | null; + rb?: string | null; + rc?: string | null; + rd?: string | null; + reason?: string | null; + receiptType: GQLReceiptType; + recipient?: string | null; + result?: string | null; + sender?: string | null; + subId?: string | null; + to?: string | null; + toAddress?: string | null; + val?: string | null; + }>; + } + | null; + upgradePurpose?: + | { + __typename: 'ConsensusParametersPurpose'; + checksum: string; + witnessIndex: string; + } + | { __typename: 'StateTransitionPurpose'; root: string } + | null; + }>; + }>; + pageInfo: { + __typename: 'PageInfo'; + endCursor?: string | null; + hasNextPage: boolean; + hasPreviousPage: boolean; + startCursor?: string | null; + }; + }; +}; -export type GQLBlocksQuery = { __typename: 'Query', blocks: { __typename: 'BlockConnection', edges: Array<{ __typename: 'BlockEdge', cursor: string, node: { __typename: 'Block', height: string, id: string, consensus: { __typename: 'Genesis', chainConfigHash: string, coinsRoot: string, contractsRoot: string, messagesRoot: string, transactionsRoot: string } | { __typename: 'PoAConsensus', signature: string }, header: { __typename: 'Header', applicationHash: string, consensusParametersVersion: string, daHeight: string, eventInboxRoot: string, height: string, id: string, messageOutboxRoot: string, messageReceiptCount: string, prevRoot: string, stateTransitionBytecodeVersion: string, time: string, transactionsCount: string, transactionsRoot: string }, transactions: Array<{ __typename: 'Transaction', bytecodeRoot?: string | null, bytecodeWitnessIndex?: string | null, id: string, inputAssetIds?: Array | null, inputContracts?: Array | null, isCreate: boolean, isMint: boolean, isScript: boolean, isUpgrade: boolean, isUpload: boolean, maturity?: string | null, mintAmount?: string | null, mintAssetId?: string | null, mintGasPrice?: string | null, proofSet?: Array | null, rawPayload: string, receiptsRoot?: string | null, salt?: string | null, script?: string | null, scriptData?: string | null, scriptGasLimit?: string | null, storageSlots?: Array | null, subsectionIndex?: string | null, subsectionsNumber?: string | null, txPointer?: string | null, witnesses?: Array | null, inputContract?: { __typename: 'InputContract', balanceRoot: string, contractId: string, stateRoot: string, txPointer: string, utxoId: string } | null, inputs?: Array<{ __typename: 'InputCoin', amount: string, assetId: string, owner: string, predicate: string, predicateData: string, predicateGasUsed: string, txPointer: string, utxoId: string, witnessIndex: string } | { __typename: 'InputContract', balanceRoot: string, contractId: string, stateRoot: string, txPointer: string, utxoId: string } | { __typename: 'InputMessage', amount: string, data: string, nonce: string, predicate: string, predicateData: string, predicateGasUsed: string, recipient: string, sender: string, witnessIndex: string }> | null, outputContract?: { __typename: 'ContractOutput', balanceRoot: string, inputIndex: string, stateRoot: string } | null, outputs: Array<{ __typename: 'ChangeOutput', amount: string, assetId: string, to: string } | { __typename: 'CoinOutput', amount: string, assetId: string, to: string } | { __typename: 'ContractCreated', contract: string, stateRoot: string } | { __typename: 'ContractOutput', balanceRoot: string, inputIndex: string, stateRoot: string } | { __typename: 'VariableOutput', amount: string, assetId: string, to: string }>, policies?: { __typename: 'Policies', maturity?: string | null, maxFee?: string | null, tip?: string | null, witnessLimit?: string | null } | null, status?: { __typename: 'FailureStatus', reason: string, time: string, totalFee: string, totalGas: string, transactionId: string, block: { __typename: 'Block', height: string, id: string, consensus: { __typename: 'Genesis', chainConfigHash: string, coinsRoot: string, contractsRoot: string, messagesRoot: string, transactionsRoot: string } | { __typename: 'PoAConsensus', signature: string }, header: { __typename: 'Header', applicationHash: string, consensusParametersVersion: string, daHeight: string, eventInboxRoot: string, height: string, id: string, messageOutboxRoot: string, messageReceiptCount: string, prevRoot: string, stateTransitionBytecodeVersion: string, time: string, transactionsCount: string, transactionsRoot: string } }, programState?: { __typename: 'ProgramState', data: string, returnType: GQLReturnType } | null, receipts: Array<{ __typename: 'Receipt', amount?: string | null, assetId?: string | null, contractId?: string | null, data?: string | null, digest?: string | null, gas?: string | null, gasUsed?: string | null, id?: string | null, is?: string | null, len?: string | null, nonce?: string | null, param1?: string | null, param2?: string | null, pc?: string | null, ptr?: string | null, ra?: string | null, rb?: string | null, rc?: string | null, rd?: string | null, reason?: string | null, receiptType: GQLReceiptType, recipient?: string | null, result?: string | null, sender?: string | null, subId?: string | null, to?: string | null, toAddress?: string | null, val?: string | null }> } | { __typename: 'SqueezedOutStatus', reason: string } | { __typename: 'SubmittedStatus', time: string } | { __typename: 'SuccessStatus', time: string, totalFee: string, totalGas: string, transactionId: string, block: { __typename: 'Block', height: string, id: string, consensus: { __typename: 'Genesis', chainConfigHash: string, coinsRoot: string, contractsRoot: string, messagesRoot: string, transactionsRoot: string } | { __typename: 'PoAConsensus', signature: string }, header: { __typename: 'Header', applicationHash: string, consensusParametersVersion: string, daHeight: string, eventInboxRoot: string, height: string, id: string, messageOutboxRoot: string, messageReceiptCount: string, prevRoot: string, stateTransitionBytecodeVersion: string, time: string, transactionsCount: string, transactionsRoot: string } }, programState?: { __typename: 'ProgramState', data: string, returnType: GQLReturnType } | null, receipts: Array<{ __typename: 'Receipt', amount?: string | null, assetId?: string | null, contractId?: string | null, data?: string | null, digest?: string | null, gas?: string | null, gasUsed?: string | null, id?: string | null, is?: string | null, len?: string | null, nonce?: string | null, param1?: string | null, param2?: string | null, pc?: string | null, ptr?: string | null, ra?: string | null, rb?: string | null, rc?: string | null, rd?: string | null, reason?: string | null, receiptType: GQLReceiptType, recipient?: string | null, result?: string | null, sender?: string | null, subId?: string | null, to?: string | null, toAddress?: string | null, val?: string | null }> } | null, upgradePurpose?: { __typename: 'ConsensusParametersPurpose', checksum: string, witnessIndex: string } | { __typename: 'StateTransitionPurpose', root: string } | null }> } }>, nodes: Array<{ __typename: 'Block', height: string, id: string, consensus: { __typename: 'Genesis', chainConfigHash: string, coinsRoot: string, contractsRoot: string, messagesRoot: string, transactionsRoot: string } | { __typename: 'PoAConsensus', signature: string }, header: { __typename: 'Header', applicationHash: string, consensusParametersVersion: string, daHeight: string, eventInboxRoot: string, height: string, id: string, messageOutboxRoot: string, messageReceiptCount: string, prevRoot: string, stateTransitionBytecodeVersion: string, time: string, transactionsCount: string, transactionsRoot: string }, transactions: Array<{ __typename: 'Transaction', bytecodeRoot?: string | null, bytecodeWitnessIndex?: string | null, id: string, inputAssetIds?: Array | null, inputContracts?: Array | null, isCreate: boolean, isMint: boolean, isScript: boolean, isUpgrade: boolean, isUpload: boolean, maturity?: string | null, mintAmount?: string | null, mintAssetId?: string | null, mintGasPrice?: string | null, proofSet?: Array | null, rawPayload: string, receiptsRoot?: string | null, salt?: string | null, script?: string | null, scriptData?: string | null, scriptGasLimit?: string | null, storageSlots?: Array | null, subsectionIndex?: string | null, subsectionsNumber?: string | null, txPointer?: string | null, witnesses?: Array | null, inputContract?: { __typename: 'InputContract', balanceRoot: string, contractId: string, stateRoot: string, txPointer: string, utxoId: string } | null, inputs?: Array<{ __typename: 'InputCoin', amount: string, assetId: string, owner: string, predicate: string, predicateData: string, predicateGasUsed: string, txPointer: string, utxoId: string, witnessIndex: string } | { __typename: 'InputContract', balanceRoot: string, contractId: string, stateRoot: string, txPointer: string, utxoId: string } | { __typename: 'InputMessage', amount: string, data: string, nonce: string, predicate: string, predicateData: string, predicateGasUsed: string, recipient: string, sender: string, witnessIndex: string }> | null, outputContract?: { __typename: 'ContractOutput', balanceRoot: string, inputIndex: string, stateRoot: string } | null, outputs: Array<{ __typename: 'ChangeOutput', amount: string, assetId: string, to: string } | { __typename: 'CoinOutput', amount: string, assetId: string, to: string } | { __typename: 'ContractCreated', contract: string, stateRoot: string } | { __typename: 'ContractOutput', balanceRoot: string, inputIndex: string, stateRoot: string } | { __typename: 'VariableOutput', amount: string, assetId: string, to: string }>, policies?: { __typename: 'Policies', maturity?: string | null, maxFee?: string | null, tip?: string | null, witnessLimit?: string | null } | null, status?: { __typename: 'FailureStatus', reason: string, time: string, totalFee: string, totalGas: string, transactionId: string, block: { __typename: 'Block', height: string, id: string, consensus: { __typename: 'Genesis', chainConfigHash: string, coinsRoot: string, contractsRoot: string, messagesRoot: string, transactionsRoot: string } | { __typename: 'PoAConsensus', signature: string }, header: { __typename: 'Header', applicationHash: string, consensusParametersVersion: string, daHeight: string, eventInboxRoot: string, height: string, id: string, messageOutboxRoot: string, messageReceiptCount: string, prevRoot: string, stateTransitionBytecodeVersion: string, time: string, transactionsCount: string, transactionsRoot: string } }, programState?: { __typename: 'ProgramState', data: string, returnType: GQLReturnType } | null, receipts: Array<{ __typename: 'Receipt', amount?: string | null, assetId?: string | null, contractId?: string | null, data?: string | null, digest?: string | null, gas?: string | null, gasUsed?: string | null, id?: string | null, is?: string | null, len?: string | null, nonce?: string | null, param1?: string | null, param2?: string | null, pc?: string | null, ptr?: string | null, ra?: string | null, rb?: string | null, rc?: string | null, rd?: string | null, reason?: string | null, receiptType: GQLReceiptType, recipient?: string | null, result?: string | null, sender?: string | null, subId?: string | null, to?: string | null, toAddress?: string | null, val?: string | null }> } | { __typename: 'SqueezedOutStatus', reason: string } | { __typename: 'SubmittedStatus', time: string } | { __typename: 'SuccessStatus', time: string, totalFee: string, totalGas: string, transactionId: string, block: { __typename: 'Block', height: string, id: string, consensus: { __typename: 'Genesis', chainConfigHash: string, coinsRoot: string, contractsRoot: string, messagesRoot: string, transactionsRoot: string } | { __typename: 'PoAConsensus', signature: string }, header: { __typename: 'Header', applicationHash: string, consensusParametersVersion: string, daHeight: string, eventInboxRoot: string, height: string, id: string, messageOutboxRoot: string, messageReceiptCount: string, prevRoot: string, stateTransitionBytecodeVersion: string, time: string, transactionsCount: string, transactionsRoot: string } }, programState?: { __typename: 'ProgramState', data: string, returnType: GQLReturnType } | null, receipts: Array<{ __typename: 'Receipt', amount?: string | null, assetId?: string | null, contractId?: string | null, data?: string | null, digest?: string | null, gas?: string | null, gasUsed?: string | null, id?: string | null, is?: string | null, len?: string | null, nonce?: string | null, param1?: string | null, param2?: string | null, pc?: string | null, ptr?: string | null, ra?: string | null, rb?: string | null, rc?: string | null, rd?: string | null, reason?: string | null, receiptType: GQLReceiptType, recipient?: string | null, result?: string | null, sender?: string | null, subId?: string | null, to?: string | null, toAddress?: string | null, val?: string | null }> } | null, upgradePurpose?: { __typename: 'ConsensusParametersPurpose', checksum: string, witnessIndex: string } | { __typename: 'StateTransitionPurpose', root: string } | null }> }>, pageInfo: { __typename: 'PageInfo', endCursor?: string | null, hasNextPage: boolean, hasPreviousPage: boolean, startCursor?: string | null } } }; - -export type GQLChainQueryVariables = Exact<{ [key: string]: never; }>; - +export type GQLChainQueryVariables = Exact<{ [key: string]: never }>; -export type GQLChainQuery = { __typename: 'Query', chain: { __typename: 'ChainInfo', daHeight: string, name: string, consensusParameters: { __typename: 'ConsensusParameters', baseAssetId: string, blockGasLimit: string, chainId: string, privilegedAddress: string, contractParams: { __typename: 'ContractParameters', contractMaxSize: string, maxStorageSlots: string }, feeParams: { __typename: 'FeeParameters', gasPerByte: string, gasPriceFactor: string }, gasCosts: { __typename: 'GasCosts', add: string, addi: string, aloc: string, and: string, andi: string, bal: string, bhei: string, bhsh: string, burn: string, cb: string, cfei: string, cfsi: string, div: string, divi: string, eck1: string, ecr1: string, ed19: string, eq: string, exp: string, expi: string, flag: string, gm: string, gt: string, gtf: string, ji: string, jmp: string, jmpb: string, jmpf: string, jne: string, jneb: string, jnef: string, jnei: string, jnzb: string, jnzf: string, jnzi: string, lb: string, log: string, lt: string, lw: string, mint: string, mldv: string, mlog: string, modOp: string, modi: string, moveOp: string, movi: string, mroo: string, mul: string, muli: string, newStoragePerByte: string, noop: string, not: string, or: string, ori: string, poph: string, popl: string, pshh: string, pshl: string, ret: string, rvrt: string, sb: string, sll: string, slli: string, srl: string, srli: string, srw: string, sub: string, subi: string, sw: string, sww: string, time: string, tr: string, tro: string, wdam: string, wdcm: string, wddv: string, wdmd: string, wdml: string, wdmm: string, wdop: string, wqam: string, wqcm: string, wqdv: string, wqmd: string, wqml: string, wqmm: string, wqop: string, xor: string, xori: string, call: { __typename: 'HeavyOperation', base: string, gasPerUnit: string } | { __typename: 'LightOperation', base: string, unitsPerGas: string }, ccp: { __typename: 'HeavyOperation', base: string, gasPerUnit: string } | { __typename: 'LightOperation', base: string, unitsPerGas: string }, contractRoot: { __typename: 'HeavyOperation', base: string, gasPerUnit: string } | { __typename: 'LightOperation', base: string, unitsPerGas: string }, croo: { __typename: 'HeavyOperation', base: string, gasPerUnit: string } | { __typename: 'LightOperation', base: string, unitsPerGas: string }, csiz: { __typename: 'HeavyOperation', base: string, gasPerUnit: string } | { __typename: 'LightOperation', base: string, unitsPerGas: string }, k256: { __typename: 'HeavyOperation', base: string, gasPerUnit: string } | { __typename: 'LightOperation', base: string, unitsPerGas: string }, ldc: { __typename: 'HeavyOperation', base: string, gasPerUnit: string } | { __typename: 'LightOperation', base: string, unitsPerGas: string }, logd: { __typename: 'HeavyOperation', base: string, gasPerUnit: string } | { __typename: 'LightOperation', base: string, unitsPerGas: string }, mcl: { __typename: 'HeavyOperation', base: string, gasPerUnit: string } | { __typename: 'LightOperation', base: string, unitsPerGas: string }, mcli: { __typename: 'HeavyOperation', base: string, gasPerUnit: string } | { __typename: 'LightOperation', base: string, unitsPerGas: string }, mcp: { __typename: 'HeavyOperation', base: string, gasPerUnit: string } | { __typename: 'LightOperation', base: string, unitsPerGas: string }, mcpi: { __typename: 'HeavyOperation', base: string, gasPerUnit: string } | { __typename: 'LightOperation', base: string, unitsPerGas: string }, meq: { __typename: 'HeavyOperation', base: string, gasPerUnit: string } | { __typename: 'LightOperation', base: string, unitsPerGas: string }, retd: { __typename: 'HeavyOperation', base: string, gasPerUnit: string } | { __typename: 'LightOperation', base: string, unitsPerGas: string }, s256: { __typename: 'HeavyOperation', base: string, gasPerUnit: string } | { __typename: 'LightOperation', base: string, unitsPerGas: string }, scwq: { __typename: 'HeavyOperation', base: string, gasPerUnit: string } | { __typename: 'LightOperation', base: string, unitsPerGas: string }, smo: { __typename: 'HeavyOperation', base: string, gasPerUnit: string } | { __typename: 'LightOperation', base: string, unitsPerGas: string }, srwq: { __typename: 'HeavyOperation', base: string, gasPerUnit: string } | { __typename: 'LightOperation', base: string, unitsPerGas: string }, stateRoot: { __typename: 'HeavyOperation', base: string, gasPerUnit: string } | { __typename: 'LightOperation', base: string, unitsPerGas: string }, swwq: { __typename: 'HeavyOperation', base: string, gasPerUnit: string } | { __typename: 'LightOperation', base: string, unitsPerGas: string }, vmInitialization: { __typename: 'HeavyOperation', base: string, gasPerUnit: string } | { __typename: 'LightOperation', base: string, unitsPerGas: string } }, predicateParams: { __typename: 'PredicateParameters', maxGasPerPredicate: string, maxMessageDataLength: string, maxPredicateDataLength: string, maxPredicateLength: string }, scriptParams: { __typename: 'ScriptParameters', maxScriptDataLength: string, maxScriptLength: string }, txParams: { __typename: 'TxParameters', maxBytecodeSubsections: string, maxGasPerTx: string, maxInputs: string, maxOutputs: string, maxSize: string, maxWitnesses: string } }, gasCosts: { __typename: 'GasCosts', add: string, addi: string, aloc: string, and: string, andi: string, bal: string, bhei: string, bhsh: string, burn: string, cb: string, cfei: string, cfsi: string, div: string, divi: string, eck1: string, ecr1: string, ed19: string, eq: string, exp: string, expi: string, flag: string, gm: string, gt: string, gtf: string, ji: string, jmp: string, jmpb: string, jmpf: string, jne: string, jneb: string, jnef: string, jnei: string, jnzb: string, jnzf: string, jnzi: string, lb: string, log: string, lt: string, lw: string, mint: string, mldv: string, mlog: string, modOp: string, modi: string, moveOp: string, movi: string, mroo: string, mul: string, muli: string, newStoragePerByte: string, noop: string, not: string, or: string, ori: string, poph: string, popl: string, pshh: string, pshl: string, ret: string, rvrt: string, sb: string, sll: string, slli: string, srl: string, srli: string, srw: string, sub: string, subi: string, sw: string, sww: string, time: string, tr: string, tro: string, wdam: string, wdcm: string, wddv: string, wdmd: string, wdml: string, wdmm: string, wdop: string, wqam: string, wqcm: string, wqdv: string, wqmd: string, wqml: string, wqmm: string, wqop: string, xor: string, xori: string, call: { __typename: 'HeavyOperation', base: string, gasPerUnit: string } | { __typename: 'LightOperation', base: string, unitsPerGas: string }, ccp: { __typename: 'HeavyOperation', base: string, gasPerUnit: string } | { __typename: 'LightOperation', base: string, unitsPerGas: string }, contractRoot: { __typename: 'HeavyOperation', base: string, gasPerUnit: string } | { __typename: 'LightOperation', base: string, unitsPerGas: string }, croo: { __typename: 'HeavyOperation', base: string, gasPerUnit: string } | { __typename: 'LightOperation', base: string, unitsPerGas: string }, csiz: { __typename: 'HeavyOperation', base: string, gasPerUnit: string } | { __typename: 'LightOperation', base: string, unitsPerGas: string }, k256: { __typename: 'HeavyOperation', base: string, gasPerUnit: string } | { __typename: 'LightOperation', base: string, unitsPerGas: string }, ldc: { __typename: 'HeavyOperation', base: string, gasPerUnit: string } | { __typename: 'LightOperation', base: string, unitsPerGas: string }, logd: { __typename: 'HeavyOperation', base: string, gasPerUnit: string } | { __typename: 'LightOperation', base: string, unitsPerGas: string }, mcl: { __typename: 'HeavyOperation', base: string, gasPerUnit: string } | { __typename: 'LightOperation', base: string, unitsPerGas: string }, mcli: { __typename: 'HeavyOperation', base: string, gasPerUnit: string } | { __typename: 'LightOperation', base: string, unitsPerGas: string }, mcp: { __typename: 'HeavyOperation', base: string, gasPerUnit: string } | { __typename: 'LightOperation', base: string, unitsPerGas: string }, mcpi: { __typename: 'HeavyOperation', base: string, gasPerUnit: string } | { __typename: 'LightOperation', base: string, unitsPerGas: string }, meq: { __typename: 'HeavyOperation', base: string, gasPerUnit: string } | { __typename: 'LightOperation', base: string, unitsPerGas: string }, retd: { __typename: 'HeavyOperation', base: string, gasPerUnit: string } | { __typename: 'LightOperation', base: string, unitsPerGas: string }, s256: { __typename: 'HeavyOperation', base: string, gasPerUnit: string } | { __typename: 'LightOperation', base: string, unitsPerGas: string }, scwq: { __typename: 'HeavyOperation', base: string, gasPerUnit: string } | { __typename: 'LightOperation', base: string, unitsPerGas: string }, smo: { __typename: 'HeavyOperation', base: string, gasPerUnit: string } | { __typename: 'LightOperation', base: string, unitsPerGas: string }, srwq: { __typename: 'HeavyOperation', base: string, gasPerUnit: string } | { __typename: 'LightOperation', base: string, unitsPerGas: string }, stateRoot: { __typename: 'HeavyOperation', base: string, gasPerUnit: string } | { __typename: 'LightOperation', base: string, unitsPerGas: string }, swwq: { __typename: 'HeavyOperation', base: string, gasPerUnit: string } | { __typename: 'LightOperation', base: string, unitsPerGas: string }, vmInitialization: { __typename: 'HeavyOperation', base: string, gasPerUnit: string } | { __typename: 'LightOperation', base: string, unitsPerGas: string } }, latestBlock: { __typename: 'Block', height: string, id: string, consensus: { __typename: 'Genesis', chainConfigHash: string, coinsRoot: string, contractsRoot: string, messagesRoot: string, transactionsRoot: string } | { __typename: 'PoAConsensus', signature: string }, header: { __typename: 'Header', applicationHash: string, consensusParametersVersion: string, daHeight: string, eventInboxRoot: string, height: string, id: string, messageOutboxRoot: string, messageReceiptCount: string, prevRoot: string, stateTransitionBytecodeVersion: string, time: string, transactionsCount: string, transactionsRoot: string }, transactions: Array<{ __typename: 'Transaction', bytecodeRoot?: string | null, bytecodeWitnessIndex?: string | null, id: string, inputAssetIds?: Array | null, inputContracts?: Array | null, isCreate: boolean, isMint: boolean, isScript: boolean, isUpgrade: boolean, isUpload: boolean, maturity?: string | null, mintAmount?: string | null, mintAssetId?: string | null, mintGasPrice?: string | null, proofSet?: Array | null, rawPayload: string, receiptsRoot?: string | null, salt?: string | null, script?: string | null, scriptData?: string | null, scriptGasLimit?: string | null, storageSlots?: Array | null, subsectionIndex?: string | null, subsectionsNumber?: string | null, txPointer?: string | null, witnesses?: Array | null, inputContract?: { __typename: 'InputContract', balanceRoot: string, contractId: string, stateRoot: string, txPointer: string, utxoId: string } | null, inputs?: Array<{ __typename: 'InputCoin', amount: string, assetId: string, owner: string, predicate: string, predicateData: string, predicateGasUsed: string, txPointer: string, utxoId: string, witnessIndex: string } | { __typename: 'InputContract', balanceRoot: string, contractId: string, stateRoot: string, txPointer: string, utxoId: string } | { __typename: 'InputMessage', amount: string, data: string, nonce: string, predicate: string, predicateData: string, predicateGasUsed: string, recipient: string, sender: string, witnessIndex: string }> | null, outputContract?: { __typename: 'ContractOutput', balanceRoot: string, inputIndex: string, stateRoot: string } | null, outputs: Array<{ __typename: 'ChangeOutput', amount: string, assetId: string, to: string } | { __typename: 'CoinOutput', amount: string, assetId: string, to: string } | { __typename: 'ContractCreated', contract: string, stateRoot: string } | { __typename: 'ContractOutput', balanceRoot: string, inputIndex: string, stateRoot: string } | { __typename: 'VariableOutput', amount: string, assetId: string, to: string }>, policies?: { __typename: 'Policies', maturity?: string | null, maxFee?: string | null, tip?: string | null, witnessLimit?: string | null } | null, status?: { __typename: 'FailureStatus', reason: string, time: string, totalFee: string, totalGas: string, transactionId: string, block: { __typename: 'Block', height: string, id: string, consensus: { __typename: 'Genesis', chainConfigHash: string, coinsRoot: string, contractsRoot: string, messagesRoot: string, transactionsRoot: string } | { __typename: 'PoAConsensus', signature: string }, header: { __typename: 'Header', applicationHash: string, consensusParametersVersion: string, daHeight: string, eventInboxRoot: string, height: string, id: string, messageOutboxRoot: string, messageReceiptCount: string, prevRoot: string, stateTransitionBytecodeVersion: string, time: string, transactionsCount: string, transactionsRoot: string }, transactions: Array<{ __typename: 'Transaction', bytecodeRoot?: string | null, bytecodeWitnessIndex?: string | null, id: string, inputAssetIds?: Array | null, inputContracts?: Array | null, isCreate: boolean, isMint: boolean, isScript: boolean, isUpgrade: boolean, isUpload: boolean, maturity?: string | null, mintAmount?: string | null, mintAssetId?: string | null, mintGasPrice?: string | null, proofSet?: Array | null, rawPayload: string, receiptsRoot?: string | null, salt?: string | null, script?: string | null, scriptData?: string | null, scriptGasLimit?: string | null, storageSlots?: Array | null, subsectionIndex?: string | null, subsectionsNumber?: string | null, txPointer?: string | null, witnesses?: Array | null, inputContract?: { __typename: 'InputContract', balanceRoot: string, contractId: string, stateRoot: string, txPointer: string, utxoId: string } | null, inputs?: Array<{ __typename: 'InputCoin', amount: string, assetId: string, owner: string, predicate: string, predicateData: string, predicateGasUsed: string, txPointer: string, utxoId: string, witnessIndex: string } | { __typename: 'InputContract', balanceRoot: string, contractId: string, stateRoot: string, txPointer: string, utxoId: string } | { __typename: 'InputMessage', amount: string, data: string, nonce: string, predicate: string, predicateData: string, predicateGasUsed: string, recipient: string, sender: string, witnessIndex: string }> | null, outputContract?: { __typename: 'ContractOutput', balanceRoot: string, inputIndex: string, stateRoot: string } | null, outputs: Array<{ __typename: 'ChangeOutput', amount: string, assetId: string, to: string } | { __typename: 'CoinOutput', amount: string, assetId: string, to: string } | { __typename: 'ContractCreated', contract: string, stateRoot: string } | { __typename: 'ContractOutput', balanceRoot: string, inputIndex: string, stateRoot: string } | { __typename: 'VariableOutput', amount: string, assetId: string, to: string }>, policies?: { __typename: 'Policies', maturity?: string | null, maxFee?: string | null, tip?: string | null, witnessLimit?: string | null } | null, status?: { __typename: 'FailureStatus', reason: string, time: string, totalFee: string, totalGas: string, transactionId: string } | { __typename: 'SqueezedOutStatus', reason: string } | { __typename: 'SubmittedStatus', time: string } | { __typename: 'SuccessStatus', time: string, totalFee: string, totalGas: string, transactionId: string } | null, upgradePurpose?: { __typename: 'ConsensusParametersPurpose', checksum: string, witnessIndex: string } | { __typename: 'StateTransitionPurpose', root: string } | null }> }, programState?: { __typename: 'ProgramState', data: string, returnType: GQLReturnType } | null, receipts: Array<{ __typename: 'Receipt', amount?: string | null, assetId?: string | null, contractId?: string | null, data?: string | null, digest?: string | null, gas?: string | null, gasUsed?: string | null, id?: string | null, is?: string | null, len?: string | null, nonce?: string | null, param1?: string | null, param2?: string | null, pc?: string | null, ptr?: string | null, ra?: string | null, rb?: string | null, rc?: string | null, rd?: string | null, reason?: string | null, receiptType: GQLReceiptType, recipient?: string | null, result?: string | null, sender?: string | null, subId?: string | null, to?: string | null, toAddress?: string | null, val?: string | null }> } | { __typename: 'SqueezedOutStatus', reason: string } | { __typename: 'SubmittedStatus', time: string } | { __typename: 'SuccessStatus', time: string, totalFee: string, totalGas: string, transactionId: string, block: { __typename: 'Block', height: string, id: string, consensus: { __typename: 'Genesis', chainConfigHash: string, coinsRoot: string, contractsRoot: string, messagesRoot: string, transactionsRoot: string } | { __typename: 'PoAConsensus', signature: string }, header: { __typename: 'Header', applicationHash: string, consensusParametersVersion: string, daHeight: string, eventInboxRoot: string, height: string, id: string, messageOutboxRoot: string, messageReceiptCount: string, prevRoot: string, stateTransitionBytecodeVersion: string, time: string, transactionsCount: string, transactionsRoot: string }, transactions: Array<{ __typename: 'Transaction', bytecodeRoot?: string | null, bytecodeWitnessIndex?: string | null, id: string, inputAssetIds?: Array | null, inputContracts?: Array | null, isCreate: boolean, isMint: boolean, isScript: boolean, isUpgrade: boolean, isUpload: boolean, maturity?: string | null, mintAmount?: string | null, mintAssetId?: string | null, mintGasPrice?: string | null, proofSet?: Array | null, rawPayload: string, receiptsRoot?: string | null, salt?: string | null, script?: string | null, scriptData?: string | null, scriptGasLimit?: string | null, storageSlots?: Array | null, subsectionIndex?: string | null, subsectionsNumber?: string | null, txPointer?: string | null, witnesses?: Array | null, inputContract?: { __typename: 'InputContract', balanceRoot: string, contractId: string, stateRoot: string, txPointer: string, utxoId: string } | null, inputs?: Array<{ __typename: 'InputCoin', amount: string, assetId: string, owner: string, predicate: string, predicateData: string, predicateGasUsed: string, txPointer: string, utxoId: string, witnessIndex: string } | { __typename: 'InputContract', balanceRoot: string, contractId: string, stateRoot: string, txPointer: string, utxoId: string } | { __typename: 'InputMessage', amount: string, data: string, nonce: string, predicate: string, predicateData: string, predicateGasUsed: string, recipient: string, sender: string, witnessIndex: string }> | null, outputContract?: { __typename: 'ContractOutput', balanceRoot: string, inputIndex: string, stateRoot: string } | null, outputs: Array<{ __typename: 'ChangeOutput', amount: string, assetId: string, to: string } | { __typename: 'CoinOutput', amount: string, assetId: string, to: string } | { __typename: 'ContractCreated', contract: string, stateRoot: string } | { __typename: 'ContractOutput', balanceRoot: string, inputIndex: string, stateRoot: string } | { __typename: 'VariableOutput', amount: string, assetId: string, to: string }>, policies?: { __typename: 'Policies', maturity?: string | null, maxFee?: string | null, tip?: string | null, witnessLimit?: string | null } | null, status?: { __typename: 'FailureStatus', reason: string, time: string, totalFee: string, totalGas: string, transactionId: string } | { __typename: 'SqueezedOutStatus', reason: string } | { __typename: 'SubmittedStatus', time: string } | { __typename: 'SuccessStatus', time: string, totalFee: string, totalGas: string, transactionId: string } | null, upgradePurpose?: { __typename: 'ConsensusParametersPurpose', checksum: string, witnessIndex: string } | { __typename: 'StateTransitionPurpose', root: string } | null }> }, programState?: { __typename: 'ProgramState', data: string, returnType: GQLReturnType } | null, receipts: Array<{ __typename: 'Receipt', amount?: string | null, assetId?: string | null, contractId?: string | null, data?: string | null, digest?: string | null, gas?: string | null, gasUsed?: string | null, id?: string | null, is?: string | null, len?: string | null, nonce?: string | null, param1?: string | null, param2?: string | null, pc?: string | null, ptr?: string | null, ra?: string | null, rb?: string | null, rc?: string | null, rd?: string | null, reason?: string | null, receiptType: GQLReceiptType, recipient?: string | null, result?: string | null, sender?: string | null, subId?: string | null, to?: string | null, toAddress?: string | null, val?: string | null }> } | null, upgradePurpose?: { __typename: 'ConsensusParametersPurpose', checksum: string, witnessIndex: string } | { __typename: 'StateTransitionPurpose', root: string } | null }> } } }; +export type GQLChainQuery = { + __typename: 'Query'; + chain: { + __typename: 'ChainInfo'; + daHeight: string; + name: string; + consensusParameters: { + __typename: 'ConsensusParameters'; + baseAssetId: string; + blockGasLimit: string; + chainId: string; + privilegedAddress: string; + contractParams: { + __typename: 'ContractParameters'; + contractMaxSize: string; + maxStorageSlots: string; + }; + feeParams: { + __typename: 'FeeParameters'; + gasPerByte: string; + gasPriceFactor: string; + }; + gasCosts: { + __typename: 'GasCosts'; + add: string; + addi: string; + aloc: string; + and: string; + andi: string; + bal: string; + bhei: string; + bhsh: string; + burn: string; + cb: string; + cfei: string; + cfsi: string; + div: string; + divi: string; + eck1: string; + ecr1: string; + ed19: string; + eq: string; + exp: string; + expi: string; + flag: string; + gm: string; + gt: string; + gtf: string; + ji: string; + jmp: string; + jmpb: string; + jmpf: string; + jne: string; + jneb: string; + jnef: string; + jnei: string; + jnzb: string; + jnzf: string; + jnzi: string; + lb: string; + log: string; + lt: string; + lw: string; + mint: string; + mldv: string; + mlog: string; + modOp: string; + modi: string; + moveOp: string; + movi: string; + mroo: string; + mul: string; + muli: string; + newStoragePerByte: string; + noop: string; + not: string; + or: string; + ori: string; + poph: string; + popl: string; + pshh: string; + pshl: string; + ret: string; + rvrt: string; + sb: string; + sll: string; + slli: string; + srl: string; + srli: string; + srw: string; + sub: string; + subi: string; + sw: string; + sww: string; + time: string; + tr: string; + tro: string; + wdam: string; + wdcm: string; + wddv: string; + wdmd: string; + wdml: string; + wdmm: string; + wdop: string; + wqam: string; + wqcm: string; + wqdv: string; + wqmd: string; + wqml: string; + wqmm: string; + wqop: string; + xor: string; + xori: string; + call: + | { __typename: 'HeavyOperation'; base: string; gasPerUnit: string } + | { __typename: 'LightOperation'; base: string; unitsPerGas: string }; + ccp: + | { __typename: 'HeavyOperation'; base: string; gasPerUnit: string } + | { __typename: 'LightOperation'; base: string; unitsPerGas: string }; + contractRoot: + | { __typename: 'HeavyOperation'; base: string; gasPerUnit: string } + | { __typename: 'LightOperation'; base: string; unitsPerGas: string }; + croo: + | { __typename: 'HeavyOperation'; base: string; gasPerUnit: string } + | { __typename: 'LightOperation'; base: string; unitsPerGas: string }; + csiz: + | { __typename: 'HeavyOperation'; base: string; gasPerUnit: string } + | { __typename: 'LightOperation'; base: string; unitsPerGas: string }; + k256: + | { __typename: 'HeavyOperation'; base: string; gasPerUnit: string } + | { __typename: 'LightOperation'; base: string; unitsPerGas: string }; + ldc: + | { __typename: 'HeavyOperation'; base: string; gasPerUnit: string } + | { __typename: 'LightOperation'; base: string; unitsPerGas: string }; + logd: + | { __typename: 'HeavyOperation'; base: string; gasPerUnit: string } + | { __typename: 'LightOperation'; base: string; unitsPerGas: string }; + mcl: + | { __typename: 'HeavyOperation'; base: string; gasPerUnit: string } + | { __typename: 'LightOperation'; base: string; unitsPerGas: string }; + mcli: + | { __typename: 'HeavyOperation'; base: string; gasPerUnit: string } + | { __typename: 'LightOperation'; base: string; unitsPerGas: string }; + mcp: + | { __typename: 'HeavyOperation'; base: string; gasPerUnit: string } + | { __typename: 'LightOperation'; base: string; unitsPerGas: string }; + mcpi: + | { __typename: 'HeavyOperation'; base: string; gasPerUnit: string } + | { __typename: 'LightOperation'; base: string; unitsPerGas: string }; + meq: + | { __typename: 'HeavyOperation'; base: string; gasPerUnit: string } + | { __typename: 'LightOperation'; base: string; unitsPerGas: string }; + retd: + | { __typename: 'HeavyOperation'; base: string; gasPerUnit: string } + | { __typename: 'LightOperation'; base: string; unitsPerGas: string }; + s256: + | { __typename: 'HeavyOperation'; base: string; gasPerUnit: string } + | { __typename: 'LightOperation'; base: string; unitsPerGas: string }; + scwq: + | { __typename: 'HeavyOperation'; base: string; gasPerUnit: string } + | { __typename: 'LightOperation'; base: string; unitsPerGas: string }; + smo: + | { __typename: 'HeavyOperation'; base: string; gasPerUnit: string } + | { __typename: 'LightOperation'; base: string; unitsPerGas: string }; + srwq: + | { __typename: 'HeavyOperation'; base: string; gasPerUnit: string } + | { __typename: 'LightOperation'; base: string; unitsPerGas: string }; + stateRoot: + | { __typename: 'HeavyOperation'; base: string; gasPerUnit: string } + | { __typename: 'LightOperation'; base: string; unitsPerGas: string }; + swwq: + | { __typename: 'HeavyOperation'; base: string; gasPerUnit: string } + | { __typename: 'LightOperation'; base: string; unitsPerGas: string }; + vmInitialization: + | { __typename: 'HeavyOperation'; base: string; gasPerUnit: string } + | { __typename: 'LightOperation'; base: string; unitsPerGas: string }; + }; + predicateParams: { + __typename: 'PredicateParameters'; + maxGasPerPredicate: string; + maxMessageDataLength: string; + maxPredicateDataLength: string; + maxPredicateLength: string; + }; + scriptParams: { + __typename: 'ScriptParameters'; + maxScriptDataLength: string; + maxScriptLength: string; + }; + txParams: { + __typename: 'TxParameters'; + maxBytecodeSubsections: string; + maxGasPerTx: string; + maxInputs: string; + maxOutputs: string; + maxSize: string; + maxWitnesses: string; + }; + }; + gasCosts: { + __typename: 'GasCosts'; + add: string; + addi: string; + aloc: string; + and: string; + andi: string; + bal: string; + bhei: string; + bhsh: string; + burn: string; + cb: string; + cfei: string; + cfsi: string; + div: string; + divi: string; + eck1: string; + ecr1: string; + ed19: string; + eq: string; + exp: string; + expi: string; + flag: string; + gm: string; + gt: string; + gtf: string; + ji: string; + jmp: string; + jmpb: string; + jmpf: string; + jne: string; + jneb: string; + jnef: string; + jnei: string; + jnzb: string; + jnzf: string; + jnzi: string; + lb: string; + log: string; + lt: string; + lw: string; + mint: string; + mldv: string; + mlog: string; + modOp: string; + modi: string; + moveOp: string; + movi: string; + mroo: string; + mul: string; + muli: string; + newStoragePerByte: string; + noop: string; + not: string; + or: string; + ori: string; + poph: string; + popl: string; + pshh: string; + pshl: string; + ret: string; + rvrt: string; + sb: string; + sll: string; + slli: string; + srl: string; + srli: string; + srw: string; + sub: string; + subi: string; + sw: string; + sww: string; + time: string; + tr: string; + tro: string; + wdam: string; + wdcm: string; + wddv: string; + wdmd: string; + wdml: string; + wdmm: string; + wdop: string; + wqam: string; + wqcm: string; + wqdv: string; + wqmd: string; + wqml: string; + wqmm: string; + wqop: string; + xor: string; + xori: string; + call: + | { __typename: 'HeavyOperation'; base: string; gasPerUnit: string } + | { __typename: 'LightOperation'; base: string; unitsPerGas: string }; + ccp: + | { __typename: 'HeavyOperation'; base: string; gasPerUnit: string } + | { __typename: 'LightOperation'; base: string; unitsPerGas: string }; + contractRoot: + | { __typename: 'HeavyOperation'; base: string; gasPerUnit: string } + | { __typename: 'LightOperation'; base: string; unitsPerGas: string }; + croo: + | { __typename: 'HeavyOperation'; base: string; gasPerUnit: string } + | { __typename: 'LightOperation'; base: string; unitsPerGas: string }; + csiz: + | { __typename: 'HeavyOperation'; base: string; gasPerUnit: string } + | { __typename: 'LightOperation'; base: string; unitsPerGas: string }; + k256: + | { __typename: 'HeavyOperation'; base: string; gasPerUnit: string } + | { __typename: 'LightOperation'; base: string; unitsPerGas: string }; + ldc: + | { __typename: 'HeavyOperation'; base: string; gasPerUnit: string } + | { __typename: 'LightOperation'; base: string; unitsPerGas: string }; + logd: + | { __typename: 'HeavyOperation'; base: string; gasPerUnit: string } + | { __typename: 'LightOperation'; base: string; unitsPerGas: string }; + mcl: + | { __typename: 'HeavyOperation'; base: string; gasPerUnit: string } + | { __typename: 'LightOperation'; base: string; unitsPerGas: string }; + mcli: + | { __typename: 'HeavyOperation'; base: string; gasPerUnit: string } + | { __typename: 'LightOperation'; base: string; unitsPerGas: string }; + mcp: + | { __typename: 'HeavyOperation'; base: string; gasPerUnit: string } + | { __typename: 'LightOperation'; base: string; unitsPerGas: string }; + mcpi: + | { __typename: 'HeavyOperation'; base: string; gasPerUnit: string } + | { __typename: 'LightOperation'; base: string; unitsPerGas: string }; + meq: + | { __typename: 'HeavyOperation'; base: string; gasPerUnit: string } + | { __typename: 'LightOperation'; base: string; unitsPerGas: string }; + retd: + | { __typename: 'HeavyOperation'; base: string; gasPerUnit: string } + | { __typename: 'LightOperation'; base: string; unitsPerGas: string }; + s256: + | { __typename: 'HeavyOperation'; base: string; gasPerUnit: string } + | { __typename: 'LightOperation'; base: string; unitsPerGas: string }; + scwq: + | { __typename: 'HeavyOperation'; base: string; gasPerUnit: string } + | { __typename: 'LightOperation'; base: string; unitsPerGas: string }; + smo: + | { __typename: 'HeavyOperation'; base: string; gasPerUnit: string } + | { __typename: 'LightOperation'; base: string; unitsPerGas: string }; + srwq: + | { __typename: 'HeavyOperation'; base: string; gasPerUnit: string } + | { __typename: 'LightOperation'; base: string; unitsPerGas: string }; + stateRoot: + | { __typename: 'HeavyOperation'; base: string; gasPerUnit: string } + | { __typename: 'LightOperation'; base: string; unitsPerGas: string }; + swwq: + | { __typename: 'HeavyOperation'; base: string; gasPerUnit: string } + | { __typename: 'LightOperation'; base: string; unitsPerGas: string }; + vmInitialization: + | { __typename: 'HeavyOperation'; base: string; gasPerUnit: string } + | { __typename: 'LightOperation'; base: string; unitsPerGas: string }; + }; + latestBlock: { + __typename: 'Block'; + height: string; + id: string; + consensus: + | { + __typename: 'Genesis'; + chainConfigHash: string; + coinsRoot: string; + contractsRoot: string; + messagesRoot: string; + transactionsRoot: string; + } + | { __typename: 'PoAConsensus'; signature: string }; + header: { + __typename: 'Header'; + applicationHash: string; + consensusParametersVersion: string; + daHeight: string; + eventInboxRoot: string; + height: string; + id: string; + messageOutboxRoot: string; + messageReceiptCount: string; + prevRoot: string; + stateTransitionBytecodeVersion: string; + time: string; + transactionsCount: string; + transactionsRoot: string; + }; + transactions: Array<{ + __typename: 'Transaction'; + bytecodeRoot?: string | null; + bytecodeWitnessIndex?: string | null; + id: string; + inputAssetIds?: Array | null; + inputContracts?: Array | null; + isCreate: boolean; + isMint: boolean; + isScript: boolean; + isUpgrade: boolean; + isUpload: boolean; + maturity?: string | null; + mintAmount?: string | null; + mintAssetId?: string | null; + mintGasPrice?: string | null; + proofSet?: Array | null; + rawPayload: string; + receiptsRoot?: string | null; + salt?: string | null; + script?: string | null; + scriptData?: string | null; + scriptGasLimit?: string | null; + storageSlots?: Array | null; + subsectionIndex?: string | null; + subsectionsNumber?: string | null; + txPointer?: string | null; + witnesses?: Array | null; + inputContract?: { + __typename: 'InputContract'; + balanceRoot: string; + contractId: string; + stateRoot: string; + txPointer: string; + utxoId: string; + } | null; + inputs?: Array< + | { + __typename: 'InputCoin'; + amount: string; + assetId: string; + owner: string; + predicate: string; + predicateData: string; + predicateGasUsed: string; + txPointer: string; + utxoId: string; + witnessIndex: string; + } + | { + __typename: 'InputContract'; + balanceRoot: string; + contractId: string; + stateRoot: string; + txPointer: string; + utxoId: string; + } + | { + __typename: 'InputMessage'; + amount: string; + data: string; + nonce: string; + predicate: string; + predicateData: string; + predicateGasUsed: string; + recipient: string; + sender: string; + witnessIndex: string; + } + > | null; + outputContract?: { + __typename: 'ContractOutput'; + balanceRoot: string; + inputIndex: string; + stateRoot: string; + } | null; + outputs: Array< + | { + __typename: 'ChangeOutput'; + amount: string; + assetId: string; + to: string; + } + | { + __typename: 'CoinOutput'; + amount: string; + assetId: string; + to: string; + } + | { + __typename: 'ContractCreated'; + contract: string; + stateRoot: string; + } + | { + __typename: 'ContractOutput'; + balanceRoot: string; + inputIndex: string; + stateRoot: string; + } + | { + __typename: 'VariableOutput'; + amount: string; + assetId: string; + to: string; + } + >; + policies?: { + __typename: 'Policies'; + maturity?: string | null; + maxFee?: string | null; + tip?: string | null; + witnessLimit?: string | null; + } | null; + status?: + | { + __typename: 'FailureStatus'; + reason: string; + time: string; + totalFee: string; + totalGas: string; + transactionId: string; + block: { + __typename: 'Block'; + height: string; + id: string; + consensus: + | { + __typename: 'Genesis'; + chainConfigHash: string; + coinsRoot: string; + contractsRoot: string; + messagesRoot: string; + transactionsRoot: string; + } + | { __typename: 'PoAConsensus'; signature: string }; + header: { + __typename: 'Header'; + applicationHash: string; + consensusParametersVersion: string; + daHeight: string; + eventInboxRoot: string; + height: string; + id: string; + messageOutboxRoot: string; + messageReceiptCount: string; + prevRoot: string; + stateTransitionBytecodeVersion: string; + time: string; + transactionsCount: string; + transactionsRoot: string; + }; + transactions: Array<{ + __typename: 'Transaction'; + bytecodeRoot?: string | null; + bytecodeWitnessIndex?: string | null; + id: string; + inputAssetIds?: Array | null; + inputContracts?: Array | null; + isCreate: boolean; + isMint: boolean; + isScript: boolean; + isUpgrade: boolean; + isUpload: boolean; + maturity?: string | null; + mintAmount?: string | null; + mintAssetId?: string | null; + mintGasPrice?: string | null; + proofSet?: Array | null; + rawPayload: string; + receiptsRoot?: string | null; + salt?: string | null; + script?: string | null; + scriptData?: string | null; + scriptGasLimit?: string | null; + storageSlots?: Array | null; + subsectionIndex?: string | null; + subsectionsNumber?: string | null; + txPointer?: string | null; + witnesses?: Array | null; + inputContract?: { + __typename: 'InputContract'; + balanceRoot: string; + contractId: string; + stateRoot: string; + txPointer: string; + utxoId: string; + } | null; + inputs?: Array< + | { + __typename: 'InputCoin'; + amount: string; + assetId: string; + owner: string; + predicate: string; + predicateData: string; + predicateGasUsed: string; + txPointer: string; + utxoId: string; + witnessIndex: string; + } + | { + __typename: 'InputContract'; + balanceRoot: string; + contractId: string; + stateRoot: string; + txPointer: string; + utxoId: string; + } + | { + __typename: 'InputMessage'; + amount: string; + data: string; + nonce: string; + predicate: string; + predicateData: string; + predicateGasUsed: string; + recipient: string; + sender: string; + witnessIndex: string; + } + > | null; + outputContract?: { + __typename: 'ContractOutput'; + balanceRoot: string; + inputIndex: string; + stateRoot: string; + } | null; + outputs: Array< + | { + __typename: 'ChangeOutput'; + amount: string; + assetId: string; + to: string; + } + | { + __typename: 'CoinOutput'; + amount: string; + assetId: string; + to: string; + } + | { + __typename: 'ContractCreated'; + contract: string; + stateRoot: string; + } + | { + __typename: 'ContractOutput'; + balanceRoot: string; + inputIndex: string; + stateRoot: string; + } + | { + __typename: 'VariableOutput'; + amount: string; + assetId: string; + to: string; + } + >; + policies?: { + __typename: 'Policies'; + maturity?: string | null; + maxFee?: string | null; + tip?: string | null; + witnessLimit?: string | null; + } | null; + status?: + | { + __typename: 'FailureStatus'; + reason: string; + time: string; + totalFee: string; + totalGas: string; + transactionId: string; + } + | { __typename: 'SqueezedOutStatus'; reason: string } + | { __typename: 'SubmittedStatus'; time: string } + | { + __typename: 'SuccessStatus'; + time: string; + totalFee: string; + totalGas: string; + transactionId: string; + } + | null; + upgradePurpose?: + | { + __typename: 'ConsensusParametersPurpose'; + checksum: string; + witnessIndex: string; + } + | { __typename: 'StateTransitionPurpose'; root: string } + | null; + }>; + }; + programState?: { + __typename: 'ProgramState'; + data: string; + returnType: GQLReturnType; + } | null; + receipts: Array<{ + __typename: 'Receipt'; + amount?: string | null; + assetId?: string | null; + contractId?: string | null; + data?: string | null; + digest?: string | null; + gas?: string | null; + gasUsed?: string | null; + id?: string | null; + is?: string | null; + len?: string | null; + nonce?: string | null; + param1?: string | null; + param2?: string | null; + pc?: string | null; + ptr?: string | null; + ra?: string | null; + rb?: string | null; + rc?: string | null; + rd?: string | null; + reason?: string | null; + receiptType: GQLReceiptType; + recipient?: string | null; + result?: string | null; + sender?: string | null; + subId?: string | null; + to?: string | null; + toAddress?: string | null; + val?: string | null; + }>; + } + | { __typename: 'SqueezedOutStatus'; reason: string } + | { __typename: 'SubmittedStatus'; time: string } + | { + __typename: 'SuccessStatus'; + time: string; + totalFee: string; + totalGas: string; + transactionId: string; + block: { + __typename: 'Block'; + height: string; + id: string; + consensus: + | { + __typename: 'Genesis'; + chainConfigHash: string; + coinsRoot: string; + contractsRoot: string; + messagesRoot: string; + transactionsRoot: string; + } + | { __typename: 'PoAConsensus'; signature: string }; + header: { + __typename: 'Header'; + applicationHash: string; + consensusParametersVersion: string; + daHeight: string; + eventInboxRoot: string; + height: string; + id: string; + messageOutboxRoot: string; + messageReceiptCount: string; + prevRoot: string; + stateTransitionBytecodeVersion: string; + time: string; + transactionsCount: string; + transactionsRoot: string; + }; + transactions: Array<{ + __typename: 'Transaction'; + bytecodeRoot?: string | null; + bytecodeWitnessIndex?: string | null; + id: string; + inputAssetIds?: Array | null; + inputContracts?: Array | null; + isCreate: boolean; + isMint: boolean; + isScript: boolean; + isUpgrade: boolean; + isUpload: boolean; + maturity?: string | null; + mintAmount?: string | null; + mintAssetId?: string | null; + mintGasPrice?: string | null; + proofSet?: Array | null; + rawPayload: string; + receiptsRoot?: string | null; + salt?: string | null; + script?: string | null; + scriptData?: string | null; + scriptGasLimit?: string | null; + storageSlots?: Array | null; + subsectionIndex?: string | null; + subsectionsNumber?: string | null; + txPointer?: string | null; + witnesses?: Array | null; + inputContract?: { + __typename: 'InputContract'; + balanceRoot: string; + contractId: string; + stateRoot: string; + txPointer: string; + utxoId: string; + } | null; + inputs?: Array< + | { + __typename: 'InputCoin'; + amount: string; + assetId: string; + owner: string; + predicate: string; + predicateData: string; + predicateGasUsed: string; + txPointer: string; + utxoId: string; + witnessIndex: string; + } + | { + __typename: 'InputContract'; + balanceRoot: string; + contractId: string; + stateRoot: string; + txPointer: string; + utxoId: string; + } + | { + __typename: 'InputMessage'; + amount: string; + data: string; + nonce: string; + predicate: string; + predicateData: string; + predicateGasUsed: string; + recipient: string; + sender: string; + witnessIndex: string; + } + > | null; + outputContract?: { + __typename: 'ContractOutput'; + balanceRoot: string; + inputIndex: string; + stateRoot: string; + } | null; + outputs: Array< + | { + __typename: 'ChangeOutput'; + amount: string; + assetId: string; + to: string; + } + | { + __typename: 'CoinOutput'; + amount: string; + assetId: string; + to: string; + } + | { + __typename: 'ContractCreated'; + contract: string; + stateRoot: string; + } + | { + __typename: 'ContractOutput'; + balanceRoot: string; + inputIndex: string; + stateRoot: string; + } + | { + __typename: 'VariableOutput'; + amount: string; + assetId: string; + to: string; + } + >; + policies?: { + __typename: 'Policies'; + maturity?: string | null; + maxFee?: string | null; + tip?: string | null; + witnessLimit?: string | null; + } | null; + status?: + | { + __typename: 'FailureStatus'; + reason: string; + time: string; + totalFee: string; + totalGas: string; + transactionId: string; + } + | { __typename: 'SqueezedOutStatus'; reason: string } + | { __typename: 'SubmittedStatus'; time: string } + | { + __typename: 'SuccessStatus'; + time: string; + totalFee: string; + totalGas: string; + transactionId: string; + } + | null; + upgradePurpose?: + | { + __typename: 'ConsensusParametersPurpose'; + checksum: string; + witnessIndex: string; + } + | { __typename: 'StateTransitionPurpose'; root: string } + | null; + }>; + }; + programState?: { + __typename: 'ProgramState'; + data: string; + returnType: GQLReturnType; + } | null; + receipts: Array<{ + __typename: 'Receipt'; + amount?: string | null; + assetId?: string | null; + contractId?: string | null; + data?: string | null; + digest?: string | null; + gas?: string | null; + gasUsed?: string | null; + id?: string | null; + is?: string | null; + len?: string | null; + nonce?: string | null; + param1?: string | null; + param2?: string | null; + pc?: string | null; + ptr?: string | null; + ra?: string | null; + rb?: string | null; + rc?: string | null; + rd?: string | null; + reason?: string | null; + receiptType: GQLReceiptType; + recipient?: string | null; + result?: string | null; + sender?: string | null; + subId?: string | null; + to?: string | null; + toAddress?: string | null; + val?: string | null; + }>; + } + | null; + upgradePurpose?: + | { + __typename: 'ConsensusParametersPurpose'; + checksum: string; + witnessIndex: string; + } + | { __typename: 'StateTransitionPurpose'; root: string } + | null; + }>; + }; + }; +}; export type GQLCoinsQueryVariables = Exact<{ after?: InputMaybe; @@ -1474,27 +3426,87 @@ export type GQLCoinsQueryVariables = Exact<{ last?: InputMaybe; }>; - -export type GQLCoinsQuery = { __typename: 'Query', coins: { __typename: 'CoinConnection', edges: Array<{ __typename: 'CoinEdge', cursor: string, node: { __typename: 'Coin', amount: string, assetId: string, blockCreated: string, owner: string, txCreatedIdx: string, utxoId: string } }>, nodes: Array<{ __typename: 'Coin', amount: string, assetId: string, blockCreated: string, owner: string, txCreatedIdx: string, utxoId: string }>, pageInfo: { __typename: 'PageInfo', endCursor?: string | null, hasNextPage: boolean, hasPreviousPage: boolean, startCursor?: string | null } } }; +export type GQLCoinsQuery = { + __typename: 'Query'; + coins: { + __typename: 'CoinConnection'; + edges: Array<{ + __typename: 'CoinEdge'; + cursor: string; + node: { + __typename: 'Coin'; + amount: string; + assetId: string; + blockCreated: string; + owner: string; + txCreatedIdx: string; + utxoId: string; + }; + }>; + nodes: Array<{ + __typename: 'Coin'; + amount: string; + assetId: string; + blockCreated: string; + owner: string; + txCreatedIdx: string; + utxoId: string; + }>; + pageInfo: { + __typename: 'PageInfo'; + endCursor?: string | null; + hasNextPage: boolean; + hasPreviousPage: boolean; + startCursor?: string | null; + }; + }; +}; export type GQLContractQueryVariables = Exact<{ id: Scalars['ContractId']['input']; }>; - -export type GQLContractQuery = { __typename: 'Query', contract?: { __typename: 'Contract', id: string, bytecode: string } | null }; +export type GQLContractQuery = { + __typename: 'Query'; + contract?: { __typename: 'Contract'; id: string; bytecode: string } | null; +}; export type GQLContractBalanceQueryVariables = Exact<{ asset: Scalars['AssetId']['input']; contract: Scalars['ContractId']['input']; }>; +export type GQLContractBalanceQuery = { + __typename: 'Query'; + contractBalance: { + __typename: 'ContractBalance'; + amount: string; + assetId: string; + contract: string; + }; +}; -export type GQLContractBalanceQuery = { __typename: 'Query', contractBalance: { __typename: 'ContractBalance', amount: string, assetId: string, contract: string } }; - -export type GQLContractBalanceNodeFragment = { __typename: 'ContractBalance', amount: string, assetId: string }; +export type GQLContractBalanceNodeFragment = { + __typename: 'ContractBalance'; + amount: string; + assetId: string; +}; -export type GQLContractBalanceConnectionNodeFragment = { __typename: 'ContractBalanceConnection', edges: Array<{ __typename: 'ContractBalanceEdge', cursor: string, node: { __typename: 'ContractBalance', amount: string, assetId: string } }>, pageInfo: { __typename: 'PageInfo', hasNextPage: boolean, hasPreviousPage: boolean, endCursor?: string | null, startCursor?: string | null } }; +export type GQLContractBalanceConnectionNodeFragment = { + __typename: 'ContractBalanceConnection'; + edges: Array<{ + __typename: 'ContractBalanceEdge'; + cursor: string; + node: { __typename: 'ContractBalance'; amount: string; assetId: string }; + }>; + pageInfo: { + __typename: 'PageInfo'; + hasNextPage: boolean; + hasPreviousPage: boolean; + endCursor?: string | null; + startCursor?: string | null; + }; +}; export type GQLContractBalancesQueryVariables = Exact<{ after?: InputMaybe; @@ -1504,13 +3516,63 @@ export type GQLContractBalancesQueryVariables = Exact<{ last?: InputMaybe; }>; +export type GQLContractBalancesQuery = { + __typename: 'Query'; + contractBalances: { + __typename: 'ContractBalanceConnection'; + edges: Array<{ + __typename: 'ContractBalanceEdge'; + cursor: string; + node: { __typename: 'ContractBalance'; amount: string; assetId: string }; + }>; + pageInfo: { + __typename: 'PageInfo'; + hasNextPage: boolean; + hasPreviousPage: boolean; + endCursor?: string | null; + startCursor?: string | null; + }; + }; +}; -export type GQLContractBalancesQuery = { __typename: 'Query', contractBalances: { __typename: 'ContractBalanceConnection', edges: Array<{ __typename: 'ContractBalanceEdge', cursor: string, node: { __typename: 'ContractBalance', amount: string, assetId: string } }>, pageInfo: { __typename: 'PageInfo', hasNextPage: boolean, hasPreviousPage: boolean, endCursor?: string | null, startCursor?: string | null } } }; +export type GQLNodeInfoQueryVariables = Exact<{ [key: string]: never }>; -export type GQLNodeInfoQueryVariables = Exact<{ [key: string]: never; }>; +export type GQLNodeInfoQuery = { + __typename: 'Query'; + nodeInfo: { + __typename: 'NodeInfo'; + maxDepth: string; + maxTx: string; + nodeVersion: string; + utxoValidation: boolean; + vmBacktrace: boolean; + peers: Array<{ + __typename: 'PeerInfo'; + addresses: Array; + appScore: number; + blockHeight?: string | null; + clientVersion?: string | null; + id: string; + lastHeartbeatMs: string; + }>; + }; +}; +export type GQLTransactionsFeeStatisticsQueryVariables = Exact<{ + timeFilter?: InputMaybe; +}>; -export type GQLNodeInfoQuery = { __typename: 'Query', nodeInfo: { __typename: 'NodeInfo', maxDepth: string, maxTx: string, nodeVersion: string, utxoValidation: boolean, vmBacktrace: boolean, peers: Array<{ __typename: 'PeerInfo', addresses: Array, appScore: number, blockHeight?: string | null, clientVersion?: string | null, id: string, lastHeartbeatMs: string }> } }; +export type GQLTransactionsFeeStatisticsQuery = { + __typename: 'Query'; + transactionsFeeStatistics: { + __typename: 'TransactionFeeConnection'; + nodes?: Array<{ + __typename: 'TransactionFee'; + fee: string; + timestamp: string; + }> | null; + }; +}; export const BalanceItemFragmentDoc = gql` fragment BalanceItem on Balance { @@ -1874,6 +3936,17 @@ export const BalancesDocument = gql` } } ${BalanceItemFragmentDoc}`; +export const BlockRewardStatisticsDocument = gql` + query blockRewardStatistics($timeFilter: String) { + blockRewardStatistics(timeFilter: $timeFilter) { + nodes { + id + reward + timestamp + } + } +} + `; export const BlocksDocument = gql` query blocks($after: String, $before: String, $first: Int, $last: Int) { blocks(after: $after, before: $before, first: $first, last: $last) { @@ -3240,13 +5313,35 @@ export const NodeInfoDocument = gql` } } `; +export const TransactionsFeeStatisticsDocument = gql` + query transactionsFeeStatistics($timeFilter: String) { + transactionsFeeStatistics(timeFilter: $timeFilter) { + nodes { + fee + timestamp + } + } +} + `; -export type SdkFunctionWrapper = (action: (requestHeaders?:Record) => Promise, operationName: string, operationType?: string, variables?: any) => Promise; - - -const defaultWrapper: SdkFunctionWrapper = (action, _operationName, _operationType, _variables) => action(); +export type SdkFunctionWrapper = ( + action: (requestHeaders?: Record) => Promise, + operationName: string, + operationType?: string, + variables?: any, +) => Promise; + +const defaultWrapper: SdkFunctionWrapper = ( + action, + _operationName, + _operationType, + _variables, +) => action(); const BalanceDocumentString = print(BalanceDocument); const BalancesDocumentString = print(BalancesDocument); +const BlockRewardStatisticsDocumentString = print( + BlockRewardStatisticsDocument, +); const BlocksDocumentString = print(BlocksDocument); const ChainDocumentString = print(ChainDocument); const CoinsDocumentString = print(CoinsDocument); @@ -3254,35 +5349,252 @@ const ContractDocumentString = print(ContractDocument); const ContractBalanceDocumentString = print(ContractBalanceDocument); const ContractBalancesDocumentString = print(ContractBalancesDocument); const NodeInfoDocumentString = print(NodeInfoDocument); -export function getSdk(client: GraphQLClient, withWrapper: SdkFunctionWrapper = defaultWrapper) { +const TransactionsFeeStatisticsDocumentString = print( + TransactionsFeeStatisticsDocument, +); +export function getSdk( + client: GraphQLClient, + withWrapper: SdkFunctionWrapper = defaultWrapper, +) { return { - balance(variables: GQLBalanceQueryVariables, requestHeaders?: GraphQLClientRequestHeaders): Promise<{ data: GQLBalanceQuery; errors?: GraphQLError[]; extensions?: any; headers: Headers; status: number; }> { - return withWrapper((wrappedRequestHeaders) => client.rawRequest(BalanceDocumentString, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'balance', 'query', variables); + balance( + variables: GQLBalanceQueryVariables, + requestHeaders?: GraphQLClientRequestHeaders, + ): Promise<{ + data: GQLBalanceQuery; + errors?: GraphQLError[]; + extensions?: any; + headers: Headers; + status: number; + }> { + return withWrapper( + (wrappedRequestHeaders) => + client.rawRequest(BalanceDocumentString, variables, { + ...requestHeaders, + ...wrappedRequestHeaders, + }), + 'balance', + 'query', + variables, + ); }, - balances(variables: GQLBalancesQueryVariables, requestHeaders?: GraphQLClientRequestHeaders): Promise<{ data: GQLBalancesQuery; errors?: GraphQLError[]; extensions?: any; headers: Headers; status: number; }> { - return withWrapper((wrappedRequestHeaders) => client.rawRequest(BalancesDocumentString, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'balances', 'query', variables); + balances( + variables: GQLBalancesQueryVariables, + requestHeaders?: GraphQLClientRequestHeaders, + ): Promise<{ + data: GQLBalancesQuery; + errors?: GraphQLError[]; + extensions?: any; + headers: Headers; + status: number; + }> { + return withWrapper( + (wrappedRequestHeaders) => + client.rawRequest( + BalancesDocumentString, + variables, + { ...requestHeaders, ...wrappedRequestHeaders }, + ), + 'balances', + 'query', + variables, + ); }, - blocks(variables?: GQLBlocksQueryVariables, requestHeaders?: GraphQLClientRequestHeaders): Promise<{ data: GQLBlocksQuery; errors?: GraphQLError[]; extensions?: any; headers: Headers; status: number; }> { - return withWrapper((wrappedRequestHeaders) => client.rawRequest(BlocksDocumentString, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'blocks', 'query', variables); + blockRewardStatistics( + variables?: GQLBlockRewardStatisticsQueryVariables, + requestHeaders?: GraphQLClientRequestHeaders, + ): Promise<{ + data: GQLBlockRewardStatisticsQuery; + errors?: GraphQLError[]; + extensions?: any; + headers: Headers; + status: number; + }> { + return withWrapper( + (wrappedRequestHeaders) => + client.rawRequest( + BlockRewardStatisticsDocumentString, + variables, + { ...requestHeaders, ...wrappedRequestHeaders }, + ), + 'blockRewardStatistics', + 'query', + variables, + ); }, - chain(variables?: GQLChainQueryVariables, requestHeaders?: GraphQLClientRequestHeaders): Promise<{ data: GQLChainQuery; errors?: GraphQLError[]; extensions?: any; headers: Headers; status: number; }> { - return withWrapper((wrappedRequestHeaders) => client.rawRequest(ChainDocumentString, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'chain', 'query', variables); + blocks( + variables?: GQLBlocksQueryVariables, + requestHeaders?: GraphQLClientRequestHeaders, + ): Promise<{ + data: GQLBlocksQuery; + errors?: GraphQLError[]; + extensions?: any; + headers: Headers; + status: number; + }> { + return withWrapper( + (wrappedRequestHeaders) => + client.rawRequest(BlocksDocumentString, variables, { + ...requestHeaders, + ...wrappedRequestHeaders, + }), + 'blocks', + 'query', + variables, + ); }, - coins(variables: GQLCoinsQueryVariables, requestHeaders?: GraphQLClientRequestHeaders): Promise<{ data: GQLCoinsQuery; errors?: GraphQLError[]; extensions?: any; headers: Headers; status: number; }> { - return withWrapper((wrappedRequestHeaders) => client.rawRequest(CoinsDocumentString, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'coins', 'query', variables); + chain( + variables?: GQLChainQueryVariables, + requestHeaders?: GraphQLClientRequestHeaders, + ): Promise<{ + data: GQLChainQuery; + errors?: GraphQLError[]; + extensions?: any; + headers: Headers; + status: number; + }> { + return withWrapper( + (wrappedRequestHeaders) => + client.rawRequest(ChainDocumentString, variables, { + ...requestHeaders, + ...wrappedRequestHeaders, + }), + 'chain', + 'query', + variables, + ); }, - contract(variables: GQLContractQueryVariables, requestHeaders?: GraphQLClientRequestHeaders): Promise<{ data: GQLContractQuery; errors?: GraphQLError[]; extensions?: any; headers: Headers; status: number; }> { - return withWrapper((wrappedRequestHeaders) => client.rawRequest(ContractDocumentString, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'contract', 'query', variables); + coins( + variables: GQLCoinsQueryVariables, + requestHeaders?: GraphQLClientRequestHeaders, + ): Promise<{ + data: GQLCoinsQuery; + errors?: GraphQLError[]; + extensions?: any; + headers: Headers; + status: number; + }> { + return withWrapper( + (wrappedRequestHeaders) => + client.rawRequest(CoinsDocumentString, variables, { + ...requestHeaders, + ...wrappedRequestHeaders, + }), + 'coins', + 'query', + variables, + ); }, - contractBalance(variables: GQLContractBalanceQueryVariables, requestHeaders?: GraphQLClientRequestHeaders): Promise<{ data: GQLContractBalanceQuery; errors?: GraphQLError[]; extensions?: any; headers: Headers; status: number; }> { - return withWrapper((wrappedRequestHeaders) => client.rawRequest(ContractBalanceDocumentString, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'contractBalance', 'query', variables); + contract( + variables: GQLContractQueryVariables, + requestHeaders?: GraphQLClientRequestHeaders, + ): Promise<{ + data: GQLContractQuery; + errors?: GraphQLError[]; + extensions?: any; + headers: Headers; + status: number; + }> { + return withWrapper( + (wrappedRequestHeaders) => + client.rawRequest( + ContractDocumentString, + variables, + { ...requestHeaders, ...wrappedRequestHeaders }, + ), + 'contract', + 'query', + variables, + ); }, - contractBalances(variables: GQLContractBalancesQueryVariables, requestHeaders?: GraphQLClientRequestHeaders): Promise<{ data: GQLContractBalancesQuery; errors?: GraphQLError[]; extensions?: any; headers: Headers; status: number; }> { - return withWrapper((wrappedRequestHeaders) => client.rawRequest(ContractBalancesDocumentString, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'contractBalances', 'query', variables); + contractBalance( + variables: GQLContractBalanceQueryVariables, + requestHeaders?: GraphQLClientRequestHeaders, + ): Promise<{ + data: GQLContractBalanceQuery; + errors?: GraphQLError[]; + extensions?: any; + headers: Headers; + status: number; + }> { + return withWrapper( + (wrappedRequestHeaders) => + client.rawRequest( + ContractBalanceDocumentString, + variables, + { ...requestHeaders, ...wrappedRequestHeaders }, + ), + 'contractBalance', + 'query', + variables, + ); + }, + contractBalances( + variables: GQLContractBalancesQueryVariables, + requestHeaders?: GraphQLClientRequestHeaders, + ): Promise<{ + data: GQLContractBalancesQuery; + errors?: GraphQLError[]; + extensions?: any; + headers: Headers; + status: number; + }> { + return withWrapper( + (wrappedRequestHeaders) => + client.rawRequest( + ContractBalancesDocumentString, + variables, + { ...requestHeaders, ...wrappedRequestHeaders }, + ), + 'contractBalances', + 'query', + variables, + ); + }, + nodeInfo( + variables?: GQLNodeInfoQueryVariables, + requestHeaders?: GraphQLClientRequestHeaders, + ): Promise<{ + data: GQLNodeInfoQuery; + errors?: GraphQLError[]; + extensions?: any; + headers: Headers; + status: number; + }> { + return withWrapper( + (wrappedRequestHeaders) => + client.rawRequest( + NodeInfoDocumentString, + variables, + { ...requestHeaders, ...wrappedRequestHeaders }, + ), + 'nodeInfo', + 'query', + variables, + ); + }, + transactionsFeeStatistics( + variables?: GQLTransactionsFeeStatisticsQueryVariables, + requestHeaders?: GraphQLClientRequestHeaders, + ): Promise<{ + data: GQLTransactionsFeeStatisticsQuery; + errors?: GraphQLError[]; + extensions?: any; + headers: Headers; + status: number; + }> { + return withWrapper( + (wrappedRequestHeaders) => + client.rawRequest( + TransactionsFeeStatisticsDocumentString, + variables, + { ...requestHeaders, ...wrappedRequestHeaders }, + ), + 'transactionsFeeStatistics', + 'query', + variables, + ); }, - nodeInfo(variables?: GQLNodeInfoQueryVariables, requestHeaders?: GraphQLClientRequestHeaders): Promise<{ data: GQLNodeInfoQuery; errors?: GraphQLError[]; extensions?: any; headers: Headers; status: number; }> { - return withWrapper((wrappedRequestHeaders) => client.rawRequest(NodeInfoDocumentString, variables, {...requestHeaders, ...wrappedRequestHeaders}), 'nodeInfo', 'query', variables); - } }; } -export type Sdk = ReturnType; \ No newline at end of file +export type Sdk = ReturnType; diff --git a/packages/graphql/src/graphql/generated/sdk.ts b/packages/graphql/src/graphql/generated/sdk.ts index 1bcc6f00e..74d535b11 100644 --- a/packages/graphql/src/graphql/generated/sdk.ts +++ b/packages/graphql/src/graphql/generated/sdk.ts @@ -113,6 +113,19 @@ export type GQLBlockEdge = { node: GQLBlock; }; +export type GQLBlockReward = { + __typename: 'BlockReward'; + id: Scalars['BlockId']['output']; + reward: Scalars['U64']['output']; + timestamp: Scalars['String']['output']; +}; + +export type GQLBlockRewardConnection = { + __typename: 'BlockRewardConnection'; + /** A list of nodes. */ + nodes?: Maybe>; +}; + export enum GQLBlockVersion { V1 = 'V1', } @@ -941,6 +954,7 @@ export type GQLQuery = { balance: GQLBalance; balances: GQLBalanceConnection; block?: Maybe; + blockRewardStatistics: GQLBlockRewardConnection; blocks: GQLBlockConnection; chain: GQLChainInfo; /** Gets the coin by `utxo_id`. */ @@ -985,6 +999,7 @@ export type GQLQuery = { transaction?: Maybe; transactions: GQLTransactionConnection; transactionsByOwner: GQLTransactionConnection; + transactionsFeeStatistics: GQLTransactionFeeConnection; }; export type GQLQueryBalanceArgs = { @@ -1005,6 +1020,10 @@ export type GQLQueryBlockArgs = { id?: InputMaybe; }; +export type GQLQueryBlockRewardStatisticsArgs = { + timeFilter?: InputMaybe; +}; + export type GQLQueryBlocksArgs = { after?: InputMaybe; before?: InputMaybe; @@ -1127,6 +1146,10 @@ export type GQLQueryTransactionsByOwnerArgs = { owner: Scalars['Address']['input']; }; +export type GQLQueryTransactionsFeeStatisticsArgs = { + timeFilter?: InputMaybe; +}; + export type GQLReceipt = { __typename: 'Receipt'; amount?: Maybe; @@ -1377,6 +1400,18 @@ export type GQLTransactionEdge = { node: GQLTransaction; }; +export type GQLTransactionFee = { + __typename: 'TransactionFee'; + fee: Scalars['U64']['output']; + timestamp: Scalars['String']['output']; +}; + +export type GQLTransactionFeeConnection = { + __typename: 'TransactionFeeConnection'; + /** A list of nodes. */ + nodes?: Maybe>; +}; + export type GQLTransactionGasCosts = { __typename: 'TransactionGasCosts'; fee?: Maybe; @@ -1544,6 +1579,23 @@ export type GQLBlockQuery = { } | null; }; +export type GQLBlockRewardStatisticsQueryVariables = Exact<{ + timeFilter?: InputMaybe; +}>; + +export type GQLBlockRewardStatisticsQuery = { + __typename: 'Query'; + blockRewardStatistics: { + __typename: 'BlockRewardConnection'; + nodes?: Array<{ + __typename: 'BlockReward'; + id: string; + reward: string; + timestamp: string; + }> | null; + }; +}; + export type GQLChainQueryVariables = Exact<{ [key: string]: never }>; export type GQLChainQuery = { @@ -3229,6 +3281,22 @@ export type GQLTransactionsByOwnerQuery = { }; }; +export type GQLTransactionsFeeStatisticsQueryVariables = Exact<{ + timeFilter?: InputMaybe; +}>; + +export type GQLTransactionsFeeStatisticsQuery = { + __typename: 'Query'; + transactionsFeeStatistics: { + __typename: 'TransactionFeeConnection'; + nodes?: Array<{ + __typename: 'TransactionFee'; + fee: string; + timestamp: string; + }> | null; + }; +}; + type GQLTransactionStatus_FailureStatus_Fragment = { __typename: 'FailureStatus'; time: string; @@ -4776,6 +4844,17 @@ export const BlockDocument = gql` } } ${BlockFragmentDoc}`; +export const BlockRewardStatisticsDocument = gql` + query blockRewardStatistics($timeFilter: String) { + blockRewardStatistics(timeFilter: $timeFilter) { + nodes { + id + reward + timestamp + } + } +} + `; export const ChainDocument = gql` query chain { chain { @@ -6165,6 +6244,16 @@ export const TransactionsByOwnerDocument = gql` } } ${RecentTransactionFragmentDoc}`; +export const TransactionsFeeStatisticsDocument = gql` + query transactionsFeeStatistics($timeFilter: String) { + transactionsFeeStatistics(timeFilter: $timeFilter) { + nodes { + fee + timestamp + } + } +} + `; export type SdkFunctionWrapper = ( action: (requestHeaders?: Record) => Promise, @@ -6181,6 +6270,9 @@ const defaultWrapper: SdkFunctionWrapper = ( ) => action(); const BalancesDocumentString = print(BalancesDocument); const BlockDocumentString = print(BlockDocument); +const BlockRewardStatisticsDocumentString = print( + BlockRewardStatisticsDocument, +); const ChainDocumentString = print(ChainDocument); const CoinsDocumentString = print(CoinsDocument); const ContractDocumentString = print(ContractDocument); @@ -6190,6 +6282,9 @@ const RecentTransactionsDocumentString = print(RecentTransactionsDocument); const SearchDocumentString = print(SearchDocument); const TransactionDetailsDocumentString = print(TransactionDetailsDocument); const TransactionsByOwnerDocumentString = print(TransactionsByOwnerDocument); +const TransactionsFeeStatisticsDocumentString = print( + TransactionsFeeStatisticsDocument, +); export function getSdk( client: GraphQLClient, withWrapper: SdkFunctionWrapper = defaultWrapper, @@ -6238,6 +6333,28 @@ export function getSdk( variables, ); }, + blockRewardStatistics( + variables?: GQLBlockRewardStatisticsQueryVariables, + requestHeaders?: GraphQLClientRequestHeaders, + ): Promise<{ + data: GQLBlockRewardStatisticsQuery; + errors?: GraphQLError[]; + extensions?: any; + headers: Headers; + status: number; + }> { + return withWrapper( + (wrappedRequestHeaders) => + client.rawRequest( + BlockRewardStatisticsDocumentString, + variables, + { ...requestHeaders, ...wrappedRequestHeaders }, + ), + 'blockRewardStatistics', + 'query', + variables, + ); + }, chain( variables?: GQLChainQueryVariables, requestHeaders?: GraphQLClientRequestHeaders, @@ -6433,6 +6550,28 @@ export function getSdk( variables, ); }, + transactionsFeeStatistics( + variables?: GQLTransactionsFeeStatisticsQueryVariables, + requestHeaders?: GraphQLClientRequestHeaders, + ): Promise<{ + data: GQLTransactionsFeeStatisticsQuery; + errors?: GraphQLError[]; + extensions?: any; + headers: Headers; + status: number; + }> { + return withWrapper( + (wrappedRequestHeaders) => + client.rawRequest( + TransactionsFeeStatisticsDocumentString, + variables, + { ...requestHeaders, ...wrappedRequestHeaders }, + ), + 'transactionsFeeStatistics', + 'query', + variables, + ); + }, }; } export type Sdk = ReturnType; diff --git a/packages/ui/src/components/Box/RoundedContainer.tsx b/packages/ui/src/components/Box/RoundedContainer.tsx new file mode 100644 index 000000000..c652a60d2 --- /dev/null +++ b/packages/ui/src/components/Box/RoundedContainer.tsx @@ -0,0 +1,25 @@ +import { Box as RadixBox } from '@radix-ui/themes'; + +import { tv } from 'tailwind-variants'; +import { createComponent } from '../../utils/component'; +import type { PropsOf, WithAsProps } from '../../utils/types'; + +export type RoundedContainerProps = WithAsProps & PropsOf; + +const styles = tv({ + slots: { + root: 'rounded-[13px] p-4 bg-white dark:bg-card-bg', + }, +}); + +export const RoundedContainer = createComponent< + RoundedContainerProps, + typeof RadixBox +>({ + id: 'RoundedContainer', + baseElement: RadixBox, + className: ({ className }) => styles().root({ className }), + render: (Comp, { children, ...props }) => { + return {children}; + }, +}); diff --git a/packages/ui/src/components/Box/index.tsx b/packages/ui/src/components/Box/index.tsx index d0dc5bdda..392656237 100644 --- a/packages/ui/src/components/Box/index.tsx +++ b/packages/ui/src/components/Box/index.tsx @@ -15,3 +15,6 @@ export type { VStackProps } from './VStack'; export { HStack } from './HStack'; export type { HStackProps } from './HStack'; + +export { RoundedContainer } from './RoundedContainer'; +export type { RoundedContainerProps } from './RoundedContainer'; diff --git a/packages/ui/src/components/Charts/Charts.tsx b/packages/ui/src/components/Charts/Charts.tsx new file mode 100644 index 000000000..53431a871 --- /dev/null +++ b/packages/ui/src/components/Charts/Charts.tsx @@ -0,0 +1,366 @@ +'use client'; + +import * as React from 'react'; +import * as RechartsPrimitive from 'recharts'; + +import { cx } from '../../utils/css'; + +// Format: { THEME_NAME: CSS_SELECTOR } +const THEMES = { light: '', dark: '.dark' } as const; + +export type ChartConfig = { + [k in string]: { + label?: React.ReactNode; + icon?: React.ComponentType; + } & ( + | { color?: string; theme?: never } + | { color?: never; theme: Record } + ); +}; + +type ChartContextProps = { + config: ChartConfig; +}; + +const ChartContext = React.createContext(null); + +function useChart() { + const context = React.useContext(ChartContext); + + if (!context) { + throw new Error('useChart must be used within a '); + } + + return context; +} + +const ChartContainer = React.forwardRef< + HTMLDivElement, + React.ComponentProps<'div'> & { + config: ChartConfig; + children: React.ComponentProps< + typeof RechartsPrimitive.ResponsiveContainer + >['children']; + } +>(({ id, className, children, config, ...props }, ref) => { + const uniqueId = React.useId(); + const chartId = `chart-${id || uniqueId.replace(/:/g, '')}`; + + return ( + +
+ + + {children} + +
+
+ ); +}); +ChartContainer.displayName = 'Chart'; + +const ChartStyle = ({ id, config }: { id: string; config: ChartConfig }) => { + const colorConfig = Object.entries(config).filter( + ([_, config]) => config.theme || config.color, + ); + + if (!colorConfig.length) { + return null; + } + + return ( +