From a57d4844968a9585e1866ba1cbe0bc5069623b9e Mon Sep 17 00:00:00 2001 From: botond <105208209+notbot00@users.noreply.github.com> Date: Tue, 6 Sep 2022 10:03:10 +0100 Subject: [PATCH] Fix/1083: Update type generator (#1219) * feat: add new generator with config * feat: split off gql queries to separate files for the new generator * fix: delete dummy schema * feat: add generated queries with new codegen * fix: regenerate from scratch and remove duplicates * fix: libs and app gen folders * fix: remove more duplicate queries * fix: add generated files to be ignored by the formatter * fix: format * fix: generated imports * fix: lint * fix: accounts export * fix: more imports * fix: add type alias for new type system and regenerate * fix: format * fix: delete leftover file from merge --- .prettierignore | 1 + README.md | 2 +- apps/console-lite/.eslintrc.json | 2 +- .../components/deal-ticket/MarketTags.graphql | 11 + .../deal-ticket/PartyBalance.graphql | 14 + .../deal-ticket/__generated___/MarketTags.ts | 54 + .../__generated___/PartyBalance.ts | 57 + .../app/components/deposits/Deposits.graphql | 17 + .../deposits/__generated___/Deposits.ts | 57 + .../simple-market-list/Candles.graphql | 5 + .../simple-market-list/SimpleMarkets.graphql | 44 + .../__generated___/Candles.ts | 43 + .../__generated___/SimpleMarkets.ts | 117 + .../src/app/hooks/EstimateOrder.graphql | 30 + .../src/app/hooks/MarketMarkPrice.graphql | 8 + .../src/app/hooks/MarketPositions.graphql | 25 + .../src/app/hooks/PartyMarketData.graphql | 28 + .../app/hooks/__generated___/EstimateOrder.ts | 78 + .../hooks/__generated___/MarketMarkPrice.ts | 51 + .../hooks/__generated___/MarketPositions.ts | 68 + .../hooks/__generated___/PartyMarketData.ts | 71 + apps/explorer/.eslintrc.json | 2 +- .../src/app/routes/assets/Assets.graphql | 27 + .../routes/assets/__generated___/Assets.ts | 67 + .../app/routes/governance/Proposals.graphql | 74 + .../governance/__generated___/Proposals.ts | 114 + .../src/app/routes/markets/Markets.graphql | 134 + .../routes/markets/__generated___/Markets.ts | 174 + .../NetworkParameters.graphql | 6 + .../__generated___/NetworkParameters.ts | 46 + .../app/routes/oracles/OracleSpecs.graphql | 22 + .../oracles/__generated___/OracleSpecs.ts | 62 + .../app/routes/parties/PartyAssets.graphql | 32 + .../parties/__generated___/PartyAssets.ts | 75 + .../src/app/routes/validators/Nodes.graphql | 23 + .../routes/validators/__generated___/Nodes.ts | 63 + apps/token/.eslintrc.json | 2 +- apps/token/client.graphql | 43 + .../vega-wallet/Delegations.graphql | 37 + .../vega-wallet/__generated__/Delegations.ts | 6 + .../__generated__/PartyDelegations.ts | 52 - .../vega-wallet/__generated___/Delegations.ts | 80 + apps/token/src/hooks/NetworkParams.graphql | 6 + .../hooks/__generated__/Erc20ApprovalPoll.ts | 48 - .../src/hooks/__generated__/WithdrawalPoll.ts | 93 - .../src/hooks/__generated___/NetworkParams.ts | 46 + .../src/routes/governance/Proposal.graphql | 96 + .../governance/__generated___/Proposal.ts | 174 + .../components/vote-details/Stake.graphql | 9 + .../vote-details/__generated__/VoteButtons.ts | 3 + .../vote-details/__generated___/Stake.ts | 52 + apps/token/src/routes/home/NodeData.graphql | 6 + .../src/routes/home/__generated__/NodeData.ts | 3 + .../routes/home/__generated___/NodeData.ts | 46 + .../src/routes/rewards/home/Rewards.graphql | 42 + .../rewards/home/__generated__/Epoch.ts | 43 - .../rewards/home/__generated__/Rewards.ts | 9 + .../rewards/home/__generated___/Rewards.ts | 85 + apps/token/src/routes/staking/Nodes.graphql | 23 + .../routes/staking/PartyDelegations.graphql | 16 + apps/token/src/routes/staking/Staking.graphql | 62 + .../src/routes/staking/__generated__/Nodes.ts | 9 + .../staking/__generated__/PartyDelegations.ts | 3 + .../routes/staking/__generated__/Staking.ts | 21 + .../routes/staking/__generated___/Nodes.ts | 63 + .../__generated___/PartyDelegations.ts | 59 + .../routes/staking/__generated___/Staking.ts | 105 + .../associate/PartyStakeLinkings.graphql | 12 + .../__generated___/PartyStakeLinkings.ts | 55 + apps/trading/.eslintrc.json | 2 +- apps/trading/pages/markets/Market.graphql | 59 + .../pages/markets/__generated___/Market.ts | 106 + .../pages/portfolio/deposit/Deposit.graphql | 17 + .../deposit/__generated___/Deposit.ts | 57 + libs/accounts/.eslintrc.json | 2 +- libs/accounts/src/lib/Accounts.graphql | 34 + libs/accounts/src/lib/__generated__/index.ts | 3 - .../src/lib/__generated___/Accounts.ts | 110 + libs/accounts/src/lib/index.ts | 4 +- libs/assets/.eslintrc.json | 2 +- libs/assets/src/lib/Assets.graphql | 20 + libs/assets/src/lib/__generated___/Assets.ts | 60 + libs/assets/src/lib/index.ts | 1 + libs/candles-chart/.eslintrc.json | 2 +- libs/candles-chart/src/lib/Candles.graphql | 31 + libs/candles-chart/src/lib/Chart.graphql | 12 + .../src/lib/__generated__/index.ts | 4 - .../src/lib/__generated___/Candles.ts | 113 + .../src/lib/__generated___/Chart.ts | 55 + libs/candles-chart/src/lib/index.ts | 5 +- libs/deal-ticket/.eslintrc.json | 2 +- .../src/components/DealTicket.graphql | 30 + .../src/components/MarketInfo.graphql | 139 + .../src/components/MarketNames.graphql | 20 + .../src/components/__generated__/index.ts | 3 - .../components/__generated___/DealTicket.ts | 73 + .../components/__generated___/MarketInfo.ts | 186 + .../components/__generated___/MarketNames.ts | 60 + .../src/components/deal-ticket-container.tsx | 2 +- libs/deal-ticket/src/components/index.ts | 4 +- .../src/components/info-market.tsx | 2 +- .../src/components/market-selector.tsx | 2 +- libs/deposits/.eslintrc.json | 2 +- libs/deposits/src/lib/Deposit.graphql | 11 + .../src/lib/__generated___/Deposit.ts | 49 + libs/environment/.eslintrc.json | 2 +- libs/fills/.eslintrc.json | 2 +- libs/fills/src/lib/Fills.graphql | 72 + libs/fills/src/lib/__generated___/Fills.ts | 152 + libs/governance/.eslintrc.json | 2 +- .../src/lib/proposals-hooks/Proposal.graphql | 14 + .../__generated___/Proposal.ts | 52 + libs/market-depth/.eslintrc.json | 2 +- libs/market-depth/src/lib/MarketDepth.graphql | 65 + .../src/lib/__generated__/index.ts | 2 - .../src/lib/__generated___/MarketDepth.ts | 139 + libs/market-depth/src/lib/index.ts | 3 +- .../src/lib/use-orderbook-data.spec.tsx | 5 +- .../src/lib/use-orderbook-data.ts | 2 +- libs/market-list/.eslintrc.json | 2 +- libs/market-list/src/lib/MarketData.graphql | 75 + .../src/lib/__generated__/index.ts | 3 - .../src/lib/__generated___/MarketData.ts | 150 + .../markets-container/market-list-table.tsx | 2 +- .../markets-container/markets-container.tsx | 2 +- .../src/lib/components/select-market.tsx | 2 +- libs/market-list/src/lib/index.ts | 4 +- .../src/lib/markets-data-provider.ts | 2 +- libs/network-stats/.eslintrc.json | 2 +- .../components/stats-manager/Stats.graphql | 23 + .../stats-manager/__generated___/Stats.ts | 63 + libs/orders/.eslintrc.json | 2 +- .../__generated__/index.ts | 3 - .../components/order-data-provider/index.ts | 4 +- .../order-feedback/order-feedback.tsx | 2 +- .../lib/components/order-list/order-list.tsx | 2 +- .../orders/src/lib/order-hooks/Orders.graphql | 78 + .../lib/order-hooks/__generated__/index.ts | 1 - .../lib/order-hooks/__generated___/Orders.ts | 187 + libs/orders/src/lib/order-hooks/index.ts | 2 +- .../lib/order-hooks/use-order-cancel.spec.tsx | 5 +- .../src/lib/order-hooks/use-order-cancel.tsx | 2 +- .../lib/order-hooks/use-order-edit.spec.tsx | 5 +- .../src/lib/order-hooks/use-order-edit.tsx | 2 +- .../src/lib/order-hooks/use-order-event.ts | 2 +- .../lib/order-hooks/use-order-submit.spec.tsx | 5 +- .../src/lib/order-hooks/use-order-submit.tsx | 2 +- libs/positions/.eslintrc.json | 2 +- libs/positions/src/lib/Positions.graphql | 60 + .../src/lib/__generated___/Positions.ts | 136 + libs/trades/.eslintrc.json | 2 +- libs/trades/src/lib/Trades.graphql | 37 + libs/trades/src/lib/__generated___/Trades.ts | 115 + libs/types/.env | 2 +- libs/types/.eslintrc.json | 2 +- libs/types/apollo.config.js | 11 +- libs/types/codegen.yml | 29 + libs/types/project.json | 1 + libs/types/src/__generated__/index.ts | 1 - libs/types/src/__generated__/types.ts | 4177 +++++++++++++++++ libs/types/src/index.ts | 5 +- libs/wallet/.eslintrc.json | 2 +- libs/web3/.eslintrc.json | 2 +- libs/web3/src/lib/NetworkParams.graphql | 6 + .../src/lib/__generated___/NetworkParams.ts | 46 + libs/withdraws/.eslintrc.json | 2 +- libs/withdraws/src/lib/Erc20Approval.graphql | 11 + libs/withdraws/src/lib/Withdraw.graphql | 32 + libs/withdraws/src/lib/Withdrawal.graphql | 38 + .../src/lib/__generated___/Erc20Approval.ts | 54 + .../src/lib/__generated___/Withdraw.ts | 75 + .../src/lib/__generated___/Withdrawal.ts | 114 + package.json | 7 + tsconfig.base.json | 1 + yarn.lock | 1654 ++++++- 175 files changed, 11763 insertions(+), 406 deletions(-) create mode 100644 apps/console-lite/src/app/components/deal-ticket/MarketTags.graphql create mode 100644 apps/console-lite/src/app/components/deal-ticket/PartyBalance.graphql create mode 100644 apps/console-lite/src/app/components/deal-ticket/__generated___/MarketTags.ts create mode 100644 apps/console-lite/src/app/components/deal-ticket/__generated___/PartyBalance.ts create mode 100644 apps/console-lite/src/app/components/deposits/Deposits.graphql create mode 100644 apps/console-lite/src/app/components/deposits/__generated___/Deposits.ts create mode 100644 apps/console-lite/src/app/components/simple-market-list/Candles.graphql create mode 100644 apps/console-lite/src/app/components/simple-market-list/SimpleMarkets.graphql create mode 100644 apps/console-lite/src/app/components/simple-market-list/__generated___/Candles.ts create mode 100644 apps/console-lite/src/app/components/simple-market-list/__generated___/SimpleMarkets.ts create mode 100644 apps/console-lite/src/app/hooks/EstimateOrder.graphql create mode 100644 apps/console-lite/src/app/hooks/MarketMarkPrice.graphql create mode 100644 apps/console-lite/src/app/hooks/MarketPositions.graphql create mode 100644 apps/console-lite/src/app/hooks/PartyMarketData.graphql create mode 100644 apps/console-lite/src/app/hooks/__generated___/EstimateOrder.ts create mode 100644 apps/console-lite/src/app/hooks/__generated___/MarketMarkPrice.ts create mode 100644 apps/console-lite/src/app/hooks/__generated___/MarketPositions.ts create mode 100644 apps/console-lite/src/app/hooks/__generated___/PartyMarketData.ts create mode 100644 apps/explorer/src/app/routes/assets/Assets.graphql create mode 100644 apps/explorer/src/app/routes/assets/__generated___/Assets.ts create mode 100644 apps/explorer/src/app/routes/governance/Proposals.graphql create mode 100644 apps/explorer/src/app/routes/governance/__generated___/Proposals.ts create mode 100644 apps/explorer/src/app/routes/markets/Markets.graphql create mode 100644 apps/explorer/src/app/routes/markets/__generated___/Markets.ts create mode 100644 apps/explorer/src/app/routes/network-parameters/NetworkParameters.graphql create mode 100644 apps/explorer/src/app/routes/network-parameters/__generated___/NetworkParameters.ts create mode 100644 apps/explorer/src/app/routes/oracles/OracleSpecs.graphql create mode 100644 apps/explorer/src/app/routes/oracles/__generated___/OracleSpecs.ts create mode 100644 apps/explorer/src/app/routes/parties/PartyAssets.graphql create mode 100644 apps/explorer/src/app/routes/parties/__generated___/PartyAssets.ts create mode 100644 apps/explorer/src/app/routes/validators/Nodes.graphql create mode 100644 apps/explorer/src/app/routes/validators/__generated___/Nodes.ts create mode 100644 apps/token/client.graphql create mode 100644 apps/token/src/components/vega-wallet/Delegations.graphql delete mode 100644 apps/token/src/components/vega-wallet/__generated__/PartyDelegations.ts create mode 100644 apps/token/src/components/vega-wallet/__generated___/Delegations.ts create mode 100644 apps/token/src/hooks/NetworkParams.graphql delete mode 100644 apps/token/src/hooks/__generated__/Erc20ApprovalPoll.ts delete mode 100644 apps/token/src/hooks/__generated__/WithdrawalPoll.ts create mode 100644 apps/token/src/hooks/__generated___/NetworkParams.ts create mode 100644 apps/token/src/routes/governance/Proposal.graphql create mode 100644 apps/token/src/routes/governance/__generated___/Proposal.ts create mode 100644 apps/token/src/routes/governance/components/vote-details/Stake.graphql create mode 100644 apps/token/src/routes/governance/components/vote-details/__generated___/Stake.ts create mode 100644 apps/token/src/routes/home/NodeData.graphql create mode 100644 apps/token/src/routes/home/__generated___/NodeData.ts create mode 100644 apps/token/src/routes/rewards/home/Rewards.graphql delete mode 100644 apps/token/src/routes/rewards/home/__generated__/Epoch.ts create mode 100644 apps/token/src/routes/rewards/home/__generated___/Rewards.ts create mode 100644 apps/token/src/routes/staking/Nodes.graphql create mode 100644 apps/token/src/routes/staking/PartyDelegations.graphql create mode 100644 apps/token/src/routes/staking/Staking.graphql create mode 100644 apps/token/src/routes/staking/__generated___/Nodes.ts create mode 100644 apps/token/src/routes/staking/__generated___/PartyDelegations.ts create mode 100644 apps/token/src/routes/staking/__generated___/Staking.ts create mode 100644 apps/token/src/routes/staking/associate/PartyStakeLinkings.graphql create mode 100644 apps/token/src/routes/staking/associate/__generated___/PartyStakeLinkings.ts create mode 100644 apps/trading/pages/markets/Market.graphql create mode 100644 apps/trading/pages/markets/__generated___/Market.ts create mode 100644 apps/trading/pages/portfolio/deposit/Deposit.graphql create mode 100644 apps/trading/pages/portfolio/deposit/__generated___/Deposit.ts create mode 100644 libs/accounts/src/lib/Accounts.graphql delete mode 100644 libs/accounts/src/lib/__generated__/index.ts create mode 100644 libs/accounts/src/lib/__generated___/Accounts.ts create mode 100644 libs/assets/src/lib/Assets.graphql create mode 100644 libs/assets/src/lib/__generated___/Assets.ts create mode 100644 libs/candles-chart/src/lib/Candles.graphql create mode 100644 libs/candles-chart/src/lib/Chart.graphql delete mode 100644 libs/candles-chart/src/lib/__generated__/index.ts create mode 100644 libs/candles-chart/src/lib/__generated___/Candles.ts create mode 100644 libs/candles-chart/src/lib/__generated___/Chart.ts create mode 100644 libs/deal-ticket/src/components/DealTicket.graphql create mode 100644 libs/deal-ticket/src/components/MarketInfo.graphql create mode 100644 libs/deal-ticket/src/components/MarketNames.graphql delete mode 100644 libs/deal-ticket/src/components/__generated__/index.ts create mode 100644 libs/deal-ticket/src/components/__generated___/DealTicket.ts create mode 100644 libs/deal-ticket/src/components/__generated___/MarketInfo.ts create mode 100644 libs/deal-ticket/src/components/__generated___/MarketNames.ts create mode 100644 libs/deposits/src/lib/Deposit.graphql create mode 100644 libs/deposits/src/lib/__generated___/Deposit.ts create mode 100644 libs/fills/src/lib/Fills.graphql create mode 100644 libs/fills/src/lib/__generated___/Fills.ts create mode 100644 libs/governance/src/lib/proposals-hooks/Proposal.graphql create mode 100644 libs/governance/src/lib/proposals-hooks/__generated___/Proposal.ts create mode 100644 libs/market-depth/src/lib/MarketDepth.graphql delete mode 100644 libs/market-depth/src/lib/__generated__/index.ts create mode 100644 libs/market-depth/src/lib/__generated___/MarketDepth.ts create mode 100644 libs/market-list/src/lib/MarketData.graphql delete mode 100644 libs/market-list/src/lib/__generated__/index.ts create mode 100644 libs/market-list/src/lib/__generated___/MarketData.ts create mode 100644 libs/network-stats/src/components/stats-manager/Stats.graphql create mode 100644 libs/network-stats/src/components/stats-manager/__generated___/Stats.ts delete mode 100644 libs/orders/src/lib/components/order-data-provider/__generated__/index.ts create mode 100644 libs/orders/src/lib/order-hooks/Orders.graphql delete mode 100644 libs/orders/src/lib/order-hooks/__generated__/index.ts create mode 100644 libs/orders/src/lib/order-hooks/__generated___/Orders.ts create mode 100644 libs/positions/src/lib/Positions.graphql create mode 100644 libs/positions/src/lib/__generated___/Positions.ts create mode 100644 libs/trades/src/lib/Trades.graphql create mode 100644 libs/trades/src/lib/__generated___/Trades.ts create mode 100644 libs/types/codegen.yml delete mode 100644 libs/types/src/__generated__/index.ts create mode 100644 libs/types/src/__generated__/types.ts create mode 100644 libs/web3/src/lib/NetworkParams.graphql create mode 100644 libs/web3/src/lib/__generated___/NetworkParams.ts create mode 100644 libs/withdraws/src/lib/Erc20Approval.graphql create mode 100644 libs/withdraws/src/lib/Withdraw.graphql create mode 100644 libs/withdraws/src/lib/Withdrawal.graphql create mode 100644 libs/withdraws/src/lib/__generated___/Erc20Approval.ts create mode 100644 libs/withdraws/src/lib/__generated___/Withdraw.ts create mode 100644 libs/withdraws/src/lib/__generated___/Withdrawal.ts diff --git a/.prettierignore b/.prettierignore index 6b83ad2e8..344ebc105 100644 --- a/.prettierignore +++ b/.prettierignore @@ -3,6 +3,7 @@ /dist /coverage __generated__ +__generated___ apps/static/src/assets/devnet-tranches.json apps/static/src/assets/mainnet-tranches.json diff --git a/README.md b/README.md index 8d68ec8ad..e22e0863e 100644 --- a/README.md +++ b/README.md @@ -69,7 +69,7 @@ Run `nx serve my-app` for a dev server. Navigate to the port specified in `app/< ### Using Apollo GraphQL and Generate Types -In order to generate the schemas for your GraphQL queries, you can run `NX_VEGA_URL=[YOUR URL HERE] nx run types:generate`. +In order to generate the schemas for your GraphQL queries, you can run `GRAPHQL_SCHEMA_PATH=[YOUR SCHEMA FILE / API URL HERE] nx run types:generate`. ```bash export NX_VEGA_URL=https://api.n11.testnet.vega.xyz/graphql diff --git a/apps/console-lite/.eslintrc.json b/apps/console-lite/.eslintrc.json index db820c5d0..de2a9b877 100644 --- a/apps/console-lite/.eslintrc.json +++ b/apps/console-lite/.eslintrc.json @@ -1,6 +1,6 @@ { "extends": ["plugin:@nrwl/nx/react", "../../.eslintrc.json"], - "ignorePatterns": ["!**/*", "__generated__"], + "ignorePatterns": ["!**/*", "__generated__", "__generated___"], "overrides": [ { "files": ["*.ts", "*.tsx", "*.js", "*.jsx"], diff --git a/apps/console-lite/src/app/components/deal-ticket/MarketTags.graphql b/apps/console-lite/src/app/components/deal-ticket/MarketTags.graphql new file mode 100644 index 000000000..5026d5bd5 --- /dev/null +++ b/apps/console-lite/src/app/components/deal-ticket/MarketTags.graphql @@ -0,0 +1,11 @@ +query MarketTags($marketId: ID!) { + market(id: $marketId) { + tradableInstrument { + instrument { + metadata { + tags + } + } + } + } +} diff --git a/apps/console-lite/src/app/components/deal-ticket/PartyBalance.graphql b/apps/console-lite/src/app/components/deal-ticket/PartyBalance.graphql new file mode 100644 index 000000000..fc75976c0 --- /dev/null +++ b/apps/console-lite/src/app/components/deal-ticket/PartyBalance.graphql @@ -0,0 +1,14 @@ +query PartyBalanceQuery($partyId: ID!) { + party(id: $partyId) { + accounts { + type + balance + asset { + id + symbol + name + decimals + } + } + } +} diff --git a/apps/console-lite/src/app/components/deal-ticket/__generated___/MarketTags.ts b/apps/console-lite/src/app/components/deal-ticket/__generated___/MarketTags.ts new file mode 100644 index 000000000..99e0ebbc4 --- /dev/null +++ b/apps/console-lite/src/app/components/deal-ticket/__generated___/MarketTags.ts @@ -0,0 +1,54 @@ +import * as Types from '@vegaprotocol/types/types'; + +import { gql } from '@apollo/client'; +import * as Apollo from '@apollo/client'; +const defaultOptions = {} as const; +export type MarketTagsQueryVariables = Types.Exact<{ + marketId: Types.Scalars['ID']; +}>; + + +export type MarketTagsQuery = { __typename?: 'Query', market?: { __typename?: 'Market', tradableInstrument: { __typename?: 'TradableInstrument', instrument: { __typename?: 'Instrument', metadata: { __typename?: 'InstrumentMetadata', tags?: Array | null } } } } | null }; + + +export const MarketTagsDocument = gql` + query MarketTags($marketId: ID!) { + market(id: $marketId) { + tradableInstrument { + instrument { + metadata { + tags + } + } + } + } +} + `; + +/** + * __useMarketTagsQuery__ + * + * To run a query within a React component, call `useMarketTagsQuery` and pass it any options that fit your needs. + * When your component renders, `useMarketTagsQuery` returns an object from Apollo Client that contains loading, error, and data properties + * you can use to render your UI. + * + * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options; + * + * @example + * const { data, loading, error } = useMarketTagsQuery({ + * variables: { + * marketId: // value for 'marketId' + * }, + * }); + */ +export function useMarketTagsQuery(baseOptions: Apollo.QueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useQuery(MarketTagsDocument, options); + } +export function useMarketTagsLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useLazyQuery(MarketTagsDocument, options); + } +export type MarketTagsQueryHookResult = ReturnType; +export type MarketTagsLazyQueryHookResult = ReturnType; +export type MarketTagsQueryResult = Apollo.QueryResult; \ No newline at end of file diff --git a/apps/console-lite/src/app/components/deal-ticket/__generated___/PartyBalance.ts b/apps/console-lite/src/app/components/deal-ticket/__generated___/PartyBalance.ts new file mode 100644 index 000000000..37892e30e --- /dev/null +++ b/apps/console-lite/src/app/components/deal-ticket/__generated___/PartyBalance.ts @@ -0,0 +1,57 @@ +import * as Types from '@vegaprotocol/types/types'; + +import { gql } from '@apollo/client'; +import * as Apollo from '@apollo/client'; +const defaultOptions = {} as const; +export type PartyBalanceQueryQueryVariables = Types.Exact<{ + partyId: Types.Scalars['ID']; +}>; + + +export type PartyBalanceQueryQuery = { __typename?: 'Query', party?: { __typename?: 'Party', accounts?: Array<{ __typename?: 'Account', type: Types.AccountType, balance: string, asset: { __typename?: 'Asset', id: string, symbol: string, name: string, decimals: number } }> | null } | null }; + + +export const PartyBalanceQueryDocument = gql` + query PartyBalanceQuery($partyId: ID!) { + party(id: $partyId) { + accounts { + type + balance + asset { + id + symbol + name + decimals + } + } + } +} + `; + +/** + * __usePartyBalanceQueryQuery__ + * + * To run a query within a React component, call `usePartyBalanceQueryQuery` and pass it any options that fit your needs. + * When your component renders, `usePartyBalanceQueryQuery` returns an object from Apollo Client that contains loading, error, and data properties + * you can use to render your UI. + * + * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options; + * + * @example + * const { data, loading, error } = usePartyBalanceQueryQuery({ + * variables: { + * partyId: // value for 'partyId' + * }, + * }); + */ +export function usePartyBalanceQueryQuery(baseOptions: Apollo.QueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useQuery(PartyBalanceQueryDocument, options); + } +export function usePartyBalanceQueryLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useLazyQuery(PartyBalanceQueryDocument, options); + } +export type PartyBalanceQueryQueryHookResult = ReturnType; +export type PartyBalanceQueryLazyQueryHookResult = ReturnType; +export type PartyBalanceQueryQueryResult = Apollo.QueryResult; \ No newline at end of file diff --git a/apps/console-lite/src/app/components/deposits/Deposits.graphql b/apps/console-lite/src/app/components/deposits/Deposits.graphql new file mode 100644 index 000000000..a60049458 --- /dev/null +++ b/apps/console-lite/src/app/components/deposits/Deposits.graphql @@ -0,0 +1,17 @@ +query Deposits { + assetsConnection { + edges { + node { + id + name + symbol + decimals + source { + ... on ERC20 { + contractAddress + } + } + } + } + } +} diff --git a/apps/console-lite/src/app/components/deposits/__generated___/Deposits.ts b/apps/console-lite/src/app/components/deposits/__generated___/Deposits.ts new file mode 100644 index 000000000..8e8972412 --- /dev/null +++ b/apps/console-lite/src/app/components/deposits/__generated___/Deposits.ts @@ -0,0 +1,57 @@ +import * as Types from '@vegaprotocol/types/types'; + +import { gql } from '@apollo/client'; +import * as Apollo from '@apollo/client'; +const defaultOptions = {} as const; +export type DepositsQueryVariables = Types.Exact<{ [key: string]: never; }>; + + +export type DepositsQuery = { __typename?: 'Query', assetsConnection: { __typename?: 'AssetsConnection', edges?: Array<{ __typename?: 'AssetEdge', node: { __typename?: 'Asset', id: string, name: string, symbol: string, decimals: number, source: { __typename?: 'BuiltinAsset' } | { __typename?: 'ERC20', contractAddress: string } } } | null> | null } }; + + +export const DepositsDocument = gql` + query Deposits { + assetsConnection { + edges { + node { + id + name + symbol + decimals + source { + ... on ERC20 { + contractAddress + } + } + } + } + } +} + `; + +/** + * __useDepositsQuery__ + * + * To run a query within a React component, call `useDepositsQuery` and pass it any options that fit your needs. + * When your component renders, `useDepositsQuery` returns an object from Apollo Client that contains loading, error, and data properties + * you can use to render your UI. + * + * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options; + * + * @example + * const { data, loading, error } = useDepositsQuery({ + * variables: { + * }, + * }); + */ +export function useDepositsQuery(baseOptions?: Apollo.QueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useQuery(DepositsDocument, options); + } +export function useDepositsLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useLazyQuery(DepositsDocument, options); + } +export type DepositsQueryHookResult = ReturnType; +export type DepositsLazyQueryHookResult = ReturnType; +export type DepositsQueryResult = Apollo.QueryResult; \ No newline at end of file diff --git a/apps/console-lite/src/app/components/simple-market-list/Candles.graphql b/apps/console-lite/src/app/components/simple-market-list/Candles.graphql new file mode 100644 index 000000000..5ac33b8bc --- /dev/null +++ b/apps/console-lite/src/app/components/simple-market-list/Candles.graphql @@ -0,0 +1,5 @@ +subscription CandleLive($marketId: ID!) { + candles(marketId: $marketId, interval: INTERVAL_I1H) { + close + } +} diff --git a/apps/console-lite/src/app/components/simple-market-list/SimpleMarkets.graphql b/apps/console-lite/src/app/components/simple-market-list/SimpleMarkets.graphql new file mode 100644 index 000000000..ab6310ece --- /dev/null +++ b/apps/console-lite/src/app/components/simple-market-list/SimpleMarkets.graphql @@ -0,0 +1,44 @@ +fragment SimpleMarketDataFields on MarketData { + market { + id + state + } +} + +query SimpleMarkets($CandleSince: String!) { + markets { + id + name + state + data { + ...SimpleMarketDataFields + } + tradableInstrument { + instrument { + code + metadata { + tags + } + product { + __typename + ... on Future { + quoteName + settlementAsset { + symbol + } + } + } + } + } + candles(interval: INTERVAL_I1H, since: $CandleSince) { + open + close + } + } +} + +subscription SimpleMarketDataSub { + marketData { + ...SimpleMarketDataFields + } +} diff --git a/apps/console-lite/src/app/components/simple-market-list/__generated___/Candles.ts b/apps/console-lite/src/app/components/simple-market-list/__generated___/Candles.ts new file mode 100644 index 000000000..10852a97c --- /dev/null +++ b/apps/console-lite/src/app/components/simple-market-list/__generated___/Candles.ts @@ -0,0 +1,43 @@ +import * as Types from '@vegaprotocol/types/types'; + +import { gql } from '@apollo/client'; +import * as Apollo from '@apollo/client'; +const defaultOptions = {} as const; +export type CandleLiveSubscriptionVariables = Types.Exact<{ + marketId: Types.Scalars['ID']; +}>; + + +export type CandleLiveSubscription = { __typename?: 'Subscription', candles: { __typename?: 'Candle', close: string } }; + + +export const CandleLiveDocument = gql` + subscription CandleLive($marketId: ID!) { + candles(marketId: $marketId, interval: INTERVAL_I1H) { + close + } +} + `; + +/** + * __useCandleLiveSubscription__ + * + * To run a query within a React component, call `useCandleLiveSubscription` and pass it any options that fit your needs. + * When your component renders, `useCandleLiveSubscription` returns an object from Apollo Client that contains loading, error, and data properties + * you can use to render your UI. + * + * @param baseOptions options that will be passed into the subscription, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options; + * + * @example + * const { data, loading, error } = useCandleLiveSubscription({ + * variables: { + * marketId: // value for 'marketId' + * }, + * }); + */ +export function useCandleLiveSubscription(baseOptions: Apollo.SubscriptionHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useSubscription(CandleLiveDocument, options); + } +export type CandleLiveSubscriptionHookResult = ReturnType; +export type CandleLiveSubscriptionResult = Apollo.SubscriptionResult; \ No newline at end of file diff --git a/apps/console-lite/src/app/components/simple-market-list/__generated___/SimpleMarkets.ts b/apps/console-lite/src/app/components/simple-market-list/__generated___/SimpleMarkets.ts new file mode 100644 index 000000000..ee1e0743e --- /dev/null +++ b/apps/console-lite/src/app/components/simple-market-list/__generated___/SimpleMarkets.ts @@ -0,0 +1,117 @@ +import * as Types from '@vegaprotocol/types/types'; + +import { gql } from '@apollo/client'; +import * as Apollo from '@apollo/client'; +const defaultOptions = {} as const; +export type SimpleMarketDataFieldsFragment = { __typename?: 'MarketData', market: { __typename?: 'Market', id: string, state: Types.MarketState } }; + +export type SimpleMarketsQueryVariables = Types.Exact<{ + CandleSince: Types.Scalars['String']; +}>; + + +export type SimpleMarketsQuery = { __typename?: 'Query', markets?: Array<{ __typename?: 'Market', id: string, name: string, state: Types.MarketState, data?: { __typename?: 'MarketData', market: { __typename?: 'Market', id: string, state: Types.MarketState } } | null, tradableInstrument: { __typename?: 'TradableInstrument', instrument: { __typename?: 'Instrument', code: string, metadata: { __typename?: 'InstrumentMetadata', tags?: Array | null }, product: { __typename: 'Future', quoteName: string, settlementAsset: { __typename?: 'Asset', symbol: string } } } }, candles?: Array<{ __typename?: 'Candle', open: string, close: string } | null> | null }> | null }; + +export type SimpleMarketDataSubSubscriptionVariables = Types.Exact<{ [key: string]: never; }>; + + +export type SimpleMarketDataSubSubscription = { __typename?: 'Subscription', marketData: { __typename?: 'MarketData', market: { __typename?: 'Market', id: string, state: Types.MarketState } } }; + +export const SimpleMarketDataFieldsFragmentDoc = gql` + fragment SimpleMarketDataFields on MarketData { + market { + id + state + } +} + `; +export const SimpleMarketsDocument = gql` + query SimpleMarkets($CandleSince: String!) { + markets { + id + name + state + data { + ...SimpleMarketDataFields + } + tradableInstrument { + instrument { + code + metadata { + tags + } + product { + __typename + ... on Future { + quoteName + settlementAsset { + symbol + } + } + } + } + } + candles(interval: INTERVAL_I1H, since: $CandleSince) { + open + close + } + } +} + ${SimpleMarketDataFieldsFragmentDoc}`; + +/** + * __useSimpleMarketsQuery__ + * + * To run a query within a React component, call `useSimpleMarketsQuery` and pass it any options that fit your needs. + * When your component renders, `useSimpleMarketsQuery` returns an object from Apollo Client that contains loading, error, and data properties + * you can use to render your UI. + * + * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options; + * + * @example + * const { data, loading, error } = useSimpleMarketsQuery({ + * variables: { + * CandleSince: // value for 'CandleSince' + * }, + * }); + */ +export function useSimpleMarketsQuery(baseOptions: Apollo.QueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useQuery(SimpleMarketsDocument, options); + } +export function useSimpleMarketsLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useLazyQuery(SimpleMarketsDocument, options); + } +export type SimpleMarketsQueryHookResult = ReturnType; +export type SimpleMarketsLazyQueryHookResult = ReturnType; +export type SimpleMarketsQueryResult = Apollo.QueryResult; +export const SimpleMarketDataSubDocument = gql` + subscription SimpleMarketDataSub { + marketData { + ...SimpleMarketDataFields + } +} + ${SimpleMarketDataFieldsFragmentDoc}`; + +/** + * __useSimpleMarketDataSubSubscription__ + * + * To run a query within a React component, call `useSimpleMarketDataSubSubscription` and pass it any options that fit your needs. + * When your component renders, `useSimpleMarketDataSubSubscription` returns an object from Apollo Client that contains loading, error, and data properties + * you can use to render your UI. + * + * @param baseOptions options that will be passed into the subscription, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options; + * + * @example + * const { data, loading, error } = useSimpleMarketDataSubSubscription({ + * variables: { + * }, + * }); + */ +export function useSimpleMarketDataSubSubscription(baseOptions?: Apollo.SubscriptionHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useSubscription(SimpleMarketDataSubDocument, options); + } +export type SimpleMarketDataSubSubscriptionHookResult = ReturnType; +export type SimpleMarketDataSubSubscriptionResult = Apollo.SubscriptionResult; \ No newline at end of file diff --git a/apps/console-lite/src/app/hooks/EstimateOrder.graphql b/apps/console-lite/src/app/hooks/EstimateOrder.graphql new file mode 100644 index 000000000..0f9ba762c --- /dev/null +++ b/apps/console-lite/src/app/hooks/EstimateOrder.graphql @@ -0,0 +1,30 @@ +query EstimateOrder( + $marketId: ID! + $partyId: ID! + $price: String + $size: String! + $side: Side! + $timeInForce: OrderTimeInForce! + $expiration: String + $type: OrderType! +) { + estimateOrder( + marketId: $marketId + partyId: $partyId + price: $price + size: $size + side: $side + timeInForce: $timeInForce + expiration: $expiration + type: $type + ) { + fee { + makerFee + infrastructureFee + liquidityFee + } + marginLevels { + initialLevel + } + } +} diff --git a/apps/console-lite/src/app/hooks/MarketMarkPrice.graphql b/apps/console-lite/src/app/hooks/MarketMarkPrice.graphql new file mode 100644 index 000000000..6cca545c8 --- /dev/null +++ b/apps/console-lite/src/app/hooks/MarketMarkPrice.graphql @@ -0,0 +1,8 @@ +query MarketMarkPrice($marketId: ID!) { + market(id: $marketId) { + decimalPlaces + data { + markPrice + } + } +} diff --git a/apps/console-lite/src/app/hooks/MarketPositions.graphql b/apps/console-lite/src/app/hooks/MarketPositions.graphql new file mode 100644 index 000000000..55b5323de --- /dev/null +++ b/apps/console-lite/src/app/hooks/MarketPositions.graphql @@ -0,0 +1,25 @@ +query MarketPositions($partyId: ID!) { + party(id: $partyId) { + id + accounts { + type + balance + asset { + decimals + } + market { + id + } + } + positionsConnection { + edges { + node { + openVolume + market { + id + } + } + } + } + } +} diff --git a/apps/console-lite/src/app/hooks/PartyMarketData.graphql b/apps/console-lite/src/app/hooks/PartyMarketData.graphql new file mode 100644 index 000000000..dfd7daff4 --- /dev/null +++ b/apps/console-lite/src/app/hooks/PartyMarketData.graphql @@ -0,0 +1,28 @@ +query PartyMarketData($partyId: ID!) { + party(id: $partyId) { + id + accounts { + type + balance + asset { + id + decimals + } + market { + id + } + } + marginsConnection { + edges { + node { + market { + id + } + initialLevel + maintenanceLevel + searchLevel + } + } + } + } +} diff --git a/apps/console-lite/src/app/hooks/__generated___/EstimateOrder.ts b/apps/console-lite/src/app/hooks/__generated___/EstimateOrder.ts new file mode 100644 index 000000000..a9584623d --- /dev/null +++ b/apps/console-lite/src/app/hooks/__generated___/EstimateOrder.ts @@ -0,0 +1,78 @@ +import * as Types from '@vegaprotocol/types/types'; + +import { gql } from '@apollo/client'; +import * as Apollo from '@apollo/client'; +const defaultOptions = {} as const; +export type EstimateOrderQueryVariables = Types.Exact<{ + marketId: Types.Scalars['ID']; + partyId: Types.Scalars['ID']; + price?: Types.InputMaybe; + size: Types.Scalars['String']; + side: Types.Side; + timeInForce: Types.OrderTimeInForce; + expiration?: Types.InputMaybe; + type: Types.OrderType; +}>; + + +export type EstimateOrderQuery = { __typename?: 'Query', estimateOrder: { __typename?: 'OrderEstimate', fee: { __typename?: 'TradeFee', makerFee: string, infrastructureFee: string, liquidityFee: string }, marginLevels: { __typename?: 'MarginLevels', initialLevel: string } } }; + + +export const EstimateOrderDocument = gql` + query EstimateOrder($marketId: ID!, $partyId: ID!, $price: String, $size: String!, $side: Side!, $timeInForce: OrderTimeInForce!, $expiration: String, $type: OrderType!) { + estimateOrder( + marketId: $marketId + partyId: $partyId + price: $price + size: $size + side: $side + timeInForce: $timeInForce + expiration: $expiration + type: $type + ) { + fee { + makerFee + infrastructureFee + liquidityFee + } + marginLevels { + initialLevel + } + } +} + `; + +/** + * __useEstimateOrderQuery__ + * + * To run a query within a React component, call `useEstimateOrderQuery` and pass it any options that fit your needs. + * When your component renders, `useEstimateOrderQuery` returns an object from Apollo Client that contains loading, error, and data properties + * you can use to render your UI. + * + * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options; + * + * @example + * const { data, loading, error } = useEstimateOrderQuery({ + * variables: { + * marketId: // value for 'marketId' + * partyId: // value for 'partyId' + * price: // value for 'price' + * size: // value for 'size' + * side: // value for 'side' + * timeInForce: // value for 'timeInForce' + * expiration: // value for 'expiration' + * type: // value for 'type' + * }, + * }); + */ +export function useEstimateOrderQuery(baseOptions: Apollo.QueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useQuery(EstimateOrderDocument, options); + } +export function useEstimateOrderLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useLazyQuery(EstimateOrderDocument, options); + } +export type EstimateOrderQueryHookResult = ReturnType; +export type EstimateOrderLazyQueryHookResult = ReturnType; +export type EstimateOrderQueryResult = Apollo.QueryResult; \ No newline at end of file diff --git a/apps/console-lite/src/app/hooks/__generated___/MarketMarkPrice.ts b/apps/console-lite/src/app/hooks/__generated___/MarketMarkPrice.ts new file mode 100644 index 000000000..c229f45ac --- /dev/null +++ b/apps/console-lite/src/app/hooks/__generated___/MarketMarkPrice.ts @@ -0,0 +1,51 @@ +import * as Types from '@vegaprotocol/types/types'; + +import { gql } from '@apollo/client'; +import * as Apollo from '@apollo/client'; +const defaultOptions = {} as const; +export type MarketMarkPriceQueryVariables = Types.Exact<{ + marketId: Types.Scalars['ID']; +}>; + + +export type MarketMarkPriceQuery = { __typename?: 'Query', market?: { __typename?: 'Market', decimalPlaces: number, data?: { __typename?: 'MarketData', markPrice: string } | null } | null }; + + +export const MarketMarkPriceDocument = gql` + query MarketMarkPrice($marketId: ID!) { + market(id: $marketId) { + decimalPlaces + data { + markPrice + } + } +} + `; + +/** + * __useMarketMarkPriceQuery__ + * + * To run a query within a React component, call `useMarketMarkPriceQuery` and pass it any options that fit your needs. + * When your component renders, `useMarketMarkPriceQuery` returns an object from Apollo Client that contains loading, error, and data properties + * you can use to render your UI. + * + * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options; + * + * @example + * const { data, loading, error } = useMarketMarkPriceQuery({ + * variables: { + * marketId: // value for 'marketId' + * }, + * }); + */ +export function useMarketMarkPriceQuery(baseOptions: Apollo.QueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useQuery(MarketMarkPriceDocument, options); + } +export function useMarketMarkPriceLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useLazyQuery(MarketMarkPriceDocument, options); + } +export type MarketMarkPriceQueryHookResult = ReturnType; +export type MarketMarkPriceLazyQueryHookResult = ReturnType; +export type MarketMarkPriceQueryResult = Apollo.QueryResult; \ No newline at end of file diff --git a/apps/console-lite/src/app/hooks/__generated___/MarketPositions.ts b/apps/console-lite/src/app/hooks/__generated___/MarketPositions.ts new file mode 100644 index 000000000..090290948 --- /dev/null +++ b/apps/console-lite/src/app/hooks/__generated___/MarketPositions.ts @@ -0,0 +1,68 @@ +import * as Types from '@vegaprotocol/types/types'; + +import { gql } from '@apollo/client'; +import * as Apollo from '@apollo/client'; +const defaultOptions = {} as const; +export type MarketPositionsQueryVariables = Types.Exact<{ + partyId: Types.Scalars['ID']; +}>; + + +export type MarketPositionsQuery = { __typename?: 'Query', party?: { __typename?: 'Party', id: string, accounts?: Array<{ __typename?: 'Account', type: Types.AccountType, balance: string, asset: { __typename?: 'Asset', decimals: number }, market?: { __typename?: 'Market', id: string } | null }> | null, positionsConnection: { __typename?: 'PositionConnection', edges?: Array<{ __typename?: 'PositionEdge', node: { __typename?: 'Position', openVolume: string, market: { __typename?: 'Market', id: string } } }> | null } } | null }; + + +export const MarketPositionsDocument = gql` + query MarketPositions($partyId: ID!) { + party(id: $partyId) { + id + accounts { + type + balance + asset { + decimals + } + market { + id + } + } + positionsConnection { + edges { + node { + openVolume + market { + id + } + } + } + } + } +} + `; + +/** + * __useMarketPositionsQuery__ + * + * To run a query within a React component, call `useMarketPositionsQuery` and pass it any options that fit your needs. + * When your component renders, `useMarketPositionsQuery` returns an object from Apollo Client that contains loading, error, and data properties + * you can use to render your UI. + * + * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options; + * + * @example + * const { data, loading, error } = useMarketPositionsQuery({ + * variables: { + * partyId: // value for 'partyId' + * }, + * }); + */ +export function useMarketPositionsQuery(baseOptions: Apollo.QueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useQuery(MarketPositionsDocument, options); + } +export function useMarketPositionsLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useLazyQuery(MarketPositionsDocument, options); + } +export type MarketPositionsQueryHookResult = ReturnType; +export type MarketPositionsLazyQueryHookResult = ReturnType; +export type MarketPositionsQueryResult = Apollo.QueryResult; \ No newline at end of file diff --git a/apps/console-lite/src/app/hooks/__generated___/PartyMarketData.ts b/apps/console-lite/src/app/hooks/__generated___/PartyMarketData.ts new file mode 100644 index 000000000..b4e7f2c8c --- /dev/null +++ b/apps/console-lite/src/app/hooks/__generated___/PartyMarketData.ts @@ -0,0 +1,71 @@ +import * as Types from '@vegaprotocol/types/types'; + +import { gql } from '@apollo/client'; +import * as Apollo from '@apollo/client'; +const defaultOptions = {} as const; +export type PartyMarketDataQueryVariables = Types.Exact<{ + partyId: Types.Scalars['ID']; +}>; + + +export type PartyMarketDataQuery = { __typename?: 'Query', party?: { __typename?: 'Party', id: string, accounts?: Array<{ __typename?: 'Account', type: Types.AccountType, balance: string, asset: { __typename?: 'Asset', id: string, decimals: number }, market?: { __typename?: 'Market', id: string } | null }> | null, marginsConnection: { __typename?: 'MarginConnection', edges?: Array<{ __typename?: 'MarginEdge', node: { __typename?: 'MarginLevels', initialLevel: string, maintenanceLevel: string, searchLevel: string, market: { __typename?: 'Market', id: string } } }> | null } } | null }; + + +export const PartyMarketDataDocument = gql` + query PartyMarketData($partyId: ID!) { + party(id: $partyId) { + id + accounts { + type + balance + asset { + id + decimals + } + market { + id + } + } + marginsConnection { + edges { + node { + market { + id + } + initialLevel + maintenanceLevel + searchLevel + } + } + } + } +} + `; + +/** + * __usePartyMarketDataQuery__ + * + * To run a query within a React component, call `usePartyMarketDataQuery` and pass it any options that fit your needs. + * When your component renders, `usePartyMarketDataQuery` returns an object from Apollo Client that contains loading, error, and data properties + * you can use to render your UI. + * + * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options; + * + * @example + * const { data, loading, error } = usePartyMarketDataQuery({ + * variables: { + * partyId: // value for 'partyId' + * }, + * }); + */ +export function usePartyMarketDataQuery(baseOptions: Apollo.QueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useQuery(PartyMarketDataDocument, options); + } +export function usePartyMarketDataLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useLazyQuery(PartyMarketDataDocument, options); + } +export type PartyMarketDataQueryHookResult = ReturnType; +export type PartyMarketDataLazyQueryHookResult = ReturnType; +export type PartyMarketDataQueryResult = Apollo.QueryResult; \ No newline at end of file diff --git a/apps/explorer/.eslintrc.json b/apps/explorer/.eslintrc.json index db820c5d0..de2a9b877 100644 --- a/apps/explorer/.eslintrc.json +++ b/apps/explorer/.eslintrc.json @@ -1,6 +1,6 @@ { "extends": ["plugin:@nrwl/nx/react", "../../.eslintrc.json"], - "ignorePatterns": ["!**/*", "__generated__"], + "ignorePatterns": ["!**/*", "__generated__", "__generated___"], "overrides": [ { "files": ["*.ts", "*.tsx", "*.js", "*.jsx"], diff --git a/apps/explorer/src/app/routes/assets/Assets.graphql b/apps/explorer/src/app/routes/assets/Assets.graphql new file mode 100644 index 000000000..00e113473 --- /dev/null +++ b/apps/explorer/src/app/routes/assets/Assets.graphql @@ -0,0 +1,27 @@ +query AssetsQuery { + assetsConnection { + edges { + node { + id + name + symbol + decimals + source { + ... on ERC20 { + contractAddress + } + ... on BuiltinAsset { + maxFaucetAmountMint + } + } + infrastructureFeeAccount { + type + balance + market { + id + } + } + } + } + } +} diff --git a/apps/explorer/src/app/routes/assets/__generated___/Assets.ts b/apps/explorer/src/app/routes/assets/__generated___/Assets.ts new file mode 100644 index 000000000..2d89adea5 --- /dev/null +++ b/apps/explorer/src/app/routes/assets/__generated___/Assets.ts @@ -0,0 +1,67 @@ +import * as Types from '@vegaprotocol/types/types'; + +import { gql } from '@apollo/client'; +import * as Apollo from '@apollo/client'; +const defaultOptions = {} as const; +export type AssetsQueryQueryVariables = Types.Exact<{ [key: string]: never; }>; + + +export type AssetsQueryQuery = { __typename?: 'Query', assetsConnection: { __typename?: 'AssetsConnection', edges?: Array<{ __typename?: 'AssetEdge', node: { __typename?: 'Asset', id: string, name: string, symbol: string, decimals: number, source: { __typename?: 'BuiltinAsset', maxFaucetAmountMint: string } | { __typename?: 'ERC20', contractAddress: string }, infrastructureFeeAccount: { __typename?: 'Account', type: Types.AccountType, balance: string, market?: { __typename?: 'Market', id: string } | null } } } | null> | null } }; + + +export const AssetsQueryDocument = gql` + query AssetsQuery { + assetsConnection { + edges { + node { + id + name + symbol + decimals + source { + ... on ERC20 { + contractAddress + } + ... on BuiltinAsset { + maxFaucetAmountMint + } + } + infrastructureFeeAccount { + type + balance + market { + id + } + } + } + } + } +} + `; + +/** + * __useAssetsQueryQuery__ + * + * To run a query within a React component, call `useAssetsQueryQuery` and pass it any options that fit your needs. + * When your component renders, `useAssetsQueryQuery` returns an object from Apollo Client that contains loading, error, and data properties + * you can use to render your UI. + * + * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options; + * + * @example + * const { data, loading, error } = useAssetsQueryQuery({ + * variables: { + * }, + * }); + */ +export function useAssetsQueryQuery(baseOptions?: Apollo.QueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useQuery(AssetsQueryDocument, options); + } +export function useAssetsQueryLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useLazyQuery(AssetsQueryDocument, options); + } +export type AssetsQueryQueryHookResult = ReturnType; +export type AssetsQueryLazyQueryHookResult = ReturnType; +export type AssetsQueryQueryResult = Apollo.QueryResult; \ No newline at end of file diff --git a/apps/explorer/src/app/routes/governance/Proposals.graphql b/apps/explorer/src/app/routes/governance/Proposals.graphql new file mode 100644 index 000000000..02aa5ee8c --- /dev/null +++ b/apps/explorer/src/app/routes/governance/Proposals.graphql @@ -0,0 +1,74 @@ +query ProposalsQuery { + proposals { + id + reference + state + datetime + rejectionReason + party { + id + } + terms { + closingDatetime + enactmentDatetime + change { + ... on NewMarket { + instrument { + name + } + } + ... on UpdateMarket { + marketId + } + ... on NewAsset { + __typename + symbol + source { + ... on BuiltinAsset { + maxFaucetAmountMint + } + ... on ERC20 { + contractAddress + } + } + } + ... on UpdateNetworkParameter { + networkParameter { + key + value + } + } + } + } + votes { + yes { + totalTokens + totalNumber + votes { + value + party { + id + stake { + currentStakeAvailable + } + } + datetime + } + } + no { + totalTokens + totalNumber + votes { + value + party { + id + stake { + currentStakeAvailable + } + } + datetime + } + } + } + } +} diff --git a/apps/explorer/src/app/routes/governance/__generated___/Proposals.ts b/apps/explorer/src/app/routes/governance/__generated___/Proposals.ts new file mode 100644 index 000000000..b807b5e9d --- /dev/null +++ b/apps/explorer/src/app/routes/governance/__generated___/Proposals.ts @@ -0,0 +1,114 @@ +import * as Types from '@vegaprotocol/types/types'; + +import { gql } from '@apollo/client'; +import * as Apollo from '@apollo/client'; +const defaultOptions = {} as const; +export type ProposalsQueryQueryVariables = Types.Exact<{ [key: string]: never; }>; + + +export type ProposalsQueryQuery = { __typename?: 'Query', proposals?: Array<{ __typename?: 'Proposal', id?: string | null, reference: string, state: Types.ProposalState, datetime: string, rejectionReason?: Types.ProposalRejectionReason | null, party: { __typename?: 'Party', id: string }, terms: { __typename?: 'ProposalTerms', closingDatetime: string, enactmentDatetime?: string | null, change: { __typename: 'NewAsset', symbol: string, source: { __typename?: 'BuiltinAsset', maxFaucetAmountMint: string } | { __typename?: 'ERC20', contractAddress: string } } | { __typename?: 'NewFreeform' } | { __typename?: 'NewMarket', instrument: { __typename?: 'InstrumentConfiguration', name: string } } | { __typename?: 'UpdateAsset' } | { __typename?: 'UpdateMarket', marketId: string } | { __typename?: 'UpdateNetworkParameter', networkParameter: { __typename?: 'NetworkParameter', key: string, value: string } } }, votes: { __typename?: 'ProposalVotes', yes: { __typename?: 'ProposalVoteSide', totalTokens: string, totalNumber: string, votes?: Array<{ __typename?: 'Vote', value: Types.VoteValue, datetime: string, party: { __typename?: 'Party', id: string, stake: { __typename?: 'PartyStake', currentStakeAvailable: string } } }> | null }, no: { __typename?: 'ProposalVoteSide', totalTokens: string, totalNumber: string, votes?: Array<{ __typename?: 'Vote', value: Types.VoteValue, datetime: string, party: { __typename?: 'Party', id: string, stake: { __typename?: 'PartyStake', currentStakeAvailable: string } } }> | null } } }> | null }; + + +export const ProposalsQueryDocument = gql` + query ProposalsQuery { + proposals { + id + reference + state + datetime + rejectionReason + party { + id + } + terms { + closingDatetime + enactmentDatetime + change { + ... on NewMarket { + instrument { + name + } + } + ... on UpdateMarket { + marketId + } + ... on NewAsset { + __typename + symbol + source { + ... on BuiltinAsset { + maxFaucetAmountMint + } + ... on ERC20 { + contractAddress + } + } + } + ... on UpdateNetworkParameter { + networkParameter { + key + value + } + } + } + } + votes { + yes { + totalTokens + totalNumber + votes { + value + party { + id + stake { + currentStakeAvailable + } + } + datetime + } + } + no { + totalTokens + totalNumber + votes { + value + party { + id + stake { + currentStakeAvailable + } + } + datetime + } + } + } + } +} + `; + +/** + * __useProposalsQueryQuery__ + * + * To run a query within a React component, call `useProposalsQueryQuery` and pass it any options that fit your needs. + * When your component renders, `useProposalsQueryQuery` returns an object from Apollo Client that contains loading, error, and data properties + * you can use to render your UI. + * + * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options; + * + * @example + * const { data, loading, error } = useProposalsQueryQuery({ + * variables: { + * }, + * }); + */ +export function useProposalsQueryQuery(baseOptions?: Apollo.QueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useQuery(ProposalsQueryDocument, options); + } +export function useProposalsQueryLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useLazyQuery(ProposalsQueryDocument, options); + } +export type ProposalsQueryQueryHookResult = ReturnType; +export type ProposalsQueryLazyQueryHookResult = ReturnType; +export type ProposalsQueryQueryResult = Apollo.QueryResult; \ No newline at end of file diff --git a/apps/explorer/src/app/routes/markets/Markets.graphql b/apps/explorer/src/app/routes/markets/Markets.graphql new file mode 100644 index 000000000..2b17af4ce --- /dev/null +++ b/apps/explorer/src/app/routes/markets/Markets.graphql @@ -0,0 +1,134 @@ +query MarketsQuery { + markets { + id + name + fees { + factors { + makerFee + infrastructureFee + liquidityFee + } + } + tradableInstrument { + instrument { + name + metadata { + tags + } + id + code + product { + ... on Future { + settlementAsset { + id + name + decimals + globalRewardPoolAccount { + balance + } + } + } + } + } + riskModel { + ... on LogNormalRiskModel { + tau + riskAversionParameter + params { + r + sigma + mu + } + } + ... on SimpleRiskModel { + params { + factorLong + factorShort + } + } + } + marginCalculator { + scalingFactors { + searchLevel + initialMargin + collateralRelease + } + } + } + decimalPlaces + openingAuction { + durationSecs + volume + } + priceMonitoringSettings { + parameters { + triggers { + horizonSecs + probability + auctionExtensionSecs + } + } + } + liquidityMonitoringParameters { + triggeringRatio + targetStakeParameters { + timeWindow + scalingFactor + } + } + tradingMode + state + proposal { + id + } + state + accounts { + asset { + id + name + } + balance + type + } + data { + markPrice + bestBidPrice + bestBidVolume + bestOfferPrice + bestOfferVolume + bestStaticBidPrice + bestStaticBidVolume + bestStaticOfferPrice + bestStaticOfferVolume + midPrice + staticMidPrice + timestamp + openInterest + auctionEnd + auctionStart + indicativePrice + indicativeVolume + trigger + extensionTrigger + targetStake + suppliedStake + priceMonitoringBounds { + minValidPrice + maxValidPrice + trigger { + auctionExtensionSecs + probability + } + referencePrice + } + marketValueProxy + liquidityProviderFeeShare { + party { + id + } + equityLikeShare + averageEntryValuation + } + } + } +} diff --git a/apps/explorer/src/app/routes/markets/__generated___/Markets.ts b/apps/explorer/src/app/routes/markets/__generated___/Markets.ts new file mode 100644 index 000000000..deb1d2bdd --- /dev/null +++ b/apps/explorer/src/app/routes/markets/__generated___/Markets.ts @@ -0,0 +1,174 @@ +import * as Types from '@vegaprotocol/types/types'; + +import { gql } from '@apollo/client'; +import * as Apollo from '@apollo/client'; +const defaultOptions = {} as const; +export type MarketsQueryQueryVariables = Types.Exact<{ [key: string]: never; }>; + + +export type MarketsQueryQuery = { __typename?: 'Query', markets?: Array<{ __typename?: 'Market', id: string, name: string, decimalPlaces: number, tradingMode: Types.MarketTradingMode, state: Types.MarketState, fees: { __typename?: 'Fees', factors: { __typename?: 'FeeFactors', makerFee: string, infrastructureFee: string, liquidityFee: string } }, tradableInstrument: { __typename?: 'TradableInstrument', instrument: { __typename?: 'Instrument', name: string, id: string, code: string, metadata: { __typename?: 'InstrumentMetadata', tags?: Array | null }, product: { __typename?: 'Future', settlementAsset: { __typename?: 'Asset', id: string, name: string, decimals: number, globalRewardPoolAccount?: { __typename?: 'Account', balance: string } | null } } }, riskModel: { __typename?: 'LogNormalRiskModel', tau: number, riskAversionParameter: number, params: { __typename?: 'LogNormalModelParams', r: number, sigma: number, mu: number } } | { __typename?: 'SimpleRiskModel', params: { __typename?: 'SimpleRiskModelParams', factorLong: number, factorShort: number } }, marginCalculator?: { __typename?: 'MarginCalculator', scalingFactors: { __typename?: 'ScalingFactors', searchLevel: number, initialMargin: number, collateralRelease: number } } | null }, openingAuction: { __typename?: 'AuctionDuration', durationSecs: number, volume: number }, priceMonitoringSettings: { __typename?: 'PriceMonitoringSettings', parameters?: { __typename?: 'PriceMonitoringParameters', triggers?: Array<{ __typename?: 'PriceMonitoringTrigger', horizonSecs: number, probability: number, auctionExtensionSecs: number }> | null } | null }, liquidityMonitoringParameters: { __typename?: 'LiquidityMonitoringParameters', triggeringRatio: number, targetStakeParameters: { __typename?: 'TargetStakeParameters', timeWindow: number, scalingFactor: number } }, proposal?: { __typename?: 'Proposal', id?: string | null } | null, accounts?: Array<{ __typename?: 'Account', balance: string, type: Types.AccountType, asset: { __typename?: 'Asset', id: string, name: string } }> | null, data?: { __typename?: 'MarketData', markPrice: string, bestBidPrice: string, bestBidVolume: string, bestOfferPrice: string, bestOfferVolume: string, bestStaticBidPrice: string, bestStaticBidVolume: string, bestStaticOfferPrice: string, bestStaticOfferVolume: string, midPrice: string, staticMidPrice: string, timestamp: string, openInterest: string, auctionEnd?: string | null, auctionStart?: string | null, indicativePrice: string, indicativeVolume: string, trigger: Types.AuctionTrigger, extensionTrigger: Types.AuctionTrigger, targetStake?: string | null, suppliedStake?: string | null, marketValueProxy: string, priceMonitoringBounds?: Array<{ __typename?: 'PriceMonitoringBounds', minValidPrice: string, maxValidPrice: string, referencePrice: string, trigger: { __typename?: 'PriceMonitoringTrigger', auctionExtensionSecs: number, probability: number } }> | null, liquidityProviderFeeShare?: Array<{ __typename?: 'LiquidityProviderFeeShare', equityLikeShare: string, averageEntryValuation: string, party: { __typename?: 'Party', id: string } }> | null } | null }> | null }; + + +export const MarketsQueryDocument = gql` + query MarketsQuery { + markets { + id + name + fees { + factors { + makerFee + infrastructureFee + liquidityFee + } + } + tradableInstrument { + instrument { + name + metadata { + tags + } + id + code + product { + ... on Future { + settlementAsset { + id + name + decimals + globalRewardPoolAccount { + balance + } + } + } + } + } + riskModel { + ... on LogNormalRiskModel { + tau + riskAversionParameter + params { + r + sigma + mu + } + } + ... on SimpleRiskModel { + params { + factorLong + factorShort + } + } + } + marginCalculator { + scalingFactors { + searchLevel + initialMargin + collateralRelease + } + } + } + decimalPlaces + openingAuction { + durationSecs + volume + } + priceMonitoringSettings { + parameters { + triggers { + horizonSecs + probability + auctionExtensionSecs + } + } + } + liquidityMonitoringParameters { + triggeringRatio + targetStakeParameters { + timeWindow + scalingFactor + } + } + tradingMode + state + proposal { + id + } + state + accounts { + asset { + id + name + } + balance + type + } + data { + markPrice + bestBidPrice + bestBidVolume + bestOfferPrice + bestOfferVolume + bestStaticBidPrice + bestStaticBidVolume + bestStaticOfferPrice + bestStaticOfferVolume + midPrice + staticMidPrice + timestamp + openInterest + auctionEnd + auctionStart + indicativePrice + indicativeVolume + trigger + extensionTrigger + targetStake + suppliedStake + priceMonitoringBounds { + minValidPrice + maxValidPrice + trigger { + auctionExtensionSecs + probability + } + referencePrice + } + marketValueProxy + liquidityProviderFeeShare { + party { + id + } + equityLikeShare + averageEntryValuation + } + } + } +} + `; + +/** + * __useMarketsQueryQuery__ + * + * To run a query within a React component, call `useMarketsQueryQuery` and pass it any options that fit your needs. + * When your component renders, `useMarketsQueryQuery` returns an object from Apollo Client that contains loading, error, and data properties + * you can use to render your UI. + * + * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options; + * + * @example + * const { data, loading, error } = useMarketsQueryQuery({ + * variables: { + * }, + * }); + */ +export function useMarketsQueryQuery(baseOptions?: Apollo.QueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useQuery(MarketsQueryDocument, options); + } +export function useMarketsQueryLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useLazyQuery(MarketsQueryDocument, options); + } +export type MarketsQueryQueryHookResult = ReturnType; +export type MarketsQueryLazyQueryHookResult = ReturnType; +export type MarketsQueryQueryResult = Apollo.QueryResult; \ No newline at end of file diff --git a/apps/explorer/src/app/routes/network-parameters/NetworkParameters.graphql b/apps/explorer/src/app/routes/network-parameters/NetworkParameters.graphql new file mode 100644 index 000000000..7fbac2c00 --- /dev/null +++ b/apps/explorer/src/app/routes/network-parameters/NetworkParameters.graphql @@ -0,0 +1,6 @@ +query NetworkParametersQuery { + networkParameters { + key + value + } +} diff --git a/apps/explorer/src/app/routes/network-parameters/__generated___/NetworkParameters.ts b/apps/explorer/src/app/routes/network-parameters/__generated___/NetworkParameters.ts new file mode 100644 index 000000000..d40f46c02 --- /dev/null +++ b/apps/explorer/src/app/routes/network-parameters/__generated___/NetworkParameters.ts @@ -0,0 +1,46 @@ +import * as Types from '@vegaprotocol/types/types'; + +import { gql } from '@apollo/client'; +import * as Apollo from '@apollo/client'; +const defaultOptions = {} as const; +export type NetworkParametersQueryQueryVariables = Types.Exact<{ [key: string]: never; }>; + + +export type NetworkParametersQueryQuery = { __typename?: 'Query', networkParameters?: Array<{ __typename?: 'NetworkParameter', key: string, value: string }> | null }; + + +export const NetworkParametersQueryDocument = gql` + query NetworkParametersQuery { + networkParameters { + key + value + } +} + `; + +/** + * __useNetworkParametersQueryQuery__ + * + * To run a query within a React component, call `useNetworkParametersQueryQuery` and pass it any options that fit your needs. + * When your component renders, `useNetworkParametersQueryQuery` returns an object from Apollo Client that contains loading, error, and data properties + * you can use to render your UI. + * + * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options; + * + * @example + * const { data, loading, error } = useNetworkParametersQueryQuery({ + * variables: { + * }, + * }); + */ +export function useNetworkParametersQueryQuery(baseOptions?: Apollo.QueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useQuery(NetworkParametersQueryDocument, options); + } +export function useNetworkParametersQueryLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useLazyQuery(NetworkParametersQueryDocument, options); + } +export type NetworkParametersQueryQueryHookResult = ReturnType; +export type NetworkParametersQueryLazyQueryHookResult = ReturnType; +export type NetworkParametersQueryQueryResult = Apollo.QueryResult; \ No newline at end of file diff --git a/apps/explorer/src/app/routes/oracles/OracleSpecs.graphql b/apps/explorer/src/app/routes/oracles/OracleSpecs.graphql new file mode 100644 index 000000000..a6d2c122d --- /dev/null +++ b/apps/explorer/src/app/routes/oracles/OracleSpecs.graphql @@ -0,0 +1,22 @@ +query OracleSpecs { + oracleSpecs { + status + id + createdAt + updatedAt + pubKeys + filters { + key { + name + type + } + conditions { + value + operator + } + } + data { + pubKeys + } + } +} diff --git a/apps/explorer/src/app/routes/oracles/__generated___/OracleSpecs.ts b/apps/explorer/src/app/routes/oracles/__generated___/OracleSpecs.ts new file mode 100644 index 000000000..9f53d037c --- /dev/null +++ b/apps/explorer/src/app/routes/oracles/__generated___/OracleSpecs.ts @@ -0,0 +1,62 @@ +import * as Types from '@vegaprotocol/types/types'; + +import { gql } from '@apollo/client'; +import * as Apollo from '@apollo/client'; +const defaultOptions = {} as const; +export type OracleSpecsQueryVariables = Types.Exact<{ [key: string]: never; }>; + + +export type OracleSpecsQuery = { __typename?: 'Query', oracleSpecs?: Array<{ __typename?: 'OracleSpec', status: Types.OracleSpecStatus, id: string, createdAt: string, updatedAt?: string | null, pubKeys?: Array | null, filters?: Array<{ __typename?: 'Filter', key: { __typename?: 'PropertyKey', name?: string | null, type: Types.PropertyKeyType }, conditions?: Array<{ __typename?: 'Condition', value?: string | null, operator: Types.ConditionOperator }> | null }> | null, data: Array<{ __typename?: 'OracleData', pubKeys?: Array | null }> }> | null }; + + +export const OracleSpecsDocument = gql` + query OracleSpecs { + oracleSpecs { + status + id + createdAt + updatedAt + pubKeys + filters { + key { + name + type + } + conditions { + value + operator + } + } + data { + pubKeys + } + } +} + `; + +/** + * __useOracleSpecsQuery__ + * + * To run a query within a React component, call `useOracleSpecsQuery` and pass it any options that fit your needs. + * When your component renders, `useOracleSpecsQuery` returns an object from Apollo Client that contains loading, error, and data properties + * you can use to render your UI. + * + * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options; + * + * @example + * const { data, loading, error } = useOracleSpecsQuery({ + * variables: { + * }, + * }); + */ +export function useOracleSpecsQuery(baseOptions?: Apollo.QueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useQuery(OracleSpecsDocument, options); + } +export function useOracleSpecsLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useLazyQuery(OracleSpecsDocument, options); + } +export type OracleSpecsQueryHookResult = ReturnType; +export type OracleSpecsLazyQueryHookResult = ReturnType; +export type OracleSpecsQueryResult = Apollo.QueryResult; \ No newline at end of file diff --git a/apps/explorer/src/app/routes/parties/PartyAssets.graphql b/apps/explorer/src/app/routes/parties/PartyAssets.graphql new file mode 100644 index 000000000..344ac3660 --- /dev/null +++ b/apps/explorer/src/app/routes/parties/PartyAssets.graphql @@ -0,0 +1,32 @@ +query PartyAssetsQuery($partyId: ID!) { + party(id: $partyId) { + id + delegations { + amount + node { + id + name + } + epoch + } + stake { + currentStakeAvailable + } + accounts { + asset { + name + id + decimals + symbol + source { + __typename + ... on ERC20 { + contractAddress + } + } + } + type + balance + } + } +} diff --git a/apps/explorer/src/app/routes/parties/__generated___/PartyAssets.ts b/apps/explorer/src/app/routes/parties/__generated___/PartyAssets.ts new file mode 100644 index 000000000..9c10bbff9 --- /dev/null +++ b/apps/explorer/src/app/routes/parties/__generated___/PartyAssets.ts @@ -0,0 +1,75 @@ +import * as Types from '@vegaprotocol/types/types'; + +import { gql } from '@apollo/client'; +import * as Apollo from '@apollo/client'; +const defaultOptions = {} as const; +export type PartyAssetsQueryQueryVariables = Types.Exact<{ + partyId: Types.Scalars['ID']; +}>; + + +export type PartyAssetsQueryQuery = { __typename?: 'Query', party?: { __typename?: 'Party', id: string, delegations?: Array<{ __typename?: 'Delegation', amount: string, epoch: number, node: { __typename?: 'Node', id: string, name: string } }> | null, stake: { __typename?: 'PartyStake', currentStakeAvailable: string }, accounts?: Array<{ __typename?: 'Account', type: Types.AccountType, balance: string, asset: { __typename?: 'Asset', name: string, id: string, decimals: number, symbol: string, source: { __typename: 'BuiltinAsset' } | { __typename: 'ERC20', contractAddress: string } } }> | null } | null }; + + +export const PartyAssetsQueryDocument = gql` + query PartyAssetsQuery($partyId: ID!) { + party(id: $partyId) { + id + delegations { + amount + node { + id + name + } + epoch + } + stake { + currentStakeAvailable + } + accounts { + asset { + name + id + decimals + symbol + source { + __typename + ... on ERC20 { + contractAddress + } + } + } + type + balance + } + } +} + `; + +/** + * __usePartyAssetsQueryQuery__ + * + * To run a query within a React component, call `usePartyAssetsQueryQuery` and pass it any options that fit your needs. + * When your component renders, `usePartyAssetsQueryQuery` returns an object from Apollo Client that contains loading, error, and data properties + * you can use to render your UI. + * + * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options; + * + * @example + * const { data, loading, error } = usePartyAssetsQueryQuery({ + * variables: { + * partyId: // value for 'partyId' + * }, + * }); + */ +export function usePartyAssetsQueryQuery(baseOptions: Apollo.QueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useQuery(PartyAssetsQueryDocument, options); + } +export function usePartyAssetsQueryLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useLazyQuery(PartyAssetsQueryDocument, options); + } +export type PartyAssetsQueryQueryHookResult = ReturnType; +export type PartyAssetsQueryLazyQueryHookResult = ReturnType; +export type PartyAssetsQueryQueryResult = Apollo.QueryResult; \ No newline at end of file diff --git a/apps/explorer/src/app/routes/validators/Nodes.graphql b/apps/explorer/src/app/routes/validators/Nodes.graphql new file mode 100644 index 000000000..413ef2944 --- /dev/null +++ b/apps/explorer/src/app/routes/validators/Nodes.graphql @@ -0,0 +1,23 @@ +query NodesQuery { + nodes { + id + name + infoUrl + avatarUrl + pubkey + tmPubkey + ethereumAddress + location + stakedByOperator + stakedByDelegates + stakedTotal + pendingStake + epochData { + total + offline + online + } + status + name + } +} diff --git a/apps/explorer/src/app/routes/validators/__generated___/Nodes.ts b/apps/explorer/src/app/routes/validators/__generated___/Nodes.ts new file mode 100644 index 000000000..bf86e7858 --- /dev/null +++ b/apps/explorer/src/app/routes/validators/__generated___/Nodes.ts @@ -0,0 +1,63 @@ +import * as Types from '@vegaprotocol/types/types'; + +import { gql } from '@apollo/client'; +import * as Apollo from '@apollo/client'; +const defaultOptions = {} as const; +export type NodesQueryQueryVariables = Types.Exact<{ [key: string]: never; }>; + + +export type NodesQueryQuery = { __typename?: 'Query', nodes?: Array<{ __typename?: 'Node', id: string, name: string, infoUrl: string, avatarUrl?: string | null, pubkey: string, tmPubkey: string, ethereumAddress: string, location: string, stakedByOperator: string, stakedByDelegates: string, stakedTotal: string, pendingStake: string, status: Types.NodeStatus, epochData?: { __typename?: 'EpochData', total: number, offline: number, online: number } | null }> | null }; + + +export const NodesQueryDocument = gql` + query NodesQuery { + nodes { + id + name + infoUrl + avatarUrl + pubkey + tmPubkey + ethereumAddress + location + stakedByOperator + stakedByDelegates + stakedTotal + pendingStake + epochData { + total + offline + online + } + status + name + } +} + `; + +/** + * __useNodesQueryQuery__ + * + * To run a query within a React component, call `useNodesQueryQuery` and pass it any options that fit your needs. + * When your component renders, `useNodesQueryQuery` returns an object from Apollo Client that contains loading, error, and data properties + * you can use to render your UI. + * + * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options; + * + * @example + * const { data, loading, error } = useNodesQueryQuery({ + * variables: { + * }, + * }); + */ +export function useNodesQueryQuery(baseOptions?: Apollo.QueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useQuery(NodesQueryDocument, options); + } +export function useNodesQueryLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useLazyQuery(NodesQueryDocument, options); + } +export type NodesQueryQueryHookResult = ReturnType; +export type NodesQueryLazyQueryHookResult = ReturnType; +export type NodesQueryQueryResult = Apollo.QueryResult; \ No newline at end of file diff --git a/apps/token/.eslintrc.json b/apps/token/.eslintrc.json index db820c5d0..de2a9b877 100644 --- a/apps/token/.eslintrc.json +++ b/apps/token/.eslintrc.json @@ -1,6 +1,6 @@ { "extends": ["plugin:@nrwl/nx/react", "../../.eslintrc.json"], - "ignorePatterns": ["!**/*", "__generated__"], + "ignorePatterns": ["!**/*", "__generated__", "__generated___"], "overrides": [ { "files": ["*.ts", "*.tsx", "*.js", "*.jsx"], diff --git a/apps/token/client.graphql b/apps/token/client.graphql new file mode 100644 index 000000000..137c4d621 --- /dev/null +++ b/apps/token/client.graphql @@ -0,0 +1,43 @@ +extend type Delegation { + "The amount field formatted by the client" + amountFormatted: String! +} + +extend type PartyStake { + "The currently available stake formatted by the client" + currentStakeAvailableFormatted: String! +} + +extend type NodeData { + "The total staked field formatted by the client" + stakedTotalFormatted: String! +} + +extend type Node { + "The total staked field formatted by the client" + stakedTotalFormatted: String! + + "The pending staked field formatted by the client" + pendingStakeFormatted: String! + + "The stakes by operator field formatted by the client" + stakedByOperatorFormatted: String! + + "The stakes by delegates field formatted by the client" + stakedByDelegatesFormatted: String! +} + +extend type Reward { + "The amount field formatted by the client" + amountFormatted: String! +} + +extend type RewardPerAssetDetail { + "The total amount field formatted by the client" + totalAmountFormatted: String! +} + +extend type Account { + "The balance field formatted by the client" + balanceFormatted: String! +} diff --git a/apps/token/src/components/vega-wallet/Delegations.graphql b/apps/token/src/components/vega-wallet/Delegations.graphql new file mode 100644 index 000000000..bc4f3c207 --- /dev/null +++ b/apps/token/src/components/vega-wallet/Delegations.graphql @@ -0,0 +1,37 @@ +query Delegations($partyId: ID!) { + epoch { + id + } + party(id: $partyId) { + id + delegations { + amountFormatted @client + amount + node { + id + name + } + epoch + } + stake { + currentStakeAvailable + currentStakeAvailableFormatted @client + } + accounts { + asset { + name + id + decimals + symbol + source { + __typename + ... on ERC20 { + contractAddress + } + } + } + type + balance + } + } +} diff --git a/apps/token/src/components/vega-wallet/__generated__/Delegations.ts b/apps/token/src/components/vega-wallet/__generated__/Delegations.ts index 0648b1180..0392833ad 100644 --- a/apps/token/src/components/vega-wallet/__generated__/Delegations.ts +++ b/apps/token/src/components/vega-wallet/__generated__/Delegations.ts @@ -28,6 +28,9 @@ export interface Delegations_party_delegations_node { export interface Delegations_party_delegations { __typename: "Delegation"; + /** + * The amount field formatted by the client + */ amountFormatted: string; /** * Amount delegated @@ -49,6 +52,9 @@ export interface Delegations_party_stake { * The stake currently available for the party */ currentStakeAvailable: string; + /** + * The currently available stake formatted by the client + */ currentStakeAvailableFormatted: string; } diff --git a/apps/token/src/components/vega-wallet/__generated__/PartyDelegations.ts b/apps/token/src/components/vega-wallet/__generated__/PartyDelegations.ts deleted file mode 100644 index dfcb618d6..000000000 --- a/apps/token/src/components/vega-wallet/__generated__/PartyDelegations.ts +++ /dev/null @@ -1,52 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -// @generated -// This file was automatically generated and should not be edited. - -// ==================================================== -// GraphQL query operation: PartyDelegations -// ==================================================== - -export interface PartyDelegations_epoch { - __typename: "Epoch"; - /** - * Presumably this is an integer or something. If there's no such thing, disregard - */ - id: string; -} - -export interface PartyDelegations_party_delegations { - __typename: "Delegation"; - /** - * Amount delegated - */ - amount: string; - /** - * URL of node you are delegating to - */ - node: string; - /** - * Epoch of delegation - */ - epoch: number; -} - -export interface PartyDelegations_party { - __typename: "Party"; - delegations: PartyDelegations_party_delegations[] | null; -} - -export interface PartyDelegations { - /** - * get data for a specific epoch, if id omitted it gets the current epoch - */ - epoch: PartyDelegations_epoch; - /** - * An entity that is trading on the VEGA network - */ - party: PartyDelegations_party | null; -} - -export interface PartyDelegationsVariables { - partyId: string; -} diff --git a/apps/token/src/components/vega-wallet/__generated___/Delegations.ts b/apps/token/src/components/vega-wallet/__generated___/Delegations.ts new file mode 100644 index 000000000..5d6610ba9 --- /dev/null +++ b/apps/token/src/components/vega-wallet/__generated___/Delegations.ts @@ -0,0 +1,80 @@ +import * as Types from '@vegaprotocol/types/types'; + +import { gql } from '@apollo/client'; +import * as Apollo from '@apollo/client'; +const defaultOptions = {} as const; +export type DelegationsQueryVariables = Types.Exact<{ + partyId: Types.Scalars['ID']; +}>; + + +export type DelegationsQuery = { __typename?: 'Query', epoch: { __typename?: 'Epoch', id: string }, party?: { __typename?: 'Party', id: string, delegations?: Array<{ __typename?: 'Delegation', amountFormatted: string, amount: string, epoch: number, node: { __typename?: 'Node', id: string, name: string } }> | null, stake: { __typename?: 'PartyStake', currentStakeAvailable: string, currentStakeAvailableFormatted: string }, accounts?: Array<{ __typename?: 'Account', type: Types.AccountType, balance: string, asset: { __typename?: 'Asset', name: string, id: string, decimals: number, symbol: string, source: { __typename: 'BuiltinAsset' } | { __typename: 'ERC20', contractAddress: string } } }> | null } | null }; + + +export const DelegationsDocument = gql` + query Delegations($partyId: ID!) { + epoch { + id + } + party(id: $partyId) { + id + delegations { + amountFormatted @client + amount + node { + id + name + } + epoch + } + stake { + currentStakeAvailable + currentStakeAvailableFormatted @client + } + accounts { + asset { + name + id + decimals + symbol + source { + __typename + ... on ERC20 { + contractAddress + } + } + } + type + balance + } + } +} + `; + +/** + * __useDelegationsQuery__ + * + * To run a query within a React component, call `useDelegationsQuery` and pass it any options that fit your needs. + * When your component renders, `useDelegationsQuery` returns an object from Apollo Client that contains loading, error, and data properties + * you can use to render your UI. + * + * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options; + * + * @example + * const { data, loading, error } = useDelegationsQuery({ + * variables: { + * partyId: // value for 'partyId' + * }, + * }); + */ +export function useDelegationsQuery(baseOptions: Apollo.QueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useQuery(DelegationsDocument, options); + } +export function useDelegationsLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useLazyQuery(DelegationsDocument, options); + } +export type DelegationsQueryHookResult = ReturnType; +export type DelegationsLazyQueryHookResult = ReturnType; +export type DelegationsQueryResult = Apollo.QueryResult; \ No newline at end of file diff --git a/apps/token/src/hooks/NetworkParams.graphql b/apps/token/src/hooks/NetworkParams.graphql new file mode 100644 index 000000000..fade0b2ce --- /dev/null +++ b/apps/token/src/hooks/NetworkParams.graphql @@ -0,0 +1,6 @@ +query NetworkParams { + networkParameters { + key + value + } +} diff --git a/apps/token/src/hooks/__generated__/Erc20ApprovalPoll.ts b/apps/token/src/hooks/__generated__/Erc20ApprovalPoll.ts deleted file mode 100644 index 468c76bf9..000000000 --- a/apps/token/src/hooks/__generated__/Erc20ApprovalPoll.ts +++ /dev/null @@ -1,48 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -// @generated -// This file was automatically generated and should not be edited. - -// ==================================================== -// GraphQL query operation: Erc20ApprovalPoll -// ==================================================== - -export interface Erc20ApprovalPoll_erc20WithdrawalApproval { - __typename: "Erc20WithdrawalApproval"; - /** - * The source asset in the ethereum network - */ - assetSource: string; - /** - * The amount to be withdrawn - */ - amount: string; - /** - * The nonce to be used in the request - */ - nonce: string; - /** - * Signature aggregate from the nodes, in the following format: - * 0x + sig1 + sig2 + ... + sigN - */ - signatures: string; - /** - * The target address which will receive the funds - */ - targetAddress: string; - /** - * Timestamp in seconds for expiry of the approval - */ - expiry: string; -} - -export interface Erc20ApprovalPoll { - /** - * find an erc20 withdrawal approval using its withdrawal id - */ - erc20WithdrawalApproval: Erc20ApprovalPoll_erc20WithdrawalApproval | null; -} - -export interface Erc20ApprovalPollVariables { - withdrawalId: string; -} diff --git a/apps/token/src/hooks/__generated__/WithdrawalPoll.ts b/apps/token/src/hooks/__generated__/WithdrawalPoll.ts deleted file mode 100644 index ba964b42e..000000000 --- a/apps/token/src/hooks/__generated__/WithdrawalPoll.ts +++ /dev/null @@ -1,93 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -// @generated -// This file was automatically generated and should not be edited. - -import { WithdrawalStatus } from "@vegaprotocol/types"; - -// ==================================================== -// GraphQL query operation: WithdrawalPoll -// ==================================================== - -export interface WithdrawalPoll_party_withdrawals_asset { - __typename: "Asset"; - /** - * The id of the asset - */ - id: string; - /** - * The symbol of the asset (e.g: GBP) - */ - symbol: string; - /** - * The precision of the asset - */ - decimals: number; -} - -export interface WithdrawalPoll_party_withdrawals_details { - __typename: "Erc20WithdrawalDetails"; - /** - * The ethereum address of the receiver of the asset funds - */ - receiverAddress: string; -} - -export interface WithdrawalPoll_party_withdrawals { - __typename: "Withdrawal"; - /** - * The Vega internal id of the withdrawal - */ - id: string; - /** - * The amount to be withdrawn - */ - amount: string; - /** - * The current status of the withdrawal - */ - status: WithdrawalStatus; - /** - * The asset to be withdrawn - */ - asset: WithdrawalPoll_party_withdrawals_asset; - /** - * RFC3339Nano time at which the withdrawal was created - */ - createdTimestamp: string; - /** - * RFC3339Nano time at which the withdrawal was finalized - */ - withdrawnTimestamp: string | null; - /** - * Hash of the transaction on the foreign chain - */ - txHash: string | null; - /** - * Foreign chain specific details about the withdrawal - */ - details: WithdrawalPoll_party_withdrawals_details | null; -} - -export interface WithdrawalPoll_party { - __typename: "Party"; - /** - * Party identifier - */ - id: string; - /** - * The list of all withdrawals initiated by the party - */ - withdrawals: WithdrawalPoll_party_withdrawals[] | null; -} - -export interface WithdrawalPoll { - /** - * An entity that is trading on the VEGA network - */ - party: WithdrawalPoll_party | null; -} - -export interface WithdrawalPollVariables { - partyId: string; -} diff --git a/apps/token/src/hooks/__generated___/NetworkParams.ts b/apps/token/src/hooks/__generated___/NetworkParams.ts new file mode 100644 index 000000000..1208760a1 --- /dev/null +++ b/apps/token/src/hooks/__generated___/NetworkParams.ts @@ -0,0 +1,46 @@ +import * as Types from '@vegaprotocol/types/types'; + +import { gql } from '@apollo/client'; +import * as Apollo from '@apollo/client'; +const defaultOptions = {} as const; +export type NetworkParamsQueryVariables = Types.Exact<{ [key: string]: never; }>; + + +export type NetworkParamsQuery = { __typename?: 'Query', networkParameters?: Array<{ __typename?: 'NetworkParameter', key: string, value: string }> | null }; + + +export const NetworkParamsDocument = gql` + query NetworkParams { + networkParameters { + key + value + } +} + `; + +/** + * __useNetworkParamsQuery__ + * + * To run a query within a React component, call `useNetworkParamsQuery` and pass it any options that fit your needs. + * When your component renders, `useNetworkParamsQuery` returns an object from Apollo Client that contains loading, error, and data properties + * you can use to render your UI. + * + * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options; + * + * @example + * const { data, loading, error } = useNetworkParamsQuery({ + * variables: { + * }, + * }); + */ +export function useNetworkParamsQuery(baseOptions?: Apollo.QueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useQuery(NetworkParamsDocument, options); + } +export function useNetworkParamsLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useLazyQuery(NetworkParamsDocument, options); + } +export type NetworkParamsQueryHookResult = ReturnType; +export type NetworkParamsLazyQueryHookResult = ReturnType; +export type NetworkParamsQueryResult = Apollo.QueryResult; \ No newline at end of file diff --git a/apps/token/src/routes/governance/Proposal.graphql b/apps/token/src/routes/governance/Proposal.graphql new file mode 100644 index 000000000..f792a2c04 --- /dev/null +++ b/apps/token/src/routes/governance/Proposal.graphql @@ -0,0 +1,96 @@ +fragment ProposalFields on Proposal { + id + reference + state + datetime + rejectionReason + errorDetails + party { + id + } + terms { + closingDatetime + enactmentDatetime + change { + ... on NewMarket { + decimalPlaces + metadata + instrument { + name + code + futureProduct { + settlementAsset { + symbol + } + } + } + } + ... on UpdateMarket { + marketId + } + ... on NewAsset { + __typename + name + symbol + source { + ... on BuiltinAsset { + __typename + maxFaucetAmountMint + } + ... on ERC20 { + __typename + contractAddress + } + } + } + ... on UpdateNetworkParameter { + networkParameter { + key + value + } + } + } + } + votes { + yes { + totalTokens + totalNumber + votes { + value + party { + id + stake { + currentStakeAvailable + } + } + datetime + } + } + no { + totalTokens + totalNumber + votes { + value + party { + id + stake { + currentStakeAvailable + } + } + datetime + } + } + } +} + +query Proposal($proposalId: ID!) { + proposal(id: $proposalId) { + ...ProposalFields + } +} + +query Proposals { + proposals { + ...ProposalFields + } +} diff --git a/apps/token/src/routes/governance/__generated___/Proposal.ts b/apps/token/src/routes/governance/__generated___/Proposal.ts new file mode 100644 index 000000000..29e37bd12 --- /dev/null +++ b/apps/token/src/routes/governance/__generated___/Proposal.ts @@ -0,0 +1,174 @@ +import * as Types from '@vegaprotocol/types/types'; + +import { gql } from '@apollo/client'; +import * as Apollo from '@apollo/client'; +const defaultOptions = {} as const; +export type ProposalFieldsFragment = { __typename?: 'Proposal', id?: string | null, reference: string, state: Types.ProposalState, datetime: string, rejectionReason?: Types.ProposalRejectionReason | null, errorDetails?: string | null, party: { __typename?: 'Party', id: string }, terms: { __typename?: 'ProposalTerms', closingDatetime: string, enactmentDatetime?: string | null, change: { __typename: 'NewAsset', name: string, symbol: string, source: { __typename: 'BuiltinAsset', maxFaucetAmountMint: string } | { __typename: 'ERC20', contractAddress: string } } | { __typename?: 'NewFreeform' } | { __typename?: 'NewMarket', decimalPlaces: number, metadata?: Array | null, instrument: { __typename?: 'InstrumentConfiguration', name: string, code: string, futureProduct?: { __typename?: 'FutureProduct', settlementAsset: { __typename?: 'Asset', symbol: string } } | null } } | { __typename?: 'UpdateAsset' } | { __typename?: 'UpdateMarket', marketId: string } | { __typename?: 'UpdateNetworkParameter', networkParameter: { __typename?: 'NetworkParameter', key: string, value: string } } }, votes: { __typename?: 'ProposalVotes', yes: { __typename?: 'ProposalVoteSide', totalTokens: string, totalNumber: string, votes?: Array<{ __typename?: 'Vote', value: Types.VoteValue, datetime: string, party: { __typename?: 'Party', id: string, stake: { __typename?: 'PartyStake', currentStakeAvailable: string } } }> | null }, no: { __typename?: 'ProposalVoteSide', totalTokens: string, totalNumber: string, votes?: Array<{ __typename?: 'Vote', value: Types.VoteValue, datetime: string, party: { __typename?: 'Party', id: string, stake: { __typename?: 'PartyStake', currentStakeAvailable: string } } }> | null } } }; + +export type ProposalQueryVariables = Types.Exact<{ + proposalId: Types.Scalars['ID']; +}>; + + +export type ProposalQuery = { __typename?: 'Query', proposal: { __typename?: 'Proposal', id?: string | null, reference: string, state: Types.ProposalState, datetime: string, rejectionReason?: Types.ProposalRejectionReason | null, errorDetails?: string | null, party: { __typename?: 'Party', id: string }, terms: { __typename?: 'ProposalTerms', closingDatetime: string, enactmentDatetime?: string | null, change: { __typename: 'NewAsset', name: string, symbol: string, source: { __typename: 'BuiltinAsset', maxFaucetAmountMint: string } | { __typename: 'ERC20', contractAddress: string } } | { __typename?: 'NewFreeform' } | { __typename?: 'NewMarket', decimalPlaces: number, metadata?: Array | null, instrument: { __typename?: 'InstrumentConfiguration', name: string, code: string, futureProduct?: { __typename?: 'FutureProduct', settlementAsset: { __typename?: 'Asset', symbol: string } } | null } } | { __typename?: 'UpdateAsset' } | { __typename?: 'UpdateMarket', marketId: string } | { __typename?: 'UpdateNetworkParameter', networkParameter: { __typename?: 'NetworkParameter', key: string, value: string } } }, votes: { __typename?: 'ProposalVotes', yes: { __typename?: 'ProposalVoteSide', totalTokens: string, totalNumber: string, votes?: Array<{ __typename?: 'Vote', value: Types.VoteValue, datetime: string, party: { __typename?: 'Party', id: string, stake: { __typename?: 'PartyStake', currentStakeAvailable: string } } }> | null }, no: { __typename?: 'ProposalVoteSide', totalTokens: string, totalNumber: string, votes?: Array<{ __typename?: 'Vote', value: Types.VoteValue, datetime: string, party: { __typename?: 'Party', id: string, stake: { __typename?: 'PartyStake', currentStakeAvailable: string } } }> | null } } } }; + +export type ProposalsQueryVariables = Types.Exact<{ [key: string]: never; }>; + + +export type ProposalsQuery = { __typename?: 'Query', proposals?: Array<{ __typename?: 'Proposal', id?: string | null, reference: string, state: Types.ProposalState, datetime: string, rejectionReason?: Types.ProposalRejectionReason | null, errorDetails?: string | null, party: { __typename?: 'Party', id: string }, terms: { __typename?: 'ProposalTerms', closingDatetime: string, enactmentDatetime?: string | null, change: { __typename: 'NewAsset', name: string, symbol: string, source: { __typename: 'BuiltinAsset', maxFaucetAmountMint: string } | { __typename: 'ERC20', contractAddress: string } } | { __typename?: 'NewFreeform' } | { __typename?: 'NewMarket', decimalPlaces: number, metadata?: Array | null, instrument: { __typename?: 'InstrumentConfiguration', name: string, code: string, futureProduct?: { __typename?: 'FutureProduct', settlementAsset: { __typename?: 'Asset', symbol: string } } | null } } | { __typename?: 'UpdateAsset' } | { __typename?: 'UpdateMarket', marketId: string } | { __typename?: 'UpdateNetworkParameter', networkParameter: { __typename?: 'NetworkParameter', key: string, value: string } } }, votes: { __typename?: 'ProposalVotes', yes: { __typename?: 'ProposalVoteSide', totalTokens: string, totalNumber: string, votes?: Array<{ __typename?: 'Vote', value: Types.VoteValue, datetime: string, party: { __typename?: 'Party', id: string, stake: { __typename?: 'PartyStake', currentStakeAvailable: string } } }> | null }, no: { __typename?: 'ProposalVoteSide', totalTokens: string, totalNumber: string, votes?: Array<{ __typename?: 'Vote', value: Types.VoteValue, datetime: string, party: { __typename?: 'Party', id: string, stake: { __typename?: 'PartyStake', currentStakeAvailable: string } } }> | null } } }> | null }; + +export const ProposalFieldsFragmentDoc = gql` + fragment ProposalFields on Proposal { + id + reference + state + datetime + rejectionReason + errorDetails + party { + id + } + terms { + closingDatetime + enactmentDatetime + change { + ... on NewMarket { + decimalPlaces + metadata + instrument { + name + code + futureProduct { + settlementAsset { + symbol + } + } + } + } + ... on UpdateMarket { + marketId + } + ... on NewAsset { + __typename + name + symbol + source { + ... on BuiltinAsset { + __typename + maxFaucetAmountMint + } + ... on ERC20 { + __typename + contractAddress + } + } + } + ... on UpdateNetworkParameter { + networkParameter { + key + value + } + } + } + } + votes { + yes { + totalTokens + totalNumber + votes { + value + party { + id + stake { + currentStakeAvailable + } + } + datetime + } + } + no { + totalTokens + totalNumber + votes { + value + party { + id + stake { + currentStakeAvailable + } + } + datetime + } + } + } +} + `; +export const ProposalDocument = gql` + query Proposal($proposalId: ID!) { + proposal(id: $proposalId) { + ...ProposalFields + } +} + ${ProposalFieldsFragmentDoc}`; + +/** + * __useProposalQuery__ + * + * To run a query within a React component, call `useProposalQuery` and pass it any options that fit your needs. + * When your component renders, `useProposalQuery` returns an object from Apollo Client that contains loading, error, and data properties + * you can use to render your UI. + * + * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options; + * + * @example + * const { data, loading, error } = useProposalQuery({ + * variables: { + * proposalId: // value for 'proposalId' + * }, + * }); + */ +export function useProposalQuery(baseOptions: Apollo.QueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useQuery(ProposalDocument, options); + } +export function useProposalLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useLazyQuery(ProposalDocument, options); + } +export type ProposalQueryHookResult = ReturnType; +export type ProposalLazyQueryHookResult = ReturnType; +export type ProposalQueryResult = Apollo.QueryResult; +export const ProposalsDocument = gql` + query Proposals { + proposals { + ...ProposalFields + } +} + ${ProposalFieldsFragmentDoc}`; + +/** + * __useProposalsQuery__ + * + * To run a query within a React component, call `useProposalsQuery` and pass it any options that fit your needs. + * When your component renders, `useProposalsQuery` returns an object from Apollo Client that contains loading, error, and data properties + * you can use to render your UI. + * + * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options; + * + * @example + * const { data, loading, error } = useProposalsQuery({ + * variables: { + * }, + * }); + */ +export function useProposalsQuery(baseOptions?: Apollo.QueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useQuery(ProposalsDocument, options); + } +export function useProposalsLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useLazyQuery(ProposalsDocument, options); + } +export type ProposalsQueryHookResult = ReturnType; +export type ProposalsLazyQueryHookResult = ReturnType; +export type ProposalsQueryResult = Apollo.QueryResult; \ No newline at end of file diff --git a/apps/token/src/routes/governance/components/vote-details/Stake.graphql b/apps/token/src/routes/governance/components/vote-details/Stake.graphql new file mode 100644 index 000000000..62a50c5d0 --- /dev/null +++ b/apps/token/src/routes/governance/components/vote-details/Stake.graphql @@ -0,0 +1,9 @@ +query VoteButtons($partyId: ID!) { + party(id: $partyId) { + id + stake { + currentStakeAvailable + currentStakeAvailableFormatted @client + } + } +} diff --git a/apps/token/src/routes/governance/components/vote-details/__generated__/VoteButtons.ts b/apps/token/src/routes/governance/components/vote-details/__generated__/VoteButtons.ts index c15e858c8..094fd9d4d 100644 --- a/apps/token/src/routes/governance/components/vote-details/__generated__/VoteButtons.ts +++ b/apps/token/src/routes/governance/components/vote-details/__generated__/VoteButtons.ts @@ -13,6 +13,9 @@ export interface VoteButtons_party_stake { * The stake currently available for the party */ currentStakeAvailable: string; + /** + * The currently available stake formatted by the client + */ currentStakeAvailableFormatted: string; } diff --git a/apps/token/src/routes/governance/components/vote-details/__generated___/Stake.ts b/apps/token/src/routes/governance/components/vote-details/__generated___/Stake.ts new file mode 100644 index 000000000..aa930de95 --- /dev/null +++ b/apps/token/src/routes/governance/components/vote-details/__generated___/Stake.ts @@ -0,0 +1,52 @@ +import * as Types from '@vegaprotocol/types/types'; + +import { gql } from '@apollo/client'; +import * as Apollo from '@apollo/client'; +const defaultOptions = {} as const; +export type VoteButtonsQueryVariables = Types.Exact<{ + partyId: Types.Scalars['ID']; +}>; + + +export type VoteButtonsQuery = { __typename?: 'Query', party?: { __typename?: 'Party', id: string, stake: { __typename?: 'PartyStake', currentStakeAvailable: string, currentStakeAvailableFormatted: string } } | null }; + + +export const VoteButtonsDocument = gql` + query VoteButtons($partyId: ID!) { + party(id: $partyId) { + id + stake { + currentStakeAvailable + currentStakeAvailableFormatted @client + } + } +} + `; + +/** + * __useVoteButtonsQuery__ + * + * To run a query within a React component, call `useVoteButtonsQuery` and pass it any options that fit your needs. + * When your component renders, `useVoteButtonsQuery` returns an object from Apollo Client that contains loading, error, and data properties + * you can use to render your UI. + * + * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options; + * + * @example + * const { data, loading, error } = useVoteButtonsQuery({ + * variables: { + * partyId: // value for 'partyId' + * }, + * }); + */ +export function useVoteButtonsQuery(baseOptions: Apollo.QueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useQuery(VoteButtonsDocument, options); + } +export function useVoteButtonsLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useLazyQuery(VoteButtonsDocument, options); + } +export type VoteButtonsQueryHookResult = ReturnType; +export type VoteButtonsLazyQueryHookResult = ReturnType; +export type VoteButtonsQueryResult = Apollo.QueryResult; \ No newline at end of file diff --git a/apps/token/src/routes/home/NodeData.graphql b/apps/token/src/routes/home/NodeData.graphql new file mode 100644 index 000000000..a7f45f0c5 --- /dev/null +++ b/apps/token/src/routes/home/NodeData.graphql @@ -0,0 +1,6 @@ +query NodeData { + nodeData { + stakedTotal + stakedTotalFormatted @client + } +} diff --git a/apps/token/src/routes/home/__generated__/NodeData.ts b/apps/token/src/routes/home/__generated__/NodeData.ts index 2aa7a6ccd..87c202515 100644 --- a/apps/token/src/routes/home/__generated__/NodeData.ts +++ b/apps/token/src/routes/home/__generated__/NodeData.ts @@ -13,6 +13,9 @@ export interface NodeData_nodeData { * Total staked amount across all nodes */ stakedTotal: string; + /** + * The total staked field formatted by the client + */ stakedTotalFormatted: string; } diff --git a/apps/token/src/routes/home/__generated___/NodeData.ts b/apps/token/src/routes/home/__generated___/NodeData.ts new file mode 100644 index 000000000..b2bc06f54 --- /dev/null +++ b/apps/token/src/routes/home/__generated___/NodeData.ts @@ -0,0 +1,46 @@ +import * as Types from '@vegaprotocol/types/types'; + +import { gql } from '@apollo/client'; +import * as Apollo from '@apollo/client'; +const defaultOptions = {} as const; +export type NodeDataQueryVariables = Types.Exact<{ [key: string]: never; }>; + + +export type NodeDataQuery = { __typename?: 'Query', nodeData?: { __typename?: 'NodeData', stakedTotal: string, stakedTotalFormatted: string } | null }; + + +export const NodeDataDocument = gql` + query NodeData { + nodeData { + stakedTotal + stakedTotalFormatted @client + } +} + `; + +/** + * __useNodeDataQuery__ + * + * To run a query within a React component, call `useNodeDataQuery` and pass it any options that fit your needs. + * When your component renders, `useNodeDataQuery` returns an object from Apollo Client that contains loading, error, and data properties + * you can use to render your UI. + * + * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options; + * + * @example + * const { data, loading, error } = useNodeDataQuery({ + * variables: { + * }, + * }); + */ +export function useNodeDataQuery(baseOptions?: Apollo.QueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useQuery(NodeDataDocument, options); + } +export function useNodeDataLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useLazyQuery(NodeDataDocument, options); + } +export type NodeDataQueryHookResult = ReturnType; +export type NodeDataLazyQueryHookResult = ReturnType; +export type NodeDataQueryResult = Apollo.QueryResult; \ No newline at end of file diff --git a/apps/token/src/routes/rewards/home/Rewards.graphql b/apps/token/src/routes/rewards/home/Rewards.graphql new file mode 100644 index 000000000..c847f6573 --- /dev/null +++ b/apps/token/src/routes/rewards/home/Rewards.graphql @@ -0,0 +1,42 @@ +query Rewards($partyId: ID!) { + party(id: $partyId) { + id + rewardDetails { + asset { + id + symbol + } + rewards { + rewardType + asset { + id + } + party { + id + } + epoch { + id + } + amount + amountFormatted @client + percentageOfTotal + receivedAt + } + totalAmount + totalAmountFormatted @client + } + delegations { + amount + amountFormatted @client + epoch + } + } + epoch { + id + timestamps { + start + end + expiry + } + } +} diff --git a/apps/token/src/routes/rewards/home/__generated__/Epoch.ts b/apps/token/src/routes/rewards/home/__generated__/Epoch.ts deleted file mode 100644 index a9410c6e9..000000000 --- a/apps/token/src/routes/rewards/home/__generated__/Epoch.ts +++ /dev/null @@ -1,43 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -// @generated -// This file was automatically generated and should not be edited. - -// ==================================================== -// GraphQL query operation: Epoch -// ==================================================== - -export interface Epoch_epoch_timestamps { - __typename: "EpochTimestamps"; - /** - * RFC3339 timestamp - Vega time of epoch start, null if not started - */ - start: string | null; - /** - * RFC3339 timestamp - Vega time of epoch end, null if not ended - */ - end: string | null; - /** - * RFC3339 timestamp - Vega time of epoch expiry - */ - expiry: string | null; -} - -export interface Epoch_epoch { - __typename: "Epoch"; - /** - * Presumably this is an integer or something. If there's no such thing, disregard - */ - id: string; - /** - * Timestamps for start/end etc - */ - timestamps: Epoch_epoch_timestamps; -} - -export interface Epoch { - /** - * get data for a specific epoch, if id omitted it gets the current epoch - */ - epoch: Epoch_epoch; -} diff --git a/apps/token/src/routes/rewards/home/__generated__/Rewards.ts b/apps/token/src/routes/rewards/home/__generated__/Rewards.ts index 63d4cb34a..3d659de4d 100644 --- a/apps/token/src/routes/rewards/home/__generated__/Rewards.ts +++ b/apps/token/src/routes/rewards/home/__generated__/Rewards.ts @@ -67,6 +67,9 @@ export interface Rewards_party_rewardDetails_rewards { * Amount received for this reward */ amount: string; + /** + * The amount field formatted by the client + */ amountFormatted: string; /** * Percentage out of the total distributed reward @@ -92,6 +95,9 @@ export interface Rewards_party_rewardDetails { * The total amount of rewards received for this asset. */ totalAmount: string; + /** + * The total amount field formatted by the client + */ totalAmountFormatted: string; } @@ -101,6 +107,9 @@ export interface Rewards_party_delegations { * Amount delegated */ amount: string; + /** + * The amount field formatted by the client + */ amountFormatted: string; /** * Epoch of delegation diff --git a/apps/token/src/routes/rewards/home/__generated___/Rewards.ts b/apps/token/src/routes/rewards/home/__generated___/Rewards.ts new file mode 100644 index 000000000..c39358064 --- /dev/null +++ b/apps/token/src/routes/rewards/home/__generated___/Rewards.ts @@ -0,0 +1,85 @@ +import * as Types from '@vegaprotocol/types/types'; + +import { gql } from '@apollo/client'; +import * as Apollo from '@apollo/client'; +const defaultOptions = {} as const; +export type RewardsQueryVariables = Types.Exact<{ + partyId: Types.Scalars['ID']; +}>; + + +export type RewardsQuery = { __typename?: 'Query', party?: { __typename?: 'Party', id: string, rewardDetails?: Array<{ __typename?: 'RewardPerAssetDetail', totalAmount: string, totalAmountFormatted: string, asset: { __typename?: 'Asset', id: string, symbol: string }, rewards?: Array<{ __typename?: 'Reward', rewardType: Types.AccountType, amount: string, amountFormatted: string, percentageOfTotal: string, receivedAt: string, asset: { __typename?: 'Asset', id: string }, party: { __typename?: 'Party', id: string }, epoch: { __typename?: 'Epoch', id: string } } | null> | null } | null> | null, delegations?: Array<{ __typename?: 'Delegation', amount: string, amountFormatted: string, epoch: number }> | null } | null, epoch: { __typename?: 'Epoch', id: string, timestamps: { __typename?: 'EpochTimestamps', start?: string | null, end?: string | null, expiry?: string | null } } }; + + +export const RewardsDocument = gql` + query Rewards($partyId: ID!) { + party(id: $partyId) { + id + rewardDetails { + asset { + id + symbol + } + rewards { + rewardType + asset { + id + } + party { + id + } + epoch { + id + } + amount + amountFormatted @client + percentageOfTotal + receivedAt + } + totalAmount + totalAmountFormatted @client + } + delegations { + amount + amountFormatted @client + epoch + } + } + epoch { + id + timestamps { + start + end + expiry + } + } +} + `; + +/** + * __useRewardsQuery__ + * + * To run a query within a React component, call `useRewardsQuery` and pass it any options that fit your needs. + * When your component renders, `useRewardsQuery` returns an object from Apollo Client that contains loading, error, and data properties + * you can use to render your UI. + * + * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options; + * + * @example + * const { data, loading, error } = useRewardsQuery({ + * variables: { + * partyId: // value for 'partyId' + * }, + * }); + */ +export function useRewardsQuery(baseOptions: Apollo.QueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useQuery(RewardsDocument, options); + } +export function useRewardsLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useLazyQuery(RewardsDocument, options); + } +export type RewardsQueryHookResult = ReturnType; +export type RewardsLazyQueryHookResult = ReturnType; +export type RewardsQueryResult = Apollo.QueryResult; \ No newline at end of file diff --git a/apps/token/src/routes/staking/Nodes.graphql b/apps/token/src/routes/staking/Nodes.graphql new file mode 100644 index 000000000..7c00c9bab --- /dev/null +++ b/apps/token/src/routes/staking/Nodes.graphql @@ -0,0 +1,23 @@ +query Nodes { + nodes { + avatarUrl + id + name + pubkey + stakedTotal + stakedTotalFormatted @client + pendingStake + pendingStakeFormatted @client + rankingScore { + rankingScore + stakeScore + performanceScore + votingPower + status + } + } + nodeData { + stakedTotal + stakedTotalFormatted @client + } +} diff --git a/apps/token/src/routes/staking/PartyDelegations.graphql b/apps/token/src/routes/staking/PartyDelegations.graphql new file mode 100644 index 000000000..c083a9a40 --- /dev/null +++ b/apps/token/src/routes/staking/PartyDelegations.graphql @@ -0,0 +1,16 @@ +query PartyDelegations($partyId: ID!) { + party(id: $partyId) { + id + delegations { + amount + amountFormatted @client + node { + id + } + epoch + } + } + epoch { + id + } +} diff --git a/apps/token/src/routes/staking/Staking.graphql b/apps/token/src/routes/staking/Staking.graphql new file mode 100644 index 000000000..e12befdff --- /dev/null +++ b/apps/token/src/routes/staking/Staking.graphql @@ -0,0 +1,62 @@ +query Staking($partyId: ID!) { + party(id: $partyId) { + id + stake { + currentStakeAvailable + currentStakeAvailableFormatted @client + } + delegations { + amount + amountFormatted @client + epoch + node { + id + } + } + } + epoch { + id + timestamps { + start + end + expiry + } + } + nodes { + id + name + pubkey + infoUrl + location + ethereumAddress + stakedByOperator + stakedByDelegates + stakedTotal + pendingStake + stakedByOperatorFormatted @client + stakedByDelegatesFormatted @client + stakedTotalFormatted @client + pendingStakeFormatted @client + epochData { + total + offline + online + } + status + rankingScore { + rankingScore + stakeScore + performanceScore + votingPower + stakeScore + } + } + nodeData { + stakedTotal + stakedTotalFormatted @client + totalNodes + inactiveNodes + validatingNodes + uptime + } +} diff --git a/apps/token/src/routes/staking/__generated__/Nodes.ts b/apps/token/src/routes/staking/__generated__/Nodes.ts index 3c08e0f34..1cb2737bf 100644 --- a/apps/token/src/routes/staking/__generated__/Nodes.ts +++ b/apps/token/src/routes/staking/__generated__/Nodes.ts @@ -49,11 +49,17 @@ export interface Nodes_nodes { * Total amount staked on node */ stakedTotal: string; + /** + * The total staked field formatted by the client + */ stakedTotalFormatted: string; /** * Amount of stake on the next epoch */ pendingStake: string; + /** + * The pending staked field formatted by the client + */ pendingStakeFormatted: string; /** * Ranking scores and status for the validator for the current epoch @@ -67,6 +73,9 @@ export interface Nodes_nodeData { * Total staked amount across all nodes */ stakedTotal: string; + /** + * The total staked field formatted by the client + */ stakedTotalFormatted: string; } diff --git a/apps/token/src/routes/staking/__generated__/PartyDelegations.ts b/apps/token/src/routes/staking/__generated__/PartyDelegations.ts index ff1d7c7d3..c6a3ed4fe 100644 --- a/apps/token/src/routes/staking/__generated__/PartyDelegations.ts +++ b/apps/token/src/routes/staking/__generated__/PartyDelegations.ts @@ -21,6 +21,9 @@ export interface PartyDelegations_party_delegations { * Amount delegated */ amount: string; + /** + * The amount field formatted by the client + */ amountFormatted: string; /** * URL of node you are delegating to diff --git a/apps/token/src/routes/staking/__generated__/Staking.ts b/apps/token/src/routes/staking/__generated__/Staking.ts index 506f1f57b..d796170fe 100644 --- a/apps/token/src/routes/staking/__generated__/Staking.ts +++ b/apps/token/src/routes/staking/__generated__/Staking.ts @@ -15,6 +15,9 @@ export interface Staking_party_stake { * The stake currently available for the party */ currentStakeAvailable: string; + /** + * The currently available stake formatted by the client + */ currentStakeAvailableFormatted: string; } @@ -32,6 +35,9 @@ export interface Staking_party_delegations { * Amount delegated */ amount: string; + /** + * The amount field formatted by the client + */ amountFormatted: string; /** * Epoch of delegation @@ -159,9 +165,21 @@ export interface Staking_nodes { * Amount of stake on the next epoch */ pendingStake: string; + /** + * The stakes by operator field formatted by the client + */ stakedByOperatorFormatted: string; + /** + * The stakes by delegates field formatted by the client + */ stakedByDelegatesFormatted: string; + /** + * The total staked field formatted by the client + */ stakedTotalFormatted: string; + /** + * The pending staked field formatted by the client + */ pendingStakeFormatted: string; epochData: Staking_nodes_epochData | null; status: NodeStatus; @@ -177,6 +195,9 @@ export interface Staking_nodeData { * Total staked amount across all nodes */ stakedTotal: string; + /** + * The total staked field formatted by the client + */ stakedTotalFormatted: string; /** * Total number of nodes diff --git a/apps/token/src/routes/staking/__generated___/Nodes.ts b/apps/token/src/routes/staking/__generated___/Nodes.ts new file mode 100644 index 000000000..c51582125 --- /dev/null +++ b/apps/token/src/routes/staking/__generated___/Nodes.ts @@ -0,0 +1,63 @@ +import * as Types from '@vegaprotocol/types/types'; + +import { gql } from '@apollo/client'; +import * as Apollo from '@apollo/client'; +const defaultOptions = {} as const; +export type NodesQueryVariables = Types.Exact<{ [key: string]: never; }>; + + +export type NodesQuery = { __typename?: 'Query', nodes?: Array<{ __typename?: 'Node', avatarUrl?: string | null, id: string, name: string, pubkey: string, stakedTotal: string, stakedTotalFormatted: string, pendingStake: string, pendingStakeFormatted: string, rankingScore: { __typename?: 'RankingScore', rankingScore: string, stakeScore: string, performanceScore: string, votingPower: string, status: Types.ValidatorStatus } }> | null, nodeData?: { __typename?: 'NodeData', stakedTotal: string, stakedTotalFormatted: string } | null }; + + +export const NodesDocument = gql` + query Nodes { + nodes { + avatarUrl + id + name + pubkey + stakedTotal + stakedTotalFormatted @client + pendingStake + pendingStakeFormatted @client + rankingScore { + rankingScore + stakeScore + performanceScore + votingPower + status + } + } + nodeData { + stakedTotal + stakedTotalFormatted @client + } +} + `; + +/** + * __useNodesQuery__ + * + * To run a query within a React component, call `useNodesQuery` and pass it any options that fit your needs. + * When your component renders, `useNodesQuery` returns an object from Apollo Client that contains loading, error, and data properties + * you can use to render your UI. + * + * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options; + * + * @example + * const { data, loading, error } = useNodesQuery({ + * variables: { + * }, + * }); + */ +export function useNodesQuery(baseOptions?: Apollo.QueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useQuery(NodesDocument, options); + } +export function useNodesLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useLazyQuery(NodesDocument, options); + } +export type NodesQueryHookResult = ReturnType; +export type NodesLazyQueryHookResult = ReturnType; +export type NodesQueryResult = Apollo.QueryResult; \ No newline at end of file diff --git a/apps/token/src/routes/staking/__generated___/PartyDelegations.ts b/apps/token/src/routes/staking/__generated___/PartyDelegations.ts new file mode 100644 index 000000000..71ee9e4f9 --- /dev/null +++ b/apps/token/src/routes/staking/__generated___/PartyDelegations.ts @@ -0,0 +1,59 @@ +import * as Types from '@vegaprotocol/types/types'; + +import { gql } from '@apollo/client'; +import * as Apollo from '@apollo/client'; +const defaultOptions = {} as const; +export type PartyDelegationsQueryVariables = Types.Exact<{ + partyId: Types.Scalars['ID']; +}>; + + +export type PartyDelegationsQuery = { __typename?: 'Query', party?: { __typename?: 'Party', id: string, delegations?: Array<{ __typename?: 'Delegation', amount: string, amountFormatted: string, epoch: number, node: { __typename?: 'Node', id: string } }> | null } | null, epoch: { __typename?: 'Epoch', id: string } }; + + +export const PartyDelegationsDocument = gql` + query PartyDelegations($partyId: ID!) { + party(id: $partyId) { + id + delegations { + amount + amountFormatted @client + node { + id + } + epoch + } + } + epoch { + id + } +} + `; + +/** + * __usePartyDelegationsQuery__ + * + * To run a query within a React component, call `usePartyDelegationsQuery` and pass it any options that fit your needs. + * When your component renders, `usePartyDelegationsQuery` returns an object from Apollo Client that contains loading, error, and data properties + * you can use to render your UI. + * + * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options; + * + * @example + * const { data, loading, error } = usePartyDelegationsQuery({ + * variables: { + * partyId: // value for 'partyId' + * }, + * }); + */ +export function usePartyDelegationsQuery(baseOptions: Apollo.QueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useQuery(PartyDelegationsDocument, options); + } +export function usePartyDelegationsLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useLazyQuery(PartyDelegationsDocument, options); + } +export type PartyDelegationsQueryHookResult = ReturnType; +export type PartyDelegationsLazyQueryHookResult = ReturnType; +export type PartyDelegationsQueryResult = Apollo.QueryResult; \ No newline at end of file diff --git a/apps/token/src/routes/staking/__generated___/Staking.ts b/apps/token/src/routes/staking/__generated___/Staking.ts new file mode 100644 index 000000000..af5b483fc --- /dev/null +++ b/apps/token/src/routes/staking/__generated___/Staking.ts @@ -0,0 +1,105 @@ +import * as Types from '@vegaprotocol/types/types'; + +import { gql } from '@apollo/client'; +import * as Apollo from '@apollo/client'; +const defaultOptions = {} as const; +export type StakingQueryVariables = Types.Exact<{ + partyId: Types.Scalars['ID']; +}>; + + +export type StakingQuery = { __typename?: 'Query', party?: { __typename?: 'Party', id: string, stake: { __typename?: 'PartyStake', currentStakeAvailable: string, currentStakeAvailableFormatted: string }, delegations?: Array<{ __typename?: 'Delegation', amount: string, amountFormatted: string, epoch: number, node: { __typename?: 'Node', id: string } }> | null } | null, epoch: { __typename?: 'Epoch', id: string, timestamps: { __typename?: 'EpochTimestamps', start?: string | null, end?: string | null, expiry?: string | null } }, nodes?: Array<{ __typename?: 'Node', id: string, name: string, pubkey: string, infoUrl: string, location: string, ethereumAddress: string, stakedByOperator: string, stakedByDelegates: string, stakedTotal: string, pendingStake: string, stakedByOperatorFormatted: string, stakedByDelegatesFormatted: string, stakedTotalFormatted: string, pendingStakeFormatted: string, status: Types.NodeStatus, epochData?: { __typename?: 'EpochData', total: number, offline: number, online: number } | null, rankingScore: { __typename?: 'RankingScore', rankingScore: string, stakeScore: string, performanceScore: string, votingPower: string } }> | null, nodeData?: { __typename?: 'NodeData', stakedTotal: string, stakedTotalFormatted: string, totalNodes: number, inactiveNodes: number, validatingNodes: number, uptime: number } | null }; + + +export const StakingDocument = gql` + query Staking($partyId: ID!) { + party(id: $partyId) { + id + stake { + currentStakeAvailable + currentStakeAvailableFormatted @client + } + delegations { + amount + amountFormatted @client + epoch + node { + id + } + } + } + epoch { + id + timestamps { + start + end + expiry + } + } + nodes { + id + name + pubkey + infoUrl + location + ethereumAddress + stakedByOperator + stakedByDelegates + stakedTotal + pendingStake + stakedByOperatorFormatted @client + stakedByDelegatesFormatted @client + stakedTotalFormatted @client + pendingStakeFormatted @client + epochData { + total + offline + online + } + status + rankingScore { + rankingScore + stakeScore + performanceScore + votingPower + stakeScore + } + } + nodeData { + stakedTotal + stakedTotalFormatted @client + totalNodes + inactiveNodes + validatingNodes + uptime + } +} + `; + +/** + * __useStakingQuery__ + * + * To run a query within a React component, call `useStakingQuery` and pass it any options that fit your needs. + * When your component renders, `useStakingQuery` returns an object from Apollo Client that contains loading, error, and data properties + * you can use to render your UI. + * + * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options; + * + * @example + * const { data, loading, error } = useStakingQuery({ + * variables: { + * partyId: // value for 'partyId' + * }, + * }); + */ +export function useStakingQuery(baseOptions: Apollo.QueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useQuery(StakingDocument, options); + } +export function useStakingLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useLazyQuery(StakingDocument, options); + } +export type StakingQueryHookResult = ReturnType; +export type StakingLazyQueryHookResult = ReturnType; +export type StakingQueryResult = Apollo.QueryResult; \ No newline at end of file diff --git a/apps/token/src/routes/staking/associate/PartyStakeLinkings.graphql b/apps/token/src/routes/staking/associate/PartyStakeLinkings.graphql new file mode 100644 index 000000000..2f236a0b1 --- /dev/null +++ b/apps/token/src/routes/staking/associate/PartyStakeLinkings.graphql @@ -0,0 +1,12 @@ +query PartyStakeLinkings($partyId: ID!) { + party(id: $partyId) { + id + stake { + linkings { + id + txHash + status + } + } + } +} diff --git a/apps/token/src/routes/staking/associate/__generated___/PartyStakeLinkings.ts b/apps/token/src/routes/staking/associate/__generated___/PartyStakeLinkings.ts new file mode 100644 index 000000000..48dd96edc --- /dev/null +++ b/apps/token/src/routes/staking/associate/__generated___/PartyStakeLinkings.ts @@ -0,0 +1,55 @@ +import * as Types from '@vegaprotocol/types/types'; + +import { gql } from '@apollo/client'; +import * as Apollo from '@apollo/client'; +const defaultOptions = {} as const; +export type PartyStakeLinkingsQueryVariables = Types.Exact<{ + partyId: Types.Scalars['ID']; +}>; + + +export type PartyStakeLinkingsQuery = { __typename?: 'Query', party?: { __typename?: 'Party', id: string, stake: { __typename?: 'PartyStake', linkings?: Array<{ __typename?: 'StakeLinking', id: string, txHash: string, status: Types.StakeLinkingStatus }> | null } } | null }; + + +export const PartyStakeLinkingsDocument = gql` + query PartyStakeLinkings($partyId: ID!) { + party(id: $partyId) { + id + stake { + linkings { + id + txHash + status + } + } + } +} + `; + +/** + * __usePartyStakeLinkingsQuery__ + * + * To run a query within a React component, call `usePartyStakeLinkingsQuery` and pass it any options that fit your needs. + * When your component renders, `usePartyStakeLinkingsQuery` returns an object from Apollo Client that contains loading, error, and data properties + * you can use to render your UI. + * + * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options; + * + * @example + * const { data, loading, error } = usePartyStakeLinkingsQuery({ + * variables: { + * partyId: // value for 'partyId' + * }, + * }); + */ +export function usePartyStakeLinkingsQuery(baseOptions: Apollo.QueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useQuery(PartyStakeLinkingsDocument, options); + } +export function usePartyStakeLinkingsLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useLazyQuery(PartyStakeLinkingsDocument, options); + } +export type PartyStakeLinkingsQueryHookResult = ReturnType; +export type PartyStakeLinkingsLazyQueryHookResult = ReturnType; +export type PartyStakeLinkingsQueryResult = Apollo.QueryResult; \ No newline at end of file diff --git a/apps/trading/.eslintrc.json b/apps/trading/.eslintrc.json index bc7243829..4219c80ff 100644 --- a/apps/trading/.eslintrc.json +++ b/apps/trading/.eslintrc.json @@ -5,7 +5,7 @@ "next", "next/core-web-vitals" ], - "ignorePatterns": ["!**/*", "__generated__"], + "ignorePatterns": ["!**/*", "__generated__", "__generated___"], "overrides": [ { "files": ["*.ts", "*.tsx", "*.js", "*.jsx"], diff --git a/apps/trading/pages/markets/Market.graphql b/apps/trading/pages/markets/Market.graphql new file mode 100644 index 000000000..32c296d05 --- /dev/null +++ b/apps/trading/pages/markets/Market.graphql @@ -0,0 +1,59 @@ +query Market($marketId: ID!, $interval: Interval!, $since: String!) { + market(id: $marketId) { + id + name + tradingMode + state + decimalPlaces + positionDecimalPlaces + data { + market { + id + } + auctionStart + auctionEnd + markPrice + indicativeVolume + indicativePrice + suppliedStake + targetStake + bestBidVolume + bestOfferVolume + bestStaticBidVolume + bestStaticOfferVolume + trigger + } + tradableInstrument { + instrument { + id + name + code + metadata { + tags + } + product { + ... on Future { + oracleSpecForTradingTermination { + id + } + quoteName + settlementAsset { + id + symbol + name + } + } + } + } + } + marketTimestamps { + open + close + } + candles(interval: $interval, since: $since) { + open + close + volume + } + } +} diff --git a/apps/trading/pages/markets/__generated___/Market.ts b/apps/trading/pages/markets/__generated___/Market.ts new file mode 100644 index 000000000..dc98077fa --- /dev/null +++ b/apps/trading/pages/markets/__generated___/Market.ts @@ -0,0 +1,106 @@ +import * as Types from '@vegaprotocol/types/types'; + +import { gql } from '@apollo/client'; +import * as Apollo from '@apollo/client'; +const defaultOptions = {} as const; +export type MarketQueryVariables = Types.Exact<{ + marketId: Types.Scalars['ID']; + interval: Types.Interval; + since: Types.Scalars['String']; +}>; + + +export type MarketQuery = { __typename?: 'Query', market?: { __typename?: 'Market', id: string, name: string, tradingMode: Types.MarketTradingMode, state: Types.MarketState, decimalPlaces: number, positionDecimalPlaces: number, data?: { __typename?: 'MarketData', auctionStart?: string | null, auctionEnd?: string | null, markPrice: string, indicativeVolume: string, indicativePrice: string, suppliedStake?: string | null, targetStake?: string | null, bestBidVolume: string, bestOfferVolume: string, bestStaticBidVolume: string, bestStaticOfferVolume: string, trigger: Types.AuctionTrigger, market: { __typename?: 'Market', id: string } } | null, tradableInstrument: { __typename?: 'TradableInstrument', instrument: { __typename?: 'Instrument', id: string, name: string, code: string, metadata: { __typename?: 'InstrumentMetadata', tags?: Array | null }, product: { __typename?: 'Future', quoteName: string, oracleSpecForTradingTermination: { __typename?: 'OracleSpec', id: string }, settlementAsset: { __typename?: 'Asset', id: string, symbol: string, name: string } } } }, marketTimestamps: { __typename?: 'MarketTimestamps', open?: string | null, close?: string | null }, candles?: Array<{ __typename?: 'Candle', open: string, close: string, volume: string } | null> | null } | null }; + + +export const MarketDocument = gql` + query Market($marketId: ID!, $interval: Interval!, $since: String!) { + market(id: $marketId) { + id + name + tradingMode + state + decimalPlaces + positionDecimalPlaces + data { + market { + id + } + auctionStart + auctionEnd + markPrice + indicativeVolume + indicativePrice + suppliedStake + targetStake + bestBidVolume + bestOfferVolume + bestStaticBidVolume + bestStaticOfferVolume + trigger + } + tradableInstrument { + instrument { + id + name + code + metadata { + tags + } + product { + ... on Future { + oracleSpecForTradingTermination { + id + } + quoteName + settlementAsset { + id + symbol + name + } + } + } + } + } + marketTimestamps { + open + close + } + candles(interval: $interval, since: $since) { + open + close + volume + } + } +} + `; + +/** + * __useMarketQuery__ + * + * To run a query within a React component, call `useMarketQuery` and pass it any options that fit your needs. + * When your component renders, `useMarketQuery` returns an object from Apollo Client that contains loading, error, and data properties + * you can use to render your UI. + * + * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options; + * + * @example + * const { data, loading, error } = useMarketQuery({ + * variables: { + * marketId: // value for 'marketId' + * interval: // value for 'interval' + * since: // value for 'since' + * }, + * }); + */ +export function useMarketQuery(baseOptions: Apollo.QueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useQuery(MarketDocument, options); + } +export function useMarketLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useLazyQuery(MarketDocument, options); + } +export type MarketQueryHookResult = ReturnType; +export type MarketLazyQueryHookResult = ReturnType; +export type MarketQueryResult = Apollo.QueryResult; \ No newline at end of file diff --git a/apps/trading/pages/portfolio/deposit/Deposit.graphql b/apps/trading/pages/portfolio/deposit/Deposit.graphql new file mode 100644 index 000000000..e004bf2f6 --- /dev/null +++ b/apps/trading/pages/portfolio/deposit/Deposit.graphql @@ -0,0 +1,17 @@ +query DepositPage { + assetsConnection { + edges { + node { + id + symbol + name + decimals + source { + ... on ERC20 { + contractAddress + } + } + } + } + } +} diff --git a/apps/trading/pages/portfolio/deposit/__generated___/Deposit.ts b/apps/trading/pages/portfolio/deposit/__generated___/Deposit.ts new file mode 100644 index 000000000..7157ef251 --- /dev/null +++ b/apps/trading/pages/portfolio/deposit/__generated___/Deposit.ts @@ -0,0 +1,57 @@ +import * as Types from '@vegaprotocol/types/types'; + +import { gql } from '@apollo/client'; +import * as Apollo from '@apollo/client'; +const defaultOptions = {} as const; +export type DepositPageQueryVariables = Types.Exact<{ [key: string]: never; }>; + + +export type DepositPageQuery = { __typename?: 'Query', assetsConnection: { __typename?: 'AssetsConnection', edges?: Array<{ __typename?: 'AssetEdge', node: { __typename?: 'Asset', id: string, symbol: string, name: string, decimals: number, source: { __typename?: 'BuiltinAsset' } | { __typename?: 'ERC20', contractAddress: string } } } | null> | null } }; + + +export const DepositPageDocument = gql` + query DepositPage { + assetsConnection { + edges { + node { + id + symbol + name + decimals + source { + ... on ERC20 { + contractAddress + } + } + } + } + } +} + `; + +/** + * __useDepositPageQuery__ + * + * To run a query within a React component, call `useDepositPageQuery` and pass it any options that fit your needs. + * When your component renders, `useDepositPageQuery` returns an object from Apollo Client that contains loading, error, and data properties + * you can use to render your UI. + * + * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options; + * + * @example + * const { data, loading, error } = useDepositPageQuery({ + * variables: { + * }, + * }); + */ +export function useDepositPageQuery(baseOptions?: Apollo.QueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useQuery(DepositPageDocument, options); + } +export function useDepositPageLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useLazyQuery(DepositPageDocument, options); + } +export type DepositPageQueryHookResult = ReturnType; +export type DepositPageLazyQueryHookResult = ReturnType; +export type DepositPageQueryResult = Apollo.QueryResult; \ No newline at end of file diff --git a/libs/accounts/.eslintrc.json b/libs/accounts/.eslintrc.json index db820c5d0..de2a9b877 100644 --- a/libs/accounts/.eslintrc.json +++ b/libs/accounts/.eslintrc.json @@ -1,6 +1,6 @@ { "extends": ["plugin:@nrwl/nx/react", "../../.eslintrc.json"], - "ignorePatterns": ["!**/*", "__generated__"], + "ignorePatterns": ["!**/*", "__generated__", "__generated___"], "overrides": [ { "files": ["*.ts", "*.tsx", "*.js", "*.jsx"], diff --git a/libs/accounts/src/lib/Accounts.graphql b/libs/accounts/src/lib/Accounts.graphql new file mode 100644 index 000000000..c2b7da82c --- /dev/null +++ b/libs/accounts/src/lib/Accounts.graphql @@ -0,0 +1,34 @@ +fragment AccountFields on Account { + type + balance + market { + id + name + } + asset { + id + symbol + decimals + } +} + +query Accounts($partyId: ID!) { + party(id: $partyId) { + id + accountsConnection { + edges { + node { + type + balance + } + } + } + } +} + +subscription AccountSubscribe($partyId: ID!) { + accounts(partyId: $partyId) { + type + balance + } +} diff --git a/libs/accounts/src/lib/__generated__/index.ts b/libs/accounts/src/lib/__generated__/index.ts deleted file mode 100644 index 8d304cb35..000000000 --- a/libs/accounts/src/lib/__generated__/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -export * from './AccountFields'; -export * from './AccountSubscribe'; -export * from './Accounts'; diff --git a/libs/accounts/src/lib/__generated___/Accounts.ts b/libs/accounts/src/lib/__generated___/Accounts.ts new file mode 100644 index 000000000..92e6e678f --- /dev/null +++ b/libs/accounts/src/lib/__generated___/Accounts.ts @@ -0,0 +1,110 @@ +import * as Types from '@vegaprotocol/types/types'; + +import { gql } from '@apollo/client'; +import * as Apollo from '@apollo/client'; +const defaultOptions = {} as const; +export type AccountFieldsFragment = { __typename?: 'Account', type: Types.AccountType, balance: string, market?: { __typename?: 'Market', id: string, name: string } | null, asset: { __typename?: 'Asset', id: string, symbol: string, decimals: number } }; + +export type AccountsQueryVariables = Types.Exact<{ + partyId: Types.Scalars['ID']; +}>; + + +export type AccountsQuery = { __typename?: 'Query', party?: { __typename?: 'Party', id: string, accountsConnection: { __typename?: 'AccountsConnection', edges?: Array<{ __typename?: 'AccountEdge', node: { __typename?: 'Account', type: Types.AccountType, balance: string } } | null> | null } } | null }; + +export type AccountSubscribeSubscriptionVariables = Types.Exact<{ + partyId: Types.Scalars['ID']; +}>; + + +export type AccountSubscribeSubscription = { __typename?: 'Subscription', accounts: { __typename?: 'Account', type: Types.AccountType, balance: string } }; + +export const AccountFieldsFragmentDoc = gql` + fragment AccountFields on Account { + type + balance + market { + id + name + } + asset { + id + symbol + decimals + } +} + `; +export const AccountsDocument = gql` + query Accounts($partyId: ID!) { + party(id: $partyId) { + id + accountsConnection { + edges { + node { + type + balance + } + } + } + } +} + `; + +/** + * __useAccountsQuery__ + * + * To run a query within a React component, call `useAccountsQuery` and pass it any options that fit your needs. + * When your component renders, `useAccountsQuery` returns an object from Apollo Client that contains loading, error, and data properties + * you can use to render your UI. + * + * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options; + * + * @example + * const { data, loading, error } = useAccountsQuery({ + * variables: { + * partyId: // value for 'partyId' + * }, + * }); + */ +export function useAccountsQuery(baseOptions: Apollo.QueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useQuery(AccountsDocument, options); + } +export function useAccountsLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useLazyQuery(AccountsDocument, options); + } +export type AccountsQueryHookResult = ReturnType; +export type AccountsLazyQueryHookResult = ReturnType; +export type AccountsQueryResult = Apollo.QueryResult; +export const AccountSubscribeDocument = gql` + subscription AccountSubscribe($partyId: ID!) { + accounts(partyId: $partyId) { + type + balance + } +} + `; + +/** + * __useAccountSubscribeSubscription__ + * + * To run a query within a React component, call `useAccountSubscribeSubscription` and pass it any options that fit your needs. + * When your component renders, `useAccountSubscribeSubscription` returns an object from Apollo Client that contains loading, error, and data properties + * you can use to render your UI. + * + * @param baseOptions options that will be passed into the subscription, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options; + * + * @example + * const { data, loading, error } = useAccountSubscribeSubscription({ + * variables: { + * partyId: // value for 'partyId' + * }, + * }); + */ +export function useAccountSubscribeSubscription(baseOptions: Apollo.SubscriptionHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useSubscription(AccountSubscribeDocument, options); + } +export type AccountSubscribeSubscriptionHookResult = ReturnType; +export type AccountSubscribeSubscriptionResult = Apollo.SubscriptionResult; \ No newline at end of file diff --git a/libs/accounts/src/lib/index.ts b/libs/accounts/src/lib/index.ts index 58ebfe888..867400896 100644 --- a/libs/accounts/src/lib/index.ts +++ b/libs/accounts/src/lib/index.ts @@ -1,4 +1,6 @@ -export * from './__generated__'; +export * from './__generated__/Accounts'; +export * from './__generated__/AccountFields'; +export * from './__generated__/AccountSubscribe'; export * from './accounts-container'; export * from './accounts-data-provider'; export * from './accounts-manager'; diff --git a/libs/assets/.eslintrc.json b/libs/assets/.eslintrc.json index db820c5d0..de2a9b877 100644 --- a/libs/assets/.eslintrc.json +++ b/libs/assets/.eslintrc.json @@ -1,6 +1,6 @@ { "extends": ["plugin:@nrwl/nx/react", "../../.eslintrc.json"], - "ignorePatterns": ["!**/*", "__generated__"], + "ignorePatterns": ["!**/*", "__generated__", "__generated___"], "overrides": [ { "files": ["*.ts", "*.tsx", "*.js", "*.jsx"], diff --git a/libs/assets/src/lib/Assets.graphql b/libs/assets/src/lib/Assets.graphql new file mode 100644 index 000000000..996835bfd --- /dev/null +++ b/libs/assets/src/lib/Assets.graphql @@ -0,0 +1,20 @@ +query AssetsConnection { + assetsConnection { + edges { + node { + id + name + symbol + decimals + quantum + source { + ... on ERC20 { + contractAddress + lifetimeLimit + withdrawThreshold + } + } + } + } + } +} diff --git a/libs/assets/src/lib/__generated___/Assets.ts b/libs/assets/src/lib/__generated___/Assets.ts new file mode 100644 index 000000000..a59ce11a4 --- /dev/null +++ b/libs/assets/src/lib/__generated___/Assets.ts @@ -0,0 +1,60 @@ +import * as Types from '@vegaprotocol/types/types'; + +import { gql } from '@apollo/client'; +import * as Apollo from '@apollo/client'; +const defaultOptions = {} as const; +export type AssetsConnectionQueryVariables = Types.Exact<{ [key: string]: never; }>; + + +export type AssetsConnectionQuery = { __typename?: 'Query', assetsConnection: { __typename?: 'AssetsConnection', edges?: Array<{ __typename?: 'AssetEdge', node: { __typename?: 'Asset', id: string, name: string, symbol: string, decimals: number, quantum: string, source: { __typename?: 'BuiltinAsset' } | { __typename?: 'ERC20', contractAddress: string, lifetimeLimit: string, withdrawThreshold: string } } } | null> | null } }; + + +export const AssetsConnectionDocument = gql` + query AssetsConnection { + assetsConnection { + edges { + node { + id + name + symbol + decimals + quantum + source { + ... on ERC20 { + contractAddress + lifetimeLimit + withdrawThreshold + } + } + } + } + } +} + `; + +/** + * __useAssetsConnectionQuery__ + * + * To run a query within a React component, call `useAssetsConnectionQuery` and pass it any options that fit your needs. + * When your component renders, `useAssetsConnectionQuery` returns an object from Apollo Client that contains loading, error, and data properties + * you can use to render your UI. + * + * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options; + * + * @example + * const { data, loading, error } = useAssetsConnectionQuery({ + * variables: { + * }, + * }); + */ +export function useAssetsConnectionQuery(baseOptions?: Apollo.QueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useQuery(AssetsConnectionDocument, options); + } +export function useAssetsConnectionLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useLazyQuery(AssetsConnectionDocument, options); + } +export type AssetsConnectionQueryHookResult = ReturnType; +export type AssetsConnectionLazyQueryHookResult = ReturnType; +export type AssetsConnectionQueryResult = Apollo.QueryResult; \ No newline at end of file diff --git a/libs/assets/src/lib/index.ts b/libs/assets/src/lib/index.ts index 2fca25b42..513d2726b 100644 --- a/libs/assets/src/lib/index.ts +++ b/libs/assets/src/lib/index.ts @@ -1 +1,2 @@ +export * from './__generated__/AssetsConnection'; export * from './asset-details-dialog'; diff --git a/libs/candles-chart/.eslintrc.json b/libs/candles-chart/.eslintrc.json index db820c5d0..de2a9b877 100644 --- a/libs/candles-chart/.eslintrc.json +++ b/libs/candles-chart/.eslintrc.json @@ -1,6 +1,6 @@ { "extends": ["plugin:@nrwl/nx/react", "../../.eslintrc.json"], - "ignorePatterns": ["!**/*", "__generated__"], + "ignorePatterns": ["!**/*", "__generated__", "__generated___"], "overrides": [ { "files": ["*.ts", "*.tsx", "*.js", "*.jsx"], diff --git a/libs/candles-chart/src/lib/Candles.graphql b/libs/candles-chart/src/lib/Candles.graphql new file mode 100644 index 000000000..931453460 --- /dev/null +++ b/libs/candles-chart/src/lib/Candles.graphql @@ -0,0 +1,31 @@ +fragment CandleFields on Candle { + datetime + high + low + open + close + volume +} + +query Candles($marketId: ID!, $interval: Interval!, $since: String!) { + market(id: $marketId) { + id + decimalPlaces + tradableInstrument { + instrument { + id + name + code + } + } + candles(interval: $interval, since: $since) { + ...CandleFields + } + } +} + +subscription CandlesSub($marketId: ID!, $interval: Interval!) { + candles(marketId: $marketId, interval: $interval) { + ...CandleFields + } +} diff --git a/libs/candles-chart/src/lib/Chart.graphql b/libs/candles-chart/src/lib/Chart.graphql new file mode 100644 index 000000000..217f05ba6 --- /dev/null +++ b/libs/candles-chart/src/lib/Chart.graphql @@ -0,0 +1,12 @@ +query Chart($marketId: ID!) { + market(id: $marketId) { + decimalPlaces + data { + priceMonitoringBounds { + minValidPrice + maxValidPrice + referencePrice + } + } + } +} diff --git a/libs/candles-chart/src/lib/__generated__/index.ts b/libs/candles-chart/src/lib/__generated__/index.ts deleted file mode 100644 index fe793f3c2..000000000 --- a/libs/candles-chart/src/lib/__generated__/index.ts +++ /dev/null @@ -1,4 +0,0 @@ -export * from './CandleFields'; -export * from './Candles'; -export * from './CandlesSub'; -export * from './Chart'; diff --git a/libs/candles-chart/src/lib/__generated___/Candles.ts b/libs/candles-chart/src/lib/__generated___/Candles.ts new file mode 100644 index 000000000..bceb3114d --- /dev/null +++ b/libs/candles-chart/src/lib/__generated___/Candles.ts @@ -0,0 +1,113 @@ +import * as Types from '@vegaprotocol/types/types'; + +import { gql } from '@apollo/client'; +import * as Apollo from '@apollo/client'; +const defaultOptions = {} as const; +export type CandleFieldsFragment = { __typename?: 'Candle', datetime: string, high: string, low: string, open: string, close: string, volume: string }; + +export type CandlesQueryVariables = Types.Exact<{ + marketId: Types.Scalars['ID']; + interval: Types.Interval; + since: Types.Scalars['String']; +}>; + + +export type CandlesQuery = { __typename?: 'Query', market?: { __typename?: 'Market', id: string, decimalPlaces: number, tradableInstrument: { __typename?: 'TradableInstrument', instrument: { __typename?: 'Instrument', id: string, name: string, code: string } }, candles?: Array<{ __typename?: 'Candle', datetime: string, high: string, low: string, open: string, close: string, volume: string } | null> | null } | null }; + +export type CandlesSubSubscriptionVariables = Types.Exact<{ + marketId: Types.Scalars['ID']; + interval: Types.Interval; +}>; + + +export type CandlesSubSubscription = { __typename?: 'Subscription', candles: { __typename?: 'Candle', datetime: string, high: string, low: string, open: string, close: string, volume: string } }; + +export const CandleFieldsFragmentDoc = gql` + fragment CandleFields on Candle { + datetime + high + low + open + close + volume +} + `; +export const CandlesDocument = gql` + query Candles($marketId: ID!, $interval: Interval!, $since: String!) { + market(id: $marketId) { + id + decimalPlaces + tradableInstrument { + instrument { + id + name + code + } + } + candles(interval: $interval, since: $since) { + ...CandleFields + } + } +} + ${CandleFieldsFragmentDoc}`; + +/** + * __useCandlesQuery__ + * + * To run a query within a React component, call `useCandlesQuery` and pass it any options that fit your needs. + * When your component renders, `useCandlesQuery` returns an object from Apollo Client that contains loading, error, and data properties + * you can use to render your UI. + * + * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options; + * + * @example + * const { data, loading, error } = useCandlesQuery({ + * variables: { + * marketId: // value for 'marketId' + * interval: // value for 'interval' + * since: // value for 'since' + * }, + * }); + */ +export function useCandlesQuery(baseOptions: Apollo.QueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useQuery(CandlesDocument, options); + } +export function useCandlesLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useLazyQuery(CandlesDocument, options); + } +export type CandlesQueryHookResult = ReturnType; +export type CandlesLazyQueryHookResult = ReturnType; +export type CandlesQueryResult = Apollo.QueryResult; +export const CandlesSubDocument = gql` + subscription CandlesSub($marketId: ID!, $interval: Interval!) { + candles(marketId: $marketId, interval: $interval) { + ...CandleFields + } +} + ${CandleFieldsFragmentDoc}`; + +/** + * __useCandlesSubSubscription__ + * + * To run a query within a React component, call `useCandlesSubSubscription` and pass it any options that fit your needs. + * When your component renders, `useCandlesSubSubscription` returns an object from Apollo Client that contains loading, error, and data properties + * you can use to render your UI. + * + * @param baseOptions options that will be passed into the subscription, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options; + * + * @example + * const { data, loading, error } = useCandlesSubSubscription({ + * variables: { + * marketId: // value for 'marketId' + * interval: // value for 'interval' + * }, + * }); + */ +export function useCandlesSubSubscription(baseOptions: Apollo.SubscriptionHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useSubscription(CandlesSubDocument, options); + } +export type CandlesSubSubscriptionHookResult = ReturnType; +export type CandlesSubSubscriptionResult = Apollo.SubscriptionResult; \ No newline at end of file diff --git a/libs/candles-chart/src/lib/__generated___/Chart.ts b/libs/candles-chart/src/lib/__generated___/Chart.ts new file mode 100644 index 000000000..4e1b09874 --- /dev/null +++ b/libs/candles-chart/src/lib/__generated___/Chart.ts @@ -0,0 +1,55 @@ +import * as Types from '@vegaprotocol/types/types'; + +import { gql } from '@apollo/client'; +import * as Apollo from '@apollo/client'; +const defaultOptions = {} as const; +export type ChartQueryVariables = Types.Exact<{ + marketId: Types.Scalars['ID']; +}>; + + +export type ChartQuery = { __typename?: 'Query', market?: { __typename?: 'Market', decimalPlaces: number, data?: { __typename?: 'MarketData', priceMonitoringBounds?: Array<{ __typename?: 'PriceMonitoringBounds', minValidPrice: string, maxValidPrice: string, referencePrice: string }> | null } | null } | null }; + + +export const ChartDocument = gql` + query Chart($marketId: ID!) { + market(id: $marketId) { + decimalPlaces + data { + priceMonitoringBounds { + minValidPrice + maxValidPrice + referencePrice + } + } + } +} + `; + +/** + * __useChartQuery__ + * + * To run a query within a React component, call `useChartQuery` and pass it any options that fit your needs. + * When your component renders, `useChartQuery` returns an object from Apollo Client that contains loading, error, and data properties + * you can use to render your UI. + * + * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options; + * + * @example + * const { data, loading, error } = useChartQuery({ + * variables: { + * marketId: // value for 'marketId' + * }, + * }); + */ +export function useChartQuery(baseOptions: Apollo.QueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useQuery(ChartDocument, options); + } +export function useChartLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useLazyQuery(ChartDocument, options); + } +export type ChartQueryHookResult = ReturnType; +export type ChartLazyQueryHookResult = ReturnType; +export type ChartQueryResult = Apollo.QueryResult; \ No newline at end of file diff --git a/libs/candles-chart/src/lib/index.ts b/libs/candles-chart/src/lib/index.ts index 0b861afa4..97c2a33d3 100644 --- a/libs/candles-chart/src/lib/index.ts +++ b/libs/candles-chart/src/lib/index.ts @@ -1,3 +1,6 @@ -export * from './__generated__'; +export * from './__generated__/CandleFields'; +export * from './__generated__/Candles'; +export * from './__generated__/CandlesSub'; +export * from './__generated__/Chart'; export * from './candles-chart'; export * from './data-source'; diff --git a/libs/deal-ticket/.eslintrc.json b/libs/deal-ticket/.eslintrc.json index db820c5d0..de2a9b877 100644 --- a/libs/deal-ticket/.eslintrc.json +++ b/libs/deal-ticket/.eslintrc.json @@ -1,6 +1,6 @@ { "extends": ["plugin:@nrwl/nx/react", "../../.eslintrc.json"], - "ignorePatterns": ["!**/*", "__generated__"], + "ignorePatterns": ["!**/*", "__generated__", "__generated___"], "overrides": [ { "files": ["*.ts", "*.tsx", "*.js", "*.jsx"], diff --git a/libs/deal-ticket/src/components/DealTicket.graphql b/libs/deal-ticket/src/components/DealTicket.graphql new file mode 100644 index 000000000..a166e6eab --- /dev/null +++ b/libs/deal-ticket/src/components/DealTicket.graphql @@ -0,0 +1,30 @@ +query DealTicketQuery($marketId: ID!) { + market(id: $marketId) { + id + name + decimalPlaces + positionDecimalPlaces + state + tradingMode + tradableInstrument { + instrument { + id + product { + ... on Future { + quoteName + settlementAsset { + id + symbol + name + } + } + } + } + } + depth { + lastTrade { + price + } + } + } +} diff --git a/libs/deal-ticket/src/components/MarketInfo.graphql b/libs/deal-ticket/src/components/MarketInfo.graphql new file mode 100644 index 000000000..26e392243 --- /dev/null +++ b/libs/deal-ticket/src/components/MarketInfo.graphql @@ -0,0 +1,139 @@ +query MarketInfoQuery($marketId: ID!, $interval: Interval!, $since: String!) { + market(id: $marketId) { + id + name + decimalPlaces + positionDecimalPlaces + state + accounts { + type + asset { + id + } + balance + } + tradingMode + accounts { + type + asset { + id + } + balance + } + fees { + factors { + makerFee + infrastructureFee + liquidityFee + } + } + priceMonitoringSettings { + parameters { + triggers { + horizonSecs + probability + auctionExtensionSecs + } + } + } + riskFactors { + market + short + long + } + accounts { + type + asset { + id + } + balance + } + data { + market { + id + } + markPrice + indicativeVolume + bestBidVolume + bestOfferVolume + bestStaticBidVolume + bestStaticOfferVolume + openInterest + bestBidPrice + bestOfferPrice + trigger + priceMonitoringBounds { + minValidPrice + maxValidPrice + trigger { + horizonSecs + probability + auctionExtensionSecs + } + referencePrice + } + } + liquidityMonitoringParameters { + triggeringRatio + targetStakeParameters { + timeWindow + scalingFactor + } + } + candles(interval: $interval, since: $since) { + volume + } + tradableInstrument { + instrument { + id + name + code + metadata { + tags + } + product { + ... on Future { + quoteName + settlementAsset { + id + symbol + name + } + oracleSpecForSettlementPrice { + id + } + oracleSpecForTradingTermination { + id + } + oracleSpecBinding { + settlementPriceProperty + tradingTerminationProperty + } + } + } + } + riskModel { + ... on LogNormalRiskModel { + tau + riskAversionParameter + params { + r + sigma + mu + } + } + ... on SimpleRiskModel { + params { + factorLong + factorShort + } + } + } + } + depth { + lastTrade { + price + } + } + } +} diff --git a/libs/deal-ticket/src/components/MarketNames.graphql b/libs/deal-ticket/src/components/MarketNames.graphql new file mode 100644 index 000000000..ce9722be8 --- /dev/null +++ b/libs/deal-ticket/src/components/MarketNames.graphql @@ -0,0 +1,20 @@ +query MarketNames { + markets { + id + name + state + tradableInstrument { + instrument { + code + metadata { + tags + } + product { + ... on Future { + quoteName + } + } + } + } + } +} diff --git a/libs/deal-ticket/src/components/__generated__/index.ts b/libs/deal-ticket/src/components/__generated__/index.ts deleted file mode 100644 index b9d08aad0..000000000 --- a/libs/deal-ticket/src/components/__generated__/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -export * from './DealTicketQuery'; -export * from './MarketInfoQuery'; -export * from './MarketNames'; diff --git a/libs/deal-ticket/src/components/__generated___/DealTicket.ts b/libs/deal-ticket/src/components/__generated___/DealTicket.ts new file mode 100644 index 000000000..8d88fb1ee --- /dev/null +++ b/libs/deal-ticket/src/components/__generated___/DealTicket.ts @@ -0,0 +1,73 @@ +import * as Types from '@vegaprotocol/types/types'; + +import { gql } from '@apollo/client'; +import * as Apollo from '@apollo/client'; +const defaultOptions = {} as const; +export type DealTicketQueryQueryVariables = Types.Exact<{ + marketId: Types.Scalars['ID']; +}>; + + +export type DealTicketQueryQuery = { __typename?: 'Query', market?: { __typename?: 'Market', id: string, name: string, decimalPlaces: number, positionDecimalPlaces: number, state: Types.MarketState, tradingMode: Types.MarketTradingMode, tradableInstrument: { __typename?: 'TradableInstrument', instrument: { __typename?: 'Instrument', id: string, product: { __typename?: 'Future', quoteName: string, settlementAsset: { __typename?: 'Asset', id: string, symbol: string, name: string } } } }, depth: { __typename?: 'MarketDepth', lastTrade?: { __typename?: 'Trade', price: string } | null } } | null }; + + +export const DealTicketQueryDocument = gql` + query DealTicketQuery($marketId: ID!) { + market(id: $marketId) { + id + name + decimalPlaces + positionDecimalPlaces + state + tradingMode + tradableInstrument { + instrument { + id + product { + ... on Future { + quoteName + settlementAsset { + id + symbol + name + } + } + } + } + } + depth { + lastTrade { + price + } + } + } +} + `; + +/** + * __useDealTicketQueryQuery__ + * + * To run a query within a React component, call `useDealTicketQueryQuery` and pass it any options that fit your needs. + * When your component renders, `useDealTicketQueryQuery` returns an object from Apollo Client that contains loading, error, and data properties + * you can use to render your UI. + * + * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options; + * + * @example + * const { data, loading, error } = useDealTicketQueryQuery({ + * variables: { + * marketId: // value for 'marketId' + * }, + * }); + */ +export function useDealTicketQueryQuery(baseOptions: Apollo.QueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useQuery(DealTicketQueryDocument, options); + } +export function useDealTicketQueryLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useLazyQuery(DealTicketQueryDocument, options); + } +export type DealTicketQueryQueryHookResult = ReturnType; +export type DealTicketQueryLazyQueryHookResult = ReturnType; +export type DealTicketQueryQueryResult = Apollo.QueryResult; \ No newline at end of file diff --git a/libs/deal-ticket/src/components/__generated___/MarketInfo.ts b/libs/deal-ticket/src/components/__generated___/MarketInfo.ts new file mode 100644 index 000000000..54dd4244d --- /dev/null +++ b/libs/deal-ticket/src/components/__generated___/MarketInfo.ts @@ -0,0 +1,186 @@ +import * as Types from '@vegaprotocol/types/types'; + +import { gql } from '@apollo/client'; +import * as Apollo from '@apollo/client'; +const defaultOptions = {} as const; +export type MarketInfoQueryQueryVariables = Types.Exact<{ + marketId: Types.Scalars['ID']; + interval: Types.Interval; + since: Types.Scalars['String']; +}>; + + +export type MarketInfoQueryQuery = { __typename?: 'Query', market?: { __typename?: 'Market', id: string, name: string, decimalPlaces: number, positionDecimalPlaces: number, state: Types.MarketState, tradingMode: Types.MarketTradingMode, accounts?: Array<{ __typename?: 'Account', type: Types.AccountType, balance: string, asset: { __typename?: 'Asset', id: string } }> | null, fees: { __typename?: 'Fees', factors: { __typename?: 'FeeFactors', makerFee: string, infrastructureFee: string, liquidityFee: string } }, priceMonitoringSettings: { __typename?: 'PriceMonitoringSettings', parameters?: { __typename?: 'PriceMonitoringParameters', triggers?: Array<{ __typename?: 'PriceMonitoringTrigger', horizonSecs: number, probability: number, auctionExtensionSecs: number }> | null } | null }, riskFactors?: { __typename?: 'RiskFactor', market: string, short: string, long: string } | null, data?: { __typename?: 'MarketData', markPrice: string, indicativeVolume: string, bestBidVolume: string, bestOfferVolume: string, bestStaticBidVolume: string, bestStaticOfferVolume: string, openInterest: string, bestBidPrice: string, bestOfferPrice: string, trigger: Types.AuctionTrigger, market: { __typename?: 'Market', id: string }, priceMonitoringBounds?: Array<{ __typename?: 'PriceMonitoringBounds', minValidPrice: string, maxValidPrice: string, referencePrice: string, trigger: { __typename?: 'PriceMonitoringTrigger', horizonSecs: number, probability: number, auctionExtensionSecs: number } }> | null } | null, liquidityMonitoringParameters: { __typename?: 'LiquidityMonitoringParameters', triggeringRatio: number, targetStakeParameters: { __typename?: 'TargetStakeParameters', timeWindow: number, scalingFactor: number } }, candles?: Array<{ __typename?: 'Candle', volume: string } | null> | null, tradableInstrument: { __typename?: 'TradableInstrument', instrument: { __typename?: 'Instrument', id: string, name: string, code: string, metadata: { __typename?: 'InstrumentMetadata', tags?: Array | null }, product: { __typename?: 'Future', quoteName: string, settlementAsset: { __typename?: 'Asset', id: string, symbol: string, name: string }, oracleSpecForSettlementPrice: { __typename?: 'OracleSpec', id: string }, oracleSpecForTradingTermination: { __typename?: 'OracleSpec', id: string }, oracleSpecBinding: { __typename?: 'OracleSpecToFutureBinding', settlementPriceProperty: string, tradingTerminationProperty: string } } }, riskModel: { __typename?: 'LogNormalRiskModel', tau: number, riskAversionParameter: number, params: { __typename?: 'LogNormalModelParams', r: number, sigma: number, mu: number } } | { __typename?: 'SimpleRiskModel', params: { __typename?: 'SimpleRiskModelParams', factorLong: number, factorShort: number } } }, depth: { __typename?: 'MarketDepth', lastTrade?: { __typename?: 'Trade', price: string } | null } } | null }; + + +export const MarketInfoQueryDocument = gql` + query MarketInfoQuery($marketId: ID!, $interval: Interval!, $since: String!) { + market(id: $marketId) { + id + name + decimalPlaces + positionDecimalPlaces + state + accounts { + type + asset { + id + } + balance + } + tradingMode + accounts { + type + asset { + id + } + balance + } + fees { + factors { + makerFee + infrastructureFee + liquidityFee + } + } + priceMonitoringSettings { + parameters { + triggers { + horizonSecs + probability + auctionExtensionSecs + } + } + } + riskFactors { + market + short + long + } + accounts { + type + asset { + id + } + balance + } + data { + market { + id + } + markPrice + indicativeVolume + bestBidVolume + bestOfferVolume + bestStaticBidVolume + bestStaticOfferVolume + openInterest + bestBidPrice + bestOfferPrice + trigger + priceMonitoringBounds { + minValidPrice + maxValidPrice + trigger { + horizonSecs + probability + auctionExtensionSecs + } + referencePrice + } + } + liquidityMonitoringParameters { + triggeringRatio + targetStakeParameters { + timeWindow + scalingFactor + } + } + candles(interval: $interval, since: $since) { + volume + } + tradableInstrument { + instrument { + id + name + code + metadata { + tags + } + product { + ... on Future { + quoteName + settlementAsset { + id + symbol + name + } + oracleSpecForSettlementPrice { + id + } + oracleSpecForTradingTermination { + id + } + oracleSpecBinding { + settlementPriceProperty + tradingTerminationProperty + } + } + } + } + riskModel { + ... on LogNormalRiskModel { + tau + riskAversionParameter + params { + r + sigma + mu + } + } + ... on SimpleRiskModel { + params { + factorLong + factorShort + } + } + } + } + depth { + lastTrade { + price + } + } + } +} + `; + +/** + * __useMarketInfoQueryQuery__ + * + * To run a query within a React component, call `useMarketInfoQueryQuery` and pass it any options that fit your needs. + * When your component renders, `useMarketInfoQueryQuery` returns an object from Apollo Client that contains loading, error, and data properties + * you can use to render your UI. + * + * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options; + * + * @example + * const { data, loading, error } = useMarketInfoQueryQuery({ + * variables: { + * marketId: // value for 'marketId' + * interval: // value for 'interval' + * since: // value for 'since' + * }, + * }); + */ +export function useMarketInfoQueryQuery(baseOptions: Apollo.QueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useQuery(MarketInfoQueryDocument, options); + } +export function useMarketInfoQueryLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useLazyQuery(MarketInfoQueryDocument, options); + } +export type MarketInfoQueryQueryHookResult = ReturnType; +export type MarketInfoQueryLazyQueryHookResult = ReturnType; +export type MarketInfoQueryQueryResult = Apollo.QueryResult; \ No newline at end of file diff --git a/libs/deal-ticket/src/components/__generated___/MarketNames.ts b/libs/deal-ticket/src/components/__generated___/MarketNames.ts new file mode 100644 index 000000000..2e9f19474 --- /dev/null +++ b/libs/deal-ticket/src/components/__generated___/MarketNames.ts @@ -0,0 +1,60 @@ +import * as Types from '@vegaprotocol/types/types'; + +import { gql } from '@apollo/client'; +import * as Apollo from '@apollo/client'; +const defaultOptions = {} as const; +export type MarketNamesQueryVariables = Types.Exact<{ [key: string]: never; }>; + + +export type MarketNamesQuery = { __typename?: 'Query', markets?: Array<{ __typename?: 'Market', id: string, name: string, state: Types.MarketState, tradableInstrument: { __typename?: 'TradableInstrument', instrument: { __typename?: 'Instrument', code: string, metadata: { __typename?: 'InstrumentMetadata', tags?: Array | null }, product: { __typename?: 'Future', quoteName: string } } } }> | null }; + + +export const MarketNamesDocument = gql` + query MarketNames { + markets { + id + name + state + tradableInstrument { + instrument { + code + metadata { + tags + } + product { + ... on Future { + quoteName + } + } + } + } + } +} + `; + +/** + * __useMarketNamesQuery__ + * + * To run a query within a React component, call `useMarketNamesQuery` and pass it any options that fit your needs. + * When your component renders, `useMarketNamesQuery` returns an object from Apollo Client that contains loading, error, and data properties + * you can use to render your UI. + * + * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options; + * + * @example + * const { data, loading, error } = useMarketNamesQuery({ + * variables: { + * }, + * }); + */ +export function useMarketNamesQuery(baseOptions?: Apollo.QueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useQuery(MarketNamesDocument, options); + } +export function useMarketNamesLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useLazyQuery(MarketNamesDocument, options); + } +export type MarketNamesQueryHookResult = ReturnType; +export type MarketNamesLazyQueryHookResult = ReturnType; +export type MarketNamesQueryResult = Apollo.QueryResult; \ No newline at end of file diff --git a/libs/deal-ticket/src/components/deal-ticket-container.tsx b/libs/deal-ticket/src/components/deal-ticket-container.tsx index a031309f0..085481e7f 100644 --- a/libs/deal-ticket/src/components/deal-ticket-container.tsx +++ b/libs/deal-ticket/src/components/deal-ticket-container.tsx @@ -2,7 +2,7 @@ import { gql, useQuery } from '@apollo/client'; import { AsyncRenderer, Splash } from '@vegaprotocol/ui-toolkit'; import { DealTicketManager } from './deal-ticket-manager'; import { t } from '@vegaprotocol/react-helpers'; -import type { DealTicketQuery_market, DealTicketQuery } from './__generated__'; +import type { DealTicketQuery_market, DealTicketQuery } from './'; const DEAL_TICKET_QUERY = gql` query DealTicketQuery($marketId: ID!) { diff --git a/libs/deal-ticket/src/components/index.ts b/libs/deal-ticket/src/components/index.ts index 384200706..740de3af5 100644 --- a/libs/deal-ticket/src/components/index.ts +++ b/libs/deal-ticket/src/components/index.ts @@ -1,4 +1,6 @@ -export * from './__generated__'; +export * from './__generated__/DealTicketQuery'; +export * from './__generated__/MarketInfoQuery'; +export * from './__generated__/MarketNames'; export * from './deal-ticket-amount'; export * from './deal-ticket-container'; export * from './deal-ticket-limit-amount'; diff --git a/libs/deal-ticket/src/components/info-market.tsx b/libs/deal-ticket/src/components/info-market.tsx index e7fb234e6..074c2a385 100644 --- a/libs/deal-ticket/src/components/info-market.tsx +++ b/libs/deal-ticket/src/components/info-market.tsx @@ -20,7 +20,7 @@ import { import startCase from 'lodash/startCase'; import pick from 'lodash/pick'; import omit from 'lodash/omit'; -import type { MarketInfoQuery, MarketInfoQuery_market } from './__generated__'; +import type { MarketInfoQuery, MarketInfoQuery_market } from './'; import BigNumber from 'bignumber.js'; import { useQuery } from '@apollo/client'; import { totalFees } from '@vegaprotocol/market-list'; diff --git a/libs/deal-ticket/src/components/market-selector.tsx b/libs/deal-ticket/src/components/market-selector.tsx index 898a5ac0f..eef06a9d2 100644 --- a/libs/deal-ticket/src/components/market-selector.tsx +++ b/libs/deal-ticket/src/components/market-selector.tsx @@ -9,7 +9,7 @@ import React, { import * as DialogPrimitives from '@radix-ui/react-dialog'; import { gql, useQuery } from '@apollo/client'; import classNames from 'classnames'; -import type { DealTicketQuery_market } from './__generated__'; +import type { DealTicketQuery_market } from './'; import { ButtonLink, Icon, diff --git a/libs/deposits/.eslintrc.json b/libs/deposits/.eslintrc.json index db820c5d0..de2a9b877 100644 --- a/libs/deposits/.eslintrc.json +++ b/libs/deposits/.eslintrc.json @@ -1,6 +1,6 @@ { "extends": ["plugin:@nrwl/nx/react", "../../.eslintrc.json"], - "ignorePatterns": ["!**/*", "__generated__"], + "ignorePatterns": ["!**/*", "__generated__", "__generated___"], "overrides": [ { "files": ["*.ts", "*.tsx", "*.js", "*.jsx"], diff --git a/libs/deposits/src/lib/Deposit.graphql b/libs/deposits/src/lib/Deposit.graphql new file mode 100644 index 000000000..390455e17 --- /dev/null +++ b/libs/deposits/src/lib/Deposit.graphql @@ -0,0 +1,11 @@ +subscription DepositEvent($partyId: ID!) { + busEvents(partyId: $partyId, batchSize: 0, types: [Deposit]) { + event { + ... on Deposit { + id + txHash + status + } + } + } +} diff --git a/libs/deposits/src/lib/__generated___/Deposit.ts b/libs/deposits/src/lib/__generated___/Deposit.ts new file mode 100644 index 000000000..ab1a3f633 --- /dev/null +++ b/libs/deposits/src/lib/__generated___/Deposit.ts @@ -0,0 +1,49 @@ +import * as Types from '@vegaprotocol/types/types'; + +import { gql } from '@apollo/client'; +import * as Apollo from '@apollo/client'; +const defaultOptions = {} as const; +export type DepositEventSubscriptionVariables = Types.Exact<{ + partyId: Types.Scalars['ID']; +}>; + + +export type DepositEventSubscription = { __typename?: 'Subscription', busEvents?: Array<{ __typename?: 'BusEvent', event: { __typename?: 'Account' } | { __typename?: 'Asset' } | { __typename?: 'AuctionEvent' } | { __typename?: 'Deposit', id: string, txHash?: string | null, status: Types.DepositStatus } | { __typename?: 'LiquidityProvision' } | { __typename?: 'LossSocialization' } | { __typename?: 'MarginLevels' } | { __typename?: 'Market' } | { __typename?: 'MarketData' } | { __typename?: 'MarketEvent' } | { __typename?: 'MarketTick' } | { __typename?: 'NodeSignature' } | { __typename?: 'OracleSpec' } | { __typename?: 'Order' } | { __typename?: 'Party' } | { __typename?: 'PositionResolution' } | { __typename?: 'Proposal' } | { __typename?: 'RiskFactor' } | { __typename?: 'SettleDistressed' } | { __typename?: 'SettlePosition' } | { __typename?: 'TimeUpdate' } | { __typename?: 'Trade' } | { __typename?: 'TransferResponses' } | { __typename?: 'Vote' } | { __typename?: 'Withdrawal' } }> | null }; + + +export const DepositEventDocument = gql` + subscription DepositEvent($partyId: ID!) { + busEvents(partyId: $partyId, batchSize: 0, types: [Deposit]) { + event { + ... on Deposit { + id + txHash + status + } + } + } +} + `; + +/** + * __useDepositEventSubscription__ + * + * To run a query within a React component, call `useDepositEventSubscription` and pass it any options that fit your needs. + * When your component renders, `useDepositEventSubscription` returns an object from Apollo Client that contains loading, error, and data properties + * you can use to render your UI. + * + * @param baseOptions options that will be passed into the subscription, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options; + * + * @example + * const { data, loading, error } = useDepositEventSubscription({ + * variables: { + * partyId: // value for 'partyId' + * }, + * }); + */ +export function useDepositEventSubscription(baseOptions: Apollo.SubscriptionHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useSubscription(DepositEventDocument, options); + } +export type DepositEventSubscriptionHookResult = ReturnType; +export type DepositEventSubscriptionResult = Apollo.SubscriptionResult; \ No newline at end of file diff --git a/libs/environment/.eslintrc.json b/libs/environment/.eslintrc.json index db820c5d0..de2a9b877 100644 --- a/libs/environment/.eslintrc.json +++ b/libs/environment/.eslintrc.json @@ -1,6 +1,6 @@ { "extends": ["plugin:@nrwl/nx/react", "../../.eslintrc.json"], - "ignorePatterns": ["!**/*", "__generated__"], + "ignorePatterns": ["!**/*", "__generated__", "__generated___"], "overrides": [ { "files": ["*.ts", "*.tsx", "*.js", "*.jsx"], diff --git a/libs/fills/.eslintrc.json b/libs/fills/.eslintrc.json index db820c5d0..de2a9b877 100644 --- a/libs/fills/.eslintrc.json +++ b/libs/fills/.eslintrc.json @@ -1,6 +1,6 @@ { "extends": ["plugin:@nrwl/nx/react", "../../.eslintrc.json"], - "ignorePatterns": ["!**/*", "__generated__"], + "ignorePatterns": ["!**/*", "__generated__", "__generated___"], "overrides": [ { "files": ["*.ts", "*.tsx", "*.js", "*.jsx"], diff --git a/libs/fills/src/lib/Fills.graphql b/libs/fills/src/lib/Fills.graphql new file mode 100644 index 000000000..4db669bb3 --- /dev/null +++ b/libs/fills/src/lib/Fills.graphql @@ -0,0 +1,72 @@ +fragment FillFields on Trade { + id + createdAt + price + size + buyOrder + sellOrder + aggressor + buyer { + id + } + seller { + id + } + buyerFee { + makerFee + infrastructureFee + liquidityFee + } + sellerFee { + makerFee + infrastructureFee + liquidityFee + } + market { + id + name + decimalPlaces + positionDecimalPlaces + tradableInstrument { + instrument { + id + code + product { + ... on Future { + settlementAsset { + id + symbol + decimals + } + } + } + } + } + } +} + +query Fills($partyId: ID!, $marketId: ID, $pagination: Pagination) { + party(id: $partyId) { + id + tradesConnection(marketId: $marketId, pagination: $pagination) { + edges { + node { + ...FillFields + } + cursor + } + pageInfo { + startCursor + endCursor + hasNextPage + hasPreviousPage + } + } + } +} + +subscription FillsSub($partyId: ID!) { + trades(partyId: $partyId) { + ...FillFields + } +} diff --git a/libs/fills/src/lib/__generated___/Fills.ts b/libs/fills/src/lib/__generated___/Fills.ts new file mode 100644 index 000000000..abceb245c --- /dev/null +++ b/libs/fills/src/lib/__generated___/Fills.ts @@ -0,0 +1,152 @@ +import * as Types from '@vegaprotocol/types/types'; + +import { gql } from '@apollo/client'; +import * as Apollo from '@apollo/client'; +const defaultOptions = {} as const; +export type FillFieldsFragment = { __typename?: 'Trade', id: string, createdAt: string, price: string, size: string, buyOrder: string, sellOrder: string, aggressor: Types.Side, buyer: { __typename?: 'Party', id: string }, seller: { __typename?: 'Party', id: string }, buyerFee: { __typename?: 'TradeFee', makerFee: string, infrastructureFee: string, liquidityFee: string }, sellerFee: { __typename?: 'TradeFee', makerFee: string, infrastructureFee: string, liquidityFee: string }, market: { __typename?: 'Market', id: string, name: string, decimalPlaces: number, positionDecimalPlaces: number, tradableInstrument: { __typename?: 'TradableInstrument', instrument: { __typename?: 'Instrument', id: string, code: string, product: { __typename?: 'Future', settlementAsset: { __typename?: 'Asset', id: string, symbol: string, decimals: number } } } } } }; + +export type FillsQueryVariables = Types.Exact<{ + partyId: Types.Scalars['ID']; + marketId?: Types.InputMaybe; + pagination?: Types.InputMaybe; +}>; + + +export type FillsQuery = { __typename?: 'Query', party?: { __typename?: 'Party', id: string, tradesConnection: { __typename?: 'TradeConnection', edges: Array<{ __typename?: 'TradeEdge', cursor: string, node: { __typename?: 'Trade', id: string, createdAt: string, price: string, size: string, buyOrder: string, sellOrder: string, aggressor: Types.Side, buyer: { __typename?: 'Party', id: string }, seller: { __typename?: 'Party', id: string }, buyerFee: { __typename?: 'TradeFee', makerFee: string, infrastructureFee: string, liquidityFee: string }, sellerFee: { __typename?: 'TradeFee', makerFee: string, infrastructureFee: string, liquidityFee: string }, market: { __typename?: 'Market', id: string, name: string, decimalPlaces: number, positionDecimalPlaces: number, tradableInstrument: { __typename?: 'TradableInstrument', instrument: { __typename?: 'Instrument', id: string, code: string, product: { __typename?: 'Future', settlementAsset: { __typename?: 'Asset', id: string, symbol: string, decimals: number } } } } } } }>, pageInfo: { __typename?: 'PageInfo', startCursor: string, endCursor: string, hasNextPage: boolean, hasPreviousPage: boolean } } } | null }; + +export type FillsSubSubscriptionVariables = Types.Exact<{ + partyId: Types.Scalars['ID']; +}>; + + +export type FillsSubSubscription = { __typename?: 'Subscription', trades?: Array<{ __typename?: 'Trade', id: string, createdAt: string, price: string, size: string, buyOrder: string, sellOrder: string, aggressor: Types.Side, buyer: { __typename?: 'Party', id: string }, seller: { __typename?: 'Party', id: string }, buyerFee: { __typename?: 'TradeFee', makerFee: string, infrastructureFee: string, liquidityFee: string }, sellerFee: { __typename?: 'TradeFee', makerFee: string, infrastructureFee: string, liquidityFee: string }, market: { __typename?: 'Market', id: string, name: string, decimalPlaces: number, positionDecimalPlaces: number, tradableInstrument: { __typename?: 'TradableInstrument', instrument: { __typename?: 'Instrument', id: string, code: string, product: { __typename?: 'Future', settlementAsset: { __typename?: 'Asset', id: string, symbol: string, decimals: number } } } } } }> | null }; + +export const FillFieldsFragmentDoc = gql` + fragment FillFields on Trade { + id + createdAt + price + size + buyOrder + sellOrder + aggressor + buyer { + id + } + seller { + id + } + buyerFee { + makerFee + infrastructureFee + liquidityFee + } + sellerFee { + makerFee + infrastructureFee + liquidityFee + } + market { + id + name + decimalPlaces + positionDecimalPlaces + tradableInstrument { + instrument { + id + code + product { + ... on Future { + settlementAsset { + id + symbol + decimals + } + } + } + } + } + } +} + `; +export const FillsDocument = gql` + query Fills($partyId: ID!, $marketId: ID, $pagination: Pagination) { + party(id: $partyId) { + id + tradesConnection(marketId: $marketId, pagination: $pagination) { + edges { + node { + ...FillFields + } + cursor + } + pageInfo { + startCursor + endCursor + hasNextPage + hasPreviousPage + } + } + } +} + ${FillFieldsFragmentDoc}`; + +/** + * __useFillsQuery__ + * + * To run a query within a React component, call `useFillsQuery` and pass it any options that fit your needs. + * When your component renders, `useFillsQuery` returns an object from Apollo Client that contains loading, error, and data properties + * you can use to render your UI. + * + * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options; + * + * @example + * const { data, loading, error } = useFillsQuery({ + * variables: { + * partyId: // value for 'partyId' + * marketId: // value for 'marketId' + * pagination: // value for 'pagination' + * }, + * }); + */ +export function useFillsQuery(baseOptions: Apollo.QueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useQuery(FillsDocument, options); + } +export function useFillsLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useLazyQuery(FillsDocument, options); + } +export type FillsQueryHookResult = ReturnType; +export type FillsLazyQueryHookResult = ReturnType; +export type FillsQueryResult = Apollo.QueryResult; +export const FillsSubDocument = gql` + subscription FillsSub($partyId: ID!) { + trades(partyId: $partyId) { + ...FillFields + } +} + ${FillFieldsFragmentDoc}`; + +/** + * __useFillsSubSubscription__ + * + * To run a query within a React component, call `useFillsSubSubscription` and pass it any options that fit your needs. + * When your component renders, `useFillsSubSubscription` returns an object from Apollo Client that contains loading, error, and data properties + * you can use to render your UI. + * + * @param baseOptions options that will be passed into the subscription, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options; + * + * @example + * const { data, loading, error } = useFillsSubSubscription({ + * variables: { + * partyId: // value for 'partyId' + * }, + * }); + */ +export function useFillsSubSubscription(baseOptions: Apollo.SubscriptionHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useSubscription(FillsSubDocument, options); + } +export type FillsSubSubscriptionHookResult = ReturnType; +export type FillsSubSubscriptionResult = Apollo.SubscriptionResult; \ No newline at end of file diff --git a/libs/governance/.eslintrc.json b/libs/governance/.eslintrc.json index db820c5d0..de2a9b877 100644 --- a/libs/governance/.eslintrc.json +++ b/libs/governance/.eslintrc.json @@ -1,6 +1,6 @@ { "extends": ["plugin:@nrwl/nx/react", "../../.eslintrc.json"], - "ignorePatterns": ["!**/*", "__generated__"], + "ignorePatterns": ["!**/*", "__generated__", "__generated___"], "overrides": [ { "files": ["*.ts", "*.tsx", "*.js", "*.jsx"], diff --git a/libs/governance/src/lib/proposals-hooks/Proposal.graphql b/libs/governance/src/lib/proposals-hooks/Proposal.graphql new file mode 100644 index 000000000..82c11ee53 --- /dev/null +++ b/libs/governance/src/lib/proposals-hooks/Proposal.graphql @@ -0,0 +1,14 @@ +subscription ProposalEvent($partyId: ID!) { + busEvents(partyId: $partyId, batchSize: 0, types: [Proposal]) { + type + event { + ... on Proposal { + id + reference + state + rejectionReason + errorDetails + } + } + } +} diff --git a/libs/governance/src/lib/proposals-hooks/__generated___/Proposal.ts b/libs/governance/src/lib/proposals-hooks/__generated___/Proposal.ts new file mode 100644 index 000000000..b13a16f80 --- /dev/null +++ b/libs/governance/src/lib/proposals-hooks/__generated___/Proposal.ts @@ -0,0 +1,52 @@ +import * as Types from '@vegaprotocol/types/types'; + +import { gql } from '@apollo/client'; +import * as Apollo from '@apollo/client'; +const defaultOptions = {} as const; +export type ProposalEventSubscriptionVariables = Types.Exact<{ + partyId: Types.Scalars['ID']; +}>; + + +export type ProposalEventSubscription = { __typename?: 'Subscription', busEvents?: Array<{ __typename?: 'BusEvent', type: Types.BusEventType, event: { __typename?: 'Account' } | { __typename?: 'Asset' } | { __typename?: 'AuctionEvent' } | { __typename?: 'Deposit' } | { __typename?: 'LiquidityProvision' } | { __typename?: 'LossSocialization' } | { __typename?: 'MarginLevels' } | { __typename?: 'Market' } | { __typename?: 'MarketData' } | { __typename?: 'MarketEvent' } | { __typename?: 'MarketTick' } | { __typename?: 'NodeSignature' } | { __typename?: 'OracleSpec' } | { __typename?: 'Order' } | { __typename?: 'Party' } | { __typename?: 'PositionResolution' } | { __typename?: 'Proposal', id?: string | null, reference: string, state: Types.ProposalState, rejectionReason?: Types.ProposalRejectionReason | null, errorDetails?: string | null } | { __typename?: 'RiskFactor' } | { __typename?: 'SettleDistressed' } | { __typename?: 'SettlePosition' } | { __typename?: 'TimeUpdate' } | { __typename?: 'Trade' } | { __typename?: 'TransferResponses' } | { __typename?: 'Vote' } | { __typename?: 'Withdrawal' } }> | null }; + + +export const ProposalEventDocument = gql` + subscription ProposalEvent($partyId: ID!) { + busEvents(partyId: $partyId, batchSize: 0, types: [Proposal]) { + type + event { + ... on Proposal { + id + reference + state + rejectionReason + errorDetails + } + } + } +} + `; + +/** + * __useProposalEventSubscription__ + * + * To run a query within a React component, call `useProposalEventSubscription` and pass it any options that fit your needs. + * When your component renders, `useProposalEventSubscription` returns an object from Apollo Client that contains loading, error, and data properties + * you can use to render your UI. + * + * @param baseOptions options that will be passed into the subscription, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options; + * + * @example + * const { data, loading, error } = useProposalEventSubscription({ + * variables: { + * partyId: // value for 'partyId' + * }, + * }); + */ +export function useProposalEventSubscription(baseOptions: Apollo.SubscriptionHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useSubscription(ProposalEventDocument, options); + } +export type ProposalEventSubscriptionHookResult = ReturnType; +export type ProposalEventSubscriptionResult = Apollo.SubscriptionResult; \ No newline at end of file diff --git a/libs/market-depth/.eslintrc.json b/libs/market-depth/.eslintrc.json index db820c5d0..de2a9b877 100644 --- a/libs/market-depth/.eslintrc.json +++ b/libs/market-depth/.eslintrc.json @@ -1,6 +1,6 @@ { "extends": ["plugin:@nrwl/nx/react", "../../.eslintrc.json"], - "ignorePatterns": ["!**/*", "__generated__"], + "ignorePatterns": ["!**/*", "__generated__", "__generated___"], "overrides": [ { "files": ["*.ts", "*.tsx", "*.js", "*.jsx"], diff --git a/libs/market-depth/src/lib/MarketDepth.graphql b/libs/market-depth/src/lib/MarketDepth.graphql new file mode 100644 index 000000000..31df77f47 --- /dev/null +++ b/libs/market-depth/src/lib/MarketDepth.graphql @@ -0,0 +1,65 @@ +query MarketDepth($marketId: ID!) { + market(id: $marketId) { + id + decimalPlaces + positionDecimalPlaces + data { + staticMidPrice + marketTradingMode + indicativeVolume + indicativePrice + bestStaticBidPrice + bestStaticOfferPrice + market { + id + } + } + depth { + lastTrade { + price + } + sell { + price + volume + numberOfOrders + } + buy { + price + volume + numberOfOrders + } + sequenceNumber + } + } +} + +subscription MarketDepthSubscription($marketId: ID!) { + marketDepthUpdate(marketId: $marketId) { + market { + id + positionDecimalPlaces + data { + staticMidPrice + marketTradingMode + indicativeVolume + indicativePrice + bestStaticBidPrice + bestStaticOfferPrice + market { + id + } + } + } + sell { + price + volume + numberOfOrders + } + buy { + price + volume + numberOfOrders + } + sequenceNumber + } +} diff --git a/libs/market-depth/src/lib/__generated__/index.ts b/libs/market-depth/src/lib/__generated__/index.ts deleted file mode 100644 index 64c059419..000000000 --- a/libs/market-depth/src/lib/__generated__/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export * from './MarketDepth'; -export * from './MarketDepthSubscription'; diff --git a/libs/market-depth/src/lib/__generated___/MarketDepth.ts b/libs/market-depth/src/lib/__generated___/MarketDepth.ts new file mode 100644 index 000000000..48a8e2f14 --- /dev/null +++ b/libs/market-depth/src/lib/__generated___/MarketDepth.ts @@ -0,0 +1,139 @@ +import * as Types from '@vegaprotocol/types/types'; + +import { gql } from '@apollo/client'; +import * as Apollo from '@apollo/client'; +const defaultOptions = {} as const; +export type MarketDepthQueryVariables = Types.Exact<{ + marketId: Types.Scalars['ID']; +}>; + + +export type MarketDepthQuery = { __typename?: 'Query', market?: { __typename?: 'Market', id: string, decimalPlaces: number, positionDecimalPlaces: number, data?: { __typename?: 'MarketData', staticMidPrice: string, marketTradingMode: Types.MarketTradingMode, indicativeVolume: string, indicativePrice: string, bestStaticBidPrice: string, bestStaticOfferPrice: string, market: { __typename?: 'Market', id: string } } | null, depth: { __typename?: 'MarketDepth', sequenceNumber: string, lastTrade?: { __typename?: 'Trade', price: string } | null, sell?: Array<{ __typename?: 'PriceLevel', price: string, volume: string, numberOfOrders: string }> | null, buy?: Array<{ __typename?: 'PriceLevel', price: string, volume: string, numberOfOrders: string }> | null } } | null }; + +export type MarketDepthSubscriptionSubscriptionVariables = Types.Exact<{ + marketId: Types.Scalars['ID']; +}>; + + +export type MarketDepthSubscriptionSubscription = { __typename?: 'Subscription', marketDepthUpdate: { __typename?: 'MarketDepthUpdate', sequenceNumber: string, market: { __typename?: 'Market', id: string, positionDecimalPlaces: number, data?: { __typename?: 'MarketData', staticMidPrice: string, marketTradingMode: Types.MarketTradingMode, indicativeVolume: string, indicativePrice: string, bestStaticBidPrice: string, bestStaticOfferPrice: string, market: { __typename?: 'Market', id: string } } | null }, sell?: Array<{ __typename?: 'PriceLevel', price: string, volume: string, numberOfOrders: string }> | null, buy?: Array<{ __typename?: 'PriceLevel', price: string, volume: string, numberOfOrders: string }> | null } }; + + +export const MarketDepthDocument = gql` + query MarketDepth($marketId: ID!) { + market(id: $marketId) { + id + decimalPlaces + positionDecimalPlaces + data { + staticMidPrice + marketTradingMode + indicativeVolume + indicativePrice + bestStaticBidPrice + bestStaticOfferPrice + market { + id + } + } + depth { + lastTrade { + price + } + sell { + price + volume + numberOfOrders + } + buy { + price + volume + numberOfOrders + } + sequenceNumber + } + } +} + `; + +/** + * __useMarketDepthQuery__ + * + * To run a query within a React component, call `useMarketDepthQuery` and pass it any options that fit your needs. + * When your component renders, `useMarketDepthQuery` returns an object from Apollo Client that contains loading, error, and data properties + * you can use to render your UI. + * + * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options; + * + * @example + * const { data, loading, error } = useMarketDepthQuery({ + * variables: { + * marketId: // value for 'marketId' + * }, + * }); + */ +export function useMarketDepthQuery(baseOptions: Apollo.QueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useQuery(MarketDepthDocument, options); + } +export function useMarketDepthLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useLazyQuery(MarketDepthDocument, options); + } +export type MarketDepthQueryHookResult = ReturnType; +export type MarketDepthLazyQueryHookResult = ReturnType; +export type MarketDepthQueryResult = Apollo.QueryResult; +export const MarketDepthSubscriptionDocument = gql` + subscription MarketDepthSubscription($marketId: ID!) { + marketDepthUpdate(marketId: $marketId) { + market { + id + positionDecimalPlaces + data { + staticMidPrice + marketTradingMode + indicativeVolume + indicativePrice + bestStaticBidPrice + bestStaticOfferPrice + market { + id + } + } + } + sell { + price + volume + numberOfOrders + } + buy { + price + volume + numberOfOrders + } + sequenceNumber + } +} + `; + +/** + * __useMarketDepthSubscriptionSubscription__ + * + * To run a query within a React component, call `useMarketDepthSubscriptionSubscription` and pass it any options that fit your needs. + * When your component renders, `useMarketDepthSubscriptionSubscription` returns an object from Apollo Client that contains loading, error, and data properties + * you can use to render your UI. + * + * @param baseOptions options that will be passed into the subscription, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options; + * + * @example + * const { data, loading, error } = useMarketDepthSubscriptionSubscription({ + * variables: { + * marketId: // value for 'marketId' + * }, + * }); + */ +export function useMarketDepthSubscriptionSubscription(baseOptions: Apollo.SubscriptionHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useSubscription(MarketDepthSubscriptionDocument, options); + } +export type MarketDepthSubscriptionSubscriptionHookResult = ReturnType; +export type MarketDepthSubscriptionSubscriptionResult = Apollo.SubscriptionResult; \ No newline at end of file diff --git a/libs/market-depth/src/lib/index.ts b/libs/market-depth/src/lib/index.ts index 475756d00..1f989d811 100644 --- a/libs/market-depth/src/lib/index.ts +++ b/libs/market-depth/src/lib/index.ts @@ -1,4 +1,5 @@ -export * from './__generated__'; +export * from './__generated__/MarketDepth'; +export * from './__generated__/MarketDepthSubscription'; export * from './depth-chart'; export * from './market-depth-data-provider'; export * from './orderbook-container'; diff --git a/libs/market-depth/src/lib/use-orderbook-data.spec.tsx b/libs/market-depth/src/lib/use-orderbook-data.spec.tsx index df74e69af..8464ebe72 100644 --- a/libs/market-depth/src/lib/use-orderbook-data.spec.tsx +++ b/libs/market-depth/src/lib/use-orderbook-data.spec.tsx @@ -1,10 +1,7 @@ import { MockedProvider } from '@apollo/client/testing'; import { renderHook, act } from '@testing-library/react'; import { MarketTradingMode } from '@vegaprotocol/types'; -import type { - MarketDepth_market, - MarketDepth_market_data, -} from './__generated__'; +import type { MarketDepth_market, MarketDepth_market_data } from './'; import { useOrderBookData } from './use-orderbook-data'; const mockData: MarketDepth_market = { diff --git a/libs/market-depth/src/lib/use-orderbook-data.ts b/libs/market-depth/src/lib/use-orderbook-data.ts index b94e7cded..ace259830 100644 --- a/libs/market-depth/src/lib/use-orderbook-data.ts +++ b/libs/market-depth/src/lib/use-orderbook-data.ts @@ -2,7 +2,7 @@ import { useCallback, useEffect, useRef, useState } from 'react'; import throttle from 'lodash/throttle'; import { useDataProvider } from '@vegaprotocol/react-helpers'; import dataProvider from './market-depth-data-provider'; -import type { MarketDepth_market } from './__generated__'; +import type { MarketDepth_market } from './'; interface Props { variables: { marketId: string }; diff --git a/libs/market-list/.eslintrc.json b/libs/market-list/.eslintrc.json index db820c5d0..de2a9b877 100644 --- a/libs/market-list/.eslintrc.json +++ b/libs/market-list/.eslintrc.json @@ -1,6 +1,6 @@ { "extends": ["plugin:@nrwl/nx/react", "../../.eslintrc.json"], - "ignorePatterns": ["!**/*", "__generated__"], + "ignorePatterns": ["!**/*", "__generated__", "__generated___"], "overrides": [ { "files": ["*.ts", "*.tsx", "*.js", "*.jsx"], diff --git a/libs/market-list/src/lib/MarketData.graphql b/libs/market-list/src/lib/MarketData.graphql new file mode 100644 index 000000000..5bc5f9906 --- /dev/null +++ b/libs/market-list/src/lib/MarketData.graphql @@ -0,0 +1,75 @@ +fragment MarketDataFields on MarketData { + market { + id + state + tradingMode + } + bestBidPrice + bestOfferPrice + markPrice + trigger + indicativeVolume +} + +query MarketList($interval: Interval!, $since: String!) { + markets { + id + name + decimalPlaces + positionDecimalPlaces + state + tradingMode + fees { + factors { + makerFee + infrastructureFee + liquidityFee + } + } + data { + market { + id + state + tradingMode + } + bestBidPrice + bestOfferPrice + markPrice + trigger + indicativeVolume + } + tradableInstrument { + instrument { + id + name + code + metadata { + tags + } + product { + ... on Future { + settlementAsset { + symbol + } + } + } + } + } + marketTimestamps { + open + close + } + candles(interval: $interval, since: $since) { + open + close + high + low + } + } +} + +subscription MarketDataSub { + marketData { + ...MarketDataFields + } +} diff --git a/libs/market-list/src/lib/__generated__/index.ts b/libs/market-list/src/lib/__generated__/index.ts deleted file mode 100644 index bb8baa234..000000000 --- a/libs/market-list/src/lib/__generated__/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -export * from './MarketDataFields'; -export * from './MarketDataSub'; -export * from './MarketList'; diff --git a/libs/market-list/src/lib/__generated___/MarketData.ts b/libs/market-list/src/lib/__generated___/MarketData.ts new file mode 100644 index 000000000..21a5964ac --- /dev/null +++ b/libs/market-list/src/lib/__generated___/MarketData.ts @@ -0,0 +1,150 @@ +import * as Types from '@vegaprotocol/types/types'; + +import { gql } from '@apollo/client'; +import * as Apollo from '@apollo/client'; +const defaultOptions = {} as const; +export type MarketDataFieldsFragment = { __typename?: 'MarketData', bestBidPrice: string, bestOfferPrice: string, markPrice: string, trigger: Types.AuctionTrigger, indicativeVolume: string, market: { __typename?: 'Market', id: string, state: Types.MarketState, tradingMode: Types.MarketTradingMode } }; + +export type MarketListQueryVariables = Types.Exact<{ + interval: Types.Interval; + since: Types.Scalars['String']; +}>; + + +export type MarketListQuery = { __typename?: 'Query', markets?: Array<{ __typename?: 'Market', id: string, name: string, decimalPlaces: number, positionDecimalPlaces: number, state: Types.MarketState, tradingMode: Types.MarketTradingMode, fees: { __typename?: 'Fees', factors: { __typename?: 'FeeFactors', makerFee: string, infrastructureFee: string, liquidityFee: string } }, data?: { __typename?: 'MarketData', bestBidPrice: string, bestOfferPrice: string, markPrice: string, trigger: Types.AuctionTrigger, indicativeVolume: string, market: { __typename?: 'Market', id: string, state: Types.MarketState, tradingMode: Types.MarketTradingMode } } | null, tradableInstrument: { __typename?: 'TradableInstrument', instrument: { __typename?: 'Instrument', id: string, name: string, code: string, metadata: { __typename?: 'InstrumentMetadata', tags?: Array | null }, product: { __typename?: 'Future', settlementAsset: { __typename?: 'Asset', symbol: string } } } }, marketTimestamps: { __typename?: 'MarketTimestamps', open?: string | null, close?: string | null }, candles?: Array<{ __typename?: 'Candle', open: string, close: string, high: string, low: string } | null> | null }> | null }; + +export type MarketDataSubSubscriptionVariables = Types.Exact<{ [key: string]: never; }>; + + +export type MarketDataSubSubscription = { __typename?: 'Subscription', marketData: { __typename?: 'MarketData', bestBidPrice: string, bestOfferPrice: string, markPrice: string, trigger: Types.AuctionTrigger, indicativeVolume: string, market: { __typename?: 'Market', id: string, state: Types.MarketState, tradingMode: Types.MarketTradingMode } } }; + +export const MarketDataFieldsFragmentDoc = gql` + fragment MarketDataFields on MarketData { + market { + id + state + tradingMode + } + bestBidPrice + bestOfferPrice + markPrice + trigger + indicativeVolume +} + `; +export const MarketListDocument = gql` + query MarketList($interval: Interval!, $since: String!) { + markets { + id + name + decimalPlaces + positionDecimalPlaces + state + tradingMode + fees { + factors { + makerFee + infrastructureFee + liquidityFee + } + } + data { + market { + id + state + tradingMode + } + bestBidPrice + bestOfferPrice + markPrice + trigger + indicativeVolume + } + tradableInstrument { + instrument { + id + name + code + metadata { + tags + } + product { + ... on Future { + settlementAsset { + symbol + } + } + } + } + } + marketTimestamps { + open + close + } + candles(interval: $interval, since: $since) { + open + close + high + low + } + } +} + `; + +/** + * __useMarketListQuery__ + * + * To run a query within a React component, call `useMarketListQuery` and pass it any options that fit your needs. + * When your component renders, `useMarketListQuery` returns an object from Apollo Client that contains loading, error, and data properties + * you can use to render your UI. + * + * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options; + * + * @example + * const { data, loading, error } = useMarketListQuery({ + * variables: { + * interval: // value for 'interval' + * since: // value for 'since' + * }, + * }); + */ +export function useMarketListQuery(baseOptions: Apollo.QueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useQuery(MarketListDocument, options); + } +export function useMarketListLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useLazyQuery(MarketListDocument, options); + } +export type MarketListQueryHookResult = ReturnType; +export type MarketListLazyQueryHookResult = ReturnType; +export type MarketListQueryResult = Apollo.QueryResult; +export const MarketDataSubDocument = gql` + subscription MarketDataSub { + marketData { + ...MarketDataFields + } +} + ${MarketDataFieldsFragmentDoc}`; + +/** + * __useMarketDataSubSubscription__ + * + * To run a query within a React component, call `useMarketDataSubSubscription` and pass it any options that fit your needs. + * When your component renders, `useMarketDataSubSubscription` returns an object from Apollo Client that contains loading, error, and data properties + * you can use to render your UI. + * + * @param baseOptions options that will be passed into the subscription, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options; + * + * @example + * const { data, loading, error } = useMarketDataSubSubscription({ + * variables: { + * }, + * }); + */ +export function useMarketDataSubSubscription(baseOptions?: Apollo.SubscriptionHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useSubscription(MarketDataSubDocument, options); + } +export type MarketDataSubSubscriptionHookResult = ReturnType; +export type MarketDataSubSubscriptionResult = Apollo.SubscriptionResult; \ No newline at end of file diff --git a/libs/market-list/src/lib/components/markets-container/market-list-table.tsx b/libs/market-list/src/lib/components/markets-container/market-list-table.tsx index fd4ef1c38..e19f2dfdd 100644 --- a/libs/market-list/src/lib/components/markets-container/market-list-table.tsx +++ b/libs/market-list/src/lib/components/markets-container/market-list-table.tsx @@ -22,7 +22,7 @@ import { MarketTradingModeMapping, AuctionTriggerMapping, } from '@vegaprotocol/types'; -import type { MarketList_markets } from '../../__generated__'; +import type { MarketList_markets } from '../../'; import { useAssetDetailsDialogStore } from '@vegaprotocol/assets'; type Props = AgGridReactProps | AgReactUiProps; diff --git a/libs/market-list/src/lib/components/markets-container/markets-container.tsx b/libs/market-list/src/lib/components/markets-container/markets-container.tsx index e57da74e6..98c8e3508 100644 --- a/libs/market-list/src/lib/components/markets-container/markets-container.tsx +++ b/libs/market-list/src/lib/components/markets-container/markets-container.tsx @@ -10,7 +10,7 @@ import type { MarketList_markets, MarketList_markets_data, MarketDataSub_marketData, -} from '../../__generated__'; +} from '../../'; import { marketsDataProvider as dataProvider } from '../../markets-data-provider'; import { Interval, MarketState } from '@vegaprotocol/types'; diff --git a/libs/market-list/src/lib/components/select-market.tsx b/libs/market-list/src/lib/components/select-market.tsx index 419a8fad5..130742d2b 100644 --- a/libs/market-list/src/lib/components/select-market.tsx +++ b/libs/market-list/src/lib/components/select-market.tsx @@ -17,7 +17,7 @@ import { } from './select-market-columns'; import { columnHeaders } from './select-market-columns'; import { columns } from './select-market-columns'; -import type { MarketList_markets } from '../__generated__'; +import type { MarketList_markets } from '../'; import { useVegaWallet } from '@vegaprotocol/wallet'; import type { Positions } from '@vegaprotocol/positions'; import { POSITIONS_QUERY } from '@vegaprotocol/positions'; diff --git a/libs/market-list/src/lib/index.ts b/libs/market-list/src/lib/index.ts index 5c41ec6c2..8030e9e48 100644 --- a/libs/market-list/src/lib/index.ts +++ b/libs/market-list/src/lib/index.ts @@ -1,4 +1,6 @@ -export * from './__generated__'; +export * from './__generated__/MarketDataFields'; +export * from './__generated__/MarketList'; +export * from './__generated__/MarketDataSub'; export * from './components'; export * from './utils'; export * from './markets-data-provider'; diff --git a/libs/market-list/src/lib/markets-data-provider.ts b/libs/market-list/src/lib/markets-data-provider.ts index 86d3c9f3c..4eff74ada 100644 --- a/libs/market-list/src/lib/markets-data-provider.ts +++ b/libs/market-list/src/lib/markets-data-provider.ts @@ -6,7 +6,7 @@ import type { MarketDataSub_marketData, MarketList, MarketList_markets, -} from './__generated__'; +} from './'; import { useMemo } from 'react'; import { Interval } from '@vegaprotocol/types'; import { mapDataToMarketList } from './utils'; diff --git a/libs/network-stats/.eslintrc.json b/libs/network-stats/.eslintrc.json index db820c5d0..de2a9b877 100644 --- a/libs/network-stats/.eslintrc.json +++ b/libs/network-stats/.eslintrc.json @@ -1,6 +1,6 @@ { "extends": ["plugin:@nrwl/nx/react", "../../.eslintrc.json"], - "ignorePatterns": ["!**/*", "__generated__"], + "ignorePatterns": ["!**/*", "__generated__", "__generated___"], "overrides": [ { "files": ["*.ts", "*.tsx", "*.js", "*.jsx"], diff --git a/libs/network-stats/src/components/stats-manager/Stats.graphql b/libs/network-stats/src/components/stats-manager/Stats.graphql new file mode 100644 index 000000000..5730803ce --- /dev/null +++ b/libs/network-stats/src/components/stats-manager/Stats.graphql @@ -0,0 +1,23 @@ +query NetworkStats { + nodeData { + stakedTotal + totalNodes + inactiveNodes + validatingNodes + uptime + } + statistics { + status + blockHeight + blockDuration + backlogLength + txPerBlock + tradesPerSecond + ordersPerSecond + averageOrdersPerBlock + vegaTime + appVersion + chainVersion + chainId + } +} diff --git a/libs/network-stats/src/components/stats-manager/__generated___/Stats.ts b/libs/network-stats/src/components/stats-manager/__generated___/Stats.ts new file mode 100644 index 000000000..a629ad1c3 --- /dev/null +++ b/libs/network-stats/src/components/stats-manager/__generated___/Stats.ts @@ -0,0 +1,63 @@ +import * as Types from '@vegaprotocol/types/types'; + +import { gql } from '@apollo/client'; +import * as Apollo from '@apollo/client'; +const defaultOptions = {} as const; +export type NetworkStatsQueryVariables = Types.Exact<{ [key: string]: never; }>; + + +export type NetworkStatsQuery = { __typename?: 'Query', nodeData?: { __typename?: 'NodeData', stakedTotal: string, totalNodes: number, inactiveNodes: number, validatingNodes: number, uptime: number } | null, statistics: { __typename?: 'Statistics', status: string, blockHeight: string, blockDuration: string, backlogLength: string, txPerBlock: string, tradesPerSecond: string, ordersPerSecond: string, averageOrdersPerBlock: string, vegaTime: string, appVersion: string, chainVersion: string, chainId: string } }; + + +export const NetworkStatsDocument = gql` + query NetworkStats { + nodeData { + stakedTotal + totalNodes + inactiveNodes + validatingNodes + uptime + } + statistics { + status + blockHeight + blockDuration + backlogLength + txPerBlock + tradesPerSecond + ordersPerSecond + averageOrdersPerBlock + vegaTime + appVersion + chainVersion + chainId + } +} + `; + +/** + * __useNetworkStatsQuery__ + * + * To run a query within a React component, call `useNetworkStatsQuery` and pass it any options that fit your needs. + * When your component renders, `useNetworkStatsQuery` returns an object from Apollo Client that contains loading, error, and data properties + * you can use to render your UI. + * + * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options; + * + * @example + * const { data, loading, error } = useNetworkStatsQuery({ + * variables: { + * }, + * }); + */ +export function useNetworkStatsQuery(baseOptions?: Apollo.QueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useQuery(NetworkStatsDocument, options); + } +export function useNetworkStatsLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useLazyQuery(NetworkStatsDocument, options); + } +export type NetworkStatsQueryHookResult = ReturnType; +export type NetworkStatsLazyQueryHookResult = ReturnType; +export type NetworkStatsQueryResult = Apollo.QueryResult; \ No newline at end of file diff --git a/libs/orders/.eslintrc.json b/libs/orders/.eslintrc.json index db820c5d0..de2a9b877 100644 --- a/libs/orders/.eslintrc.json +++ b/libs/orders/.eslintrc.json @@ -1,6 +1,6 @@ { "extends": ["plugin:@nrwl/nx/react", "../../.eslintrc.json"], - "ignorePatterns": ["!**/*", "__generated__"], + "ignorePatterns": ["!**/*", "__generated__", "__generated___"], "overrides": [ { "files": ["*.ts", "*.tsx", "*.js", "*.jsx"], diff --git a/libs/orders/src/lib/components/order-data-provider/__generated__/index.ts b/libs/orders/src/lib/components/order-data-provider/__generated__/index.ts deleted file mode 100644 index 9e0340c91..000000000 --- a/libs/orders/src/lib/components/order-data-provider/__generated__/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -export * from './OrderFields'; -export * from './OrderSub'; -export * from './Orders'; diff --git a/libs/orders/src/lib/components/order-data-provider/index.ts b/libs/orders/src/lib/components/order-data-provider/index.ts index d154614ff..13a0cc4e4 100644 --- a/libs/orders/src/lib/components/order-data-provider/index.ts +++ b/libs/orders/src/lib/components/order-data-provider/index.ts @@ -1,2 +1,4 @@ -export * from './__generated__'; +export * from './__generated__/OrderFields'; +export * from './__generated__/OrderSub'; +export * from './__generated__/Orders'; export * from './order-data-provider'; diff --git a/libs/orders/src/lib/components/order-feedback/order-feedback.tsx b/libs/orders/src/lib/components/order-feedback/order-feedback.tsx index e829966f5..7f8981033 100644 --- a/libs/orders/src/lib/components/order-feedback/order-feedback.tsx +++ b/libs/orders/src/lib/components/order-feedback/order-feedback.tsx @@ -1,5 +1,5 @@ import { useEnvironment } from '@vegaprotocol/environment'; -import type { OrderEvent_busEvents_event_Order } from '../../order-hooks/__generated__'; +import type { OrderEvent_busEvents_event_Order } from '../../order-hooks/__generated__/OrderEvent'; import { addDecimalsFormatNumber, t, diff --git a/libs/orders/src/lib/components/order-list/order-list.tsx b/libs/orders/src/lib/components/order-list/order-list.tsx index 3bc939924..926acc68d 100644 --- a/libs/orders/src/lib/components/order-list/order-list.tsx +++ b/libs/orders/src/lib/components/order-list/order-list.tsx @@ -37,7 +37,7 @@ import BigNumber from 'bignumber.js'; import { useOrderCancel } from '../../order-hooks/use-order-cancel'; import { useOrderEdit } from '../../order-hooks/use-order-edit'; import { OrderEditDialog } from './order-edit-dialog'; -import type { OrderFields } from '../order-data-provider/__generated__'; +import type { OrderFields } from '../'; import { OrderFeedback } from '../order-feedback'; type OrderListProps = AgGridReactProps | AgReactUiProps; diff --git a/libs/orders/src/lib/order-hooks/Orders.graphql b/libs/orders/src/lib/order-hooks/Orders.graphql new file mode 100644 index 000000000..82fb1970e --- /dev/null +++ b/libs/orders/src/lib/order-hooks/Orders.graphql @@ -0,0 +1,78 @@ +fragment OrderFields on Order { + id + market { + id + name + decimalPlaces + positionDecimalPlaces + tradableInstrument { + instrument { + id + code + } + } + } + type + side + size + status + rejectionReason + price + timeInForce + remaining + expiresAt + createdAt + updatedAt +} + +query Orders($partyId: ID!, $pagination: Pagination) { + party(id: $partyId) { + id + ordersConnection(pagination: $pagination) { + edges { + node { + ...OrderFields + } + cursor + } + pageInfo { + startCursor + endCursor + hasNextPage + hasPreviousPage + } + } + } +} + +subscription OrderSub($partyId: ID!) { + orders(partyId: $partyId) { + ...OrderFields + } +} + +subscription OrderEvent($partyId: ID!) { + busEvents(partyId: $partyId, batchSize: 0, types: [Order]) { + type + event { + ... on Order { + type + id + status + rejectionReason + createdAt + size + price + timeInForce + expiresAt + side + market { + id + name + decimalPlaces + positionDecimalPlaces + } + } + } + } +} diff --git a/libs/orders/src/lib/order-hooks/__generated__/index.ts b/libs/orders/src/lib/order-hooks/__generated__/index.ts deleted file mode 100644 index 20f35ba26..000000000 --- a/libs/orders/src/lib/order-hooks/__generated__/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './OrderEvent'; diff --git a/libs/orders/src/lib/order-hooks/__generated___/Orders.ts b/libs/orders/src/lib/order-hooks/__generated___/Orders.ts new file mode 100644 index 000000000..37417d7a9 --- /dev/null +++ b/libs/orders/src/lib/order-hooks/__generated___/Orders.ts @@ -0,0 +1,187 @@ +import * as Types from '@vegaprotocol/types/types'; + +import { gql } from '@apollo/client'; +import * as Apollo from '@apollo/client'; +const defaultOptions = {} as const; +export type OrderFieldsFragment = { __typename?: 'Order', id: string, type?: Types.OrderType | null, side: Types.Side, size: string, status: Types.OrderStatus, rejectionReason?: Types.OrderRejectionReason | null, price: string, timeInForce: Types.OrderTimeInForce, remaining: string, expiresAt?: string | null, createdAt: string, updatedAt?: string | null, market: { __typename?: 'Market', id: string, name: string, decimalPlaces: number, positionDecimalPlaces: number, tradableInstrument: { __typename?: 'TradableInstrument', instrument: { __typename?: 'Instrument', id: string, code: string } } } }; + +export type OrdersQueryVariables = Types.Exact<{ + partyId: Types.Scalars['ID']; + pagination?: Types.InputMaybe; +}>; + + +export type OrdersQuery = { __typename?: 'Query', party?: { __typename?: 'Party', id: string, ordersConnection: { __typename?: 'OrderConnection', edges?: Array<{ __typename?: 'OrderEdge', cursor?: string | null, node: { __typename?: 'Order', id: string, type?: Types.OrderType | null, side: Types.Side, size: string, status: Types.OrderStatus, rejectionReason?: Types.OrderRejectionReason | null, price: string, timeInForce: Types.OrderTimeInForce, remaining: string, expiresAt?: string | null, createdAt: string, updatedAt?: string | null, market: { __typename?: 'Market', id: string, name: string, decimalPlaces: number, positionDecimalPlaces: number, tradableInstrument: { __typename?: 'TradableInstrument', instrument: { __typename?: 'Instrument', id: string, code: string } } } } }> | null, pageInfo?: { __typename?: 'PageInfo', startCursor: string, endCursor: string, hasNextPage: boolean, hasPreviousPage: boolean } | null } } | null }; + +export type OrderSubSubscriptionVariables = Types.Exact<{ + partyId: Types.Scalars['ID']; +}>; + + +export type OrderSubSubscription = { __typename?: 'Subscription', orders?: Array<{ __typename?: 'Order', id: string, type?: Types.OrderType | null, side: Types.Side, size: string, status: Types.OrderStatus, rejectionReason?: Types.OrderRejectionReason | null, price: string, timeInForce: Types.OrderTimeInForce, remaining: string, expiresAt?: string | null, createdAt: string, updatedAt?: string | null, market: { __typename?: 'Market', id: string, name: string, decimalPlaces: number, positionDecimalPlaces: number, tradableInstrument: { __typename?: 'TradableInstrument', instrument: { __typename?: 'Instrument', id: string, code: string } } } }> | null }; + +export type OrderEventSubscriptionVariables = Types.Exact<{ + partyId: Types.Scalars['ID']; +}>; + + +export type OrderEventSubscription = { __typename?: 'Subscription', busEvents?: Array<{ __typename?: 'BusEvent', type: Types.BusEventType, event: { __typename?: 'Account' } | { __typename?: 'Asset' } | { __typename?: 'AuctionEvent' } | { __typename?: 'Deposit' } | { __typename?: 'LiquidityProvision' } | { __typename?: 'LossSocialization' } | { __typename?: 'MarginLevels' } | { __typename?: 'Market' } | { __typename?: 'MarketData' } | { __typename?: 'MarketEvent' } | { __typename?: 'MarketTick' } | { __typename?: 'NodeSignature' } | { __typename?: 'OracleSpec' } | { __typename?: 'Order', type?: Types.OrderType | null, id: string, status: Types.OrderStatus, rejectionReason?: Types.OrderRejectionReason | null, createdAt: string, size: string, price: string, timeInForce: Types.OrderTimeInForce, expiresAt?: string | null, side: Types.Side, market: { __typename?: 'Market', id: string, name: string, decimalPlaces: number, positionDecimalPlaces: number } } | { __typename?: 'Party' } | { __typename?: 'PositionResolution' } | { __typename?: 'Proposal' } | { __typename?: 'RiskFactor' } | { __typename?: 'SettleDistressed' } | { __typename?: 'SettlePosition' } | { __typename?: 'TimeUpdate' } | { __typename?: 'Trade' } | { __typename?: 'TransferResponses' } | { __typename?: 'Vote' } | { __typename?: 'Withdrawal' } }> | null }; + +export const OrderFieldsFragmentDoc = gql` + fragment OrderFields on Order { + id + market { + id + name + decimalPlaces + positionDecimalPlaces + tradableInstrument { + instrument { + id + code + } + } + } + type + side + size + status + rejectionReason + price + timeInForce + remaining + expiresAt + createdAt + updatedAt +} + `; +export const OrdersDocument = gql` + query Orders($partyId: ID!, $pagination: Pagination) { + party(id: $partyId) { + id + ordersConnection(pagination: $pagination) { + edges { + node { + ...OrderFields + } + cursor + } + pageInfo { + startCursor + endCursor + hasNextPage + hasPreviousPage + } + } + } +} + ${OrderFieldsFragmentDoc}`; + +/** + * __useOrdersQuery__ + * + * To run a query within a React component, call `useOrdersQuery` and pass it any options that fit your needs. + * When your component renders, `useOrdersQuery` returns an object from Apollo Client that contains loading, error, and data properties + * you can use to render your UI. + * + * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options; + * + * @example + * const { data, loading, error } = useOrdersQuery({ + * variables: { + * partyId: // value for 'partyId' + * pagination: // value for 'pagination' + * }, + * }); + */ +export function useOrdersQuery(baseOptions: Apollo.QueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useQuery(OrdersDocument, options); + } +export function useOrdersLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useLazyQuery(OrdersDocument, options); + } +export type OrdersQueryHookResult = ReturnType; +export type OrdersLazyQueryHookResult = ReturnType; +export type OrdersQueryResult = Apollo.QueryResult; +export const OrderSubDocument = gql` + subscription OrderSub($partyId: ID!) { + orders(partyId: $partyId) { + ...OrderFields + } +} + ${OrderFieldsFragmentDoc}`; + +/** + * __useOrderSubSubscription__ + * + * To run a query within a React component, call `useOrderSubSubscription` and pass it any options that fit your needs. + * When your component renders, `useOrderSubSubscription` returns an object from Apollo Client that contains loading, error, and data properties + * you can use to render your UI. + * + * @param baseOptions options that will be passed into the subscription, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options; + * + * @example + * const { data, loading, error } = useOrderSubSubscription({ + * variables: { + * partyId: // value for 'partyId' + * }, + * }); + */ +export function useOrderSubSubscription(baseOptions: Apollo.SubscriptionHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useSubscription(OrderSubDocument, options); + } +export type OrderSubSubscriptionHookResult = ReturnType; +export type OrderSubSubscriptionResult = Apollo.SubscriptionResult; +export const OrderEventDocument = gql` + subscription OrderEvent($partyId: ID!) { + busEvents(partyId: $partyId, batchSize: 0, types: [Order]) { + type + event { + ... on Order { + type + id + status + rejectionReason + createdAt + size + price + timeInForce + expiresAt + side + market { + id + name + decimalPlaces + positionDecimalPlaces + } + } + } + } +} + `; + +/** + * __useOrderEventSubscription__ + * + * To run a query within a React component, call `useOrderEventSubscription` and pass it any options that fit your needs. + * When your component renders, `useOrderEventSubscription` returns an object from Apollo Client that contains loading, error, and data properties + * you can use to render your UI. + * + * @param baseOptions options that will be passed into the subscription, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options; + * + * @example + * const { data, loading, error } = useOrderEventSubscription({ + * variables: { + * partyId: // value for 'partyId' + * }, + * }); + */ +export function useOrderEventSubscription(baseOptions: Apollo.SubscriptionHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useSubscription(OrderEventDocument, options); + } +export type OrderEventSubscriptionHookResult = ReturnType; +export type OrderEventSubscriptionResult = Apollo.SubscriptionResult; \ No newline at end of file diff --git a/libs/orders/src/lib/order-hooks/index.ts b/libs/orders/src/lib/order-hooks/index.ts index 427149e15..5b4a979df 100644 --- a/libs/orders/src/lib/order-hooks/index.ts +++ b/libs/orders/src/lib/order-hooks/index.ts @@ -1,4 +1,4 @@ -export * from './__generated__'; +export * from './__generated__/OrderEvent'; export * from './order-event-query'; export * from './use-order-cancel'; export * from './use-order-submit'; diff --git a/libs/orders/src/lib/order-hooks/use-order-cancel.spec.tsx b/libs/orders/src/lib/order-hooks/use-order-cancel.spec.tsx index 4656f6a43..38489a2a5 100644 --- a/libs/orders/src/lib/order-hooks/use-order-cancel.spec.tsx +++ b/libs/orders/src/lib/order-hooks/use-order-cancel.spec.tsx @@ -8,10 +8,7 @@ import type { VegaWalletContextShape, } from '@vegaprotocol/wallet'; import { useOrderCancel } from './use-order-cancel'; -import type { - OrderEvent, - OrderEvent_busEvents, -} from './__generated__/OrderEvent'; +import type { OrderEvent, OrderEvent_busEvents } from './'; import { ORDER_EVENT_SUB } from './order-event-query'; const defaultWalletContext = { diff --git a/libs/orders/src/lib/order-hooks/use-order-cancel.tsx b/libs/orders/src/lib/order-hooks/use-order-cancel.tsx index 04b0fb0e1..117e21f90 100644 --- a/libs/orders/src/lib/order-hooks/use-order-cancel.tsx +++ b/libs/orders/src/lib/order-hooks/use-order-cancel.tsx @@ -1,6 +1,6 @@ import { useCallback, useState } from 'react'; import { useVegaWallet, useVegaTransaction } from '@vegaprotocol/wallet'; -import type { OrderEvent_busEvents_event_Order } from './__generated__/OrderEvent'; +import type { OrderEvent_busEvents_event_Order } from './'; import * as Sentry from '@sentry/react'; import { useOrderEvent } from './use-order-event'; diff --git a/libs/orders/src/lib/order-hooks/use-order-edit.spec.tsx b/libs/orders/src/lib/order-hooks/use-order-edit.spec.tsx index 06eb2350b..95b0e4591 100644 --- a/libs/orders/src/lib/order-hooks/use-order-edit.spec.tsx +++ b/libs/orders/src/lib/order-hooks/use-order-edit.spec.tsx @@ -6,10 +6,7 @@ import type { import { VegaTxStatus, VegaWalletContext } from '@vegaprotocol/wallet'; import type { ReactNode } from 'react'; import { useOrderEdit } from './use-order-edit'; -import type { - OrderEvent, - OrderEvent_busEvents, -} from './__generated__/OrderEvent'; +import type { OrderEvent, OrderEvent_busEvents } from './'; import { ORDER_EVENT_SUB } from './order-event-query'; import type { MockedResponse } from '@apollo/client/testing'; import { MockedProvider } from '@apollo/client/testing'; diff --git a/libs/orders/src/lib/order-hooks/use-order-edit.tsx b/libs/orders/src/lib/order-hooks/use-order-edit.tsx index 0a3a5dfe3..8d644dfe8 100644 --- a/libs/orders/src/lib/order-hooks/use-order-edit.tsx +++ b/libs/orders/src/lib/order-hooks/use-order-edit.tsx @@ -1,7 +1,7 @@ import { removeDecimal, toNanoSeconds } from '@vegaprotocol/react-helpers'; import { useState, useCallback } from 'react'; import { useVegaTransaction, useVegaWallet } from '@vegaprotocol/wallet'; -import type { OrderEvent_busEvents_event_Order } from './__generated__'; +import type { OrderEvent_busEvents_event_Order } from './'; import * as Sentry from '@sentry/react'; import type { OrderFields } from '../components'; import { useOrderEvent } from './use-order-event'; diff --git a/libs/orders/src/lib/order-hooks/use-order-event.ts b/libs/orders/src/lib/order-hooks/use-order-event.ts index e7b257a75..8e3a0edaf 100644 --- a/libs/orders/src/lib/order-hooks/use-order-event.ts +++ b/libs/orders/src/lib/order-hooks/use-order-event.ts @@ -5,7 +5,7 @@ import type { OrderEvent, OrderEventVariables, OrderEvent_busEvents_event_Order, -} from './__generated__'; +} from './'; import type { Subscription } from 'zen-observable-ts'; export const useOrderEvent = () => { diff --git a/libs/orders/src/lib/order-hooks/use-order-submit.spec.tsx b/libs/orders/src/lib/order-hooks/use-order-submit.spec.tsx index e294a3e02..1410a7a6f 100644 --- a/libs/orders/src/lib/order-hooks/use-order-submit.spec.tsx +++ b/libs/orders/src/lib/order-hooks/use-order-submit.spec.tsx @@ -15,10 +15,7 @@ import { import type { ReactNode } from 'react'; import type { Order } from './use-order-submit'; import { useOrderSubmit } from './use-order-submit'; -import type { - OrderEvent, - OrderEvent_busEvents, -} from './__generated__/OrderEvent'; +import type { OrderEvent, OrderEvent_busEvents } from './'; import { ORDER_EVENT_SUB } from './order-event-query'; import type { MockedResponse } from '@apollo/client/testing'; import { MockedProvider } from '@apollo/client/testing'; diff --git a/libs/orders/src/lib/order-hooks/use-order-submit.tsx b/libs/orders/src/lib/order-hooks/use-order-submit.tsx index d6e28a1c5..b36f0beee 100644 --- a/libs/orders/src/lib/order-hooks/use-order-submit.tsx +++ b/libs/orders/src/lib/order-hooks/use-order-submit.tsx @@ -1,6 +1,6 @@ import { useCallback, useState } from 'react'; import type { ReactNode } from 'react'; -import type { OrderEvent_busEvents_event_Order } from './__generated__'; +import type { OrderEvent_busEvents_event_Order } from './__generated__/OrderEvent'; import { useVegaWallet } from '@vegaprotocol/wallet'; import { determineId, toNanoSeconds } from '@vegaprotocol/react-helpers'; import { useVegaTransaction } from '@vegaprotocol/wallet'; diff --git a/libs/positions/.eslintrc.json b/libs/positions/.eslintrc.json index db820c5d0..de2a9b877 100644 --- a/libs/positions/.eslintrc.json +++ b/libs/positions/.eslintrc.json @@ -1,6 +1,6 @@ { "extends": ["plugin:@nrwl/nx/react", "../../.eslintrc.json"], - "ignorePatterns": ["!**/*", "__generated__"], + "ignorePatterns": ["!**/*", "__generated__", "__generated___"], "overrides": [ { "files": ["*.ts", "*.tsx", "*.js", "*.jsx"], diff --git a/libs/positions/src/lib/Positions.graphql b/libs/positions/src/lib/Positions.graphql new file mode 100644 index 000000000..5bebb82e5 --- /dev/null +++ b/libs/positions/src/lib/Positions.graphql @@ -0,0 +1,60 @@ +fragment PositionFields on Position { + realisedPNL + openVolume + unrealisedPNL + averageEntryPrice + updatedAt + marginsConnection { + edges { + node { + market { + id + } + maintenanceLevel + searchLevel + initialLevel + collateralReleaseLevel + asset { + symbol + } + } + } + } + market { + id + name + decimalPlaces + positionDecimalPlaces + tradingMode + tradableInstrument { + instrument { + name + } + } + data { + markPrice + market { + id + } + } + } +} + +query Positions($partyId: ID!) { + party(id: $partyId) { + id + positionsConnection { + edges { + node { + ...PositionFields + } + } + } + } +} + +subscription PositionsSubscription($partyId: ID!) { + positions(partyId: $partyId) { + ...PositionFields + } +} diff --git a/libs/positions/src/lib/__generated___/Positions.ts b/libs/positions/src/lib/__generated___/Positions.ts new file mode 100644 index 000000000..402816484 --- /dev/null +++ b/libs/positions/src/lib/__generated___/Positions.ts @@ -0,0 +1,136 @@ +import * as Types from '@vegaprotocol/types/types'; + +import { gql } from '@apollo/client'; +import * as Apollo from '@apollo/client'; +const defaultOptions = {} as const; +export type PositionFieldsFragment = { __typename?: 'Position', realisedPNL: string, openVolume: string, unrealisedPNL: string, averageEntryPrice: string, updatedAt?: string | null, marginsConnection: { __typename?: 'MarginConnection', edges?: Array<{ __typename?: 'MarginEdge', node: { __typename?: 'MarginLevels', maintenanceLevel: string, searchLevel: string, initialLevel: string, collateralReleaseLevel: string, market: { __typename?: 'Market', id: string }, asset: { __typename?: 'Asset', symbol: string } } }> | null }, market: { __typename?: 'Market', id: string, name: string, decimalPlaces: number, positionDecimalPlaces: number, tradingMode: Types.MarketTradingMode, tradableInstrument: { __typename?: 'TradableInstrument', instrument: { __typename?: 'Instrument', name: string } }, data?: { __typename?: 'MarketData', markPrice: string, market: { __typename?: 'Market', id: string } } | null } }; + +export type PositionsQueryVariables = Types.Exact<{ + partyId: Types.Scalars['ID']; +}>; + + +export type PositionsQuery = { __typename?: 'Query', party?: { __typename?: 'Party', id: string, positionsConnection: { __typename?: 'PositionConnection', edges?: Array<{ __typename?: 'PositionEdge', node: { __typename?: 'Position', realisedPNL: string, openVolume: string, unrealisedPNL: string, averageEntryPrice: string, updatedAt?: string | null, marginsConnection: { __typename?: 'MarginConnection', edges?: Array<{ __typename?: 'MarginEdge', node: { __typename?: 'MarginLevels', maintenanceLevel: string, searchLevel: string, initialLevel: string, collateralReleaseLevel: string, market: { __typename?: 'Market', id: string }, asset: { __typename?: 'Asset', symbol: string } } }> | null }, market: { __typename?: 'Market', id: string, name: string, decimalPlaces: number, positionDecimalPlaces: number, tradingMode: Types.MarketTradingMode, tradableInstrument: { __typename?: 'TradableInstrument', instrument: { __typename?: 'Instrument', name: string } }, data?: { __typename?: 'MarketData', markPrice: string, market: { __typename?: 'Market', id: string } } | null } } }> | null } } | null }; + +export type PositionsSubscriptionSubscriptionVariables = Types.Exact<{ + partyId: Types.Scalars['ID']; +}>; + + +export type PositionsSubscriptionSubscription = { __typename?: 'Subscription', positions: { __typename?: 'Position', realisedPNL: string, openVolume: string, unrealisedPNL: string, averageEntryPrice: string, updatedAt?: string | null, marginsConnection: { __typename?: 'MarginConnection', edges?: Array<{ __typename?: 'MarginEdge', node: { __typename?: 'MarginLevels', maintenanceLevel: string, searchLevel: string, initialLevel: string, collateralReleaseLevel: string, market: { __typename?: 'Market', id: string }, asset: { __typename?: 'Asset', symbol: string } } }> | null }, market: { __typename?: 'Market', id: string, name: string, decimalPlaces: number, positionDecimalPlaces: number, tradingMode: Types.MarketTradingMode, tradableInstrument: { __typename?: 'TradableInstrument', instrument: { __typename?: 'Instrument', name: string } }, data?: { __typename?: 'MarketData', markPrice: string, market: { __typename?: 'Market', id: string } } | null } } }; + +export const PositionFieldsFragmentDoc = gql` + fragment PositionFields on Position { + realisedPNL + openVolume + unrealisedPNL + averageEntryPrice + updatedAt + marginsConnection { + edges { + node { + market { + id + } + maintenanceLevel + searchLevel + initialLevel + collateralReleaseLevel + asset { + symbol + } + } + } + } + market { + id + name + decimalPlaces + positionDecimalPlaces + tradingMode + tradableInstrument { + instrument { + name + } + } + data { + markPrice + market { + id + } + } + } +} + `; +export const PositionsDocument = gql` + query Positions($partyId: ID!) { + party(id: $partyId) { + id + positionsConnection { + edges { + node { + ...PositionFields + } + } + } + } +} + ${PositionFieldsFragmentDoc}`; + +/** + * __usePositionsQuery__ + * + * To run a query within a React component, call `usePositionsQuery` and pass it any options that fit your needs. + * When your component renders, `usePositionsQuery` returns an object from Apollo Client that contains loading, error, and data properties + * you can use to render your UI. + * + * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options; + * + * @example + * const { data, loading, error } = usePositionsQuery({ + * variables: { + * partyId: // value for 'partyId' + * }, + * }); + */ +export function usePositionsQuery(baseOptions: Apollo.QueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useQuery(PositionsDocument, options); + } +export function usePositionsLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useLazyQuery(PositionsDocument, options); + } +export type PositionsQueryHookResult = ReturnType; +export type PositionsLazyQueryHookResult = ReturnType; +export type PositionsQueryResult = Apollo.QueryResult; +export const PositionsSubscriptionDocument = gql` + subscription PositionsSubscription($partyId: ID!) { + positions(partyId: $partyId) { + ...PositionFields + } +} + ${PositionFieldsFragmentDoc}`; + +/** + * __usePositionsSubscriptionSubscription__ + * + * To run a query within a React component, call `usePositionsSubscriptionSubscription` and pass it any options that fit your needs. + * When your component renders, `usePositionsSubscriptionSubscription` returns an object from Apollo Client that contains loading, error, and data properties + * you can use to render your UI. + * + * @param baseOptions options that will be passed into the subscription, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options; + * + * @example + * const { data, loading, error } = usePositionsSubscriptionSubscription({ + * variables: { + * partyId: // value for 'partyId' + * }, + * }); + */ +export function usePositionsSubscriptionSubscription(baseOptions: Apollo.SubscriptionHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useSubscription(PositionsSubscriptionDocument, options); + } +export type PositionsSubscriptionSubscriptionHookResult = ReturnType; +export type PositionsSubscriptionSubscriptionResult = Apollo.SubscriptionResult; \ No newline at end of file diff --git a/libs/trades/.eslintrc.json b/libs/trades/.eslintrc.json index db820c5d0..de2a9b877 100644 --- a/libs/trades/.eslintrc.json +++ b/libs/trades/.eslintrc.json @@ -1,6 +1,6 @@ { "extends": ["plugin:@nrwl/nx/react", "../../.eslintrc.json"], - "ignorePatterns": ["!**/*", "__generated__"], + "ignorePatterns": ["!**/*", "__generated__", "__generated___"], "overrides": [ { "files": ["*.ts", "*.tsx", "*.js", "*.jsx"], diff --git a/libs/trades/src/lib/Trades.graphql b/libs/trades/src/lib/Trades.graphql new file mode 100644 index 000000000..784deb49b --- /dev/null +++ b/libs/trades/src/lib/Trades.graphql @@ -0,0 +1,37 @@ +fragment TradeFields on Trade { + id + price + size + createdAt + market { + id + decimalPlaces + positionDecimalPlaces + } +} + +query Trades($marketId: ID!, $pagination: Pagination) { + market(id: $marketId) { + id + tradesConnection(pagination: $pagination) { + edges { + node { + ...TradeFields + } + cursor + } + pageInfo { + startCursor + endCursor + hasNextPage + hasPreviousPage + } + } + } +} + +subscription TradesSub($marketId: ID!) { + trades(marketId: $marketId) { + ...TradeFields + } +} diff --git a/libs/trades/src/lib/__generated___/Trades.ts b/libs/trades/src/lib/__generated___/Trades.ts new file mode 100644 index 000000000..9bc466259 --- /dev/null +++ b/libs/trades/src/lib/__generated___/Trades.ts @@ -0,0 +1,115 @@ +import * as Types from '@vegaprotocol/types/types'; + +import { gql } from '@apollo/client'; +import * as Apollo from '@apollo/client'; +const defaultOptions = {} as const; +export type TradeFieldsFragment = { __typename?: 'Trade', id: string, price: string, size: string, createdAt: string, market: { __typename?: 'Market', id: string, decimalPlaces: number, positionDecimalPlaces: number } }; + +export type TradesQueryVariables = Types.Exact<{ + marketId: Types.Scalars['ID']; + pagination?: Types.InputMaybe; +}>; + + +export type TradesQuery = { __typename?: 'Query', market?: { __typename?: 'Market', id: string, tradesConnection: { __typename?: 'TradeConnection', edges: Array<{ __typename?: 'TradeEdge', cursor: string, node: { __typename?: 'Trade', id: string, price: string, size: string, createdAt: string, market: { __typename?: 'Market', id: string, decimalPlaces: number, positionDecimalPlaces: number } } }>, pageInfo: { __typename?: 'PageInfo', startCursor: string, endCursor: string, hasNextPage: boolean, hasPreviousPage: boolean } } } | null }; + +export type TradesSubSubscriptionVariables = Types.Exact<{ + marketId: Types.Scalars['ID']; +}>; + + +export type TradesSubSubscription = { __typename?: 'Subscription', trades?: Array<{ __typename?: 'Trade', id: string, price: string, size: string, createdAt: string, market: { __typename?: 'Market', id: string, decimalPlaces: number, positionDecimalPlaces: number } }> | null }; + +export const TradeFieldsFragmentDoc = gql` + fragment TradeFields on Trade { + id + price + size + createdAt + market { + id + decimalPlaces + positionDecimalPlaces + } +} + `; +export const TradesDocument = gql` + query Trades($marketId: ID!, $pagination: Pagination) { + market(id: $marketId) { + id + tradesConnection(pagination: $pagination) { + edges { + node { + ...TradeFields + } + cursor + } + pageInfo { + startCursor + endCursor + hasNextPage + hasPreviousPage + } + } + } +} + ${TradeFieldsFragmentDoc}`; + +/** + * __useTradesQuery__ + * + * To run a query within a React component, call `useTradesQuery` and pass it any options that fit your needs. + * When your component renders, `useTradesQuery` returns an object from Apollo Client that contains loading, error, and data properties + * you can use to render your UI. + * + * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options; + * + * @example + * const { data, loading, error } = useTradesQuery({ + * variables: { + * marketId: // value for 'marketId' + * pagination: // value for 'pagination' + * }, + * }); + */ +export function useTradesQuery(baseOptions: Apollo.QueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useQuery(TradesDocument, options); + } +export function useTradesLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useLazyQuery(TradesDocument, options); + } +export type TradesQueryHookResult = ReturnType; +export type TradesLazyQueryHookResult = ReturnType; +export type TradesQueryResult = Apollo.QueryResult; +export const TradesSubDocument = gql` + subscription TradesSub($marketId: ID!) { + trades(marketId: $marketId) { + ...TradeFields + } +} + ${TradeFieldsFragmentDoc}`; + +/** + * __useTradesSubSubscription__ + * + * To run a query within a React component, call `useTradesSubSubscription` and pass it any options that fit your needs. + * When your component renders, `useTradesSubSubscription` returns an object from Apollo Client that contains loading, error, and data properties + * you can use to render your UI. + * + * @param baseOptions options that will be passed into the subscription, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options; + * + * @example + * const { data, loading, error } = useTradesSubSubscription({ + * variables: { + * marketId: // value for 'marketId' + * }, + * }); + */ +export function useTradesSubSubscription(baseOptions: Apollo.SubscriptionHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useSubscription(TradesSubDocument, options); + } +export type TradesSubSubscriptionHookResult = ReturnType; +export type TradesSubSubscriptionResult = Apollo.SubscriptionResult; \ No newline at end of file diff --git a/libs/types/.env b/libs/types/.env index 72694fe98..7607da6a5 100644 --- a/libs/types/.env +++ b/libs/types/.env @@ -1 +1 @@ -NX_VEGA_URL=https://api.n04.d.vega.xyz/graphql +GRAPHQL_SCHEMA_PATH=https://api.n04.d.vega.xyz/graphql diff --git a/libs/types/.eslintrc.json b/libs/types/.eslintrc.json index db820c5d0..de2a9b877 100644 --- a/libs/types/.eslintrc.json +++ b/libs/types/.eslintrc.json @@ -1,6 +1,6 @@ { "extends": ["plugin:@nrwl/nx/react", "../../.eslintrc.json"], - "ignorePatterns": ["!**/*", "__generated__"], + "ignorePatterns": ["!**/*", "__generated__", "__generated___"], "overrides": [ { "files": ["*.ts", "*.tsx", "*.js", "*.jsx"], diff --git a/libs/types/apollo.config.js b/libs/types/apollo.config.js index a1641bfe9..7f306cb72 100644 --- a/libs/types/apollo.config.js +++ b/libs/types/apollo.config.js @@ -3,9 +3,14 @@ module.exports = { service: { name: 'vega', url: - process.env.NX_VEGA_URL || 'https://api.n07.testnet.vega.xyz/graphql', + process.env.GRAPHQL_SCHEMA_PATH || + 'https://api.n07.testnet.vega.xyz/graphql', }, - includes: ['../../{apps,libs}/**/*.{ts,tsx,js,jsx,graphql}'], - excludes: ['**/generic-data-provider.ts'], + includes: [ + '../../{apps,libs}/**/*.{ts,tsx,js,jsx}', + '../../apps/token/client.graphql', + '../../apps/trading/client.graphql', + ], + excludes: ['**/generic-data-provider.ts', '**/__generated___/*'], }, }; diff --git a/libs/types/codegen.yml b/libs/types/codegen.yml new file mode 100644 index 000000000..527db3252 --- /dev/null +++ b/libs/types/codegen.yml @@ -0,0 +1,29 @@ +schema: + - ${GRAPHQL_SCHEMA_PATH} + - apps/trading/client.graphql + - apps/token/client.graphql +documents: '{apps,libs}/**/*.graphql' +config: + preResolveTypes: true + namingConvention: keep +generates: + libs/types/src/__generated__/types.ts: + - typescript + libs/**/__generated__: + preset: near-operation-file + presetConfig: + folder: __generated___ + extension: .ts + baseTypesPath: ~@vegaprotocol/types/types + plugins: + - typescript-operations + - typescript-react-apollo + apps/**/__generated__: + preset: near-operation-file + presetConfig: + folder: __generated___ + extension: .ts + baseTypesPath: ~@vegaprotocol/types/types + plugins: + - typescript-operations + - typescript-react-apollo diff --git a/libs/types/project.json b/libs/types/project.json index 6e495201a..db81d2ba3 100644 --- a/libs/types/project.json +++ b/libs/types/project.json @@ -44,6 +44,7 @@ "options": { "commands": [ "npx apollo client:codegen --config=libs/types/apollo.config.js --target=typescript --globalTypesFile=libs/types/src/__generated__/globalTypes.ts", + "npx graphql-codegen --config=libs/types/codegen.yml", "node libs/types/fix-imports" ], "parallel": false diff --git a/libs/types/src/__generated__/index.ts b/libs/types/src/__generated__/index.ts deleted file mode 100644 index 1eba4846b..000000000 --- a/libs/types/src/__generated__/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './globalTypes'; diff --git a/libs/types/src/__generated__/types.ts b/libs/types/src/__generated__/types.ts new file mode 100644 index 000000000..fabcb37c7 --- /dev/null +++ b/libs/types/src/__generated__/types.ts @@ -0,0 +1,4177 @@ +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 }; +/** All built-in and custom scalars, mapped to their actual values */ +export type Scalars = { + ID: string; + String: string; + Boolean: boolean; + Int: number; + Float: number; + Timestamp: any; +}; + +/** An account record */ +export type Account = { + __typename?: 'Account'; + /** Asset, the 'currency' */ + asset: Asset; + /** Balance as string - current account balance (approx. as balances can be updated several times per second) */ + balance: Scalars['String']; + /** The balance field formatted by the client */ + balanceFormatted: Scalars['String']; + /** Market (only relevant to margin accounts) */ + market?: Maybe; + /** Account type (General, Margin, etc) */ + type: AccountType; +}; + +export type AccountEdge = { + __typename?: 'AccountEdge'; + /** Cursor identifying the account */ + cursor: Scalars['String']; + /** The account */ + node: Account; +}; + +export enum AccountField { + AccountId = 'AccountId', + AccountType = 'AccountType', + AssetId = 'AssetId', + MarketId = 'MarketId', + PartyId = 'PartyId' +} + +export type AccountFilter = { + accountTypes?: InputMaybe>; + assetId?: InputMaybe; + marketIds?: InputMaybe>; + partyIds?: InputMaybe>; +}; + +/** The various account types in Vega (used by collateral) */ +export enum AccountType { + /** Bond - an account use to maintain liquidity commitments */ + ACCOUNT_TYPE_BOND = 'ACCOUNT_TYPE_BOND', + /** External - an account use to refer to external account */ + ACCOUNT_TYPE_EXTERNAL = 'ACCOUNT_TYPE_EXTERNAL', + /** Infrastructure fee account - the account where all infrastructure fees are collected */ + ACCOUNT_TYPE_FEES_INFRASTRUCTURE = 'ACCOUNT_TYPE_FEES_INFRASTRUCTURE', + /** Liquidity fee account - the account contains fees earned by providing liquidity */ + ACCOUNT_TYPE_FEES_LIQUIDITY = 'ACCOUNT_TYPE_FEES_LIQUIDITY', + /** Market maker fee account - holds fees paid to the passive side when a trade matches */ + ACCOUNT_TYPE_FEES_MAKER = 'ACCOUNT_TYPE_FEES_MAKER', + /** General account - the account containing 'unused' collateral for parties */ + ACCOUNT_TYPE_GENERAL = 'ACCOUNT_TYPE_GENERAL', + /** Global insurance pool account for an asset */ + ACCOUNT_TYPE_GLOBAL_INSURANCE = 'ACCOUNT_TYPE_GLOBAL_INSURANCE', + /** GlobalReward - a global account for the reward pool */ + ACCOUNT_TYPE_GLOBAL_REWARD = 'ACCOUNT_TYPE_GLOBAL_REWARD', + /** Insurance pool account - only for 'system' party */ + ACCOUNT_TYPE_INSURANCE = 'ACCOUNT_TYPE_INSURANCE', + /** + * Margin - The leverage account for parties, contains funds set aside for the margin needed to support + * a party's open positions. Each party will have a margin account for each market they have traded in. + * The required initial margin is allocated to each market from the general account, and it cannot be withdrawn + * or used as margin on another market until it's released back into the general account. + * The protocol uses an internal accounting system to segregate funds held as margin from other funds + * to ensure they are never lost or 'double spent' + */ + ACCOUNT_TYPE_MARGIN = 'ACCOUNT_TYPE_MARGIN', + /** PendingTransfers - a global account for the pending transfers pool */ + ACCOUNT_TYPE_PENDING_TRANSFERS = 'ACCOUNT_TYPE_PENDING_TRANSFERS', + /** RewardLpReceivedFees - an account holding rewards for a liquidity provider's received fees */ + ACCOUNT_TYPE_REWARD_LP_RECEIVED_FEES = 'ACCOUNT_TYPE_REWARD_LP_RECEIVED_FEES', + /** RewardMakerReceivedFees - an account holding rewards for maker received fees */ + ACCOUNT_TYPE_REWARD_MAKER_RECEIVED_FEES = 'ACCOUNT_TYPE_REWARD_MAKER_RECEIVED_FEES', + /** RewardMarketProposers - an account holding rewards for market proposers */ + ACCOUNT_TYPE_REWARD_MARKET_PROPOSERS = 'ACCOUNT_TYPE_REWARD_MARKET_PROPOSERS', + /** RewardTakerPaidFees - an account holding rewards for taker paid fees */ + ACCOUNT_TYPE_REWARD_TAKER_PAID_FEES = 'ACCOUNT_TYPE_REWARD_TAKER_PAID_FEES', + /** Settlement - only for 'system' party */ + ACCOUNT_TYPE_SETTLEMENT = 'ACCOUNT_TYPE_SETTLEMENT' +} + +export type AccountsConnection = { + __typename?: 'AccountsConnection'; + /** List of accounts available for the connection */ + edges?: Maybe>>; + /** Page information for the connection */ + pageInfo: PageInfo; +}; + +export type AggregatedBalance = { + __typename?: 'AggregatedBalance'; + /** Account identifier, if query was grouped by account - else null */ + accountId?: Maybe; + /** Account type, if query was grouped by account type - else null */ + accountType?: Maybe; + /** Asset identifier, if query was grouped by asset - else null */ + assetId?: Maybe; + /** Net balance of the accounts specified in the filter at this time */ + balance: Scalars['String']; + /** Market identifier, if query was grouped by market - else null */ + marketId?: Maybe; + /** Party identifier, if query was grouped by party - else null */ + partyId?: Maybe; + /** RFC3339Nano time from at which this balance was relevant */ + timestamp: Scalars['Timestamp']; +}; + +/** Represents an asset in Vega */ +export type Asset = { + __typename?: 'Asset'; + /** The precision of the asset. Should match the decimal precision of the asset on its native chain, e.g: for ERC20 assets, it is often 18 */ + decimals: Scalars['Int']; + /** The global reward pool account for this asset */ + globalRewardPoolAccount?: Maybe; + /** The ID of the asset */ + id: Scalars['ID']; + /** The infrastructure fee account for this asset */ + infrastructureFeeAccount: Account; + /** The liquidity provision reward account for this asset */ + lpFeeRewardAccount?: Maybe; + /** The maker fee reward account for this asset */ + makerFeeRewardAccount?: Maybe; + /** The market proposer reward account for this asset */ + marketProposerRewardAccount?: Maybe; + /** The full name of the asset (e.g: Great British Pound) */ + name: Scalars['String']; + /** The minimum economically meaningful amount in the asset */ + quantum: Scalars['String']; + /** The origin source of the asset (e.g: an ERC20 asset) */ + source: AssetSource; + /** The status of the asset in the Vega network */ + status: AssetStatus; + /** The symbol of the asset (e.g: GBP) */ + symbol: Scalars['String']; + /** The taker fee reward account for this asset */ + takerFeeRewardAccount?: Maybe; +}; + +export type AssetEdge = { + __typename?: 'AssetEdge'; + cursor: Scalars['String']; + node: Asset; +}; + +/** One of the possible asset sources */ +export type AssetSource = BuiltinAsset | ERC20; + +export enum AssetStatus { + /** Asset can be used on the Vega network */ + STATUS_ENABLED = 'STATUS_ENABLED', + /** Asset is pending listing on the ethereum bridge */ + STATUS_PENDING_LISTING = 'STATUS_PENDING_LISTING', + /** Asset is proposed to be added to the network */ + STATUS_PROPOSED = 'STATUS_PROPOSED', + /** Asset has been rejected */ + STATUS_REJECTED = 'STATUS_REJECTED' +} + +export type AssetsConnection = { + __typename?: 'AssetsConnection'; + /** The assets */ + edges?: Maybe>>; + /** The pagination information */ + pageInfo?: Maybe; +}; + +/** + * An auction duration is used to configure 3 auction periods: + * 1. `duration > 0`, `volume == 0`: + * The auction will last for at least N seconds. + * 2. `duration == 0`, `volume > 0`: + * The auction will end once the given volume will match at uncrossing. + * 3. `duration > 0`, `volume > 0`: + * The auction will take at least N seconds, but can end sooner if the market can trade a certain volume. + */ +export type AuctionDuration = { + __typename?: 'AuctionDuration'; + /** Duration of the auction in seconds */ + durationSecs: Scalars['Int']; + /** Target uncrossing trading volume */ + volume: Scalars['Int']; +}; + +export type AuctionEvent = { + __typename?: 'AuctionEvent'; + /** RFC3339Nano optional end time of auction */ + auctionEnd: Scalars['String']; + /** RFC3339Nano start time of auction */ + auctionStart: Scalars['String']; + /** What, if anything, extended the ongoing auction */ + extensionTrigger?: Maybe; + /** Event fired because of auction end */ + leave: Scalars['Boolean']; + /** The ID of the market that went into auction */ + marketId: Scalars['ID']; + /** Event related to opening auction */ + openingAuction: Scalars['Boolean']; + /** What triggered the auction */ + trigger: AuctionTrigger; +}; + +export enum AuctionTrigger { + /** Auction because market has a frequent batch auction trading mode */ + AUCTION_TRIGGER_BATCH = 'AUCTION_TRIGGER_BATCH', + /** Liquidity monitoring */ + AUCTION_TRIGGER_LIQUIDITY = 'AUCTION_TRIGGER_LIQUIDITY', + /** Opening auction */ + AUCTION_TRIGGER_OPENING = 'AUCTION_TRIGGER_OPENING', + /** Price monitoring */ + AUCTION_TRIGGER_PRICE = 'AUCTION_TRIGGER_PRICE', + /** Invalid trigger (or no auction) */ + AUCTION_TRIGGER_UNSPECIFIED = 'AUCTION_TRIGGER_UNSPECIFIED' +} + +/** A Vega builtin asset, mostly for testing purpose */ +export type BuiltinAsset = { + __typename?: 'BuiltinAsset'; + /** Maximum amount that can be requested by a party through the built-in asset faucet at a time */ + maxFaucetAmountMint: Scalars['String']; +}; + +export type BusEvent = { + __typename?: 'BusEvent'; + /** the block hash */ + block: Scalars['String']; + /** the payload - the wrapped event */ + event: Event; + /** the ID for this event */ + eventId: Scalars['ID']; + /** the type of event */ + type: BusEventType; +}; + +export enum BusEventType { + /** An account has been updated */ + Account = 'Account', + /** An asset has been created or update */ + Asset = 'Asset', + /** A market has either entered or exited auction */ + Auction = 'Auction', + /** Collateral has deposited in to this Vega network via the bridge */ + Deposit = 'Deposit', + /** A liquidity commitment change occurred */ + LiquidityProvision = 'LiquidityProvision', + /** A position has been closed without sufficient insurance pool balance to cover it */ + LossSocialization = 'LossSocialization', + /** Margin levels have changed for a position */ + MarginLevels = 'MarginLevels', + /** constant for market events - mainly used for logging */ + Market = 'Market', + /** A new market has been created */ + MarketCreated = 'MarketCreated', + /** Market data has been updated */ + MarketData = 'MarketData', + /** A market has progressed by one tick */ + MarketTick = 'MarketTick', + /** A market has been updated */ + MarketUpdated = 'MarketUpdated', + /** Validator node signatures for an event */ + NodeSignature = 'NodeSignature', + /** An oracle spec has been registered */ + OracleSpec = 'OracleSpec', + /** An order has been created or updated */ + Order = 'Order', + /** A party has been updated */ + Party = 'Party', + /** A position resolution event has occurred */ + PositionResolution = 'PositionResolution', + /** A governance proposal has been created or updated */ + Proposal = 'Proposal', + /** A risk factor adjustment was made */ + RiskFactor = 'RiskFactor', + /** A distressed position has been settled */ + SettleDistressed = 'SettleDistressed', + /** A position has been settled */ + SettlePosition = 'SettlePosition', + /** Vega Time has changed */ + TimeUpdate = 'TimeUpdate', + /** A trade has been created */ + Trade = 'Trade', + /** A balance has been transferred between accounts */ + TransferResponses = 'TransferResponses', + /** A vote has been placed on a governance proposal */ + Vote = 'Vote', + /** Collateral has been withdrawn from this Vega network via the bridge */ + Withdrawal = 'Withdrawal' +} + +/** Candle stick representation of trading */ +export type Candle = { + __typename?: 'Candle'; + /** Close price (uint64) */ + close: Scalars['String']; + /** RFC3339Nano formatted date and time for the candle */ + datetime: Scalars['String']; + /** High price (uint64) */ + high: Scalars['String']; + /** Interval price (string) */ + interval: Interval; + /** Low price (uint64) */ + low: Scalars['String']; + /** Open price (uint64) */ + open: Scalars['String']; + /** Unix epoch+nanoseconds for when the candle occurred */ + timestamp: Scalars['String']; + /** Volume price (uint64) */ + volume: Scalars['String']; +}; + +export type CandleDataConnection = { + __typename?: 'CandleDataConnection'; + /** The candles */ + edges?: Maybe>>; + /** The pagination information */ + pageInfo?: Maybe; +}; + +export type CandleEdge = { + __typename?: 'CandleEdge'; + cursor: Scalars['String']; + node: CandleNode; +}; + +export type CandleNode = { + __typename?: 'CandleNode'; + /** Close price (uint64) */ + close: Scalars['String']; + /** High price (uint64) */ + high: Scalars['String']; + /** RFC3339Nano formatted date and time for the candle */ + lastUpdate: Scalars['String']; + /** Low price (uint64) */ + low: Scalars['String']; + /** Open price (uint64) */ + open: Scalars['String']; + /** Unix epoch+nanoseconds for when the candle occurred */ + start: Scalars['String']; + /** Volume price (uint64) */ + volume: Scalars['String']; +}; + +/** Condition describes the condition that must be validated by the oracle engine */ +export type Condition = { + __typename?: 'Condition'; + /** comparator is the type of comparison to make on the value. */ + operator: ConditionOperator; + /** value is used by the comparator. */ + value?: Maybe; +}; + +/** Comparator describes the type of comparison. */ +export enum ConditionOperator { + /** Verify if the property values are strictly equal or not. */ + OPERATOR_EQUALS = 'OPERATOR_EQUALS', + /** Verify if the oracle data value is greater than the Condition value. */ + OPERATOR_GREATER_THAN = 'OPERATOR_GREATER_THAN', + /** + * Verify if the oracle data value is greater than or equal to the Condition + * value. + */ + OPERATOR_GREATER_THAN_OR_EQUAL = 'OPERATOR_GREATER_THAN_OR_EQUAL', + /** Verify if the oracle data value is less than the Condition value. */ + OPERATOR_LESS_THAN = 'OPERATOR_LESS_THAN', + /** + * Verify if the oracle data value is less or equal to than the Condition + * value. + */ + OPERATOR_LESS_THAN_OR_EQUAL = 'OPERATOR_LESS_THAN_OR_EQUAL' +} + +/** A mode where Vega tries to execute orders as soon as they are received */ +export type ContinuousTrading = { + __typename?: 'ContinuousTrading'; + /** Size of an increment in price in terms of the quote currency */ + tickSize: Scalars['String']; +}; + +export type Delegation = { + __typename?: 'Delegation'; + /** Amount delegated */ + amount: Scalars['String']; + /** The amount field formatted by the client */ + amountFormatted: Scalars['String']; + /** Epoch of delegation */ + epoch: Scalars['Int']; + /** URL of node you are delegating to */ + node: Node; + /** Party that is delegating */ + party: Party; +}; + +export type DelegationEdge = { + __typename?: 'DelegationEdge'; + /** The cursor for the data item */ + cursor: Scalars['String']; + /** The delegation information */ + node: Delegation; +}; + +export type DelegationsConnection = { + __typename?: 'DelegationsConnection'; + /** The delegation information available on this connection */ + edges?: Maybe>>; + /** The pagination information */ + pageInfo: PageInfo; +}; + +/** The details of a deposit processed by Vega */ +export type Deposit = { + __typename?: 'Deposit'; + /** The amount to be withdrawn */ + amount: Scalars['String']; + /** The asset to be withdrawn */ + asset: Asset; + /** RFC3339Nano time at which the deposit was created */ + createdTimestamp: Scalars['String']; + /** RFC3339Nano time at which the deposit was finalised */ + creditedTimestamp?: Maybe; + /** The Vega internal ID of the deposit */ + id: Scalars['ID']; + /** The PartyID initiating the deposit */ + party: Party; + /** The current status of the deposit */ + status: DepositStatus; + /** Hash of the transaction on the foreign chain */ + txHash?: Maybe; +}; + +export type DepositEdge = { + __typename?: 'DepositEdge'; + cursor: Scalars['String']; + node: Deposit; +}; + +/** The status of a deposit */ +export enum DepositStatus { + /** The deposit have been cancelled by the network, either because it expired, or something went wrong with the foreign chain */ + STATUS_CANCELLED = 'STATUS_CANCELLED', + /** The deposit was finalised, it was valid, the foreign chain has executed it and the network updated all accounts */ + STATUS_FINALIZED = 'STATUS_FINALIZED', + /** The deposit is open and being processed by the network */ + STATUS_OPEN = 'STATUS_OPEN' +} + +export type DepositsConnection = { + __typename?: 'DepositsConnection'; + /** The deposits */ + edges?: Maybe>>; + /** The pagination information */ + pageInfo?: Maybe; +}; + +/** Frequent batch auctions trading mode */ +export type DiscreteTrading = { + __typename?: 'DiscreteTrading'; + /** Duration of the discrete trading batch in nanoseconds. Maximum 1 month. */ + duration: Scalars['Int']; + /** Size of an increment in price in terms of the quote currency */ + tickSize: Scalars['String']; +}; + +export enum DispatchMetric { + DISPATCH_METRIC_LP_FEES_RECEIVED = 'DISPATCH_METRIC_LP_FEES_RECEIVED', + DISPATCH_METRIC_MAKER_FEES_RECEIVED = 'DISPATCH_METRIC_MAKER_FEES_RECEIVED', + DISPATCH_METRIC_MARKET_VALUE = 'DISPATCH_METRIC_MARKET_VALUE', + DISPATCH_METRIC_TAKER_FEES_PAID = 'DISPATCH_METRIC_TAKER_FEES_PAID' +} + +export type DispatchStrategy = { + __typename?: 'DispatchStrategy'; + /** Defines the data that will be used to compare markets so as to distribute rewards appropriately */ + dispatchMetric: DispatchMetric; + /** The asset to use for measuring contribution to the metric */ + dispatchMetricAssetId: Scalars['ID']; + /** Scope the dispatch to this market only under the metric asset */ + marketIdsInScope?: Maybe>; +}; + +/** An asset originated from an Ethereum ERC20 Token */ +export type ERC20 = { + __typename?: 'ERC20'; + /** The address of the ERC20 contract */ + contractAddress: Scalars['String']; + /** + * The lifetime limits deposit per address + * Note: this is a temporary measure for alpha mainnet + */ + lifetimeLimit: Scalars['String']; + /** + * The maximum allowed per withdrawal + * Note: this is a temporary measure for alpha mainnet + */ + withdrawThreshold: Scalars['String']; +}; + +export type Epoch = { + __typename?: 'Epoch'; + /** @deprecated Use delegationsConnection instead */ + delegations: Array; + delegationsConnection: DelegationsConnection; + /** Presumably this is an integer or something. If there's no such thing, disregard */ + id: Scalars['String']; + /** Timestamps for start and end of epochs */ + timestamps: EpochTimestamps; + /** + * Validators that participated in this epoch + * @deprecated Use validatorsConnection instead + */ + validators: Array; + /** Validators that participated in this epoch */ + validatorsConnection: NodesConnection; +}; + + +export type EpochdelegationsArgs = { + first?: InputMaybe; + last?: InputMaybe; + nodeId?: InputMaybe; + partyId?: InputMaybe; + skip?: InputMaybe; +}; + + +export type EpochdelegationsConnectionArgs = { + nodeId?: InputMaybe; + pagination?: InputMaybe; + partyId?: InputMaybe; +}; + + +export type EpochvalidatorsConnectionArgs = { + pagination?: InputMaybe; +}; + +export type EpochData = { + __typename?: 'EpochData'; + /** Total number of offline epochs since node was created */ + offline: Scalars['Int']; + /** Total number of online epochs since node was created */ + online: Scalars['Int']; + /** Total number of epochs since node was created */ + total: Scalars['Int']; +}; + +export type EpochParticipation = { + __typename?: 'EpochParticipation'; + epoch?: Maybe; + /** RFC3339 timestamp */ + offline?: Maybe; + /** RFC3339 timestamp */ + online?: Maybe; + totalRewards?: Maybe; +}; + +export type EpochTimestamps = { + __typename?: 'EpochTimestamps'; + /** RFC3339 timestamp - Vega time of epoch end, null if not ended */ + end?: Maybe; + /** RFC3339 timestamp - Vega time of epoch expiry */ + expiry?: Maybe; + /** RFC3339 timestamp - Vega time of epoch start, null if not started */ + start?: Maybe; +}; + +/** All the data related to the approval of a withdrawal from the network */ +export type Erc20WithdrawalApproval = { + __typename?: 'Erc20WithdrawalApproval'; + /** The amount to be withdrawn */ + amount: Scalars['String']; + /** The source asset in the ethereum network */ + assetSource: Scalars['String']; + /** Timestamp at which the withdrawal was created */ + creation: Scalars['String']; + /** Timestamp in seconds for expiry of the approval */ + expiry: Scalars['String']; + /** The nonce to be used in the request */ + nonce: Scalars['String']; + /** + * Signature aggregate from the nodes, in the following format: + * 0x + sig1 + sig2 + ... + sigN + */ + signatures: Scalars['String']; + /** The target address which will receive the funds */ + targetAddress: Scalars['String']; +}; + +/** Specific details for an erc20 withdrawal */ +export type Erc20WithdrawalDetails = { + __typename?: 'Erc20WithdrawalDetails'; + /** The ethereum address of the receiver of the asset funds */ + receiverAddress: Scalars['String']; +}; + +/** An Ethereum oracle */ +export type EthereumEvent = { + __typename?: 'EthereumEvent'; + /** The ID of the ethereum contract to use (string) */ + contractId: Scalars['String']; + /** Name of the Ethereum event to listen to. (string) */ + event: Scalars['String']; +}; + +export type EthereumKeyRotation = { + __typename?: 'EthereumKeyRotation'; + /** Block height when the rotation took place */ + blockHeight: Scalars['String']; + /** New ethereum address */ + newAddress: Scalars['String']; + /** ID of node where rotation took place */ + nodeId: Scalars['String']; + /** Old ethereum address */ + oldAddress: Scalars['String']; +}; + +export type EthereumKeyRotationEdge = { + __typename?: 'EthereumKeyRotationEdge'; + cursor?: Maybe; + ethereumKeyRotation: EthereumKeyRotation; +}; + +export type EthereumKeyRotationsConnection = { + __typename?: 'EthereumKeyRotationsConnection'; + /** The ethereum key rotations in this connection */ + edges: Array; + /** The pagination information */ + pageInfo?: Maybe; +}; + +/** union type for wrapped events in stream PROPOSAL is mapped to governance data, something to keep in mind */ +export type Event = Account | Asset | AuctionEvent | Deposit | LiquidityProvision | LossSocialization | MarginLevels | Market | MarketData | MarketEvent | MarketTick | NodeSignature | OracleSpec | Order | Party | PositionResolution | Proposal | RiskFactor | SettleDistressed | SettlePosition | TimeUpdate | Trade | TransferResponses | Vote | Withdrawal; + +/** The factors applied to calculate the fees */ +export type FeeFactors = { + __typename?: 'FeeFactors'; + /** The factor applied to calculate InfrastructureFees, a non-negative float */ + infrastructureFee: Scalars['String']; + /** The factor applied to calculate LiquidityFees, a non-negative float */ + liquidityFee: Scalars['String']; + /** The factor applied to calculate MakerFees, a non-negative float */ + makerFee: Scalars['String']; +}; + +/** The fees applicable to a market */ +export type Fees = { + __typename?: 'Fees'; + /** The factors used to calculate the different fees */ + factors: FeeFactors; +}; + +/** + * Filter describes the conditions under which oracle data is considered of + * interest or not. + */ +export type Filter = { + __typename?: 'Filter'; + /** + * conditions are the conditions that should be matched by the data to be + * considered of interest. + */ + conditions?: Maybe>; + /** key is the oracle data property key targeted by the filter. */ + key: PropertyKey; +}; + +/** A Future product */ +export type Future = { + __typename?: 'Future'; + /** The binding between the oracle spec and the settlement price */ + oracleSpecBinding: OracleSpecToFutureBinding; + /** The oracle spec describing the oracle data of interest for settlement price. */ + oracleSpecForSettlementPrice: OracleSpec; + /** The oracle spec describing the oracle data of interest for trading termination. */ + oracleSpecForTradingTermination: OracleSpec; + /** String representing the quote (e.g. BTCUSD -> USD is quote) */ + quoteName: Scalars['String']; + /** The name of the asset (string) */ + settlementAsset: Asset; +}; + +export type FutureProduct = { + __typename?: 'FutureProduct'; + /** + * OracleSpecToFutureBinding tells on which property oracle data should be + * used as settlement price. + */ + oracleSpecBinding: OracleSpecToFutureBinding; + /** Describes the oracle data that an instrument wants to get from the oracle engine for settlement price. */ + oracleSpecForSettlementPrice: OracleSpecConfiguration; + /** Describes the oracle data that an instrument wants to get from the oracle engine for trading termination. */ + oracleSpecForTradingTermination: OracleSpecConfiguration; + /** String representing the quote (e.g. BTCUSD -> USD is quote) */ + quoteName: Scalars['String']; + /** Product asset ID */ + settlementAsset: Asset; +}; + +/** Describes something that can be traded on Vega */ +export type Instrument = { + __typename?: 'Instrument'; + /** A short non necessarily unique code used to easily describe the instrument (e.g: FX:BTCUSD/DEC18) (string) */ + code: Scalars['String']; + /** Uniquely identify an instrument across all instruments available on Vega (string) */ + id: Scalars['String']; + /** Metadata for this instrument */ + metadata: InstrumentMetadata; + /** Full and fairly descriptive name for the instrument */ + name: Scalars['String']; + /** A reference to or instance of a fully specified product, including all required product parameters for that product (Product union) */ + product: Product; +}; + +export type InstrumentConfiguration = { + __typename?: 'InstrumentConfiguration'; + /** A short non necessarily unique code used to easily describe the instrument (e.g: FX:BTCUSD/DEC18) */ + code: Scalars['String']; + /** Future product specification */ + futureProduct?: Maybe; + /** Full and fairly descriptive name for the instrument */ + name: Scalars['String']; +}; + +/** A set of metadata to associate to an instrument */ +export type InstrumentMetadata = { + __typename?: 'InstrumentMetadata'; + /** An arbitrary list of tags to associated to associate to the Instrument (string list) */ + tags?: Maybe>; +}; + +/** The interval for trade candles when subscribing via Vega GraphQL, default is I15M */ +export enum Interval { + /** 1 day interval */ + INTERVAL_I1D = 'INTERVAL_I1D', + /** 1 hour interval */ + INTERVAL_I1H = 'INTERVAL_I1H', + /** 1 minute interval */ + INTERVAL_I1M = 'INTERVAL_I1M', + /** 5 minute interval */ + INTERVAL_I5M = 'INTERVAL_I5M', + /** 6 hour interval */ + INTERVAL_I6H = 'INTERVAL_I6H', + /** 15 minute interval (default) */ + INTERVAL_I15M = 'INTERVAL_I15M' +} + +export type KeyRotation = { + __typename?: 'KeyRotation'; + /** Block height when the rotation took place */ + blockHeight: Scalars['String']; + /** New public key rotated to */ + newPubKey: Scalars['String']; + /** ID of node where rotation took place */ + nodeId: Scalars['String']; + /** Old public key rotated from */ + oldPubKey: Scalars['String']; +}; + +export type KeyRotationConnection = { + __typename?: 'KeyRotationConnection'; + /** List of key rotations available for the connection */ + edges?: Maybe>>; + /** Page information for the connection */ + pageInfo: PageInfo; +}; + +export type KeyRotationEdge = { + __typename?: 'KeyRotationEdge'; + /** Cursor identifying the key rotation */ + cursor: Scalars['String']; + /** The key rotation */ + node: KeyRotation; +}; + +export type LedgerEntry = { + __typename?: 'LedgerEntry'; + /** The amount transferred */ + amount: Scalars['String']; + /** Account from which the asset was taken */ + fromAccount: Scalars['String']; + /** The transfer reference */ + reference: Scalars['String']; + /** RFC3339Nano time at which the transfer was made */ + timestamp: Scalars['String']; + /** Account to which the balance was transferred */ + toAccount: Scalars['String']; + /** Type of ledger entry */ + type: Scalars['String']; +}; + +/** Configuration of a market liquidity monitoring parameters */ +export type LiquidityMonitoringParameters = { + __typename?: 'LiquidityMonitoringParameters'; + /** Specifies parameters related to target stake calculation */ + targetStakeParameters: TargetStakeParameters; + /** Specifies the triggering ratio for entering liquidity auction */ + triggeringRatio: Scalars['Float']; +}; + +/** A special order type for liquidity providers */ +export type LiquidityOrder = { + __typename?: 'LiquidityOrder'; + /** Offset from the pegged reference */ + offset: Scalars['String']; + /** The proportion of the commitment allocated to this order */ + proportion: Scalars['Int']; + /** The value to which this order is tied */ + reference: PeggedReference; +}; + +export type LiquidityOrderReference = { + __typename?: 'LiquidityOrderReference'; + /** The liquidity order */ + liquidityOrder: LiquidityOrder; + /** The ID of the pegged order generated to fulfill this commitment */ + order?: Maybe; +}; + +/** The equity like share of liquidity fee for each liquidity provider */ +export type LiquidityProviderFeeShare = { + __typename?: 'LiquidityProviderFeeShare'; + /** The average entry valuation of the liquidity provider for the market */ + averageEntryValuation: Scalars['String']; + /** The share owned by this liquidity provider (float) */ + equityLikeShare: Scalars['String']; + /** The liquidity provider party ID */ + party: Party; +}; + +/** The command to be sent to the chain for a liquidity provision submission */ +export type LiquidityProvision = { + __typename?: 'LiquidityProvision'; + /** a set of liquidity buy orders to meet the liquidity provision obligation. */ + buys: Array; + /** Specified as a unit-less number that represents the amount of settlement asset of the market. */ + commitmentAmount: Scalars['String']; + /** When the liquidity provision was initially created (formatted RFC3339) */ + createdAt: Scalars['String']; + /** Nominated liquidity fee factor, which is an input to the calculation of maker fees on the market, as per setting fees and rewarding liquidity providers. */ + fee: Scalars['String']; + /** Unique identifier for the order (set by the system after consensus) */ + id?: Maybe; + /** Market ID for the order */ + market: Market; + /** The Id of the party making this commitment */ + party: Party; + /** A reference for the orders created out of this Liquidity provision */ + reference?: Maybe; + /** a set of liquidity sell orders to meet the liquidity provision obligation. */ + sells: Array; + /** The current status of this liquidity provision */ + status: LiquidityProvisionStatus; + /** RFC3339Nano time of when the liquidity provision was updated */ + updatedAt?: Maybe; + /** The version of this LiquidityProvision */ + version: Scalars['String']; +}; + +/** Status of a liquidity provision order */ +export enum LiquidityProvisionStatus { + /** An active liquidity provision */ + STATUS_ACTIVE = 'STATUS_ACTIVE', + /** A cancelled liquidity provision */ + STATUS_CANCELLED = 'STATUS_CANCELLED', + /** + * The liquidity provision is valid and accepted by the network, but orders aren't deployed and + * have never been deployed. If when it's possible to deploy them for the first time the + * margin check fails, then they will be cancelled without any penalties. + */ + STATUS_PENDING = 'STATUS_PENDING', + /** Liquidity provision was invalid and got rejected */ + STATUS_REJECTED = 'STATUS_REJECTED', + /** A liquidity provision stopped by the network */ + STATUS_STOPPED = 'STATUS_STOPPED', + /** The liquidity provision is valid and accepted by the network, but orders aren't deployed */ + STATUS_UNDEPLOYED = 'STATUS_UNDEPLOYED' +} + +export type LiquidityProvisionsConnection = { + __typename?: 'LiquidityProvisionsConnection'; + edges?: Maybe>>; + pageInfo: PageInfo; +}; + +export type LiquidityProvisionsEdge = { + __typename?: 'LiquidityProvisionsEdge'; + cursor: Scalars['String']; + node: LiquidityProvision; +}; + +/** Parameters for the log normal risk model */ +export type LogNormalModelParams = { + __typename?: 'LogNormalModelParams'; + /** mu parameter, annualised growth rate of the underlying asset */ + mu: Scalars['Float']; + /** r parameter */ + r: Scalars['Float']; + /** sigma parameter, annualised volatility of the underlying asset, must be a strictly non-negative real number */ + sigma: Scalars['Float']; +}; + +/** A type of risk model for futures trading */ +export type LogNormalRiskModel = { + __typename?: 'LogNormalRiskModel'; + /** Parameters for the log normal risk model */ + params: LogNormalModelParams; + /** Lambda parameter of the risk model, probability confidence level used in expected shortfall calculation when obtaining the maintenance margin level, must be strictly greater than 0 and strictly smaller than 1 */ + riskAversionParameter: Scalars['Float']; + /** Tau parameter of the risk model, projection horizon measured as a year fraction used in the expected shortfall calculation to obtain the maintenance margin, must be a strictly non-negative real number */ + tau: Scalars['Float']; +}; + +export type LossSocialization = { + __typename?: 'LossSocialization'; + /** the amount lost */ + amount: Scalars['String']; + /** the market ID where loss socialization happened */ + marketId: Scalars['ID']; + /** the party that was part of the loss socialization */ + partyId: Scalars['ID']; +}; + +export type MarginCalculator = { + __typename?: 'MarginCalculator'; + /** The scaling factors that will be used for margin calculation */ + scalingFactors: ScalingFactors; +}; + +export type MarginConnection = { + __typename?: 'MarginConnection'; + /** The margin levels in this connection */ + edges?: Maybe>; + /** The pagination information */ + pageInfo?: Maybe; +}; + +export type MarginEdge = { + __typename?: 'MarginEdge'; + cursor?: Maybe; + node: MarginLevels; +}; + +/** Margins for a given a party */ +export type MarginLevels = { + __typename?: 'MarginLevels'; + /** asset for the current margins */ + asset: Asset; + /** + * If the margin of the party is greater than this level, then collateral will be released from the margin account into + * the general account of the party for the given asset. + */ + collateralReleaseLevel: Scalars['String']; + /** this is the minimum margin required for a party to place a new order on the network (unsigned integer) */ + initialLevel: Scalars['String']; + /** minimal margin for the position to be maintained in the network (unsigned integer) */ + maintenanceLevel: Scalars['String']; + /** market in which the margin is required for this party */ + market: Market; + /** ID of the party for this margin */ + party: Party; + /** if the margin is between maintenance and search, the network will initiate a collateral search (unsigned integer) */ + searchLevel: Scalars['String']; + /** RFC3339Nano time from at which this margin level was relevant */ + timestamp: Scalars['String']; +}; + +/** Represents a product & associated parameters that can be traded on Vega, has an associated OrderBook and Trade history */ +export type Market = { + __typename?: 'Market'; + /** + * Get account for a party or market + * @deprecated Use the accountsConnection instead + */ + accounts?: Maybe>; + /** Get account for a party or market */ + accountsConnection: AccountsConnection; + /** + * Candles on a market, for the 'last' n candles, at 'interval' seconds as specified by parameters + * @deprecated Use the 'candlesConnection' field instead + */ + candles?: Maybe>>; + /** Candles on a market, for the 'last' n candles, at 'interval' seconds as specified by parameters using cursor based pagination */ + candlesConnection: CandleDataConnection; + /** marketData for the given market */ + data?: Maybe; + /** + * decimalPlaces indicates the number of decimal places that an integer must be shifted by in order to get a correct + * number denominated in the currency of the market. (uint64) + * + * Examples: + * Currency Balance decimalPlaces Real Balance + * GBP 100 0 GBP 100 + * GBP 100 2 GBP 1.00 + * GBP 100 4 GBP 0.01 + * GBP 1 4 GBP 0.0001 ( 0.01p ) + * + * GBX (pence) 100 0 GBP 1.00 (100p ) + * GBX (pence) 100 2 GBP 0.01 ( 1p ) + * GBX (pence) 100 4 GBP 0.0001 ( 0.01p ) + * GBX (pence) 1 4 GBP 0.000001 ( 0.0001p) + */ + decimalPlaces: Scalars['Int']; + /** Current depth on the order book for this market */ + depth: MarketDepth; + /** Fees related data */ + fees: Fees; + /** Market ID */ + id: Scalars['ID']; + /** Liquidity monitoring parameters for the market */ + liquidityMonitoringParameters: LiquidityMonitoringParameters; + /** + * The list of the liquidity provision commitments for this market + * @deprecated Use liquidityProvisionsConnection instead + */ + liquidityProvisions?: Maybe>; + /** The list of the liquidity provision commitments for this market */ + liquidityProvisionsConnection: LiquidityProvisionsConnection; + /** timestamps for state changes in the market */ + marketTimestamps: MarketTimestamps; + /** Market full name */ + name: Scalars['String']; + /** + * Auction duration specifies how long the opening auction will run (minimum + * duration and optionally a minimum traded volume). + */ + openingAuction: AuctionDuration; + /** + * Orders on a market + * @deprecated Use the 'ordersConnection' field instead + */ + orders?: Maybe>; + /** Orders on a market */ + ordersConnection: OrderConnection; + /** + * positionDecimalPlaces indicates the number of decimal places that an integer must be shifted in order to get a correct size (uint64). + * i.e. 0 means there are no fractional orders for the market, and order sizes are always whole sizes. + * 2 means sizes given as 10^2 * desired size, e.g. a desired size of 1.23 is represented as 123 in this market. + * This sets how big the smallest order / position on the market can be. + */ + positionDecimalPlaces: Scalars['Int']; + /** Price monitoring settings for the market */ + priceMonitoringSettings: PriceMonitoringSettings; + /** The proposal that initiated this market */ + proposal?: Maybe; + /** risk factors for the market */ + riskFactors?: Maybe; + /** Current state of the market */ + state: MarketState; + /** An instance of, or reference to, a tradable instrument. */ + tradableInstrument: TradableInstrument; + /** + * Trades on a market + * @deprecated Use tradesConnection for cursor based pagination instead + */ + trades?: Maybe>; + tradesConnection: TradeConnection; + /** Current mode of execution of the market */ + tradingMode: MarketTradingMode; +}; + + +/** Represents a product & associated parameters that can be traded on Vega, has an associated OrderBook and Trade history */ +export type MarketaccountsArgs = { + partyId?: InputMaybe; +}; + + +/** Represents a product & associated parameters that can be traded on Vega, has an associated OrderBook and Trade history */ +export type MarketaccountsConnectionArgs = { + pagination?: InputMaybe; + partyId?: InputMaybe; +}; + + +/** Represents a product & associated parameters that can be traded on Vega, has an associated OrderBook and Trade history */ +export type MarketcandlesArgs = { + interval: Interval; + since: Scalars['String']; +}; + + +/** Represents a product & associated parameters that can be traded on Vega, has an associated OrderBook and Trade history */ +export type MarketcandlesConnectionArgs = { + interval: Interval; + pagination?: InputMaybe; + since: Scalars['String']; + to?: InputMaybe; +}; + + +/** Represents a product & associated parameters that can be traded on Vega, has an associated OrderBook and Trade history */ +export type MarketdepthArgs = { + maxDepth?: InputMaybe; +}; + + +/** Represents a product & associated parameters that can be traded on Vega, has an associated OrderBook and Trade history */ +export type MarketliquidityProvisionsArgs = { + party?: InputMaybe; +}; + + +/** Represents a product & associated parameters that can be traded on Vega, has an associated OrderBook and Trade history */ +export type MarketliquidityProvisionsConnectionArgs = { + pagination?: InputMaybe; + party?: InputMaybe; +}; + + +/** Represents a product & associated parameters that can be traded on Vega, has an associated OrderBook and Trade history */ +export type MarketordersArgs = { + first?: InputMaybe; + last?: InputMaybe; + skip?: InputMaybe; +}; + + +/** Represents a product & associated parameters that can be traded on Vega, has an associated OrderBook and Trade history */ +export type MarketordersConnectionArgs = { + pagination?: InputMaybe; +}; + + +/** Represents a product & associated parameters that can be traded on Vega, has an associated OrderBook and Trade history */ +export type MarkettradesArgs = { + first?: InputMaybe; + last?: InputMaybe; + skip?: InputMaybe; +}; + + +/** Represents a product & associated parameters that can be traded on Vega, has an associated OrderBook and Trade history */ +export type MarkettradesConnectionArgs = { + pagination?: InputMaybe; +}; + +export type MarketConnection = { + __typename?: 'MarketConnection'; + /** The markets in this connection */ + edges: Array; + /** The pagination information */ + pageInfo: PageInfo; +}; + +/** Live data of a Market */ +export type MarketData = { + __typename?: 'MarketData'; + /** RFC3339Nano time at which the auction will stop (null if not in auction mode) */ + auctionEnd?: Maybe; + /** RFC3339Nano time at which the next auction will start (null if none is scheduled) */ + auctionStart?: Maybe; + /** the highest price level on an order book for buy orders. */ + bestBidPrice: Scalars['String']; + /** the aggregated volume being bid at the best bid price. */ + bestBidVolume: Scalars['String']; + /** the lowest price level on an order book for offer orders. */ + bestOfferPrice: Scalars['String']; + /** the aggregated volume being offered at the best offer price. */ + bestOfferVolume: Scalars['String']; + /** the highest price level on an order book for buy orders not including pegged orders. */ + bestStaticBidPrice: Scalars['String']; + /** the aggregated volume being offered at the best static bid price, excluding pegged orders */ + bestStaticBidVolume: Scalars['String']; + /** the lowest price level on an order book for offer orders not including pegged orders. */ + bestStaticOfferPrice: Scalars['String']; + /** the aggregated volume being offered at the best static offer price, excluding pegged orders. */ + bestStaticOfferVolume: Scalars['String']; + /** the liquidity commitments for a given market */ + commitments: MarketDataCommitments; + /** what extended the ongoing auction (if an auction was extended) */ + extensionTrigger: AuctionTrigger; + /** indicative price if the auction ended now, 0 if not in auction mode */ + indicativePrice: Scalars['String']; + /** indicative volume if the auction ended now, 0 if not in auction mode */ + indicativeVolume: Scalars['String']; + /** the equity like share of liquidity fee for each liquidity provider */ + liquidityProviderFeeShare?: Maybe>; + /** the mark price (an unsigned integer) */ + markPrice: Scalars['String']; + /** market ID of the associated mark price */ + market: Market; + /** what state the market is in (auction, continuous, etc) */ + marketTradingMode: MarketTradingMode; + /** the market value proxy */ + marketValueProxy: Scalars['String']; + /** the arithmetic average of the best bid price and best offer price. */ + midPrice: Scalars['String']; + /** the sum of the size of all positions greater than 0. */ + openInterest: Scalars['String']; + /** a list of valid price ranges per associated trigger */ + priceMonitoringBounds?: Maybe>; + /** the arithmetic average of the best static bid price and best static offer price */ + staticMidPrice: Scalars['String']; + /** the supplied stake for the market */ + suppliedStake?: Maybe; + /** the amount of stake targeted for this market */ + targetStake?: Maybe; + /** RFC3339Nano time at which this market price was relevant */ + timestamp: Scalars['String']; + /** what triggered an auction (if an auction was started) */ + trigger: AuctionTrigger; +}; + +/** The liquidity commitments for this market */ +export type MarketDataCommitments = { + __typename?: 'MarketDataCommitments'; + /** a set of liquidity buy orders to meet the liquidity provision obligation. */ + buys?: Maybe>; + /** a set of liquidity sell orders to meet the liquidity provision obligation. */ + sells?: Maybe>; +}; + +export type MarketDataConnection = { + __typename?: 'MarketDataConnection'; + /** The market data elements for the requested page */ + edges?: Maybe>>; + /** The pagination information */ + pageInfo?: Maybe; +}; + +export type MarketDataEdge = { + __typename?: 'MarketDataEdge'; + cursor?: Maybe; + node: MarketData; +}; + +/** + * Market Depth is a measure of the number of open buy and sell orders for a security or currency at different prices. + * The depth of market measure provides an indication of the liquidity and depth for the instrument. + */ +export type MarketDepth = { + __typename?: 'MarketDepth'; + /** Buy side price levels (if available) */ + buy?: Maybe>; + /** Last trade for the given market (if available) */ + lastTrade?: Maybe; + /** Market ID */ + market: Market; + /** Sell side price levels (if available) */ + sell?: Maybe>; + /** Sequence number for the current snapshot of the market depth */ + sequenceNumber: Scalars['String']; +}; + +export type MarketDepthTrade = { + __typename?: 'MarketDepthTrade'; + /** ID of the trade for the given market (if available) */ + id: Scalars['String']; + /** Price of the trade */ + price: Scalars['String']; + /** Size of the trade */ + size: Scalars['String']; +}; + +/** + * Market Depth Update is a delta to the current market depth which can be used to update the + * market depth structure to keep it correct + */ +export type MarketDepthUpdate = { + __typename?: 'MarketDepthUpdate'; + /** Buy side price levels (if available) */ + buy?: Maybe>; + /** Market */ + market: Market; + /** Sequence number of the last update sent; useful for checking that no updates were missed. */ + previousSequenceNumber: Scalars['String']; + /** Sell side price levels (if available) */ + sell?: Maybe>; + /** Sequence number for the current snapshot of the market depth. It is always increasing but not monotonic. */ + sequenceNumber: Scalars['String']; +}; + +export type MarketEdge = { + __typename?: 'MarketEdge'; + cursor: Scalars['String']; + node: Market; +}; + +export type MarketEvent = { + __typename?: 'MarketEvent'; + /** the market ID */ + marketId: Scalars['ID']; + /** the message - market events are used for logging */ + payload: Scalars['String']; +}; + +/** The current state of a market */ +export enum MarketState { + /** Enactment date reached and usual auction exit checks pass */ + STATE_ACTIVE = 'STATE_ACTIVE', + /** + * Market triggers cancellation condition or governance + * votes to close before market becomes Active + */ + STATE_CANCELLED = 'STATE_CANCELLED', + /** Governance vote (to close) */ + STATE_CLOSED = 'STATE_CLOSED', + /** Governance vote passes/wins */ + STATE_PENDING = 'STATE_PENDING', + /** The governance proposal valid and accepted */ + STATE_PROPOSED = 'STATE_PROPOSED', + /** Outcome of governance votes is to reject the market */ + STATE_REJECTED = 'STATE_REJECTED', + /** Settlement triggered and completed as defined by product */ + STATE_SETTLED = 'STATE_SETTLED', + /** Price monitoring or liquidity monitoring trigger */ + STATE_SUSPENDED = 'STATE_SUSPENDED', + /** + * Defined by the product (i.e. from a product parameter, + * specified in market definition, giving close date/time) + */ + STATE_TRADING_TERMINATED = 'STATE_TRADING_TERMINATED' +} + +export type MarketTick = { + __typename?: 'MarketTick'; + /** the market ID */ + marketId: Scalars['ID']; + /** the block time */ + time: Scalars['String']; +}; + +/** timestamps for when the market changes state */ +export type MarketTimestamps = { + __typename?: 'MarketTimestamps'; + /** Time when the market is closed */ + close?: Maybe; + /** Time when the market is open and ready to accept trades */ + open?: Maybe; + /** Time when the market has been voted in and waiting to be created */ + pending?: Maybe; + /** Time when the market is first proposed */ + proposed?: Maybe; +}; + +/** What market trading mode is the market in */ +export enum MarketTradingMode { + /** Auction as normal trading mode for the market, where orders are uncrossed periodically */ + TRADING_MODE_BATCH_AUCTION = 'TRADING_MODE_BATCH_AUCTION', + /** Continuous trading where orders are processed and potentially matched on arrival */ + TRADING_MODE_CONTINUOUS = 'TRADING_MODE_CONTINUOUS', + /** Auction triggered by price/liquidity monitoring */ + TRADING_MODE_MONITORING_AUCTION = 'TRADING_MODE_MONITORING_AUCTION', + /** No trading allowed */ + TRADING_MODE_NO_TRADING = 'TRADING_MODE_NO_TRADING', + /** Auction trading where orders are uncrossed at the end of the opening auction period */ + TRADING_MODE_OPENING_AUCTION = 'TRADING_MODE_OPENING_AUCTION' +} + +/** Information about whether proposals are enabled, if the markets are still bootstrapping etc.. */ +export type NetworkLimits = { + __typename?: 'NetworkLimits'; + /** How many blocks before the chain comes out of bootstrap mode */ + bootstrapBlockCount: Scalars['Int']; + /** True once block count > bootstrapBlockCount */ + bootstrapFinished: Scalars['Boolean']; + /** Are asset proposals allowed at this point in time */ + canProposeAsset: Scalars['Boolean']; + /** Are market proposals allowed at this point in time */ + canProposeMarket: Scalars['Boolean']; + /** True once the genesis file is loaded */ + genesisLoaded: Scalars['Boolean']; + /** Are asset proposals enabled on this chain */ + proposeAssetEnabled: Scalars['Boolean']; + /** The date/timestamp in unix nanoseconds at which asset proposals will be enabled (0 indicates not set) */ + proposeAssetEnabledFrom: Scalars['Timestamp']; + /** Are market proposals enabled on this chain */ + proposeMarketEnabled: Scalars['Boolean']; + /** The date/timestamp in unix nanoseconds at which market proposals will be enabled (0 indicates not set) */ + proposeMarketEnabledFrom: Scalars['Timestamp']; +}; + +/** Representation of a network parameter */ +export type NetworkParameter = { + __typename?: 'NetworkParameter'; + /** The name of the network parameter */ + key: Scalars['String']; + /** The value of the network parameter */ + value: Scalars['String']; +}; + +export type NetworkParameterEdge = { + __typename?: 'NetworkParameterEdge'; + /** Cursor identifying the network parameter */ + cursor: Scalars['String']; + /** The network parameter */ + node: NetworkParameter; +}; + +export type NetworkParametersConnection = { + __typename?: 'NetworkParametersConnection'; + /** List of network parameters available for the connection */ + edges?: Maybe>>; + /** Page information for the connection */ + pageInfo: PageInfo; +}; + +/** A new asset proposal change */ +export type NewAsset = { + __typename?: 'NewAsset'; + /** The precision of the asset */ + decimals: Scalars['Int']; + /** The full name of the asset (e.g: Great British Pound) */ + name: Scalars['String']; + /** The minimum economically meaningful amount of this specific asset */ + quantum: Scalars['String']; + /** The source of the new asset */ + source: AssetSource; + /** The symbol of the asset (e.g: GBP) */ + symbol: Scalars['String']; +}; + +/** + * A new freeform proposal change. It has no properties on purpose. Use proposal + * rationale, instead. + */ +export type NewFreeform = { + __typename?: 'NewFreeform'; + /** A placeholder to please graphQL */ + _doNotUse?: Maybe; +}; + +export type NewMarket = { + __typename?: 'NewMarket'; + /** The liquidity commitment submitted with the new market */ + commitment?: Maybe; + /** Decimal places used for the new market, sets the smallest price increment on the book */ + decimalPlaces: Scalars['Int']; + /** New market instrument configuration */ + instrument: InstrumentConfiguration; + /** Metadata for this instrument, tags */ + metadata?: Maybe>; + /** New market risk configuration */ + riskParameters: RiskModel; +}; + +/** A commitment of liquidity to be made by the party that proposes a market */ +export type NewMarketCommitment = { + __typename?: 'NewMarketCommitment'; + /** A set of liquidity buy orders to meet the liquidity provision obligation */ + buys?: Maybe>; + /** Specified as a unit-less number that represents the amount of the settlement asset of the market */ + commitmentAmount: Scalars['String']; + /** + * Nominated liquidity fee factor, which is an input to the calculation of + * maker fees on the market, as per setting fees and rewarding liquidity provider + */ + fee: Scalars['String']; + /** A reference to be associated to all orders created from this commitment */ + reference?: Maybe; + /** A set of liquidity sell orders to meet the liquidity provision obligation */ + sells?: Maybe>; +}; + +export type Node = { + __typename?: 'Node'; + avatarUrl?: Maybe; + /** @deprecated Use delegationsConnection instead */ + delegations?: Maybe>; + delegationsConnection: DelegationsConnection; + epochData?: Maybe; + /** Ethereum public key of the node */ + ethereumAddress: Scalars['String']; + /** The node URL eg n01.vega.xyz */ + id: Scalars['String']; + /** URL from which you can get more info about the node. */ + infoUrl: Scalars['String']; + /** Country code for the location of the node */ + location: Scalars['String']; + name: Scalars['String']; + /** Amount of stake on the next epoch */ + pendingStake: Scalars['String']; + /** The pending staked field formatted by the client */ + pendingStakeFormatted: Scalars['String']; + /** Public key of the node operator */ + pubkey: Scalars['String']; + /** Ranking scores and status for the validator for the current epoch */ + rankingScore: RankingScore; + /** Reward scores for the current epoch for the validator */ + rewardScore?: Maybe; + /** The amount of stake that has been delegated by token holders */ + stakedByDelegates: Scalars['String']; + /** The stakes by delegates field formatted by the client */ + stakedByDelegatesFormatted: Scalars['String']; + /** The amount of stake the node has put up themselves */ + stakedByOperator: Scalars['String']; + /** The stakes by operator field formatted by the client */ + stakedByOperatorFormatted: Scalars['String']; + /** Total amount staked on node */ + stakedTotal: Scalars['String']; + /** The total staked field formatted by the client */ + stakedTotalFormatted: Scalars['String']; + status: NodeStatus; + /** Tendermint public key of the node */ + tmPubkey: Scalars['String']; +}; + + +export type NodedelegationsArgs = { + first?: InputMaybe; + last?: InputMaybe; + partyId?: InputMaybe; + skip?: InputMaybe; +}; + + +export type NodedelegationsConnectionArgs = { + pagination?: InputMaybe; + partyId?: InputMaybe; +}; + +export type NodeData = { + __typename?: 'NodeData'; + /** Number of inactive nodes */ + inactiveNodes: Scalars['Int']; + /** Total staked amount across all nodes */ + stakedTotal: Scalars['String']; + /** The total staked field formatted by the client */ + stakedTotalFormatted: Scalars['String']; + /** Total number of nodes */ + totalNodes: Scalars['Int']; + /** Total uptime for all epochs across all nodes. Or specify a number of epochs */ + uptime: Scalars['Float']; + /** Number of nodes validating */ + validatingNodes: Scalars['Int']; +}; + +export type NodeEdge = { + __typename?: 'NodeEdge'; + /** Cursor identifying the node */ + cursor: Scalars['String']; + /** The node */ + node: Node; +}; + +/** Represents a signature for the approval of a resource from a validator */ +export type NodeSignature = { + __typename?: 'NodeSignature'; + /** The ID of the resource being signed for */ + id: Scalars['ID']; + /** The kind of signature this is (e.g: withdrawal, new asset, etc) */ + kind?: Maybe; + /** The signature, as base64 encoding */ + signature?: Maybe; +}; + +export type NodeSignatureEdge = { + __typename?: 'NodeSignatureEdge'; + /** Cursor identifying the node signature */ + cursor: Scalars['String']; + /** The node signature */ + node: NodeSignature; +}; + +/** Represents the type signature provided by a node */ +export enum NodeSignatureKind { + /** A signature for proposing a new asset into the network */ + NODE_SIGNATURE_KIND_ASSET_NEW = 'NODE_SIGNATURE_KIND_ASSET_NEW', + /** A signature to update limits of an ERC20 asset */ + NODE_SIGNATURE_KIND_ASSET_UPDATE = 'NODE_SIGNATURE_KIND_ASSET_UPDATE', + /** A signature for allowing funds withdrawal */ + NODE_SIGNATURE_KIND_ASSET_WITHDRAWAL = 'NODE_SIGNATURE_KIND_ASSET_WITHDRAWAL', + /** A signature to add a new validator to the ERC20 bridge */ + NODE_SIGNATURE_KIND_ERC20_MULTISIG_SIGNER_ADDED = 'NODE_SIGNATURE_KIND_ERC20_MULTISIG_SIGNER_ADDED', + /** A siganture to remove a validator from the ERC20 bridge */ + NODE_SIGNATURE_KIND_ERC20_MULTISIG_SIGNER_REMOVED = 'NODE_SIGNATURE_KIND_ERC20_MULTISIG_SIGNER_REMOVED' +} + +export type NodeSignaturesConnection = { + __typename?: 'NodeSignaturesConnection'; + /** List of node signatures available for the connection */ + edges?: Maybe>>; + /** Page information for the connection */ + pageInfo: PageInfo; +}; + +export enum NodeStatus { + /** The node is non-validating */ + NODE_STATUS_NON_VALIDATOR = 'NODE_STATUS_NON_VALIDATOR', + /** The node is validating */ + NODE_STATUS_VALIDATOR = 'NODE_STATUS_VALIDATOR' +} + +export type NodesConnection = { + __typename?: 'NodesConnection'; + /** List of nodes available for the connection */ + edges?: Maybe>>; + /** Page information for the connection */ + pageInfo: PageInfo; +}; + +/** The equity like share of liquidity fee for each liquidity provider */ +export type ObservableLiquidityProviderFeeShare = { + __typename?: 'ObservableLiquidityProviderFeeShare'; + /** The average entry valuation of the liquidity provider for the market */ + averageEntryValuation: Scalars['String']; + /** The share owned by this liquidity provider (float) */ + equityLikeShare: Scalars['String']; + /** The liquidity provider party ID */ + partyId: Scalars['String']; +}; + +/** Live data of a Market */ +export type ObservableMarketData = { + __typename?: 'ObservableMarketData'; + /** RFC3339Nano time at which the auction will stop (null if not in auction mode) */ + auctionEnd?: Maybe; + /** RFC3339Nano time at which the next auction will start (null if none is scheduled) */ + auctionStart?: Maybe; + /** the highest price level on an order book for buy orders. */ + bestBidPrice: Scalars['String']; + /** the aggregated volume being bid at the best bid price. */ + bestBidVolume: Scalars['String']; + /** the lowest price level on an order book for offer orders. */ + bestOfferPrice: Scalars['String']; + /** the aggregated volume being offered at the best offer price. */ + bestOfferVolume: Scalars['String']; + /** the highest price level on an order book for buy orders not including pegged orders. */ + bestStaticBidPrice: Scalars['String']; + /** the aggregated volume being offered at the best static bid price, excluding pegged orders */ + bestStaticBidVolume: Scalars['String']; + /** the lowest price level on an order book for offer orders not including pegged orders */ + bestStaticOfferPrice: Scalars['String']; + /** the aggregated volume being offered at the best static offer price, excluding pegged orders */ + bestStaticOfferVolume: Scalars['String']; + /** what extended the ongoing auction (if an auction was extended) */ + extensionTrigger: AuctionTrigger; + /** indicative price if the auction ended now, 0 if not in auction mode */ + indicativePrice: Scalars['String']; + /** indicative volume if the auction ended now, 0 if not in auction mode */ + indicativeVolume: Scalars['String']; + /** the equity like share of liquidity fee for each liquidity provider */ + liquidityProviderFeeShare?: Maybe>; + /** the mark price (an unsigned integer) */ + markPrice: Scalars['String']; + /** market ID of the associated mark price */ + marketId: Scalars['String']; + /** what state the market is in (auction, continuous etc) */ + marketTradingMode: MarketTradingMode; + /** the market value proxy */ + marketValueProxy: Scalars['String']; + /** the arithmetic average of the best bid price and best offer price */ + midPrice: Scalars['String']; + /** the sum of the size of all positions greater than 0 */ + openInterest: Scalars['String']; + /** A list of valid price ranges per associated trigger */ + priceMonitoringBounds?: Maybe>; + /** the arithmetic average of the best static bid price and best static offer price */ + staticMidPrice: Scalars['String']; + /** the supplied stake for the market */ + suppliedStake?: Maybe; + /** the amount of stake targeted for this market */ + targetStake?: Maybe; + /** RFC3339Nano time at which this market price was relevant */ + timestamp: Scalars['String']; + /** what triggered an auction (if an auction was started) */ + trigger: AuctionTrigger; +}; + +/** + * Market Depth is a measure of the number of open buy and sell orders for a security or currency at different prices. + * The depth of market measure provides an indication of the liquidity and depth for the instrument. + */ +export type ObservableMarketDepth = { + __typename?: 'ObservableMarketDepth'; + /** Buy side price levels (if available) */ + buy?: Maybe>; + /** Last trade for the given market (if available) */ + lastTrade: MarketDepthTrade; + /** Market ID */ + marketId: Scalars['String']; + /** Sell side price levels (if available) */ + sell?: Maybe>; + /** Sequence number for the current snapshot of the market depth */ + sequenceNumber: Scalars['String']; +}; + +/** + * Market Depth Update is a delta to the current market depth which can be used to update the + * market depth structure to keep it correct + */ +export type ObservableMarketDepthUpdate = { + __typename?: 'ObservableMarketDepthUpdate'; + /** Buy side price levels (if available) */ + buy?: Maybe>; + /** Market id */ + marketId: Scalars['String']; + /** Sequence number of the last update sent; useful for checking that no updates were missed. */ + previousSequenceNumber: Scalars['String']; + /** Sell side price levels (if available) */ + sell?: Maybe>; + /** Sequence number for the current snapshot of the market depth. It is always increasing but not monotonic. */ + sequenceNumber: Scalars['String']; +}; + +export type OffsetPagination = { + /** + * Descending reverses the order of the records returned + * default is true, if false the results will be returned in ascending order + */ + descending: Scalars['Boolean']; + /** Limit the number of returned records to the value specified, default is 50 */ + limit: Scalars['Int']; + /** Skip the number of records specified, default is 0 */ + skip: Scalars['Int']; +}; + +/** The specific details for a one-off transfer */ +export type OneOffTransfer = { + __typename?: 'OneOffTransfer'; + /** An optional time when the transfer should be delivered */ + deliverOn?: Maybe; +}; + +export type Oracle = EthereumEvent; + +/** An oracle data contains the data sent by an oracle */ +export type OracleData = { + __typename?: 'OracleData'; + /** + * RFC3339Nano formatted date and time for when the data was broadcast to the markets + * with a matching oracle spec. + * It has no value when the oracle date does not match any oracle spec. + */ + broadcastAt: Scalars['String']; + /** data contains all the properties send by an oracle */ + data?: Maybe>; + /** + * lists all the oracle specs that matched this oracle data. + * When the array is empty, it means no oracle spec matched this oracle data. + */ + matchedSpecIds?: Maybe>; + /** pubKeys is the list of public keys that signed the data */ + pubKeys?: Maybe>; +}; + +export type OracleDataConnection = { + __typename?: 'OracleDataConnection'; + /** The oracle data */ + edges?: Maybe>>; + /** The pagination information */ + pageInfo: PageInfo; +}; + +export type OracleDataEdge = { + __typename?: 'OracleDataEdge'; + /** The cursor for the data item */ + cursor: Scalars['String']; + /** The oracle data */ + node: OracleData; +}; + +/** + * An oracle spec describe the oracle data that a product (or a risk model) + * wants to get from the oracle engine. + */ +export type OracleSpec = { + __typename?: 'OracleSpec'; + /** RFC3339Nano creation date time */ + createdAt: Scalars['String']; + /** + * data list all the oracle data broadcast to this spec + * @deprecated Use dataConnection instead + */ + data: Array; + /** data list all the oracle data broadcast to this spec */ + dataConnection: OracleDataConnection; + /** + * filters describes which oracle data are considered of interest or not for + * the product (or the risk model). + */ + filters?: Maybe>; + /** ID is a hash generated from the OracleSpec data. */ + id: Scalars['String']; + /** + * pubKeys is the list of authorized public keys that signed the data for this + * oracle. All the public keys in the oracle data should be contained in these + * public keys. + */ + pubKeys?: Maybe>; + /** status describes the status of the oracle spec */ + status: OracleSpecStatus; + /** RFC3339Nano last updated timestamp */ + updatedAt?: Maybe; +}; + + +/** + * An oracle spec describe the oracle data that a product (or a risk model) + * wants to get from the oracle engine. + */ +export type OracleSpecdataConnectionArgs = { + pagination?: InputMaybe; +}; + +/** + * An oracle spec describe the oracle data that an instrument wants to get from the + * oracle engine. + */ +export type OracleSpecConfiguration = { + __typename?: 'OracleSpecConfiguration'; + /** + * filters describes which oracle data are considered of interest or not for + * the product (or the risk model). + */ + filters?: Maybe>; + /** + * pubKeys is the list of authorised public keys that signed the data for this + * oracle. All the public keys in the oracle data should be contained in these + * public keys. + */ + pubKeys?: Maybe>; +}; + +export type OracleSpecEdge = { + __typename?: 'OracleSpecEdge'; + /** The cursor for the data item */ + cursor: Scalars['String']; + /** The oracle spec */ + node: OracleSpec; +}; + +/** Status describe the status of the oracle spec */ +export enum OracleSpecStatus { + /** describes an active oracle spec. */ + STATUS_ACTIVE = 'STATUS_ACTIVE', + /** + * describes an oracle spec that is not listening to data + * anymore. + */ + STATUS_DEACTIVATED = 'STATUS_DEACTIVATED' +} + +/** + * OracleSpecToFutureBinding tells on which property oracle data should be + * used as settlement price and trading termination. + */ +export type OracleSpecToFutureBinding = { + __typename?: 'OracleSpecToFutureBinding'; + settlementPriceProperty: Scalars['String']; + tradingTerminationProperty: Scalars['String']; +}; + +export type OracleSpecsConnection = { + __typename?: 'OracleSpecsConnection'; + /** The oracle specs */ + edges?: Maybe>>; + /** The pagination information */ + pageInfo: PageInfo; +}; + +/** An order in Vega, if active it will be on the order book for the market */ +export type Order = { + __typename?: 'Order'; + /** RFC3339Nano formatted date and time for when the order was created (timestamp) */ + createdAt: Scalars['String']; + /** Expiration time of this order (ISO-8601 RFC3339+Nano formatted date) */ + expiresAt?: Maybe; + /** Hash of the order data */ + id: Scalars['ID']; + /** The liquidity provision this order was created from */ + liquidityProvision?: Maybe; + /** The market the order is trading on (probably stored internally as a hash of the market details) */ + market: Market; + /** The party who place the order (probably stored internally as the party's public key) */ + party: Party; + /** PeggedOrder contains the details about a pegged order */ + peggedOrder?: Maybe; + /** The worst price the order will trade at (e.g. buy for price or less, sell for price or more) (uint64) */ + price: Scalars['String']; + /** The external reference (if available) for the order */ + reference: Scalars['String']; + /** Reason for the order to be rejected */ + rejectionReason?: Maybe; + /** Number of contracts remaining of the total that have not yet been bought or sold (uint64) */ + remaining: Scalars['String']; + /** Whether the order is to buy or sell */ + side: Side; + /** Total number of contracts that may be bought or sold (immutable) (uint64) */ + size: Scalars['String']; + /** The status of an order, for example 'Active' */ + status: OrderStatus; + /** The timeInForce of order (determines how and if it executes, and whether it persists on the book) */ + timeInForce: OrderTimeInForce; + /** + * Trades relating to this order + * @deprecated Use tradesConnection instead + */ + trades?: Maybe>; + /** Trades relating to this order */ + tradesConnection: TradeConnection; + /** Type the order type (defaults to PARTY) */ + type?: Maybe; + /** RFC3339Nano time the order was altered */ + updatedAt?: Maybe; + /** Version of this order, counts the number of amends */ + version: Scalars['String']; +}; + + +/** An order in Vega, if active it will be on the order book for the market */ +export type OrdertradesConnectionArgs = { + pagination?: InputMaybe; +}; + +export type OrderConnection = { + __typename?: 'OrderConnection'; + /** The orders in this connection */ + edges?: Maybe>; + /** The pagination information */ + pageInfo?: Maybe; +}; + +export type OrderEdge = { + __typename?: 'OrderEdge'; + cursor?: Maybe; + node: Order; +}; + +/** An estimate of the fee to be paid by the order */ +export type OrderEstimate = { + __typename?: 'OrderEstimate'; + /** The estimated fee if the order was to trade */ + fee: TradeFee; + /** The margin requirement for this order */ + marginLevels: MarginLevels; + /** The total estimated amount of fee if the order was to trade */ + totalFeeAmount: Scalars['String']; +}; + +/** Reason for the order being rejected by the core node */ +export enum OrderRejectionReason { + /** Amending the order failed */ + ORDER_ERROR_AMEND_FAILURE = 'ORDER_ERROR_AMEND_FAILURE', + /** Buy pegged order cannot reference best ask price */ + ORDER_ERROR_BUY_CANNOT_REFERENCE_BEST_ASK_PRICE = 'ORDER_ERROR_BUY_CANNOT_REFERENCE_BEST_ASK_PRICE', + /** Amending from Good for Auction or Good for Normal is invalid */ + ORDER_ERROR_CANNOT_AMEND_FROM_GFA_OR_GFN = 'ORDER_ERROR_CANNOT_AMEND_FROM_GFA_OR_GFN', + /** Cannot change pegged order fields on a non pegged order */ + ORDER_ERROR_CANNOT_AMEND_PEGGED_ORDER_DETAILS_ON_NON_PEGGED_ORDER = 'ORDER_ERROR_CANNOT_AMEND_PEGGED_ORDER_DETAILS_ON_NON_PEGGED_ORDER', + /** Amending to Fill or Kill, or Immediate or Cancel is invalid */ + ORDER_ERROR_CANNOT_AMEND_TO_FOK_OR_IOC = 'ORDER_ERROR_CANNOT_AMEND_TO_FOK_OR_IOC', + /** Amending to Good for Auction or Good for Normal is invalid */ + ORDER_ERROR_CANNOT_AMEND_TO_GFA_OR_GFN = 'ORDER_ERROR_CANNOT_AMEND_TO_GFA_OR_GFN', + /** Attempt to amend order to Good til Time without expiry time */ + ORDER_ERROR_CANNOT_AMEND_TO_GTT_WITHOUT_EXPIRYAT = 'ORDER_ERROR_CANNOT_AMEND_TO_GTT_WITHOUT_EXPIRYAT', + /** Attempt to amend to Good till Cancelled without an expiry time */ + ORDER_ERROR_CANNOT_HAVE_GTC_AND_EXPIRYAT = 'ORDER_ERROR_CANNOT_HAVE_GTC_AND_EXPIRYAT', + /** Cannot send FOK orders during an auction */ + ORDER_ERROR_CANNOT_SEND_FOK_ORDER_DURING_AUCTION = 'ORDER_ERROR_CANNOT_SEND_FOK_ORDER_DURING_AUCTION', + /** Cannot send IOC orders during an auction */ + ORDER_ERROR_CANNOT_SEND_IOC_ORDER_DURING_AUCTION = 'ORDER_ERROR_CANNOT_SEND_IOC_ORDER_DURING_AUCTION', + /** Edit is not allowed */ + ORDER_ERROR_EDIT_NOT_ALLOWED = 'ORDER_ERROR_EDIT_NOT_ALLOWED', + /** Attempt to amend expiry time to a value before time order was created */ + ORDER_ERROR_EXPIRYAT_BEFORE_CREATEDAT = 'ORDER_ERROR_EXPIRYAT_BEFORE_CREATEDAT', + /** Good for Auction order received during continuous trading */ + ORDER_ERROR_GFA_ORDER_DURING_CONTINUOUS_TRADING = 'ORDER_ERROR_GFA_ORDER_DURING_CONTINUOUS_TRADING', + /** Good for Normal order received during an auction */ + ORDER_ERROR_GFN_ORDER_DURING_AN_AUCTION = 'ORDER_ERROR_GFN_ORDER_DURING_AN_AUCTION', + /** Insufficient balance to submit the order (no deposit made) */ + ORDER_ERROR_INSUFFICIENT_ASSET_BALANCE = 'ORDER_ERROR_INSUFFICIENT_ASSET_BALANCE', + /** Insufficient funds to pay fees */ + ORDER_ERROR_INSUFFICIENT_FUNDS_TO_PAY_FEES = 'ORDER_ERROR_INSUFFICIENT_FUNDS_TO_PAY_FEES', + /** An internal error happened */ + ORDER_ERROR_INTERNAL_ERROR = 'ORDER_ERROR_INTERNAL_ERROR', + /** Expiration time is invalid */ + ORDER_ERROR_INVALID_EXPIRATION_DATETIME = 'ORDER_ERROR_INVALID_EXPIRATION_DATETIME', + /** Market ID is invalid */ + ORDER_ERROR_INVALID_MARKET_ID = 'ORDER_ERROR_INVALID_MARKET_ID', + /** Order ID is invalid */ + ORDER_ERROR_INVALID_ORDER_ID = 'ORDER_ERROR_INVALID_ORDER_ID', + /** Order reference is invalid */ + ORDER_ERROR_INVALID_ORDER_REFERENCE = 'ORDER_ERROR_INVALID_ORDER_REFERENCE', + /** Party ID is invalid */ + ORDER_ERROR_INVALID_PARTY_ID = 'ORDER_ERROR_INVALID_PARTY_ID', + /** Invalid persistence */ + ORDER_ERROR_INVALID_PERSISTENCE = 'ORDER_ERROR_INVALID_PERSISTENCE', + /** Remaining size in the order is invalid */ + ORDER_ERROR_INVALID_REMAINING_SIZE = 'ORDER_ERROR_INVALID_REMAINING_SIZE', + /** Invalid size */ + ORDER_ERROR_INVALID_SIZE = 'ORDER_ERROR_INVALID_SIZE', + /** Invalid Time In Force */ + ORDER_ERROR_INVALID_TIME_IN_FORCE = 'ORDER_ERROR_INVALID_TIME_IN_FORCE', + /** Invalid type */ + ORDER_ERROR_INVALID_TYPE = 'ORDER_ERROR_INVALID_TYPE', + /** Margin check failed - not enough available margin */ + ORDER_ERROR_MARGIN_CHECK_FAILED = 'ORDER_ERROR_MARGIN_CHECK_FAILED', + /** Market is closed */ + ORDER_ERROR_MARKET_CLOSED = 'ORDER_ERROR_MARKET_CLOSED', + /** Order missing general account */ + ORDER_ERROR_MISSING_GENERAL_ACCOUNT = 'ORDER_ERROR_MISSING_GENERAL_ACCOUNT', + /** Pegged orders can only have a time in force of Good til Cancelled or Good til Time */ + ORDER_ERROR_MUST_BE_GTT_OR_GTC = 'ORDER_ERROR_MUST_BE_GTT_OR_GTC', + /** Pegged orders must be limit orders */ + ORDER_ERROR_MUST_BE_LIMIT_ORDER = 'ORDER_ERROR_MUST_BE_LIMIT_ORDER', + /** Non-persistent order exceeds price bounds */ + ORDER_ERROR_NON_PERSISTENT_ORDER_OUT_OF_PRICE_BOUNDS = 'ORDER_ERROR_NON_PERSISTENT_ORDER_OUT_OF_PRICE_BOUNDS', + /** Order does not exist */ + ORDER_ERROR_NOT_FOUND = 'ORDER_ERROR_NOT_FOUND', + /** Pegged order offset must be >= 0 */ + ORDER_ERROR_OFFSET_MUST_BE_GREATER_OR_EQUAL_TO_ZERO = 'ORDER_ERROR_OFFSET_MUST_BE_GREATER_OR_EQUAL_TO_ZERO', + /** Pegged order offset must be > zero */ + ORDER_ERROR_OFFSET_MUST_BE_GREATER_THAN_ZERO = 'ORDER_ERROR_OFFSET_MUST_BE_GREATER_THAN_ZERO', + /** Order is out of sequence */ + ORDER_ERROR_OUT_OF_SEQUENCE = 'ORDER_ERROR_OUT_OF_SEQUENCE', + /** Unable to remove the order */ + ORDER_ERROR_REMOVAL_FAILURE = 'ORDER_ERROR_REMOVAL_FAILURE', + /** Order cannot be filled because it would require self trading */ + ORDER_ERROR_SELF_TRADING = 'ORDER_ERROR_SELF_TRADING', + /** Sell pegged order cannot reference best bid price */ + ORDER_ERROR_SELL_CANNOT_REFERENCE_BEST_BID_PRICE = 'ORDER_ERROR_SELL_CANNOT_REFERENCE_BEST_BID_PRICE', + /** Time has failed us */ + ORDER_ERROR_TIME_FAILURE = 'ORDER_ERROR_TIME_FAILURE', + /** Unable to amend pegged order price */ + ORDER_ERROR_UNABLE_TO_AMEND_PRICE_ON_PEGGED_ORDER = 'ORDER_ERROR_UNABLE_TO_AMEND_PRICE_ON_PEGGED_ORDER', + /** Unable to reprice a pegged order */ + ORDER_ERROR_UNABLE_TO_REPRICE_PEGGED_ORDER = 'ORDER_ERROR_UNABLE_TO_REPRICE_PEGGED_ORDER', + /** Pegged order must have a reference price */ + ORDER_ERROR_WITHOUT_REFERENCE_PRICE = 'ORDER_ERROR_WITHOUT_REFERENCE_PRICE' +} + +/** Valid order statuses, these determine several states for an order that cannot be expressed with other fields in Order. */ +export enum OrderStatus { + /** + * The order is active and not cancelled or expired, it could be unfilled, partially filled or fully filled. + * Active does not necessarily mean it's still on the order book. + */ + STATUS_ACTIVE = 'STATUS_ACTIVE', + /** The order is cancelled, the order could be partially filled or unfilled before it was cancelled. It is not possible to cancel an order with 0 remaining. */ + STATUS_CANCELLED = 'STATUS_CANCELLED', + /** This order trades any amount and as much as possible and remains on the book until it either trades completely or expires. */ + STATUS_EXPIRED = 'STATUS_EXPIRED', + /** This order is fully filled with remaining equalling zero. */ + STATUS_FILLED = 'STATUS_FILLED', + /** This order has been removed from the order book because the market is in auction, the reference price doesn't exist, or the order needs to be repriced and can't. Applies to pegged orders only */ + STATUS_PARKED = 'STATUS_PARKED', + /** This order was partially filled. */ + STATUS_PARTIALLY_FILLED = 'STATUS_PARTIALLY_FILLED', + /** This order was rejected while being processed. */ + STATUS_REJECTED = 'STATUS_REJECTED', + /** This order was of type IOC or FOK and could not be processed by the matching engine due to lack of liquidity. */ + STATUS_STOPPED = 'STATUS_STOPPED' +} + +/** Valid order types, these determine what happens when an order is added to the book */ +export enum OrderTimeInForce { + /** Fill or Kill: The order either trades completely (remainingSize == 0 after adding) or not at all, does not remain on the book if it doesn't trade */ + TIME_IN_FORCE_FOK = 'TIME_IN_FORCE_FOK', + /** Good for Auction: This order is only accepted during an auction period */ + TIME_IN_FORCE_GFA = 'TIME_IN_FORCE_GFA', + /** Good for Normal: This order is only accepted during normal trading (continuous trading or frequent batched auctions) */ + TIME_IN_FORCE_GFN = 'TIME_IN_FORCE_GFN', + /** Good 'til Cancelled: This order trades any amount and as much as possible and remains on the book until it either trades completely or is cancelled */ + TIME_IN_FORCE_GTC = 'TIME_IN_FORCE_GTC', + /** + * Good 'til Time: This order type trades any amount and as much as possible and remains on the book until they either trade completely, are cancelled, or expires at a set time + * NOTE: this may in future be multiple types or have sub types for orders that provide different ways of specifying expiry + */ + TIME_IN_FORCE_GTT = 'TIME_IN_FORCE_GTT', + /** Immediate or Cancel: The order trades any amount and as much as possible but does not remain on the book (whether it trades or not) */ + TIME_IN_FORCE_IOC = 'TIME_IN_FORCE_IOC' +} + +export enum OrderType { + /** Order that uses a pre-specified price to buy or sell */ + TYPE_LIMIT = 'TYPE_LIMIT', + /** An order to buy or sell at the market's current best available price */ + TYPE_MARKET = 'TYPE_MARKET', + /** + * Used for distressed parties, an order placed by the network to close out distressed parties + * similar to Market order, only no party is attached to the order. + */ + TYPE_NETWORK = 'TYPE_NETWORK' +} + +export type PageInfo = { + __typename?: 'PageInfo'; + endCursor: Scalars['String']; + hasNextPage: Scalars['Boolean']; + hasPreviousPage: Scalars['Boolean']; + startCursor: Scalars['String']; +}; + +/** Pagination constructs to support cursor based pagination in the API */ +export type Pagination = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; +}; + +/** Represents a party on Vega, could be an ethereum wallet address in the future */ +export type Party = { + __typename?: 'Party'; + /** + * Collateral accounts relating to a party + * @deprecated Use accountsConnection instead + */ + accounts?: Maybe>; + /** Collateral accounts relating to a party */ + accountsConnection: AccountsConnection; + /** @deprecated Use delegationsConnection instead */ + delegations?: Maybe>; + delegationsConnection: DelegationsConnection; + /** + * The list of all deposits for a party by the party + * @deprecated Use depositsConnection instead + */ + deposits?: Maybe>; + /** The list of all deposits for a party by the party */ + depositsConnection: DepositsConnection; + /** Party identifier */ + id: Scalars['ID']; + /** + * The list of the liquidity provision commitment from this party + * @deprecated Use liquidityProvisionsConnection instead + */ + liquidityProvisions?: Maybe>; + /** The list of the liquidity provision commitment for this party */ + liquidityProvisionsConnection: LiquidityProvisionsConnection; + /** + * marginLevels + * @deprecated Use marginsConnection instead + */ + margins?: Maybe>; + /** Margin levels for a market */ + marginsConnection: MarginConnection; + /** + * Orders relating to a party + * @deprecated Use ordersConnection instead + */ + orders?: Maybe>; + /** Orders relating to a party */ + ordersConnection: OrderConnection; + /** + * Trading positions relating to a party + * @deprecated Use the 'positionsConnection' field instead + */ + positions?: Maybe>; + /** Trading positions relating to a party */ + positionsConnection: PositionConnection; + /** @deprecated Use proposalsConnection instead */ + proposals?: Maybe>>; + /** All governance proposals in the VEGA network */ + proposalsConnection: ProposalsConnection; + /** + * return reward information + * @deprecated Use rewardSummaries or rewards instead. + */ + rewardDetails?: Maybe>>; + /** Return net reward information */ + rewardSummaries?: Maybe>>; + /** + * Return individual reward information + * @deprecated Use rewardsConnection instead + */ + rewards?: Maybe>>; + rewardsConnection?: Maybe; + /** + * The staking information for this Party + * @deprecated Use stakingSummary instead + */ + stake: PartyStake; + /** The staking information for this Party */ + stakingSummary: StakingSummary; + /** + * Trades relating to a party (specifically where party is either buyer OR seller) + * @deprecated Use tradesConnection for cursor based pagination instead + */ + trades?: Maybe>; + tradesConnection: TradeConnection; + /** get a list of all transfers for a public key */ + transfersConnection: TransferConnection; + /** @deprecated Use votesConnection instead */ + votes?: Maybe>>; + votesConnection: ProposalVoteConnection; + /** + * The list of all withdrawals initiated by the party + * @deprecated Use withdrawalsConnection instead + */ + withdrawals?: Maybe>; + /** The list of all withdrawals initiated by the party */ + withdrawalsConnection: WithdrawalsConnection; +}; + + +/** Represents a party on Vega, could be an ethereum wallet address in the future */ +export type PartyaccountsArgs = { + asset?: InputMaybe; + marketId?: InputMaybe; + type?: InputMaybe; +}; + + +/** Represents a party on Vega, could be an ethereum wallet address in the future */ +export type PartyaccountsConnectionArgs = { + asset?: InputMaybe; + marketId?: InputMaybe; + pagination?: InputMaybe; + type?: InputMaybe; +}; + + +/** Represents a party on Vega, could be an ethereum wallet address in the future */ +export type PartydelegationsArgs = { + first?: InputMaybe; + last?: InputMaybe; + nodeId?: InputMaybe; + skip?: InputMaybe; +}; + + +/** Represents a party on Vega, could be an ethereum wallet address in the future */ +export type PartydelegationsConnectionArgs = { + nodeId?: InputMaybe; + pagination?: InputMaybe; +}; + + +/** Represents a party on Vega, could be an ethereum wallet address in the future */ +export type PartydepositsConnectionArgs = { + pagination?: InputMaybe; +}; + + +/** Represents a party on Vega, could be an ethereum wallet address in the future */ +export type PartyliquidityProvisionsArgs = { + market?: InputMaybe; + reference?: InputMaybe; +}; + + +/** Represents a party on Vega, could be an ethereum wallet address in the future */ +export type PartyliquidityProvisionsConnectionArgs = { + market?: InputMaybe; + pagination?: InputMaybe; + reference?: InputMaybe; +}; + + +/** Represents a party on Vega, could be an ethereum wallet address in the future */ +export type PartymarginsArgs = { + marketId?: InputMaybe; +}; + + +/** Represents a party on Vega, could be an ethereum wallet address in the future */ +export type PartymarginsConnectionArgs = { + marketId?: InputMaybe; + pagination?: InputMaybe; +}; + + +/** Represents a party on Vega, could be an ethereum wallet address in the future */ +export type PartyordersArgs = { + first?: InputMaybe; + last?: InputMaybe; + skip?: InputMaybe; +}; + + +/** Represents a party on Vega, could be an ethereum wallet address in the future */ +export type PartyordersConnectionArgs = { + pagination?: InputMaybe; +}; + + +/** Represents a party on Vega, could be an ethereum wallet address in the future */ +export type PartypositionsConnectionArgs = { + market?: InputMaybe; + pagination?: InputMaybe; +}; + + +/** Represents a party on Vega, could be an ethereum wallet address in the future */ +export type PartyproposalsArgs = { + inState?: InputMaybe; +}; + + +/** Represents a party on Vega, could be an ethereum wallet address in the future */ +export type PartyproposalsConnectionArgs = { + inState?: InputMaybe; + pagination?: InputMaybe; + proposalType?: InputMaybe; +}; + + +/** Represents a party on Vega, could be an ethereum wallet address in the future */ +export type PartyrewardSummariesArgs = { + asset?: InputMaybe; +}; + + +/** Represents a party on Vega, could be an ethereum wallet address in the future */ +export type PartyrewardsArgs = { + asset?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + skip?: InputMaybe; +}; + + +/** Represents a party on Vega, could be an ethereum wallet address in the future */ +export type PartyrewardsConnectionArgs = { + asset?: InputMaybe; + pagination?: InputMaybe; +}; + + +/** Represents a party on Vega, could be an ethereum wallet address in the future */ +export type PartystakingSummaryArgs = { + pagination?: InputMaybe; +}; + + +/** Represents a party on Vega, could be an ethereum wallet address in the future */ +export type PartytradesArgs = { + first?: InputMaybe; + last?: InputMaybe; + marketId?: InputMaybe; + skip?: InputMaybe; +}; + + +/** Represents a party on Vega, could be an ethereum wallet address in the future */ +export type PartytradesConnectionArgs = { + marketId?: InputMaybe; + pagination?: InputMaybe; +}; + + +/** Represents a party on Vega, could be an ethereum wallet address in the future */ +export type PartytransfersConnectionArgs = { + direction?: InputMaybe; + pagination?: InputMaybe; +}; + + +/** Represents a party on Vega, could be an ethereum wallet address in the future */ +export type PartyvotesConnectionArgs = { + pagination?: InputMaybe; +}; + + +/** Represents a party on Vega, could be an ethereum wallet address in the future */ +export type PartywithdrawalsConnectionArgs = { + pagination?: InputMaybe; +}; + +export type PartyConnection = { + __typename?: 'PartyConnection'; + /** The parties in this connection */ + edges: Array; + /** The pagination information */ + pageInfo: PageInfo; +}; + +export type PartyEdge = { + __typename?: 'PartyEdge'; + cursor: Scalars['String']; + node: Party; +}; + +/** + * All staking information related to a Party. + * Contains the current recognised balance by the network and + * all the StakeLink/Unlink seen by the network + */ +export type PartyStake = { + __typename?: 'PartyStake'; + /** The stake currently available for the party */ + currentStakeAvailable: Scalars['String']; + /** The currently available stake formatted by the client */ + currentStakeAvailableFormatted: Scalars['String']; + /** The list of all stake link/unlink for the party */ + linkings?: Maybe>; +}; + +/** Create an order linked to an index rather than a price */ +export type PeggedOrder = { + __typename?: 'PeggedOrder'; + /** Price offset from the peg */ + offset: Scalars['String']; + /** Index to link this order to */ + reference: PeggedReference; +}; + +/** Valid references used for pegged orders. */ +export enum PeggedReference { + /** Peg the order against the best ask price of the order book */ + PEGGED_REFERENCE_BEST_ASK = 'PEGGED_REFERENCE_BEST_ASK', + /** Peg the order against the best bid price of the order book */ + PEGGED_REFERENCE_BEST_BID = 'PEGGED_REFERENCE_BEST_BID', + /** Peg the order against the mid price of the order book */ + PEGGED_REFERENCE_MID = 'PEGGED_REFERENCE_MID' +} + +/** + * An individual party at any point in time is considered net long or net short. This refers to their Open Volume, + * calculated using FIFO. This volume is signed as either negative for LONG positions and positive for SHORT positions. A + * single trade may end up "splitting" with some of its volume matched into closed volume and some of its volume + * remaining as open volume. This is why we don't refer to positions being comprised of trades, rather of volume. + */ +export type Position = { + __typename?: 'Position'; + /** Average entry price for this position */ + averageEntryPrice: Scalars['String']; + /** + * Margins of the party for the given position + * @deprecated Use marginsConnection instead + */ + margins?: Maybe>; + /** Margins of the party for the given position */ + marginsConnection: MarginConnection; + /** Market relating to this position */ + market: Market; + /** Open volume (uint64) */ + openVolume: Scalars['String']; + /** The party holding this position */ + party: Party; + /** Realised Profit and Loss (int64) */ + realisedPNL: Scalars['String']; + /** Unrealised Profit and Loss (int64) */ + unrealisedPNL: Scalars['String']; + /** RFC3339Nano time the position was updated */ + updatedAt?: Maybe; +}; + + +/** + * An individual party at any point in time is considered net long or net short. This refers to their Open Volume, + * calculated using FIFO. This volume is signed as either negative for LONG positions and positive for SHORT positions. A + * single trade may end up "splitting" with some of its volume matched into closed volume and some of its volume + * remaining as open volume. This is why we don't refer to positions being comprised of trades, rather of volume. + */ +export type PositionmarginsConnectionArgs = { + pagination?: InputMaybe; +}; + +export type PositionConnection = { + __typename?: 'PositionConnection'; + /** The positions in this connection */ + edges?: Maybe>; + /** The pagination information */ + pageInfo?: Maybe; +}; + +export type PositionEdge = { + __typename?: 'PositionEdge'; + cursor?: Maybe; + node: Position; +}; + +export type PositionResolution = { + __typename?: 'PositionResolution'; + /** Number of parties closed out */ + closed: Scalars['Int']; + /** Number of distressed parties on market */ + distressed: Scalars['Int']; + /** The mark price at which parties were distressed/closed out */ + markPrice: Scalars['String']; + /** The market ID where position resolution happened */ + marketId: Scalars['ID']; +}; + +/** Represents a price on either the buy or sell side and all the orders at that price */ +export type PriceLevel = { + __typename?: 'PriceLevel'; + /** The number of orders at this price level (uint64) */ + numberOfOrders: Scalars['String']; + /** The price of all the orders at this level (uint64) */ + price: Scalars['String']; + /** The total remaining size of all orders at this level (uint64) */ + volume: Scalars['String']; +}; + +/** Range of valid prices and the associated price monitoring trigger */ +export type PriceMonitoringBounds = { + __typename?: 'PriceMonitoringBounds'; + /** Maximum price that isn't currently breaching the specified price monitoring trigger */ + maxValidPrice: Scalars['String']; + /** Minimum price that isn't currently breaching the specified price monitoring trigger */ + minValidPrice: Scalars['String']; + /** Reference price used to calculate the valid price range */ + referencePrice: Scalars['String']; + /** Price monitoring trigger associated with the bounds */ + trigger: PriceMonitoringTrigger; +}; + +/** PriceMonitoringParameters holds a list of triggers */ +export type PriceMonitoringParameters = { + __typename?: 'PriceMonitoringParameters'; + /** The list of triggers for this price monitoring */ + triggers?: Maybe>; +}; + +/** Configuration of a market price monitoring auctions triggers */ +export type PriceMonitoringSettings = { + __typename?: 'PriceMonitoringSettings'; + /** Specified a set of PriceMonitoringParameters to be use for price monitoring purposes */ + parameters?: Maybe; +}; + +/** PriceMonitoringParameters holds together price projection horizon Ï„, probability level p, and auction extension duration */ +export type PriceMonitoringTrigger = { + __typename?: 'PriceMonitoringTrigger'; + /** + * Price monitoring auction extension duration in seconds should the price + * breach its theoretical level over the specified horizon at the specified + * probability level (> 0) + */ + auctionExtensionSecs: Scalars['Int']; + /** Price monitoring projection horizon Ï„ in seconds (> 0). */ + horizonSecs: Scalars['Int']; + /** Price monitoring probability level p. (>0 and < 1) */ + probability: Scalars['Float']; +}; + +export type Product = Future; + +/** A property associates a name to a value */ +export type Property = { + __typename?: 'Property'; + /** name of the property */ + name: Scalars['String']; + /** value of the property */ + value: Scalars['String']; +}; + +/** PropertyKey describes the property key contained in an oracle data. */ +export type PropertyKey = { + __typename?: 'PropertyKey'; + /** name is the name of the property. */ + name?: Maybe; + /** type is the type of the property. */ + type: PropertyKeyType; +}; + +/** + * Type describes the type of properties that are supported by the oracle + * engine. + */ +export enum PropertyKeyType { + /** Boolean type. */ + TYPE_BOOLEAN = 'TYPE_BOOLEAN', + /** Any floating point decimal type. */ + TYPE_DECIMAL = 'TYPE_DECIMAL', + /** Any type. */ + TYPE_EMPTY = 'TYPE_EMPTY', + /** Integer type. */ + TYPE_INTEGER = 'TYPE_INTEGER', + /** String type. */ + TYPE_STRING = 'TYPE_STRING', + /** Timestamp date type. */ + TYPE_TIMESTAMP = 'TYPE_TIMESTAMP' +} + +export type Proposal = { + __typename?: 'Proposal'; + /** RFC3339Nano time and date when the proposal reached Vega network */ + datetime: Scalars['String']; + /** Error details of the rejectionReason */ + errorDetails?: Maybe; + /** Proposal ID that is filled by Vega once proposal reaches the network */ + id?: Maybe; + /** Party that prepared the proposal */ + party: Party; + /** Rationale behind the proposal */ + rationale: ProposalRationale; + /** A UUID reference to aid tracking proposals on Vega */ + reference: Scalars['String']; + /** Reason for the proposal to be rejected by the core */ + rejectionReason?: Maybe; + /** State of the proposal */ + state: ProposalState; + /** Terms of the proposal */ + terms: ProposalTerms; + /** Votes cast for this proposal */ + votes: ProposalVotes; +}; + +export type ProposalChange = NewAsset | NewFreeform | NewMarket | UpdateAsset | UpdateMarket | UpdateNetworkParameter; + +export type ProposalEdge = { + __typename?: 'ProposalEdge'; + /** Cursor identifying the proposal */ + cursor: Scalars['String']; + /** The proposal data */ + node: Proposal; +}; + +export type ProposalRationale = { + __typename?: 'ProposalRationale'; + /** + * Description to show a short title / something in case the link goes offline. + * This is to be between 0 and 20k unicode characters. + * This is mandatory for all proposals. + */ + description: Scalars['String']; + /** + * Title to be used to give a short description of the proposal in lists. + * This is to be between 0 and 100 unicode characters. + * This is mandatory for all proposals. + */ + title: Scalars['String']; +}; + +/** Reason for the proposal being rejected by the core node */ +export enum ProposalRejectionReason { + /** The specified close time is too late based on network parameters */ + PROPOSAL_ERROR_CLOSE_TIME_TOO_LATE = 'PROPOSAL_ERROR_CLOSE_TIME_TOO_LATE', + /** The specified close time is too early based on network parameters */ + PROPOSAL_ERROR_CLOSE_TIME_TOO_SOON = 'PROPOSAL_ERROR_CLOSE_TIME_TOO_SOON', + /** Market could not be created */ + PROPOSAL_ERROR_COULD_NOT_INSTANTIATE_MARKET = 'PROPOSAL_ERROR_COULD_NOT_INSTANTIATE_MARKET', + /** The specified enactment time is too late based on network parameters */ + PROPOSAL_ERROR_ENACT_TIME_TOO_LATE = 'PROPOSAL_ERROR_ENACT_TIME_TOO_LATE', + /** The specified enactment time is too early based on network parameters */ + PROPOSAL_ERROR_ENACT_TIME_TOO_SOON = 'PROPOSAL_ERROR_ENACT_TIME_TOO_SOON', + /** proposal terms timestamps are not compatible (Validation < Closing < Enactment) */ + PROPOSAL_ERROR_INCOMPATIBLE_TIMESTAMPS = 'PROPOSAL_ERROR_INCOMPATIBLE_TIMESTAMPS', + /** The proposal is rejected because the party does not have enough equity like share in the market */ + PROPOSAL_ERROR_INSUFFICIENT_EQUITY_LIKE_SHARE = 'PROPOSAL_ERROR_INSUFFICIENT_EQUITY_LIKE_SHARE', + /** The proposer for this proposal has insufficient tokens */ + PROPOSAL_ERROR_INSUFFICIENT_TOKENS = 'PROPOSAL_ERROR_INSUFFICIENT_TOKENS', + /** The specified asset for the market proposal is invalid */ + PROPOSAL_ERROR_INVALID_ASSET = 'PROPOSAL_ERROR_INVALID_ASSET', + /** Asset details are invalid */ + PROPOSAL_ERROR_INVALID_ASSET_DETAILS = 'PROPOSAL_ERROR_INVALID_ASSET_DETAILS', + /** Market proposal has invalid fee amount */ + PROPOSAL_ERROR_INVALID_FEE_AMOUNT = 'PROPOSAL_ERROR_INVALID_FEE_AMOUNT', + /** Freeform proposal is invalid */ + PROPOSAL_ERROR_INVALID_FREEFORM = 'PROPOSAL_ERROR_INVALID_FREEFORM', + /** Market proposal market contained invalid product definition */ + PROPOSAL_ERROR_INVALID_FUTURE_PRODUCT = 'PROPOSAL_ERROR_INVALID_FUTURE_PRODUCT', + /** The instrument quote name and base name were the same */ + PROPOSAL_ERROR_INVALID_INSTRUMENT_SECURITY = 'PROPOSAL_ERROR_INVALID_INSTRUMENT_SECURITY', + /** The market is invalid */ + PROPOSAL_ERROR_INVALID_MARKET = 'PROPOSAL_ERROR_INVALID_MARKET', + /** Market proposal uses an invalid risk parameter */ + PROPOSAL_ERROR_INVALID_RISK_PARAMETER = 'PROPOSAL_ERROR_INVALID_RISK_PARAMETER', + /** Market proposal has one or more invalid liquidity shapes */ + PROPOSAL_ERROR_INVALID_SHAPE = 'PROPOSAL_ERROR_INVALID_SHAPE', + /** Proposal declined because the majority threshold was not reached */ + PROPOSAL_ERROR_MAJORITY_THRESHOLD_NOT_REACHED = 'PROPOSAL_ERROR_MAJORITY_THRESHOLD_NOT_REACHED', + /** Market proposal is missing a liquidity commitment */ + PROPOSAL_ERROR_MARKET_MISSING_LIQUIDITY_COMMITMENT = 'PROPOSAL_ERROR_MARKET_MISSING_LIQUIDITY_COMMITMENT', + /** A builtin asset configuration is missing */ + PROPOSAL_ERROR_MISSING_BUILTIN_ASSET_FIELD = 'PROPOSAL_ERROR_MISSING_BUILTIN_ASSET_FIELD', + /** Market proposal is missing commitment amount */ + PROPOSAL_ERROR_MISSING_COMMITMENT_AMOUNT = 'PROPOSAL_ERROR_MISSING_COMMITMENT_AMOUNT', + /** The ERC20 contract address is missing from an ERC20 asset proposal */ + PROPOSAL_ERROR_MISSING_ERC20_CONTRACT_ADDRESS = 'PROPOSAL_ERROR_MISSING_ERC20_CONTRACT_ADDRESS', + /** Invalid key in update network parameter proposal */ + PROPOSAL_ERROR_NETWORK_PARAMETER_INVALID_KEY = 'PROPOSAL_ERROR_NETWORK_PARAMETER_INVALID_KEY', + /** Invalid value in update network parameter proposal */ + PROPOSAL_ERROR_NETWORK_PARAMETER_INVALID_VALUE = 'PROPOSAL_ERROR_NETWORK_PARAMETER_INVALID_VALUE', + /** Validation failed for network parameter proposal */ + PROPOSAL_ERROR_NETWORK_PARAMETER_VALIDATION_FAILED = 'PROPOSAL_ERROR_NETWORK_PARAMETER_VALIDATION_FAILED', + /** The proposal failed node validation */ + PROPOSAL_ERROR_NODE_VALIDATION_FAILED = 'PROPOSAL_ERROR_NODE_VALIDATION_FAILED', + /** The proposal has no product specified */ + PROPOSAL_ERROR_NO_PRODUCT = 'PROPOSAL_ERROR_NO_PRODUCT', + /** Risk parameters are missing from the market proposal */ + PROPOSAL_ERROR_NO_RISK_PARAMETERS = 'PROPOSAL_ERROR_NO_RISK_PARAMETERS', + /** The proposal has no trading mode */ + PROPOSAL_ERROR_NO_TRADING_MODE = 'PROPOSAL_ERROR_NO_TRADING_MODE', + /** Opening auction duration is more than the network minimum opening auction time */ + PROPOSAL_ERROR_OPENING_AUCTION_DURATION_TOO_LARGE = 'PROPOSAL_ERROR_OPENING_AUCTION_DURATION_TOO_LARGE', + /** Opening auction duration is less than the network minimum opening auction time */ + PROPOSAL_ERROR_OPENING_AUCTION_DURATION_TOO_SMALL = 'PROPOSAL_ERROR_OPENING_AUCTION_DURATION_TOO_SMALL', + /** Proposal declined because the participation threshold was not reached */ + PROPOSAL_ERROR_PARTICIPATION_THRESHOLD_NOT_REACHED = 'PROPOSAL_ERROR_PARTICIPATION_THRESHOLD_NOT_REACHED', + /** Too many decimal places specified in market */ + PROPOSAL_ERROR_TOO_MANY_MARKET_DECIMAL_PLACES = 'PROPOSAL_ERROR_TOO_MANY_MARKET_DECIMAL_PLACES', + /** Too many price monitoring triggers specified in market */ + PROPOSAL_ERROR_TOO_MANY_PRICE_MONITORING_TRIGGERS = 'PROPOSAL_ERROR_TOO_MANY_PRICE_MONITORING_TRIGGERS', + /** Unknow risk paramters */ + PROPOSAL_ERROR_UNKNOWN_RISK_PARAMETER_TYPE = 'PROPOSAL_ERROR_UNKNOWN_RISK_PARAMETER_TYPE', + /** Unknown proposal type */ + PROPOSAL_ERROR_UNKNOWN_TYPE = 'PROPOSAL_ERROR_UNKNOWN_TYPE', + /** The specified product is not supported */ + PROPOSAL_ERROR_UNSUPPORTED_PRODUCT = 'PROPOSAL_ERROR_UNSUPPORTED_PRODUCT', + /** The proposal has an unsupported trading mode */ + PROPOSAL_ERROR_UNSUPPORTED_TRADING_MODE = 'PROPOSAL_ERROR_UNSUPPORTED_TRADING_MODE' +} + +/** + * Various states a proposal can transition through: + * Open -> + * - Passed -> Enacted. + * - Rejected. + * Proposal can enter Failed state from any other state. + */ +export enum ProposalState { + /** Proposal didn't get enough votes */ + STATE_DECLINED = 'STATE_DECLINED', + /** Proposal has been executed and the changes under this proposal have now been applied */ + STATE_ENACTED = 'STATE_ENACTED', + /** Proposal became invalid and cannot be processed */ + STATE_FAILED = 'STATE_FAILED', + /** Proposal is open for voting */ + STATE_OPEN = 'STATE_OPEN', + /** Proposal has gained enough support to be executed */ + STATE_PASSED = 'STATE_PASSED', + /** Proposal could not gain enough support to be executed */ + STATE_REJECTED = 'STATE_REJECTED', + /** Proposal is waiting for the node to run validation */ + STATE_WAITING_FOR_NODE_VOTE = 'STATE_WAITING_FOR_NODE_VOTE' +} + +/** The rationale behind the proposal */ +export type ProposalTerms = { + __typename?: 'ProposalTerms'; + /** Actual change being introduced by the proposal - action the proposal triggers if passed and enacted. */ + change: ProposalChange; + /** + * RFC3339Nano time and date when voting closes for this proposal. + * Constrained by "minClose" and "maxClose" network parameters. + */ + closingDatetime: Scalars['String']; + /** + * RFC3339Nano time and date when this proposal is executed (if passed). Note that it has to be after closing date time. + * Constrained by "minEnactInSeconds" and "maxEnactInSeconds" network parameters. + * Note: Optional as free form proposals do not require it. + */ + enactmentDatetime?: Maybe; + /** RFC3339Nano time and when node validation of the proposal stops, accepted only with new asset proposals */ + validationDatetime?: Maybe; +}; + +/** Various proposal types that are supported by Vega */ +export enum ProposalType { + /** Proposal to change Vega network parameters */ + TYPE_NETWORK_PARAMETERS = 'TYPE_NETWORK_PARAMETERS', + /** Proposal to add a new asset */ + TYPE_NEW_ASSET = 'TYPE_NEW_ASSET', + /** Proposal to create a new freeform proposal */ + TYPE_NEW_FREE_FORM = 'TYPE_NEW_FREE_FORM', + /** Propose a new market */ + TYPE_NEW_MARKET = 'TYPE_NEW_MARKET', + /** Proposal to update an existing asset */ + TYPE_UPDATE_ASSET = 'TYPE_UPDATE_ASSET', + /** Update an existing market */ + TYPE_UPDATE_MARKET = 'TYPE_UPDATE_MARKET' +} + +export type ProposalVote = { + __typename?: 'ProposalVote'; + /** Proposal the vote is cast on */ + proposalId: Scalars['ID']; + /** Cast vote */ + vote: Vote; +}; + +export type ProposalVoteConnection = { + __typename?: 'ProposalVoteConnection'; + /** The proposal votes in this connection */ + edges?: Maybe>; + /** The pagination information */ + pageInfo?: Maybe; +}; + +export type ProposalVoteEdge = { + __typename?: 'ProposalVoteEdge'; + cursor?: Maybe; + node: ProposalVote; +}; + +export type ProposalVoteSide = { + __typename?: 'ProposalVoteSide'; + /** Total number of votes cast for this side */ + totalNumber: Scalars['String']; + /** Total number of governance tokens from the votes cast for this side */ + totalTokens: Scalars['String']; + /** Total weight of governance token from the votes cast for this side */ + totalWeight: Scalars['String']; + /** All votes cast for this side */ + votes?: Maybe>; +}; + +export type ProposalVotes = { + __typename?: 'ProposalVotes'; + /** No votes cast for this proposal */ + no: ProposalVoteSide; + /** Yes votes cast for this proposal */ + yes: ProposalVoteSide; +}; + +export type ProposalsConnection = { + __typename?: 'ProposalsConnection'; + /** List of proposals available for the connection */ + edges?: Maybe>>; + /** Page information for the connection */ + pageInfo: PageInfo; +}; + +/** Queries allow a caller to read data and filter data via GraphQL. */ +export type Query = { + __typename?: 'Query'; + /** An asset which is used in the vega network */ + asset?: Maybe; + /** + * The list of all assets in use in the Vega network + * @deprecated Use assetsConnection instead + */ + assets?: Maybe>; + /** The list of all assets in use in the Vega network or the specified asset if ID is provided */ + assetsConnection: AssetsConnection; + /** find a deposit using its ID */ + deposit?: Maybe; + /** get data for a specific epoch, if ID omitted it gets the current epoch. If the string is 'next', fetch the next epoch */ + epoch: Epoch; + /** find an erc20 withdrawal approval using its withdrawal ID */ + erc20WithdrawalApproval?: Maybe; + /** return an estimation of the potential cost for a new order */ + estimateOrder: OrderEstimate; + /** query for historic ethereum key rotations */ + ethereumKeyRotations: EthereumKeyRotationsConnection; + /** + * get market data history for a specific market. If no dates are given, the latest snapshot will be returned. If only the start date is provided, all history from the given date will be provided, and if only the end date is provided, all history from the start up to and including the end date will be provided. + * @deprecated Use getMarketDataHistoryConnectionByID instead + */ + getMarketDataHistoryByID?: Maybe>>; + /** get market data history for a specific market. If no dates are given, the latest snapshot will be returned. If only the start date is provided all history from the given date will be provided, and if only the end date is provided, all history from the start up to and including the end date will be provided. Pagination is provided using a cursor based pagination model */ + getMarketDataHistoryConnectionByID: MarketDataConnection; + historicBalances: Array; + /** + * query for historic key rotations + * @deprecated use keyRotationsConnection instead + */ + keyRotations?: Maybe>; + /** query for historic key rotations */ + keyRotationsConnection: KeyRotationConnection; + /** The last block process by the blockchain */ + lastBlockHeight: Scalars['String']; + /** An instrument that is trading on the Vega network */ + market?: Maybe; + /** + * One or more instruments that are trading on the VEGA network + * @deprecated Use marketsConnection instead + */ + markets?: Maybe>; + marketsConnection: MarketConnection; + /** Current network limits */ + networkLimits?: Maybe; + /** return a single network parameter */ + networkParameter?: Maybe; + /** + * return the full list of network parameters + * @deprecated Use networkParametersConnection instead + */ + networkParameters?: Maybe>; + networkParametersConnection: NetworkParametersConnection; + /** + * Governance proposals that aim to update Vega network parameters + * @deprecated Use proposalsConnection instead + */ + networkParametersProposals?: Maybe>; + /** + * Governance proposals that aim to create new assets in Vega + * @deprecated Use proposalsConnection instead + */ + newAssetProposals?: Maybe>; + /** + * Freeform governance proposals, which can be voted on but do not change the behaviour of the system, and can be used to gauge community sentiment in Vega + * @deprecated Use proposalsConnection instead + */ + newFreeformProposals?: Maybe>; + /** + * Governance proposals that aim to create new markets + * @deprecated Use proposalsConnection instead + */ + newMarketProposals?: Maybe>; + /** specific node in network */ + node?: Maybe; + /** returns information about nodes */ + nodeData?: Maybe; + /** + * Return a list of aggregated node signature for a given resource ID + * @deprecated Use nodeSignaturesConnection instead + */ + nodeSignatures?: Maybe>; + /** Return a list of aggregated node signature for a given resource ID */ + nodeSignaturesConnection: NodeSignaturesConnection; + /** + * all known network nodes + * @deprecated use nodesConnection instead + */ + nodes?: Maybe>; + /** all known network nodes */ + nodesConnection: NodesConnection; + /** + * All registered oracle specs + * @deprecated Use oracleDataConnection instead + */ + oracleData?: Maybe>; + /** + * All oracle data for a given oracle spec ID + * @deprecated Use oracleDataBySpecConnection instead + */ + oracleDataBySpec?: Maybe>; + oracleDataBySpecConnection: OracleDataConnection; + /** All registered oracle specs */ + oracleDataConnection: OracleDataConnection; + /** An oracle spec for a given oracle spec ID */ + oracleSpec?: Maybe; + /** + * All registered oracle specs + * @deprecated Use oracleSpecsConnection instead + */ + oracleSpecs?: Maybe>; + /** All registered oracle specs */ + oracleSpecsConnection: OracleSpecsConnection; + /** An order in the Vega network found by orderID */ + orderByID: Order; + /** An order in the Vega network found by referenceID */ + orderByReference: Order; + /** + * Order versions (created via amendments if any) found by orderID + * @deprecated Use orderVersionsConnection instead + */ + orderVersions?: Maybe>; + /** Order versions (created via amendments if any) found by orderID */ + orderVersionsConnection: OrderConnection; + /** + * One or more entities that are trading on the Vega network + * @deprecated Use partiesConnection instead. + */ + parties?: Maybe>; + partiesConnection: PartyConnection; + /** An entity that is trading on the Vega network */ + party?: Maybe; + /** A governance proposal located by either its ID or reference. If both are set, ID is used. */ + proposal: Proposal; + /** + * All governance proposals in the Vega network + * @deprecated Use proposalsConnection instead + */ + proposals?: Maybe>; + /** All governance proposals in the Vega network */ + proposalsConnection: ProposalsConnection; + /** get statistics about the Vega node */ + statistics: Statistics; + /** + * get a list of all transfers for a public key + * @deprecated Use transfersConnection instead + */ + transfers?: Maybe>; + /** get a list of all transfers for a public key */ + transfersConnection: TransferConnection; + /** + * Governance proposals that aim to update existing markets + * @deprecated Use proposalsConnection instead + */ + updateMarketProposals?: Maybe>; + /** find a withdrawal using its ID */ + withdrawal?: Maybe; +}; + + +/** Queries allow a caller to read data and filter data via GraphQL. */ +export type QueryassetArgs = { + assetId: Scalars['ID']; +}; + + +/** Queries allow a caller to read data and filter data via GraphQL. */ +export type QueryassetsConnectionArgs = { + id?: InputMaybe; + pagination?: InputMaybe; +}; + + +/** Queries allow a caller to read data and filter data via GraphQL. */ +export type QuerydepositArgs = { + id: Scalars['ID']; +}; + + +/** Queries allow a caller to read data and filter data via GraphQL. */ +export type QueryepochArgs = { + id?: InputMaybe; +}; + + +/** Queries allow a caller to read data and filter data via GraphQL. */ +export type Queryerc20WithdrawalApprovalArgs = { + withdrawalId: Scalars['ID']; +}; + + +/** Queries allow a caller to read data and filter data via GraphQL. */ +export type QueryestimateOrderArgs = { + expiration?: InputMaybe; + marketId: Scalars['ID']; + partyId: Scalars['ID']; + price?: InputMaybe; + side: Side; + size: Scalars['String']; + timeInForce: OrderTimeInForce; + type: OrderType; +}; + + +/** Queries allow a caller to read data and filter data via GraphQL. */ +export type QueryethereumKeyRotationsArgs = { + nodeId?: InputMaybe; +}; + + +/** Queries allow a caller to read data and filter data via GraphQL. */ +export type QuerygetMarketDataHistoryByIDArgs = { + end?: InputMaybe; + first?: InputMaybe; + id: Scalars['String']; + last?: InputMaybe; + skip?: InputMaybe; + start?: InputMaybe; +}; + + +/** Queries allow a caller to read data and filter data via GraphQL. */ +export type QuerygetMarketDataHistoryConnectionByIDArgs = { + end?: InputMaybe; + id: Scalars['String']; + pagination?: InputMaybe; + start?: InputMaybe; +}; + + +/** Queries allow a caller to read data and filter data via GraphQL. */ +export type QueryhistoricBalancesArgs = { + filter?: InputMaybe; + groupBy?: InputMaybe>>; +}; + + +/** Queries allow a caller to read data and filter data via GraphQL. */ +export type QuerykeyRotationsArgs = { + id?: InputMaybe; +}; + + +/** Queries allow a caller to read data and filter data via GraphQL. */ +export type QuerykeyRotationsConnectionArgs = { + id?: InputMaybe; + pagination?: InputMaybe; +}; + + +/** Queries allow a caller to read data and filter data via GraphQL. */ +export type QuerymarketArgs = { + id: Scalars['ID']; +}; + + +/** Queries allow a caller to read data and filter data via GraphQL. */ +export type QuerymarketsArgs = { + id?: InputMaybe; +}; + + +/** Queries allow a caller to read data and filter data via GraphQL. */ +export type QuerymarketsConnectionArgs = { + id?: InputMaybe; + pagination?: InputMaybe; +}; + + +/** Queries allow a caller to read data and filter data via GraphQL. */ +export type QuerynetworkParameterArgs = { + key: Scalars['String']; +}; + + +/** Queries allow a caller to read data and filter data via GraphQL. */ +export type QuerynetworkParametersConnectionArgs = { + pagination?: InputMaybe; +}; + + +/** Queries allow a caller to read data and filter data via GraphQL. */ +export type QuerynetworkParametersProposalsArgs = { + inState?: InputMaybe; +}; + + +/** Queries allow a caller to read data and filter data via GraphQL. */ +export type QuerynewAssetProposalsArgs = { + inState?: InputMaybe; +}; + + +/** Queries allow a caller to read data and filter data via GraphQL. */ +export type QuerynewFreeformProposalsArgs = { + inState?: InputMaybe; +}; + + +/** Queries allow a caller to read data and filter data via GraphQL. */ +export type QuerynewMarketProposalsArgs = { + inState?: InputMaybe; +}; + + +/** Queries allow a caller to read data and filter data via GraphQL. */ +export type QuerynodeArgs = { + id: Scalars['String']; +}; + + +/** Queries allow a caller to read data and filter data via GraphQL. */ +export type QuerynodeSignaturesArgs = { + resourceId: Scalars['ID']; +}; + + +/** Queries allow a caller to read data and filter data via GraphQL. */ +export type QuerynodeSignaturesConnectionArgs = { + pagination?: InputMaybe; + resourceId: Scalars['ID']; +}; + + +/** Queries allow a caller to read data and filter data via GraphQL. */ +export type QuerynodesConnectionArgs = { + pagination?: InputMaybe; +}; + + +/** Queries allow a caller to read data and filter data via GraphQL. */ +export type QueryoracleDataArgs = { + pagination?: InputMaybe; +}; + + +/** Queries allow a caller to read data and filter data via GraphQL. */ +export type QueryoracleDataBySpecArgs = { + oracleSpecID: Scalars['String']; + pagination?: InputMaybe; +}; + + +/** Queries allow a caller to read data and filter data via GraphQL. */ +export type QueryoracleDataBySpecConnectionArgs = { + oracleSpecID: Scalars['String']; + pagination?: InputMaybe; +}; + + +/** Queries allow a caller to read data and filter data via GraphQL. */ +export type QueryoracleDataConnectionArgs = { + pagination?: InputMaybe; +}; + + +/** Queries allow a caller to read data and filter data via GraphQL. */ +export type QueryoracleSpecArgs = { + oracleSpecID: Scalars['String']; +}; + + +/** Queries allow a caller to read data and filter data via GraphQL. */ +export type QueryoracleSpecsArgs = { + pagination?: InputMaybe; +}; + + +/** Queries allow a caller to read data and filter data via GraphQL. */ +export type QueryoracleSpecsConnectionArgs = { + pagination?: InputMaybe; +}; + + +/** Queries allow a caller to read data and filter data via GraphQL. */ +export type QueryorderByIDArgs = { + orderId: Scalars['ID']; + version?: InputMaybe; +}; + + +/** Queries allow a caller to read data and filter data via GraphQL. */ +export type QueryorderByReferenceArgs = { + reference: Scalars['String']; +}; + + +/** Queries allow a caller to read data and filter data via GraphQL. */ +export type QueryorderVersionsArgs = { + first?: InputMaybe; + last?: InputMaybe; + orderId: Scalars['ID']; + skip?: InputMaybe; +}; + + +/** Queries allow a caller to read data and filter data via GraphQL. */ +export type QueryorderVersionsConnectionArgs = { + orderId?: InputMaybe; + pagination?: InputMaybe; +}; + + +/** Queries allow a caller to read data and filter data via GraphQL. */ +export type QuerypartiesArgs = { + id?: InputMaybe; +}; + + +/** Queries allow a caller to read data and filter data via GraphQL. */ +export type QuerypartiesConnectionArgs = { + id?: InputMaybe; + pagination?: InputMaybe; +}; + + +/** Queries allow a caller to read data and filter data via GraphQL. */ +export type QuerypartyArgs = { + id: Scalars['ID']; +}; + + +/** Queries allow a caller to read data and filter data via GraphQL. */ +export type QueryproposalArgs = { + id?: InputMaybe; + reference?: InputMaybe; +}; + + +/** Queries allow a caller to read data and filter data via GraphQL. */ +export type QueryproposalsArgs = { + inState?: InputMaybe; +}; + + +/** Queries allow a caller to read data and filter data via GraphQL. */ +export type QueryproposalsConnectionArgs = { + inState?: InputMaybe; + pagination?: InputMaybe; + proposalType?: InputMaybe; +}; + + +/** Queries allow a caller to read data and filter data via GraphQL. */ +export type QuerytransfersArgs = { + isFrom?: InputMaybe; + isTo?: InputMaybe; + pubkey: Scalars['String']; +}; + + +/** Queries allow a caller to read data and filter data via GraphQL. */ +export type QuerytransfersConnectionArgs = { + direction?: InputMaybe; + pagination?: InputMaybe; + partyId?: InputMaybe; +}; + + +/** Queries allow a caller to read data and filter data via GraphQL. */ +export type QueryupdateMarketProposalsArgs = { + inState?: InputMaybe; + marketId?: InputMaybe; +}; + + +/** Queries allow a caller to read data and filter data via GraphQL. */ +export type QuerywithdrawalArgs = { + id: Scalars['ID']; +}; + +export type RankingScore = { + __typename?: 'RankingScore'; + /** The performance score of the validator */ + performanceScore: Scalars['String']; + /** The former validation status of the validator */ + previousStatus: ValidatorStatus; + /** The ranking score of the validator */ + rankingScore: Scalars['String']; + /** The stake based score of the validator (no anti-whaling) */ + stakeScore: Scalars['String']; + /** The current validation status of the validator */ + status: ValidatorStatus; + /** The Tendermint voting power of the validator (uint32) */ + votingPower: Scalars['String']; +}; + +/** The specific details for a recurring transfer */ +export type RecurringTransfer = { + __typename?: 'RecurringTransfer'; + /** An optional dispatch strategy for the recurring transfer */ + dispatchStrategy?: Maybe; + /** An optional epoch at which this transfer will stop */ + endEpoch?: Maybe; + /** The factor of the initial amount to be distributed */ + factor: Scalars['String']; + /** The epoch at which this recurring transfer will start */ + startEpoch: Scalars['Int']; +}; + +/** Reward information for a single party */ +export type Reward = { + __typename?: 'Reward'; + /** Amount received for this reward */ + amount: Scalars['String']; + /** The amount field formatted by the client */ + amountFormatted: Scalars['String']; + /** The asset this reward is paid in */ + asset: Asset; + /** Epoch for which this reward was distributed */ + epoch: Epoch; + /** The market for which this reward is paid if any */ + marketID: Scalars['String']; + /** Party receiving the reward */ + party: Party; + /** Percentage out of the total distributed reward */ + percentageOfTotal: Scalars['String']; + /** Time at which the rewards was received */ + receivedAt: Scalars['String']; + /** The type of reward */ + rewardType: AccountType; +}; + +export type RewardEdge = { + __typename?: 'RewardEdge'; + cursor: Scalars['String']; + node: Reward; +}; + +/** RewardPerAssetDetail is deprecated, use RewardSummmary instead */ +export type RewardPerAssetDetail = { + __typename?: 'RewardPerAssetDetail'; + /** Asset in which the reward was paid */ + asset: Asset; + /** + * Id of asset in which the reward was paid + * @deprecated Use asset{id} instead + */ + assetId: Scalars['String']; + /** A list of rewards received for this asset */ + rewards?: Maybe>>; + /** The total amount of rewards received for this asset. */ + totalAmount: Scalars['String']; + /** The total amount field formatted by the client */ + totalAmountFormatted: Scalars['String']; +}; + +export type RewardScore = { + __typename?: 'RewardScore'; + /** The multisig score of the validator */ + multisigScore: Scalars['String']; + /** The normalised score of the validator */ + normalisedScore: Scalars['String']; + /** The performance score of the validator */ + performanceScore: Scalars['String']; + /** The stake based validator score with anti-whaling */ + rawValidatorScore: Scalars['String']; + /** The composite score of the validator */ + validatorScore: Scalars['String']; + /** The status of the validator for this score */ + validatorStatus: ValidatorStatus; +}; + +export type RewardSummary = { + __typename?: 'RewardSummary'; + /** Total quantity of rewards awarded in this asset */ + amount: Scalars['String']; + /** The asset for which these rewards are associated */ + asset: Asset; + /** + * List of individual reward payouts, ordered by epoch + * @deprecated Use rewardsConnection instead + */ + rewards?: Maybe>>; + /** List of individual reward payouts, ordered by epoch */ + rewardsConnection?: Maybe; +}; + + +export type RewardSummaryrewardsArgs = { + first?: InputMaybe; + last?: InputMaybe; + skip?: InputMaybe; +}; + + +export type RewardSummaryrewardsConnectionArgs = { + asset?: InputMaybe; + pagination?: InputMaybe; +}; + +export type RewardSummaryConnection = { + __typename?: 'RewardSummaryConnection'; + /** List of reward summaries available for the connection */ + edges?: Maybe>>; + /** Page information for the connection */ + pageInfo: PageInfo; +}; + +export type RewardSummaryEdge = { + __typename?: 'RewardSummaryEdge'; + /** Cursor identifying the reward summary */ + cursor: Scalars['String']; + /** The reward summary */ + node: RewardSummary; +}; + +export type RewardsConnection = { + __typename?: 'RewardsConnection'; + /** The rewards */ + edges?: Maybe>>; + /** The pagination information */ + pageInfo?: Maybe; +}; + +/** A risk factor emitted by the risk model for a given market */ +export type RiskFactor = { + __typename?: 'RiskFactor'; + /** long factor */ + long: Scalars['String']; + /** market the risk factor was emitted for */ + market: Scalars['String']; + /** short factor */ + short: Scalars['String']; +}; + +export type RiskModel = LogNormalRiskModel | SimpleRiskModel; + +export type ScalingFactors = { + __typename?: 'ScalingFactors'; + /** the scaling factor that determines the overflow margin level */ + collateralRelease: Scalars['Float']; + /** the scaling factor that determines the optimal margin level */ + initialMargin: Scalars['Float']; + /** the scaling factor that determines the margin level at which Vega has to search for more money */ + searchLevel: Scalars['Float']; +}; + +export type SettleDistressed = { + __typename?: 'SettleDistressed'; + /** the margin taken from distressed party */ + margin: Scalars['String']; + /** the market in which a position was closed out */ + marketId: Scalars['ID']; + /** the party that was closed out */ + partyId: Scalars['ID']; + /** the price at which the position was closed out */ + price: Scalars['String']; +}; + +export type SettlePosition = { + __typename?: 'SettlePosition'; + /** the market in which a position was settled */ + marketId: Scalars['ID']; + /** the party who settled a position */ + partyId: Scalars['ID']; + /** the settle price */ + price: Scalars['String']; + /** the trades that were settled to close the overall position */ + tradeSettlements?: Maybe>; +}; + +/** Whether the placer of an order is aiming to buy or sell on the market */ +export enum Side { + /** The placer of the order is aiming to buy */ + SIDE_BUY = 'SIDE_BUY', + /** The placer of the order is aiming to sell */ + SIDE_SELL = 'SIDE_SELL' +} + +/** A type of simple/dummy risk model where you can specify the risk factor long and short in params */ +export type SimpleRiskModel = { + __typename?: 'SimpleRiskModel'; + /** Params for the simple risk model */ + params: SimpleRiskModelParams; +}; + +/** Parameters for the simple risk model */ +export type SimpleRiskModelParams = { + __typename?: 'SimpleRiskModelParams'; + /** Risk factor for long */ + factorLong: Scalars['Float']; + /** Risk factor for short */ + factorShort: Scalars['Float']; +}; + +/** A stake linking represent the intent from a party to deposit / remove stake on their account */ +export type StakeLinking = { + __typename?: 'StakeLinking'; + /** The amount linked or unlinked */ + amount: Scalars['String']; + /** The time at which the stake linking was fully processed by the Vega network, null until defined */ + finalizedAt?: Maybe; + id: Scalars['ID']; + /** The party initiating the stake linking */ + party: Party; + /** The status of the linking */ + status: StakeLinkingStatus; + /** The time at which the request happened on ethereum */ + timestamp: Scalars['String']; + /** The transaction hash (ethereum) which initiated the link/unlink */ + txHash: Scalars['String']; + /** Type of linking: link|unlink */ + type: StakeLinkingType; +}; + +export type StakeLinkingEdge = { + __typename?: 'StakeLinkingEdge'; + /** Cursor identifying the stake linking */ + cursor: Scalars['String']; + /** The stake linking */ + node: StakeLinking; +}; + +/** The status of the stake linking */ +export enum StakeLinkingStatus { + /** The stake linking has been accepted and processed fully (balance updated) by the network */ + STATUS_ACCEPTED = 'STATUS_ACCEPTED', + /** + * The stake linking is pending in the Vega network. This means that + * the Vega network have seen a stake linking, but is still to confirm + * it's valid on the ethereum chain and accepted by all nodes of the network + */ + STATUS_PENDING = 'STATUS_PENDING', + /** The Vega network has rejected this stake linking */ + STATUS_REJECTED = 'STATUS_REJECTED' +} + +/** The type of stake linking */ +export enum StakeLinkingType { + /** The stake is being linked (deposited) to a Vega stake account */ + TYPE_LINK = 'TYPE_LINK', + /** The stake is being unlinked (removed) from a Vega stake account */ + TYPE_UNLINK = 'TYPE_UNLINK' +} + +export type StakesConnection = { + __typename?: 'StakesConnection'; + /** List of stake links available for the connection */ + edges?: Maybe>>; + /** Page information for the connection */ + pageInfo: PageInfo; +}; + +/** + * All staking information related to a Party. + * Contains the current recognised balance by the network and + * all the StakeLink/Unlink seen by the network + */ +export type StakingSummary = { + __typename?: 'StakingSummary'; + /** The stake currently available for the party */ + currentStakeAvailable: Scalars['String']; + /** The list of all stake link/unlink for the party */ + linkings: StakesConnection; +}; + + +/** + * All staking information related to a Party. + * Contains the current recognised balance by the network and + * all the StakeLink/Unlink seen by the network + */ +export type StakingSummarylinkingsArgs = { + pagination?: InputMaybe; +}; + +/** Statistics about the node */ +export type Statistics = { + __typename?: 'Statistics'; + /** Version of the Vega node (semver) */ + appVersion: Scalars['String']; + /** Version commit hash of the Vega node */ + appVersionHash: Scalars['String']; + /** Average number of orders added per blocks */ + averageOrdersPerBlock: Scalars['String']; + /** Average size of the transactions */ + averageTxBytes: Scalars['String']; + /** Number of items in the backlog */ + backlogLength: Scalars['String']; + /** Duration of the last block, in nanoseconds */ + blockDuration: Scalars['String']; + /** Current block hash */ + blockHash: Scalars['String']; + /** Current block number */ + blockHeight: Scalars['String']; + /** Current chain ID */ + chainId: Scalars['String']; + /** Version of the chain (semver) */ + chainVersion: Scalars['String']; + /** RFC3339Nano current time (real) */ + currentTime: Scalars['String']; + /** RFC3339Nano genesis time of the chain */ + genesisTime: Scalars['String']; + /** Number of orders per seconds */ + ordersPerSecond: Scalars['String']; + /** Status of the Vega application connection with the chain */ + status: Scalars['String']; + /** Total number of amended orders */ + totalAmendOrder: Scalars['String']; + /** Total number of cancelled orders */ + totalCancelOrder: Scalars['String']; + /** Total number of orders created */ + totalCreateOrder: Scalars['String']; + /** Total number of markets */ + totalMarkets: Scalars['String']; + /** Total number of orders */ + totalOrders: Scalars['String']; + /** Total number of peers on the Vega network */ + totalPeers: Scalars['String']; + /** Total number of trades */ + totalTrades: Scalars['String']; + /** Number of the trades per seconds */ + tradesPerSecond: Scalars['String']; + /** Number of transaction processed per block */ + txPerBlock: Scalars['String']; + /** RFC3339Nano uptime of the node */ + upTime: Scalars['String']; + /** RFC3339Nano current time of the chain (decided through consensus) */ + vegaTime: Scalars['String']; +}; + +/** Subscriptions allow a caller to receive new information as it is available from the Vega network. */ +export type Subscription = { + __typename?: 'Subscription'; + /** Subscribe to the accounts updates */ + accounts: Account; + /** Subscribe to event data from the event bus */ + busEvents?: Maybe>; + /** Subscribe to the candles updates */ + candles: Candle; + /** Subscribe to delegation data */ + delegations: Delegation; + /** Subscribe to the margin changes */ + margins: MarginLevels; + /** + * Subscribe to the mark price changes + * @deprecated Use marketsData instead + */ + marketData: MarketData; + /** + * Subscribe to the market depths update + * @deprecated Use marketsDepth instead + */ + marketDepth: MarketDepth; + /** + * Subscribe to price level market depth updates + * @deprecated Use marketsDepthUpdate instead + */ + marketDepthUpdate: MarketDepthUpdate; + /** Subscribe to the mark price changes */ + marketsData: Array; + /** Subscribe to the market depths update */ + marketsDepth: Array; + /** Subscribe to price level market depth updates */ + marketsDepthUpdate: Array; + /** Subscribe to orders updates */ + orders?: Maybe>; + /** Subscribe to the positions updates */ + positions: Position; + /** Subscribe to proposals. Leave out all arguments to receive all proposals */ + proposals: Proposal; + /** Subscribe to reward details data */ + rewards: Reward; + /** Subscribe to the trades updates */ + trades?: Maybe>; + /** Subscribe to votes, either by proposal ID or party ID */ + votes: ProposalVote; +}; + + +/** Subscriptions allow a caller to receive new information as it is available from the Vega network. */ +export type SubscriptionaccountsArgs = { + asset?: InputMaybe; + marketId?: InputMaybe; + partyId?: InputMaybe; + type?: InputMaybe; +}; + + +/** Subscriptions allow a caller to receive new information as it is available from the Vega network. */ +export type SubscriptionbusEventsArgs = { + batchSize: Scalars['Int']; + marketId?: InputMaybe; + partyId?: InputMaybe; + types: Array; +}; + + +/** Subscriptions allow a caller to receive new information as it is available from the Vega network. */ +export type SubscriptioncandlesArgs = { + interval: Interval; + marketId: Scalars['ID']; +}; + + +/** Subscriptions allow a caller to receive new information as it is available from the Vega network. */ +export type SubscriptiondelegationsArgs = { + nodeID?: InputMaybe; + party?: InputMaybe; +}; + + +/** Subscriptions allow a caller to receive new information as it is available from the Vega network. */ +export type SubscriptionmarginsArgs = { + marketId?: InputMaybe; + partyId: Scalars['ID']; +}; + + +/** Subscriptions allow a caller to receive new information as it is available from the Vega network. */ +export type SubscriptionmarketDataArgs = { + marketId?: InputMaybe; +}; + + +/** Subscriptions allow a caller to receive new information as it is available from the Vega network. */ +export type SubscriptionmarketDepthArgs = { + marketId: Scalars['ID']; +}; + + +/** Subscriptions allow a caller to receive new information as it is available from the Vega network. */ +export type SubscriptionmarketDepthUpdateArgs = { + marketId: Scalars['ID']; +}; + + +/** Subscriptions allow a caller to receive new information as it is available from the Vega network. */ +export type SubscriptionmarketsDataArgs = { + marketIds: Array; +}; + + +/** Subscriptions allow a caller to receive new information as it is available from the Vega network. */ +export type SubscriptionmarketsDepthArgs = { + marketIds: Array; +}; + + +/** Subscriptions allow a caller to receive new information as it is available from the Vega network. */ +export type SubscriptionmarketsDepthUpdateArgs = { + marketIds: Array; +}; + + +/** Subscriptions allow a caller to receive new information as it is available from the Vega network. */ +export type SubscriptionordersArgs = { + marketId?: InputMaybe; + partyId?: InputMaybe; +}; + + +/** Subscriptions allow a caller to receive new information as it is available from the Vega network. */ +export type SubscriptionpositionsArgs = { + marketId?: InputMaybe; + partyId?: InputMaybe; +}; + + +/** Subscriptions allow a caller to receive new information as it is available from the Vega network. */ +export type SubscriptionproposalsArgs = { + partyId?: InputMaybe; +}; + + +/** Subscriptions allow a caller to receive new information as it is available from the Vega network. */ +export type SubscriptionrewardsArgs = { + assetId?: InputMaybe; + party?: InputMaybe; +}; + + +/** Subscriptions allow a caller to receive new information as it is available from the Vega network. */ +export type SubscriptiontradesArgs = { + marketId?: InputMaybe; + partyId?: InputMaybe; +}; + + +/** Subscriptions allow a caller to receive new information as it is available from the Vega network. */ +export type SubscriptionvotesArgs = { + partyId?: InputMaybe; + proposalId?: InputMaybe; +}; + +/** TargetStakeParameters contains parameters used in target stake calculation */ +export type TargetStakeParameters = { + __typename?: 'TargetStakeParameters'; + /** Specifies scaling factors used in target stake calculation */ + scalingFactor: Scalars['Float']; + /** Specifies length of time window expressed in seconds for target stake calculation */ + timeWindow: Scalars['Int']; +}; + +export type TimeUpdate = { + __typename?: 'TimeUpdate'; + /** RFC3339Nano time of new block time */ + timestamp: Scalars['String']; +}; + +/** A tradable instrument is a combination of an instrument and a risk model */ +export type TradableInstrument = { + __typename?: 'TradableInstrument'; + /** An instance of, or reference to, a fully specified instrument. */ + instrument: Instrument; + /** Margin calculation info, currently only the scaling factors (search, initial, release) for this tradable instrument */ + marginCalculator?: Maybe; + /** A reference to a risk model that is valid for the instrument */ + riskModel: RiskModel; +}; + +/** A trade on Vega, the result of two orders being 'matched' in the market */ +export type Trade = { + __typename?: 'Trade'; + /** The aggressor indicates whether this trade was related to a BUY or SELL */ + aggressor: Side; + /** The order that bought */ + buyOrder: Scalars['String']; + /** The party that bought */ + buyer: Party; + /** The batch in which the buyer order was submitted (applies only for auction modes) */ + buyerAuctionBatch?: Maybe; + /** The fee paid by the buyer side of the trade */ + buyerFee: TradeFee; + /** RFC3339Nano time for when the trade occurred */ + createdAt: Scalars['String']; + /** The hash of the trade data */ + id: Scalars['ID']; + /** The market the trade occurred on */ + market: Market; + /** The price of the trade (probably initially the passive order price, other determination algorithms are possible though) (uint64) */ + price: Scalars['String']; + /** The order that sold */ + sellOrder: Scalars['String']; + /** The party that sold */ + seller: Party; + /** The batch in which the seller order was submitted (applies only for auction modes) */ + sellerAuctionBatch?: Maybe; + /** The fee paid by the seller side of the trade */ + sellerFee: TradeFee; + /** The number of contracts trades, will always be <= the remaining size of both orders immediately before the trade (uint64) */ + size: Scalars['String']; + /** The type of trade */ + type: TradeType; +}; + +export type TradeConnection = { + __typename?: 'TradeConnection'; + /** The trade in this connection */ + edges: Array; + /** The pagination information */ + pageInfo: PageInfo; +}; + +export type TradeEdge = { + __typename?: 'TradeEdge'; + cursor: Scalars['String']; + node: Trade; +}; + +/** The fee paid by the party when a trade occurs */ +export type TradeFee = { + __typename?: 'TradeFee'; + /** The infrastructure fee, a fee paid to the validators to maintain the Vega network */ + infrastructureFee: Scalars['String']; + /** The fee paid to the liquidity providers that committed liquidity to the market */ + liquidityFee: Scalars['String']; + /** The maker fee, paid by the aggressive party to the other party (the one who had an order in the book) */ + makerFee: Scalars['String']; +}; + +export type TradeSettlement = { + __typename?: 'TradeSettlement'; + /** the price of the trade */ + price: Scalars['String']; + /** the size of the trade */ + size: Scalars['Int']; +}; + +/** Valid trade types */ +export enum TradeType { + /** Default trade type */ + TYPE_DEFAULT = 'TYPE_DEFAULT', + /** Network close-out - good */ + TYPE_NETWORK_CLOSE_OUT_BAD = 'TYPE_NETWORK_CLOSE_OUT_BAD', + /** Network close-out - bad */ + TYPE_NETWORK_CLOSE_OUT_GOOD = 'TYPE_NETWORK_CLOSE_OUT_GOOD' +} + +export type TransactionSubmitted = { + __typename?: 'TransactionSubmitted'; + success: Scalars['Boolean']; +}; + +/** A user initiated transfer */ +export type Transfer = { + __typename?: 'Transfer'; + /** The amount sent */ + amount: Scalars['String']; + /** The asset */ + asset?: Maybe; + /** The public key of the sender in this transfer */ + from: Scalars['String']; + /** The account type from which funds have been sent */ + fromAccountType: AccountType; + /** ID of this transfer */ + id: Scalars['ID']; + kind: TransferKind; + /** An optional reference */ + reference?: Maybe; + /** The status of this transfer */ + status: TransferStatus; + /** The time at which the transfer was submitted */ + timestamp: Scalars['String']; + /** The public key of the recipient of the funds */ + to: Scalars['String']; + /** The account type that has received the funds */ + toAccountType: AccountType; +}; + +export type TransferBalance = { + __typename?: 'TransferBalance'; + /** Account involved in transfer */ + account: Account; + /** The new balance of the account */ + balance: Scalars['String']; +}; + +export type TransferConnection = { + __typename?: 'TransferConnection'; + edges?: Maybe>>; + pageInfo: PageInfo; +}; + +export enum TransferDirection { + From = 'From', + To = 'To', + ToOrFrom = 'ToOrFrom' +} + +export type TransferEdge = { + __typename?: 'TransferEdge'; + cursor: Scalars['String']; + node: Transfer; +}; + +export type TransferKind = OneOffTransfer | RecurringTransfer; + +export type TransferResponse = { + __typename?: 'TransferResponse'; + /** The balances of accounts involved in the transfer */ + balances?: Maybe>; + /** The ledger entries and balances resulting from a transfer request */ + transfers?: Maybe>; +}; + +export type TransferResponses = { + __typename?: 'TransferResponses'; + /** A group of transfer responses - events from core */ + responses?: Maybe>; +}; + +export enum TransferStatus { + /** Indication of a transfer cancelled by the user */ + STATUS_CANCELLED = 'STATUS_CANCELLED', + /** Indicates a transfer accepted by the Vega network */ + STATUS_DONE = 'STATUS_DONE', + /** Indicates a transfer still being processed */ + STATUS_PENDING = 'STATUS_PENDING', + /** Indicates a transfer rejected by the Vega network */ + STATUS_REJECTED = 'STATUS_REJECTED', + /** + * Indicates a transfer stopped by the Vega network + * e.g: no funds left to cover the transfer + */ + STATUS_STOPPED = 'STATUS_STOPPED' +} + +/** A proposal to update an asset's details */ +export type UpdateAsset = { + __typename?: 'UpdateAsset'; + /** The full name of the asset (e.g: Great British Pound) */ + name: Scalars['String']; + /** The minimum economically meaningful amount of this specific asset */ + quantum: Scalars['String']; + /** The source of the updated asset */ + source: UpdateAssetSource; + /** The symbol of the asset (e.g: GBP) */ + symbol: Scalars['String']; +}; + +/** One of the possible asset sources for update assets proposals */ +export type UpdateAssetSource = UpdateERC20; + +/** An asset originated from an Ethereum ERC20 Token */ +export type UpdateERC20 = { + __typename?: 'UpdateERC20'; + /** + * The lifetime limits deposit per address + * Note: this is a temporary measure for alpha mainnet + */ + lifetimeLimit: Scalars['String']; + /** + * The maximum allowed per withdrawal + * Note: this is a temporary measure for alpha mainnet + */ + withdrawThreshold: Scalars['String']; +}; + +export type UpdateFutureProduct = { + __typename?: 'UpdateFutureProduct'; + oracleSpecBinding: OracleSpecToFutureBinding; + oracleSpecForSettlementPrice: OracleSpecConfiguration; + oracleSpecForTradingTermination: OracleSpecConfiguration; + quoteName: Scalars['String']; +}; + +export type UpdateInstrumentConfiguration = { + __typename?: 'UpdateInstrumentConfiguration'; + code: Scalars['String']; + product: UpdateFutureProduct; +}; + +/** + * Incomplete change definition for governance proposal terms + * TODO: complete the type + */ +export type UpdateMarket = { + __typename?: 'UpdateMarket'; + marketId: Scalars['ID']; + updateMarketConfiguration: UpdateMarketConfiguration; +}; + +export type UpdateMarketConfiguration = { + __typename?: 'UpdateMarketConfiguration'; + instrument: UpdateInstrumentConfiguration; + liquidityMonitoringParameters: LiquidityMonitoringParameters; + metadata?: Maybe>>; + priceMonitoringParameters: PriceMonitoringParameters; + riskParameters: UpdateMarketRiskParameters; +}; + +export type UpdateMarketLogNormalRiskModel = { + __typename?: 'UpdateMarketLogNormalRiskModel'; + logNormal?: Maybe; +}; + +export type UpdateMarketRiskParameters = UpdateMarketLogNormalRiskModel | UpdateMarketSimpleRiskModel; + +export type UpdateMarketSimpleRiskModel = { + __typename?: 'UpdateMarketSimpleRiskModel'; + simple?: Maybe; +}; + +/** Allows submitting a proposal for changing network parameters */ +export type UpdateNetworkParameter = { + __typename?: 'UpdateNetworkParameter'; + networkParameter: NetworkParameter; +}; + +export enum ValidatorStatus { + /** The node is a candidate to become a Tendermint validator if a slot is made available */ + VALIDATOR_NODE_STATUS_ERSATZ = 'VALIDATOR_NODE_STATUS_ERSATZ', + /** The node is pending to be promoted to Ersatz */ + VALIDATOR_NODE_STATUS_PENDING = 'VALIDATOR_NODE_STATUS_PENDING', + /** The node is taking part in Tendermint consensus */ + VALIDATOR_NODE_STATUS_TENDERMINT = 'VALIDATOR_NODE_STATUS_TENDERMINT' +} + +export type Vote = { + __typename?: 'Vote'; + /** RFC3339Nano time and date when the vote reached Vega network */ + datetime: Scalars['String']; + /** Total number of governance tokens for the party that cast the vote */ + governanceTokenBalance: Scalars['String']; + /** The weight of this vote based on the total of governance token */ + governanceTokenWeight: Scalars['String']; + /** The party casting the vote */ + party: Party; + /** The ID of the proposal this vote applies to */ + proposalId: Scalars['ID']; + /** The vote value cast */ + value: VoteValue; +}; + +export type VoteConnection = { + __typename?: 'VoteConnection'; + /** The votes in this connection */ + edges?: Maybe>; + /** The pagination information */ + pageInfo?: Maybe; +}; + +export type VoteEdge = { + __typename?: 'VoteEdge'; + cursor?: Maybe; + node: Vote; +}; + +export enum VoteValue { + /** No reject a proposal */ + VALUE_NO = 'VALUE_NO', + /** Yes accept a proposal */ + VALUE_YES = 'VALUE_YES' +} + +/** The details of a withdrawal processed by Vega */ +export type Withdrawal = { + __typename?: 'Withdrawal'; + /** The amount to be withdrawn */ + amount: Scalars['String']; + /** The asset to be withdrawn */ + asset: Asset; + /** RFC3339Nano time at which the withdrawal was created */ + createdTimestamp: Scalars['String']; + /** Foreign chain specific details about the withdrawal */ + details?: Maybe; + /** RFC3339Nano time until the withdrawal will be invalid */ + expiry: Scalars['String']; + /** The Vega internal ID of the withdrawal */ + id: Scalars['ID']; + /** The PartyID (public key) initiating the withdrawal */ + party: Party; + /** Whether or the not the withdrawal is being processed on Ethereum */ + pendingOnForeignChain: Scalars['Boolean']; + /** A reference the foreign chain can use to refer to when processing the withdrawal */ + ref: Scalars['String']; + /** The current status of the withdrawal */ + status: WithdrawalStatus; + /** Hash of the transaction on the foreign chain */ + txHash?: Maybe; + /** RFC3339Nano time at which the withdrawal was finalised */ + withdrawnTimestamp?: Maybe; +}; + +export type WithdrawalDetails = Erc20WithdrawalDetails; + +export type WithdrawalEdge = { + __typename?: 'WithdrawalEdge'; + cursor: Scalars['String']; + node: Withdrawal; +}; + +/** The status of a withdrawal */ +export enum WithdrawalStatus { + /** The withdrawal was finalised, it was valid, the foreign chain has executed it and the network updated all accounts */ + STATUS_FINALIZED = 'STATUS_FINALIZED', + /** The withdrawal is open and being processed by the network */ + STATUS_OPEN = 'STATUS_OPEN', + /** The withdrawal have been cancelled by the network, either because it expired, or something went wrong with the foreign chain */ + STATUS_REJECTED = 'STATUS_REJECTED' +} + +export type WithdrawalsConnection = { + __typename?: 'WithdrawalsConnection'; + /** The withdrawals */ + edges?: Maybe>>; + /** The pagination information */ + pageInfo?: Maybe; +}; diff --git a/libs/types/src/index.ts b/libs/types/src/index.ts index a0640b110..92e430b33 100644 --- a/libs/types/src/index.ts +++ b/libs/types/src/index.ts @@ -1,3 +1,6 @@ -export * from './__generated__'; +import * as Schema from './__generated__/types'; + +export * from './__generated__/globalTypes'; export * from './candle'; export * from './global-types-mappings'; +export { Schema }; diff --git a/libs/wallet/.eslintrc.json b/libs/wallet/.eslintrc.json index db820c5d0..de2a9b877 100644 --- a/libs/wallet/.eslintrc.json +++ b/libs/wallet/.eslintrc.json @@ -1,6 +1,6 @@ { "extends": ["plugin:@nrwl/nx/react", "../../.eslintrc.json"], - "ignorePatterns": ["!**/*", "__generated__"], + "ignorePatterns": ["!**/*", "__generated__", "__generated___"], "overrides": [ { "files": ["*.ts", "*.tsx", "*.js", "*.jsx"], diff --git a/libs/web3/.eslintrc.json b/libs/web3/.eslintrc.json index db820c5d0..de2a9b877 100644 --- a/libs/web3/.eslintrc.json +++ b/libs/web3/.eslintrc.json @@ -1,6 +1,6 @@ { "extends": ["plugin:@nrwl/nx/react", "../../.eslintrc.json"], - "ignorePatterns": ["!**/*", "__generated__"], + "ignorePatterns": ["!**/*", "__generated__", "__generated___"], "overrides": [ { "files": ["*.ts", "*.tsx", "*.js", "*.jsx"], diff --git a/libs/web3/src/lib/NetworkParams.graphql b/libs/web3/src/lib/NetworkParams.graphql new file mode 100644 index 000000000..f21986e42 --- /dev/null +++ b/libs/web3/src/lib/NetworkParams.graphql @@ -0,0 +1,6 @@ +query NetworkParamsQuery { + networkParameters { + key + value + } +} diff --git a/libs/web3/src/lib/__generated___/NetworkParams.ts b/libs/web3/src/lib/__generated___/NetworkParams.ts new file mode 100644 index 000000000..1f15fb4cc --- /dev/null +++ b/libs/web3/src/lib/__generated___/NetworkParams.ts @@ -0,0 +1,46 @@ +import * as Types from '@vegaprotocol/types/types'; + +import { gql } from '@apollo/client'; +import * as Apollo from '@apollo/client'; +const defaultOptions = {} as const; +export type NetworkParamsQueryQueryVariables = Types.Exact<{ [key: string]: never; }>; + + +export type NetworkParamsQueryQuery = { __typename?: 'Query', networkParameters?: Array<{ __typename?: 'NetworkParameter', key: string, value: string }> | null }; + + +export const NetworkParamsQueryDocument = gql` + query NetworkParamsQuery { + networkParameters { + key + value + } +} + `; + +/** + * __useNetworkParamsQueryQuery__ + * + * To run a query within a React component, call `useNetworkParamsQueryQuery` and pass it any options that fit your needs. + * When your component renders, `useNetworkParamsQueryQuery` returns an object from Apollo Client that contains loading, error, and data properties + * you can use to render your UI. + * + * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options; + * + * @example + * const { data, loading, error } = useNetworkParamsQueryQuery({ + * variables: { + * }, + * }); + */ +export function useNetworkParamsQueryQuery(baseOptions?: Apollo.QueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useQuery(NetworkParamsQueryDocument, options); + } +export function useNetworkParamsQueryLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useLazyQuery(NetworkParamsQueryDocument, options); + } +export type NetworkParamsQueryQueryHookResult = ReturnType; +export type NetworkParamsQueryLazyQueryHookResult = ReturnType; +export type NetworkParamsQueryQueryResult = Apollo.QueryResult; \ No newline at end of file diff --git a/libs/withdraws/.eslintrc.json b/libs/withdraws/.eslintrc.json index db820c5d0..de2a9b877 100644 --- a/libs/withdraws/.eslintrc.json +++ b/libs/withdraws/.eslintrc.json @@ -1,6 +1,6 @@ { "extends": ["plugin:@nrwl/nx/react", "../../.eslintrc.json"], - "ignorePatterns": ["!**/*", "__generated__"], + "ignorePatterns": ["!**/*", "__generated__", "__generated___"], "overrides": [ { "files": ["*.ts", "*.tsx", "*.js", "*.jsx"], diff --git a/libs/withdraws/src/lib/Erc20Approval.graphql b/libs/withdraws/src/lib/Erc20Approval.graphql new file mode 100644 index 000000000..c9f805034 --- /dev/null +++ b/libs/withdraws/src/lib/Erc20Approval.graphql @@ -0,0 +1,11 @@ +query Erc20Approval($withdrawalId: ID!) { + erc20WithdrawalApproval(withdrawalId: $withdrawalId) { + assetSource + amount + nonce + signatures + targetAddress + expiry + creation + } +} diff --git a/libs/withdraws/src/lib/Withdraw.graphql b/libs/withdraws/src/lib/Withdraw.graphql new file mode 100644 index 000000000..e1702379f --- /dev/null +++ b/libs/withdraws/src/lib/Withdraw.graphql @@ -0,0 +1,32 @@ +query WithdrawPageQuery($partyId: ID!) { + party(id: $partyId) { + id + withdrawals { + id + txHash + } + accounts { + type + balance + asset { + id + symbol + } + } + } + assetsConnection { + edges { + node { + id + symbol + name + decimals + source { + ... on ERC20 { + contractAddress + } + } + } + } + } +} diff --git a/libs/withdraws/src/lib/Withdrawal.graphql b/libs/withdraws/src/lib/Withdrawal.graphql new file mode 100644 index 000000000..59fc3483d --- /dev/null +++ b/libs/withdraws/src/lib/Withdrawal.graphql @@ -0,0 +1,38 @@ +fragment WithdrawalFields on Withdrawal { + id + status + amount + asset { + id + symbol + decimals + } + createdTimestamp + withdrawnTimestamp + txHash + details { + ... on Erc20WithdrawalDetails { + receiverAddress + } + } + pendingOnForeignChain @client +} + +query Withdrawals($partyId: ID!) { + party(id: $partyId) { + id + withdrawals { + ...WithdrawalFields + } + } +} + +subscription WithdrawalEvent($partyId: ID!) { + busEvents(partyId: $partyId, batchSize: 0, types: [Withdrawal]) { + event { + ... on Withdrawal { + ...WithdrawalFields + } + } + } +} diff --git a/libs/withdraws/src/lib/__generated___/Erc20Approval.ts b/libs/withdraws/src/lib/__generated___/Erc20Approval.ts new file mode 100644 index 000000000..9cd9eb0c0 --- /dev/null +++ b/libs/withdraws/src/lib/__generated___/Erc20Approval.ts @@ -0,0 +1,54 @@ +import * as Types from '@vegaprotocol/types/types'; + +import { gql } from '@apollo/client'; +import * as Apollo from '@apollo/client'; +const defaultOptions = {} as const; +export type Erc20ApprovalQueryVariables = Types.Exact<{ + withdrawalId: Types.Scalars['ID']; +}>; + + +export type Erc20ApprovalQuery = { __typename?: 'Query', erc20WithdrawalApproval?: { __typename?: 'Erc20WithdrawalApproval', assetSource: string, amount: string, nonce: string, signatures: string, targetAddress: string, expiry: string, creation: string } | null }; + + +export const Erc20ApprovalDocument = gql` + query Erc20Approval($withdrawalId: ID!) { + erc20WithdrawalApproval(withdrawalId: $withdrawalId) { + assetSource + amount + nonce + signatures + targetAddress + expiry + creation + } +} + `; + +/** + * __useErc20ApprovalQuery__ + * + * To run a query within a React component, call `useErc20ApprovalQuery` and pass it any options that fit your needs. + * When your component renders, `useErc20ApprovalQuery` returns an object from Apollo Client that contains loading, error, and data properties + * you can use to render your UI. + * + * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options; + * + * @example + * const { data, loading, error } = useErc20ApprovalQuery({ + * variables: { + * withdrawalId: // value for 'withdrawalId' + * }, + * }); + */ +export function useErc20ApprovalQuery(baseOptions: Apollo.QueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useQuery(Erc20ApprovalDocument, options); + } +export function useErc20ApprovalLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useLazyQuery(Erc20ApprovalDocument, options); + } +export type Erc20ApprovalQueryHookResult = ReturnType; +export type Erc20ApprovalLazyQueryHookResult = ReturnType; +export type Erc20ApprovalQueryResult = Apollo.QueryResult; \ No newline at end of file diff --git a/libs/withdraws/src/lib/__generated___/Withdraw.ts b/libs/withdraws/src/lib/__generated___/Withdraw.ts new file mode 100644 index 000000000..73ff97211 --- /dev/null +++ b/libs/withdraws/src/lib/__generated___/Withdraw.ts @@ -0,0 +1,75 @@ +import * as Types from '@vegaprotocol/types/types'; + +import { gql } from '@apollo/client'; +import * as Apollo from '@apollo/client'; +const defaultOptions = {} as const; +export type WithdrawPageQueryQueryVariables = Types.Exact<{ + partyId: Types.Scalars['ID']; +}>; + + +export type WithdrawPageQueryQuery = { __typename?: 'Query', party?: { __typename?: 'Party', id: string, withdrawals?: Array<{ __typename?: 'Withdrawal', id: string, txHash?: string | null }> | null, accounts?: Array<{ __typename?: 'Account', type: Types.AccountType, balance: string, asset: { __typename?: 'Asset', id: string, symbol: string } }> | null } | null, assetsConnection: { __typename?: 'AssetsConnection', edges?: Array<{ __typename?: 'AssetEdge', node: { __typename?: 'Asset', id: string, symbol: string, name: string, decimals: number, source: { __typename?: 'BuiltinAsset' } | { __typename?: 'ERC20', contractAddress: string } } } | null> | null } }; + + +export const WithdrawPageQueryDocument = gql` + query WithdrawPageQuery($partyId: ID!) { + party(id: $partyId) { + id + withdrawals { + id + txHash + } + accounts { + type + balance + asset { + id + symbol + } + } + } + assetsConnection { + edges { + node { + id + symbol + name + decimals + source { + ... on ERC20 { + contractAddress + } + } + } + } + } +} + `; + +/** + * __useWithdrawPageQueryQuery__ + * + * To run a query within a React component, call `useWithdrawPageQueryQuery` and pass it any options that fit your needs. + * When your component renders, `useWithdrawPageQueryQuery` returns an object from Apollo Client that contains loading, error, and data properties + * you can use to render your UI. + * + * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options; + * + * @example + * const { data, loading, error } = useWithdrawPageQueryQuery({ + * variables: { + * partyId: // value for 'partyId' + * }, + * }); + */ +export function useWithdrawPageQueryQuery(baseOptions: Apollo.QueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useQuery(WithdrawPageQueryDocument, options); + } +export function useWithdrawPageQueryLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useLazyQuery(WithdrawPageQueryDocument, options); + } +export type WithdrawPageQueryQueryHookResult = ReturnType; +export type WithdrawPageQueryLazyQueryHookResult = ReturnType; +export type WithdrawPageQueryQueryResult = Apollo.QueryResult; \ No newline at end of file diff --git a/libs/withdraws/src/lib/__generated___/Withdrawal.ts b/libs/withdraws/src/lib/__generated___/Withdrawal.ts new file mode 100644 index 000000000..60c8c3b48 --- /dev/null +++ b/libs/withdraws/src/lib/__generated___/Withdrawal.ts @@ -0,0 +1,114 @@ +import * as Types from '@vegaprotocol/types/types'; + +import { gql } from '@apollo/client'; +import * as Apollo from '@apollo/client'; +const defaultOptions = {} as const; +export type WithdrawalFieldsFragment = { __typename?: 'Withdrawal', id: string, status: Types.WithdrawalStatus, amount: string, createdTimestamp: string, withdrawnTimestamp?: string | null, txHash?: string | null, pendingOnForeignChain: boolean, asset: { __typename?: 'Asset', id: string, symbol: string, decimals: number }, details?: { __typename?: 'Erc20WithdrawalDetails', receiverAddress: string } | null }; + +export type WithdrawalsQueryVariables = Types.Exact<{ + partyId: Types.Scalars['ID']; +}>; + + +export type WithdrawalsQuery = { __typename?: 'Query', party?: { __typename?: 'Party', id: string, withdrawals?: Array<{ __typename?: 'Withdrawal', id: string, status: Types.WithdrawalStatus, amount: string, createdTimestamp: string, withdrawnTimestamp?: string | null, txHash?: string | null, pendingOnForeignChain: boolean, asset: { __typename?: 'Asset', id: string, symbol: string, decimals: number }, details?: { __typename?: 'Erc20WithdrawalDetails', receiverAddress: string } | null }> | null } | null }; + +export type WithdrawalEventSubscriptionVariables = Types.Exact<{ + partyId: Types.Scalars['ID']; +}>; + + +export type WithdrawalEventSubscription = { __typename?: 'Subscription', busEvents?: Array<{ __typename?: 'BusEvent', event: { __typename?: 'Account' } | { __typename?: 'Asset' } | { __typename?: 'AuctionEvent' } | { __typename?: 'Deposit' } | { __typename?: 'LiquidityProvision' } | { __typename?: 'LossSocialization' } | { __typename?: 'MarginLevels' } | { __typename?: 'Market' } | { __typename?: 'MarketData' } | { __typename?: 'MarketEvent' } | { __typename?: 'MarketTick' } | { __typename?: 'NodeSignature' } | { __typename?: 'OracleSpec' } | { __typename?: 'Order' } | { __typename?: 'Party' } | { __typename?: 'PositionResolution' } | { __typename?: 'Proposal' } | { __typename?: 'RiskFactor' } | { __typename?: 'SettleDistressed' } | { __typename?: 'SettlePosition' } | { __typename?: 'TimeUpdate' } | { __typename?: 'Trade' } | { __typename?: 'TransferResponses' } | { __typename?: 'Vote' } | { __typename?: 'Withdrawal', id: string, status: Types.WithdrawalStatus, amount: string, createdTimestamp: string, withdrawnTimestamp?: string | null, txHash?: string | null, pendingOnForeignChain: boolean, asset: { __typename?: 'Asset', id: string, symbol: string, decimals: number }, details?: { __typename?: 'Erc20WithdrawalDetails', receiverAddress: string } | null } }> | null }; + +export const WithdrawalFieldsFragmentDoc = gql` + fragment WithdrawalFields on Withdrawal { + id + status + amount + asset { + id + symbol + decimals + } + createdTimestamp + withdrawnTimestamp + txHash + details { + ... on Erc20WithdrawalDetails { + receiverAddress + } + } + pendingOnForeignChain @client +} + `; +export const WithdrawalsDocument = gql` + query Withdrawals($partyId: ID!) { + party(id: $partyId) { + id + withdrawals { + ...WithdrawalFields + } + } +} + ${WithdrawalFieldsFragmentDoc}`; + +/** + * __useWithdrawalsQuery__ + * + * To run a query within a React component, call `useWithdrawalsQuery` and pass it any options that fit your needs. + * When your component renders, `useWithdrawalsQuery` returns an object from Apollo Client that contains loading, error, and data properties + * you can use to render your UI. + * + * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options; + * + * @example + * const { data, loading, error } = useWithdrawalsQuery({ + * variables: { + * partyId: // value for 'partyId' + * }, + * }); + */ +export function useWithdrawalsQuery(baseOptions: Apollo.QueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useQuery(WithdrawalsDocument, options); + } +export function useWithdrawalsLazyQuery(baseOptions?: Apollo.LazyQueryHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useLazyQuery(WithdrawalsDocument, options); + } +export type WithdrawalsQueryHookResult = ReturnType; +export type WithdrawalsLazyQueryHookResult = ReturnType; +export type WithdrawalsQueryResult = Apollo.QueryResult; +export const WithdrawalEventDocument = gql` + subscription WithdrawalEvent($partyId: ID!) { + busEvents(partyId: $partyId, batchSize: 0, types: [Withdrawal]) { + event { + ... on Withdrawal { + ...WithdrawalFields + } + } + } +} + ${WithdrawalFieldsFragmentDoc}`; + +/** + * __useWithdrawalEventSubscription__ + * + * To run a query within a React component, call `useWithdrawalEventSubscription` and pass it any options that fit your needs. + * When your component renders, `useWithdrawalEventSubscription` returns an object from Apollo Client that contains loading, error, and data properties + * you can use to render your UI. + * + * @param baseOptions options that will be passed into the subscription, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options; + * + * @example + * const { data, loading, error } = useWithdrawalEventSubscription({ + * variables: { + * partyId: // value for 'partyId' + * }, + * }); + */ +export function useWithdrawalEventSubscription(baseOptions: Apollo.SubscriptionHookOptions) { + const options = {...defaultOptions, ...baseOptions} + return Apollo.useSubscription(WithdrawalEventDocument, options); + } +export type WithdrawalEventSubscriptionHookResult = ReturnType; +export type WithdrawalEventSubscriptionResult = Apollo.SubscriptionResult; \ No newline at end of file diff --git a/package.json b/package.json index 03c20000e..f80fc1a1e 100644 --- a/package.json +++ b/package.json @@ -88,6 +88,13 @@ "@commitlint/cli": "^16.2.4", "@commitlint/config-conventional": "^16.2.4", "@ethersproject/experimental": "^5.6.0", + "@graphql-codegen/cli": "^2.11.8", + "@graphql-codegen/near-operation-file-preset": "^2.4.1", + "@graphql-codegen/typescript": "^2.7.3", + "@graphql-codegen/typescript-operations": "^2.5.3", + "@graphql-codegen/typescript-react-apollo": "^3.3.3", + "@graphql-inspector/cli": "^3.3.0", + "@graphql-inspector/validate-command": "^3.3.0", "@nrwl/cli": "14.5.10", "@nrwl/cypress": "14.5.10", "@nrwl/eslint-plugin-nx": "14.5.10", diff --git a/tsconfig.base.json b/tsconfig.base.json index 9424d0d2b..0d4de9e97 100644 --- a/tsconfig.base.json +++ b/tsconfig.base.json @@ -38,6 +38,7 @@ ], "@vegaprotocol/trades": ["libs/trades/src/index.ts"], "@vegaprotocol/types": ["libs/types/src/index.ts"], + "@vegaprotocol/types/types": ["libs/types/src/__generated__/types.ts"], "@vegaprotocol/ui-toolkit": ["libs/ui-toolkit/src/index.ts"], "@vegaprotocol/wallet": ["libs/wallet/src/index.ts"], "@vegaprotocol/web3": ["libs/web3/src/index.ts"], diff --git a/yarn.lock b/yarn.lock index 1c8e210ed..166fe235d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -94,6 +94,36 @@ dependencies: "@apollographql/graphql-language-service-types" "^2.0.0" +"@ardatan/relay-compiler@12.0.0": + version "12.0.0" + resolved "https://registry.yarnpkg.com/@ardatan/relay-compiler/-/relay-compiler-12.0.0.tgz#2e4cca43088e807adc63450e8cab037020e91106" + integrity sha512-9anThAaj1dQr6IGmzBMcfzOQKTa5artjuPmw8NYK/fiGEMjADbSguBY2FMDykt+QhilR3wc9VA/3yVju7JHg7Q== + dependencies: + "@babel/core" "^7.14.0" + "@babel/generator" "^7.14.0" + "@babel/parser" "^7.14.0" + "@babel/runtime" "^7.0.0" + "@babel/traverse" "^7.14.0" + "@babel/types" "^7.0.0" + babel-preset-fbjs "^3.4.0" + chalk "^4.0.0" + fb-watchman "^2.0.0" + fbjs "^3.0.0" + glob "^7.1.1" + immutable "~3.7.6" + invariant "^2.2.4" + nullthrows "^1.1.1" + relay-runtime "12.0.0" + signedsource "^1.0.0" + yargs "^15.3.1" + +"@ardatan/sync-fetch@0.0.1": + version "0.0.1" + resolved "https://registry.yarnpkg.com/@ardatan/sync-fetch/-/sync-fetch-0.0.1.tgz#3385d3feedceb60a896518a1db857ec1e945348f" + integrity sha512-xhlTqH0m31mnsG0tIP4ETgfSB6gXDaYYsUWTrlUV93fFQPI9dd8hE0Ot6MHLCtqgB32hwJAC3YZMWlXZw7AleA== + dependencies: + node-fetch "^2.6.1" + "@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.16.7", "@babel/code-frame@^7.18.6", "@babel/code-frame@^7.5.5", "@babel/code-frame@^7.8.3": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.18.6.tgz#3b25d38c89600baa2dcc219edfa88a74eb2c427a" @@ -149,7 +179,7 @@ semver "^5.4.1" source-map "^0.5.0" -"@babel/core@^7.0.1", "@babel/core@^7.1.0", "@babel/core@^7.12.10", "@babel/core@^7.12.3", "@babel/core@^7.15.0", "@babel/core@^7.16.0", "@babel/core@^7.18.5", "@babel/core@^7.7.2", "@babel/core@^7.7.5", "@babel/core@^7.8.0": +"@babel/core@^7.0.1", "@babel/core@^7.1.0", "@babel/core@^7.12.10", "@babel/core@^7.12.3", "@babel/core@^7.14.0", "@babel/core@^7.15.0", "@babel/core@^7.16.0", "@babel/core@^7.18.5", "@babel/core@^7.7.2", "@babel/core@^7.7.5", "@babel/core@^7.8.0": version "7.18.13" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.18.13.tgz#9be8c44512751b05094a4d3ab05fc53a47ce00ac" integrity sha512-ZisbOvRRusFktksHSG6pjj1CSvkPkcZq/KHD45LAkVP/oiHJkNBZWfpvlLmX8OtHDG8IuzsFlVRWo08w7Qxn0A== @@ -179,7 +209,7 @@ "@jridgewell/gen-mapping" "^0.1.0" jsesc "^2.5.1" -"@babel/generator@^7.12.11", "@babel/generator@^7.12.13", "@babel/generator@^7.12.5", "@babel/generator@^7.18.13", "@babel/generator@^7.7.2": +"@babel/generator@^7.12.11", "@babel/generator@^7.12.13", "@babel/generator@^7.12.5", "@babel/generator@^7.14.0", "@babel/generator@^7.18.13", "@babel/generator@^7.7.2": version "7.18.13" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.18.13.tgz#59550cbb9ae79b8def15587bdfbaa388c4abf212" integrity sha512-CkPg8ySSPuHTYPJYo7IRALdqyjM9HCbt/3uOBEFbzyGVP6Mn8bwFPB0jX6982JVNBlYzM1nnPkfjuXSOPtQeEQ== @@ -417,7 +447,7 @@ chalk "^2.0.0" js-tokens "^4.0.0" -"@babel/parser@^7.1.0", "@babel/parser@^7.1.3", "@babel/parser@^7.12.11", "@babel/parser@^7.12.13", "@babel/parser@^7.12.7", "@babel/parser@^7.14.7", "@babel/parser@^7.18.10", "@babel/parser@^7.18.13": +"@babel/parser@^7.1.0", "@babel/parser@^7.1.3", "@babel/parser@^7.12.11", "@babel/parser@^7.12.13", "@babel/parser@^7.12.7", "@babel/parser@^7.14.0", "@babel/parser@^7.14.7", "@babel/parser@^7.16.8", "@babel/parser@^7.18.10", "@babel/parser@^7.18.13": version "7.18.13" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.18.13.tgz#5b2dd21cae4a2c5145f1fbd8ca103f9313d3b7e4" integrity sha512-dgXcIfMuQ0kgzLB2b9tRZs7TTFFaGM2AbtA4fJgUUYukzGH4jwsS7hzQHEGs67jdehpm22vkgKwvbU+aEflgwg== @@ -448,7 +478,7 @@ "@babel/helper-remap-async-to-generator" "^7.18.9" "@babel/plugin-syntax-async-generators" "^7.8.4" -"@babel/plugin-proposal-class-properties@^7.12.1", "@babel/plugin-proposal-class-properties@^7.14.5", "@babel/plugin-proposal-class-properties@^7.16.0", "@babel/plugin-proposal-class-properties@^7.18.6": +"@babel/plugin-proposal-class-properties@^7.0.0", "@babel/plugin-proposal-class-properties@^7.12.1", "@babel/plugin-proposal-class-properties@^7.14.5", "@babel/plugin-proposal-class-properties@^7.16.0", "@babel/plugin-proposal-class-properties@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz#b110f59741895f7ec21a6fff696ec46265c446a3" integrity sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ== @@ -541,7 +571,7 @@ "@babel/plugin-syntax-object-rest-spread" "^7.8.0" "@babel/plugin-transform-parameters" "^7.12.1" -"@babel/plugin-proposal-object-rest-spread@^7.12.1", "@babel/plugin-proposal-object-rest-spread@^7.16.0", "@babel/plugin-proposal-object-rest-spread@^7.18.9": +"@babel/plugin-proposal-object-rest-spread@^7.0.0", "@babel/plugin-proposal-object-rest-spread@^7.12.1", "@babel/plugin-proposal-object-rest-spread@^7.16.0", "@babel/plugin-proposal-object-rest-spread@^7.18.9": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.18.9.tgz#f9434f6beb2c8cae9dfcf97d2a5941bbbf9ad4e7" integrity sha512-kDDHQ5rflIeY5xl69CEqGEZ0KY369ehsCIEbTGb4siHG5BE9sga/T0r0OUwyZNLMmZE79E1kbsqAjwFCW4ds6Q== @@ -609,7 +639,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-class-properties@^7.12.13", "@babel/plugin-syntax-class-properties@^7.8.3": +"@babel/plugin-syntax-class-properties@^7.0.0", "@babel/plugin-syntax-class-properties@^7.12.13", "@babel/plugin-syntax-class-properties@^7.8.3": version "7.12.13" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz#b5c987274c4a3a82b89714796931a6b53544ae10" integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== @@ -651,7 +681,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-syntax-flow@^7.18.6": +"@babel/plugin-syntax-flow@^7.0.0", "@babel/plugin-syntax-flow@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.18.6.tgz#774d825256f2379d06139be0c723c4dd444f3ca1" integrity sha512-LUbR+KNTBWCUAqRG9ex5Gnzu2IOkt8jRJbHHXFT9q+L9zm7M/QQbEqXyw1n1pohYvOyWC8CjeyjrSaIwiYjK7A== @@ -686,7 +716,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-syntax-jsx@^7.17.12", "@babel/plugin-syntax-jsx@^7.18.6": +"@babel/plugin-syntax-jsx@^7.0.0", "@babel/plugin-syntax-jsx@^7.17.12", "@babel/plugin-syntax-jsx@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.18.6.tgz#a8feef63b010150abd97f1649ec296e849943ca0" integrity sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q== @@ -714,7 +744,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-syntax-object-rest-spread@7.8.3", "@babel/plugin-syntax-object-rest-spread@^7.8.0", "@babel/plugin-syntax-object-rest-spread@^7.8.3": +"@babel/plugin-syntax-object-rest-spread@7.8.3", "@babel/plugin-syntax-object-rest-spread@^7.0.0", "@babel/plugin-syntax-object-rest-spread@^7.8.0", "@babel/plugin-syntax-object-rest-spread@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== @@ -756,7 +786,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-arrow-functions@^7.12.1", "@babel/plugin-transform-arrow-functions@^7.18.6": +"@babel/plugin-transform-arrow-functions@^7.0.0", "@babel/plugin-transform-arrow-functions@^7.12.1", "@babel/plugin-transform-arrow-functions@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.18.6.tgz#19063fcf8771ec7b31d742339dac62433d0611fe" integrity sha512-9S9X9RUefzrsHZmKMbDXxweEH+YlE8JJEuat9FdvW9Qh1cw7W64jELCtWNkPBPX5En45uy28KGvA/AySqUh8CQ== @@ -772,21 +802,21 @@ "@babel/helper-plugin-utils" "^7.18.6" "@babel/helper-remap-async-to-generator" "^7.18.6" -"@babel/plugin-transform-block-scoped-functions@^7.18.6": +"@babel/plugin-transform-block-scoped-functions@^7.0.0", "@babel/plugin-transform-block-scoped-functions@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz#9187bf4ba302635b9d70d986ad70f038726216a8" integrity sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ== dependencies: "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-block-scoping@^7.12.12", "@babel/plugin-transform-block-scoping@^7.18.9": +"@babel/plugin-transform-block-scoping@^7.0.0", "@babel/plugin-transform-block-scoping@^7.12.12", "@babel/plugin-transform-block-scoping@^7.18.9": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.18.9.tgz#f9b7e018ac3f373c81452d6ada8bd5a18928926d" integrity sha512-5sDIJRV1KtQVEbt/EIBwGy4T01uYIo4KRB3VUqzkhrAIOGx7AoctL9+Ux88btY0zXdDyPJ9mW+bg+v+XEkGmtw== dependencies: "@babel/helper-plugin-utils" "^7.18.9" -"@babel/plugin-transform-classes@^7.12.1", "@babel/plugin-transform-classes@^7.18.9": +"@babel/plugin-transform-classes@^7.0.0", "@babel/plugin-transform-classes@^7.12.1", "@babel/plugin-transform-classes@^7.18.9": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.18.9.tgz#90818efc5b9746879b869d5ce83eb2aa48bbc3da" integrity sha512-EkRQxsxoytpTlKJmSPYrsOMjCILacAjtSVkd4gChEe2kXjFCun3yohhW5I7plXJhCemM0gKsaGMcO8tinvCA5g== @@ -800,14 +830,14 @@ "@babel/helper-split-export-declaration" "^7.18.6" globals "^11.1.0" -"@babel/plugin-transform-computed-properties@^7.18.9": +"@babel/plugin-transform-computed-properties@^7.0.0", "@babel/plugin-transform-computed-properties@^7.18.9": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.18.9.tgz#2357a8224d402dad623caf6259b611e56aec746e" integrity sha512-+i0ZU1bCDymKakLxn5srGHrsAPRELC2WIbzwjLhHW9SIE1cPYkLCL0NlnXMZaM1vhfgA2+M7hySk42VBvrkBRw== dependencies: "@babel/helper-plugin-utils" "^7.18.9" -"@babel/plugin-transform-destructuring@^7.12.1", "@babel/plugin-transform-destructuring@^7.18.9": +"@babel/plugin-transform-destructuring@^7.0.0", "@babel/plugin-transform-destructuring@^7.12.1", "@babel/plugin-transform-destructuring@^7.18.9": version "7.18.13" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.18.13.tgz#9e03bc4a94475d62b7f4114938e6c5c33372cbf5" integrity sha512-TodpQ29XekIsex2A+YJPj5ax2plkGa8YYY6mFjCohk/IG9IY42Rtuj1FuDeemfg2ipxIFLzPeA83SIBnlhSIow== @@ -837,7 +867,7 @@ "@babel/helper-builder-binary-assignment-operator-visitor" "^7.18.6" "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-flow-strip-types@^7.18.6": +"@babel/plugin-transform-flow-strip-types@^7.0.0", "@babel/plugin-transform-flow-strip-types@^7.18.6": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.18.9.tgz#5b4cc521426263b5ce08893a2db41097ceba35bf" integrity sha512-+G6rp2zRuOAInY5wcggsx4+QVao1qPM0osC9fTUVlAV3zOrzTCnrMAFVnR6+a3T8wz1wFIH7KhYMcMB3u1n80A== @@ -845,14 +875,14 @@ "@babel/helper-plugin-utils" "^7.18.9" "@babel/plugin-syntax-flow" "^7.18.6" -"@babel/plugin-transform-for-of@^7.12.1", "@babel/plugin-transform-for-of@^7.18.8": +"@babel/plugin-transform-for-of@^7.0.0", "@babel/plugin-transform-for-of@^7.12.1", "@babel/plugin-transform-for-of@^7.18.8": version "7.18.8" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.18.8.tgz#6ef8a50b244eb6a0bdbad0c7c61877e4e30097c1" integrity sha512-yEfTRnjuskWYo0k1mHUqrVWaZwrdq8AYbfrpqULOJOaucGSp4mNMVps+YtA8byoevxS/urwU75vyhQIxcCgiBQ== dependencies: "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-function-name@^7.18.9": +"@babel/plugin-transform-function-name@^7.0.0", "@babel/plugin-transform-function-name@^7.18.9": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.9.tgz#cc354f8234e62968946c61a46d6365440fc764e0" integrity sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ== @@ -861,14 +891,14 @@ "@babel/helper-function-name" "^7.18.9" "@babel/helper-plugin-utils" "^7.18.9" -"@babel/plugin-transform-literals@^7.18.9": +"@babel/plugin-transform-literals@^7.0.0", "@babel/plugin-transform-literals@^7.18.9": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.9.tgz#72796fdbef80e56fba3c6a699d54f0de557444bc" integrity sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg== dependencies: "@babel/helper-plugin-utils" "^7.18.9" -"@babel/plugin-transform-member-expression-literals@^7.18.6": +"@babel/plugin-transform-member-expression-literals@^7.0.0", "@babel/plugin-transform-member-expression-literals@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz#ac9fdc1a118620ac49b7e7a5d2dc177a1bfee88e" integrity sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA== @@ -884,7 +914,7 @@ "@babel/helper-plugin-utils" "^7.18.6" babel-plugin-dynamic-import-node "^2.3.3" -"@babel/plugin-transform-modules-commonjs@^7.18.6": +"@babel/plugin-transform-modules-commonjs@^7.0.0", "@babel/plugin-transform-modules-commonjs@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.18.6.tgz#afd243afba166cca69892e24a8fd8c9f2ca87883" integrity sha512-Qfv2ZOWikpvmedXQJDSbxNqy7Xr/j2Y8/KfijM0iJyKkBTmWuvCA1yeH1yDM7NJhBW/2aXxeucLj6i80/LAJ/Q== @@ -928,7 +958,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-object-super@^7.18.6": +"@babel/plugin-transform-object-super@^7.0.0", "@babel/plugin-transform-object-super@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz#fb3c6ccdd15939b6ff7939944b51971ddc35912c" integrity sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA== @@ -936,14 +966,14 @@ "@babel/helper-plugin-utils" "^7.18.6" "@babel/helper-replace-supers" "^7.18.6" -"@babel/plugin-transform-parameters@^7.12.1", "@babel/plugin-transform-parameters@^7.18.8": +"@babel/plugin-transform-parameters@^7.0.0", "@babel/plugin-transform-parameters@^7.12.1", "@babel/plugin-transform-parameters@^7.18.8": version "7.18.8" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.18.8.tgz#ee9f1a0ce6d78af58d0956a9378ea3427cccb48a" integrity sha512-ivfbE3X2Ss+Fj8nnXvKJS6sjRG4gzwPMsP+taZC+ZzEGjAYlvENixmt1sZ5Ca6tWls+BlKSGKPJ6OOXvXCbkFg== dependencies: "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-property-literals@^7.18.6": +"@babel/plugin-transform-property-literals@^7.0.0", "@babel/plugin-transform-property-literals@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz#e22498903a483448e94e032e9bbb9c5ccbfc93a3" integrity sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg== @@ -957,7 +987,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.18.9" -"@babel/plugin-transform-react-display-name@^7.18.6": +"@babel/plugin-transform-react-display-name@^7.0.0", "@babel/plugin-transform-react-display-name@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.18.6.tgz#8b1125f919ef36ebdfff061d664e266c666b9415" integrity sha512-TV4sQ+T013n61uMoygyMRm+xf04Bd5oqFpv2jAEQwSZ8NwQA7zeRPg1LMVg2PWi3zWBz+CLKD+v5bcpZ/BS0aA== @@ -971,7 +1001,7 @@ dependencies: "@babel/plugin-transform-react-jsx" "^7.18.6" -"@babel/plugin-transform-react-jsx@^7.12.12", "@babel/plugin-transform-react-jsx@^7.18.6": +"@babel/plugin-transform-react-jsx@^7.0.0", "@babel/plugin-transform-react-jsx@^7.12.12", "@babel/plugin-transform-react-jsx@^7.18.6": version "7.18.10" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.18.10.tgz#ea47b2c4197102c196cbd10db9b3bb20daa820f1" integrity sha512-gCy7Iikrpu3IZjYZolFE4M1Sm+nrh1/6za2Ewj77Z+XirT4TsbJcvOFOyF+fRPwU6AKKK136CZxx6L8AbSFG6A== @@ -1017,14 +1047,14 @@ babel-plugin-polyfill-regenerator "^0.4.0" semver "^6.3.0" -"@babel/plugin-transform-shorthand-properties@^7.12.1", "@babel/plugin-transform-shorthand-properties@^7.18.6": +"@babel/plugin-transform-shorthand-properties@^7.0.0", "@babel/plugin-transform-shorthand-properties@^7.12.1", "@babel/plugin-transform-shorthand-properties@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz#6d6df7983d67b195289be24909e3f12a8f664dc9" integrity sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw== dependencies: "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-spread@^7.12.1", "@babel/plugin-transform-spread@^7.18.9": +"@babel/plugin-transform-spread@^7.0.0", "@babel/plugin-transform-spread@^7.12.1", "@babel/plugin-transform-spread@^7.18.9": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.18.9.tgz#6ea7a6297740f381c540ac56caf75b05b74fb664" integrity sha512-39Q814wyoOPtIB/qGopNIL9xDChOE1pNU0ZY5dO0owhiVt/5kFm4li+/bBtwc7QotG0u5EPzqhZdjMtmqBqyQA== @@ -1039,7 +1069,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-template-literals@^7.12.1", "@babel/plugin-transform-template-literals@^7.18.9": +"@babel/plugin-transform-template-literals@^7.0.0", "@babel/plugin-transform-template-literals@^7.12.1", "@babel/plugin-transform-template-literals@^7.18.9": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.9.tgz#04ec6f10acdaa81846689d63fae117dd9c243a5e" integrity sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA== @@ -1243,7 +1273,7 @@ "@babel/parser" "^7.18.10" "@babel/types" "^7.18.10" -"@babel/traverse@^7.1.6", "@babel/traverse@^7.12.11", "@babel/traverse@^7.12.13", "@babel/traverse@^7.12.9", "@babel/traverse@^7.13.0", "@babel/traverse@^7.16.0", "@babel/traverse@^7.18.11", "@babel/traverse@^7.18.13", "@babel/traverse@^7.18.9", "@babel/traverse@^7.7.2": +"@babel/traverse@^7.1.6", "@babel/traverse@^7.12.11", "@babel/traverse@^7.12.13", "@babel/traverse@^7.12.9", "@babel/traverse@^7.13.0", "@babel/traverse@^7.14.0", "@babel/traverse@^7.16.0", "@babel/traverse@^7.16.8", "@babel/traverse@^7.18.11", "@babel/traverse@^7.18.13", "@babel/traverse@^7.18.9", "@babel/traverse@^7.7.2": version "7.18.13" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.18.13.tgz#5ab59ef51a997b3f10c4587d648b9696b6cb1a68" integrity sha512-N6kt9X1jRMLPxxxPYWi7tgvJRH/rtoU+dbKAPDM44RFHiMH8igdsaSBgFeskhSl/kLWLDUvIh1RXCrTmg0/zvA== @@ -1267,7 +1297,7 @@ "@babel/helper-validator-identifier" "^7.16.7" to-fast-properties "^2.0.0" -"@babel/types@^7.0.0", "@babel/types@^7.12.11", "@babel/types@^7.12.13", "@babel/types@^7.12.6", "@babel/types@^7.12.7", "@babel/types@^7.17.10", "@babel/types@^7.18.10", "@babel/types@^7.18.13", "@babel/types@^7.18.4", "@babel/types@^7.18.6", "@babel/types@^7.18.9", "@babel/types@^7.2.0", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4": +"@babel/types@^7.0.0", "@babel/types@^7.12.11", "@babel/types@^7.12.13", "@babel/types@^7.12.6", "@babel/types@^7.12.7", "@babel/types@^7.16.8", "@babel/types@^7.17.10", "@babel/types@^7.18.10", "@babel/types@^7.18.13", "@babel/types@^7.18.4", "@babel/types@^7.18.6", "@babel/types@^7.18.9", "@babel/types@^7.2.0", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4": version "7.18.13" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.18.13.tgz#30aeb9e514f4100f7c1cb6e5ba472b30e48f519a" integrity sha512-ePqfTihzW0W6XAU+aMw2ykilisStJfDnsejDCXRchCcMJ4O0+8DhPXf2YUbZ6wjBlsEmZwLK/sPweWtu8hcJYQ== @@ -1659,6 +1689,44 @@ ts-node "^9" tslib "^2" +"@envelop/core@^2.0.0": + version "2.6.0" + resolved "https://registry.yarnpkg.com/@envelop/core/-/core-2.6.0.tgz#1b7a346a37040c217f0f9b60c3358efc6c3b1b94" + integrity sha512-yTptKinJN//i6m1kXUbnLBl/FobzddI4ehURAMS08eRUOQwAuXqJU9r8VdTav8nIZLb4t6cuDWFb3n331LiwLw== + dependencies: + "@envelop/types" "2.4.0" + tslib "2.4.0" + +"@envelop/disable-introspection@^3.0.0": + version "3.6.0" + resolved "https://registry.yarnpkg.com/@envelop/disable-introspection/-/disable-introspection-3.6.0.tgz#04b033389a83b9831442caabcbae30bde89857b9" + integrity sha512-Zf505LqWo2efM0EtTBvXyYPynSTSL2+Ps0X+dCH33vQ3wF6gxMui9g1pGa4MDcGjaXWG67qZcT4eojpGlmmavA== + dependencies: + tslib "^2.4.0" + +"@envelop/parser-cache@^4.0.0": + version "4.7.0" + resolved "https://registry.yarnpkg.com/@envelop/parser-cache/-/parser-cache-4.7.0.tgz#fc438d8ed390c88fa24bf56da3e4da36f088e3fc" + integrity sha512-63NfXDcW/vGn4U6NFxaZ0JbYWAcJb9A6jhTvghsSz1ZS+Dny/ci8bVSgVmM1q+N56hPyGsVPuyI+rIc71mPU5g== + dependencies: + lru-cache "^6.0.0" + tslib "^2.4.0" + +"@envelop/types@2.4.0": + version "2.4.0" + resolved "https://registry.yarnpkg.com/@envelop/types/-/types-2.4.0.tgz#129163df73503581b68950704f4064a6b0f2c6ed" + integrity sha512-pjxS98cDQBS84X29VcwzH3aJ/KiLCGwyMxuj7/5FkdiaCXAD1JEvKEj9LARWlFYj1bY43uII4+UptFebrhiIaw== + dependencies: + tslib "^2.4.0" + +"@envelop/validation-cache@^4.0.0": + version "4.7.0" + resolved "https://registry.yarnpkg.com/@envelop/validation-cache/-/validation-cache-4.7.0.tgz#6871116c5387cd7c310b9ae9187d29c2793ae33f" + integrity sha512-PzL+GfWJRT+JjsJqZAIxHKEkvkM3hxkeytS5O0QLXT8kURNBV28r+Kdnn2RCF5+6ILhyGpiDb60vaquBi7g4lw== + dependencies: + lru-cache "^6.0.0" + tslib "^2.4.0" + "@eslint/eslintrc@^1.2.3": version "1.3.1" resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.3.1.tgz#de0807bfeffc37b964a7d0400e0c348ce5a2543d" @@ -2050,11 +2118,609 @@ resolved "https://registry.yarnpkg.com/@gar/promisify/-/promisify-1.1.3.tgz#555193ab2e3bb3b6adc3d551c9c030d9e860daf6" integrity sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw== +"@graphql-codegen/add@^3.2.1": + version "3.2.1" + resolved "https://registry.yarnpkg.com/@graphql-codegen/add/-/add-3.2.1.tgz#f1109f36f194f88a6abcc51703abee43ebbb50a2" + integrity sha512-w82H/evh8SSGoD3K6K/Oh3kqSdbuU+TgHqMYmmHFxtH692v2xhN/cu1s/TotBQ7r4mO7OQutze7dde2tZEXGEQ== + dependencies: + "@graphql-codegen/plugin-helpers" "^2.6.2" + tslib "~2.4.0" + +"@graphql-codegen/cli@^2.11.8": + version "2.12.0" + resolved "https://registry.yarnpkg.com/@graphql-codegen/cli/-/cli-2.12.0.tgz#ae57ca66fac7b0b5b8cba5b26ca9ccb5885ae2d4" + integrity sha512-esaMiiuypAtJNiZUhGdFmG0gTMEF5dYkqP/7I04egxSragwbIETU8gOl6/gHdLSAV5su7dgfIEZNdWmGCOWAbg== + dependencies: + "@graphql-codegen/core" "2.6.2" + "@graphql-codegen/plugin-helpers" "^2.7.0" + "@graphql-tools/apollo-engine-loader" "^7.3.6" + "@graphql-tools/code-file-loader" "^7.3.1" + "@graphql-tools/git-loader" "^7.2.1" + "@graphql-tools/github-loader" "^7.3.6" + "@graphql-tools/graphql-file-loader" "^7.5.0" + "@graphql-tools/json-file-loader" "^7.4.1" + "@graphql-tools/load" "^7.7.1" + "@graphql-tools/prisma-loader" "^7.2.7" + "@graphql-tools/url-loader" "^7.13.2" + "@graphql-tools/utils" "^8.9.0" + "@whatwg-node/fetch" "^0.3.0" + ansi-escapes "^4.3.1" + chalk "^4.1.0" + chokidar "^3.5.2" + cosmiconfig "^7.0.0" + cosmiconfig-typescript-loader "^4.0.0" + debounce "^1.2.0" + detect-indent "^6.0.0" + graphql-config "^4.3.5" + inquirer "^8.0.0" + is-glob "^4.0.1" + json-to-pretty-yaml "^1.2.2" + listr2 "^4.0.5" + log-symbols "^4.0.0" + mkdirp "^1.0.4" + string-env-interpolation "^1.0.1" + ts-log "^2.2.3" + tslib "^2.4.0" + yaml "^1.10.0" + yargs "^17.0.0" + +"@graphql-codegen/core@2.6.2": + version "2.6.2" + resolved "https://registry.yarnpkg.com/@graphql-codegen/core/-/core-2.6.2.tgz#29c766d2e9e5a3deeeb4f1728c1f7b1aca054a22" + integrity sha512-58T5yf9nEfAhDwN1Vz1hImqpdJ/gGpCGUaroQ5tqskZPf7eZYYVkEXbtqRZZLx1MCCKwjWX4hMtTPpHhwKCkng== + dependencies: + "@graphql-codegen/plugin-helpers" "^2.6.2" + "@graphql-tools/schema" "^9.0.0" + "@graphql-tools/utils" "^8.8.0" + tslib "~2.4.0" + +"@graphql-codegen/near-operation-file-preset@^2.4.1": + version "2.4.1" + resolved "https://registry.yarnpkg.com/@graphql-codegen/near-operation-file-preset/-/near-operation-file-preset-2.4.1.tgz#38277816239506335c2f843c92cd70b403a0a3ad" + integrity sha512-es3XeVbD8sraEJRXcnhWjrpLUXTiA2Hgfmbt/P4HPBPmMw6NQKL2p2EqK2fd5KEohij3qykUXp+7GffOx8CtAg== + dependencies: + "@graphql-codegen/add" "^3.2.1" + "@graphql-codegen/plugin-helpers" "^2.6.2" + "@graphql-codegen/visitor-plugin-common" "2.12.1" + "@graphql-tools/utils" "^8.8.0" + parse-filepath "^1.0.2" + tslib "~2.4.0" + +"@graphql-codegen/plugin-helpers@^2.6.2", "@graphql-codegen/plugin-helpers@^2.7.0": + version "2.7.0" + resolved "https://registry.yarnpkg.com/@graphql-codegen/plugin-helpers/-/plugin-helpers-2.7.0.tgz#54ba1d5fb3ddad8a3634bc2e09b023eb183e574c" + integrity sha512-+a2VP/4Ob0fwP8YLrQ/hhYlAA9UZUdDFNqwS543DmyiGFUkNIsa7TnTsE/mBDKJSMsCVWLw78949fCpzjyw/9Q== + dependencies: + "@graphql-tools/utils" "^8.8.0" + change-case-all "1.0.14" + common-tags "1.8.2" + import-from "4.0.0" + lodash "~4.17.0" + tslib "~2.4.0" + +"@graphql-codegen/schema-ast@^2.5.1": + version "2.5.1" + resolved "https://registry.yarnpkg.com/@graphql-codegen/schema-ast/-/schema-ast-2.5.1.tgz#ce030ae6de5dacd745848009ba0ca18c9c30910c" + integrity sha512-tewa5DEKbglWn7kYyVBkh3J8YQ5ALqAMVmZwiVFIGOao5u66nd+e4HuFqp0u+Jpz4SJGGi0ap/oFrEvlqLjd2A== + dependencies: + "@graphql-codegen/plugin-helpers" "^2.6.2" + "@graphql-tools/utils" "^8.8.0" + tslib "~2.4.0" + +"@graphql-codegen/typescript-operations@^2.5.3": + version "2.5.3" + resolved "https://registry.yarnpkg.com/@graphql-codegen/typescript-operations/-/typescript-operations-2.5.3.tgz#c6fd3f209e3482b86b08050685af8fa45ab14297" + integrity sha512-s+pA+Erm0HeBb/D5cNrflwRM5KWhkiA5cbz4uA99l3fzFPveoQBPfRCBu0XAlJLP/kBDy64+o4B8Nfc7wdRtmA== + dependencies: + "@graphql-codegen/plugin-helpers" "^2.6.2" + "@graphql-codegen/typescript" "^2.7.3" + "@graphql-codegen/visitor-plugin-common" "2.12.1" + auto-bind "~4.0.0" + tslib "~2.4.0" + +"@graphql-codegen/typescript-react-apollo@^3.3.3": + version "3.3.3" + resolved "https://registry.yarnpkg.com/@graphql-codegen/typescript-react-apollo/-/typescript-react-apollo-3.3.3.tgz#93cb189904a9eacc61bb18b9e69b3d0efded2726" + integrity sha512-FixkcfEfChA1+VPkvdcK+JYnBfqhT+Nz7WJFJ3ZKVsHjwJbTWKu19cKn2nkd3EVgdhJXlNsE8DgenVMqi5X5Ug== + dependencies: + "@graphql-codegen/plugin-helpers" "^2.6.2" + "@graphql-codegen/visitor-plugin-common" "2.12.1" + auto-bind "~4.0.0" + change-case-all "1.0.14" + tslib "~2.4.0" + +"@graphql-codegen/typescript@^2.7.3": + version "2.7.3" + resolved "https://registry.yarnpkg.com/@graphql-codegen/typescript/-/typescript-2.7.3.tgz#ad786a1c74e16eca8e01e7a8f28078e1c24eeb61" + integrity sha512-EzX/acijXtbG/AwPzho2ZZWaNo00+xAbsRDP+vnT2PwQV3AYq3/5bFvjq1XfAGWbTntdmlYlIwC9hf5bI85WVA== + dependencies: + "@graphql-codegen/plugin-helpers" "^2.6.2" + "@graphql-codegen/schema-ast" "^2.5.1" + "@graphql-codegen/visitor-plugin-common" "2.12.1" + auto-bind "~4.0.0" + tslib "~2.4.0" + +"@graphql-codegen/visitor-plugin-common@2.12.1": + version "2.12.1" + resolved "https://registry.yarnpkg.com/@graphql-codegen/visitor-plugin-common/-/visitor-plugin-common-2.12.1.tgz#8d2d24b572afd396381dddef7e2032b0f73c05cc" + integrity sha512-dIUrX4+i/uazyPQqXyQ8cqykgNFe1lknjnfDWFo0gnk2W8+ruuL2JpSrj/7efzFHxbYGMQrCABDCUTVLi3DcVA== + dependencies: + "@graphql-codegen/plugin-helpers" "^2.6.2" + "@graphql-tools/optimize" "^1.3.0" + "@graphql-tools/relay-operation-optimizer" "^6.5.0" + "@graphql-tools/utils" "^8.8.0" + auto-bind "~4.0.0" + change-case-all "1.0.14" + dependency-graph "^0.11.0" + graphql-tag "^2.11.0" + parse-filepath "^1.0.2" + tslib "~2.4.0" + +"@graphql-inspector/cli@^3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@graphql-inspector/cli/-/cli-3.3.0.tgz#7199f427c41325de4f9b5cfbd0a8d3a5e5f56abb" + integrity sha512-r5rPL2H/0uZukhH4Iik+Yg5i7heBwGG5q3Ac4XbUVNqp0EYRLflz2bd2GZ0kGomHbRqL7yHep+9Aaye5UUmOww== + dependencies: + "@graphql-inspector/code-loader" "3.3.0" + "@graphql-inspector/commands" "3.3.0" + "@graphql-inspector/coverage-command" "3.3.0" + "@graphql-inspector/diff-command" "3.3.0" + "@graphql-inspector/docs-command" "3.3.0" + "@graphql-inspector/git-loader" "3.3.0" + "@graphql-inspector/github-loader" "3.3.0" + "@graphql-inspector/graphql-loader" "3.3.0" + "@graphql-inspector/introspect-command" "3.3.0" + "@graphql-inspector/json-loader" "3.3.0" + "@graphql-inspector/loaders" "3.3.0" + "@graphql-inspector/serve-command" "3.3.0" + "@graphql-inspector/similar-command" "3.3.0" + "@graphql-inspector/url-loader" "3.3.0" + "@graphql-inspector/validate-command" "3.3.0" + tslib "^2.0.0" + yargs "17.2.1" + +"@graphql-inspector/code-loader@3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@graphql-inspector/code-loader/-/code-loader-3.3.0.tgz#14a9bb3f422791344ce0a4806f22f75d27594895" + integrity sha512-QrG3jwjpU33t2IhRNkFI2py5CxCFtj1inNRlwTzdSk4ApSnH8PaSc0O2MLRSuKaXpBiaEeeJO7iCErYioBSuTQ== + dependencies: + "@graphql-tools/code-file-loader" "^7.2.2" + tslib "^2.0.0" + +"@graphql-inspector/commands@3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@graphql-inspector/commands/-/commands-3.3.0.tgz#3e39b74556293de0682b6d1deccecf1290624537" + integrity sha512-jwLzDPnOiIGgttpIjUqpg4CtIIFfK6r7NyWm/No2pNofL5XHIB+6IC7kqRVXbMZyXTp49nrh/doZA5mvdPkWdA== + dependencies: + tslib "^2.0.0" + +"@graphql-inspector/core@3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@graphql-inspector/core/-/core-3.3.0.tgz#3982909cec46a5b3050a8265569503f20a3b5742" + integrity sha512-LRtk9sHgj9qqVPIkkThAVq3iZ7QxgHCx6elEwd0eesZBCmaIYQxD/BFu+VT8jr10YfOURBZuAnVdyGu64vYpBg== + dependencies: + dependency-graph "0.11.0" + object-inspect "1.10.3" + tslib "^2.0.0" + +"@graphql-inspector/coverage-command@3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@graphql-inspector/coverage-command/-/coverage-command-3.3.0.tgz#8038b9fca4e4b26f840036e6139859376dd249b5" + integrity sha512-zaELKUl5SDiDSXGluCHJ/vQ8+Iojir+qmNrYIA7kOkZv9Z+WspOjLXt/lApklLjhoVMaErObHSgwac3VHVnTIg== + dependencies: + "@graphql-inspector/commands" "3.3.0" + "@graphql-inspector/core" "3.3.0" + "@graphql-inspector/logger" "3.3.0" + tslib "^2.0.0" + +"@graphql-inspector/diff-command@3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@graphql-inspector/diff-command/-/diff-command-3.3.0.tgz#ca111eb116316aebe5e2506ad8ac263d6f033990" + integrity sha512-Ju9lMehOWLx79oAy3lQNl9cdOVwOf917PUkk1+t+gpOnx1jQqQ9Je87/TASl44gsOQg8a7nQ9iYRO56/3wCRaA== + dependencies: + "@graphql-inspector/commands" "3.3.0" + "@graphql-inspector/core" "3.3.0" + "@graphql-inspector/logger" "3.3.0" + tslib "^2.0.0" + +"@graphql-inspector/docs-command@3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@graphql-inspector/docs-command/-/docs-command-3.3.0.tgz#137767731131101974c367dee119c9bd4f3b8068" + integrity sha512-gxXtxpbTLTjuQ+LSvCFltcf3/HpAIqfXr7YNzN4bGaws81DCM96S5hPCIATe0w2GTzHaPp5hRx9tRsI4Dt8wEA== + dependencies: + "@graphql-inspector/commands" "3.3.0" + open "8.2.1" + tslib "^2.0.0" + +"@graphql-inspector/git-loader@3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@graphql-inspector/git-loader/-/git-loader-3.3.0.tgz#bff50caf9e6debedc1e3df2bdf032bb8f2a5cf79" + integrity sha512-jSw08/0jvrI0ue92BMot2ZY8SeNIkuXinHUl67al0OIUUr+O6ZpNgf5POyEDZkbDj3t7dwQcgAP1kS3rUd2Z7w== + dependencies: + "@graphql-tools/git-loader" "^7.1.2" + tslib "^2.0.0" + +"@graphql-inspector/github-loader@3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@graphql-inspector/github-loader/-/github-loader-3.3.0.tgz#3160d8659ce5a438b5020022e4a13953392920ff" + integrity sha512-EgFZARLe5ChbBHeFPOBq3ApMDIQRqq8+WtSc6Jjn3L6E8rP5MlCdiUi5JHZpYiSh2Z8uj+6M+jq9A4Kj8aoMow== + dependencies: + "@graphql-tools/github-loader" "^7.1.1" + tslib "^2.0.0" + +"@graphql-inspector/graphql-loader@3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@graphql-inspector/graphql-loader/-/graphql-loader-3.3.0.tgz#df63180918c48fc00b0108eb9ec89c050109ea80" + integrity sha512-hYTbtP53Vzmnb2Il40GOWLIXLaPB1myfVvkOG2J6cTVywDpv+89YCwvDWH/25LiJPvZNU1xgE9iA4A/yceD+BQ== + dependencies: + "@graphql-tools/graphql-file-loader" "^7.3.2" + tslib "^2.0.0" + +"@graphql-inspector/introspect-command@3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@graphql-inspector/introspect-command/-/introspect-command-3.3.0.tgz#8f17381d54ee5c101b3c20572daecc206e8d8ae9" + integrity sha512-kgTPw8ESRFXKcH3aPJhIjHXywOimX6mqS5x1uY4fohthYbRuLYFAw1lTLXXzGza+KpXvkue32y/gaGnXDIn6CA== + dependencies: + "@graphql-inspector/commands" "3.3.0" + "@graphql-inspector/core" "3.3.0" + "@graphql-inspector/logger" "3.3.0" + tslib "^2.0.0" + +"@graphql-inspector/json-loader@3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@graphql-inspector/json-loader/-/json-loader-3.3.0.tgz#83e901f325302b33b473d4919f9a346b47335916" + integrity sha512-AF33c3v+DQKQDZ7siuqUINTXojW1Udd2OePVzqczSkE218qxX1Glvu0ugjmlIeqm9/GHKMSMLo1Mkcze9yeF3A== + dependencies: + "@graphql-tools/json-file-loader" "^7.3.2" + tslib "^2.0.0" + +"@graphql-inspector/loaders@3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@graphql-inspector/loaders/-/loaders-3.3.0.tgz#a77f4a4142538a3d1251b790ab8e8f512c3baecf" + integrity sha512-t0FRxNwjZOnNRf8w6R5GVLw9VZ991tVM8LeWDV4U9q5T2Nf/DXHkZk2PtM4mQ6pGz7k2/dl4tUw2LspnPVSUJw== + dependencies: + "@graphql-tools/load" "^7.4.1" + tslib "^2.0.0" + +"@graphql-inspector/logger@3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@graphql-inspector/logger/-/logger-3.3.0.tgz#2d44048df211ca302f39b94273a4124ab62a5cad" + integrity sha512-myyIrPDQYAvXZt/apyG8JERKqsYEn1gTGgU+sdTjPyAPqZ4DcHOyoQH4OPHu2f393pOQNNjET4jO7lBhfON3iA== + dependencies: + chalk "4.1.2" + figures "3.2.0" + log-symbols "^4.1.0" + std-env "2.3.0" + tslib "^2.0.0" + +"@graphql-inspector/serve-command@3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@graphql-inspector/serve-command/-/serve-command-3.3.0.tgz#4ec08a480e17c136b79e9792f7b175c3647db51f" + integrity sha512-QymPwIRpcM35QnZok6eFDUn7hGnb99ydeUh+4TgCQ/3eHVtDa+qesRQc28MgrijYCXqIyaOsImVzuyZXjgw4LQ== + dependencies: + "@graphql-inspector/commands" "3.3.0" + "@graphql-inspector/logger" "3.3.0" + "@graphql-yoga/node" "2.0.0" + open "8.2.1" + tslib "^2.0.0" + +"@graphql-inspector/similar-command@3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@graphql-inspector/similar-command/-/similar-command-3.3.0.tgz#1623effe417cbf845ffa7b660fca0ce2cd331e6f" + integrity sha512-TEJpTzLPB0ZshQGbFM7JMjXukDhEwJf5y8EoPWTgxvj8t0rMVeZz5d1PYhDBnM25bI/y+HDssnyanp9wBD8UDg== + dependencies: + "@graphql-inspector/commands" "3.3.0" + "@graphql-inspector/core" "3.3.0" + "@graphql-inspector/logger" "3.3.0" + tslib "^2.0.0" + +"@graphql-inspector/url-loader@3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@graphql-inspector/url-loader/-/url-loader-3.3.0.tgz#9a324ee8be1b68af50e5acbaea574297f4644644" + integrity sha512-JIGo+EbmYRfgcm8gT+UmxxGJDI/VK1un9cPRv2T/T8s5vZN0mn1WUD9q6YLE/De73HXHvJbYrcuqD4x29rH9Cg== + dependencies: + "@graphql-tools/url-loader" "^7.4.2" + tslib "^2.0.0" + +"@graphql-inspector/validate-command@3.3.0", "@graphql-inspector/validate-command@^3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@graphql-inspector/validate-command/-/validate-command-3.3.0.tgz#c70e42579f4980ad4754fa550b922e1435ba7563" + integrity sha512-fcEMXtpshUAQTsMfdqy5OFf9rb8/Lj3OhSMq2ipuNIyrz2yIaTyu8Lb2GAcdJm2Ykspt/tlC/hShK7q7Pro/qg== + dependencies: + "@graphql-inspector/commands" "3.3.0" + "@graphql-inspector/core" "3.3.0" + "@graphql-inspector/logger" "3.3.0" + tslib "^2.0.0" + +"@graphql-tools/apollo-engine-loader@^7.3.6": + version "7.3.10" + resolved "https://registry.yarnpkg.com/@graphql-tools/apollo-engine-loader/-/apollo-engine-loader-7.3.10.tgz#57790bcb1696e551e266f90443092048c12e95d8" + integrity sha512-JqUqKBo/DsZA7QxaJIV3mho0j3xAcxG/InIvAn39zqfzUEt3DO4l1VEKwqqNLXgWstmhHaW6tY64EDE+txtFEg== + dependencies: + "@ardatan/sync-fetch" "0.0.1" + "@graphql-tools/utils" "8.10.1" + "@whatwg-node/fetch" "^0.3.0" + tslib "^2.4.0" + +"@graphql-tools/batch-execute@8.5.4": + version "8.5.4" + resolved "https://registry.yarnpkg.com/@graphql-tools/batch-execute/-/batch-execute-8.5.4.tgz#a9a577d346c707b0878fae32337b47072a03c479" + integrity sha512-PzFRyCTVao2AGiXx971f3TWJQro7xhtSi3gDTWiMC8aOMiT/FEHcYpNymwc52JJ2ZN6EiiLV/e2acO4qHb64uw== + dependencies: + "@graphql-tools/utils" "8.10.1" + dataloader "2.1.0" + tslib "^2.4.0" + value-or-promise "1.0.11" + +"@graphql-tools/code-file-loader@^7.2.2", "@graphql-tools/code-file-loader@^7.3.1": + version "7.3.4" + resolved "https://registry.yarnpkg.com/@graphql-tools/code-file-loader/-/code-file-loader-7.3.4.tgz#8fee66b72cb77fa4b3ae145df74a9f5c8739c063" + integrity sha512-t8AKQQPfThNv61PouxKmWVIbsdHh0Ek93stgKqLsG4S8fNfRKtUBYX0oqIWoikeccnHXExkDxwbLBBf9H+SLWA== + dependencies: + "@graphql-tools/graphql-tag-pluck" "7.3.4" + "@graphql-tools/utils" "8.10.1" + globby "^11.0.3" + tslib "^2.4.0" + unixify "^1.0.0" + +"@graphql-tools/delegate@9.0.4": + version "9.0.4" + resolved "https://registry.yarnpkg.com/@graphql-tools/delegate/-/delegate-9.0.4.tgz#b9cf81a431c097a4377fe6d8921a6754308e5d87" + integrity sha512-W58ZHBR7Rawxa/FqyezdcCyj21f15sid7IaAFon7PRIIaIFJMIZrodKeaclTd34skGguLvuloeYIny6vXNA3tg== + dependencies: + "@graphql-tools/batch-execute" "8.5.4" + "@graphql-tools/schema" "9.0.2" + "@graphql-tools/utils" "8.10.1" + dataloader "2.1.0" + tslib "~2.4.0" + value-or-promise "1.0.11" + +"@graphql-tools/git-loader@^7.1.2", "@graphql-tools/git-loader@^7.2.1": + version "7.2.4" + resolved "https://registry.yarnpkg.com/@graphql-tools/git-loader/-/git-loader-7.2.4.tgz#b0b14516608d2f5f81acfd4c9a0645223991240a" + integrity sha512-2xdJh9eVGDfTuBnHwAJHJKFBZeP4k0WKYTydhA0ZMWGPkfWdig3iEmvf78rUwCS+7TcToANeHhR7y3rkVhNVPg== + dependencies: + "@graphql-tools/graphql-tag-pluck" "7.3.4" + "@graphql-tools/utils" "8.10.1" + is-glob "4.0.3" + micromatch "^4.0.4" + tslib "^2.4.0" + unixify "^1.0.0" + +"@graphql-tools/github-loader@^7.1.1", "@graphql-tools/github-loader@^7.3.6": + version "7.3.10" + resolved "https://registry.yarnpkg.com/@graphql-tools/github-loader/-/github-loader-7.3.10.tgz#5d4a768257c5872cf9b1b8740bbfd862efb8415f" + integrity sha512-gtMzkRZwwg8HGNe5OPzVc6K6fF8oyf1y6m6SIdnj0d80qVdjXQOG/5answlb27zKc/rCDPv+KKnpXtbKXs4tHg== + dependencies: + "@ardatan/sync-fetch" "0.0.1" + "@graphql-tools/graphql-tag-pluck" "7.3.4" + "@graphql-tools/utils" "8.10.1" + "@whatwg-node/fetch" "^0.3.0" + tslib "^2.4.0" + +"@graphql-tools/graphql-file-loader@^7.3.2", "@graphql-tools/graphql-file-loader@^7.3.7", "@graphql-tools/graphql-file-loader@^7.5.0": + version "7.5.3" + resolved "https://registry.yarnpkg.com/@graphql-tools/graphql-file-loader/-/graphql-file-loader-7.5.3.tgz#83f874d7ea9e0c1a6fa9c7ea377df9662183fb59" + integrity sha512-KM2Rg5jWCYH91Vfc3L9bWk0uW7JDeC9+QUTaqY+yUQbjT3RckYOdjPdiLtNMgkJA8r432RM5/Ns/gO8QScOkmQ== + dependencies: + "@graphql-tools/import" "6.7.4" + "@graphql-tools/utils" "8.10.1" + globby "^11.0.3" + tslib "^2.4.0" + unixify "^1.0.0" + +"@graphql-tools/graphql-tag-pluck@7.3.4": + version "7.3.4" + resolved "https://registry.yarnpkg.com/@graphql-tools/graphql-tag-pluck/-/graphql-tag-pluck-7.3.4.tgz#211fd645fcd9e5a0f994aa440d6c495ed88770ea" + integrity sha512-vPCUuxUV+/vK2hDidzWvaqgGifQriwmDJUUlp5Js1CEIUKm3dFI4V1bCos2r25lQ6NbH9WSJt2cZTACnaH939g== + dependencies: + "@babel/parser" "^7.16.8" + "@babel/traverse" "^7.16.8" + "@babel/types" "^7.16.8" + "@graphql-tools/utils" "8.10.1" + tslib "^2.4.0" + +"@graphql-tools/import@6.7.4": + version "6.7.4" + resolved "https://registry.yarnpkg.com/@graphql-tools/import/-/import-6.7.4.tgz#7ad77a543d770dffea327078fe91986ab1cec7d7" + integrity sha512-fUlX+pVF2X6IiRFE9vUb8/Qiwm2WHadSN5i3YHjtFJ71nUyMeyfbcd6xYAHEpR1mwRCC+8US+JsMlo/KxT4TEA== + dependencies: + "@graphql-tools/utils" "8.10.1" + resolve-from "5.0.0" + tslib "^2.4.0" + +"@graphql-tools/json-file-loader@^7.3.2", "@graphql-tools/json-file-loader@^7.3.7", "@graphql-tools/json-file-loader@^7.4.1": + version "7.4.4" + resolved "https://registry.yarnpkg.com/@graphql-tools/json-file-loader/-/json-file-loader-7.4.4.tgz#834e730c23619732404a3834d8248316038c51cc" + integrity sha512-hQP3+S+59sJQXvP4FW0IUMAVWZtGhHcssoS44tn/fNGJgFeaeRSoDPi2om/NL3RhsgAaQYU8xbscGp2sOwIdFg== + dependencies: + "@graphql-tools/utils" "8.10.1" + globby "^11.0.3" + tslib "^2.4.0" + unixify "^1.0.0" + +"@graphql-tools/load@^7.4.1", "@graphql-tools/load@^7.5.5", "@graphql-tools/load@^7.7.1": + version "7.7.5" + resolved "https://registry.yarnpkg.com/@graphql-tools/load/-/load-7.7.5.tgz#a3e3115f98186911f6867523ca5301b6680dfa90" + integrity sha512-7AnT87hNG37gE8677D9/1P6yaRLKCxi52Ipr1YFN3vSIIARA692nv5/k9PkksHVmJitbvjPu4BxvnVcDOMtMSw== + dependencies: + "@graphql-tools/schema" "9.0.2" + "@graphql-tools/utils" "8.10.1" + p-limit "3.1.0" + tslib "^2.4.0" + +"@graphql-tools/merge@8.3.1": + version "8.3.1" + resolved "https://registry.yarnpkg.com/@graphql-tools/merge/-/merge-8.3.1.tgz#06121942ad28982a14635dbc87b5d488a041d722" + integrity sha512-BMm99mqdNZbEYeTPK3it9r9S6rsZsQKtlqJsSBknAclXq2pGEfOxjcIZi+kBSkHZKPKCRrYDd5vY0+rUmIHVLg== + dependencies: + "@graphql-tools/utils" "8.9.0" + tslib "^2.4.0" + +"@graphql-tools/merge@8.3.4", "@graphql-tools/merge@^8.2.6": + version "8.3.4" + resolved "https://registry.yarnpkg.com/@graphql-tools/merge/-/merge-8.3.4.tgz#749f710d3a930512e6ca36e3bb053c12e22ef332" + integrity sha512-2z1UpHvvI52nQZIYArU+rPq1lOENWetsdb+6vu8yLGyCRP4CpKMBvtmiHkbrlPBO8dItpZ08szXEoaStfJHBxQ== + dependencies: + "@graphql-tools/utils" "8.10.1" + tslib "^2.4.0" + +"@graphql-tools/optimize@^1.3.0": + version "1.3.1" + resolved "https://registry.yarnpkg.com/@graphql-tools/optimize/-/optimize-1.3.1.tgz#29407991478dbbedc3e7deb8c44f46acb4e9278b" + integrity sha512-5j5CZSRGWVobt4bgRRg7zhjPiSimk+/zIuColih8E8DxuFOaJ+t0qu7eZS5KXWBkjcd4BPNuhUPpNlEmHPqVRQ== + dependencies: + tslib "^2.4.0" + +"@graphql-tools/prisma-loader@^7.2.7": + version "7.2.16" + resolved "https://registry.yarnpkg.com/@graphql-tools/prisma-loader/-/prisma-loader-7.2.16.tgz#f87175ee86794816727748e06b64ca9a76d0a0da" + integrity sha512-F49OXWZuTQAYaa5t6u1TQEMO/pkrH+76Ek/UOtzusKzjKTCIgkoZj97dOYZ3uTqR9XRt1bw6cqojnH7u9lAExg== + dependencies: + "@graphql-tools/url-loader" "7.14.1" + "@graphql-tools/utils" "8.10.1" + "@types/js-yaml" "^4.0.0" + "@types/json-stable-stringify" "^1.0.32" + "@types/jsonwebtoken" "^8.5.0" + chalk "^4.1.0" + debug "^4.3.1" + dotenv "^16.0.0" + graphql-request "^4.0.0" + http-proxy-agent "^5.0.0" + https-proxy-agent "^5.0.0" + isomorphic-fetch "^3.0.0" + js-yaml "^4.0.0" + json-stable-stringify "^1.0.1" + jsonwebtoken "^8.5.1" + lodash "^4.17.20" + scuid "^1.1.0" + tslib "^2.4.0" + yaml-ast-parser "^0.0.43" + +"@graphql-tools/relay-operation-optimizer@^6.5.0": + version "6.5.4" + resolved "https://registry.yarnpkg.com/@graphql-tools/relay-operation-optimizer/-/relay-operation-optimizer-6.5.4.tgz#0667e4fd62bccc8e5966784ae6a61c3f538eca4b" + integrity sha512-1epuPdtz14233EjrWs4n2UQxoqRHhb6OKIltiJvNR1L/67ZtB02RxESV2PFGqGphdBUZHL7zKdBIUGIaF8sJ5g== + dependencies: + "@ardatan/relay-compiler" "12.0.0" + "@graphql-tools/utils" "8.10.1" + tslib "^2.4.0" + +"@graphql-tools/schema@9.0.2", "@graphql-tools/schema@^9.0.0": + version "9.0.2" + resolved "https://registry.yarnpkg.com/@graphql-tools/schema/-/schema-9.0.2.tgz#f00dcd2600c25a2e8d69e3a4ab279ea150aab0c4" + integrity sha512-FnBM1PMKQ6y8KlzeFocnEwcGA/IT++z4v+hvvwwXL+IUYDNqmrp9XYNklpQRb/KKSbTtKnQapCWNiVNex7jl+Q== + dependencies: + "@graphql-tools/merge" "8.3.4" + "@graphql-tools/utils" "8.10.1" + tslib "^2.4.0" + value-or-promise "1.0.11" + +"@graphql-tools/schema@^8.3.1": + version "8.5.1" + resolved "https://registry.yarnpkg.com/@graphql-tools/schema/-/schema-8.5.1.tgz#c2f2ff1448380919a330312399c9471db2580b58" + integrity sha512-0Esilsh0P/qYcB5DKQpiKeQs/jevzIadNTaT0jeWklPMwNbT7yMX4EqZany7mbeRRlSRwMzNzL5olyFdffHBZg== + dependencies: + "@graphql-tools/merge" "8.3.1" + "@graphql-tools/utils" "8.9.0" + tslib "^2.4.0" + value-or-promise "1.0.11" + +"@graphql-tools/url-loader@7.14.1", "@graphql-tools/url-loader@^7.13.2", "@graphql-tools/url-loader@^7.4.2", "@graphql-tools/url-loader@^7.9.7": + version "7.14.1" + resolved "https://registry.yarnpkg.com/@graphql-tools/url-loader/-/url-loader-7.14.1.tgz#090558c47f801f0ab6a50bdaf01f184216700679" + integrity sha512-PMxPjzPDkKc1hg8CiTnxchz7pbxbiH4riDk9822eDJLye7SBHzRTeBkJTrytDAQDvtRcDaDvoLugVUStluCuzQ== + dependencies: + "@ardatan/sync-fetch" "0.0.1" + "@graphql-tools/delegate" "9.0.4" + "@graphql-tools/utils" "8.10.1" + "@graphql-tools/wrap" "9.0.5" + "@n1ru4l/graphql-live-query" "^0.10.0" + "@types/ws" "^8.0.0" + "@whatwg-node/fetch" "^0.3.0" + dset "^3.1.2" + extract-files "^11.0.0" + graphql-ws "^5.4.1" + isomorphic-ws "^5.0.0" + meros "^1.1.4" + tslib "^2.4.0" + value-or-promise "^1.0.11" + ws "^8.3.0" + +"@graphql-tools/utils@8.10.1", "@graphql-tools/utils@^8.6.0", "@graphql-tools/utils@^8.6.5", "@graphql-tools/utils@^8.8.0", "@graphql-tools/utils@^8.9.0": + version "8.10.1" + resolved "https://registry.yarnpkg.com/@graphql-tools/utils/-/utils-8.10.1.tgz#3224fe0611c9bb51e6a5c16472ae17afbd6c5465" + integrity sha512-UYi/afPvxZ8mz0LjplMxOSmGDPenVS/Q0zJ/6LOyF9yZdJYIDe+J+Qr/I9+rCYQmgBW4BJeRUUc7VoUzZPfZDA== + dependencies: + tslib "^2.4.0" + +"@graphql-tools/utils@8.9.0": + version "8.9.0" + resolved "https://registry.yarnpkg.com/@graphql-tools/utils/-/utils-8.9.0.tgz#c6aa5f651c9c99e1aca55510af21b56ec296cdb7" + integrity sha512-pjJIWH0XOVnYGXCqej8g/u/tsfV4LvLlj0eATKQu5zwnxd/TiTHq7Cg313qUPTFFHZ3PP5wJ15chYVtLDwaymg== + dependencies: + tslib "^2.4.0" + +"@graphql-tools/wrap@9.0.5": + version "9.0.5" + resolved "https://registry.yarnpkg.com/@graphql-tools/wrap/-/wrap-9.0.5.tgz#7dfd0ad15659fc527a6a1eaa8c4a0fc479916bfb" + integrity sha512-EkPBEHV4547Tjrbea6Oz/eCtTgJo8unNUB7BiYDPWb1XcRUg9wIgy7JgfKO3KR/NgVBsh2Zu1107zeYhAvOuQw== + dependencies: + "@graphql-tools/delegate" "9.0.4" + "@graphql-tools/schema" "9.0.2" + "@graphql-tools/utils" "8.10.1" + tslib "^2.4.0" + value-or-promise "1.0.11" + "@graphql-typed-document-node/core@^3.1.1": version "3.1.1" resolved "https://registry.yarnpkg.com/@graphql-typed-document-node/core/-/core-3.1.1.tgz#076d78ce99822258cf813ecc1e7fa460fa74d052" integrity sha512-NQ17ii0rK1b34VZonlmT2QMJFI70m0TRwbknO/ihlbatXyaktDhN/98vBiUU6kNBPljqGqyIrl2T4nY2RpFANg== +"@graphql-yoga/common@2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@graphql-yoga/common/-/common-2.0.0.tgz#b36563021b81bbe0a2b686ff82290a9ad792c997" + integrity sha512-nSENt7yANcnAIHdjTWOeTz4feXnGkgiShUU9MzukFbETWL7pwaK6fjgghUCDVuL2axm155Z3lAhG4sLA4MgvlQ== + dependencies: + "@envelop/core" "^2.0.0" + "@envelop/disable-introspection" "^3.0.0" + "@envelop/parser-cache" "^4.0.0" + "@envelop/validation-cache" "^4.0.0" + "@graphql-tools/schema" "^8.3.1" + "@graphql-tools/utils" "^8.6.0" + "@graphql-typed-document-node/core" "^3.1.1" + "@graphql-yoga/render-graphiql" "2.0.0" + "@graphql-yoga/subscription" "2.0.0" + chalk "4.1.2" + cross-undici-fetch "^0.1.25" + dset "^3.1.1" + tslib "^2.3.1" + +"@graphql-yoga/node@2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@graphql-yoga/node/-/node-2.0.0.tgz#c643ceec04feb991c096df89ade8ddd14125fed2" + integrity sha512-fjKHT8UR1DcOgvUfrnVhM7Ggj5vnxVUwlUbkY7NZC8vZiXfVbA9UfLYUYl+hXFmOCDK+S19kszLp7rw0s0LdWg== + dependencies: + "@envelop/core" "^2.0.0" + "@graphql-tools/utils" "^8.6.0" + "@graphql-yoga/common" "2.0.0" + "@graphql-yoga/subscription" "2.0.0" + cross-undici-fetch "^0.1.25" + tslib "^2.3.1" + +"@graphql-yoga/render-graphiql@2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@graphql-yoga/render-graphiql/-/render-graphiql-2.0.0.tgz#662df90bd4af0a996be6d9a743fabed6b0497e9d" + integrity sha512-GZuZPCVBpYI0MwaE6nBtrzMoSFyBtiWOUm7i9jbRxu5Sqxuj3Zc0zTaD7V0UQzuPZKzytmMWq2+nbWPIu5FWtg== + +"@graphql-yoga/subscription@2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@graphql-yoga/subscription/-/subscription-2.0.0.tgz#8c6d3d78b2938a554efced7fd6c80cfaa80f7b8f" + integrity sha512-HlG+gIddjIP3/BDrMZymdzmzDjNdYuSGMxx6+1JA83gAEVRDR4yOoT4QeNKYqRhLK9xca/Hxp1PfBpquSa244Q== + dependencies: + "@repeaterjs/repeater" "^3.0.4" + tslib "^2.3.1" + "@humanwhocodes/config-array@^0.9.2": version "0.9.5" resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.9.5.tgz#2cbaf9a89460da24b5ca6531b8bbfc23e1df50c7" @@ -2069,6 +2735,11 @@ resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45" integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== +"@iarna/toml@^2.2.5": + version "2.2.5" + resolved "https://registry.yarnpkg.com/@iarna/toml/-/toml-2.2.5.tgz#b32366c89b43c6f8cefbdefac778b9c828e3ba8c" + integrity sha512-trnsAYxU3xnS1gPHPyU961coFyLkh4gAD/0zQ5mymY4yOZ+CYvsPqUbOFSw0aDM4y0tV7tiFxL/1XfXPNC6IPg== + "@istanbuljs/load-nyc-config@^1.0.0": version "1.1.0" resolved "https://registry.yarnpkg.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz#fd3db1d59ecf7cf121e80650bb86712f9b55eced" @@ -2458,6 +3129,11 @@ call-me-maybe "^1.0.1" glob-to-regexp "^0.3.0" +"@n1ru4l/graphql-live-query@^0.10.0": + version "0.10.0" + resolved "https://registry.yarnpkg.com/@n1ru4l/graphql-live-query/-/graphql-live-query-0.10.0.tgz#2306151630b0e74b017cc1067ebbea351acf56f8" + integrity sha512-qZ7OHH/NB0NcG/Xa7irzgjE63UH0CkofZT0Bw4Ko6iRFagPRHBM8RgFXwTt/6JbFGIEUS4STRtaFoc/Eq/ZtzQ== + "@next/env@12.2.3": version "12.2.3" resolved "https://registry.yarnpkg.com/@next/env/-/env-12.2.3.tgz#64f210e74c137d3d9feea738795b055a7f8aebe2" @@ -3090,6 +3766,33 @@ node-addon-api "^3.2.1" node-gyp-build "^4.3.0" +"@peculiar/asn1-schema@^2.1.6": + version "2.3.0" + resolved "https://registry.yarnpkg.com/@peculiar/asn1-schema/-/asn1-schema-2.3.0.tgz#5368416eb336138770c692ffc2bab119ee3ae917" + integrity sha512-DtNLAG4vmDrdSJFPe7rypkcj597chNQL7u+2dBtYo5mh7VW2+im6ke+O0NVr8W1f4re4C3F71LhoMb0Yxqa48Q== + dependencies: + asn1js "^3.0.5" + pvtsutils "^1.3.2" + tslib "^2.4.0" + +"@peculiar/json-schema@^1.1.12": + version "1.1.12" + resolved "https://registry.yarnpkg.com/@peculiar/json-schema/-/json-schema-1.1.12.tgz#fe61e85259e3b5ba5ad566cb62ca75b3d3cd5339" + integrity sha512-coUfuoMeIB7B8/NMekxaDzLhaYmp0HZNPEjYRm9goRou8UZIC3z21s0sL9AWoCw4EG876QyO3kYrc61WNF9B/w== + dependencies: + tslib "^2.0.0" + +"@peculiar/webcrypto@^1.4.0": + version "1.4.0" + resolved "https://registry.yarnpkg.com/@peculiar/webcrypto/-/webcrypto-1.4.0.tgz#f941bd95285a0f8a3d2af39ccda5197b80cd32bf" + integrity sha512-U58N44b2m3OuTgpmKgf0LPDOmP3bhwNz01vAnj1mBwxBASRhptWYK+M3zG+HBkDqGQM+bFsoIihTW8MdmPXEqg== + dependencies: + "@peculiar/asn1-schema" "^2.1.6" + "@peculiar/json-schema" "^1.1.12" + pvtsutils "^1.3.2" + tslib "^2.4.0" + webcrypto-core "^1.7.4" + "@pedrouid/environment@^1.0.1": version "1.0.1" resolved "https://registry.yarnpkg.com/@pedrouid/environment/-/environment-1.0.1.tgz#858f0f8a057340e0b250398b75ead77d6f4342ec" @@ -3810,6 +4513,11 @@ dependencies: "@babel/runtime" "^7.13.10" +"@repeaterjs/repeater@^3.0.4": + version "3.0.4" + resolved "https://registry.yarnpkg.com/@repeaterjs/repeater/-/repeater-3.0.4.tgz#a04d63f4d1bf5540a41b01a921c9a7fddc3bd1ca" + integrity sha512-AW8PKd6iX3vAZ0vA43nOUOnbq/X5ihgU+mSXXqunMkeQADGiqw/PY0JNeYtD5sr0PAy51YPgAPbDoeapv9r8WA== + "@rollup/plugin-babel@^5.3.0": version "5.3.1" resolved "https://registry.yarnpkg.com/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz#04bc0608f4aa4b2e4b1aebf284344d0f68fda283" @@ -5208,6 +5916,11 @@ resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-1.1.2.tgz#ccb91445360179a04e7fe6aff78c00ffc1eeaf82" integrity sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw== +"@tootallnate/once@2": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-2.0.0.tgz#f544a148d3ab35801c1f633a7441fd87c2e484bf" + integrity sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A== + "@trysound/sax@0.2.0": version "0.2.0" resolved "https://registry.yarnpkg.com/@trysound/sax/-/sax-0.2.0.tgz#cccaab758af56761eb7bf37af6f03f326dd798ad" @@ -5560,16 +6273,33 @@ jest-matcher-utils "^27.0.0" pretty-format "^27.0.0" +"@types/js-yaml@^4.0.0": + version "4.0.5" + resolved "https://registry.yarnpkg.com/@types/js-yaml/-/js-yaml-4.0.5.tgz#738dd390a6ecc5442f35e7f03fa1431353f7e138" + integrity sha512-FhpRzf927MNQdRZP0J5DLIdTXhjLYzeUTmLAu69mnVksLH9CJY3IuSeEgbKUki7GQZm0WqDkGzyxju2EZGD2wA== + "@types/json-schema@*", "@types/json-schema@^7.0.4", "@types/json-schema@^7.0.5", "@types/json-schema@^7.0.8", "@types/json-schema@^7.0.9": version "7.0.11" resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.11.tgz#d421b6c527a3037f7c84433fd2c4229e016863d3" integrity sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ== +"@types/json-stable-stringify@^1.0.32": + version "1.0.34" + resolved "https://registry.yarnpkg.com/@types/json-stable-stringify/-/json-stable-stringify-1.0.34.tgz#c0fb25e4d957e0ee2e497c1f553d7f8bb668fd75" + integrity sha512-s2cfwagOQAS8o06TcwKfr9Wx11dNGbH2E9vJz1cqV+a/LOyhWNLUNd6JSRYNzvB4d29UuJX2M0Dj9vE1T8fRXw== + "@types/json5@^0.0.29": version "0.0.29" resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" integrity sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ== +"@types/jsonwebtoken@^8.5.0": + version "8.5.9" + resolved "https://registry.yarnpkg.com/@types/jsonwebtoken/-/jsonwebtoken-8.5.9.tgz#2c064ecb0b3128d837d2764aa0b117b0ff6e4586" + integrity sha512-272FMnFGzAVMGtu9tkr29hRL6bZj4Zs1KZNeHLnKqAvp06tAIcarTMwOh8/8bz4FmKRcMxZhZNeUAQsNLoiPhg== + dependencies: + "@types/node" "*" + "@types/lodash@^4.14.167", "@types/lodash@^4.14.168", "@types/lodash@^4.14.171": version "4.14.184" resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.184.tgz#23f96cd2a21a28e106dc24d825d4aa966de7a9fe" @@ -5872,7 +6602,7 @@ anymatch "^3.0.0" source-map "^0.6.0" -"@types/ws@^8.5.1": +"@types/ws@^8.0.0", "@types/ws@^8.5.1": version "8.5.3" resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.5.3.tgz#7d25a1ffbecd3c4f2d35068d0b283c037003274d" integrity sha512-6YOoWjruKj1uLf3INHH7D3qTXwFfEsg1kf3c0uDdSBJwfa/llkwIjrAGV7j7mVgGNbzTQ3HiHKKDXl6bJPD97w== @@ -6548,6 +7278,21 @@ "@webassemblyjs/wast-parser" "1.9.0" "@xtuc/long" "4.2.2" +"@whatwg-node/fetch@^0.3.0": + version "0.3.2" + resolved "https://registry.yarnpkg.com/@whatwg-node/fetch/-/fetch-0.3.2.tgz#da4323795c26c135563ba01d49dc16037bec4287" + integrity sha512-Bs5zAWQs0tXsLa4mRmLw7Psps1EN78vPtgcLpw3qPY8s6UYPUM67zFZ9cy+7tZ64PXhfwzxJn+m7RH2Lq48RNQ== + dependencies: + "@peculiar/webcrypto" "^1.4.0" + abort-controller "^3.0.0" + busboy "^1.6.0" + event-target-polyfill "^0.0.3" + form-data-encoder "^1.7.1" + formdata-node "^4.3.1" + node-fetch "^2.6.7" + undici "^5.8.0" + web-streams-polyfill "^3.2.0" + "@wry/context@^0.6.0": version "0.6.1" resolved "https://registry.yarnpkg.com/@wry/context/-/context-0.6.1.tgz#c3c29c0ad622adb00f6a53303c4f965ee06ebeb2" @@ -6608,6 +7353,13 @@ abab@^2.0.3, abab@^2.0.5: resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.6.tgz#41b80f2c871d19686216b82309231cfd3cb3d291" integrity sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA== +abort-controller@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/abort-controller/-/abort-controller-3.0.0.tgz#eaf54d53b62bae4138e809ca225c8439a6efb392" + integrity sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg== + dependencies: + event-target-shim "^5.0.0" + accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.8: version "1.3.8" resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.8.tgz#0bf0be125b67014adcb0b0921e62db7bffe16b2e" @@ -6827,7 +7579,7 @@ ansi-escapes@^3.0.0, ansi-escapes@^3.1.0: resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b" integrity sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ== -ansi-escapes@^4.2.1, ansi-escapes@^4.3.0, ansi-escapes@^4.3.2: +ansi-escapes@^4.2.1, ansi-escapes@^4.3.0, ansi-escapes@^4.3.1, ansi-escapes@^4.3.2: version "4.3.2" resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e" integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== @@ -7368,6 +8120,11 @@ arrify@^2.0.1: resolved "https://registry.yarnpkg.com/arrify/-/arrify-2.0.1.tgz#c9655e9331e0abcd588d2a7cad7e9956f66701fa" integrity sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug== +asap@~2.0.3: + version "2.0.6" + resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" + integrity sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA== + asn1.js@^5.2.0: version "5.4.1" resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-5.4.1.tgz#11a980b84ebb91781ce35b0fdc2ee294e3783f07" @@ -7385,6 +8142,15 @@ asn1@~0.2.3: dependencies: safer-buffer "~2.1.0" +asn1js@^3.0.1, asn1js@^3.0.5: + version "3.0.5" + resolved "https://registry.yarnpkg.com/asn1js/-/asn1js-3.0.5.tgz#5ea36820443dbefb51cc7f88a2ebb5b462114f38" + integrity sha512-FVnvrKJwpt9LP2lAMl8qZswRNm3T4q9CON+bxldk2iwk3FFpuwhx2FfinyitizWHsVYyaY+y5JzDR0rCMV5yTQ== + dependencies: + pvtsutils "^1.3.2" + pvutils "^1.1.3" + tslib "^2.4.0" + assert-plus@1.0.0, assert-plus@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" @@ -7473,6 +8239,11 @@ atob@^2.1.2: resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== +auto-bind@~4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/auto-bind/-/auto-bind-4.0.0.tgz#e3589fc6c2da8f7ca43ba9f84fa52a744fc997fb" + integrity sha512-Hdw8qdNiqdJ8LqT0iK0sVzkFbzg6fhnQqqfWhBDxcHZvU75+B+ayzTy8x+k5Ix0Y92XOhOUlx74ps+bA6BeYMQ== + autoprefixer@10.4.8, autoprefixer@^10.4.7: version "10.4.8" resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.8.tgz#92c7a0199e1cfb2ad5d9427bd585a3d75895b9e5" @@ -7696,6 +8467,11 @@ babel-plugin-react-docgen@^4.2.1: lodash "^4.17.15" react-docgen "^5.0.0" +babel-plugin-syntax-trailing-function-commas@^7.0.0-beta.0: + version "7.0.0-beta.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-7.0.0-beta.0.tgz#aa213c1435e2bffeb6fca842287ef534ad05d5cf" + integrity sha512-Xj9XuRuz3nTSbaTXWv3itLOcxyF4oPD8douBBmj7U9BBC6nEBYfyOJYQMf/8PJAFotC62UY5dFfIGEPr7WswzQ== + babel-plugin-transform-async-to-promises@^0.8.15: version "0.8.18" resolved "https://registry.yarnpkg.com/babel-plugin-transform-async-to-promises/-/babel-plugin-transform-async-to-promises-0.8.18.tgz#f4dc5980b8afa0fc9c784b8d931afde913413e39" @@ -7726,6 +8502,39 @@ babel-preset-current-node-syntax@^1.0.0: "@babel/plugin-syntax-optional-chaining" "^7.8.3" "@babel/plugin-syntax-top-level-await" "^7.8.3" +babel-preset-fbjs@^3.4.0: + version "3.4.0" + resolved "https://registry.yarnpkg.com/babel-preset-fbjs/-/babel-preset-fbjs-3.4.0.tgz#38a14e5a7a3b285a3f3a86552d650dca5cf6111c" + integrity sha512-9ywCsCvo1ojrw0b+XYk7aFvTH6D9064t0RIL1rtMf3nsa02Xw41MS7sZw216Im35xj/UY0PDBQsa1brUDDF1Ow== + dependencies: + "@babel/plugin-proposal-class-properties" "^7.0.0" + "@babel/plugin-proposal-object-rest-spread" "^7.0.0" + "@babel/plugin-syntax-class-properties" "^7.0.0" + "@babel/plugin-syntax-flow" "^7.0.0" + "@babel/plugin-syntax-jsx" "^7.0.0" + "@babel/plugin-syntax-object-rest-spread" "^7.0.0" + "@babel/plugin-transform-arrow-functions" "^7.0.0" + "@babel/plugin-transform-block-scoped-functions" "^7.0.0" + "@babel/plugin-transform-block-scoping" "^7.0.0" + "@babel/plugin-transform-classes" "^7.0.0" + "@babel/plugin-transform-computed-properties" "^7.0.0" + "@babel/plugin-transform-destructuring" "^7.0.0" + "@babel/plugin-transform-flow-strip-types" "^7.0.0" + "@babel/plugin-transform-for-of" "^7.0.0" + "@babel/plugin-transform-function-name" "^7.0.0" + "@babel/plugin-transform-literals" "^7.0.0" + "@babel/plugin-transform-member-expression-literals" "^7.0.0" + "@babel/plugin-transform-modules-commonjs" "^7.0.0" + "@babel/plugin-transform-object-super" "^7.0.0" + "@babel/plugin-transform-parameters" "^7.0.0" + "@babel/plugin-transform-property-literals" "^7.0.0" + "@babel/plugin-transform-react-display-name" "^7.0.0" + "@babel/plugin-transform-react-jsx" "^7.0.0" + "@babel/plugin-transform-shorthand-properties" "^7.0.0" + "@babel/plugin-transform-spread" "^7.0.0" + "@babel/plugin-transform-template-literals" "^7.0.0" + babel-plugin-syntax-trailing-function-commas "^7.0.0-beta.0" + babel-preset-jest@^27.5.1: version "27.5.1" resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-27.5.1.tgz#91f10f58034cb7989cb4f962b69fa6eef6a6bc81" @@ -7848,7 +8657,7 @@ bindings@^1.5.0: dependencies: file-uri-to-path "1.0.0" -bl@^4.0.3: +bl@^4.0.3, bl@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/bl/-/bl-4.1.0.tgz#451535264182bec2fbbc83a62ab98cf11d9f7b3a" integrity sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w== @@ -8229,6 +9038,11 @@ buffer-crc32@~0.2.3: resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242" integrity sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ== +buffer-equal-constant-time@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz#f8e71132f7ffe6e01a5c9697a4c6f3e48d5cc819" + integrity sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA== + buffer-fill@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/buffer-fill/-/buffer-fill-1.0.0.tgz#f8f78b76789888ef39f205cd637f68e702122b2c" @@ -8287,6 +9101,13 @@ builtin-status-codes@^3.0.0: resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" integrity sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ== +busboy@^1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/busboy/-/busboy-1.6.0.tgz#966ea36a9502e43cdb9146962523b92f531f6893" + integrity sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA== + dependencies: + streamsearch "^1.1.0" + byline@5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/byline/-/byline-5.0.0.tgz#741c5216468eadc457b03410118ad77de8c1ddb1" @@ -8528,7 +9349,7 @@ chalk@4.1.0: ansi-styles "^4.1.0" supports-color "^7.1.0" -chalk@4.1.2, chalk@^4.0.0, chalk@^4.0.2, chalk@^4.1.0, chalk@^4.1.2: +chalk@4.1.2, chalk@^4.0.0, chalk@^4.0.2, chalk@^4.1.0, chalk@^4.1.1, chalk@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== @@ -8564,7 +9385,23 @@ chalk@^3.0.0: ansi-styles "^4.1.0" supports-color "^7.1.0" -change-case@^4.0.0: +change-case-all@1.0.14: + version "1.0.14" + resolved "https://registry.yarnpkg.com/change-case-all/-/change-case-all-1.0.14.tgz#bac04da08ad143278d0ac3dda7eccd39280bfba1" + integrity sha512-CWVm2uT7dmSHdO/z1CXT/n47mWonyypzBbuCy5tN7uMg22BsfkhwT6oHmFCAk+gL1LOOxhdbB9SZz3J1KTY3gA== + dependencies: + change-case "^4.1.2" + is-lower-case "^2.0.2" + is-upper-case "^2.0.2" + lower-case "^2.0.2" + lower-case-first "^2.0.2" + sponge-case "^1.0.1" + swap-case "^2.0.2" + title-case "^3.0.3" + upper-case "^2.0.2" + upper-case-first "^2.0.2" + +change-case@^4.0.0, change-case@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/change-case/-/change-case-4.1.2.tgz#fedfc5f136045e2398c0410ee441f95704641e12" integrity sha512-bSxY2ws9OtviILG1EiY5K7NNxkqg/JnRnFxLtKQ96JaviiIxi7djMrSd0ECT9AC+lttClmYwKw53BWpOMblo7A== @@ -8602,6 +9439,11 @@ character-reference-invalid@^1.0.0: resolved "https://registry.yarnpkg.com/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz#083329cda0eae272ab3dbbf37e9a382c13af1560" integrity sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg== +chardet@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" + integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== + check-error@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/check-error/-/check-error-1.0.2.tgz#574d312edd88bb5dd8912e9286dd6c0aed4aac82" @@ -8627,7 +9469,7 @@ chokidar@3.5.2: optionalDependencies: fsevents "~2.3.2" -"chokidar@>=3.0.0 <4.0.0", chokidar@^3.4.0, chokidar@^3.4.1, chokidar@^3.4.2, chokidar@^3.5.1, chokidar@^3.5.3: +"chokidar@>=3.0.0 <4.0.0", chokidar@^3.4.0, chokidar@^3.4.1, chokidar@^3.4.2, chokidar@^3.5.1, chokidar@^3.5.2, chokidar@^3.5.3: version "3.5.3" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== @@ -8681,7 +9523,7 @@ ci-info@^2.0.0: resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== -ci-info@^3.2.0, ci-info@^3.3.0: +ci-info@^3.0.0, ci-info@^3.2.0, ci-info@^3.3.0: version "3.3.2" resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.3.2.tgz#6d2967ffa407466481c6c90b6e16b3098f080128" integrity sha512-xmDt/QIAdeZ9+nfdPsaBCpMvHNLFiLdjj59qjqn+6iPe6YmHGQ35sBnQ8uslRBXFmXkiZQOJRjvQeoGppoTjjg== @@ -8778,6 +9620,11 @@ cli-spinners@2.6.1: resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.6.1.tgz#adc954ebe281c37a6319bfa401e6dd2488ffb70d" integrity sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g== +cli-spinners@^2.5.0: + version "2.7.0" + resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.7.0.tgz#f815fd30b5f9eaac02db604c7a231ed7cb2f797a" + integrity sha512-qu3pN8Y3qHNgE2AFweciB1IfMnmZ/fsNTEE+NOFjmGB2F/7rLhnhzppvpCnN4FovtP26k8lHyy9ptEbNwWFLzw== + cli-table3@^0.6.1, cli-table3@~0.6.1: version "0.6.2" resolved "https://registry.yarnpkg.com/cli-table3/-/cli-table3-0.6.2.tgz#aaf5df9d8b5bf12634dc8b3040806a0c07120d2a" @@ -8849,6 +9696,11 @@ cli-ux@6.0.9: supports-hyperlinks "^2.1.0" tslib "^2.0.0" +cli-width@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-3.0.0.tgz#a2f48437a2caa9a22436e794bf071ec9e61cedf6" + integrity sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw== + cliui@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/cliui/-/cliui-5.0.0.tgz#deefcfdb2e800784aa34f46fa08e06851c7bbbc5" @@ -8858,6 +9710,15 @@ cliui@^5.0.0: strip-ansi "^5.2.0" wrap-ansi "^5.1.0" +cliui@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-6.0.0.tgz#511d702c0c4e41ca156d7d0e96021f23e13225b1" + integrity sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.0" + wrap-ansi "^6.2.0" + cliui@^7.0.2: version "7.0.4" resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" @@ -8876,6 +9737,11 @@ clone-deep@^4.0.1: kind-of "^6.0.2" shallow-clone "^3.0.0" +clone@^1.0.2: + version "1.0.4" + resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e" + integrity sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg== + co@^4.6.0: version "4.6.0" resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" @@ -9042,7 +9908,7 @@ common-path-prefix@^3.0.0: resolved "https://registry.yarnpkg.com/common-path-prefix/-/common-path-prefix-3.0.0.tgz#7d007a7e07c58c4b4d5f433131a19141b29f11e0" integrity sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w== -common-tags@^1.5.1, common-tags@^1.8.0: +common-tags@1.8.2, common-tags@^1.5.1, common-tags@^1.8.0: version "1.8.2" resolved "https://registry.yarnpkg.com/common-tags/-/common-tags-1.8.2.tgz#94ebb3c076d26032745fd54face7f688ef5ac9c6" integrity sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA== @@ -9283,6 +10149,13 @@ corser@^2.0.1: resolved "https://registry.yarnpkg.com/corser/-/corser-2.0.1.tgz#8eda252ecaab5840dcd975ceb90d9370c819ff87" integrity sha512-utCYNzRSQIZNPIcGZdQc92UVJYAhtGAteCFg0yRaFm8f0P+CPtyGyHXJcGXnffjCybUCEx3FQ2G7U3/o9eIkVQ== +cosmiconfig-toml-loader@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/cosmiconfig-toml-loader/-/cosmiconfig-toml-loader-1.0.0.tgz#0681383651cceff918177debe9084c0d3769509b" + integrity sha512-H/2gurFWVi7xXvCyvsWRLCMekl4tITJcX0QEsDMpzxtuxDyM59xLatYNg4s/k9AA/HdtCYfj2su8mgA0GSDLDA== + dependencies: + "@iarna/toml" "^2.2.5" + cosmiconfig-typescript-loader@^2.0.0: version "2.0.2" resolved "https://registry.yarnpkg.com/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-2.0.2.tgz#7e7ce6064af041c910e1e43fb0fd9625cee56e93" @@ -9291,6 +10164,22 @@ cosmiconfig-typescript-loader@^2.0.0: cosmiconfig "^7" ts-node "^10.8.1" +cosmiconfig-typescript-loader@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-4.0.0.tgz#4a6d856c1281135197346a6f64dfa73a9cd9fefa" + integrity sha512-cVpucSc2Tf+VPwCCR7SZzmQTQkPbkk4O01yXsYqXBIbjE1bhwqSyAgYQkRK1un4i0OPziTleqFhdkmOc4RQ/9g== + +cosmiconfig@7.0.1, cosmiconfig@^7, cosmiconfig@^7.0.0, cosmiconfig@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.0.1.tgz#714d756522cace867867ccb4474c5d01bbae5d6d" + integrity sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ== + dependencies: + "@types/parse-json" "^4.0.0" + import-fresh "^3.2.1" + parse-json "^5.0.0" + path-type "^4.0.0" + yaml "^1.10.0" + cosmiconfig@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-4.0.0.tgz#760391549580bbd2df1e562bc177b13c290972dc" @@ -9312,17 +10201,6 @@ cosmiconfig@^6.0.0: path-type "^4.0.0" yaml "^1.7.2" -cosmiconfig@^7, cosmiconfig@^7.0.0, cosmiconfig@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.0.1.tgz#714d756522cace867867ccb4474c5d01bbae5d6d" - integrity sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ== - dependencies: - "@types/parse-json" "^4.0.0" - import-fresh "^3.2.1" - parse-json "^5.0.0" - path-type "^4.0.0" - yaml "^1.10.0" - cp-file@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/cp-file/-/cp-file-7.0.0.tgz#b9454cfd07fe3b974ab9ea0e5f29655791a9b8cd" @@ -9384,7 +10262,7 @@ create-require@^1.1.0: resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== -cross-fetch@^3.1.4: +cross-fetch@^3.1.4, cross-fetch@^3.1.5: version "3.1.5" resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-3.1.5.tgz#e1389f44d9e7ba767907f7af8454787952ab534f" integrity sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw== @@ -9411,6 +10289,18 @@ cross-spawn@^7.0.0, cross-spawn@^7.0.2, cross-spawn@^7.0.3: shebang-command "^2.0.0" which "^2.0.1" +cross-undici-fetch@^0.1.25: + version "0.1.33" + resolved "https://registry.yarnpkg.com/cross-undici-fetch/-/cross-undici-fetch-0.1.33.tgz#17639a2ba78bce4fd332ccb44d7a039d66d072ac" + integrity sha512-2IljikrWuhEroSlidX0i/TXjL01IIQUigWC/9tq7U3C/GoQQBqc02xNIVTqoZG6nPn/P9C9YMH78A4aTLUticQ== + dependencies: + abort-controller "^3.0.0" + form-data-encoder "^1.7.1" + formdata-node "^4.3.1" + node-fetch "^2.6.7" + undici "^5.0.0" + web-streams-polyfill "^3.2.0" + crypto-browserify@^3.0.0, crypto-browserify@^3.11.0: version "3.12.0" resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec" @@ -10014,6 +10904,11 @@ data-urls@^2.0.0: whatwg-mimetype "^2.3.0" whatwg-url "^8.0.0" +dataloader@2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/dataloader/-/dataloader-2.1.0.tgz#c69c538235e85e7ac6c6c444bae8ecabf5de9df7" + integrity sha512-qTcEYLen3r7ojZNgVUaRggOI+KM7jrKxXeSHhogh/TWxYMeONEMqY+hmkobiYQozsGIyg9OYVzO4ZIfoB4I0pQ== + date-fns@^1.27.2: version "1.30.1" resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-1.30.1.tgz#2e71bf0b119153dbb4cc4e88d9ea5acfb50dc05c" @@ -10029,6 +10924,11 @@ dayjs@^1.10.4: resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.11.5.tgz#00e8cc627f231f9499c19b38af49f56dc0ac5e93" integrity sha512-CAdX5Q3YW3Gclyo5Vpqkgpj8fSdLQcRuzfX6mC6Phy0nfJ0eGYOeS7m4mt2plDWLAtA4TqTakvbboHvUxfe4iA== +debounce@^1.2.0: + version "1.2.1" + resolved "https://registry.yarnpkg.com/debounce/-/debounce-1.2.1.tgz#38881d8f4166a5c5848020c11827b834bcb3e0a5" + integrity sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug== + debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.0, debug@^2.6.9: version "2.6.9" resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" @@ -10036,7 +10936,7 @@ debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.0, debug@^2.6.9: dependencies: ms "2.0.0" -debug@4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.2, debug@^4.3.4: +debug@4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4: version "4.3.4" resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== @@ -10123,6 +11023,13 @@ default-gateway@^6.0.3: dependencies: execa "^5.0.0" +defaults@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/defaults/-/defaults-1.0.3.tgz#c656051e9817d9ff08ed881477f3fe4019f3ef7d" + integrity sha512-s82itHOnYrN0Ib8r+z7laQz3sdE+4FP3d9Q7VLO7U+KRT+CR0GsWuyHxzdAY82I7cXv0G/twrqomTJLOssO5HA== + dependencies: + clone "^1.0.2" + define-lazy-prop@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz#3f7ae421129bcaaac9bc74905c98a0009ec9ee7f" @@ -10190,6 +11097,11 @@ depd@~1.1.2: resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" integrity sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ== +dependency-graph@0.11.0, dependency-graph@^0.11.0: + version "0.11.0" + resolved "https://registry.yarnpkg.com/dependency-graph/-/dependency-graph-0.11.0.tgz#ac0ce7ed68a54da22165a85e97a01d53f5eb2e27" + integrity sha512-JeMq7fEshyepOWDfcfHK06N3MhyPhz++vtqWhMT5O9A3K42rdsEDpfdVqjaqaAhsw6a+ZqeDvQVtD0hFHQWrzg== + deps-sort@^2.0.0, deps-sort@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/deps-sort/-/deps-sort-2.0.1.tgz#9dfdc876d2bcec3386b6829ac52162cda9fa208d" @@ -10225,6 +11137,11 @@ detect-browser@5.2.0: resolved "https://registry.yarnpkg.com/detect-browser/-/detect-browser-5.2.0.tgz#c9cd5afa96a6a19fda0bbe9e9be48a6b6e1e9c97" integrity sha512-tr7XntDAu50BVENgQfajMLzacmSe34D+qZc4zjnniz0ZVuw/TZcLcyxHQjYpJTM36sGEkZZlYLnIM1hH7alTMA== +detect-indent@^6.0.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-6.1.0.tgz#592485ebbbf6b3b1ab2be175c8393d04ca0d57e6" + integrity sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA== + detect-newline@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651" @@ -10475,6 +11392,11 @@ dotenv@~10.0.0: resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-10.0.0.tgz#3d4227b8fb95f81096cdd2b66653fb2c7085ba81" integrity sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q== +dset@^3.1.1, dset@^3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/dset/-/dset-3.1.2.tgz#89c436ca6450398396dc6538ea00abc0c54cd45a" + integrity sha512-g/M9sqy3oHe477Ar4voQxWtaPIFw1jTdKZuomOjhCcBx9nHUNn0pu6NopuFFrTh/TRZIKEj+76vLWFu9BNKk+Q== + duplexer2@^0.1.2, duplexer2@~0.1.0, duplexer2@~0.1.2: version "0.1.4" resolved "https://registry.yarnpkg.com/duplexer2/-/duplexer2-0.1.4.tgz#8b12dab878c0d69e3e7891051662a32fc6bddcc1" @@ -10518,6 +11440,13 @@ ecc-jsbn@~0.1.1: jsbn "~0.1.0" safer-buffer "^2.1.0" +ecdsa-sig-formatter@1.0.11: + version "1.0.11" + resolved "https://registry.yarnpkg.com/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz#ae0f0fa2d85045ef14a817daa3ce9acd0489e5bf" + integrity sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ== + dependencies: + safe-buffer "^5.0.1" + ee-first@1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" @@ -11244,6 +12173,16 @@ ethers@^5.6.0, ethers@^5.7.0: "@ethersproject/web" "5.7.0" "@ethersproject/wordlists" "5.7.0" +event-target-polyfill@^0.0.3: + version "0.0.3" + resolved "https://registry.yarnpkg.com/event-target-polyfill/-/event-target-polyfill-0.0.3.tgz#ed373295f3b257774b5d75afb2599331d9f3406c" + integrity sha512-ZMc6UuvmbinrCk4RzGyVmRyIsAyxMRlp4CqSrcQRO8Dy0A9ldbiRy5kdtBj4OtP7EClGdqGfIqo9JmOClMsGLQ== + +event-target-shim@^5.0.0: + version "5.0.1" + resolved "https://registry.yarnpkg.com/event-target-shim/-/event-target-shim-5.0.1.tgz#5d4d3ebdf9583d63a5333ce2deb7480ab2b05789" + integrity sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ== + eventemitter2@^6.4.3: version "6.4.7" resolved "https://registry.yarnpkg.com/eventemitter2/-/eventemitter2-6.4.7.tgz#a7f6c4d7abf28a14c1ef3442f21cb306a054271d" @@ -11430,6 +12369,15 @@ extend@^3.0.0, extend@~3.0.2: resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== +external-editor@^3.0.3: + version "3.1.0" + resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-3.1.0.tgz#cb03f740befae03ea4d283caed2741a83f335495" + integrity sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew== + dependencies: + chardet "^0.7.0" + iconv-lite "^0.4.24" + tmp "^0.0.33" + extglob@^2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" @@ -11444,6 +12392,16 @@ extglob@^2.0.4: snapdragon "^0.8.1" to-regex "^3.0.1" +extract-files@^11.0.0: + version "11.0.0" + resolved "https://registry.yarnpkg.com/extract-files/-/extract-files-11.0.0.tgz#b72d428712f787eef1f5193aff8ab5351ca8469a" + integrity sha512-FuoE1qtbJ4bBVvv94CC7s0oTnKUGvQs+Rjf1L2SJFfS+HTVVjhPFtehPdQ0JiGPqVNfSSZvL5yzHHQq2Z4WNhQ== + +extract-files@^9.0.0: + version "9.0.0" + resolved "https://registry.yarnpkg.com/extract-files/-/extract-files-9.0.0.tgz#8a7744f2437f81f5ed3250ed9f1550de902fe54a" + integrity sha512-CvdFfHkC95B4bBBk36hcEmvdR2awOdhhVUYH6S/zrVj3477zven/fJMYg7121h4T1xHZC+tetUpubpAhxwI7hQ== + extract-stack@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/extract-stack/-/extract-stack-2.0.0.tgz#11367bc865bfcd9bc0db3123e5edb57786f11f9b" @@ -11579,6 +12537,24 @@ fb-watchman@^2.0.0: dependencies: bser "2.1.1" +fbjs-css-vars@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/fbjs-css-vars/-/fbjs-css-vars-1.0.2.tgz#216551136ae02fe255932c3ec8775f18e2c078b8" + integrity sha512-b2XGFAFdWZWg0phtAWLHCk836A1Xann+I+Dgd3Gk64MHKZO44FfoD1KxyvbSh0qZsIoXQGGlVztIY+oitJPpRQ== + +fbjs@^3.0.0: + version "3.0.4" + resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-3.0.4.tgz#e1871c6bd3083bac71ff2da868ad5067d37716c6" + integrity sha512-ucV0tDODnGV3JCnnkmoszb5lf4bNpzjv80K41wd4k798Etq+UYD0y0TIfalLjZoKgjive6/adkRnszwapiDgBQ== + dependencies: + cross-fetch "^3.1.5" + fbjs-css-vars "^1.0.0" + loose-envify "^1.0.0" + object-assign "^4.1.0" + promise "^7.1.1" + setimmediate "^1.0.5" + ua-parser-js "^0.7.30" + fd-slicer@~1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/fd-slicer/-/fd-slicer-1.1.0.tgz#25c7c89cb1f9077f8891bbe61d8f390eae256f1e" @@ -11603,7 +12579,7 @@ figures@2.0.0, figures@^2.0.0: dependencies: escape-string-regexp "^1.0.5" -figures@3.2.0, figures@^3.2.0: +figures@3.2.0, figures@^3.0.0, figures@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/figures/-/figures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af" integrity sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg== @@ -11848,6 +12824,11 @@ fork-ts-checker-webpack-plugin@^6.0.4: semver "^7.3.2" tapable "^1.0.0" +form-data-encoder@^1.7.1: + version "1.7.2" + resolved "https://registry.yarnpkg.com/form-data-encoder/-/form-data-encoder-1.7.2.tgz#1f1ae3dccf58ed4690b86d87e4f57c654fbab040" + integrity sha512-qfqtYan3rxrnCk1VYaA4H+Ms9xdpPqvLZa6xmMgFvhO32x7/3J/ExcTd6qpxM0vH2GdMI+poehyBZvqfMTto8A== + form-data@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/form-data/-/form-data-3.0.1.tgz#ebd53791b78356a99af9a300d4282c4d5eb9755f" @@ -11871,6 +12852,14 @@ format@^0.2.0: resolved "https://registry.yarnpkg.com/format/-/format-0.2.2.tgz#d6170107e9efdc4ed30c9dc39016df942b5cb58b" integrity sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww== +formdata-node@^4.3.1: + version "4.4.1" + resolved "https://registry.yarnpkg.com/formdata-node/-/formdata-node-4.4.1.tgz#23f6a5cb9cb55315912cbec4ff7b0f59bbd191e2" + integrity sha512-0iirZp3uVDjVGt9p49aTaqjk84TrglENEDuqfdlZQ1roC9CWlPk6Avf8EEnZNcAqPonwkG35x4n3ww/1THYAeQ== + dependencies: + node-domexception "1.0.0" + web-streams-polyfill "4.0.0-beta.3" + forwarded@0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811" @@ -12369,7 +13358,7 @@ globby@10.0.1: merge2 "^1.2.3" slash "^3.0.0" -globby@^11.0.1, globby@^11.0.2, globby@^11.1.0: +globby@^11.0.1, globby@^11.0.2, globby@^11.0.3, globby@^11.1.0: version "11.1.0" resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== @@ -12426,14 +13415,42 @@ graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6 resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c" integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== -graphql-tag@2.12.6, graphql-tag@^2.10.1, graphql-tag@^2.12.6: +graphql-config@^4.3.5: + version "4.3.5" + resolved "https://registry.yarnpkg.com/graphql-config/-/graphql-config-4.3.5.tgz#bd197ec9c1e86d2696c61332be35b920ba7be700" + integrity sha512-B4jXhHL7j3llCem+ACeo48wvVYhtJxRyt5SfSnvywbRlVYyUzt5ibZV6WJU2Yii2/rcVRIGi7BHDgcAPWdWdJg== + dependencies: + "@graphql-tools/graphql-file-loader" "^7.3.7" + "@graphql-tools/json-file-loader" "^7.3.7" + "@graphql-tools/load" "^7.5.5" + "@graphql-tools/merge" "^8.2.6" + "@graphql-tools/url-loader" "^7.9.7" + "@graphql-tools/utils" "^8.6.5" + cosmiconfig "7.0.1" + cosmiconfig-toml-loader "1.0.0" + cosmiconfig-typescript-loader "^4.0.0" + minimatch "4.2.1" + string-env-interpolation "1.0.1" + ts-node "^10.8.1" + tslib "^2.4.0" + +graphql-request@^4.0.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/graphql-request/-/graphql-request-4.3.0.tgz#b934e08fcae764aa2cdc697d3c821f046cb5dbf2" + integrity sha512-2v6hQViJvSsifK606AliqiNiijb1uwWp6Re7o0RTyH+uRTv/u7Uqm2g4Fjq/LgZIzARB38RZEvVBFOQOVdlBow== + dependencies: + cross-fetch "^3.1.5" + extract-files "^9.0.0" + form-data "^3.0.0" + +graphql-tag@2.12.6, graphql-tag@^2.10.1, graphql-tag@^2.11.0, graphql-tag@^2.12.6: version "2.12.6" resolved "https://registry.yarnpkg.com/graphql-tag/-/graphql-tag-2.12.6.tgz#d441a569c1d2537ef10ca3d1633b48725329b5f1" integrity sha512-FdSNcu2QQcWnM2VNvSCCDCVS5PpPqpzgFT8+GXzqJuoDd0CBncxCY278u4mhRO7tMgo2JjgJA5aZ+nWSQ/Z+xg== dependencies: tslib "^2.1.0" -graphql-ws@^5.6.3: +graphql-ws@^5.4.1, graphql-ws@^5.6.3: version "5.10.1" resolved "https://registry.yarnpkg.com/graphql-ws/-/graphql-ws-5.10.1.tgz#c5402a62f1be13e244ab90a6306b94f643577312" integrity sha512-MKm/3SRd1vj5Km8NaujsgeGRTKZQjUN5HRnIMJ8dL2UznKoxvrtQyJqTmqJt0f6vQd9AooDg/+baXo3huiY4Ew== @@ -12869,6 +13886,15 @@ http-proxy-agent@^4.0.1: agent-base "6" debug "4" +http-proxy-agent@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz#5129800203520d434f142bc78ff3c170800f2b43" + integrity sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w== + dependencies: + "@tootallnate/once" "2" + agent-base "6" + debug "4" + http-proxy-middleware@^2.0.3: version "2.0.6" resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz#e1a4dd6979572c7ab5a4e4b55095d1f32a74963f" @@ -12964,7 +13990,7 @@ i18next@^20.3.5: dependencies: "@babel/runtime" "^7.12.0" -iconv-lite@0.4.24: +iconv-lite@0.4.24, iconv-lite@^0.4.24: version "0.4.24" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== @@ -13042,6 +14068,11 @@ immutable@^4.0.0: resolved "https://registry.yarnpkg.com/immutable/-/immutable-4.1.0.tgz#f795787f0db780183307b9eb2091fcac1f6fafef" integrity sha512-oNkuqVTA8jqG1Q6c+UglTOD1xhC1BtjKI7XkCXRkZHrN5m18/XsnUp8Q89GkQO/z+0WjonSvl0FLhDYftp46nQ== +immutable@~3.7.6: + version "3.7.6" + resolved "https://registry.yarnpkg.com/immutable/-/immutable-3.7.6.tgz#13b4d3cb12befa15482a26fe1b2ebae640071e4b" + integrity sha512-AizQPcaofEtO11RZhPPHBOJRdo/20MKQF9mBLnVkBoyHi1/zXK8fzVdnEpSV9gxqtnh6Qomfp3F0xT5qP/vThw== + import-cwd@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/import-cwd/-/import-cwd-3.0.0.tgz#20845547718015126ea9b3676b7592fb8bd4cf92" @@ -13057,6 +14088,11 @@ import-fresh@^3.0.0, import-fresh@^3.1.0, import-fresh@^3.2.1: parent-module "^1.0.0" resolve-from "^4.0.0" +import-from@4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/import-from/-/import-from-4.0.0.tgz#2710b8d66817d232e16f4166e319248d3d5492e2" + integrity sha512-P9J71vT5nLlDeV8FHs5nNxaLbrpfAV5cF5srvbZfpwpcJoM/xZR3hiv+q+SAnuSmuGbXMWud063iIMx/V/EWZQ== + import-from@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/import-from/-/import-from-3.0.0.tgz#055cfec38cd5a27d8057ca51376d7d3bf0891966" @@ -13149,6 +14185,27 @@ inline-style-parser@0.1.1: resolved "https://registry.yarnpkg.com/inline-style-parser/-/inline-style-parser-0.1.1.tgz#ec8a3b429274e9c0a1f1c4ffa9453a7fef72cea1" integrity sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q== +inquirer@^8.0.0: + version "8.2.4" + resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-8.2.4.tgz#ddbfe86ca2f67649a67daa6f1051c128f684f0b4" + integrity sha512-nn4F01dxU8VeKfq192IjLsxu0/OmMZ4Lg3xKAns148rCaXP6ntAoEkVYZThWjwON8AlzdZZi6oqnhNbxUG9hVg== + dependencies: + ansi-escapes "^4.2.1" + chalk "^4.1.1" + cli-cursor "^3.1.0" + cli-width "^3.0.0" + external-editor "^3.0.3" + figures "^3.0.0" + lodash "^4.17.21" + mute-stream "0.0.8" + ora "^5.4.1" + run-async "^2.4.0" + rxjs "^7.5.5" + string-width "^4.1.0" + strip-ansi "^6.0.0" + through "^2.3.6" + wrap-ansi "^7.0.0" + insert-module-globals@^7.0.0, insert-module-globals@^7.2.1: version "7.2.1" resolved "https://registry.yarnpkg.com/insert-module-globals/-/insert-module-globals-7.2.1.tgz#d5e33185181a4e1f33b15f7bf100ee91890d5cb3" @@ -13221,6 +14278,14 @@ is-absolute-url@^3.0.0: resolved "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-3.0.3.tgz#96c6a22b6a23929b11ea0afb1836c36ad4a5d698" integrity sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q== +is-absolute@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-absolute/-/is-absolute-1.0.0.tgz#395e1ae84b11f26ad1795e73c17378e48a301576" + integrity sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA== + dependencies: + is-relative "^1.0.0" + is-windows "^1.0.1" + is-accessor-descriptor@^0.1.6: version "0.1.6" resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" @@ -13461,6 +14526,13 @@ is-generator@^1.0.2: resolved "https://registry.yarnpkg.com/is-generator/-/is-generator-1.0.3.tgz#c14c21057ed36e328db80347966c693f886389f3" integrity sha512-G56jBpbJeg7ds83HW1LuShNs8J73Fv3CPz/bmROHOHlnKkN8sWb9ujiagjmxxMUywftgq48HlBZELKKqFLk0oA== +is-glob@4.0.3, is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: + version "4.0.3" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" + integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== + dependencies: + is-extglob "^2.1.1" + is-glob@^3.0.0, is-glob@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a" @@ -13468,13 +14540,6 @@ is-glob@^3.0.0, is-glob@^3.1.0: dependencies: is-extglob "^2.1.0" -is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: - version "4.0.3" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" - integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== - dependencies: - is-extglob "^2.1.1" - is-hexadecimal@^1.0.0: version "1.0.4" resolved "https://registry.yarnpkg.com/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz#cc35c97588da4bd49a8eedd6bc4082d44dcb23a7" @@ -13488,6 +14553,18 @@ is-installed-globally@~0.4.0: global-dirs "^3.0.0" is-path-inside "^3.0.2" +is-interactive@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-interactive/-/is-interactive-1.0.0.tgz#cea6e6ae5c870a7b0a0004070b7b587e0252912e" + integrity sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w== + +is-lower-case@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/is-lower-case/-/is-lower-case-2.0.2.tgz#1c0884d3012c841556243483aa5d522f47396d2a" + integrity sha512-bVcMJy4X5Og6VZfdOZstSexlEy20Sr0k/p/b2IlQJlfdKAQuMpiv5w2Ccxb8sKdRUNAG1PnHVHjFSdRDVS6NlQ== + dependencies: + tslib "^2.0.3" + is-map@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/is-map/-/is-map-2.0.2.tgz#00922db8c9bf73e81b7a335827bc2a43f2b91127" @@ -13601,6 +14678,13 @@ is-regex@^1.1.2, is-regex@^1.1.4: call-bind "^1.0.2" has-tostringtag "^1.0.0" +is-relative@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-relative/-/is-relative-1.0.0.tgz#a1bb6935ce8c5dba1e8b9754b9b2dcc020e2260d" + integrity sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA== + dependencies: + is-unc-path "^1.0.0" + is-retry-allowed@^1.1.0: version "1.2.0" resolved "https://registry.yarnpkg.com/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz#d778488bd0a4666a3be8a1482b9f2baafedea8b4" @@ -13672,11 +14756,25 @@ is-typedarray@1.0.0, is-typedarray@^1.0.0, is-typedarray@~1.0.0: resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" integrity sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA== +is-unc-path@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-unc-path/-/is-unc-path-1.0.0.tgz#d731e8898ed090a12c352ad2eaed5095ad322c9d" + integrity sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ== + dependencies: + unc-path-regex "^0.1.2" + is-unicode-supported@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz#3f26c76a809593b52bfa2ecb5710ed2779b522a7" integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw== +is-upper-case@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/is-upper-case/-/is-upper-case-2.0.2.tgz#f1105ced1fe4de906a5f39553e7d3803fd804649" + integrity sha512-44pxmxAvnnAOwBg4tHPnkfvgjPwbc5QIsSstNU+YcJ1ovxVzCWpSGosPJOZh/a1tdl81fbgnLc9LLv+x2ywbPQ== + dependencies: + tslib "^2.0.3" + is-utf8@^0.2.0: version "0.2.1" resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" @@ -13699,7 +14797,7 @@ is-window@^1.0.2: resolved "https://registry.yarnpkg.com/is-window/-/is-window-1.0.2.tgz#2c896ca53db97de45d3c33133a65d8c9f563480d" integrity sha512-uj00kdXyZb9t9RcAUAwMZAnkBUwdYGhYlt7djMXhfyhUCzwNba50tIiBKR7q0l7tdoBtFVw/3JmLY6fI3rmZmg== -is-windows@^1.0.2: +is-windows@^1.0.1, is-windows@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== @@ -13753,6 +14851,14 @@ isobject@^4.0.0: resolved "https://registry.yarnpkg.com/isobject/-/isobject-4.0.0.tgz#3f1c9155e73b192022a80819bacd0343711697b0" integrity sha512-S/2fF5wH8SJA/kmwr6HYhK/RI/OkhD84k8ntalo0iJjZikgq1XFvR5M8NPT1x5F7fBwCG3qHfnzeP/Vh/ZxCUA== +isomorphic-fetch@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/isomorphic-fetch/-/isomorphic-fetch-3.0.0.tgz#0267b005049046d2421207215d45d6a262b8b8b4" + integrity sha512-qvUtwJ3j6qwsF3jLxkZ72qCgjMysPzDfeV240JHiGZsANBYd+EEuu35v7dfrJ9Up0Ak07D7GGSkGhCHTqg/5wA== + dependencies: + node-fetch "^2.6.1" + whatwg-fetch "^3.4.1" + isomorphic-unfetch@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/isomorphic-unfetch/-/isomorphic-unfetch-3.1.0.tgz#87341d5f4f7b63843d468438128cb087b7c3e98f" @@ -13761,6 +14867,11 @@ isomorphic-unfetch@^3.1.0: node-fetch "^2.6.1" unfetch "^4.2.0" +isomorphic-ws@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/isomorphic-ws/-/isomorphic-ws-5.0.0.tgz#e5529148912ecb9b451b46ed44d53dae1ce04bbf" + integrity sha512-muId7Zzn9ywDsyXgTIafTry2sV3nySZeUDe6YedVd1Hvuuep5AsIlqK+XefWpYTyJG5e503F2xIuT2lcU6rCSw== + isstream@~0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" @@ -14394,7 +15505,7 @@ js-string-escape@^1.0.1: resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== -js-yaml@4.1.0, js-yaml@^4.1.0: +js-yaml@4.1.0, js-yaml@^4.0.0, js-yaml@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== @@ -14487,6 +15598,13 @@ json-stable-stringify-without-jsonify@^1.0.1: resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== +json-stable-stringify@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af" + integrity sha512-i/J297TW6xyj7sDFa7AmBPkQvLIxWr2kKPWI26tXydnZrzVAocNqn5DMNT1Mzk0vit1V5UkRM7C1KdVNp7Lmcg== + dependencies: + jsonify "~0.0.0" + json-stable-stringify@~0.0.0: version "0.0.1" resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-0.0.1.tgz#611c23e814db375527df851193db59dd2af27f45" @@ -14499,6 +15617,14 @@ json-stringify-safe@^5.0.1, json-stringify-safe@~5.0.1: resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" integrity sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA== +json-to-pretty-yaml@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/json-to-pretty-yaml/-/json-to-pretty-yaml-1.2.2.tgz#f4cd0bd0a5e8fe1df25aaf5ba118b099fd992d5b" + integrity sha512-rvm6hunfCcqegwYaG5T4yKJWxc9FXFgBVrcTZ4XfSVRwa5HA/Xs+vB/Eo9treYYHCeNM0nrSUr82V/M31Urc7A== + dependencies: + remedial "^1.0.7" + remove-trailing-spaces "^1.0.6" + json5@2.x, json5@^2.1.2, json5@^2.1.3, json5@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.1.tgz#655d50ed1e6f95ad1a3caababd2b0efda10b395c" @@ -14542,6 +15668,22 @@ jsonparse@^1.2.0: resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280" integrity sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg== +jsonwebtoken@^8.5.1: + version "8.5.1" + resolved "https://registry.yarnpkg.com/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz#00e71e0b8df54c2121a1f26137df2280673bcc0d" + integrity sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w== + dependencies: + jws "^3.2.2" + lodash.includes "^4.3.0" + lodash.isboolean "^3.0.3" + lodash.isinteger "^4.0.4" + lodash.isnumber "^3.0.3" + lodash.isplainobject "^4.0.6" + lodash.isstring "^4.0.1" + lodash.once "^4.0.0" + ms "^2.1.1" + semver "^5.6.0" + jsprim@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-2.0.2.tgz#77ca23dbcd4135cd364800d22ff82c2185803d4d" @@ -14565,6 +15707,23 @@ junk@^3.1.0: resolved "https://registry.yarnpkg.com/junk/-/junk-3.1.0.tgz#31499098d902b7e98c5d9b9c80f43457a88abfa1" integrity sha512-pBxcB3LFc8QVgdggvZWyeys+hnrNWg4OcZIU/1X59k5jQdLBlCsYGRQaz234SqoRLTCgMH00fY0xRJH+F9METQ== +jwa@^1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/jwa/-/jwa-1.4.1.tgz#743c32985cb9e98655530d53641b66c8645b039a" + integrity sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA== + dependencies: + buffer-equal-constant-time "1.0.1" + ecdsa-sig-formatter "1.0.11" + safe-buffer "^5.0.1" + +jws@^3.2.2: + version "3.2.2" + resolved "https://registry.yarnpkg.com/jws/-/jws-3.2.2.tgz#001099f3639468c9414000e99995fa52fb478304" + integrity sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA== + dependencies: + jwa "^1.4.1" + safe-buffer "^5.0.1" + keyvaluestorage-interface@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/keyvaluestorage-interface/-/keyvaluestorage-interface-1.0.0.tgz#13ebdf71f5284ad54be94bd1ad9ed79adad515ff" @@ -14934,11 +16093,41 @@ lodash.identity@3.0.0: resolved "https://registry.yarnpkg.com/lodash.identity/-/lodash.identity-3.0.0.tgz#ad7bc6a4e647d79c972e1b80feef7af156267876" integrity sha512-AupTIzdLQxJS5wIYUQlgGyk2XRTfGXA+MCghDHqZk0pzUNYvd3EESS6dkChNauNYVIutcb0dfHw1ri9Q1yPV8Q== +lodash.includes@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/lodash.includes/-/lodash.includes-4.3.0.tgz#60bb98a87cb923c68ca1e51325483314849f553f" + integrity sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w== + +lodash.isboolean@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz#6c2e171db2a257cd96802fd43b01b20d5f5870f6" + integrity sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg== + lodash.isequal@^4.5.0: version "4.5.0" resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" integrity sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ== +lodash.isinteger@^4.0.4: + version "4.0.4" + resolved "https://registry.yarnpkg.com/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz#619c0af3d03f8b04c31f5882840b77b11cd68343" + integrity sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA== + +lodash.isnumber@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz#3ce76810c5928d03352301ac287317f11c0b1ffc" + integrity sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw== + +lodash.isplainobject@^4.0.6: + version "4.0.6" + resolved "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb" + integrity sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA== + +lodash.isstring@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/lodash.isstring/-/lodash.isstring-4.0.1.tgz#d527dfb5456eca7cc9bb95d5daeaf88ba54a5451" + integrity sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw== + lodash.memoize@4.x, lodash.memoize@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" @@ -14954,7 +16143,7 @@ lodash.merge@^4.6.1, lodash.merge@^4.6.2: resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== -lodash.once@^4.1.1: +lodash.once@^4.0.0, lodash.once@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/lodash.once/-/lodash.once-4.1.1.tgz#0dd3971213c7c56df880977d504c88fb471a97ac" integrity sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg== @@ -14984,7 +16173,7 @@ lodash.xorby@^4.7.0: resolved "https://registry.yarnpkg.com/lodash.xorby/-/lodash.xorby-4.7.0.tgz#9c19a6f9f063a6eb53dd03c1b6871799801463d7" integrity sha512-gYiD6nvuQy0AEkMoUju+t4f4Rn18fjsLB/7x7YZFqtFT9kmegRLrj/uGEQVyVDy7otTmSrIMXNOk2wwuLcfHCQ== -lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.17.4, lodash@^4.7.0: +lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.17.4, lodash@^4.7.0, lodash@~4.17.0: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== @@ -14996,7 +16185,7 @@ log-symbols@^1.0.2: dependencies: chalk "^1.0.0" -log-symbols@^4.0.0: +log-symbols@^4.0.0, log-symbols@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.1.0.tgz#3fbdbb95b4683ac9fc785111e792e558d4abd503" integrity sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg== @@ -15045,6 +16234,13 @@ loupe@^2.3.1: dependencies: get-func-name "^2.0.0" +lower-case-first@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/lower-case-first/-/lower-case-first-2.0.2.tgz#64c2324a2250bf7c37c5901e76a5b5309301160b" + integrity sha512-EVm/rR94FJTZi3zefZ82fLWab+GX14LJN4HrWBcuo6Evmsl9hEfnqxgcHCKb9q+mNf6EVdsjx/qucYFIIB84pg== + dependencies: + tslib "^2.0.3" + lower-case@^1.1.1: version "1.1.4" resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-1.1.4.tgz#9a2cabd1b9e8e0ae993a4bf7d5875c39c42e8eac" @@ -15135,7 +16331,7 @@ map-age-cleaner@^0.1.3: dependencies: p-defer "^1.0.0" -map-cache@^0.2.2: +map-cache@^0.2.0, map-cache@^0.2.2: version "0.2.2" resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" integrity sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg== @@ -15327,6 +16523,11 @@ merge2@^1.2.3, merge2@^1.3.0, merge2@^1.4.1: resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== +meros@^1.1.4: + version "1.2.0" + resolved "https://registry.yarnpkg.com/meros/-/meros-1.2.0.tgz#096cdede2eb0b1610b219b1031b935260de1ad08" + integrity sha512-3QRZIS707pZQnijHdhbttXRWwrHhZJ/gzolneoxKVz9N/xmsvY/7Ls8lpnI9gxbgxjcHsAVEW3mgwiZCo6kkJQ== + methods@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" @@ -15450,6 +16651,13 @@ minimatch@3.0.5: dependencies: brace-expansion "^1.1.7" +minimatch@4.2.1: + version "4.2.1" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-4.2.1.tgz#40d9d511a46bdc4e563c22c3080cde9c0d8299b4" + integrity sha512-9Uq1ChtSZO+Mxa/CL1eGizn2vRn3MlLgzhT0Iz8zaY8NdvxvB0d5QdPFmCKf7JKA9Lerx5vRrnwO03jsSfGG9g== + dependencies: + brace-expansion "^1.1.7" + minimatch@^3.0.2, minimatch@^3.0.4, minimatch@^3.1.1, minimatch@^3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" @@ -15645,6 +16853,11 @@ multicast-dns@^7.2.5: dns-packet "^5.2.2" thunky "^1.0.2" +mute-stream@0.0.8: + version "0.0.8" + resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d" + integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA== + mz@^2.4.0: version "2.7.0" resolved "https://registry.yarnpkg.com/mz/-/mz-2.7.0.tgz#95008057a56cafadc2bc63dde7f9ff6955948e32" @@ -15779,6 +16992,11 @@ node-dir@^0.1.10: dependencies: minimatch "^3.0.2" +node-domexception@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/node-domexception/-/node-domexception-1.0.0.tgz#6888db46a1f71c0b76b3f7555016b63fe64766e5" + integrity sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ== + node-fetch@2.6.7, node-fetch@^2.6.1, node-fetch@^2.6.7: version "2.6.7" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.7.tgz#24de9fba827e3b4ae44dc8b20256a379160052ad" @@ -15940,6 +17158,11 @@ nth-check@^2.0.1: dependencies: boolbase "^1.0.0" +nullthrows@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/nullthrows/-/nullthrows-1.1.1.tgz#7818258843856ae971eae4208ad7d7eb19a431b1" + integrity sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw== + num2fraction@^1.2.2: version "1.2.2" resolved "https://registry.yarnpkg.com/num2fraction/-/num2fraction-1.2.2.tgz#6f682b6a027a4e9ddfa4564cd2589d1d4e669ede" @@ -16010,6 +17233,11 @@ object-hash@^3.0.0: resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-3.0.0.tgz#73f97f753e7baffc0e2cc9d6e079079744ac82e9" integrity sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw== +object-inspect@1.10.3: + version "1.10.3" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.10.3.tgz#c2aa7d2d09f50c99375704f7a0adf24c5782d369" + integrity sha512-e5mCJlSH7poANfC8z8S9s9S2IN5/4Zb3aZ33f5s8YqoazCFzNLloLU8r5VCG+G7WoqLvAAZoVMcy3tp/3X0Plw== + object-inspect@^1.12.0, object-inspect@^1.12.2, object-inspect@^1.9.0: version "1.12.2" resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.2.tgz#c0641f26394532f28ab8d796ab954e43c009a8ea" @@ -16137,6 +17365,15 @@ onetime@^5.1.0, onetime@^5.1.2: dependencies: mimic-fn "^2.1.0" +open@8.2.1: + version "8.2.1" + resolved "https://registry.yarnpkg.com/open/-/open-8.2.1.tgz#82de42da0ccbf429bc12d099dad2e0975e14e8af" + integrity sha512-rXILpcQlkF/QuFez2BJDf3GsqpjGKbkUUToAIGo9A0Q6ZkoSGogZJulrUdwRkrAsoQvoZsrjCYt8+zblOk7JQQ== + dependencies: + define-lazy-prop "^2.0.0" + is-docker "^2.1.1" + is-wsl "^2.2.0" + open@^7.0.3: version "7.4.2" resolved "https://registry.yarnpkg.com/open/-/open-7.4.2.tgz#b8147e26dcf3e426316c730089fd71edd29c2321" @@ -16191,6 +17428,21 @@ optionator@^0.9.1: type-check "^0.4.0" word-wrap "^1.2.3" +ora@^5.4.1: + version "5.4.1" + resolved "https://registry.yarnpkg.com/ora/-/ora-5.4.1.tgz#1b2678426af4ac4a509008e5e4ac9e9959db9e18" + integrity sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ== + dependencies: + bl "^4.1.0" + chalk "^4.1.0" + cli-cursor "^3.1.0" + cli-spinners "^2.5.0" + is-interactive "^1.0.0" + is-unicode-supported "^0.1.0" + log-symbols "^4.1.0" + strip-ansi "^6.0.0" + wcwidth "^1.0.1" + os-browserify@^0.3.0, os-browserify@~0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27" @@ -16201,6 +17453,11 @@ os-homedir@^1.0.0: resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" integrity sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ== +os-tmpdir@~1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" + integrity sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g== + ospath@^1.2.2: version "1.2.2" resolved "https://registry.yarnpkg.com/ospath/-/ospath-1.2.2.tgz#1276639774a3f8ef2572f7fe4280e0ea4550c07b" @@ -16244,6 +17501,13 @@ p-finally@^1.0.0: resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" integrity sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow== +p-limit@3.1.0, p-limit@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" + integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== + dependencies: + yocto-queue "^0.1.0" + p-limit@^2.0.0, p-limit@^2.2.0: version "2.3.0" resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" @@ -16251,13 +17515,6 @@ p-limit@^2.0.0, p-limit@^2.2.0: dependencies: p-try "^2.0.0" -p-limit@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" - integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== - dependencies: - yocto-queue "^0.1.0" - p-locate@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" @@ -16392,6 +17649,15 @@ parse-entities@^2.0.0: is-decimal "^1.0.0" is-hexadecimal "^1.0.0" +parse-filepath@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/parse-filepath/-/parse-filepath-1.0.2.tgz#a632127f53aaf3d15876f5872f3ffac763d6c891" + integrity sha512-FwdRXKCohSVeXqwtYonZTXtbGJKrn+HNyWDYVcp5yuJlesTwNH4rsmRZ+GrKAPJ5bLpRxESMeS+Rl0VCHRvB2Q== + dependencies: + is-absolute "^1.0.0" + map-cache "^0.2.0" + path-root "^0.1.1" + parse-json@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" @@ -16560,6 +17826,18 @@ path-platform@~0.11.15: resolved "https://registry.yarnpkg.com/path-platform/-/path-platform-0.11.15.tgz#e864217f74c36850f0852b78dc7bf7d4a5721bf2" integrity sha512-Y30dB6rab1A/nfEKsZxmr01nUotHX0c/ZiIAsCTatEe1CmS5Pm5He7fZ195bPT7RdquoaL8lLxFCMQi/bS7IJg== +path-root-regex@^0.1.0: + version "0.1.2" + resolved "https://registry.yarnpkg.com/path-root-regex/-/path-root-regex-0.1.2.tgz#bfccdc8df5b12dc52c8b43ec38d18d72c04ba96d" + integrity sha512-4GlJ6rZDhQZFE0DPVKh0e9jmZ5egZfxTkp7bcRDuPlJXbAwhxcl2dINPUAsjLdejqaLsCeg8axcLjIbvBjN4pQ== + +path-root@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/path-root/-/path-root-0.1.1.tgz#9a4a6814cac1c0cd73360a95f32083c8ea4745b7" + integrity sha512-QLcPegTHF11axjfojBIoDygmS2E3Lf+8+jI6wOVmNVenrKSo3mFdSGiIgdSHenczw3wPtlVMQaFVwGmM7BJdtg== + dependencies: + path-root-regex "^0.1.0" + path-strip-sep@^1.0.13: version "1.0.13" resolved "https://registry.yarnpkg.com/path-strip-sep/-/path-strip-sep-1.0.13.tgz#c692da0ab2fca42e76b7f985be2129eb4b648bb1" @@ -17290,6 +18568,13 @@ promise.series@^0.2.0: resolved "https://registry.yarnpkg.com/promise.series/-/promise.series-0.2.0.tgz#2cc7ebe959fc3a6619c04ab4dbdc9e452d864bbd" integrity sha512-VWQJyU2bcDTgZw8kpfBpB/ejZASlCrzwz5f2hjb/zlujOEB4oeiAhHygAWq8ubsX2GVkD4kCU5V2dwOTaCY5EQ== +promise@^7.1.1: + version "7.3.1" + resolved "https://registry.yarnpkg.com/promise/-/promise-7.3.1.tgz#064b72602b18f90f29192b8b1bc418ffd1ebd3bf" + integrity sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg== + dependencies: + asap "~2.0.3" + prompts@^2.0.1, prompts@^2.4.0: version "2.4.2" resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.2.tgz#7b57e73b3a48029ad10ebd44f74b01722a4cb069" @@ -17404,6 +18689,18 @@ punycode@^2.1.0, punycode@^2.1.1: resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== +pvtsutils@^1.3.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/pvtsutils/-/pvtsutils-1.3.2.tgz#9f8570d132cdd3c27ab7d51a2799239bf8d8d5de" + integrity sha512-+Ipe2iNUyrZz+8K/2IOo+kKikdtfhRKzNpQbruF2URmqPtoqAs8g3xS7TJvFF2GcPXjh7DkqMnpVveRFq4PgEQ== + dependencies: + tslib "^2.4.0" + +pvutils@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/pvutils/-/pvutils-1.1.3.tgz#f35fc1d27e7cd3dfbd39c0826d173e806a03f5a3" + integrity sha512-pMpnA0qRdFp32b1sJl1wOJNxZLQ2cbQx+k6tjNtZ8CpvVhNqEPRgivZ2WOUev2YMajecdH7ctUPDvEe87nariQ== + q@^1.1.2, q@^1.5.1: version "1.5.1" resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7" @@ -18042,6 +19339,15 @@ relateurl@^0.2.7: resolved "https://registry.yarnpkg.com/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9" integrity sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog== +relay-runtime@12.0.0: + version "12.0.0" + resolved "https://registry.yarnpkg.com/relay-runtime/-/relay-runtime-12.0.0.tgz#1e039282bdb5e0c1b9a7dc7f6b9a09d4f4ff8237" + integrity sha512-QU6JKr1tMsry22DXNy9Whsq5rmvwr3LSZiiWV/9+DFpuTWvp+WFhobWMc8TC4OjKFfNhEZy7mOiqUAn5atQtug== + dependencies: + "@babel/runtime" "^7.0.0" + fbjs "^3.0.0" + invariant "^2.2.4" + remark-external-links@^8.0.0: version "8.0.0" resolved "https://registry.yarnpkg.com/remark-external-links/-/remark-external-links-8.0.0.tgz#308de69482958b5d1cd3692bc9b725ce0240f345" @@ -18110,11 +19416,21 @@ remark-squeeze-paragraphs@4.0.0: dependencies: mdast-squeeze-paragraphs "^4.0.0" +remedial@^1.0.7: + version "1.0.8" + resolved "https://registry.yarnpkg.com/remedial/-/remedial-1.0.8.tgz#a5e4fd52a0e4956adbaf62da63a5a46a78c578a0" + integrity sha512-/62tYiOe6DzS5BqVsNpH/nkGlX45C/Sp6V+NtiN6JQNS1Viay7cWkazmRkrQrdFj2eshDe96SIQNIoMxqhzBOg== + remove-trailing-separator@^1.0.1: version "1.1.0" resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" integrity sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw== +remove-trailing-spaces@^1.0.6: + version "1.0.8" + resolved "https://registry.yarnpkg.com/remove-trailing-spaces/-/remove-trailing-spaces-1.0.8.tgz#4354d22f3236374702f58ee373168f6d6887ada7" + integrity sha512-O3vsMYfWighyFbTd8hk8VaSj9UAGENxAtX+//ugIst2RMk5e03h6RoIS+0ylsFxY1gvmPuAY/PO4It+gPEeySA== + renderkid@^2.0.4: version "2.0.7" resolved "https://registry.yarnpkg.com/renderkid/-/renderkid-2.0.7.tgz#464f276a6bdcee606f4a15993f9b29fc74ca8609" @@ -18388,6 +19704,11 @@ rsvp@^4.8.4: resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-4.8.5.tgz#c8f155311d167f68f21e168df71ec5b083113734" integrity sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA== +run-async@^2.4.0: + version "2.4.1" + resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.4.1.tgz#8440eccf99ea3e70bd409d49aab88e10c189a455" + integrity sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ== + run-parallel@^1.1.9: version "1.2.0" resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" @@ -18571,6 +19892,11 @@ scrypt-js@3.0.1: resolved "https://registry.yarnpkg.com/scrypt-js/-/scrypt-js-3.0.1.tgz#d314a57c2aef69d1ad98a138a21fe9eafa9ee312" integrity sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA== +scuid@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/scuid/-/scuid-1.1.0.tgz#d3f9f920956e737a60f72d0e4ad280bf324d5dab" + integrity sha512-MuCAyrGZcTLfQoH2XoBlQ8C6bzwN88XT/0slOGz0pn8+gIP85BOAfYa44ZXQUTOwRwPU0QvgU+V+OSajl/59Xg== + secure-compare@3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/secure-compare/-/secure-compare-3.0.1.tgz#f1a0329b308b221fae37b9974f3d578d0ca999e3" @@ -18737,7 +20063,7 @@ set-value@^2.0.0, set-value@^2.0.1: is-plain-object "^2.0.3" split-string "^3.0.1" -setimmediate@^1.0.4: +setimmediate@^1.0.4, setimmediate@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" integrity sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA== @@ -18839,6 +20165,11 @@ signal-exit@^3.0.0, signal-exit@^3.0.2, signal-exit@^3.0.3, signal-exit@^3.0.7: resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== +signedsource@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/signedsource/-/signedsource-1.0.0.tgz#1ddace4981798f93bd833973803d80d52e93ad6a" + integrity sha512-6+eerH9fEnNmi/hyM1DXcRK3pWdoMQtlkQ+ns0ntzunjKqp5i3sKCc80ym8Fib3iaYhdJUOPdhlJWj1tvge2Ww== + simple-concat@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/simple-concat/-/simple-concat-1.0.1.tgz#f46976082ba35c2263f1c8ab5edfe26c41c9552f" @@ -19104,6 +20435,13 @@ split2@^3.0.0: dependencies: readable-stream "^3.0.0" +sponge-case@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/sponge-case/-/sponge-case-1.0.1.tgz#260833b86453883d974f84854cdb63aecc5aef4c" + integrity sha512-dblb9Et4DAtiZ5YSUZHLl4XhH4uK80GhAZrVXdN4O2P4gQ40Wa5UIOPUHlA/nFd2PLblBZWUioLMMAVrgpoYcA== + dependencies: + tslib "^2.0.3" + sprintf-js@^1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.1.2.tgz#da1765262bf8c0f571749f2ad6c26300207ae673" @@ -19212,6 +20550,13 @@ statuses@2.0.1: resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" integrity sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA== +std-env@2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/std-env/-/std-env-2.3.0.tgz#66d4a4a4d5224242ed8e43f5d65cfa9095216eee" + integrity sha512-4qT5B45+Kjef2Z6pE0BkskzsH0GO7GrND0wGlTM1ioUe3v0dGYx9ZJH0Aro/YyA8fqQ5EyIKDRjZojJYMFTflw== + dependencies: + ci-info "^3.0.0" + store2@^2.12.0: version "2.14.2" resolved "https://registry.yarnpkg.com/store2/-/store2-2.14.2.tgz#56138d200f9fe5f582ad63bc2704dbc0e4a45068" @@ -19297,6 +20642,11 @@ stream-splicer@^2.0.0: inherits "^2.0.1" readable-stream "^2.0.2" +streamsearch@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/streamsearch/-/streamsearch-1.1.0.tgz#404dd1e2247ca94af554e841a8ef0eaa238da764" + integrity sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg== + strict-uri-encode@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz#b9c7330c7042862f6b142dc274bbcc5866ce3546" @@ -19312,6 +20662,11 @@ string-argv@^0.3.1: resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.3.1.tgz#95e2fbec0427ae19184935f816d74aaa4c5c19da" integrity sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg== +string-env-interpolation@1.0.1, string-env-interpolation@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/string-env-interpolation/-/string-env-interpolation-1.0.1.tgz#ad4397ae4ac53fe6c91d1402ad6f6a52862c7152" + integrity sha512-78lwMoCcn0nNu8LszbP1UA7g55OeE4v7rCeWnM5B453rnNr4aq+5it3FEYtZrSEiMvHZOZ9Jlqb0OD0M2VInqg== + string-hash@^1.1.1: version "1.1.3" resolved "https://registry.yarnpkg.com/string-hash/-/string-hash-1.1.3.tgz#e8aafc0ac1855b4666929ed7dd1275df5d6c811b" @@ -19676,6 +21031,13 @@ svgo@^2.7.0, svgo@^2.8.0: picocolors "^1.0.0" stable "^0.1.8" +swap-case@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/swap-case/-/swap-case-2.0.2.tgz#671aedb3c9c137e2985ef51c51f9e98445bf70d9" + integrity sha512-kc6S2YS/2yXbtkSMunBtKdah4VFETZ8Oh6ONSmSd9bRxhqTrtARUCBUiWXH3xVPpvR7tz2CSnkuXVE42EcGnMw== + dependencies: + tslib "^2.0.3" + symbol-observable@^1.1.0: version "1.2.0" resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.2.0.tgz#c22688aed4eab3cdc2dfeacbb561660560a00804" @@ -19930,7 +21292,7 @@ through2@^4.0.0, through2@^4.0.2: dependencies: readable-stream "3" -"through@>=2.2.7 <3", through@^2.3.8: +"through@>=2.2.7 <3", through@^2.3.6, through@^2.3.8: version "2.3.8" resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg== @@ -19962,6 +21324,20 @@ title-case@^2.1.1: no-case "^2.2.0" upper-case "^1.0.3" +title-case@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/title-case/-/title-case-3.0.3.tgz#bc689b46f02e411f1d1e1d081f7c3deca0489982" + integrity sha512-e1zGYRvbffpcHIrnuqT0Dh+gEJtDaxDSoG4JAIpq4oDFyooziLBIiYQv0GBT4FUAnUop5uZ1hiIAj7oAF6sOCA== + dependencies: + tslib "^2.0.3" + +tmp@^0.0.33: + version "0.0.33" + resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" + integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw== + dependencies: + os-tmpdir "~1.0.2" + tmp@~0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.2.1.tgz#8457fc3037dcf4719c251367a1af6500ee1ccf14" @@ -20129,6 +21505,11 @@ ts-loader@^9.3.1: micromatch "^4.0.0" semver "^7.3.4" +ts-log@^2.2.3: + version "2.2.4" + resolved "https://registry.yarnpkg.com/ts-log/-/ts-log-2.2.4.tgz#d672cf904b33735eaba67a7395c93d45fba475b3" + integrity sha512-DEQrfv6l7IvN2jlzc/VTdZJYsWUnQNCsueYjMkC/iXoEoi5fNan6MjeDqkvhfzbmHgdz9UxDUluX3V5HdjTydQ== + ts-node@10.9.1, ts-node@^10.8.1: version "10.9.1" resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.9.1.tgz#e73de9102958af9e1f0b168a6ff320e25adcff4b" @@ -20184,16 +21565,16 @@ tsconfig-paths@^3.11.0, tsconfig-paths@^3.14.1, tsconfig-paths@^3.9.0: minimist "^1.2.6" strip-bom "^3.0.0" +tslib@2.4.0, tslib@^2, tslib@^2.0.0, tslib@^2.0.1, tslib@^2.0.3, tslib@^2.1.0, tslib@^2.3.0, tslib@^2.3.1, tslib@^2.4.0, tslib@~2.4.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.0.tgz#7cecaa7f073ce680a05847aa77be941098f36dc3" + integrity sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ== + tslib@^1.10.0, tslib@^1.8.1, tslib@^1.9.0, tslib@^1.9.3: version "1.14.1" resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== -tslib@^2, tslib@^2.0.0, tslib@^2.0.1, tslib@^2.0.3, tslib@^2.1.0, tslib@^2.3.0, tslib@^2.3.1, tslib@^2.4.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.0.tgz#7cecaa7f073ce680a05847aa77be941098f36dc3" - integrity sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ== - tslib@~2.3.1: version "2.3.1" resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.3.1.tgz#e8a335add5ceae51aa261d32a490158ef042ef01" @@ -20337,6 +21718,11 @@ typescript@^4.1.2, typescript@^4.4.3: resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.8.2.tgz#e3b33d5ccfb5914e4eeab6699cf208adee3fd790" integrity sha512-C0I1UsrrDHo2fYI5oaCGbSejwX4ch+9Y5jTQELvovfmFkK3HHSZJB8MSJcWLmCUBzQBchCrZ9rMRV6GuNrvGtw== +ua-parser-js@^0.7.30: + version "0.7.31" + resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.31.tgz#649a656b191dffab4f21d5e053e27ca17cbff5c6" + integrity sha512-qLK/Xe9E2uzmYI3qLeOmI0tEOt+TBBQyUIAh4aAgU05FVYzeZrKUdkAZfBNVGRaHVgV0TDkdEngJSw/SyQchkQ== + uglify-js@^3.1.4: version "3.17.0" resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.17.0.tgz#55bd6e9d19ce5eef0d5ad17cd1f587d85b180a85" @@ -20357,6 +21743,11 @@ unbox-primitive@^1.0.2: has-symbols "^1.0.3" which-boxed-primitive "^1.0.2" +unc-path-regex@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/unc-path-regex/-/unc-path-regex-0.1.2.tgz#e73dd3d7b0d7c5ed86fbac6b0ae7d8c6a69d50fa" + integrity sha512-eXL4nmJT7oCpkZsHZUOJo8hcX3GbsiDOa0Qu9F646fi8dT3XuSVopVqAcEiVzSKKH7UoDti23wNX3qGFxcW5Qg== + undeclared-identifiers@^1.1.2: version "1.1.3" resolved "https://registry.yarnpkg.com/undeclared-identifiers/-/undeclared-identifiers-1.1.3.tgz#9254c1d37bdac0ac2b52de4b6722792d2a91e30f" @@ -20368,6 +21759,11 @@ undeclared-identifiers@^1.1.2: simple-concat "^1.0.0" xtend "^4.0.1" +undici@^5.0.0, undici@^5.8.0: + version "5.10.0" + resolved "https://registry.yarnpkg.com/undici/-/undici-5.10.0.tgz#dd9391087a90ccfbd007568db458674232ebf014" + integrity sha512-c8HsD3IbwmjjbLvoZuRI26TZic+TSEe8FPMLLOkN1AfYRhdjnKBU6yL+IwcSCbdZiX4e5t0lfMDLDCqj4Sq70g== + unfetch@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/unfetch/-/unfetch-4.2.0.tgz#7e21b0ef7d363d8d9af0fb929a5555f6ef97a3be" @@ -20520,6 +21916,13 @@ universalify@^2.0.0: resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717" integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ== +unixify@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unixify/-/unixify-1.0.0.tgz#3a641c8c2ffbce4da683a5c70f03a462940c2090" + integrity sha512-6bc58dPYhCMHHuwxldQxO3RRNZ4eCogZ/st++0+fcC1nr0jiGUtAdBJ2qzmLQWSxbtz42pWt4QQMiZ9HvZf5cg== + dependencies: + normalize-path "^2.1.1" + unpipe@1.0.0, unpipe@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" @@ -20813,6 +22216,11 @@ validate-npm-package-license@^3.0.1: spdx-correct "^3.0.0" spdx-expression-parse "^3.0.0" +value-or-promise@1.0.11, value-or-promise@^1.0.11: + version "1.0.11" + resolved "https://registry.yarnpkg.com/value-or-promise/-/value-or-promise-1.0.11.tgz#3e90299af31dd014fe843fe309cefa7c1d94b140" + integrity sha512-41BrgH+dIbCFXClcSapVs5M6GkENd3gQOJpEfPDNa71LsUGMXDL0jMWpI/Rh7WhX+Aalfz2TTS3Zt5pUsbnhLg== + vary@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" @@ -20971,16 +22379,44 @@ wbuf@^1.1.0, wbuf@^1.7.3: dependencies: minimalistic-assert "^1.0.0" +wcwidth@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/wcwidth/-/wcwidth-1.0.1.tgz#f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8" + integrity sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg== + dependencies: + defaults "^1.0.3" + web-namespaces@^1.0.0: version "1.1.4" resolved "https://registry.yarnpkg.com/web-namespaces/-/web-namespaces-1.1.4.tgz#bc98a3de60dadd7faefc403d1076d529f5e030ec" integrity sha512-wYxSGajtmoP4WxfejAPIr4l0fVh+jeMXZb08wNc0tMg6xsfZXj3cECqIK0G7ZAqUq0PP8WlMDtaOGVBTAWztNw== +web-streams-polyfill@4.0.0-beta.3: + version "4.0.0-beta.3" + resolved "https://registry.yarnpkg.com/web-streams-polyfill/-/web-streams-polyfill-4.0.0-beta.3.tgz#2898486b74f5156095e473efe989dcf185047a38" + integrity sha512-QW95TCTaHmsYfHDybGMwO5IJIM93I/6vTRk+daHTWFPhwh+C8Cg7j7XyKrwrj8Ib6vYXe0ocYNrmzY4xAAN6ug== + +web-streams-polyfill@^3.2.0: + version "3.2.1" + resolved "https://registry.yarnpkg.com/web-streams-polyfill/-/web-streams-polyfill-3.2.1.tgz#71c2718c52b45fd49dbeee88634b3a60ceab42a6" + integrity sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q== + web-vitals@^2.1.4: version "2.1.4" resolved "https://registry.yarnpkg.com/web-vitals/-/web-vitals-2.1.4.tgz#76563175a475a5e835264d373704f9dde718290c" integrity sha512-sVWcwhU5mX6crfI5Vd2dC4qchyTqxV8URinzt25XqVh+bHEPGH4C3NPrNionCP7Obx59wrYEbNlw4Z8sjALzZg== +webcrypto-core@^1.7.4: + version "1.7.5" + resolved "https://registry.yarnpkg.com/webcrypto-core/-/webcrypto-core-1.7.5.tgz#c02104c953ca7107557f9c165d194c6316587ca4" + integrity sha512-gaExY2/3EHQlRNNNVSrbG2Cg94Rutl7fAaKILS1w8ZDhGxdFOaw6EbCfHIxPy9vt/xwp5o0VQAx9aySPF6hU1A== + dependencies: + "@peculiar/asn1-schema" "^2.1.6" + "@peculiar/json-schema" "^1.1.12" + asn1js "^3.0.1" + pvtsutils "^1.3.2" + tslib "^2.4.0" + webidl-conversions@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" @@ -21219,6 +22655,11 @@ whatwg-encoding@^2.0.0: dependencies: iconv-lite "0.6.3" +whatwg-fetch@^3.4.1: + version "3.6.2" + resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-3.6.2.tgz#dced24f37f2624ed0281725d51d0e2e3fe677f8c" + integrity sha512-bJlen0FcuU/0EMLrdbJ7zOnW6ITZLrZMIarMUVmdKtsGvZna8vxKYaexICWPfZ8qwf9fzNq+UEIZrnSaApt6RA== + whatwg-mimetype@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf" @@ -21391,7 +22832,7 @@ ws@^7.4.0, ws@^7.4.6: resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.9.tgz#54fa7db29f4c7cec68b1ddd3a89de099942bb591" integrity sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q== -ws@^8.2.3, ws@^8.4.2: +ws@^8.2.3, ws@^8.3.0, ws@^8.4.2: version "8.8.1" resolved "https://registry.yarnpkg.com/ws/-/ws-8.8.1.tgz#5dbad0feb7ade8ecc99b830c1d77c913d4955ff0" integrity sha512-bGy2JzvzkPowEJV++hF07hAD6niYSr0JzBNo/J29WsB57A2r7Wlc1UFcTR9IzrPvuNVO4B8LGqF8qcpsVOhJCA== @@ -21438,6 +22879,11 @@ yallist@^4.0.0: resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== +yaml-ast-parser@^0.0.43: + version "0.0.43" + resolved "https://registry.yarnpkg.com/yaml-ast-parser/-/yaml-ast-parser-0.0.43.tgz#e8a23e6fb4c38076ab92995c5dca33f3d3d7c9bb" + integrity sha512-2PTINUwsRqSd+s8XxKaJWQlUuEMHJQyEuh2edBbW8KNJz0SJPwUSD2zRWqezFEdN7IzAgeuYHFUCF7o8zRdZ0A== + yaml@^1.10.0, yaml@^1.10.2, yaml@^1.7.2: version "1.10.2" resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" @@ -21466,6 +22912,27 @@ yargs-parser@^13.1.2: camelcase "^5.0.0" decamelize "^1.2.0" +yargs-parser@^18.1.2: + version "18.1.3" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0" + integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ== + dependencies: + camelcase "^5.0.0" + decamelize "^1.2.0" + +yargs@17.2.1: + version "17.2.1" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.2.1.tgz#e2c95b9796a0e1f7f3bf4427863b42e0418191ea" + integrity sha512-XfR8du6ua4K6uLGm5S6fA+FIJom/MdJcFNVY8geLlp2v8GYbOXD4EB1tPNZsRn4vBzKGMgb5DRZMeWuFc2GO8Q== + dependencies: + cliui "^7.0.2" + escalade "^3.1.1" + get-caller-file "^2.0.5" + require-directory "^2.1.1" + string-width "^4.2.0" + y18n "^5.0.5" + yargs-parser "^20.2.2" + yargs@^13.2.4: version "13.3.2" resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.3.2.tgz#ad7ffefec1aa59565ac915f82dccb38a9c31a2dd" @@ -21482,6 +22949,23 @@ yargs@^13.2.4: y18n "^4.0.0" yargs-parser "^13.1.2" +yargs@^15.3.1: + version "15.4.1" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.4.1.tgz#0d87a16de01aee9d8bec2bfbf74f67851730f4f8" + integrity sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A== + dependencies: + cliui "^6.0.0" + decamelize "^1.2.0" + find-up "^4.1.0" + get-caller-file "^2.0.1" + require-directory "^2.1.1" + require-main-filename "^2.0.0" + set-blocking "^2.0.0" + string-width "^4.2.0" + which-module "^2.0.0" + y18n "^4.0.0" + yargs-parser "^18.1.2" + yargs@^16.2.0: version "16.2.0" resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66"